Inteligencia Artificial

Tamaño: px
Comenzar la demostración a partir de la página:

Download "Inteligencia Artificial"

Transcripción

1 Inteligencia rtificial I.T. en Informática de Sistemas, 3º urso académico: 2010/2011 Profesores: Ramón Hermoso y Roberto enteno

2 Tema 2: úsqueda 2. úsqueda 2.1. gentes de resolución de problemas 2.2. úsqueda no informada 2.3. úsqueda heurística 2.4. úsqueda multi-agente

3 Entorno: problemas bien definidos Problemas bien definidos: discreto: se puede concebir el mundo en estados en cada estado hay conjunto finito de percepciones y acciones accesible: el agente puede acceder a las características relevantes del mundo puede determinar el estado actual del mundo puede determinar el estado del mundo que le gustaría alcanzar estático y determinista: el agente puede planificar todas sus acciones, ya que el mundo cambia sólo cuando el agente actúa el resultado de cada acción está totalmente definido y previsible

4 Ejemplo: las Torres de Hanoi Objetivo: Trasladar los discos de la aguja a en el mismo orden Restricción: un disco mayor nunca debe reposar sobre uno de menor tamaño ómo escribir el programa de agente correspondiente?

5 Solución 1: tablas de actuación Tablas de actuación específicos del problema: para cada situación hay una entrada en una tabla de actuación; dicha entrada compila la secuencia de acciones a emprender: cuatro discos en disco 1 de a / disco 2 de a / disco 1 de a / disco 3 de a / disco 1 de a / disco 2 de a / disco 1 de a / disco 4 de a / disco 1 de a / disco 2 de a / disco 1 de a / disco 3 de a / disco 1 de a / disco 2 de a / disco 1 de a problema: limitaciones de memoria

6 Solución 2: algoritmo lgoritmos específicos del problema: el diseñador del agente conoce un método para resolver el problema codifica este método en un algoritmos particular para el problema mejorar la flexibilidad: parametrizar el algoritmo problema: el diseñador ha de anticipar todos los escenarios posibles los entornos reales suelen ser demasiado complejos como para anticipar todas las posibilidades PROEDURE MoverDiscos(n:integer; origen,destino,auxiliar:char); { Pre: n > 0 Post: output = [movimientos para pasar n EGIN discos de la aguja origen a la aguja destino] } IF n = 0 THEN {aso base} writeln; ELSE EGIN {aso recurrente} MoverDiscos(n-1,origen,auxiliar,destino); write('pasar disco',n,'de',origen,'a',destino); MoverDiscos(n-1,auxiliar,destino,origen) END; {fin ELSE} END; {fin MoverDiscos}

7 Solución 3: búsqueda Métodos independientes del problema : modelo declarativo del problema: inicialmente todos los discos reposan en y su tamaño decrece de abajo hasta arriba queremos que todos los discos estén en en el mismo orden podemos mover un disco I a la aguja X, si no hay otro disco por encima de I y, si actualmente hay discos en X, entonces dichos discos han de ser más grandes que I cuanto menos movimientos de discos hagamos mejor algoritmo de búsqueda genérico: genera una solución a cualquier problema representado mediante el modelo simbólico mayor flexibilidad: el diseñador no necesita conocer la solución de antemano es más fácil adaptar el método a nuevas características del problema

8 Solución 3: Modelo declarativo en LIPS Escenario: 3 agujas (,, ) y 2 discos (uno, dos) (deffacts nombre-agujas "Lista con los nombres de las agujas" (agujas )) (deffacts situacion-inicial "Lista describiendo la pos. inicial de los discos en las agujas" (situacion (acciones ) (posicion uno dos base base base)) ) (deffacts situacion-final "Lista describiendo la pos. deseada de los discos en las agujas" (meta base base uno dos base ) ) (deffacts predicado-menor "hechos que definen si un disco es menor que otro" (menor uno dos) (menor uno base) (menor dos base))

9 Solución 3: Modelo declarativo en (defrule mover-x-a-y ) (agujas $??x $?) (agujas $??y $?) (situacion (acciones $?acciones) LIPS (posicion $?inicio?x?disco-x $?medio?y?disco-y $?final) ) (menor?disco-x?disco-y) => (assert (situacion (defrule meta ) (acciones $?acciones (format nil "%s-%s->%s"?x?disco-x?y)) (posicion $?inicio?x $?medio?y?disco-x?disco-y $?final) ) ) (situacion (acciones $?acciones)(posicion $?s-final) ) (meta $?s-final) => (printout t crlf "Solución: " $?acciones crlf) (halt)

10 Solución 3: justes del Modelo Resultados de la búsqueda: 3 agujas 2 discos: Declarativo ("-uno->" "-dos->" "-uno->") 3 agujas 3 discos: ("-uno->" "-dos->" "-uno->" "-tres->" "-uno->" "-dos->" "-uno->") 3 agujas 4 discos: ("-uno->" "-dos->" "-uno->" "-tres->" "-uno->" "-dos->" "-uno->" "-cuatro->" "-uno->" "-dos->" "-uno->" "-tres->" "-uno->" "-dos->" "-uno->") 4 agujas 4 discos: ("-uno->" "-dos->d" "-tres->" "D-dos->" "-cuatro->d" "-dos->" "-tres->d" "-dos->d" "-uno->d")

11 Tema 2: úsqueda 2. úsqueda 2.1. gentes de resolución de problemas 2.2. úsqueda no informada 2.3. úsqueda heurística 2.4. úsqueda multiagente

12 gentes de resolución de problemas mantienen un modelo simbólico del mundo desean modificar el estado del mundo de acuerdo con sus objetivos con tal fin, anticipan los efectos esperados de sus acciones sobre el modelo D E D E

13 iclo de actuación: 1. Definir el modelo 2. Generar los objetivos gentes especializados 3. Percibir y clasificar la situación presente 4. uscar un plan de actuación 5. Ejecutar el plan de actuación Los agentes son especializados: el diseñador dota al agente a priori con conocimientos específicos que definen el modelo que definen los objetivos se supone una percepción y una ejecución ideal

14 úsqueda en espacios de estados Espacio de estados: modelo del mundo representado por un grafo Problema de búsqueda: espacio de estados + actitud del agente Objetivo: encontrar el plan más eficiente que lleve del estado inicial a un estado meta

15 El problema de los bloques Estado: configuración de n bloques Operadores: apilar(x,y): poner X encima de Y Prec.: bloques X e Y están libres Post.: bloque X está encima de Y quitar(y): poner Y en la mesa Prec.: bloque Y está libre oste: Post.: bloque Y está en la mesa la aplicación de cada operador vale una unidad Estado inicial Estado meta

16 Representación del problema Ejemplo con 3 bloques de los bloques Plan óptimo: coste 3

17 onocimientos del agente Representación implícita del problema de búsqueda onocimientos mínimos a priori de un agente: s 0 Estado inicial expandir: s {s i1,..., s in } onjunto finito de sucesores de un estado meta?: s verdad falso Prueba de éxito en un estado c: (s i, s j ) v, v ℵ oste de un operador n 1 ( ) = c ( s ik,s ik+1 ) c s i1 s i2 s in oste de un plan k=1

18 Ejercicio 1 Problema de búsqueda / conocimiento del agente: En una mesa se encuentran dos jarras, una con una capacidad de 3 litros (llamada Tres), y la otra con una capacidad de 4 litros (llamada uatro). Inicialmente, Tres y uatro están vacías. ualquiera de ellas puede llenarse con el agua de un grifo G. simismo, el contenido tanto de Tres como de uatro puede vaciarse en una pila P. Es posible verter todo el agua de una jarra a la otra. No se dispone de dispositivos de medición adicionales. Se trata de encontrar una secuencia de operadores que deje exactamente dos litros de agua en uatro. a) Modele este problema como un problema de búsqueda. on tal fin, defina el estado inicial, el conjunto de estados meta, los operadores (especificando sus precondiciones y post-condiciones), así como el coste de cada operador. b) aracterice el conocimiento a priori del agente de resolución del problema correspondiente? Facilite ejemplos de los resultados de la función expandir. c) Encuentre una solución al problema.

19 Método de búsqueda Método de búsqueda: estrategia para explorar el espacio de estados en cada paso se expande un estado se desarrolla sucesivamente un árbol de búsqueda rbol de búsqueda: Método general de búsqueda: 1. seleccionar nodo hoja 2. comprobar si es nodo meta 3. expandir este nodo hoja

20 lgoritmo de búsqueda Elementos del algoritmo el árbol se representa en base a un registro del tipo nodo abierta es una lista de nodos, que reúne las hojas del árbol vacía? determina si una lista es vacía primero quita el primer elemento de una lista ordinsertar añade un nodo a una lista, clasificado según una función de orden {búsqueda general} abierta s 0 Repetir Si vacía?(abierta) entonces devolver(negativo) nodo primero(abierta) Si meta?(nodo) entonces devolver(nodo) sucesores expandir(nodo) Para cada n sucesores hacer n.padre nodo ordinsertar(n,abierta,<orden>) Fin {repetir}

21 Estados repetidos Problema: el mismo estado puede repetirse varias veces en el árbol de búsqueda puede generarse el mismo subárbol varias veces Soluciones: ignorarlo evitar ciclos simples: no añadir el padre de un nodo al conjunto de sucesores evitar ciclos generales: no añadir un antecesor de un nodo al conjunto de sucesores evitar todos los estados repetidos: no añadir ningún nodo existente en el árbol al conjunto de sucesores

22 lasificación de métodos aracterísticas: completitud: se encuentra una solución si existe optimalidad: se encuentra la mejor solución si hay varias complejidad en tiempo: cuánto se tarda en encontrar la solución? complejidad en espacio: cuánta memoria se utiliza en la búsqueda? Tipos de métodos de búsqueda: no informados: utilizan sólo los conocimientos mínimos heurísticos: además utilizan información aproximada, y específica del problema, para guiar la búsqueda

23 Resumen de los métodos de búsqueda (i) búsqueda en amplitud (iv) búsqueda de coste uniforme 2.3 búsqueda heurística búsqueda general 2.2 búsqueda no informada (vii) ID* (vi) * (iii) úsqueda profundidad iterativa (ii) búsqueda en profundidad (v) búsqueda avara

24 Tema 2: úsqueda 2. úsqueda 2.1. gentes de resolución de problemas 2.2. úsqueda no informada 2.3. úsqueda heurística 2.4. úsqueda multiagente

25 úsqueda en amplitud úsqueda en amplitud: inglés: breadth first search Estrategia: generar el árbol por niveles de profundidad expandir todos los nodos de nivel i, antes de expandir nodos de nivel i+1 Resultado: considera primero todos los caminos de longitud 1, después los caminos de longitud 2, etc. Se encuentra el estado meta de menor profundidad

26 Árbol de búsqueda en amplitud úsqueda en amplitud: Nivel 1 Nivel 2 Nivel 3 Nivel

27 lgoritmo para búsqueda en amplitud lgoritmo: usar el algoritmo general de búsqueda añadir nuevos sucesores al final de la lista abierta abierta funciona como cola inserción al final recuperación desde la cabeza estructura FIFO: siempre expandir primero el nodo más antiguo (es decir: menos profundo) {búsqueda en amplitud} abierta s 0 Repetir Si vacía?(abierta) entonces devolver(negativo) nodo primero(abierta) Si meta?(nodo) entonces devolver(nodo) sucesores expandir(nodo) Para cada n sucesores hacer n.padre nodo ordinsertar(n,abierta,final) Fin {repetir}

28 Árbol de búsqueda en amplitud Lista abierta:

