expounidad4

55
Todo lo que este entre paréntesis y diga “Nota” deberán entenderlo, comprenderlo, saberlo o mínimo tener la idea de lo que es, si es necesario, hacer unas fichas de referencia que les sirve a cada uno para recordar o “leer” lo que deberían decir acerca del particular. Todo lo que este entre paréntesis y diga “¿Qué es?” deberán investigarlo y saber que significa, y de ser posible un poco mas. Todo lo que este entre paréntesis y diga “Referir” debería de ser incluido por el expositor en turno antes de seguir adelante con el siguiente párrafo. Creen su propio material para facilitar nuestra exposición.

Upload: api-3696448

Post on 07-Jun-2015

5.360 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: ExpoUnidad4

Todo lo que este entre paréntesis y diga “Nota” deberán entenderlo, comprenderlo, saberlo o mínimo tener la idea de lo que es, si es necesario, hacer unas fichas de referencia que les sirve a cada uno para recordar o “leer” lo que deberían decir acerca del particular.

Todo lo que este entre paréntesis y diga “¿Qué es?” deberán investigarlo y saber que significa, y de ser posible un poco mas.

Todo lo que este entre paréntesis y diga “Referir” debería de ser incluido por el expositor en turno antes de seguir adelante con el siguiente párrafo.

Creen su propio material para facilitar nuestra exposición.

Page 2: ExpoUnidad4

UNIDAD 4Búsqueda y Satisfacción de Restricciones. (¿Qué es?)

Page 3: ExpoUnidad4

INTRODUCCIÓN

Existen varios problemas que pueden ser resueltos mediante el uso de búsqueda inteligentes. La experiencia revela que un problema de búsqueda está asociado a dos importantes aspectos:

1. ‘Que se busca’ (Nota)

2. ‘Donde se busca’ (Nota)

Page 4: ExpoUnidad4

4.1 PROBLEMAS Y ESPACIOS DE ESTADOS (¿QUÉ ES?)

Un problema típico de la Inteligencia Artificial consiste en buscar un estado concreto entre un conjunto determinado, al que se le llama espacio de estados.

(Referir Ejem.: Hoja 2 Párrafo 2 Forzosamente!!!)

El primer paso para diseñar un programa que resuelva un problema es crear una descripción formal y manejable del propio problema.

Page 5: ExpoUnidad4

Hay problemas que por ser artificiales y estructurados son fáciles de especificar (por ejemplo el ajedrez). Otros problemas naturales, como por ejemplo la comprensión del lenguaje(¿Qué es?), no son tan sencillos de especificar.

Para producir una especificación formal de un problema se deben definir: Espacio de estados. Estado inicial del problema.Estado objetivo o final.Reglas que se pueden aplicar para pasar de un estado a otro.

Page 6: ExpoUnidad4

CONCEPTOS ÚTILES

Problemas lógicos.- El hallazgo de la solución de un problema mediante un “espacio de estado” y los métodos de búsqueda en este espacio de solución.

Estado.- la representación de un problema en un instante dado

Espacio de estado.- se trata de definir el problema mediante estados posibles.(Referir Hoja 4 Párrafo 1)

Operador.- convierte un estado en otro.

Page 7: ExpoUnidad4

No todos los estados son admisibles a partir del estado inicial. Debe existir un conjunto de transferencias que lleve al estado final: E0 ~ E1 ~ E2 ~......En

Para definir el espacio de estados no es necesario hacer una enumeración exhaustiva de todos los estados válidos, sino que es posible definirlo de manera más general.

Page 8: ExpoUnidad4

EJEMPLO, PROBLEMA DE JUGAR AJEDREZEl espacio de estados son la totalidad de tableros que se puede generar en un juego de ajedrez.

El estado inicial es el tablero de 8 x 8 donde cada celda contiene un símbolo de acuerdo a las piezas situadas.

El objetivo o estado final se define como cualquier posición de tablero en la que el contrario no puede realizar ningún movimiento legal y su rey esté amenazado.

