Você está na página 1de 55

Todo lo que este entre parntesis y diga Nota debern entenderlo, comprenderlo, saberlo o mnimo 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 deberan decir acerca del particular. Todo lo que este entre parntesis y diga Qu es? debern investigarlo y saber que significa, y de ser posible un poco mas. Todo lo que este entre parntesis y diga Referir debera de ser incluido por el expositor en turno antes de seguir adelante con el siguiente prrafo. Creen su propio material para facilitar nuestra exposicin.

UNIDAD 4
Bsqueda y Satisfaccin de Restricciones. (Qu es?)

INTRODUCCIN
Existen varios problemas que pueden ser resueltos mediante el uso de bsqueda inteligentes. La experiencia revela que un problema de bsqueda est asociado a dos importantes aspectos:
1. 2.

Que se busca (Nota) Donde se busca (Nota)

4.1 PROBLEMAS Y ESPACIOS DE ESTADOS (QU ES?)


Un problema tpico 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 Prrafo 2 Forzosamente!!!)

El primer paso para disear un programa que resuelva un problema es crear una descripcin formal y manejable del propio problema.

Hay problemas que por ser artificiales y estructurados son fciles de especificar (por ejemplo el ajedrez). Otros problemas naturales, como por ejemplo la comprensin del lenguaje(Qu es?), no son tan sencillos de especificar. Para producir una especificacin 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.

CONCEPTOS TILES
Problemas solucin de espacio de bsqueda en lgicos.- El hallazgo de la un problema mediante un estado y los mtodos de este espacio de solucin.

Estado.- la representacin de un problema en un instante dado Espacio de estado.- se trata de definir el problema mediante estados posibles.
(Referir Hoja 4 Prrafo 1)

Operador.- convierte un estado en otro.

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 enumeracin exhaustiva de todos los estados vlidos, sino que es posible definirlo de manera ms general.

EJEMPLO, PROBLEMA DE JUGAR AJEDREZ


El 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 smbolo de acuerdo a las piezas situadas. El objetivo o estado final se define como cualquier posicin de tablero en la que el contrario no puede realizar ningn movimiento legal y su rey est amenazado. Las reglas son los movimientos legales, que pueden describirse mediante una parte patrn para ser contrastado con la posicin actual de tablero y otra parte

REPRESENTACIN DE ESPACIO DE ESTADOS


(Referir Hoja 5 Prrafo 2 forzosamente!!!)

El grafo del dibujo en la hoja siguiente representa el tablero de manera parcial, y cada nodo es identificado por un nmero. Suponemos que la posicin inicial del robot es el estante marcado con el nmero 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 :

4.2 ESPACIOS DE ESTADOS DETERMINSTICOS Y ESPACIOS NO DETERMINSTICOS.

Un ambiente determinstico es aquel en el cual cualquier accin tiene un solo efecto garantizado, no hay incertidumbre acerca del estado que resultar de la realizacin de la accin. El mundo fsico puede ante todos los intentos y propsitos, ser considerado como no determinstico. Un ambiente no determinstico presente problemas ms grandes para el agente

Un sistema es determinstico 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 ms de una manera, entonces el sistema es no determinstico. (Se
requiere al menos un ejemplo)

4.3 BSQUEDA SISTEMTICA (QU ES?)


Los problemas de bsquedas, que generalmente encontramos en Ciencias Computacionales, son de un estado determinstico. Por ejemplo, en los algoritmos de bsqueda de anchura y de bsqueda de profundidad, uno sabe la secuencia de los nodos visitados en un rbol.

Sin embargo, los problemas de bsqueda, los cuales siempre tendremos que tratar en Inteligencia artificial, son no determinsticos y el orden de elementos visitados en el espacio de bsqueda depende completamente en el conjunto de datos. Dependiendo de la metodologa de expansin de un espacio de estado y consecuentemente el orden de los estados visitados los problemas de bsqueda se nombran diferentes:

Bsqueda de Metas a Profundidad. Bsqueda de Metas en Anchura. Bsqueda Optima.

4.3.1 BSQUEDA DE METAS A PROFUNDIDAD


El algoritmo de ms utilizado es el de bsqueda de metas por profundidad. Es llamado as porque sigue cada camino hasta su mayor profundidad antes de moverse al siguiente camino.

Asumiendo que iniciamos desde el lado izquierdo y trabajamos hacia la derecha, la bsqueda de metas por profundidad involucra trabajar todos los caminos debajo de el camino de rbol ms a la izquierda hasta que un nodo hoja es alcanzado. Si esta es una meta de estado, la bsqueda es completada y reportada de exitosa. Si el nodo hoja no representa la meta de estado, la bsqueda se dirige atrs y arriba al siguiente

Explicar grafo, Pagina 7 Prrafo 2 y 3. Qu es un NODO HOJA?