29 omplejidad omplejidad en tiempo y espacio: proporcional al número de nodos expandidos Suponemos que en el árbol de búsqueda el factor de ramificación es b el mejor nodo meta tiene profundidad d Mejor caso 1 d 2 d 1 d... 1+b+...+b d-1 +1 O(b d ) 0 aso medio 1 d 2 d 1 d b+...+b d-1 +b d /2 O(b d ) Peor caso 1 d 2 d 1 d b+...+b d-1 +b d O(b d )

30 Requerimientos de tiempo y memoria Requerimientos de recursos de una búsqueda en amplitud exponencial factor de ramificación efectivo: 10 tiempo: 1000 nodos/segundo memoria: 100 bytes/nodo

31 úsqueda en amplitud: análisis Ventajas: completo: siempre se encuentra un nodo meta si existe óptimo (para operadores de coste uno): siempre se encuentra el nodo meta menos profundo Problemas: complejidad exponencial incluso en el mejor caso los problemas de espacio son aún más graves que los problemas de tiempo

32 Ejercicio 2.2 úsqueda en amplitud: El grafo que se muestra al lado determina un problema de búsqueda. ada nodo representa un estado; los arcos modelan la aplicación de operadores. Suponga que es el estado inicial y que K y E son estados meta a) desarrolle el árbol de búsqueda que genera la búsqueda en amplitud. uál de los nodos meta se encuentra primero? b) indique el orden en que se expanden los nodos c) ponga el estado de la lista abierta en cada paso del algoritmo H D F E G K Z W

33 úsqueda en profundidad úsqueda en profundidad: inglés: depth first search Estrategia: expandir los nodos más profundos primero si se llega a un nodo sin sucesores, dar vuelta atrás y expandir el siguiente nodo más profundo Resultado: el método va explorando un camino actual no siempre se encuentra el nodo de profundidad mínima

34 Árbol de búsqueda en profundidad búsqueda en profundidad (evitando ciclos simples):

35 úsqueda en profundidad lgoritmo: usar el algoritmo general de búsqueda añadir nuevos sucesores en la cabeza de la lista abierta abierta funciona como pila inserción en la cabeza de la lista recuperación desde la cabeza estructura LIFO: siempre expandir primero el nodo más reciente (es decir: el más profundo) al guardar todos los sucesores de un nodo expandido en abierta, se permite la vuelta atrás {búsqueda en profundidad} abierta s 0 Repetir Si vacía?(abierta) entonces devolver(negativo) nodo primero(abierta) Si meta?(nodo) entonces devolver(nodo) sucesores expandir(nodo) Para cada n sucesores hacer n.padre nodo ordinsertar(n,abierta,cabeza) Fin {repetir}

36 Árbol de búsqueda en profundidad Lista abierta:

37 Límites de profundidad Problema: la búsqueda en profundidad sólo es completa en el caso de árboles de búsqueda finitos si existen caminos infinitos sin nodo meta, es posible que la búsqueda en profundidad no termine Solución: búsqueda en profundidad limitada: inglés: depth limited search búsqueda en profundidad con límite de profundidad d * expandir sólo nodos con profundidad d d * incompleto si la profundidad del mejor nodo meta es mayor que d *...

38 úsqueda en profundidad limitada: omplejidad en tiempo: complejidad proporcional al número de nodos expandidos factor de ramificación b / límite de profundidad d* / nodo meta con profundidad d d* mejor caso: O(d) (se expanden sólo los nodos del camino meta) peor caso: O(bd*) (se expanden todos los nodos de prof. d*) omplejidad en espacio: sólo los nodos del camino actual y sus vecinos (sucesores) necesitan almacenarse en la memoria lineal en la profundidad del árbol de búsqueda mejor caso: O(b d) / peor caso: O(b d * )

39 úsqueda en profundidad limitada: Ventajas: análisis mejora significativa de la complejidad en espacio con respecto a la búsqueda en amplitud (lineal frente a exponencial): completo para límites de profundidad d* adecuados Problemas: no es óptima: el nodo meta que se encuentra puede no ser de profundidad mínima es común que unos límites buenos de profundidad sólo pueden establecerse cuando el problema ya haya sido resuelto en general, no se puede asegurar que la profundidad d de un nodo meta sea d d *, es decir no se puede garantizar la completitud.

40 Ejercicio 2.3 úsqueda en profundidad: El grafo que se muestra al lado determina un problema de búsqueda. ada nodo representa un estado; los arcos modelan la aplicación de operadores. Suponga que es el estado inicial y que K y E son estados meta a) desarrolle el árbol de búsqueda que genera la búsqueda en profundidad. uál de los nodos meta se encuentra primero? b) indique el orden en que se expanden los nodos c) ponga el estado de la lista abierta en cada paso del algoritmo d) cómo cambiaría el proceso de búsqueda si aplicamos límites de profundidad, p.ej.: d * =2? H D F E G K Z W

41 Ejercicio 2.4 úsqueda en profundidad (limitada): La búsqueda en profundidad puede implementarse fácilmente con un programa recursivo. a) Especifique una implementación recursiva de la búsqueda en profundidad en pseudocódigo. b) Modifique el pseudocódigo del ejercicio a) para incorporar límites de profundidad.

42 úsqueda de profundización iterativa Inglés: iterative deepening search Idea: esquivar el problema de elegir d *, al probar todos los posibles límites de profundidad Estrategia: enumerar todos los límites de profundidad d, empezando por 0 realizar búsqueda de profundidad limitada hasta d lgoritmo: {búsqueda de profundización iterativa} abierta s 0 desde d 0 hasta hacer si búsqueda-en-prof-limitada(problema, d ) = éxito entonces fin {desde} devolver(nodo-meta)

43 úsqueda de profundización iterativa límite d * =1 límite d * =2 límite d * =3 fallo fallo éxito

44 úsqueda de profundización iterativa: complejidad omplejidad en espacio: igual que la búsqueda en profundidad: sólo se almacenan los nodos vecinos del camino actual lineal en la profundidad del árbol de búsqueda: peor caso O(b d) omplejidad en tiempo: normalmente el coste adicional es relativamente pequeño argumento intuitivo: suponga un árbol de búsqueda de profundidad d los nodos interiores (prof. <d) se expanden varias veces los nodos hoja (prof. = d) se expanden sólo una vez en un árbol de búsqueda exponencial casi todos los nodos son hojas en consecuencia, para árboles de búsqueda grandes, la búsqueda de profundización iterativa no expande muchos más nodos que la búsqueda en profundidad limitada

45 úsqueda de prof. iterativa: complejidad en tiempo omplejidad en tiempo en el peor caso: nº de nodos expandidos por la búsqueda en prof. limitada hasta prof. d: nº de nodos expandidos por la búsqueda de prof. iterativa hasta prof. d:

46 úsqueda de prof. iterativa: complejidad en tiempo oste adicional de tiempo de la búsqueda de profundización iterativa: N id w dl N w ( d) d ( ) = b d+2 2b bd +d +1 b 1 ( ) 2 b d+1 1 b 1 = bd +2 2b bd + d +1 ( b 1) 2 = bd +2 2b bd + d +1 b d +2 b d +1 b +1 = bd +1 b 2b = b 2 b d b 1 b d +1 1 ( bd + d + 1 ) b d+1 b d+1 b d+1 b d+1 ( ) b d +1 b b d+1 d b d b d+1 b + 1 b d+1 + d b d b d+1 b 1 1 b d + 1 b d+1 b d+1

47 úsqueda en prof. iterativa: complejidad en tiempo oste adicional de tiempo de la búsqueda de profundización iterativa: para d se obtiene: Ejemplo: b= 10 para b=10 y nodos meta profundos, la búsqueda de profundización iterativa expande sólo 11% más nodos que la búsqueda en profundidad limitada complejidad en tiempo en el peor caso de la búsqueda de profundización iterativa : O(b d )

48 úsqueda no informada: resultados Resultados del peor caso: factor de ramificación b / profundidad de la mejor solución d / límite de profundidad d * Método no informado preferido

49 Ejercicio 2.5 úsqueda de profundización iterativa: El grafo que se muestra al lado determina un problema de búsqueda. ada nodo representa un estado; los arcos modelan la aplicación de operadores. Suponga que es el estado inicial y que K y E son estados meta a) desarrolle la secuencia de árboles de búsqueda generadas por la búsqueda de profundización iterativa, indicando para cada uno de ellos el orden en que se expanden los nodos b) uál de los nodos meta se encuentra primero? H D F E G K Z W

50 Ejercicio 2.6 úsqueda de profundización iterativa: Describa características relevantes de los espacios de búsqueda en los que el rendimiento de la búsqueda de profundización iterativa es mucho peor que el de la búsqueda en profundidad estándar. Ponga un problema ejemplo que ilustre dichas características.

51 Problema de encontrar rutas Estado: estancia en una ciudad oste de un operador: distancia por carretera a la ciudad vecina Operadores: ir a una ciudad vecina oste de un plan: suma de distancias entre las ciudades visitadas Oradea Neamt Zerind Iasi rad Sibiu 99 Fagaras 118 Vaslui 80 Rimnicu Timisoara Pitesti Lugoj 98 Hirsova Urziceni Mehadia ucarest Eforie Dobreta raiova Giurgiu

52 Problema de encontrar rutas: ejemplo O Z S R T 111 L M 75 D P 138 F G 90 N 85 U I 92 V 98 H 86 E Ejemplo: p 1 = -S-F- c(p 1 ) = 450 p 2 = -S-R-P- c(p 2 ) = 418 Problema: los métodos de búsqueda no informados encuentran el nodo meta de menor profundidad; éste puede no ser el nodo meta de coste mínimo prof.( p1 ) = 3 < 4 = prof.( p2 ) / c(p1) = 450 > 418=c(p2)

53 úsqueda de coste uniforme úsqueda de coste uniforme: Inglés: uniform cost search Idea: guiar la búsqueda por el coste de los operadores Método: g(n): coste mínimo para llegar del nodo inicial al nodo n expandir siempre el nodo de menor coste g primero lgoritmo: almacenar cada nodo con su valor g insertar los nuevos nodos en abierta en orden ascendente según su valor g {búsqueda de coste uniforme} abierta s 0 Repetir Si vacío?(abierta) entonces devolver(negativo) nodo primero(abierta) Si meta?(nodo) entonces devolver(nodo) sucesores expandir(nodo) Para cada n sucesores hacer n.padre nodo ordinsertar(n,abierta,g) Fin {repetir}

54 Ejemplo: úsqueda de coste uniforme g = 0 S g=140 g= 118 Z g =75 R g=220 O F g=280 g=291 g =239 L g=229 g=236 O g=146 g=150 g=300 g=317 S P g=366 T g = 340 M g= 299 Z g = 212 S g= 292 g=290 g=225 S Z T g=268 O g=283 g=287 O g=296 g=300...

55 Lógica de la búsqueda de coste uniforme Z O 151 N 87 I T D S 80 R L 146 M P 138 F G U V 98 H 86 E g = 80 g = 120 g = 160

56 aracterísticas de la búsqueda de coste Dinámica: uniforme la búsqueda de coste uniforme desarrolla sucesivamente todos los caminos por orden de valor g creciente igual que la búsqueda en amplitud si g(n) = prof.(n) para todos los n La búsqueda de coste uniforme es óptima: suponga que se encuentra un camino a un nodo meta n g con g(n g ) = k los valores de g crecen de forma monótona la largo de todos los caminos del árbol de búsqueda por tanto, la búsqueda de coste uniforme expande todos los nodos n g con g(n) < k en particular, si hubiera un nodo meta n g ' con g(n g ') < k, éste se habría expandido antes que n g contradicción; en consecuencia n g es el nodo meta de menor coste (valor de g)

