jueves, 25 de agosto de 2011

Formalización de Problemas

Formalización de Problemas

1. Quieres encontrar el número de teléfono de Mr. Jinwill Zollicoffer, que vive en Tlaquepaque dados un montón de directorios ordenados alfabéticamente.

Estados:

· Telefono de Mr. Jinwill Zollicoffer.

o Estado inicial = 0.

o Estado final = 1.

· Municipio actual.

· Directorio actual.

Operadores:

· Letra apellido +.

· Letra apellido -.

· Letra nombre +.

· Letra nombre -.

· Municipio +.

· Municipio -.

· Directorio letra alfabeto +.

· Directorio letra alfabeto -.

El costo de la ruta se calcula con el tiempo en encontrar los apellidos, nombre, municipios y directorios recorridos para encontrar a Mr. Jinwill Zollicoffer.

2. Lo mismo que el anterior pero no recuerdas el apellido de Sr. Jimwill.

Estados:

· Telefono de Mr. Jinwill.

o Estado inicial = 0.

o Estado final = 1.

· Municipio actual.

· Directorio actual.

Operadores:

· Letra nombre +.

· Letra nombre -.

· Municipio +.

· Municipio -.

· Directorio letra alfabeto +.

· Directorio alfabeto -.

El costo de la ruta se calcula con el tiempo de recorrer los nombres, localizar el municipio y recorrer los directorios para encontrar a Mr. Jinwill.

3. Estás perdido en la selva amazónica y quieres llegar al océano. Cerca de ti hay un arroyo.

Estados:

· Sujeto en el océano.

o Estado inicial = 0.

o Estado final = 1.

· Distancia del océano.

· Cercanía del arroyo.

Operadores:

· Caminar arroyo abajo.

· Caminar arroyo arriba.

· Caminar por la selva.

El costo de la ruta se calcula con la cantidad de tiempo que le tomó al sujeto llegar al océano desde la selva.

4. Tienes que pintar un mapa, utilizando cuando mucho 4 colores de manera que ninguna región tenga el mismo color que una región adyacente.

Estados:

· Número de regiones dibujadas.

o Estado inicial = 0.

o Estado final = NUM_REGIONES.

· Color Actual (Color de lápiz en la mano).

· Región actual.

· Cantidad de regiones que rodean a la actual.

· Color de las regiones colindantes.

Operadores:

· Cambiar el color.

· Dibujar región seleccionada.

· Comprobar color de las regiones colindantes.

El costo de la ruta se calcula con las veces que se tuvo que cambiar el color del lápiz.


5. Estás perdido en una pequeña ciudad y necesitas encontrar una farmacia antes de que tu alergia sea intolerable. No tienes mapa y todos los habitantes están encerrados dentro de sus casas.

Estados:

· Encontrar Farmacia

o Estado inicial = 0.

o Estado final = 1.

· Calle Actual.

· Distancia Farmacia.

Operadores:

· Caminar calle horizontal.

· Caminar calle vertical.

El costo de la ruta se calcula con el numero de calles que se recorrió para encontrar la farmacia.

6. Quieres resolver el cubo de rubik utilizando el menor número posible de movimientos.

Estados:

· Cubo de Rubik

o Estado inicial = 0.

o Estado final = 1.

· Cara Actual.

· Color Central.

Operadores:

· Mover Filas

· Mover Columnas.

· Girar Cubo

El costo de la ruta se calcula con el numero de movimientos que se realizan para solucionar el cubo Rubik.

miércoles, 24 de agosto de 2011

Resolución de Problemas con Búsquedas

1. Explica brevemente en qué consiste la formalización de un problema para ser resuelto mediante búsquedas:

La formalización de un problema consiste en definir los 4 elementos básicos para el planteamiento del mismo, es necesario tener un estado inicial para saber de dónde partir, es necesario conocer las posibles acciones que se pueden llevar a cabo, debe haber un objetivo y a su vez compararlo con otro objetivo para saber cuál es el mejor.