Las reglas son los movimientos legales, que pueden describirse mediante una parte patrón para ser contrastado con la posición actual de tablero y otra parte que describe el cambio que debe producirse en el tablero.

Page 9: ExpoUnidad4

REPRESENTACIÓN DE ESPACIO DE ESTADOS(Referir Hoja 5 Párrafo 2 forzosamente!!!)

El grafo del dibujo en la hoja siguiente representa el tablero de manera parcial, y cada nodo es identificado por un número. Suponemos que la posición inicial del robot es el estante marcado con el número 1. En este grafo se aplica una correspondencia entre los nodos del mismo y los estantes numerados de igual forma. Como se puede observar en el tablero, por ejemplo, el estante 1 es adyacente al 2 y al 5, así :

Page 10: ExpoUnidad4
Page 11: ExpoUnidad4

4.2 ESPACIOS DE ESTADOS DETERMINÍSTICOS Y ESPACIOS NO DETERMINÍSTICOS.

Un ambiente determinístico es aquel en el cual cualquier acción tiene un solo efecto garantizado, no hay incertidumbre acerca del estado que resultará de la realización de la acción. El mundo físico puede ante todos los intentos y propósitos, ser considerado como no determinístico. Un ambiente no determinístico presente problemas más grandes para el agente diseñador.

Page 12: ExpoUnidad4

Un sistema es determinístico si, para un estado dado, al menos aplica una regla a él y de solo una manera. Si mas de una regla aplica a cualquier estado particular del sistema, o si una regla aplica a un estado particular del sistema en más de una manera, entonces el sistema es no determinístico. (Se

requiere al menos un ejemplo)

Page 13: ExpoUnidad4

4.3 BÚSQUEDA SISTEMÁTICA (¿QUÉ ES?)

Los problemas de búsquedas, que generalmente encontramos en Ciencias Computacionales, son de un estado determinístico. Por ejemplo, en los algoritmos de búsqueda de anchura y de búsqueda de profundidad, uno sabe la secuencia de los nodos visitados en un árbol.

Page 14: ExpoUnidad4

Sin embargo, los problemas de búsqueda, los cuales siempre tendremos que tratar en Inteligencia artificial, son no determinísticos y el orden de elementos visitados en el espacio de búsqueda depende completamente en el conjunto de datos.

Dependiendo de la metodología de expansión de un espacio de estado y consecuentemente el orden de los estados visitados los problemas de búsqueda se nombran diferentes:

Búsqueda de Metas a Profundidad. Búsqueda de Metas en Anchura. Búsqueda Optima.

Page 15: ExpoUnidad4

4.3.1 BÚSQUEDA DE METAS A PROFUNDIDAD

El algoritmo de más utilizado es el de búsqueda de metas por profundidad. Es llamado así porque sigue cada camino hasta su mayor profundidad antes de moverse al siguiente camino.

Page 16: ExpoUnidad4

Asumiendo que iniciamos desde el lado izquierdo y trabajamos hacia la derecha, la búsqueda de metas por profundidad involucra trabajar todos los caminos debajo de el camino de árbol más a la izquierda hasta que un nodo hoja es alcanzado. Si esta es una meta de estado, la búsqueda es completada y reportada de exitosa.

Si el nodo hoja no representa la meta de estado, la búsqueda se dirige atrás y arriba al siguiente nodo más alto que tiene un camino no explorado.

Page 17: ExpoUnidad4

Explicar grafo, Pagina 7 Párrafo 2 y 3. ¿Qué es un NODO HOJA?

Page 18: ExpoUnidad4

La búsqueda de profundidad es un ejemplo de la búsqueda de fuerza bruta, o la búsqueda exhaustiva. La búsqueda de profundidad es usada por computadoras a menudo para los problemas de búsqueda como ubicar archivos en un disco, o por buscadores para “spidering”(¿Qué es?) en Internet.

(Referir Hoja 8 Parrafo 3)

Page 19: ExpoUnidad4

EJEMPLO DE SU ALGORITMO