57 aracterísticas de la búsqueda de coste uniforme La búsqueda de coste uniforme es completa: sea n g un nodo meta con g(n g ) = k suponga que no es encontrado por la búsqueda de coste uniforme debe haber un número infinito de nodos n i con g(n i ) k ya que el número de sucesores de un nodo es finito, debe haber un camino infinito p, tal que para todos los nodos n i de p se cumple que g(n i ) k pero la función de coste c asigna un entero positivo a cada operador, y todas las sucesiones crecientes de enteros no tienen límite contradicción; en consecuencia el nodo meta n g será encontrado omplejidad en tiempo y espacio: exponencial, al igual que la búsqueda en amplitud

58 Ejercicio 2.7 úsqueda de coste uniforme: plique la búsqueda de coste uniforme para encontrar una ruta de raiova () a Fagaras (F). Desarrolle el árbol de búsqueda generado por dicho algoritmo, asumiendo que se evitan ciclos simples. Indique el valor g de cada nodo, así como el orden en el que se expanden los nodos.

59 Tema 2: úsqueda 2. úsqueda 2.1. gentes de resolución de problemas 2.2. úsqueda no informada 2.3. úsqueda heurística 2.4. úsqueda multiagente

60 Heurísticas Heurística (griego: heuriskein): encontrar, descubrir Inteligencia rtificial: compila conocimiento empírico sobre un problema / un entorno Interpretación fuerte : una heurística suele facilitar la resolución de un problema, pero no garantiza que se resuelva una heurística es una regla de tres para un problema búsqueda: optimalidad o incluso completitud no garantizados Interpretación débil : método riguroso + información heurística información heurística puede mejorar el rendimiento medio de un método de resolución de problemas, pero no garantiza una mejora en el peor caso búsqueda: mejora de complejidad no garantizado

61 Funciones heurísticas Funciones heurísticas para búsqueda en el espacio de estados: estiman de adecuación de un nodo para ser expandido métodos de búsqueda el mejor primero eligen el nodo más prometedor para expandir Heurística usual: distancia hacia la meta h :N ℵ mide el coste real desde el nodo n hasta el nodo meta más cercano h * :N ℵ es una función heurística que estima el valor de h(n) una función heurística h * es optimista, si h * (n) h(n) para todo nodo n Ejemplos de funciones heurísticas optimistas: mundo de los bloques: número de bloques descolocados encontrar rutas: distancia en línea recta hasta un nodo meta

62 Función heurística para encontrar rutas O Z S R T 111 L M 75 D P 138 F G 90 N 85 U I 92 V 98 H 86 E h * D 242 E 161 F 178 G 77 H 151 I 226 L 244 M 241 N 234 O 380 P 98 R 193 S 253 T 329 U 80 V 199 Z 374

63 úsqueda avara úsqueda avara: Inglés: greedy search Idea: Estrategia: lgoritmo: minimizar el coste estimado para llegar a la meta Entre las hojas del árbol de búsqueda, seleccionar el nodo que minimice h * (n) mantener la lista abierta ordenada por valores crecientes de h * insertar nuevos nodos en abierta según sus valores h * {búsqueda avara} abierta s 0 Repetir Si vacía?(abierta) entonces devolver(negativo) nodo primero(abierta) Si meta?(nodo) entonces devolver(nodo) sucesores expandir(nodo) Para cada n sucesores hacer n.padre nodo ordinsertar(n,abierta,h * ) Fin {repetir}

64 Ejemplo 1: búsqueda avara h * = 366 S h * = 253 T h * = 329 Z h * = 374 F O R h * = 366 h * = 178 h * = 380 h * = 193 S h * = 253 h * =0 Solución subóptima: c(-s-f-) = 450 c(-s-r-p-) = 418

65 Ejemplo 2: búsqueda avara Ejemplo: Nodo inicial: I (Iasi) Nodo meta: F (Fagaras) h F * estima la distancia hasta F h F * F 0 I 226 N 201 V h F * = 226 N V h F * =246 h F * = 201 h F * = 226 N V h F * =246 h F * = 201 h F * =

66 úsqueda avara: análisis nálisis: en general, la búsqueda avara sufre los mismos problemas que la búsqueda en profundidad no es óptima (ejemplo 1) no es completa (ejemplo 2) sin embargo, suele encontrar una solución aceptable de forma rápida omentarios: problema fundamental de la búsqueda avara: sólo considera el coste para llegar al nodo actual no se fija en la distancia restante desde el nodo actual para asegurar la completitud habría que evitar todos los estados repetidos el método es óptimo sólo en aquellos espacios de estados en los que el coste de un nodo n es independiente del camino por el que se llega hasta él

67 Ejercicio 2.8 Problema de las 4 reinas: 4 reinas en un tablero 4x4 estados: casillas de las 4 reinas metal?: ninguna reina amenazada op.: mover una reina a otra casilla de su misma fila coste: el coste de cada op. es cero estado inicial: Nótese: dado que el coste de cada operador es 0, el camino por el cual se llega a un nodo no importa, siempre que al final se encuentre un nodo meta (ninguna reina esta amenazada) a) encuentre una heurística h * para el problema de las 4 reinas b) resuelve el problema aplicando la búsqueda avara con dicho heurística h * omentario: si concebimos cada fila como una variable, podemos replantear el ejercicio como un problema de satisfacción de restricciones

68 úsqueda * Idea: minimizar el coste estimado total de un camino en el árbol de búsqueda combinar el coste para llegar al nodo n (se conoce exactamente: g), y el coste aproximado para llegar a un nodo meta desde el nodo n (estimado por la función heurística h * ) Función heurística de * : f (n) = g(n) + h(n): coste real del plan de mínimo coste que pasa por n f * (n) = g(n) + h * (n): estimación de f Estrategia * : entre las hojas del árbol de búsqueda, elegir el nodo de valor f * mínimo

69 El lgoritmo * {*} lgoritmo * : se basa en la búsqueda general almacenar el valor g de cada nodo expandido mantener la lista abierta ordenada por valores crecientes de f * insertar nuevos nodos en abierta según sus valores f * abierta s 0 Repetir Si vacío?(abierta) entonces devolver(negativo) nodo primero(abierta) Si meta?(nodo) entonces devolver(nodo) sucesores expandir(nodo) Para cada n sucesores hacer n.padre nodo ordinsertar(n,abierta, f * ) Fin {repetir}

70 Ejemplo 1: úsqueda * f * = = 366 S f * = T f * = f * = = 393 = 447 Z = 449 f * = = 646 F O R f * = = 417 f * = = 671 f * = = 413 S f * = = 591 f * = = 450 f * = P f * = S f * = = 526 = 415 = 533 f * = = 607 f * = = 615 R f * = = 418

71 Ejemplo 2: úsqueda * Ejemplo: Nodo inicial: I (Iasi) / nodo meta: F (Fagaras) h F * estima la distancia hasta F f F * = = 226 h F * 180 F 0 I 226 N 201 U 151 V N f * V f * F = F = = 288 = 338 f F * = = 400 U f * I f * F = F = = 385 = 410 f * = = f * = = 499 V H f * = = 682

72 Valores de f * en árboles de búsqueda * Posibles tipos de variación de los valores de f * a lo largo de un camino desde la raíz hasta un nodo n j f * f * f * (n j ) f * (n j ) n 1 n j n 1 n j (a) variable (b) monótono creciente

73 Funciones heurísticas consistentes Definición: Si para todo nodo n i y todo sucesor n j de n i se cumple que h * (n i ) h * (n j ) c(n i,n j ) entonces h * es consistente Interpretación intuitiva: h * es consistente si cumple la desigualdad triangular c(n i,n j ) n i n j h * (n i ) h * (n j ) n g Nota: Si h * es consistente, entonces también es optimista

74 Monotonía de f * con función heurística consistente Lema 1: Si h * es consistente, entonces f * crece de forma monótona en todos los caminos del árbol de búsqueda, es decir: si n j es sucesor de n i, entonces f * (n j ) f * (n i ) Prueba: h * (n j ) h * (n i ) c(n i,n j ) h * (n j ) + g(n j ) h * (n i ) + g(n j ) c(n i,n j ) h * (n j ) + g(n j ) h * (n i ) + g(n i ) + c(n i,n j ) c(n i,n j ) f * (n j ) f * (n i )

75 Valores de f * en árboles de búsqueda * f * h * consistente f * h * consistente f * (n j ) f * (n j ) n 1 (a) variable n j n 1 n j (b) monótono creciente orolario 1: Sea n m el mejor nodo meta. Si h * es consistente, entonces el conjunto de nodos expandidos por el algoritmo * es {n i f * (n i ) f * (n m ) }

76 Lógica de la búsqueda * con función heurística consistente Z O 151 N 87 I T D S 80 R L 146 M P 138 F G U V 98 H 86 E f * = 380 f * = 400 f * = 420

77 Optimalidad de * Teorema 1: Si h * es consistente, entonces el método * es óptimo Prueba: 1. Debido a la consistencia de h *, la búsqueda se realiza por las curvas de nivel correspondientes a f * (lema 1). Se expanden sucesivamente los nodos de menor a mayor valor de f * 2. Por tanto, el primer nodo meta encontrado n tendrá el valor mínimo de f * (e.d. la misma argumentación que en el caso de la búsqueda de coste uniforme) 3. Un nodo meta con valor mínimo de f * también tiene el valor mínimo de g. f * (n ) = g(n )+ h* (n ) Si h * es consistente también es optimista, y entonces h * (n ) = 0 para todo nodo meta 4. En consecuencia, el camino en el árbol de búsqueda desde la raíz hasta el primer nodo meta n es de coste mínimo, y * es óptimo Nota: se puede demostrar el siguiente teorema más general: Si h * es optimista, entonces el método * es óptimo

78 ompletitud de * Teorema 2: Si h * es consistente, entonces el método * es completo Prueba: sea n g un nodo meta con f * (n g ) = k. Suponga que n g no es encontrado por el método * ya que el número de sucesores de un nodo es finito, debe haber un camino infinito p debido al lema 1 (monotonía de f * ) todos los nodos n i de p han de cumplir f * (n i ) k pero la secuencia de valores de g a lo largo de p no tiene límite (véase la prueba de completitud de la búsqueda de coste uniforme) por definición h * (n) 0, por lo que la secuencia de f * (n i ) = g(n i ) + h * (n i ) tampoco tiene límite para los nodos n i a lo largo de p contradicción; en consecuencia, el método * encuentra el nodo meta n g Nota: se puede demostrar que * es completo para cualquier función heurística positiva h *

79 Encontrar Funciones Heurísticas: prendizaje Idea: generar información heurística sobre la marcha realizar varias búsquedas (ligeramente diferentes) en el mismo dominio (p.e. siempre a ucarest, pero desde diferentes ciudades iniciales) En cada paso de una búsqueda, usar el coste real de un paso parar mejorar el valor de h * En la próxima búsqueda se utilizan los valores de h * actualizadas Método: Inicialmente, se realiza una búsqueda con h * (n) = 0 para todos los nodos n En cada paso de n i a n j : [ ] h * (n i ) min n j expandir(n i ) h* (n j ) + c(n i,n j ) l visitar un nodo por segunda vez, se utilizan los valores de h * actualizados Problema: Hay que almacenar los valores h * de todos los nodos en una tabla (memoria!) Inteligencia rtificial 3º ITIS

80 Ejemplo: * con prendizaje de una Función R O F f L *=220+0 f L *= 280 = f L *= 291 = = f L * = 0+0 = 0 f L * = = 239 Heurística S f L * = = 140 f L * = = 118 Z f L * = 75+0 = f S P f L *=366 L *=300 f L *= = = =366 L f L *=229+0 =229 Ejemplo: ir de a L Inicialmente h L *(n) = 0 para todo nodo n f L *= = S f L *= =377 Z f L *= = f O f L * = L *=146+0 = = 225 f S Z T f L *=268 L *=290 f L *= = = =379 n D E F G H I L M N O P R S T U V Z h L * Inteligencia rtificial 3º ITIS