La bsqueda de profundidad es un ejemplo de la bsqueda de fuerza bruta, o la bsqueda exhaustiva. La bsqueda de profundidad es usada por computadoras a menudo para los problemas de bsqueda como ubicar archivos en un disco, o por buscadores para spidering(Qu es?) en Internet. (Referir Hoja 8 Parrafo 3)

EJEMPLO DE SU ALGORITMO
Inicio Poner el nodo inicial en una pila, apuntando a lo ms alto de la pila Mientras la pila no este vaca has Inicio Sacar de la pila el elemento ms arriba de la misma Si el elemento de ms arriba es la meta Regresar exitosamente y detenerse Sino poner los nodo hijo en lo ms alto de la pila en cualquier orden Fin del mientras Fin

COMPLEJIDAD DE ESPACIO
Se requiere mayor cantidad de memoria en la bsqueda 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)

COMPLEJIDAD DE TIEMPO
Si encontramos la meta en la posicin ms a la izquierda de profundidad (D), entonces el nmero de nodos examinados (d+1). De otra forma, si encontramos la meta en el extremo derecho a una profundidad (D), entonces el nmero 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)

4.3.2 BSQUEDA DE METAS EN ANCHURA


Una alternativa para la bsqueda de profundidad es la bsqueda de metas de anchura (o amplitud). Como su nombre indica, este enfoque supone atravesar un rbol por anchura ms 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)

Si un meta de estado es alcanzada aqu, el xito es reportado. De otra forma, la bsqueda contina ampliando caminos de todos los nodos del nivel en curso, para posteriormente bajar al prximo nivel. De este modo, la bsqueda contina 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 ningn nodo

EJEMPLO DE SU ALGORITMO
Inicio Poner el nodo inicial en una cola. Repetir Borrar 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 Inicio Insertar el nodo hijo del elemento de delante Si existe en cualquier orden en la parte detrs de la cola Fin Hasta que la cola este vaca Fin

COMPLEJIDAD DE ESPACIO
El nmero mximo de nodos sern puestos en cola, cuando el nodo ms a la izquierda de una profundidad (d) esta siendo inspeccionado en comparacin 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)

COMPLEJIDAD DE TIEMPO
Considerando un rbol de igual factor de anchura para cada nodo (B) y de mxima profundidad (D). Luego entonces la meta no esta localizada dentro de la profundidad (D-1), el numero de bsquedas errneas [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 nmero de nodos marginales visitados esta dado por: (1+bd)/2.

COMPARATIVA DE CASOS DE BSQUEDA DE PROFUNDIDAD Y POR ANCHURA

4.3.3 BSQUEDA OPTIMA


La bsqueda heurstica(Qu es?), trata de resolver los problemas mediante un nueva tcnica. Podemos expandir nodos por seleccin juiciosa, seleccionado el nodo ms prometedor, donde estos nodos estarn identificados por el valor de su fuerza comparada con sus competidores homlogos(Qu es?) con la ayuda de funciones intuitivas especializadas, llamadas funciones

La bsqueda heurstica generalmente trabaja para dos tipos distintos de problemas: Forward reasoning (razonamiento hacia delante). o Backward reasoning (razonamiento hacia atrs).
o

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 atrs, nos movemos hacia un estado inicial a partir de una meta de estado

BSQUEDA HEURSTICA DE OR GRAPHS (QU ES?)


En algunos casos los algoritmos de bsqueda heurstica, son tambin llamados OR-graphs o Best First Algorithms (Algoritmo de bsqueda ptima). La mayora 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 aplicacin o regla para el estado actual para causar transicin de estados. Cuando un numero de reglas son aplicables a un estado actual, podemos

EJEMPLO DE ALGORITMO DE BSQUEDA PTIMA


Inicio 1. Identificar los posibles estados inciales y medir la distancia (f) del ms cercano con a la meta; ponerlos en una lista (L) 2. Mientas L no este vaca has Inicia a) Identificar el nodo n de L que tenga el mnimo f; Si existe mas de un nodo con un f mnimo, seleccionar uno de ellos, (tomar n, arbitrariamente) b) Si n es la meta Entonces 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.

4.4 SATISFACCIN DE RESTRICCIONES (QU ES?)


Los problemas pueden resolverse buscando en un espacio de estados, estos estados pueden evaluarse por heursticas especficas para el dominio y probados para verificar si son estados meta. Los componentes del estado, son equivalentes a un grafo de restricciones, los cuales estn

Variables. Dominios (valores posibles para las variables). Restricciones (binarias)(Qu entre las variables. es?)

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

En los Problemas de Satisfaccin de Restricciones (PSR), los estados y la prueba de meta siguen a una representacin estndar, estructurada y muy simple. Ejemplos:

Colorear mapas. Crucigramas.