InicioPoner el nodo inicial en una pila, apuntando a lo más alto de la pilaMientras la pila no este vacía has

InicioSacar de la pila el elemento más

arriba de la mismaSi el elemento de más arriba es la

metaRegresar exitosamente y

detenerseSino poner los nodo hijo en lo más

alto de la pila en cualquier ordenFin del mientras

Fin

Page 20: ExpoUnidad4

COMPLEJIDAD DE ESPACIO

Se requiere mayor cantidad de memoria en la búsqueda de profundidad, cuando alcanzamos la mayor profundidad a la primera vez.(Explicar Hoja 8 Parrafo 4 alguna sugerencias para esta diapositiva?? Usar Grafo Diapositiva 17 para ayudarse si se explica)

Page 21: ExpoUnidad4

COMPLEJIDAD DE TIEMPO

Si encontramos la meta en la posición más a la izquierda de profundidad (D), entonces el número de nodos examinados (d+1). De otra forma, si encontramos la meta en el extremo derecho a una profundidad (D), entonces el número de nodos examinados incluyen todos los nodos en el árbol.(Explicar formulas de la hoja 9 si la maestra las pregunta, Usar Grafo Diapositiva 17 para ayudarse si se explica, investigar que es una busqueda itinerativa de profundidad)

Page 22: ExpoUnidad4

4.3.2 BÚSQUEDA DE METAS EN ANCHURA

Una alternativa para la búsqueda de profundidad es la búsqueda de metas de anchura (o amplitud). Como su nombre indica, este enfoque supone atravesar un árbol por anchura más que por profundidad. Como puede ser visto en la figura mas adelante, el algoritmo de anchura empieza examinando todos los nodos de un nivel (a veces llamado hebra uno) abajo del nodo raíz.

Page 23: ExpoUnidad4

Si un meta de estado es alcanzada aquí, el éxito es reportado. De otra forma, la búsqueda continúa ampliando caminos de todos los nodos del nivel en curso, para posteriormente bajar al próximo nivel. De este modo, la búsqueda continúa revisar nodos en un nivel especial, e informará sobre el éxito cuando un nodo meta es encontrado, y reportar una falla si todos los nodos han sido revisados y ningún nodo meta ha sido encontrado.

Page 24: ExpoUnidad4
Page 25: ExpoUnidad4

EJEMPLO DE SU ALGORITMO

InicioPoner el nodo inicial en una cola.RepetirBorrar la cola para obtener el elemento de delante.Si el elemento de delante a la cola es la meta,

Regresar exitosamente y detenerse.Si no

InicioInsertar el nodo hijo del elemento de

delanteSi existe en cualquier orden en la

parte detrás de la colaFin

Hasta que la cola este vacíaFin

Page 26: ExpoUnidad4

COMPLEJIDAD DE ESPACIO

El número máximo de nodos serán puestos en cola, cuando el nodo más a la izquierda de una profundidad (d) esta siendo inspeccionado en comparación con la meta. La longitud de la cola baja estas circunstancias se convierte en bd. La complejidad d espacio de el algoritmo depende de la longitud de la cola, en el peor de los caos, así es el orden de bd.(Explicar Usar Grafo Diapositiva 25 para ayudarse si se explica)

Page 27: ExpoUnidad4

COMPLEJIDAD DE TIEMPO

Considerando un árbol de igual factor de anchura para cada nodo (B) y de máxima profundidad (D). Luego entonces la meta no esta localizada dentro de la profundidad (D-1), el numero de búsquedas erróneas [1], [2] esta dado por:

1+b+b2+b3+…+bd-1 =(bd-1)/(b-1), b > 1.

En complemento, el primer estado dentro de los nodos marginales puede ser la meta, de otra forma, la meta pudo esta en el último nodo visitado del árbol. Así, de forma promedio el número de nodos marginales visitados esta dado por:

(1+bd)/2.

(Explicar, Usar Grafo Diapositiva 25 para ayudarse)

Page 28: ExpoUnidad4