81 Ejemplo: * con prendizaje de una Función f L *= = Z f L * = 0+71 = f L * = = Heurística S f L * = f L * = Z f L * = = 295 = 304 = 363 R O F f L *= = f L *= = 597 f L * = = L Ejemplo: ir de Z a L Inicialmente h L *(n) aprendido anteriormente O f L * = = 213 n D E F G H I L M N O P R S T U V Z h L * Z 151 f L *= =355 S ff L *= =302 = f L *=304+0 =304 f L *= =531 Inteligencia rtificial 3º ITIS

82 Ejemplo: * con prendizaje de una Función Heurística f L * = = S f L * = f L * = Z f L * = = 239 = 229 = L Ejemplo: ir de a L Inicialmente h L *(n) aprendido anteriormente 118 f L *=229+0 =229 f L *= =465 n D E F G H I L M N O P R S T U V Z h L * Inteligencia rtificial 3º ITIS

83 Encontrar de Funciones Heurísticas: Diseño El problema del 8-puzzle: Estado inicial Estados: posición de cada una de las piezas Operadores: oste: mover pieza adyacente a la posición del hueco de 2 a 4 operadores aplicables, según el estado La aplicación de cada operador vale una unidad Estado meta

84 Encontrar de Funciones Heurísticas: Diseño Estado inicial Problemas relajados: menos restricciones para cada operador h * : distancia h exacta en el problema relajado Puzzle: una pieza puede moverse de a... a) siempre 6 5 b) si está vació c) si es adyacente a Estado meta Funciones heurísticas: a) número de piezas descolocadas h a* (s 0 ) = 5 b) suma de saltos necesarios h b* (s 0 ) = 5 c) suma de las distancias de Manhattan h c* (s 0 ) = =7

85 Ejercicio 2.9 Estado inicial Estado meta Heurísticas * : onsidere el 8-puzzle cuyo estado inicial y estado meta se muestra al lado: a) desarrolle el árbol de búsqueda del algoritmo * usando la heurística h a * (número de piezas descolocadas) b)desarrolle el árbol de búsqueda del algoritmo * usando la heurística h c * (suma de distancias Manhattan) c) uál de las heurística expande menos nodos? Por qué? Puede sacar una conclusión general con respecto a la calidad de la funciones heurísticas?

86 alidad de las Funciones Heurísticas Definición: Sean h 1 * y h 2 * dos funciones heurísticas optimistas. h 1 * es más informada que h 2*, si para todo nodo n se cumple que Ejemplo: h 1* (n ) h 2 * (n ) en el 8-puzzle, h c * es más informada que h a * las piezas bien colocadas no cuenta en h a * ni en h c * la distancia Manhattan de cada pieza descolocada es al menos 1 en consecuencia, en toda posible configuración n del 8-puzzle la suma de las distancias distancias es igual o mayor que la suma de piezas descolocadas para todas las configuraciones n se cumple h c* (n ) h a * (n )

87 alidad de las Funciones Heurísticas Lema 2: Sean h 1 * y h 2 * dos funciones heurísticas consistentes. Si h 1 * es más informada que h 2*, entonces * (h 2 * ) expande al menos tantos nodos como * (h 1 * ) Prueba: 1. Para el mejor nodo meta n m se cumple que f * (n m ) = f 1* (n! m ) = f 2* (n m ) 2. Ya que h 1 * es más informada que h 2*, para todos los nodos n se cumple que h 1* (n ) h 2 * (n ), y por tanto f 1 * (n ) f 2 * (n ) 3. Por (1) y el orolario 1 se sigue que * (h 1 * ) expande todos los nodos n j con f 1* (n j ) f * (n m ) * (h 2 * ) expande todos los nodos n j con f 2* (n j ) f * (n m ) 4. Por (2), se verifica que f 1* (n j ) f * (n m ) f 2* (n j ) f * (n m ) 5. Por (3) y (4) se concluye que cualquier nodo expandido por * (h 1* ) también será expandido por * (h 2 * )

88 alidad de las Funciones Heurísticas Nota: Se puede demostrar que el lema 2 también se cumple si se asume sólo que h 1 * y h 2 * sean funciones heurísticas optimistas. onclusión: preferir grandes valores de h *, siempre que se mantenga optimista si hay varias funciones heurísticas optimistas: h * ( n) = max h * 1 ( n),h * * 2 ( n),,h m ( n) ( )

89 omplejidad de * El número de nodos expandidos por * depende de la precisión de h * : si h * (n) = h(n) para todos los nodos n: información completa: complejidad lineal ( sin contar la complejidad de computar h *!) calcular h * (n) suele equivaler a resolver el problema completo si h * (n) = 0 para todos los nodos n: * degenera a la búsqueda de coste uniforme resultados generales [Russell, pág. 101]: en el peor caso, * es lineal sólo si para todos los nodos n, h (n) h * (n) O(c) en el peor caso, * es polinomial sólo si para todos los nodos n, h (n) h * (n) O(log h(n)) en escenarios reales, el error heurístico h (n) h * (n) crece, al menos, de forma proporcional al coste h (n) aún así, suele haber una mejora notable en comparación con métodos no informados

90 Resultados experimentales omparación experimental: número de nodos expandidos en el problema del 8-puzzle varias profundidades d de la solución media sobre 100 instancias del problema

91 Resultados acerca de * : nálisis de * * es completo y óptimo para funciones heurísticas consistentes (optimistas) la complejidad en espacio y tiempo de * es proporcional al número de nodos expandidos * es de eficiencia óptima [véase Russell y Norvig] para todo heurística optimista h *, se verifica que no existe otro algoritmo que asegure optimalidad y a la vez garantice expandir menos nodos sin embargo, al igual que en el caso de la búsqueda en amplitud (véase la tabla correspondiente), en situaciones límite los problemas de espacio de * son más graves que los problemas de tiempo

92 ID * ID * : Iterative Deepening * (Korf 1985) Idea: aplicar búsqueda de profundización iterativa, pero en vez de usar sucesivos límites de profundidad, usar sucesivos límites f * Estrategia: usar inicialmente el valor f * de la raíz como limite f * realiza búsqueda en profundidad estándar hasta llegar al limite f * actual (es decir: los valores f * no influyen en el orden de expandir los nodos) curiosear encima del límite f * por el nodo con el siguiente valor f * más bajo repetir el proceso con dicho valor f * como nuevo limite f * aracterísticas: al igual que la búsqueda en profundidad, ID * desarrolla un camino actual sólo los nodos vecinos de dicho camino actual se mantienen en le memoria

93 úsqueda ID * : Ejemplo (1) límite f * = 366 f * = = 366 S f * = T f * = f * = = 393 = 447 Z = 449 f * = = 646 F O R f * = = 417 f * = = 526 f * = = 413 S f * = = 591 f * = = 450 f * = P f * = S f * = = 526 = 415 = 533 f * = = 607 f * = = 615 R f * = = 418

94 úsqueda ID * : Ejemplo (2) límite f * = 393 f * = = 366 S f * = T f * = f * = = 393 = 447 Z = 449 f * = = 646 F O R f * = = 417 f * = = 526 f * = = 413 S f * = = 591 f * = = 450 f * = P f * = S f * = = 526 = 415 = 533 f * = = 607 f * = = 615 R f * = = 418

95 úsqueda ID * : Ejemplo (3) límite f * = 413 f * = = 366 S f * = T f * = f * = = 393 = 447 Z = 449 f * = = 646 F O R f * = = 417 f * = = 526 f * = = 413 S f * = = 591 f * = = 450 f * = P f * = S f * = = 526 = 415 = 533 f * = = 607 f * = = 615 R f * = = 418

96 úsqueda ID * : Ejemplo (4) límite f * = 415 f * = = 366 S f * = T f * = f * = = 393 = 447 Z = 449 f * = = 646 F O R f * = = 417 f * = = 526 f * = = 413 S f * = = 591 f * = = 450 f * = P f * = S f * = = 526 = 415 = 533 f * = = 607 f * = = 615 R f * = = 418

97 úsqueda ID * : Ejemplo (5) límite f * = 417 f * = = 366 S f * = T f * = f * = = 393 = 447 Z = 449 f * = = 646 F O R f * = = 417 f * = = 526 f * = = 413 S f * = = 591 f * = = 450 f * = P f * = S f * = = 526 = 415 = 533 f * = = 607 f * = = 615 R f * = = 418

98 úsqueda ID * : Ejemplo (6) límite f * = 418 f * = = 366 S f * = T f * = f * = = 393 = 447 Z = 449 f * = = 646 F O R f * = = 417 f * = = 526 f * = = 413 S f * = = 591 f * = = 450 f * = P f * = S f * = = 526 = 415 = 533 f * = = 607 f * = = 615 R f * = = 418

99 lgoritmo ID * lgoritmo: un subprograma bp-limite-f que realiza búsqueda en profundidad hasta un límite f * dado devuelve el siguiente f * más bajo un subprograma ID* que actualiza el límite f * y detecta éxito/fallo {ID*} limite-f f*(s 0 ) Repetir limite-f bp-limite-f(limite-f) Si éxito ent. devolver(solución) Si limite-f = ent. devolver(fallo) Fin {repetir} {bp-limite-f} abierta s 0 f-siguiente Repetir Si vacia?(abierta) entonces devolver(f-siguiente) {fallo} nodo primero(abierta) Si meta?(nodo) entonces devolver(nodo) {éxito} sucesores expandir(nodo) Para cada n sucesores hacer Si f*(n ) límite-f entonces n.padre nodo ordinsertar(n,abierta,cabeza) Sino f-siguiente min(f-siguiente, f*(n )) Fin {repetir}

100 Ejercicio 2.10 lgoritmo ID * : plique el algoritmo ID * al problema del 8- puzzle del ejercicio 2.8. Simule a mano el proceso de búsqueda. uántos diferentes límites f * son explorados?

101 lgunos resultados sobre ID * : nálisis de ID * completo y óptimo para funciones heurísticas optimistas, al igual que * complejidad en espacio: δ : coste de un operador / m: mejor nodo meta / b: factor de ramificación / d: profundidad de m complejidad en tiempo: muchos valores diferentes de f * (p.e. búsqueda de rutas): puede elevar la complejidad en tiempo de * al cuadrado pocos valores diferentes de f * (p.e. 8 puzzle): proporcional a la complejidad en tiempo de * mejoras: equilibrar expansión repetida y uso de memoria SM * (Simplified Memory-bounded * ) [Russell 1992] RFS (Recursive est First Search) [Korf 1992]