PROBLEMA: COLOREAR MAPA EJEMPLO DE ESTADO:


Variables

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

A cada paso hay una asignacin de variable.

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

El rbol se extiende slo a profundidad n.

Los algoritmos de bsqueda primero en profundidad son populares para PSRs.

El camino que alcanza una solucin es irrelevante.


La clase ms simple de PSR implica

PROBLEMAS DE SATISFACCIN DE RESTRICCIONES


Un problema de Satisfaccin 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 vaco Di de posibles valores. Cada restriccin Ci involucra algn subconjunto de las variables y especifica las combinaciones

Un estado del problema se define por una asignacin de valores a alguna o todas las variables, {Xi = vi, Xj = vj, }. Una asignacin que ninguna restriccin es consistente o legal. no viola llamada

Una asignacin completa es una en la cual cada variable es mencionada.

FORMULACIN COMO PSR


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).

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 restriccin puede representarse

4.5 RESOLUCIN 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, abstrayndolos, el identificar las acciones que son necesarias para resolverlos y el determinar cual es la estrategia ms acertada para atacarlos, son rasgos fundamentales que debe tener

Podemos definir la resolucin de problemas como el proceso que partiendo de unos datos inciales 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 solucin ptima o semi-ptima de un problema de planificacin, descubrir una estrategia ganadora de un juego, demostrar un teorema, reconocer una imagen, comprender una oracin o un texto son algunas de las tareas que pueden concebirse como de resolucin de

POR QU SE EMPLEAN LOS JUEGOS?


Una gran ventaja que nos proporciona la utilizacin de los juegos es que a travs de ellos es muy fcil medir el xito o el fracaso, por lo que podemos comprobar si las tcnicas y algoritmos empleados son los ptimos. En comparacin con otras aplicaciones de inteligencia artificial, por ejemplo comprensin del lenguaje, los juegos no

ANTECEDENTES DE INTELIGENCIA ARTIFICIAL EN RESOLUCIN DE JUEGOS


Siglo XIX, Babbage, arquitecto de computadoras, pens en programar su mquina analtica para que jugara al ajedrez. Dcada de 1950, Shannon describi mecanismos que podan usarse en programa jugara al ajedrez. los un

Dcada de 1950, Alan Turing describi un programa para jugar al ajedrez pero no lo construy. Dcada 1960, Arthur Samuel construy el primer programa de juegos importante y operativo, el cual jugaba a las damas y poda aprender de sus errores para mejorar su comportamiento.

REAS DE APLICACIN DE LA INTELIGENCIA ARTIFICIAL PARA JUEGOS


Se puede realizar una clasificacin amplia de las reas de aplicacin pudiendo mencionar: FSM: mquinas 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.

Pathfinding o bsqueda 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 ms corto: en un juego de disparar, habr rutas donde el agente tenga mayor potencial de resultar daado o de ser descubierto por el oponente. La mayora de algoritmos de pathfinding se basan en el uso de rboles de decisin, y de reglas heursticas cuya eficiencia est altamente correlacionada

Steering: vehculos que evitan obstculos En juegos basados en simulacin fsica la navegacin 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, aceleracin, torque, masa, momento de inercia y coeficientes de friccin. Mientras ms variables se tomen en cuenta, ms realista es la simulacin pero tambin ms complicados los algoritmos de IA que pueden controlar al

Chasing: persecucin y escape La mayora de los seres vivos jugamos el juego del gato y el ratn en una rutina sin fin donde la sofistificacin de las tcnicas se incrementa. La mayora de los algoritmos IA para chasing se basan en comportamientos naturales, como por ejemplo, las tcnicas de flocking(Qu es?) que tratan de imitar el comportamiento de los cardmenes de peces las bandadas de aves.

JUEGOS UTILIZADOS EN INTELIGENCIA ARTIFICIAL


En general, hay mucha ms investigacin en Inteligencia Artificial aplicada a los juegos clsicos (ajedrez, cartas, ) que a los videojuegos. Se debe principalmente: Al conocimiento estado del juego: depende de mucho que un juego de impreciso del ya que ste ms factores mesa, y los

JUEGOS CLSICOS EN IA
Algunos juegos clsicos en los que se han aplicado tcnicas de resolucin 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.

Ajedrez Tiene unas reglas claramente definidas y unos objetivos inequvocos. Actualmente se conocen varias tcnicas de IA para enfrentarse al juego del ajedrez. Deep Blue fue clasificado como el mejor jugador de ajedrez de ordenador en el mundo, adems de ser el primero en batir al maestro del ajedrez Garry Kasparov.

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, todava ofrecen un reto a los desarrolladores cuando se crean nuevas herramientas y tcnicas como las redes neuronales y nuevas soluciones que todava estn por descubrir. Sin embargo, el gran reto de los programadores est en otro tipo de juegos

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

Você também pode gostar