COMPARATIVA DE CASOS DE BÚSQUEDA DE PROFUNDIDAD Y POR ANCHURA

Page 29: ExpoUnidad4

4.3.3 BÚSQUEDA OPTIMA

La búsqueda heurística(¿Qué es?), trata de resolver los problemas mediante un nueva técnica.

Podemos expandir nodos por selección juiciosa, seleccionado el nodo más prometedor, donde estos nodos estarán identificados por el valor de su fuerza comparada con sus competidores homólogos(¿Qué es?) con la ayuda de funciones intuitivas especializadas, llamadas funciones heurísticas.

Page 30: ExpoUnidad4

La búsqueda heurística generalmente trabaja para dos tipos distintos de problemas:

o Forward reasoning (razonamiento hacia delante).o Backward reasoning (razonamiento hacia atrás).

En un problema de razonamiento hacia delante, nos movemos hacia la meta de estado desde un estado inicial predefinido, mientras en un problema de razonamiento hacia atrás, nos movemos hacia un estado inicial a partir de una meta de estado dada.

Page 31: ExpoUnidad4

BÚSQUEDA HEURÍSTICA DE OR GRAPHS (¿QUÉ ES?)

En algunos casos los algoritmos de búsqueda heurística, son también llamados OR-graphs o “Best First Algorithms” (Algoritmo de búsqueda óptima).

La mayoría de los problemas de razonamiento pueden ser representados por un OR-graph, donde un nodo en el grafo denota un problema de estado y un arco representa una aplicación o regla para el estado actual para causar transición de estados. Cuando un numero de reglas son aplicables a un estado actual, podemos seleccionar un mejor estado entre el nodo hijo y el siguiente estado.

Page 32: ExpoUnidad4

EJEMPLO DE ALGORITMO DE BÚSQUEDA ÓPTIMA

Inicio1. Identificar los posibles estados iníciales y medir la distancia (f) del más cercano con a la meta; ponerlos en una lista (L) 2. Mientas L no este vacía has

Iniciaa) Identificar el nodo n de L que tenga el

mínimo f; Si existe mas de un nodo con un f mínimo, seleccionar uno de ellos, (tomar n, arbitrariamente)

b) Si n es la metaEntonces regresar n a lo largo del camino

desde el nodo inicial; salir con éxito.Si no remover n de L y agregar todos los

hijos de n a L, junto con su camino etiquetado desde el nodo inicial

Fin del mientras;FIN.

Page 33: ExpoUnidad4

4.4 SATISFACCIÓN DE RESTRICCIONES (¿QUÉ ES?)

Los problemas pueden resolverse buscando en un espacio de estados, estos estados pueden evaluarse por heurísticas específicas para el dominio y probados para verificar si son estados meta.

Los componentes del estado, son equivalentes a un grafo de restricciones, los cuales están compuestos de:

Page 34: ExpoUnidad4

Variables.

Dominios (valores posibles para las variables).

Restricciones (binarias)(¿Qué es?) entre las variables.

Objetivo: encontrar un estado (una asignación completa de valores a las variables) que satisface las restricciones.

Page 35: ExpoUnidad4

En los Problemas de Satisfacción de Restricciones (PSR), los estados y la prueba de meta siguen a una representación estándar, estructurada y muy simple.

Ejemplos:

Colorear mapas.

Crucigramas.

Page 36: ExpoUnidad4

PROBLEMA: COLOREAR MAPAEJEMPLO DE ESTADO:

Variables (n) = etiquetas de nodos.Dominios = contenido de nodos.Restricciones = arcos dirigidos y etiquetados entre nodos.

Page 37: ExpoUnidad4

A cada paso hay una asignación de variable.

Las soluciones deben ser asignaciones completas y por lo tanto, en el árbol de búsqueda, aparecen a profundidad n.

El árbol se extiende sólo a profundidad n.

Los algoritmos de búsqueda primero en profundidad son populares para PSRs.

El camino que alcanza una solución es irrelevante.

La clase más simple de PSR implica variables discretas y dominios finitos: problemas de coloreo de mapas, entre otros.