102 Resumen Resultado clave: algoritmos * e ID * la información heurística puede mejorar la eficiencia de un método de búsqueda sin sacrificar su optimalidad Extensiones: úsqueda aproximada: acotar el espacio de búsqueda con información heurística fuerte (e.d. sacrificando las garantías de optimalidad y completitud búsqueda guiada por subobjetivos (island-driven search), búsqueda jerárquica, úsqueda en línea: engranar búsqueda (elección de acciones) y acción/percepción ejemplos búsqueda de horizonte (limited-horizon search), * en tiempo real (RT * ),

103 Tema 2: úsqueda 2. úsqueda 2.1. gentes de resolución de problemas 2.2. úsqueda no informada 2.3. úsqueda heurística 2.4. úsqueda multiagente

104 Resolución de problemas con múltiples agentes

105 gentes especializados Situación: Múltiples agentes de resolución de problemas actúan en el mismo entorno Las acciones de los demás agentes influyen en la medida de rendimiento de cada agente Ningún agente puede controlar las acciones de los demás agentes Hasta cierto punto, un agente puede predecir las acciones de los demás Tipos de problemas multiagente : Escenarios cooperativos: metas compartidas Escenarios parcialmente cooperativos: algunas metas compartidas, otras opuestas Escenarios antagónicos: metas opuestas

106 Ejemplo: el mundo síncrono de los bloques Dos agentes conviven en el mundo de los bloques: cada agente tiene sus propia situación meta los agentes evalúan la situación actual respecto a su distancia a su meta dicha distancia viene dada por el plan más corto que lleva a la meta del agente α 1 situación inicial α α 1 : 3 2 metas α distancia 2 distancia 4 ctuación simultánea: los agentes pueden actuar en paralelo (de modo síncrono) las acciones (planes) pueden ejecutarse simultáneamente, siempre que no accedan al mismo bloque a la vez el coste de un plan viene dado por el tiempo necesario para ejecutarlo

107 Escenarios cooperativos α 1 Estado inicial α 2 Estados meta α 2 α Potencial para la cooperación: metas compartidas: los dos agentes desean alcanzar la misma situación acuerdo respecto a realizar un plan conjunto P: un agente trabaja en la pila izquierda, y el otro simultáneamente el la pila derecha: P = ( [quitar(1), quitar(2)], [apilar(4,1), apilar(3,2)] ) los dos agentes sacan provecho si se ejecuta el plan conjunto

108 Escenarios antagónicos situación inicial metas α 1 α 2 α α Potencial para el conflicto: metas totalmente antagónicas: todos los bloques deben colocarse en sitios diferentes, dependiendo del agente no hay acuerdo, ni siquiera respecto a partes de un plan conjunto: P a1 = ( [apilar(2,1), NOP], [apilar(3,2), NOP] ) P a2 = ( [apilar(1,2), NOP], [apilar(4,1), NOP] ) todo lo que es bueno para a 1 es malo para a 2, y viceversa

109 Escenarios parcialmente cooperativos α 1 α α 1 metas α 2 situación inicial Potencial para la cooperación y el conflicto: metas parcialmente compartidas: los dos agentes desean que los bloques 1, 3 y 4 estén en la mesa, sin embargo a 1 prefiere que el bloque 2 esté encima de 3, mientras que a 2 prefiere que esté encima de 4 acuerdo sólo sobre partes de un plan conjunto P : P a1 = ( [quitar(5), quitar(6)], [quitar(4), quitar(3)], [apilar(2,3), NOP ] ) P a2 = ( [quitar(5), quitar(6)], [quitar(4), quitar(3)], [apilar(2,4), NOP ] ) los dos agentes sacan provecho si se ejecuta un plan conjunto, pero dependiendo del plan un agente gana más que otro

110 Escenarios antagónicos: Juegos Juegos: ejemplo clásico de escenarios antagónicos (juegos de suma nula) el escenario está totalmente definido por las reglas del juego, y los agentes jugadores los conocen completamente Tipos de juegos: número de jugadores : bipersonales (damas) / múltiples jugadores (Monopoly) elementos de azar: con elementos de azar (backgammon) / sin elementos de azar (damas) información: información perfecta (damas) / información incompleta (póker) juegos bipersonales con información perfecta y sin elementos de azar

111 Ejemplo: Tres en Raya Tres en Raya: dos jugadores (min y max) los jugadores van poniendo fichas en las casillas de un tablero 3x3 max usa las fichas X / min usa las fichas O una casilla puede contener como mucho una ficha Reglas: Inicialmente el tablero está vacío max empieza y los jugadores se van alternando en poner sus fichas max gana si obtiene una raya de tres fichas X min gana si obtiene una raya de tres fichas O si todas las casillas están ocupadas sin que haya una raya de 3 fichas del mismo tipo, hay empate gana max gana min empate

112 Modelo de juegos bipersonales onocimientos mínimos a priori de los agentes max y de min : s 0 posición inicial (estado inicial) expandir: s {s i1,..., s in } cjto. finito de posiciones sucesores terminal?: s true false prueba terminal U: s k, k R función parcial de utilidad del juego Nótese: la función expandir codifica las jugadas (acciones) permitidas en una posición s supone implícitamente que los jugadores se alternan en realizar las jugadas la función de utilidad está definida sólo en los estados terminales s juegos de suma nula: max gana si sólo si min pierde gana max: U(s) = + / gana min : U(s) = / empate: U(s) = 0

113 Ejemplo: Árbol de juego para Tres en Raya max min... max... min terminal 0 + utilidad

114 Árboles de juego Definición: Sea N un conjunto de nodos, E N N, L = { max, min }, y G = ( N, E, L ) un árbol etiquetado. G es un árbol de juego si G no es vacío la raíz está etiquetada max todos los sucesores de max son etiquetados min todos los sucesores de min son etiquetados max Observaciones: cada nivel del árbol de juego representa un ply (media jugada) en los nodos etiquetados max, es el turno del agente max en los nodos etiquetados min, es el turno del agente min las hojas de un árbol de juego (completamente desarrollado) representan las posiciones terminales del juego

115 Estrategias Problema del agente max: cómo determinar su mejor jugada? max podría aplicar métodos de búsqueda estándar, usando las posiciones en las que él gana como estados meta pero min no querría realizar las acciones que el plan de max prevé para él! Estrategia: define las jugadas de max para cada posible jugada de min un subárbol del árbol de juego Estrategia óptima (o racional) : la estrategia que implica el mejor resultado garantizado para max escenarios totalmente antagónicos con agentes racionales: max puede asumir que min hará lo mejor para sí mismo, lo que a su vez es lo peor para max la estrategia óptima para max es la estrategia minimax: maximizar la utilidad mínima en cada jugada

116 Ejemplo: estrategia minimax estrategia óptima: mejor jugada de max: a 1 max 0 a 1 a 2 a 3 min a 1,1 a 1,2 a 1,3 a 2,1 a 2,2 a 2,3 a 3,1 a 3,2 a 3,3 terminal utilidad

117 Método minimax Método Minimax: 1. Generar el árbol de juego completo 2. plicar la función de utilidad en cada nodo terminal 3. Propagar las utilidades hacia arriba en los nodos max, usar la utilidad máxima de los sucesores en los nodos min, usar la utilidad mínima de los sucesores 4. Eventualmente los valores de utilidad llegan al nodo raíz (max) 5. La jugada óptima de max es la que lleva al sucesor de utilidad máxima

Búsqueda no-informada

Búsqueda no-informada Inteligencia rtificial úsqueda no-informada Ingeniería Informática, 4º urso académico: 2011/2012 Profesores: Ramón Hermoso y Matteo Vasirani 1 Inteligencia rtificial Tema 2: gentes basados en úsqueda Resumen:

Más detalles

Búsqueda Heurística (1ª parte)

Búsqueda Heurística (1ª parte) Búsqueda Heurística (1ª parte) Ingeniería Informática, 4º Curso académico: 2011/2012 Profesores: Ramón Hermoso y Matteo Vasirani 1 Tema 2: Agentes basados en Búsqueda Resumen: 2. Agentes basados en búsqueda

Más detalles

Búsqueda en línea y Búsqueda multiagente

Búsqueda en línea y Búsqueda multiagente Búsqueda en línea y Búsqueda multiagente Ingeniería Informática, 4º Curso académico: 2011/2012 Profesores: Ramón Hermoso y Matteo Vasirani 1 Tema 2: Agentes basados en Búsqueda Resumen: 2. Agentes basados

Más detalles

Inteligencia Artificial

Inteligencia Artificial I.T. en Informática de Sistemas, 3º Curso académico: 2009/2010 Profesores: Sascha Ossowski y Ramón Hermoso 1 Tema 2: Búsqueda Resumen: 2. Búsqueda 2.1. Agentes de resolución de problemas 2.2. Búsqueda

Más detalles

Tema 2: Juegos unipersonales

Tema 2: Juegos unipersonales Tema : Juegos unipersonales Resumen:. Juegos unipersonales.. Representación básica.. Juegos con información completa.. Recursos limitados en juegos con información completa.. Juegos con información incompleta

Más detalles

Hoja de Problemas Tema 2 Búsqueda no-informada

Hoja de Problemas Tema 2 Búsqueda no-informada Ejercicio 1: 1.1. El enfoque de los Agentes Inteligentes concibe el objetivo de la Inteligencia Artificial como el intento de construir sistemas (a) (b) (c) (d) que actúen como las personas (tipo Eliza).

Más detalles

Algoritmos de búsqueda informada

Algoritmos de búsqueda informada Teoría 4: Algoritmos de búsqueda informada Sistemas Inteligentes Sistemas Inteligentes 1 Carreras: Ingeniería en Informática Ingeniería en Computación (Optativa) e-mail: lcagnina@unsl.edu.ar Departamento

Más detalles

Tema 2: Búsqueda. Formalización de la resolución de problemas Ejemplos Procedimiento general de búsqueda Estrategias de control Búsqueda heurística

Tema 2: Búsqueda. Formalización de la resolución de problemas Ejemplos Procedimiento general de búsqueda Estrategias de control Búsqueda heurística Tema 2: Búsqueda Formalización de la resolución de problemas Ejemplos Procedimiento general de búsqueda Estrategias de control Búsqueda heurística 1 Resolución de problemas: formalización CONCEPTO BÁSICO:

Más detalles

(b) Cuál es la desventaja principal de una heurística con aprendizaje? es más informada que otra función heurística optimista h 2 *?

(b) Cuál es la desventaja principal de una heurística con aprendizaje? es más informada que otra función heurística optimista h 2 *? UNIVERIDD REY JUN CRLO CURO 0-0 INTELIGENCI RTIFICIL Hoja de Problemas Tema Ejercicio : Conteste a las siguientes preguntas: (a) Cómo funciona una heurística con aprendizaje? olución: Una heurística con

Más detalles

Tema 2: Búsqueda. Resolución de problemas: formalización. Búsqueda en espacio de estados. Ejemplos. Búsqueda en espacio de estados.

Tema 2: Búsqueda. Resolución de problemas: formalización. Búsqueda en espacio de estados. Ejemplos. Búsqueda en espacio de estados. Tema 2: Búsqueda Formalización de la resolución de problemas Ejemplos Procedimiento general de búsqueda Estrategias de control Búsqueda heurística Resolución de problemas: formalización CONCEPTO BÁSICO:

Más detalles

Semana 4: Métodos de Búsqueda No informados. Prof. Oscar Benito Pacheco.

Semana 4: Métodos de Búsqueda No informados. Prof. Oscar Benito Pacheco. Semana 4: Métodos de Búsqueda No informados Prof. Oscar Benito Pacheco. Estrategias de Búsqueda Búsqueda No Informada Búsqueda Informada (Ciega) (Heurística) 1. Búsqueda preferente por amplitud 2. Búsqueda

Más detalles

Algoritmos de Búsqueda Informados. Tomas Arredondo Vidal 16/6/2010

Algoritmos de Búsqueda Informados. Tomas Arredondo Vidal 16/6/2010 Algoritmos de Búsqueda Informados Tomas Arredondo Vidal 16/6/2010 Algoritmos de Búsqueda Informados Contenidos Best-first search Greedy best-first search A * search Heurísticas Búsqueda local Best-first

Más detalles

Resolviendo Problemas Buscando Soluciones. Tomás Arredondo Vidal 16/6/2010

Resolviendo Problemas Buscando Soluciones. Tomás Arredondo Vidal 16/6/2010 Resolviendo Problemas Buscando Soluciones Tomás Arredondo Vidal 16/6/2010 Resolviendo Problemas Buscando Soluciones Contenidos Agentes que resuelven problemas Tipos de problemas Formulación de problemas

Más detalles

Búsqueda en espacio de estados

Búsqueda en espacio de estados Búsqueda en espacio de estados Departamento de Ciencias de la Computación e Inteligencia Artificial Universidad de Sevilla Abstracción Problema Representación como espacio de estados Implementación del

Más detalles

Búsqueda en espacio de estados

Búsqueda en espacio de estados Búsqueda en espacio de estados Departamento de Ciencias de la Computación e Inteligencia Artificial Universidad de Sevilla Inteligencia Artificial CCIA, US Búsqueda en espacio de estados IA 1 / 35 Metodología

Más detalles

Hoja de Ejercicios. Temas 1 y 2

Hoja de Ejercicios. Temas 1 y 2 Hoja de Ejercicios Temas 1 y 2 Ejercicio 1: Complete las siguientes frases con las alternativas especificadas. Si existen varias alternativas verdaderas, márquelas todas. 1.1. Cuál(es) de las siguientes

Más detalles

Inteligencia Artificial

Inteligencia Artificial Inteligencia Artificial II Resolución de problemas mediante búsquedas 3. Búsquedas informadas Dr. Edgard Iván Benítez Guerrero 1 Búsqueda informada o heurísticas La búsqueda no informada es ineficiente

Más detalles

Inteligencia Artificial

Inteligencia Artificial Inteligencia Artificial Tema 2 Búsquedas Dr. Jesús Antonio González Bernal Contenido Estructura General de un PSA (Problem Solving Agent) Formulación de un PSA Algoritmos de Búsqueda de Sl Soluciones Aplicaciones

Más detalles

3ra. Practica. Algoritmos de Búsqueda. Inteligencia Artificial Prácticas 2004/2005

3ra. Practica. Algoritmos de Búsqueda. Inteligencia Artificial Prácticas 2004/2005 3ra. Practica Algoritmos de Búsqueda Inteligencia Artificial Prácticas 2004/2005 Algoritmos de Búsqueda Algoritmos Básicos: (búsqueda no informada) Búsqueda preferente por amplitud Búsqueda preferente

Más detalles

Búsqueda Heurística III

Búsqueda Heurística III Búsqueda Heurística III Pedro Meseguer IIIA-CSIC Bellaterra, Spain pedro@iiia.csic.es Búsqueda heurística Búsqueda informada por la función heurística f(n) Algoritmos: esquema primero el mejor (best-first)

Más detalles

No se permiten libros ni apuntes. Ejercicio 1 Ejercicio 2 Ejercicio 3 Ejercicio 4 TOTAL NOTA

No se permiten libros ni apuntes. Ejercicio 1 Ejercicio 2 Ejercicio 3 Ejercicio 4 TOTAL NOTA Junio Duración: h Ejercicio Ejercicio Ejercicio Ejercicio TOTAL NOTA Ejercicio : [ puntos: respuesta acertada = +., respuesta incorrecta =.] Complete las siguientes frases y conteste a cada una con verdadero

Más detalles

Búsqueda Informada. Heurísticas

Búsqueda Informada. Heurísticas Búsqueda Informada Heurísticas Búsqueda informada: heurística Ejemplo de heurística para el problema del viajante de comercio Clasificación de heurísticas Ventajas de las heurísticas Aplicando heurísticas

Más detalles

Inteligencia Computacional

Inteligencia Computacional Inteligencia Computacional Búsqueda: sin información otros algoritmos, con información http://blancavg.com/tc3023/ Blanca A. Vargas Govea * blanca.vg@gmail.com * Agosto 17, 2012 B D A A C E B I I F C G

Más detalles

Inteligencia Artificial

Inteligencia Artificial Inteligencia Artificial Grupo PLG Universidad Carlos III de Madrid IA. 2008 Grupo PLG (UC3M) Inteligencia Artificial Inteligencia Artificial 1 / 70 Indice 1 Introducción 2 Búsqueda sin información Búsqueda

Más detalles

Métodos de Inteligencia Artificial

Métodos de Inteligencia Artificial Métodos de Inteligencia Artificial L. Enrique Sucar (INAOE) esucar@inaoep.mx ccc.inaoep.mx/esucar Tecnologías de Información UPAEP Búsqueda Representación Tipos búsquedas: Sin información Con información

Más detalles

Inteligencia Artificial II Unidad Plan 2010-Ingeniería en Sistemas Computacionales

Inteligencia Artificial II Unidad Plan 2010-Ingeniería en Sistemas Computacionales Inteligencia Artificial II Unidad Plan 2010-Ingeniería en Sistemas Computacionales Rafael Vázquez Pérez Unidad II:Técnicas de Búsqueda. 2.1. Solución de problemas con búsqueda. 2.2. Espacios de estados.

Más detalles

ALGORITMOS DE BÚSQUEDA. Ing. Ronald A. Rentería Ayquipa

ALGORITMOS DE BÚSQUEDA. Ing. Ronald A. Rentería Ayquipa ALGORITMOS DE BÚSQUEDA Algoritmos de Búsqueda Tipos Tipos de algoritmos de búsqueda ALGORITMOS DE BÚSQUEDA NO INFORMADA ALGORITMOS DE BÚSQUEDA HEURÍSTICA Búsqueda no informada Introducción Búsqueda no

Más detalles

Métodos de Búsqueda para juegos humano-maquina. PROF: Lic. Ana María Huayna D.

Métodos de Búsqueda para juegos humano-maquina. PROF: Lic. Ana María Huayna D. Métodos de Búsqueda para juegos humano-maquina PROF: Lic. Ana María Huayna D. Tópicos 1. Introducción 2. Juegos 3. Estrategias de Juego 4. Algoritmo Minimax 5. Algoritmo Poda Alfa-Beta 1.- Introducción

Más detalles

Estado 3.2 (coste = 9)

Estado 3.2 (coste = 9) Búsqueda heurística Fernando Berzal, berzal@acm.org Búsqueda heurística Búsqueda primero el mejor p.ej. búsqueda de coste uniforme [UCS] Heurísticas Búsqueda greedy El algoritmo A* Heurísticas admisibles

Más detalles

Inteligencia Artificial Búsqueda informada y exploración

Inteligencia Artificial Búsqueda informada y exploración Inteligencia Artificial Búsqueda informada y exploración Primavera 2008 profesor: Luigi Ceccaroni Introducción La búsqueda informada utiliza el conocimiento específico del problema. Puede encontrar soluciones

Más detalles

Inteligencia Artificial Búsqueda informada y exploración

Inteligencia Artificial Búsqueda informada y exploración Inteligencia Artificial Búsqueda informada y exploración Introducción La búsqueda informada utiliza el conocimiento específico del problema. Puede encontrar soluciones de una manera más eficiente. Una

Más detalles

Agentes que resuelven problemas

Agentes que resuelven problemas Agentes que resuelven problemas 1. Formulación de meta (decidir que estados son objetivo) y del problema (decidir que acciones y estados se van a considerar) 2. Buscar una solución (examinar posibles acciones

Más detalles

Solución de Problemas Mediante Búsqueda (2) Carlos Hurtado Depto de Ciencias de la Computación, Universidad de Chile

Solución de Problemas Mediante Búsqueda (2) Carlos Hurtado Depto de Ciencias de la Computación, Universidad de Chile Solución de Problemas Mediante Búsqueda (2) Carlos Hurtado Depto de Ciencias de la Computación, Universidad de Chile Manhattan Bike Curier (Acíclico) Ref. Curso IA U. of Toronto Algoritmo Genérico de Búsqueda

Más detalles

No se permiten libros ni apuntes. Ejercicio 1 Ejercicio 2 Ejercicio 3 Ejercicio 4 TOTAL NOTA

No se permiten libros ni apuntes. Ejercicio 1 Ejercicio 2 Ejercicio 3 Ejercicio 4 TOTAL NOTA PLLID: MR: o se permiten libros ni apuntes jercicio 1 jercicio 2 jercicio 3 jercicio 4 TTL T jercicio 1: [XX puntos: respuesta acertada = +2, respuesta incorrecta = 2] Complete las siguientes frases y

Más detalles

Curso /10/12. Inteligencia Artificial (30223) Lección 4. Búsqueda Informada. Índice. Descripción informal de la búsqueda en grafo

Curso /10/12. Inteligencia Artificial (30223) Lección 4. Búsqueda Informada. Índice. Descripción informal de la búsqueda en grafo Inteligencia Artificial (30223) Lección 4. Búsqueda Informada Curso 202-203 José Ángel Bañares 7/09/203. Dpto. Informática e Ingeniería de Sistemas. Índice Informada= Utiliza conocimiento problema Estrategias

Más detalles

Ejemplo. Ejemplo. 8-puzzle. Formulación de un Problema de Búsqueda. Inteligencia Artificial 2º cuatrimestre de Algoritmos de Búsqueda

Ejemplo. Ejemplo. 8-puzzle. Formulación de un Problema de Búsqueda. Inteligencia Artificial 2º cuatrimestre de Algoritmos de Búsqueda ormulación de un Problema de úsqueda lgoritmos de úsqueda onsideraciones de iseño e mplementación estado inicial conjunto de acciones Se usa el término operador para denotar la descripción de una acción

Más detalles

Solución de Problemas Mediante Búsqueda (1) Carlos Hurtado L. Depto de Ciencias de la Computación, Universidad de Chile

Solución de Problemas Mediante Búsqueda (1) Carlos Hurtado L. Depto de Ciencias de la Computación, Universidad de Chile Solución de Problemas Mediante Búsqueda (1) Carlos Hurtado L. Depto de Ciencias de la Computación, Universidad de Chile Contenido Solución de problemas mediante búsqueda Modelación de problemas como búsquedas

Más detalles

UNIVERSIDAD MAYOR DE SAN SIMÓN FACULTAD DE CIENCIAS Y TECNOLOGÍA INGENIERÍA DE SISTEMAS BÚSQUEDA PRIMERO EL MEJOR

UNIVERSIDAD MAYOR DE SAN SIMÓN FACULTAD DE CIENCIAS Y TECNOLOGÍA INGENIERÍA DE SISTEMAS BÚSQUEDA PRIMERO EL MEJOR UNIVERSIDAD MAYOR DE SAN SIMÓN FACULTAD DE CIENCIAS Y TECNOLOGÍA INGENIERÍA DE SISTEMAS BÚSQUEDA PRIMERO EL MEJOR INTEGRANTES: Caricari Cala Aquilardo Villarroel Fernandez Fructuoso DOCENTE: Lic. Garcia

Más detalles

Búsqueda con información, informada o heurística

Búsqueda con información, informada o heurística Búsqueda con información, informada o heurística Heurística Del griego heuriskein (encontrar, descubrir).» Arquímedes EUREKA!» Uso en IA 957, (G. Polya): Estudio de métodos para descubrir formas de resolución

Más detalles

Curso !"#$%#$!& Inteligencia Artificial (30223) Problemas resueltos. Índice. Problema del laberinto. ! Problema del laberinto

Curso !#$%#$!& Inteligencia Artificial (30223) Problemas resueltos. Índice. Problema del laberinto. ! Problema del laberinto Inteligencia rtificial (303) Problemas resueltos urso 01-013 José Ángel añares 1//013. Dpto. Informática e Ingeniería de Sistemas. Índice! Problema del laberinto! Puzzle de dos dimensiones! Misioneros

Más detalles

(e) Con la poda alfa-beta se eliminan nodos que nunca serán alcanzados

(e) Con la poda alfa-beta se eliminan nodos que nunca serán alcanzados Universidad Rey Juan Carlos Curso 2014 2015 Hoja de Problemas Tema 5 1. Cuáles de las siguientes afirmaciones acerca del algoritmo Minimax son ciertas (a) El algoritmo Minimax realiza una exploración primero

Más detalles

Estimar la adecuación de un nodo para ser expandido.

Estimar la adecuación de un nodo para ser expandido. Universidad Rey Juan Carlos Curso 2014 2015 Hoja de Problemas Tema 3 - Solución 1. Contesta a las siguientes preguntas: (a) Cuál es el objetivo de una función heurística aplicada a la búsqueda en el espacio

Más detalles

25/09/2014 BÚSQUEDA NO INFORMADA / BÚSQUEDA CIEGA INTRODUCCIÓN BÚSQUEDA SUPOSICIONES DEL ENTORNO FORMULAR-BUSCAR-EJECUTAR

25/09/2014 BÚSQUEDA NO INFORMADA / BÚSQUEDA CIEGA INTRODUCCIÓN BÚSQUEDA SUPOSICIONES DEL ENTORNO FORMULAR-BUSCAR-EJECUTAR BÚSQUEDA NO INFORMADA / BÚSQUEDA CIEGA M. en C. Arturo Rodríguez García INTRODUCCIÓN BÚSQUEDA Proceso en el cual un agente construye una secuencia de acciones para alcanzar un objetivo. SUPOSICIONES DEL

Más detalles

ALGORITMO MINIMAX. o Nodo: Representa una situación del juego. o Sucesores de un nodo: Situaciones del juego a las que se

ALGORITMO MINIMAX. o Nodo: Representa una situación del juego. o Sucesores de un nodo: Situaciones del juego a las que se ALGORITMO MINIMAX Algoritmo de decisión para minimizar la pérdida máxima aplicada en juegos de adversarios Información completa (cada jugador conoce el estado del otro) Elección del mejor movimiento para

Más detalles

(d) Puede haber estrategias que funcionan mejor que Minimax si el contrincante es

(d) Puede haber estrategias que funcionan mejor que Minimax si el contrincante es Universidad Rey Juan Carlos Curso 2014 2015 Hoja de Problemas Tema 5 1. Cuáles de las siguientes afirmaciones acerca del algoritmo Minimax son ciertas (a) El algoritmo Minimax realiza una exploración primero

Más detalles

Inteligencia Artificial FCC-BUAP. Esaú Villatoro Tello Alfonso Garcés Báez

Inteligencia Artificial FCC-BUAP. Esaú Villatoro Tello Alfonso Garcés Báez Inteligencia Artificial FCC-BUAP Esaú Villatoro Tello Alfonso Garcés Báez Agentes Inteligentes. Un agente es todo aquello que puede considerarse que percibe su ambiente mediante sensores y que responde

Más detalles

Búsqueda Informada. Algoritmos primero el mejor Algoritmos de búsqueda local

Búsqueda Informada. Algoritmos primero el mejor Algoritmos de búsqueda local Búsqueda Informada Algoritmos primero el mejor Algoritmos de búsqueda local Algoritmos primero el mejor Búsqueda primero el mejor Búsqueda Voraz A* Algoritmos primero el mejor Familia de algoritmos de

Más detalles

Búsqueda y resolución de problemas. Capítulo 3, Secciones 1 5 1

Búsqueda y resolución de problemas. Capítulo 3, Secciones 1 5 1 úsqueda y resolución de problemas apítulo 3, Secciones 1 5 apítulo 3, Secciones 1 5 1 ontenido gentes solucionadores de problemas Tipos de problemas Formulación de problemas Problemas de ejemplo lgoritmos

Más detalles

Planeación y Búsqueda. IA Planeación de Trayectorias y Métodos de Búsqueda

Planeación y Búsqueda. IA Planeación de Trayectorias y Métodos de Búsqueda IA Planeación de Trayectorias y Métodos de Búsqueda Planeación y Búsqueda Cuando se enfrenta uno a un problema que se resuelve por una búsqueda, se suelen presentar dos escenarios: El ambiente es estático

Más detalles

Tema 3: Técnicas básicas de búsqueda para la resolución de problemas

Tema 3: Técnicas básicas de búsqueda para la resolución de problemas Tema 3: Técnicas básicas de búsqueda para la resolución de problemas José Luis Ruiz Reina José Antonio Alonso Franciso J. Martín Mateos Departamento de Ciencias de la Computación e Inteligencia Artificial

Más detalles

Planeación de Trayectorias y Métodos de Búsqueda. Dr. Jesús Antonio González Bernal

Planeación de Trayectorias y Métodos de Búsqueda. Dr. Jesús Antonio González Bernal IA Planeación de Trayectorias y Métodos de Búsqueda Dr. Jesús Antonio González Bernal Planeación y Búsqueda Cuando enfrentamos un problema que se resuelve por una búsqueda, se suelen presentar dos escenarios:

Más detalles

4ta. Práctica. Búsqueda en árbol con contrincante: MiniMax con poda Alfa-Beta. Inteligencia Artificial Prácticas 2004/2005

4ta. Práctica. Búsqueda en árbol con contrincante: MiniMax con poda Alfa-Beta. Inteligencia Artificial Prácticas 2004/2005 4ta. Práctica Búsqueda en árbol con contrincante: MiniMax con poda Alfa-Beta Inteligencia Artificial Prácticas 2004/2005 Decisiones Perfectas en Juegos de DOS Participantes Definición de Juego Estado Inicial:

Más detalles

Algoritmos de búsqueda con espacio de memoria limitado

Algoritmos de búsqueda con espacio de memoria limitado Algoritmos de búsqueda con espacio de memoria limitado Los métodos de búsqueda por primero el mejor, tales como A, no escalan bien a grandes problemas de búsqueda debido a su consumo de memoria, mientras

Más detalles

Búsqueda con adversario. Representación del juego. Búsqueda con adversario. Notas. Uso: Decidir mejor jugada en cada momento para cierto tipo de

Búsqueda con adversario. Representación del juego. Búsqueda con adversario. Notas. Uso: Decidir mejor jugada en cada momento para cierto tipo de úsqueda con adversario ntroducción Uso: ecidir mejor jugada en cada momento para cierto tipo de juegos Hay diferentes tipos de juegos según sus características: umero de jugadores, toda la información

Más detalles

Búsqueda Heurística II

Búsqueda Heurística II Búsqueda Heurística II Pedro Meseguer IIIA-CSIC Bellaterra, Spain pedro@iiia.csic.es Algoritmos Algoritmo: procedimiento computacional que termina si en algún caso no termina, hay que especificarlo Características:

Más detalles

INTELIGENCIA ARTIFICIAL II

INTELIGENCIA ARTIFICIAL II ESCUELA SUPERIOR POLITÉCNICA AGROPECUARIA DE MANABÍ MANUEL FÉLIX LÓPEZ CARRERA INFORMÁTICA SEMESTRE SÉPTIMO PERIODO ABR. /SEP.-2015 INTELIGENCIA ARTIFICIAL II TEMA: RESUMEN#4: FUNCIONES HEURÍSTICAS AUTORA:

Más detalles

Sistemas Inteligentes I Tema 3. Juegos José A. Montenegro Montes

Sistemas Inteligentes I Tema 3. Juegos José A. Montenegro Montes Sistemas Inteligentes I Tema 3. Juegos José A. Montenegro Montes monte@lcc.uma.es Resumen! Juegos! Algoritmo Minimax! Poda Alfa-Beta! Funciones de Evaluación Juegos! Entornos multiagente, donde cada agente

Más detalles

Tema 4: Búsqueda informada mediante técnicas heurísticas

Tema 4: Búsqueda informada mediante técnicas heurísticas Tema 4: Búsqueda informada mediante técnicas heurísticas José Luis Ruiz Reina José Antonio Alonso Franciso J. Martín Mateos 1 Departamento de Ciencias de la Computación e Inteligencia Artificial Universidad

Más detalles

Descubrir los árboles como paradigma de los tipos Recursivos de Datos

Descubrir los árboles como paradigma de los tipos Recursivos de Datos TEMA 5 ÁRBOLES(*) Una de las estructuras las datos más importantes y prominentes que existen es el árbol. No es un árbol en el sentido botánico de la palabra, sino uno de naturaleza más abstracta. Todos

Más detalles

RESOLUCIÓN DE PROBLEMAS, BÚSQUEDA. Ing. Ronald A. Rentería Ayquipa

RESOLUCIÓN DE PROBLEMAS, BÚSQUEDA. Ing. Ronald A. Rentería Ayquipa RESOLUCIÓN DE PROBLEMAS, BÚSQUEDA Introducción Resolución de Problemas La resolución de problemas es una capacidad que consideramos inteligente Somos capaces de resolver problemas muy diferentes Encontrar

Más detalles

25/09/2014 BÚSQUEDA INFORMADA BÚSQUEDA VORAZ PRIMERO EL MEJOR (BÚSQUEDA ÁVARA / BÚSQUEDA PRIMERO EL MEJOR) EJEMPLO BÚSQUEDA VORAZ

25/09/2014 BÚSQUEDA INFORMADA BÚSQUEDA VORAZ PRIMERO EL MEJOR (BÚSQUEDA ÁVARA / BÚSQUEDA PRIMERO EL MEJOR) EJEMPLO BÚSQUEDA VORAZ Galadriel a Frodo, en El señor de los anillos: BÚSQUEDA INFORMADA M. en C. Arturo Rodríguez García Te entrego la luz de Eärendil, nuestra más preciada estrella, que ella te ilumine en los lugares más oscuros

Más detalles

(e) Con la poda alfa-beta se eliminan nodos que nunca serán alcanzados

(e) Con la poda alfa-beta se eliminan nodos que nunca serán alcanzados Universidad Rey Juan Carlos Curso 2014 2015 Hoja de Problemas Tema 5 1. Cuáles de las siguientes afirmaciones acerca del algoritmo Minimax son ciertas (a) El algoritmo Minimax realiza una exploración primero

Más detalles

Inteligencia Artificial

Inteligencia Artificial Inteligencia Artificial Tema 2 Búsquedas Ivan Olmos Pineda Contenido Estructura General de un PSA Formulación de un PSA Algoritmos de Búsqueda de Soluciones Aplicaciones BUAP Inteligencia Artificial 2

Más detalles

Apellidos:... Nombre:... Ejercicio 1 (Cuestiones) [2 puntos] Responder a las siguientes cuestiones de manera clara y concisa:

Apellidos:... Nombre:... Ejercicio 1 (Cuestiones) [2 puntos] Responder a las siguientes cuestiones de manera clara y concisa: Inteligencia Artificial I (5 Febrero 2008) Apellidos:... Nombre:... Ejercicio 1 (Cuestiones) [2 puntos] Responder a las siguientes cuestiones de manera clara y concisa: 1. Consideremos el siguiente puzle:

Más detalles

Resumen de las clases dictadas: Semana 16 al 20 de Noviembre INTRODUCCIÓN

Resumen de las clases dictadas: Semana 16 al 20 de Noviembre INTRODUCCIÓN Resumen de las clases dictadas: Semana 16 al 20 de Noviembre 2015 Tema: Algoritmo Minimax 1. INTRODUCCIÓN En este tema se tratará sobre el algoritmo minimax, con el propósito de mostrar implementaciones

Más detalles

INGENIERÍA EN SISTEMAS Y COMUNICACIONES

INGENIERÍA EN SISTEMAS Y COMUNICACIONES INGENIERÍA EN SISTEMAS Y COMUNICACIONES UDA: INTELIGENCIA ARTIFICIAL TEMA: RESOLUCIÓN DE PROBLEMAS ESTRATEGIAS DE BÚSQUEDA Y CONTROL E L A B O R Ó : D R. E N C. H É C T O R R A F A E L O R O Z C O A G

Más detalles

Ejercicio 1: [20 puntos: respuesta acertada = +1, respuesta incorrecta = 1]

Ejercicio 1: [20 puntos: respuesta acertada = +1, respuesta incorrecta = 1] Ejercicio 1: [20 puntos: respuesta acertada = +1, respuesta incorrecta = 1] Complete las frases que se muestran a continuación con las alternativas especificadas. En la siguiente tabla, indique "V" o "F"

Más detalles

Universidad Nacional de Educación a Distancia Ingeniería Técnica en Informática de Sistemas Introducción a la Inteligencia Artificial (2º curso)

Universidad Nacional de Educación a Distancia Ingeniería Técnica en Informática de Sistemas Introducción a la Inteligencia Artificial (2º curso) Universidad Nacional de Educación a Distancia Ingeniería Técnica en Informática de Sistemas Introducción a la Inteligencia Artificial (2º curso) Soluciones exámenes junio 2010 Semana 1. Ejercicio 1. (Valoración:

Más detalles

IV. Métodos de Búsqueda Estudiaremos los métodos de búsqueda para resolver problema de la IA

IV. Métodos de Búsqueda Estudiaremos los métodos de búsqueda para resolver problema de la IA IV. Métodos de Búsqueda Estudiaremos los métodos de búsqueda para resolver problema de la IA 1 4. Métodos de Búsqueda Tópicos Métodos de búsqueda Árbol de estado Métodos a ciegas Función evaluadora Métodos

Más detalles

1. Cuáles de las siguientes afirmaciones acerca del algoritmo Q-learning son ciertas

1. Cuáles de las siguientes afirmaciones acerca del algoritmo Q-learning son ciertas Universidad Rey Juan Carlos Curso 2014 2015 Hoja de Problemas Tema 12 1. Cuáles de las siguientes afirmaciones acerca del algoritmo Q-learning son ciertas (a) Para garantizar la convergencia de los valores

Más detalles

Búsqueda con adversario

Búsqueda con adversario Introducción Búsqueda con adversario Uso: Decidir mejor jugada en cada momento para cierto tipo de juegos Hay diferentes tipos de juegos según sus características: Numero de jugadores, toda la información

Más detalles

INTELIGENCIA EN REDES DE COMUNICACIONES

INTELIGENCIA EN REDES DE COMUNICACIONES INTELIGENCIA EN REDES DE COMUNICACIONES JUEGOS CON ADVERSARIO ALGORITMO MINIMAX PODA ALFA BETA OTRAS MEJORAS ANA BEATRIZ SOLANA SÁNCHEZ JUEGOS BIPERSONALES Este tipo de juegos los podemos definir como:

Más detalles

INTELIGENCIA ARTIFICIAL II

INTELIGENCIA ARTIFICIAL II ESCUELA SUPERIOR POLITÉCNICA AGROPECUARIA DE MANABÍ MANUEL FÉLIX LÓPEZ CARRERA INFORMÁTICA SEMESTRE SÉPTIMO PERIODO ABR. /SEP.-2015 INTELIGENCIA ARTIFICIAL II TEMA: RESUMEN#2: - OTROS ALGORITMOS DE BÚSQUEDA

Más detalles

Planteamiento General

Planteamiento General Algoritmos de Ramificación y Poda Ejemplos de Aplicación Problema de la Mochila entera Problema del Rompecabezas Problema de la Asignación Problema del Viajante Se aplica a problemas que cumplen: Se puedan

Más detalles

Fundamentos de Inteligencia Artificial

Fundamentos de Inteligencia Artificial Fundamentos de Inteligencia Artificial Búsqueda con Adversario Hugo Vega Huerta En esta sección Conoceremos métodos que permiten practicar juegos de tablero. una opción conduce a otra, pero se trata de

Más detalles

Resolución de problemas de búsqueda

Resolución de problemas de búsqueda Resolución de problemas de búsqueda Memoria de Prácticas de Segunda Entrega 26 de noviembre de 2007 Autores: Mariano Cabrero Canosa cicanosa@udc.es Elena Hernández Pereira elena@udc.es Directorio de entrega:

Más detalles

Análisis de algoritmos

Análisis de algoritmos Tema 02: Complejidad de los algoritmos M. en C. Edgardo Adrián Franco Martínez http://www.eafranco.com edfrancom@ipn.mx @edfrancom edgardoadrianfrancom 1 Contenido Algoritmo Algoritmo vs. Proceso Computacional

Más detalles

Universidad Nacional de Educación a Distancia. Ingeniería Técnica en Informática de Sistemas. Introducción a la Inteligencia Artificial (2º curso)

Universidad Nacional de Educación a Distancia. Ingeniería Técnica en Informática de Sistemas. Introducción a la Inteligencia Artificial (2º curso) Universidad Nacional de Educación a Distancia Ingeniería Técnica en Informática de Sistemas Introducción a la Inteligencia Artificial (2º curso) Soluciones exámenes septiembre 2010 Ejercicio 1. (Valoración:

Más detalles

Búsqueda en e.e. --> reglas para elegir entre las ramas que con más probabilidad lleven a la solución.

Búsqueda en e.e. --> reglas para elegir entre las ramas que con más probabilidad lleven a la solución. BÚSQUEDA HEURÍSTICA estudio de los métodos y reglas del descubrimiento y la invención. Búsqueda en e.e. --> reglas para elegir entre las ramas que con más probabilidad lleven a la solución. Situaciones

Más detalles

BÚSQUEDA. Vicente Martínez Orga

BÚSQUEDA. Vicente Martínez Orga BÚSQUEDA Vicente Martínez Orga vicente.martinez@upm.es Departamento de Inteligencia Artificial Facultad de Informática Universidad Politécnica de Madrid Campus de Montegancedo sn, 28660 Boadilla del Monte,

Más detalles

JUEGOS. Área de aplicación de los algoritmos heurísticos Juegos bi-personales: oponente hostil

JUEGOS. Área de aplicación de los algoritmos heurísticos Juegos bi-personales: oponente hostil JUEGOS Área de aplicación de los algoritmos heurísticos Juegos bi-personales: oponente hostil I Oponente: Jugador: intenta mover a un estado que es el peor para Etiquetar cada nivel del espacio de búsqueda

Más detalles

Inteligencia Artificial

Inteligencia Artificial Inteligencia Artificial II Resolución de problemas mediante búsquedas 1. Introducción Dr. Edgard Iván Benítez Guerrero cursofei@gmail.com 1 1. Introducción Agentes solucionadores de problemas Problemas

Más detalles

Francisco J. Hernández López

Francisco J. Hernández López Francisco J. Hernández López fcoj23@cimat.mx Sus aristas son pares de vértices no ordenados, es decir si hay un camino del vértice i al vértice j, será exactamente el mismo camino del vértice j al vértice

Más detalles

Algoritmos para caminos más cortos (2) comp-420

Algoritmos para caminos más cortos (2) comp-420 lgoritmos para caminos más cortos (2) comp-420 lgoritmo * escrito totalmente en 1968 por Peter art, Nils Nilsson y ertram Raphael. n 1964 Nils Nilsson inventó un método que utiliza una heurística para

Más detalles

III. Búsqueda en un espacio de Estado Estudiaremos la formulación de un problema de la IA como un problema de Búsqueda en un Espacio de Estado

III. Búsqueda en un espacio de Estado Estudiaremos la formulación de un problema de la IA como un problema de Búsqueda en un Espacio de Estado III. Búsqueda en un espacio de Estado Estudiaremos la formulación de un problema de la IA como un problema de Búsqueda en un Espacio de Estado 1 3. Búsqueda en un Espacio de Estado Problema de IA Problema

Más detalles

Resolviendo Modelos de Mapas

Resolviendo Modelos de Mapas Resolviendo Modelos de Mapas SMMC Prof. Teddy Alfaro Resolviendo Mapas o Grafos Entre las técnicas completas más utilizadas para resolver la ruta más corta se encuentran BFS Backtracking Dijkstra A* Uso

Más detalles

Grafos Eulerianos y Hamiltonianos. Algoritmos y Estructuras de Datos III

Grafos Eulerianos y Hamiltonianos. Algoritmos y Estructuras de Datos III Grafos Eulerianos y Hamiltonianos Algoritmos y Estructuras de Datos III Grafos eulerianos Definiciones: Un circuito C en un grafo (o multigrafo) G es un circuito euleriano si C pasa por todos las aristas

Más detalles

22 de diciembre de 2008

22 de diciembre de 2008 Grupo de Planificación y Aprendizaje (PLG) Departamento de Informática Escuela Politécnica Superior Universidad Carlos III de Madrid 22 de diciembre de 2008 Grupo de Planificación y Aprendizaje (PLG) Departamento

Más detalles

22 de diciembre de 2008

22 de diciembre de 2008 de dos agentes Grupo de Planificación y Aprendizaje (PLG) Departamento de Informática Escuela Politécnica Superior Universidad Carlos III de Madrid 22 de diciembre de 2008 de dos agentes de dos agentes

Más detalles

Conceptos de Inteligencia Artificial & Sistemas Inteligentes Artificiales. Clase 12 CIA Clase 5 SIA Algoritmos genéticos Búsqueda adversaria

Conceptos de Inteligencia Artificial & Sistemas Inteligentes Artificiales. Clase 12 CIA Clase 5 SIA Algoritmos genéticos Búsqueda adversaria Conceptos de Inteligencia Artificial & Sistemas Inteligentes Artificiales Clase 12 CIA Clase 5 SIA Algoritmos genéticos Búsqueda adversaria Dr. Luciano H. Tamargo http://cs.uns.edu.ar/~lt Departamento

Más detalles

Metaheurísticas y heurísticas. Algoritmos y Estructuras de Datos III

Metaheurísticas y heurísticas. Algoritmos y Estructuras de Datos III Metaheurísticas y heurísticas Algoritmos y Estructuras de Datos III Metaheurísticas Heurísticas clásicas. Metaheurísticas o heurísticas modernas. Cuándo usarlas? Problemas para los cuales no se conocen

Más detalles

VivaMéxico sin PRI. Quiero que mi país sea de todos. Dr. Ivo H. Pineda Torres. Primavera Lllegó el calor sabroso

VivaMéxico sin PRI. Quiero que mi país sea de todos. Dr. Ivo H. Pineda Torres. Primavera Lllegó el calor sabroso VivaMéxico sin PRI Quiero que mi país sea de todos. Dr. Ivo H. Pineda Torres Facultad de Ciencias de la Computación Benemérita Universidad Autónoma de Puebla Primavera 2014. Lllegó el calor sabroso IMAGENESpemexmorena

Más detalles

Búsqueda Heurística. Branch and Bound, Best First Search A, A IDA Búsqueda local (Hill climbing, Simulated annealing, Alg.

Búsqueda Heurística. Branch and Bound, Best First Search A, A IDA Búsqueda local (Hill climbing, Simulated annealing, Alg. Introducción Búsqueda Heurística Supone la existencia de una función de evaluación que debe medir la distancia estimada al (a un) objetivo (h(n)) Esta función de evaluación se utiliza para guiar el proceso

Más detalles

Universidad Nacional de Educación a Distancia Ingeniería Técnica en Informática de Sistemas Introducción a la Inteligencia Artificial (2º curso)

Universidad Nacional de Educación a Distancia Ingeniería Técnica en Informática de Sistemas Introducción a la Inteligencia Artificial (2º curso) Universidad Nacional de Educación a Distancia Ingeniería Técnica en Informática de Sistemas Introducción a la Inteligencia Artificial (2º curso) Soluciones exámenes septiembre 2011 Ejercicio 1. (Valoración:

Más detalles

Búsqueda con adversario

Búsqueda con adversario Búsqueda con adversario José Luis Ruiz Reina José Antonio Alonso Jiménez Franciso J. Martín Mateos María José Hidalgo Doblado Dpto. Ciencias de la Computación e Inteligencia Artificial Universidad de Sevilla

Más detalles

B s ú que u da p rim i ero o e n n p rof o u f n u d n id i ad: E tr t ate t gia i L I L FO B s ú que u da p rim i ero o e n n a nc n h c u h r u a:

B s ú que u da p rim i ero o e n n p rof o u f n u d n id i ad: E tr t ate t gia i L I L FO B s ú que u da p rim i ero o e n n a nc n h c u h r u a: Búsqueda sin información Fernando Berzal, berzal@acm.org Búsqueda sin información Recorridos sobre grafos Búsqueda en anchura (BFS) Búsqueda en profundidad (DFS) Descenso iterativo (IDS) [ vuelta atrás

Más detalles