2. Describe brevemente cada uno de los siguientes elementos de la formalización de un problema:

a. Estado: Es una situación en el cual se encuentra algo.

b. Operadores: La acción que se va a tomar en términos de los estados que queremos alcanzar.

c. Estado objetivo: Cuando el agente logro el resultado esperado.

d. Espacio de estados: Un set de operadores que especifican la acción de cada estado.

e. Costo de ruta: Es la suma de los costos de las acciones individuales que se tomaron durante la solución del problema.

f. Prueba del objetivo: Es una descripción del estado para saber cómo terminó satisfactoriamente.

3. Explica en qué consiste el método “Generar y Probar” (generate and test). ¿Por qué este método es considerado exhaustivo?

Porque es un método que trata de probar cada una de las posibilidades para saber si es cierto o no, es un método de fuerza bruta.

4. Explica las diferencias entre los métodos de búsqueda en profundidad primero (DFS) y búsqueda en amplitud primero (BFS).

BFS primero expande todo y el DFS va de nodo por nodo y los expande hasta que no puede más, entonces regresa y busca en el nodo anterior, este último es como una búsqueda binaria.

5. Explica qué significa cada uno de estos términos en relación a los métodos de búsqueda:

a. Complejidad: Los recursos que tomara el resolver el problema, tiempo y espacio.

b. Completud: La estrategia para encontrar la solución.

c. Optimalidad: La estrategia para encontrar la mejor solución.

6. ¿Qué significa que un método de búsqueda sea no-monotonico?

Que no sigue la heurística y esto consiste en que no sigue el fenómeno como se esperaba, como se explica en el ejemplo la suma de los valores nunca disminuye y eso es algo esperado en el caso de que es no-monotonico indicaría lo contrario que en vez de incrementar los valores, estos disminuyen.

7. Explica brevemente los siguientes algoritmos:

a. DFS (Depth-first search): Se trata de un algoritmo de búsqueda utilizado comúnmente en la búsqueda de árboles o grafos que consiste en recorrer desde el nodo raíz hasta la primer hoja encontrada para después regresar y hacer lo mismo con las demás ramas.

b. BFS (Breadth-first search): Se trata de un algoritmo de búsqueda utilizado en las mismas circunstancias que consiste en recorrer los vecinos del nodo raíz y a su vez los vecinos de las siguientes ramas, así hasta encontrar el resultado.

c. Profundidad iterativa: Consiste en recorrer el árbol hasta cierta profundidad. Si no se encuentra el resultado deseado se puede incrementar el límite en la profundidad para continuar haciendo esto sucesivamente.

lunes, 22 de agosto de 2011

Ensayo sobre "Computer Machinery and Intelligence"

Para mí el argumento en contra de la búsqueda de una inteligencia artificial más pesado (relevante) de todos es aquel sobre la informalidad del comportamiento. Es importante tener en cuenta que no importa cuán avanzada sea la inteligencia artificial, siempre carecerá de aquello que hace más valiosas las decisiones de los seres humanos.

El saber cuándo “romper las reglas” es algo que si para nosotros los humanos a veces resulta difícil, debe de ser casi imposible al nivel de una IA. Alan Turing plantea un ejemplo bastante interesante con respecto a este asunto.

Él plantea un semáforo que puede tomar dos valores; verde y rojo. Cuando una máquina ve el color rojo debe de detenerse, a su vez, cuando ve el color verde puede proceder. Pero qué pasa cuando el semáforo se descompone y encienden ambas luces a la vez o ninguna.

Es en este tipo de ocasiones donde entra en juego el criterio del humano, algo de lo que en lo personal creo que es muy difícil simular en una máquina sin albedrío. Esto debido a que la máquina simplemente obedece a una serie de instrucciones y no es capaz de usar un razonamiento TAN sensible al contexto.