Page 38: ExpoUnidad4

PROBLEMAS DE SATISFACCIÓN DE RESTRICCIONES

Un problema de Satisfacción de Restricciones (o PSR) se define por un conjunto de variables, X1, X2, …, Xn, y un conjunto de restricciones, C1, C2, …, Cm.

Cada variable Xi tiene un dominio no vacío Di de posibles valores.

Cada restricción Ci involucra algún subconjunto de las variables y especifica las combinaciones permisibles de valores de ese subconjunto.

Page 39: ExpoUnidad4

Un estado del problema se define por una asignación de valores a alguna o todas las variables, {Xi = vi, Xj = vj, …}.

Una asignación que no viola ninguna restricción es llamada consistente o legal.

Una asignación completa es una en la cual cada variable es mencionada.

Una solución a un PSR es una asignación completa que satisface todas las restricciones.

Page 40: ExpoUnidad4

Problema: Colorear el mapa de Australia, usando los colores rojo, verde o azul, de tal forma que dos regiones vecinas no tengan el mismo color

Variables: las regiones de Australia

WA (Australia del Oeste). NT (Territorio del Norte). Q (Queensland). NSW (Nueva Gales del Sur). V (Victoria). SA (Australia del Sur). T (Tasmania).

FORMULACIÓN COMO PSR

Page 41: ExpoUnidad4

Dominios: El dominio de cada variable es el conjunto {rojo, verde, azul}.

Restricciones: Las restricciones requieren que regiones vecinas tengan distintos colores. Por ejemplo, las combinaciones permisibles para WA y NT son los pares: {(rojo, verde), (rojo, azul), (verde, rojo), (verde, azul), (azul, rojo), (azul, verde)}Esta restricción puede representarse como WA = NT.

Page 42: ExpoUnidad4
Page 43: ExpoUnidad4

4.5 RESOLUCIÓN DE PROBLEMAS DE JUEGOS

Siendo una de las principales capacidades de la inteligencia humana su capacidad para resolver problemas, así como la habilidad para analizar los elementos esenciales de cada problema, abstrayéndolos, el identificar las acciones que son necesarias para resolverlos y el determinar cual es la estrategia más acertada para atacarlos, son rasgos fundamentales que debe tener cualquier entidad inteligente.

Page 44: ExpoUnidad4

Podemos definir la resolución de problemas como el proceso que partiendo de unos datos iníciales y utilizando un conjunto de procedimientos escogidos, es capaz de determinar el conjunto de pasos o elementos que nos llevan a lo que denominaremos una solución óptima o semi-óptima de un problema de planificación, descubrir una estrategia ganadora de un juego, demostrar un teorema, reconocer una imagen, comprender una oración o un texto son algunas de las tareas que pueden concebirse como de resolución de problemas y a las que se aplican los métodos desarrollados.

Page 45: ExpoUnidad4

¿POR QUÉ SE EMPLEAN LOS JUEGOS?

Una gran ventaja que nos proporciona la utilización de los juegos es que a través de ellos es muy fácil medir el éxito o el fracaso, por lo que podemos comprobar si las técnicas y algoritmos empleados son los óptimos. En comparación con otras aplicaciones de inteligencia artificial, por ejemplo comprensión del lenguaje, los juegos no necesitan grandes cantidades de conocimiento.

Page 46: ExpoUnidad4

ANTECEDENTES DE INTELIGENCIA ARTIFICIAL EN RESOLUCIÓN DE JUEGOS

Siglo XIX, Babbage, arquitecto de computadoras, pensó en programar su máquina analítica para que jugara al ajedrez.

Década de 1950, Shannon describió los mecanismos que podían usarse en un programa jugara al ajedrez.

Década de 1950, Alan Turing describió un programa para jugar al ajedrez pero no lo construyó.

Década 1960, Arthur Samuel construyó el primer programa de juegos importante y operativo, el cual jugaba a las damas y podía aprender de sus errores para mejorar su comportamiento.

Page 47: ExpoUnidad4