Creo yo que hoy en día existen más objeciones de las que Alan Turing planteó en su época. Esto lo infiero sencillamente por la abismal diferencia que el poder de procesamiento tiene con respecto a las (primeras) computadoras utilizadas en la década de los 50.

Hoy en día parece “menos” absurda la idea de que las máquinas adquieran una inteligencia artificial tan avanzada que puedan superar en cualquier aspecto al hombre y que éstas representen una real amenaza para el mismo.

Por otro lado, Turing en su época dijo que para esta década, una computadora podría tener alrededor de 30% de probabilidades de pasar el test de Turing. Yo creo que estaba en lo correcto, y además creo que las computadoras actuales tienen más del 30% de probabilidad de aprobar el test satisfactoriamente.

En conclusión, creo que la mentalidad de Turing y su posición con respecto a todo lo relacionado con la inteligencia artificial de las máquinas eran bastante acertadas para el conocimiento y tecnología de la que se disponía en ese entonces. Lo único que resta es seguir profundizando en esta área y esperar a ver qué depara el futuro.

Analizando el Test de Turing

1. En el artículo propone algunas objeciones potenciales contra la búsqueda de una inteligencia artificial, ¿Cuál de estas objeciones tiene más peso para ti? ¿Por qué?

· Una de las objeciones que menciona que opino que está ya en nuestros días es competir humano vs máquina, a mi parecer eso ya existe porque en algunos lugares las personas están siendo sustituidas por maquinas, las cuales ya están programadas para hacer una tarea específica y si la vemos desde el punto de vista de los negocios es más barato mantener una maquina a un humano.

2. Tomando en cuenta los más recientes avances tecnológicos, ¿Crees que existan nuevas objeciones contra la inteligencia artificial?

· Probablemente opino que sí, pero podrían ser basándose de las ya existentes, desde mi punto de vista la mayoría de las sociedades son basadas en torno a la religión y desde un punto de vista religioso eso no está bien visto ya que solo un dios puede dar vida y en ese caso se pensaría a que estamos jugando a ser dioses, cosa que yo pienso que no se hace desde ese punto de vista.

Otro de los aspectos seria dentro de una sociedad, como en la película de Bicenntenial Men, en algún momento que en este momento todavía no lo puedo imaginar es que las maquinas teniendo una mente propia o cierta libertad de actuar y crear conciencia que les permita sentirse humanos ya que tienen los conocimiento igual o mayores a un humano y podrían creer tener sentimientos.

3. El artículo fue escrito en 1950 y en éste Turing predice que para el año 2000 una computadora debería tener un 30% de probabilidades de pasar un Test de Turing de 5 minutos con un interrogador promedio (que no sea muy letrado). Tomando en cuenta que estamos en el 2011, en la era de las comunicaciones instantáneas ¿Qué opinas de esto?

· Creo que hasta el momento eso no ha sido posible, pero no dudo de que existan personas capaces de lograr desarrollar maquinas que logren pasar el Test de Turing, en el tiempo no estoy muy seguro pero no dudo que en poco tiempo exista una maquina capaz de pasar el Test de Turing y si así fuera Turing no se equivocó por mucho en el tiempo que podrían desarrollar una máquina pasa pasar el Test.

miércoles, 17 de agosto de 2011

¿Qué sabemos acerca de la Inteligencia Artificial?
  • Son piezas de software elaboradas que están programados para reaccionar de cierta modo ante ciertas situaciones.
  • Puede aprender de sus errores y no necesita la interacción con un usuario para generar una respuesta.
  • Inteligencia Artificial no necesariamente necesita de un hardware complejo (como un robot) para funcionar. Puede ser solo software.

¿Qué queremos aprender?
  • Entender como funciona este tipo de sistemas.
  • Aprender a crear una Inteligencia Artificial que sea capaz de interactuar con un usuario(Videojuegos).
  • Aprender a implementar una Inteligencia Artificial.

martes, 16 de agosto de 2011