ÁREAS DE APLICACIÓN DE LA INTELIGENCIA ARTIFICIAL PARA JUEGOS

Se puede realizar una clasificación amplia de las áreas de aplicación pudiendo mencionar:

FSM: máquinas de estado finito

Los comportamientos de un agente se pueden modelar como un conjunto de estados y transiciones entre ellos. Por ejemplo, un agente en un juego puede estar en estado “descansando” hasta que el jugador pasa cerca de el, y pasa a un estado “persiguiendo”. Si logra acercarse al jugador, pasará a un estado de “ataque”, y así sucesivamente.

Page 48: ExpoUnidad4

Pathfinding o búsqueda de rutas

Un agente inteligente debe encontrar un camino óptimo desde un punto A a un punto B en su ambiente virtual. Aquí, “óptimo” no necesariamente es “más corto”: en un juego de disparar, habrá rutas donde el agente tenga mayor potencial de resultar dañado o de ser descubierto por el oponente.

La mayoría de algoritmos de pathfinding se basan en el uso de árboles de decisión, y de reglas heurísticas cuya eficiencia está altamente correlacionada con la topología del ambiente.

Page 49: ExpoUnidad4

Steering: vehículos que evitan obstáculos

En juegos basados en simulación física la navegación de un agente por su ambiente es muy compleja. No se trata simplemente de conocer el camino a seguir: se trata de recorrerlo sin salirse de él, manejando variables como la velocidad, aceleración, torque, masa, momento de inercia y coeficientes de fricción. Mientras más variables se tomen en cuenta, más realista es la simulación pero también más complicados los algoritmos de IA que pueden controlar al agente.

Page 50: ExpoUnidad4

Chasing: persecución y escape

La mayoría de los seres vivos jugamos el juego del gato y el ratón en una rutina sin fin donde la sofistificación de las técnicas se incrementa. La mayoría de los algoritmos IA para chasing se basan en comportamientos naturales, como por ejemplo, las técnicas de flocking(¿Qué es?) que tratan de imitar el comportamiento de los cardúmenes de peces ó las bandadas de aves.

Page 51: ExpoUnidad4

JUEGOS UTILIZADOS EN INTELIGENCIA ARTIFICIAL

En general, hay mucha más investigación en Inteligencia Artificial aplicada a los juegos clásicos (ajedrez, cartas, …) que a los videojuegos. Se debe principalmente:

Al conocimiento impreciso del estado del juego: ya que éste depende de mucho más factores que un juego de mesa, y los factores a su vez se relacionan entre sí.

Page 52: ExpoUnidad4

JUEGOS CLÁSICOS EN IA

Algunos “juegos clásicos” en los que se han aplicado técnicas de resolución de IA son:

Damas

Chinook es probablemente el mejor programa de ordenador de Damas, ya que fue el primero en ganar un campeonato del mundo contra humanos.

Page 53: ExpoUnidad4

Ajedrez

Tiene unas reglas claramente definidas y unos objetivos inequívocos. Actualmente se conocen varias técnicas de IA para enfrentarse al juego del ajedrez.

Deep Blue fue clasificado como el mejor jugador de ajedrez de ordenador en el mundo, además de ser el primero en batir al maestro del ajedrez Garry Kasparov.

Page 54: ExpoUnidad4

Conecta 4

Fue solucionado por Victor Allis. Este programa gana siempre cuando él es el primero que comienza a jugar, y casi nunca pierde jugando contra oponentes no excelentes en el caso que juegue segundo.

Aunque muchos de estos juegos ya han sido solucionados, todavía ofrecen un reto a los desarrolladores cuando se crean nuevas herramientas y técnicas como las redes neuronales y nuevas soluciones que todavía están por descubrir. Sin embargo, el gran reto de los programadores está en otro tipo de juegos como el Bridge, el Poker, y Go.

Page 55: ExpoUnidad4

METODO MINIMAX

No le eh entendido a este tema aun… asi que no prepare diapositivas de estas. Angel te encargo este tema.