Eduardo Morales, Enrique Sucar
|
|
- Lucía Espejo Juárez
- hace 6 años
- Vistas:
Transcripción
1 Búsqueda Eduardo Morales, Enrique Sucar INAOE (INAOE) 1 / 147
2 Contenido (INAOE) 2 / 147
3 La solución de problemas está asociado a la inteligencia. El proceso normal de solución de problemas involucra: Identificación y definición del problema Identificación del criterio de evaluación Generación de alternativas Búsqueda de una solución y evaluación Selección de opción y recomendación Implementación En IA la solución es principalmente búsqueda y evaluación. (INAOE) 3 / 147
4 Búsqueda La búsqueda es necesaria en la solución de problemas y normalmente involucra introducir heurísticas. Las heurísticas son criterios, métodos, o principios para decidir cuál de varias alternativas de acción promete ser la más efectiva para cumplir con una meta. Representan un compromiso entre: (i) simplicidad y (ii) poder discriminatorio entre opciones buenas y malas. Las heurísticas no garantizan la acción más efectiva, pero muchas veces lo hacen. En problemas complejos, las heurísticas juegan un papel fundamental para reducir el número de evaluaciones y para obtener soluciones dentro de restricciones de tiempo razonables. (INAOE) 4 / 147
5 El problema de las 8 reinas Una posibilidad es lograr una solución incremental, acercándose a la meta poco a poco siguiendo una serie de decisiones locales Hay que asegurarse que la secuencia de transformaciones sea sistemática, para (i) no generar configuraciones repetidas y (ii) no excluir configuraciones deseables. Una forma de sistematizar la búsqueda es construyendo más que transformando configuraciones El hecho de que podamos sistematizar la búsqueda de esta forma es que no nos podemos recuperar de violaciones a restricciones mediante operaciones futuras. (INAOE) 5 / 147
6 El problema de las 8 reinas Posibles candidatos de heurísticas: 1 Preferir colocar reinas que dejen el mayor número de celdas sin atacar. En el ejemplo: heu1(a)=8, heu1(b)=9, heu1(c)=10. 2 Ver cuál es el menor número de celdas no atacadas en cada renglón y escoger la que su número menor sea mayor. En el ejemplo: heu2(a)=1, heu2(b)=1, heu2(c)=2 (INAOE) 6 / 147
7 El problema de las 8 reinas Q Q A B C Q A=8 B=9 C=10 Figure: El problema de las 8 reinas (INAOE) 7 / 147
8 El problema del 8-puzzle Figure: El problema del 8 puzzle (INAOE) 8 / 147
9 El problema del 8-puzzle Hacer búsqueda exhaustiva es impráctico Una posible regla es estimar qué tan cerca se está de la solución. Algunas heurísticas que se han usado para ésto son: 1 Contar el número de cuadros que no corresponden a la meta (sin contar el blanco). En el ejemplo: heu1(a)=2, heu1(b)=3, heu1(c)=4. 2 La suma de la distancia Manhattan de los cuadros que no corresponden a su lugar. En el ejemplo: heu2(a)=2, heu2(b)=4, heu2(c)=4. 3 Distancia del cuadro blanco al primer cuadro fuera de su lugar. En el ejemplo: heu3(a)=1, heu3(b)=1, heu3(c)=3. 4 Distancia entre la posición final del blanco y su posición actual. En el ejemplo: heu4(a)=2, heu4(b)=0, heu4(c)=2. (INAOE) 9 / 147
10 Encontrar la ruta más corta entre dos ciudades Dado un mapa con varias ciudades encontrar el camino más corto entre un par de ciudades. Pero si en lugar del mapa se nos dá informacíon de las distancias entre ciudades no es obvia la preferencia. Esto es porque en el mapa es posible estimar las distancias Euclideanas. Sin embargo, se pueden calcular las distancias a partir de las coordenadas de las ciudades, por lo que se puede usar esa información extra para determinar que acción tomar, en base a una estimación de lo que falta mas la distancia recorida. (INAOE) 10 / 147
11 El problema del agente viajero Encontrar el circuito más corto entre ciudades. C F B A D E Figure: El problema del agente viajero (INAOE) 11 / 147
12 El problema del agente viajero Es un problema NP-duro, por lo que se requiere de heurísticas adecuadas que acoten el problema. Si tenemos un pedazo de ruta, de las diferentes alternativas que existen en esa ruta la mejor es la que nos estime completar la menor ruta. Esa estimación puede ser difícil de hacer, pero si es optimísta (subestima consistentemente el costo real) entonces el que nos de la mejor estimación es el mejor. (INAOE) 12 / 147
13 Detectar la moneda falsa (12 monedas, pesando 3 veces) Supongamos que tenemos una moneda falsa (más/menos pesada) en un grupo de 12, una balanza y tres intentos para detectarla. Se requiere de una estrategia, o sea una descripción de qué hacer primero y en base al resultado obtenido qué hacer después y así sucesivamente. Cada acción requiere hacer una estimación de qué hacer para las 3 posibles situaciones. Por lo que el mérito de una acción depende de la combinación de los méritos de las 3 posibles acciones (regla de combinación). Una vez que se decide alguna alternativa, se necesita especificar qué subproblema tiene que ser considerado después. (INAOE) 13 / 147
14 Representación La representación que se usa para caracterizar un problema es fundamental para su solución. Los requerimientos necesarios para una representación de un problema de búsqueda son: 1 Una agenda que contiene conjuntos de soluciones potenciales 2 Un conjunto de operaciones o reglas que nos modifican los símbolos en la agenda 3 Una estrategia de búsqueda Por ejemplo, podemos jugar con un contrincante a seleccionar digitos en forma alternada, tratando de encontrar tres digitos que sumen 15. Si se usa un cuadro mágico y se juega gato el juego es trivial. (INAOE) 14 / 147
15 Representación Figure: El cuadro mágico (INAOE) 15 / 147
16 Búsqueda Clásica A B C S D E F 3 G (INAOE) 16 / 147
17 Búsqueda Clásica I A D B D A E C 11 E E B B F D 14 F M B C F M C 17 E F A C M M 25 (INAOE) 17 / 147
18 Búsqueda Clásica Propiedades de algoritmos de búsqueda (heurísticas): 1 Completo: un algoritmo se dice que es completo si encuentra una solución cuando ésta existe 2 Admisible: Si garantiza regresar una solución óptima cuando ésta existe (INAOE) 18 / 147
19 El orden en que la búsqueda se realiza no depende de la naturaleza de la solución buscada. La localización de la(s) meta(s) no altera el orden de expasión de los nodos. (INAOE) 19 / 147
20 Crea una agenda de un elemento (el nodo raíz) hasta que la agenda esté vacía o se alcance la meta si el primer elemento es la meta entonces acaba si no elimina el primer elemento y añade sus sucesores al de la agenda (INAOE) 20 / 147
21 Breadth first search (búsqueda a lo ancho) Crea una agenda de un elemento (el nodo raíz) hasta que la agenda esté vacía o se alcance la meta si el primer elemento es la meta entonces acaba si no elimina el primer elemento y añade sus sucesores al final de la agenda (INAOE) 21 / 147
22 Breadth first search (búsqueda a lo ancho) Breadth first es completo (encuentra una solución si existe) y óptimo (encuentra la más corta) si el costo del camino es una función que no decrece con la profundidad del nodo. Pero requiere de mucha memoria. Si se tiene un factor de arborecencia de b y la meta está a profundidad d, entonces el máximo número de nodos epandidos antes de encontrar una solución es: 1 + b + b 2 + b b d (INAOE) 22 / 147
23 Breadth first search (búsqueda a lo ancho) Profund. Nodos Tiempo Memoria miliseg. 100 bytes seg. 11 kilobytes 4 11, seg. 1 megabyte min. 111 megabytes hr. 11 gigabytes días 1 terabyte años 111 terabytes años 11,111 terabytes (INAOE) 23 / 147
24 Búsqueda de Costo Uniforme Una variante de breadth first es expander todos los nodos por costos. Si el costo es igual a la profunidad se tiene el mismo algoritmo. La búsqueda de costo uniforme encuentra la solución más barata si el costo nunca decrece al aumentar los caminos. costo(suc(n)) costo(n)) n (INAOE) 24 / 147
25 Depth first o Búsqueda en Profundidad (LIFO) Crea una agenda de un elemento (el nodo raíz) hasta que la agenda esté vacía o se alcance la meta si el primer elemento es la meta entonces acaba si no elimina el primer elemento y añade sus sucesores al frente de la agenda (INAOE) 25 / 147
26 Depth first o Búsqueda en Profundidad (LIFO) Depth first necesita almacenar un solo camino de la raíz a una hoja junto con los hermanos no expandidos de cada nodo en el camino. Por lo que con un factor de arborecencia de b y profundidad máxima de m, su necesidad de almacenamiento es a los más bm. Depth first no es ni completo ni óptimo y debe de evitarse en árboles de búsqueda de profunidad muy grande o infinita. (INAOE) 26 / 147
27 Backtracking Backtracking es una versión de depth first que aplica el criterio LIFO para generar más que para expander. Esto es, sólo se genera un sucesor a la vez. Su gran ventaja es su ahorro en memoria. Su gran desventaja es el no poder incluir información para evaluar cual de los sucesores es el mejor. Algunas modificaciones de backtracking regresan al nodo que ocaciona que se llegue a un punto sin salida (dependency directed backtracking). Backtracking también puede servir para problemas de (semi )optimización. Si mantenemos la solución más barata hasta el momento y usamos esa información para cortar caminos (asumiendo que el costo no decrece con la profunidad de la búsqueda). (INAOE) 27 / 147
28 Profundidad Limitada (depth limited) Para evitar caer en caminos de profunidad muy grande se impone un límite de profundidad máxima. Si se sabe la profundidad de alguna meta, el algoritmo puede ser completo, pero sigue sin ser óptimo. Cuando se tienen grafos altamente conectados hay que tener cuidado con el concepto de profundidad (una más que el padre menos profundo), se tienen que analizar todos los padres, lo cual implica mas memoria. En la práctica se puede tomar solo la profundidad del padre que lo generó haciendo una estrategia LIFO más pura. (INAOE) 28 / 147
29 Búsqueda de Profundidad Iterativa (iterative o progressive deepening) El problema con exigir un límite de profundidad, está precisamente en escoger un límite adecuado. Profundidad iterativa va aumentando gradualmente la profundidad hasta encontrar una meta. Es óptimo y completo como breadth first pero requiere de poca memoria como depth first. Por ejemplo, con un branching factor de 10 y con profundidad 5, los nodos expandidos serían , 000 = 111, 111, y con iterative deepending son: (d + 1)1 + (d)b + (d 1)db b d = , , , 000 = 123, % más de nodos. Entre más grande sea el factor de arborecencia, menor el trabajo extra. (INAOE) 29 / 147
30 Búsqueda Bidireccional Aquí la idea es explorar al mismo tiempo del estado inicial hacia la meta que de la meta hacia el estado inicial hasta que se encuentren en un estado. Cuando el factor de arborecencia es igual en ambos sentidos, se pueden hacer grandes ahorros. (INAOE) 30 / 147
31 Puntos a Considerar Cuando los operadores son reversibles, los conjuntos de predecesores y sucesores son iguales, pero en algunos casos calcular los predecesores puede ser muy difícil. Si hay muchas posibles metas explícitas, en principio se podría hacer la búsqueda hacia atrás a partir de cada una de ellas. Sin embargo, a veces las metas son sólo implícitas (e.g., jaque mate). Se necesita un método eficiente para revisar si un nuevo nodo aparece en la otra mitad de la búsqueda. Se tiene que pensar que tipo de búsqueda hacer en cada mitad (no necesariamente la misma es la mejor). (INAOE) 31 / 147
32 Comparación de Algoritmos Comparación de algoritmos. b = factor de arborescencia, d = profundidad de la solución, m = profundidad máxima, l = profundidad límite. Criterio Breadth Costo Depth Depth Itera. Bidir. first unif. first limited deep. Tiempo b d b d b m b l b d b d/2 Espacio b d b d b m b l b d b d/2 Optimo si si no no si si Completo si si no si (si l d) si si (INAOE) 32 / 147
33 Algoritmo Genérico con Crea una agenda de un elemento (el nodo raíz) hasta que la agenda esté vacía o se alcance la meta si el primer elemento es la meta entonces acaba si no elimina el primer elemento, añade sus sucesores a la agenda, ordena todos los elementos de la agenda (INAOE) 33 / 147
34 Hill Climbing Hill climbing es una estrategia basada en optimización local. Crea una agenda de un elemento (el nodo raíz) hasta que la agenda esté vacía o se alcance la meta si el primer elemento es la meta entonces acaba si no elimina el primer elemento, añade sus sucesores a la agenda, ordena todos los elementos de la agenda selecciona el mejor y elimina el resto (INAOE) 34 / 147
35 Hill-Climbing Problemas obvios: máximos/mínimos locales, valles y riscos Para salir de minimos/máximos locales o tratar de evitarlos con hill climbing a veces se empieza la búsqueda en varios puntos aleatorios (random restart hill climbing), salvando el mejor Dado su bajo costo computacional es la estrategia de búsqueda más utilizada en optimización y aprendizaje. (INAOE) 35 / 147
36 Best First Si el nodo que mejor evaluación recibe es el que se expande primero, entonces estamos haciendo best first. Crea una agenda de un elemento (el nodo raíz) hasta que la agenda esté vacía o se alcance la meta si el primer elemento es la meta entonces acaba si no elimina el primer elemento, añade sus sucesores a la agenda, ordena todos los elementos de la agenda (INAOE) 36 / 147
37 Best-First Más que estar expandiendo el mejor, se expande el que parece ser el mejor de acuerdo con nuestra función de evaluación. (INAOE) 37 / 147
38 Ejemplo (INAOE) 38 / 147
39 Ejemplo (INAOE) 39 / 147
40 Ejemplo Figure: Búsqueda Best first (INAOE) 40 / 147
41 Usando Costo Estimado El usar el costo acumulado (búsqueda de costo uniforme) no necesariamente guía la búsqueda hacia la meta. Para ésto, se utiliza una estimación del costo del camino del estado hacia una meta (h(n)). Esta estrategia (minimizar el costo estimado para alcanzar una meta) a veces se llama una estrategia greedy. La función de evaluación (h) puede ser lo que sea mientras h(n) = 0 si n es una meta. Debido a que guardan todos los nodos en memoria, su complejidad en espacio es igual a la del tiempo. (INAOE) 41 / 147
42 Híbridos Tres de las estrategias principales vistas: hill climning, backtracking y best first, se pueden ver como 3 puntos en un espectro continuo de estrategias, si las caracterizamos por: Recuperación de caminos sin salida Alcance de evaluación (número de alternativas consideradas) (INAOE) 42 / 147
43 Híbridos Capacidad Seleccion Todas Best-First Hill Climbing Backtracking Capacidad Recuperacion Figure: Algoritmos Híbridos (INAOE) 43 / 147
44 Híbridos Se puede hacer una combinación BF BT. Se aplica BF al principio hasta agotar la memoria, seguido de BT. Si BT no encuentra una solución, se considera otro nodo. Otra posibilidad es usar BT hasta cierta profundidad y luego emplear BF. Si no se llega a una solución hacemos backtracking y buscamos en otra zona. Esta segunda opción es más difícil de controlar que la primera, pero aplicar BF al final tiene la ventaja que BF se comporta mejor entre más informado esté (lo cual es más probable que ocurra en la parte inferior del árbol) (INAOE) 44 / 147
45 Híbridos Se puede tener una combinación de un BF local con un BT global. Se empieza con un BF con memoria limitada. Cuando se acaba la memoria, su lista de nodos en OPEN se toma como los sucesores directos del nodo de donde se partió (el nodo raíz la primera vez), los cuales se someten a un BT. Sin embargo, cada uno de ellos se expande usando un BF con memoria limitada. Si no se llega a la solución se hace backtracking a otro nodo. (INAOE) 45 / 147
46 Beam Search Crea una agenda de un elemento (el nodo raíz) hasta que la agenda esté vacía o se alcance la meta si el primer elemento es la meta entonces acaba si no elimina el primer elemento, añade sus sucesores a la agenda, ordena todos los elementos de la agenda y selecciona los k mejores (elimina los demás) (INAOE) 46 / 147
47 Beam Search Si k = 1 es como hill-climbing, si k es tan grande para considerar todos los nodos de la agenda es como best-first. (INAOE) 47 / 147
48 Beam-Search (INAOE) 48 / 147
49 Ejemplo Figure: Búsqueda Beam search con k = 2. (INAOE) 49 / 147
50 Branch and Bound Trabaja como best-first pero en cuanto se encuentra una solución sigue expandiendo los nodos de costos menores al encontrado Crea una agenda de un elemento (el nodo raíz) hasta que la agenda esté vacía o se alcance la meta y los demas nodos sean de costos mayores o iguales a la meta si el primer elemento es la meta y los demas nodos son de menor o igual costo a la meta entonces acaba si no elimina el primer elemento y añade sus sucesores a la agenda ordena todos los elementos de la agenda (INAOE) 50 / 147
51 Ejemplo (INAOE) 51 / 147
52 Ejemplo Figure: Búsqueda Branch and Bound (INAOE) 52 / 147
53 Dynamic Programming Idea: no explorar caminos a los que yá llegamos por caminos más cortos/baratos. El algoritmo es igual sólo hay que añadir la condición: elimina todos los caminos que lleguen al mismo nodo excepto el de menor costo (INAOE) 53 / 147
54 Ejemplo (INAOE) 54 / 147
55 Ejemplo (INAOE) 55 / 147
56 Ejemplo Figure: programación dinámica (INAOE) 56 / 147
57 A Búsqueda greedy minimiza h(n) reduciendo la búsqueda, pero no es ni óptima ni completa. Búsqueda de costo uniforme minimiza el costo acumulado g(n) y es completa y óptima, pero puede ser muy ineficiente. Se pueden combinar las dos sumandolas, usando para cada nodo la siguiente heurística: f (n) = g(n) + h(n). La estrategia se puede probar que es completa y óptima si h(n) nunca sobre estima el costo. Tal función se le conoce como una heurística admisible. Breadth first se puede ver como un caso especial de A si h = 0 y c(n, n ) = 1 para todos sus sucesores (el costo de ir de un nodo padre a un nodo hijo). Si h es admisible, f (n) nunca hace sobrestimaciones. (INAOE) 57 / 147
58 Algoritmo A Crea una agenda de un elemento (el nodo raíz) hasta que la agenda esté vacía o se alcance la meta y los demas nodos sean de costos mayores o iguales a la meta si el primer elemento es la meta y los demas nodos son de menor o igual costo a la meta entonces acaba si no elimina el primer elemento y añade sus sucesores a la agenda ordena todos los elementos de la agenda de acuerdo al costo acumulado más las subestimaciones de los que falta elimina todos los caminos que lleguen al mismo nodo, excepto el de menor costo (INAOE) 58 / 147
59 Ejemplo (INAOE) 59 / 147
60 Ejemplo Figure: Búsqueda A (INAOE) 60 / 147
61 Comparación Resultados promedios de 100 instancias del 8-puzzle. Costo de búsqueda Arborecencia efetiva d IDS A (h 1 ) A (h 2 ) IDS A (h 1 ) A (h 2 ) (INAOE) 61 / 147
62 Extensiones Pesar la combinación de g (lo que llevo) y de h (lo que me falta) Por ejemplo: f (n) = (1 w)g(n) + wh(n) w = o búsqueda de costo uniforme w = 1/2 A w = 1 BF Usar un peso dinámico que se ajusta con la profundidad, e.g.: f (n) = g(n) + h(n) + ɛ[1 d(n) N ]h(n) donde d(n) es la profundidad del nodo n y N la profundidad anticipada del nodo meta Se pueden usar otras posibles medidas no aditivas para h y g: e.g., multiplicativa. (INAOE) 62 / 147
63 Extensiones IDA, extensión natural de iteractive deepening con límite de costo iterativo Cuando se tienen muchas posibilidades más o menos todas del mismo costo, lo que se puede hacer es agruparlas todas en un mismo rango y sólo expander la mejor de acuerdo a cierta heurística Es como A, sólo que ahora se tienen dos listas: OPEN (como antes) y FOCAL OPEN, en donde se tienen todos los nodos que no se desvían de la mejor opción en más de ɛ. MA al llenar su memoria elimina el nodo de mayor costo de su agenda y propaga su costo a su nodo padre. (INAOE) 63 / 147
64 Extensiones Las evaluaciones en las heurísticas son estáticas. Una forma de mejorarlas es actualizarlas dinámicamente conforme se obtiene más informacón Algunas variantes incluyen (aunque existen otras): 1 Add method 2 Max method 3 Back-up method 4 Front-to-front method g(a) A h(a) B1 Diff(B1) g*(b1) h(b1) B2 Diff(B3) Meta e.g., Add B3 Diff(B2) (INAOE) 64 / 147
65 Búsqueda en grafos AND-OR Todas las estrategias vistas tienen su equivalente para árboles AND-OR Por ejemplo en depth-first: IF algún nodo AND falla realiza backtracking hasta el último nodo OR IF algún nodo OR falla realiza backtracking hasta el nodo inmediato anterior (INAOE) 65 / 147
66 AO (INAOE) 66 / 147
67 AO (INAOE) 67 / 147
68 AO (INAOE) 68 / 147
69 AO (INAOE) 69 / 147
70 AO (INAOE) 70 / 147
71 AO (INAOE) 71 / 147
72 AO (INAOE) 72 / 147
73 AO (INAOE) 73 / 147
74 Búsqueda en Prolog busca(nodoi,nodof) :- busca aux([nodoi],nodof). busca aux([nodof ],NodoF). busca aux(agenda,nodof) :- nva agenda(agenda,nagenda), busca aux(nagenda,nodof). (INAOE) 74 / 147
75 Búsqueda en Prolog % depth-first nva agenda([n1 Agenda],NAgenda) :- expande(n1,nodos), append(nodos,agenda,nagenda). % breadth-first nva agenda([n1 Agenda],NAgenda) :- expande(n1,nodos), append(agenda,nodos,nagenda). (INAOE) 75 / 147
76 Búsqueda en Prolog % best-first nva agenda([n1 Agenda],NAgenda) :- expande(n1,nodos), append(nodos,agenda,agendaint), sort(agendaint,nagenda). % hill-climbing nva agenda([n1 Agenda],[Mejor]) :- expande(n1,nodos), append(nodos,agenda,agendaint), sort(agendaint,[mejor ]). (INAOE) 76 / 147
77 Búsqueda en Prolog % beam search nva agenda(beam,[n1 Agenda],NAgenda) :- expande(n1,nodos), append(nodos,agenda,agendaint), sort(agendaint,agendaord), nthelems(beam,agendaord,nagenda). (INAOE) 77 / 147
78 Búsqueda en Lisp (defun busca(nodoi,nodof) (busca aux (list nodoi) nodof)) (defun busca aux(agenda nodof) (cond ((null agenda) nil) ((equal (car agenda) nodof)) (t (busca aux(nva agenda (car agenda) (cdr agenda)) nodof)))) (INAOE) 78 / 147
79 Búsqueda en Lisp ; breadth-dirst (defun nva agenda(nodo agenda) (append (expande nodo) agenda)) ; depth search (defun nva agenda(nodo agenda) (append agenda (expande nodo))) ; best-first (defun nva agenda(nodo agenda) (sort (append (expande nodo) agenda))) (INAOE) 79 / 147
80 Búsqueda en Lisp ; hill-climbing (defun nva agenda(nodo agenda) (list (car (sort (append (expande nodo) agenda))))) ; beam search (defun nva agenda(beam nodo agenda) (nthelems beam (sort (append agenda (expande nodo))))) (INAOE) 80 / 147
81 Muchas veces el costo de una solución exacta para un problema con menos restricciones o simplificado (relaxed) es una buena heurística para el problema original. Por ejemplo, podemos usar la notación de STRIPS para representar movimientos (INAOE) 81 / 147
82 La accción de mover un cuadro en el 8-puzzle usando notación de Strips. MUEVE(CuadroX,LugarY,LugarZ): Precondiciones: EN(CuadroX,LugarY), LIBRE(CuadroZ), ADY(CuadroY,CuadroZ) Añade: EN(CuadroX, LugarZ), LIBRE(LugarY) Elimina: EN(CuadroX,LugarY), LIBRE(LugarZ) (INAOE) 82 / 147
83 Si eliminamos las condiciones: LIBRE(CuadroZ), ADY(CuadroY,CuadroZ) nos queda un problema en donde cada cuadro se puede mover a cualquier otro. El número requerido de pasos para resolver este problema es igual al número de cuadros que no están en su lugar (h 1 ). Si sólo eliminamos LIBRE(CuadroZ), corresponde a intercambiar dos cuadros y nos dá la heurística h 2. Si eliminamos sólo ADY(CuadroY,CuadroZ), nos dá otra heurística que se introdujo 13 años después de las otras dos. (INAOE) 83 / 147
84 Si queremos añadir más posibilidades, podemos expresar relaciones, tales como ADJ en más simples, eg., VECINOS y MISMA LINEA. Eliminando una de las dos, dá nuevas heurísticas. Hay que tener cuidado, a veces el problema resultante puede ser más difícil de resolver. Si tenemos un conjunto de heurísticas admisibles lo mejor es hacer: h(n) = max(h 1 (n),..., h m (n)) con lo cual h domina a todas. Otra forma de inventar heurísticas es usando información estadística. Si nuestra heurística nos da un cierto valor diferente podemos usar ese otro valor. Esto deja de garantizar la admisibilidad, pero puede dar en promedio muy buenos resultados. (INAOE) 84 / 147
85 Meta = encontrar una secuencia de operadores que mapea el estado inicial a alguno de los estados finales. En muchos casos, algunas de las secuencias de operadores se repiten en problemas diferentes. Idea principal: juntar estas secuencias de operadores en macro operadores, chunks, etc. Considerar a los macros como operadores primarios para aumentar la velocidad de solución en problemas similares. (INAOE) 85 / 147
86 Los macros: Reducen la profundidad del árbol de búsqueda al considerar secuencias largas de operadores como una sola. Aumentan el branching factor. En el 8-puzzle, las 181,440 posiciones posibles, se pueden resolver sin búsqueda usando una tabla de 35 macros. (INAOE) 86 / 147
87 La tabla de macro operadores para el 8-puzzle se muestra en la siguiente tabla Cada operador es una secuencia de movimientos: up (U), down (D), left (L), right (R) de un cuadro. Para usarla se localiza el espacio (cuadro 0) y dependiendo de su posición se realizan los movimientos indicados en la columna de cuadro 0. Luego se sigue con el cuadro 1 y asi sucesivamente. Estos macros llegan a la posición final mostrada en la figura 2. (INAOE) 87 / 147
88 Macro operadores para el 8-puzzle (P = posición 0). P Cuadros UL 2 U RDLU 3 UR DLURRDLU DLUR 4 R LDRURDLU LDRU RDLLURDRUL 5 DR ULDRURD- LURDLDRU LDRULURDDLUR LDRUL 6 D URDLDRUL ULDDRU URDDLULDRRUL 7 DL RULDDRUL DRUULDRDLU RULDRDLUL- DRRUL 8 L DRUL RULLDDRU RDLULDRRUL (INAOE) 88 / 147
89 Tabla de macro operadores para el 8-puzzle (cont.) Pos Cuadros LURD 6 ULDR RDLLUURDLDRRUL 7 URDLULDR ULDRURDLLURD URDL 8 RULLDR ULDRRULDLURD RULD (INAOE) 89 / 147
90 En el cubo de Rubik ( ) se usan 238 macros. La descomposición de problemas en sub metas juega un papel fundamental en la creación de macros. El beneficio de los macros decae al incrementar su número (i.e., al resolver más problemas) y es necesario usar filtros de aplicabilidad. (INAOE) 90 / 147
91 Al aplicar los filtros hay que considerar que los macros no son unidades totalmente independientes. Se deben de considerar cuándo y bajo qué condiciones crear/eliminar macros En general los macros aprendidos y su filtrado dependen de la función de evaluación (heurística) que se usa durante la búsqueda de la solución del problema. (INAOE) 91 / 147
92 En general: Una buena función de evaluación requiere de un filtro agresivo. Con una mala función de evaluación los macors son indispensables y el filtro puede ser más laxo. Con una muy buena función de evaluación los macros no sirven. Se pueden utilizar en aprendizaje incremental. (INAOE) 92 / 147
93 Tarea Partiendo del siguiente estado inicial del 8-puzzle y con el siguiente estado final, realiza las siguientes estrategias de búsqueda: Breadth-first Best-first Hill-climbing (INAOE) 93 / 147
94 La habilidad de jugar es considerada como una distinción de inteligencia. Características: Fácil de crear situaciones complicadas con reglas sencillas. Se pueden probar contra humanos en donde existen escalas. Son adictivos. (INAOE) 94 / 147
95 Casi todos: 2 jugadores + información perfecta, aunque existen otros, por ejemplo: barajas, backgammon, etc. Con información perfecta: las reglas del juego determinan los posibles movimientos. A diferencia de búsqueda, el oponente introduce incertidumbre porque no sabemos qué va a tirar, lo cuál se asemeja más a problemas reales. (INAOE) 95 / 147
96 En un juego tenemos: Posición inicial. Conjunto de operadores (definen movidas legales). Estado terminal. Función de utilidad, e.g., gana, pierde, empata (pero puede haber más, por ejemplo en backgammon). (INAOE) 96 / 147
97 Los árboles de juegos tienen correspondencia con árboles AND OR (mis tiradas son OR, las del oponente son AND). Se require de una estrategia que garantice llegar a estados terminales ganadores independientemente de lo que haga el oponente. Los juegos, y el ajedrez en particular, han sido objeto de estudio por muchos años por los investigadores de Inteligencia Artificial. (INAOE) 97 / 147
98 MimiMax Shannon lo sugirió originalmente (50), basado en teoría de juegos de von Neumann y O. Morgenstern, aunque Turing presentó el primer programa (51). Idea: Maximizar mis tiradas considerando que el oponente va a minimizar. Para decidir qué jugada hacer, el árbol se divide por niveles: Max: El primer jugador (nivel) y todas las posiciones (niveles) donde juega. Min: El oponente y todas las posiciones en donde juega (INAOE) 98 / 147
99 Minimax Las hojas se etiquetan con gana, pierde, empata desde el punto de vista de max. Si podemos etiquetar todas las hojas, podemos etiquetar todo el árbol. La siguiente función calcula lo mejor que max puede esperar desde la posición J si juega de manera óptima contra un oponente perfecto. (INAOE) 99 / 147
100 Minimax Si J es nodo max no terminal: gana etiq(j) = pierde empata Si J es nodo min no terminal: gana etiq(j) = pierde empata si algún sucesor de J es gana si todos los sucesores son pierde si alguno empata y ninguno gana si todos los sucesores de J son gana si algún sucesor de J es pierde si alguno empata y ninguno pierde (INAOE) 100 / 147
101 Minimax W D W L W D W W D L D L W L W L L D MAX MIN MAX MIN L W L D W W L W MAX (INAOE) 101 / 147
102 Minimax Una estrategia para un jugador es un árbol considerando un camino para cada nodo del jugador y todos los posibles para el oponente. Desde el punto de vista de max: min tira hacia la estrategia menos favorable: min(estrategias) max trata de maximizar ésto: max(min(estrategias)) Si cambiamos los roles (tira min): min(max(estrategias)). Minimax propaga suponiendo que las estimaciones son correctas. Si la estimación es burda, la propagación también va a ser burda. (INAOE) 102 / 147
103 Negmax Negmax: Igual a minimax, pero la función de evaluación es simétrica, por lo que: gana etiq(j) = pierde empata si algún sucesor de J es pierde si todos los sucesores de J son gana cualquier otra situación status(j) = max J { status(j ) J es hijo de J} Lo que nos interesa son estrategias de juegos ganadoras sin importar lo que haga el oponente (min). (INAOE) 103 / 147
104 Tamaño Una de las motivaciones principales de investigación en juegos es que son difíciles de resolver. Ajedrez: branching factor 35, número promedio de jugadas por jugador 50, por lo que hay o hojas o nodos terminales (aunque sólo hay posiciones diferentes legales). Algunos autores sugieren 80 jugadas promedio por jugador y un árbol de búsqueda de (INAOE) 104 / 147
105 Tamaño Como no se puede evaluar/explorar todo el árbol, exploramos hasta cierta profundidad y usamos heurísticas (una función de evaluación estática). Suposición: Evaluando después de cierta exploración es mejor que evaluar sin exploración, bajo el supuesto que el mérito de una situación se clarifica al ir explorando. (INAOE) 105 / 147
106 La calidad del programa depende fundamentalmente de la función de evaluación. Tiene que ser: 1 Congruente con la función de utilidad de los nodos terminales, 2 Rápida de evaluar 3 Reflejar las posibilidades actuales de ganar. Una valor de la función de evaluación en realidad cubre muchas posibles posiciones. Si fuera perfecta, no tendríamos que hacer búsqueda. (INAOE) 106 / 147
107 El algoritmo minimax usa dos heurísticas: (i) cálculo de la función de evaluación y (ii) propagar valores hacia atrás suponiendo que los valores en los nodos de frontera son correctos. Si las estimaciones son burdas, también son los resultados. Muchas de las funciones de evaluación suponen independencia entre los factores y las expresan como funciones lineales con pesos: w 1 f 1 + w 2 f w n f n Para ésto, hay que encontrar los pesos y decidir qué factores a considerar. (INAOE) 107 / 147
108 Algunas estrategias de evaluación (tomadas de Deep Blue antes Deep Thought): Material: peón = 1, caballos y alfiles = 3, torre = 5, y reina = 9. Puede variar dependiendo de la situación (e.g., el mantener un par de alfiles al final del juego). Posición: Al principio se pensó que el control del centro era lo primordial. Aunque si es muy importante no es lo único. Una forma fácil de imaginarse posición es contanto el número de cuadros que se pueden atacar en forma segura. Entre más cuadros se tengan, se tiene más control. Defensa: Los aspectos defensivos de la posición tienen que ver con la seguridad del rey. Tempo: define la carrera por el control del tablero. (INAOE) 108 / 147
109 Minimax La mayoría de los programas usan variantes de minimax: (i) generar árbol hasta cierta profundidad y (ii) evaluar posiciones en nodos de frontera. El esfuerzo (dada una función de evaluación) es proporcional al número de nodos en la frontera que son evaluados. (INAOE) 109 / 147
110 Para determinar el valor minimax de J: V (J) si J es terminal, V (J) ev(j) sino genera los sucesores de J : J 1, J 2,..., J n evalua V (J 1 ), V (J 2 ),..., V (J n ) de izquierda a derecha si J es nodo max, V (J) max[v (J 1 ),..., V (J n )] si J es nodo min, V (J) min[v (J 1 ),..., V (J n )] (INAOE) 110 / 147
111 Minimax MAX MIN MAX (INAOE) 111 / 147
112 Alternativas No tenemos que generar todos los sucesores y guardar sus valores hasta que todos sean evaluados. Podemos usar un algoritmo depth first: Algoritmo minimax (backtracking) si J es terminal, V (J) ev(j), sino for k = 1,..., n do generar J k (el k esimo sucesor de J) evalua V (J k ) si k = 1, VA(J) V (J 1 ) sino para K 2 si J es nodo max, VA(J) max[va(j), V (J k )] si J es nodo min, VA(J) min[va(j), V (J k )] regresa V (J) VA(J) (INAOE) 112 / 147
113 Alternativas Tampoco es necesario que evaluemos todos los nodos terminales Algortimo mejorado (ilustrado con gana pierde) si J es terminal, regresa, gana/pierde empieza a etiquetar los sucesores de J (de izq. a der.) si J es max, regresa gana en cuanto se encuentre un sucesor con gana o regresa pierde si todos los sucesores de J son pierde si J es min, regresa pierde en cuanto se encuentre un sucesor con pierde o regresa gana si todos los sucesores de J son gana (INAOE) 113 / 147
114 Mejoras Las mejoras dependen del orden en que los sucesores son evaluados. Una de las razones de la eficiencia del último algoritmo es que se da cuenta que el estatus de algunos nodos no afecta la evaluación del nodo raíz. (INAOE) 114 / 147
115 Alpha-Beta A McCarthy (56) se le considera el responsable de ver la utilidad de alpha beta. Parecido a dynamic programming en el sentido de que elimina caminos que no van a producir mejores resultados. Es el más usado en juegos. (INAOE) 115 / 147
116 Alpha-Beta Es como un minimax haciendo backtracking, pero... si al actualizar el valor minimax de un nodo, éste cruza cierto límite, entonces no hace falta hacer más exploración abajo de ese nodo; su valor (VA) se puede transmitir a su padre como si todos sus hijos hubieran sido evaluados. Los límites o cortes son ajustados dinámicamente. (INAOE) 116 / 147
117 Alpha-Beta Límite alpha: El límite para un nodo J MIN es un límite inferior llamado alpha, igual al valor más alto de todos los ancestros MAX de J. La exploración de J termina en cuanto el valor actual VA es igual o menor a alpha. Límite beta: El límite para un nodo J MAX es un límite superior llamado beta, igual al valor más pequeño de todos los ancestros MIN de J. La exploración de J termina en cuanto el valor actual VA es igual o mayor a beta. (INAOE) 117 / 147
118 Alpha-Beta α representa el mejor valor que hemos encontrado hasta ahora para MAX y β el mejor valor (más bajo) para MIN. Idea: Regresa el valor V (J) si está entre α y β. Regresa α si V (J) α. Regresa β si V (J) β. (INAOE) 118 / 147
119 Algoritmo Alpha-Beta set α =, set β = si J es nodo terminal, entonces V (J) eval(j) sino sean J 1, J 2,..., J n los sucesores de J set k = 1 si J es max set α max[α, V (J; α, β)] si α β regresa β, sino continua si k = n regresa α, sino set k k + 1 y continua si J es min set β min[β, V (J; α, β)] si β α regresa α, sino continua si k = n regresa β, sino set k k + 1 y continua (INAOE) 119 / 147
120 Alpha-Beta MAX MIN MAX MIN MAX (INAOE) 120 / 147
121 Se puede hacer una definición más concisa usando neg max. La eficiencia de alpha beta depende del orden de los valores de los nodos terminales. Si construimos un programa que pueda evaluar 1,000 posiciones por segundo, con 150 segundos por movida, podríamos ver 150,000 posiciones. Con un factor de arborescencia de 35 nuestro programa podría ver solo 3 o 4 tiradas (ply) adelante y jugaría ajedrez a nivel de novato. (INAOE) 121 / 147
122 Alpha-Beta Si pudieramos ordenar los nodos terminales tendríamos que examinar O(b d/2 ), por lo que el factor de arborescencia efectivo es de b en lugar de b, en ajedrez sería 6 en lugar de 35, por lo que ahora podríamos buscar hasta profundidad 8. A veces se usan ordenamientos sencillos, como considerar primero las capturas, luego las amenazas, luego movimientos hacia adelante y finalmente movimientos hacia atrás. Otra estrategia es usar una búsqueda de profundidad iterativa y usar los últimos valores para decidir qué explorar en la siguiente iteración. (INAOE) 122 / 147
123 Alpha-Beta En promedio α β permite explorar un 33% más que un simple minimax. α β poda el árbol al darse cuenta que los nodos podados (independientemente de sus valores) no pueden influenciar en el valor del nodo raíz. (INAOE) 123 / 147
124 (Stockman 79) Explora caminos tipo best first (AO*). Es superior a alpha beta en el sentido que: No explora nodos que alpha beta no explora. Puede no explorar nodos que alpha beta si explora. Idea: Tomar el árbol de búsqueda globalmente, se puede ver como una versión de AO y por lo mismo trata de encontrar la solución óptima. (INAOE) 124 / 147
125 a MAX b c MIN d MAX i p e f j k q r MIN g n h l m o s t MAX (INAOE) 125 / 147
126 La figure muestra un ejemplo de donde las letras dentro de los nodos indican el orden en que se evalúan los nodos y los números subrayados muestran los nodos terminales que son evaluados. Se han propuesto varias pequeñas variantes de como Inter, Rec y Mem, las cuales hacen un uso más eficiente de memoria. Existen muchos otros algoritmos de juegos, por ejemplo SCOUT (Pearl 80) (INAOE) 126 / 147
127 Estrategias de Juego Progressive/iterative deepening: explorar por niveles. Si: b = branching factor y d = profundidad: En general el número de nodos evaluados al final es: b d. El número de nodos en el resto del árbol es: d 1 b i = bd 1 b 1 i=0 (INAOE) 127 / 147
128 Estrategias de Juego La razón entre ellos es: b d b 1 b d 1 b 1 i.e., con profundidad de 16 el costo total es 1 15 normal lo cual es bastante bajo. del costo (INAOE) 128 / 147
129 Estrategias de Heuristic Pruning: Ordenar los nodos con respecto a su función de evaluación y variar la profundidad de exploración (mayor/menor). Sin embargo con sólo esta estrategia no habría sacrificios de damas en ajedrez. Heuristic Continuation: Continuar caminos que por heurísticas se consideran importantes (e.g., el rey peligra, se va a perder una pieza, un peón puede coronar, etc.), para tratar de evitar el efecto horizonte (no siempre se puede). (INAOE) 129 / 147
130 Estrategias de Quiescence Search: En principio, no se debería de aplicar la función de evaluación en posiciones en donde no se esperan cambios fuertes en el valor de la función de evaluación. A veces se restringe sólo a algunos tipos particulares de movidas (e.g., capturas). Todas las metodologías suponen que la decisión de la jugada mejora con la profundidad de la búsqueda. (INAOE) 130 / 147
131 Estrategias de Se ha mostrado que funciona bien en juegos y ésto se cuestiona poco. De hecho se cree que el nivel extra de exploración en ajedrez mejora en 200 el puntaje de la máquina. Sin embargo, se ha mostrado que el nivel discriminatorio decrece apreciablemente en cada nivel. Si la función de evaluación se mantiene igual en todos los niveles de juego, entre más buscamos a profundidad, peor es nuestra evaluación. (INAOE) 131 / 147
132 Estrategias de Porqué no ocurre en los juegos? Los juegos comunes no son uniformes, están llenos de trampas que son detectadas al buscar a profundidad. Sin embargo, no se debe de perder de vista el deterioro del algoritmo. (INAOE) 132 / 147
133 Estategias de Algo muy usado en juegos (además de guardar aperturas y finales de juego) son las transposition tables. Esto es, guardar información de nodos recorridos para evitar recorrerlos otra vez. Existen muchas otras estrategias, e.g., B* (Berlinger 79) Líneas de investigación: Usar meta razonamiento y combinar planeación con búsqueda. (INAOE) 133 / 147
134 (Monte Carlo Tree Search) Es un método para encontrar decisiones óptimas tomando muestras aleatorias y construyendo un árbol de búsqueda de acuerdo a los resultados Desató recientemente un gran interes dados los resultados que se empezaron a obtener en el juego de Go Idea: Analizar los movimientos más promisorios expandiendo el árbol de búsqueda haciendo muestreo aleatorio (INAOE) 134 / 147
135 Cada ronda de consiste de 4 pasos: 1 Selección: Empezando de la raíz se seleccionan hijos sucesores hasta llegar a una hoja (cómo seleccionar ver abajo) 2 Expansión: A menos que la hoja termine el juego, crea sus hijos y seleciona uno de ellos 3 Simulación: Empieza un juego aleatorio de ese nodo (random playout) - en un playout el juego se lleva hasta el final seleccionado acciones aleatorias 4 Retropropagación: Usando la información del playout se actualiza la información en los nodos del camino del nodo raíz al nodo desde empezó la simulación (INAOE) 135 / 147
136 (INAOE) 136 / 147
137 UCT (Upper Confidence Bound applied to Trees) Un aspecto fundamental de los es cómo balancear exploración y explotación. Esto es, explotación de variantes profundas después de movimientos con promedios altos y la exploración de movimientos con pocas simulaciones Un muestreo es selectivo puede hacer grandes ahorros de cómputo La idea de UCT es aplicar ideas de problemas multi-armed bandit (UCB1) para guiar cómo explorar/explotar ese árbol (INAOE) 137 / 147
138 UCT La fórmula básica de UCT es seleccionar en cada nodo del árbol, la movida para la cual la expresión siguiente tenga el valor máximo: donde: Q(v ) argmax v hijos(v) N(v ) + c ln N(v) N(v ) Q(v ): Recompensas totales (el número de veces que se gana después del i-ésimo movimiento) N(v ): Número de veces que se ha visitado (simulaciones) el i-ésimo movimiento N(v): Número total de simulaciones que se han hecho en el nodo (igual a la suma de todas las v s) c: Parámetro de exploración, en teoría igual a 2, pero en la práctica seleccionado empíricamente (INAOE) 138 / 147
139 UCT Ventajas: No requiere la definición de una función de evaluación (no siempre es fácil definir una) El árbol de juego crece asimétricamente, ya que se concentra en las partes más promisorias, con lo que le va bien en juegos con factores de arborecencia grandes se puede parar en cualquier momento (any-time) (INAOE) 139 / 147
140 UCT Los playouts pueden ser light (usando movidas aleatorias) o heavy (usando heurísticas para seleccionar las movidas) Para las estadísticas se pueden aprovechar pedazos de juegos que se repitan. Por ejemplo en GO algunas jugadas/posiciones se repiten varias veces en el juego y están relativamente aisladas de las demás, por lo que se pueden aprovechar todas las estadísticas de éstas. (INAOE) 140 / 147
141 UCT Existen varias versiones paralelas: Paralelización de hojas: Ejecutar varios playouts en paralelo Paralelización de raíz: Construir varios árboles en paralelo y realizar el movimiento basado en las ramas de nodo raíz de todos los árboles Paralelización del árbol: Construir en paralelo el árbol de juego cuidando de posibles conflictos (INAOE) 141 / 147
142 AlphaGo Existen varias razones por las cuales Go resulta ser mucho más difícil que ajedrez Ajedrez Go Tamaño del tablero Movidas promedio por juego Factor promedio de arborecencia Espacio de búsqueda Es difícil de definir una función de evaluación adecuada para Go (INAOE) 142 / 147
143 AlphaGo AlphaGo hace una combinación de DNN,, SL y RL Aprende primero una red para predecir los movimientos de jugadores humanos usando aprendizaje supervisado usando 30 millones de posiciones y una red de 13 capas. Después usa RL para mejorar la red aprendida (esta mejora gana 80% de los juegos contra la red anterior). Se construye otra red para evaluar posiciones. Esto es, regresar un valor para cada posición (en lugar de una distribución de probabilidades). Se usan 30 millones de posiciones nuevas. AlphaGo combina la red de la política (la mejorada) con la red para evaluar posiciones en un. (INAOE) 143 / 147
144 con eventos externos, como backgammon, incluyen factores externos no predecibles (e.g., el resultado de tirar un dado). Para este tipo de juego, se incluyen nodos intermedios (chance nodes) que contemplan los posibles resultados de los eventos externos con sus probabilidades. Para propagar valores, de los nodos terminales se toman sus valores y al llegar a los nodos aleatorios se calcula su valor esperado sumando todas las posibilidades multiplicadas por su probabilidad para obtener un valor. (INAOE) 144 / 147
145 Temores: aburridos Jugadas sin sentido para el hombre (INAOE) 145 / 147
146 Estado del arte: Ajedrez: Kasparov es derrotado en condiciones de torneo por Deep Blue (1997). Deep Blue (97): 32 procesadores RS/6000 (Power Two Super Chip (P2SC)), cada uno con 8 procesadores VLSI de ajedrez, para un total de 256 procesadores. Analiza alrededor de mil millones de posiciones cada 3 minutos y alrededor de 200,000,000 posiciones por segundo. Kasparov analiza aproximadamente 3. Damas Chinas: Chinook es declarado el campeón mundial cuando Tinsley se retira por razones de salud (1994). (INAOE) 146 / 147
147 Backgammon: TD-gammon es considerado como uno de los 3 mejores jugadores del mundo (1995). Este sistema usa aprendizaje por refuerzo Othello: Logistello considerado muy superior a los humanos (1994). Atari: Un programa basado en DL + RL aprende a jugar todos los juegos de Atari, algunos a nivel expertos (2016) Go: Alpha-Go le gana al campeón mundial (2017) (INAOE) 147 / 147
Juegos INAOE. Juegos. Eduardo Morales, Enrique Sucar. Introducción. MiniMax. Alpha Beta SSS MCTS. Estrategias de Juego. Juegos con eventos externos
INAOE con (INAOE) 1 / 54 1 Contenido con 2 3 4 5 6 7 con 8 (INAOE) 2 / 54 con La habilidad de jugar es considerada como una distinción de inteligencia. Caractersticas: Fácil de crear situaciones complicadas
La habilidad de jugar es considerada como una distinción de inteligencia. Fácil de crear situaciones complicadas con reglas sencillas.
Capítulo 3 Juegos 3.1 Introducción La habilidad de jugar es considerada como una distinción de inteligencia. Características: Fácil de crear situaciones complicadas con reglas sencillas. Se pueden probar
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
Procedimientos de Búsqueda
Capítulo 2 Procedimientos de Búsqueda Clásicos 2.1 Introducción Primero, algunos conceptos: nodos, arcos, nodo inicial, sucesor o hijo, padre, grado de arborecencia (asumimos finito), árbol, nodo raíz,
En IA la solución es principalmente búsqueda y evaluación.
Capítulo 1 Búsqueda La solución de problemas está asociado a la inteligencia. El proceso normal de solución de problemas involucra: identificación y definición del problema identificación del criterio
Inteligencia Artificial. Integrantes Equipo # 1:
INSTITUTO TECNOLÓGICO De Nuevo Laredo Especialidad: Ingeniería en Sistemas Computacionales Catedrático: Ing. Bruno López Takeyas. Asignatura: Inteligencia Artificial. Integrantes Equipo # 1: Javier Alonso
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:
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
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
Búsqueda y Optimización
Búsqueda y Optimización Eduardo Morales INAOE (INAOE) 1 / 197 Contenido 1 2 3 4 (INAOE) 2 / 197 La solución de problemas está asociado a la inteligencia. El proceso normal de solución de problemas involucra:
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
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
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
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.
El Juego como Problema de Búsqueda
El Juego como Problema de Búsqueda En este algoritmo identificamos dos jugadores: max y min. El objetivo es encontrar la mejor movida para max. Supondremos que max mueve inicialmente y que luego se turnan
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
CI-6675 Algoritmos y Estructuras Optimizadas para Videojuegos
Especialización en Creación y Programación de Videojuegos CI-6675 Algoritmos y Estructuras Optimizadas para Videojuegos Agenda de hoy Juegos Combinatorios Información en un Juego La suma de un Juego s
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
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
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
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
Para definir en formalmente el juego se deberá establecer:
INTRODUCCION A LA INTELIGENCIA ARTIFICIAL MÓDULO 5- JUEGOS COMO PROBLEMA DE BÚSQUEDA Referencias: Inteligencia Artificial Russell and Norvig Cap.5. Artificial Intellingence Nils Nilsson Ch.3 Se trata el
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
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
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
(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
(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
Sesión 14: Redes de Decisión
Modelos Gráficos Probabilistas L. Enrique Sucar INAOE Sesión 14: Redes de Decisión un agente racional ideal es aquel que, para cada posible secuencia de percepciones, realiza la acción que maximiza su
Búsqueda Heurística IV
Búsqueda Heurística IV Pedro Meseguer IIIA-CSIC Bellaterra, Spain pedro@iiia.csic.es 2 jugadores Búsqueda para juegos Perfecta información: cada jugador conoce toda la información del contrario no hay
(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
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
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:
1. Método general. 2. Análisis de tiempos de ejecución. 3. Ejemplos de aplicación Problema de las 8 reinas Problema de la mochila 0/1.
Backtracking. Método general. 2. Análisis de tiempos de ejecución. 3. Ejemplos de aplicación. 3.. Problema de las 8 reinas. 3.2. Problema de la mochila 0/. Método general El backtracking (método de retroceso
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)
Inteligencia Artificial. Oscar Bedoya
Inteligencia Artificial Oscar Bedoya oscarbed@eisc.univalle.edu.co * Algoritmo minimax * Poda alfa-beta * Juegos con decisiones imperfectas * Juegos con elemento aleatorio * Aplicaciones Tipos de contrincantes
Heurísticas en el recorrido de árboles de soluciones
Heurísticas en el recorrido de árboles de soluciones. Árboles de soluciones. Repaso de backtracking y branch and bound. Uso de heurísicas en backtracking 4. Uso de heurísticas en branch and bound . Árboles
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
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
INSTITUTO TECNOLÓGICO DE NUEVO LAREDO. INGENIERÍA EN SISTEMAS COMPUTACIONALES. Materia: Inteligencia Artificial. Catedrático:
INSTITUTO TECNOLÓGICO DE NUEVO LAREDO. INGENIERÍA EN SISTEMAS COMPUTACIONALES. Materia: Inteligencia Artificial. Catedrático: Ing. Bruno López Takeyas. Tema Equipo 3 : Hill Climbing. Alumnos: Alvarado
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
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
(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
A B MIN C D E F MAX x E.T.S.I. INFORMÁTICA 4º CURSO. INTELIGENCIA ARTIFICIAL E INGENIERÍA DEL CONOCIMIENTO
E.T.S.I. INFORMÁTICA 4º CURSO. INTELIGENCIA ARTIFICIAL E INGENIERÍA DEL CONOCIMIENTO UNIVERSIDAD DE MÁLAGA Dpto. Lenguajes y Ciencias de la Computación RELACIÓN DE PROBLEMAS. TEMA IV. PROBLEMAS DE JUEGOS.
CAPÍTULO 3. GRASP (Greedy Randomized Adaptive Search Procedures). Los problemas de optimización surgen de las situaciones de aplicación práctica.
CAPÍTULO 3 GRASP (Greedy Randomized Adaptive Search Procedures). Los problemas de optimización surgen de las situaciones de aplicación práctica. Estos problemas se aplican en distintas áreas, tales como:
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
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
Capítulo 8. Árboles. Continuar
Capítulo 8. Árboles Continuar Introducción Uno de los problemas principales para el tratamiento de los grafos es que no guardan una estructura establecida y que no respetan reglas, ya que la relación entre
Parte de Algoritmos de la asignatura de Programación Master de Bioinformática. Búsqueda exhaustiva
Parte de Algoritmos de la asignatura de Programación Master de Bioinformática Búsqueda exhaustiva Web asignatura: http://dis.um.es/~domingo/algbio.html E-mail profesor: domingo@um.es Transparencias preparadas
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
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
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
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
UNIDAD Creación del Árbol Octal de un objeto sólido vía la definición CSG
UNIDAD 3 3 Creación de Árbol Octal vía la definición CSG 3.1 Creación del Árbol Octal de un objeto sólido vía la definición CSG Un árbol CSG hace uso de un conjunto de primitivas sólidas, estas primitivas
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
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:
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
Apellidos:... Nombre:...
Apellidos:....................................... Nombre:........................................ Introducción a la Inteligencia Artificial 1 er Parcial de Teoría 12 Noviembre 2004 Ejercicio 1: Responder
Problemas de búsqueda entre adversarios
Introducción, I Problemas de búsqueda entre adversarios Juegos For IA researchers, the abstract nature of games makes them an appealing subject for study (Russell & Norvig, 2003). Juegos» Origen, 1928:
Ingeniería en Sistemas Computacionales. Inteligencia Artificial. Ing. Bruno López Takeyas. Algoritmo Hill Climbing
Ingeniería en Sistemas Computacionales Inteligencia Artificial Ing. Bruno López Takeyas Algoritmo Hill Climbing Alumnos Ylliana Samantha Anderson Benavides 01100161 Pablo Saúl Hernández Ribota 01100230
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
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
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
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
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
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).
Juegos deterministas. Ajedrez, damas, Go, Othello. barquitos
Búsqueda con adversario: Juegos Fernando Berzal, berzal@acm.org Tipos de juegos Juegos deterministas Juegos de azar Con información perfecta Con información imperfecta Ajedrez, damas, Go, Othello barquitos
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:
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,
Curso 2012-2013 15/10/12. Inteligencia Artificial (30223) Lección 5. Juegos. Índice. Juegos. Los juegos son una forma de entorno multiagente
Inteligencia Artificial (30223) Lección 5. Juegos Curso 2012-2013 José Ángel Bañares 15/10/2013. Dpto. Informática e Ingeniería de Sistemas. Índice Juegos Decisiones optimas Poda α-β Juegos con información
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
Algoritmo de ramificación y acotación
Algoritmo de ramificación y acotación Investigación Operativa Ingeniería Técnica en Informática de Gestión UC3M Curso 08/09 Descripción de los objetivos En esta práctica desarrollaremos el algoritmo de
Algoritmos de búsqueda
Capítulo 3 Algoritmos de búsqueda 3.1. Introducción Para realizar una búsqueda en el juego del ajedrez, éste, puede ser representado mediante un árbol, en el cual los nodos representan posiciones del tablero
Estratégias generales de análisis y diseño de algorítmos
Estratégias generales de análisis y diseño de algorítmos comp-420 Ayudantes Hugo Eduardo Dueñas heduenas@cimat.mx (ordinaria) Alberto José Ramirez Valadez alberto@cimat.mx (ordinaria) Mandar tareas (programas)
Análisis y Diseño de Algoritmos
Análisis y Diseño de Algoritmos Introducción: El Rol de los Algoritmos en Computación DR. JESÚS A. GONZÁLEZ BERNAL CIENCIAS COMPUTACIONALES INAOE Temario 2 1. Introducción 2. Notación Asintótica 3. Recurrencias
Tema 6: Estructuras de datos recursivas
Tema 6: Estructuras de datos recursivas Índice 1 Listas jerárquicas...2 2 Árboles binarios... 4 3 Árboles genéricos...7 4 Referencias...10 1. Listas jerárquicas Las listas tienen la propiedad de la clausura
Juegos deterministas. Ajedrez, damas, Go, Othello. barquitos
Árboles de juegos Análisis y Diseño de Algoritmos Tipos de juegos Juegos deterministas Juegos de azar Con información perfecta Con información imperfecta Ajedrez, damas, Go, Othello barquitos Backgammon,
Ampliación de Algoritmos y Estructura de Datos Curso 02/03. Ejercicios
272. En un problema determinado, una solución está dada por una tupla de n elementos (x, x 2,..., x n ). Para cada elemento existen en total m posibles valores. Comparar el número de nodos generados para
Tema 3: Técnicas básicas de
Inteligencia Artificial Curso 999 2000 Tema 3: Técnicas básicas de búsqueda José A. Alonso Jiménez Francisco J. Martín Mateos Dpto. de Ciencias de la Computación e Inteligencia Artificial Universidad de
ALGORÍTMICA
ALGORÍTMICA 2012-2013 Parte I. Introducción a las Metaheurísticas Tema 1. Metaheurísticas: Introducción y Clasificación Parte II. Métodos Basados en Trayectorias y Entornos Tema 2. Algoritmos de Búsqueda
Tema 6: Técnicas heurísticas en juegos
Inteligencia Artificial I Curso 2005 2006 Tema 6: Técnicas heurísticas en juegos José A. Alonso Jiménez Francisco J. Martín Mateos José L. Ruiz Reina Dpto. de Ciencias de la Computación e Inteligencia
TP de Programación Funcional: Reversi
TP de Programación Funcional: Reversi Fecha de entrega: 20 de septiembre 6 de septiembre de 2007 Índice 1. Módulo Reversi 1 1.1. Reglas del juego........................... 1 1.2. Tipos de datos............................
Backtracking: Esquema General
Backtracking Idea: Técnica para recorrer sistemáticamente todas las posibles configuraciones de un espacio asociado a soluciones candidatos de un problema computacional. Se puede pensar este espacio tiene
Teoría de Juegos Modelos Extensivos. Agosto 2016
Teoría de Juegos Modelos Extensivos Agosto 2016 Índice 2. Modelos Extensivos 2.1. Elementos que considera el modelo: alternancia, azar e información 2.2. Definición de juego extensivo 2.3. Definición de
Matemáticas Discretas L. Enrique Sucar INAOE. Teoría de Grafos. Problema de los puentes de Königsberg [Euler]
Matemáticas Discretas L. Enrique Sucar INAOE Teoría de Grafos Problema de los puentes de Königsberg [Euler] Teoría de Grafos Definición y terminología Tipos de grafos Trayectorias y circuitos Isomorfismo
Anexo 3: Implementaciones en Lisp
Anexo 3: Implementaciones en Lisp José A. Alonso Jiménez Carmen Graciani Díaz Francisco Jesús Martín Mateos José Luis Ruiz Reina Dpto. Ciencias de la Computación e Inteligencia Artificial UNIVERSIDAD 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
Aprendizaje Automatizado
Aprendizaje Automatizado Aprendizaje Automatizado Programas que mejoran su comportamiento con la experiencia. Dos formas de adquirir experiencia: A partir de ejemplos suministrados por un usuario (un conjunto
Ajedrez. Cómo jugar Autor: Erick López
Ajedrez. Cómo jugar Autor: Erick López 1 Presentación del curso El ajedrez es uno de los deportes más populares del mundo. Si quieres aprender a jugar ajedrez este curso fácil y ameno te será de gran ayuda.
Búsqueda tabú combina búsqueda local con una heurística para evitar parar en mínimos locales y evitar entrar en ciclos.
Capítulo 5 Búsqueda Tabú 5.1 Introducción Búsqueda Tabú (Glover, 86) es una estrategia para resolver problemas de optimización combinatoria. Algo muy parecido sugierió Hansen al mismo tiempo, y que llamó
a) Para calcular los órdenes sólo es necesario contar el número de veces que se pasa por el bucle más interno. El coste sería n
EXAMEN DE ALGORÍTMICA. Segundo Ingeniería Técnica en Informática de Gestión y de Sistemas. Diciembre 2003 1) (3 puntos) El siguiente programa obtiene la subcadena más larga de números iguales dentro de
Indique la respuesta correcta (d=ninguna de las anteriores, e=todas las anteriores)
Parcial 4. Indique la respuesta correcta (d=ninguna de las anteriores, e=todas las anteriores) 1. Inteligencia es: a. La capacidad para combinar información. c. El proceso que permite elaborar conocimiento.
(Ficha 2, CASILLA) i. FE(1, A1) = = 1 ii. FE(1, A2) = = 2 iii. FE(5, A3) = = 1
onsidérese la siguiente posición del tablero de parchís con la situación de fichas descrita en el mismo. La posición se describe en la siguiente tabla: Jugador (Ficha 1, SILL) (Ficha 2, SILL) (Ficha 3,
Búsqueda Heurística I
Búsqueda Heurística I Pedro Meseguer IIIA-CSIC Bellaterra, Spain pedro@iiia.csic.es Introducción Temario curso Búsqueda sistemática Búsqueda ciega Búsqueda informada: primero el mejor, A* Búsqueda en memoria
Tópicos Avanzados: Inteligencia Computacional I
C291-78 Tópicos Avanzados: Inteligencia Computacional I V: 20-Ene-16 Instructoras (en orden alfabético) Dra. Ma. del Pilar Gómez Gil Dra. Alicia Morales Reyes Primavera 2016 pgomez@inaoep.mx (c) 2016.
Tema 7: Búsqueda con adversario (juegos)
Tema 7: Búsqueda con adversario (juegos) José Luis Ruiz Reina José Antonio Alonso Franciso J. Martín Mateos María José Hidalgo Departamento de Ciencias de la Computación e Inteligencia Artificial Universidad
CAPÍTULO II METODOLOGÍA DE SOLUCIÓN. Este capítulo es de suma importancia ya que en él se explica la metodología de solución
CAPÍTULO II METODOLOGÍA DE SOLUCIÓN Este capítulo es de suma importancia ya que en él se explica la metodología de solución utilizada en este trabajo para resolver de manera exacta el Problema de Localización
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
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
Ejemplo: El problema de la mochila. Algoritmos golosos. Algoritmos y Estructuras de Datos III. Segundo cuatrimestre 2013
Técnicas de diseño de algoritmos Algoritmos y Estructuras de Datos III Segundo cuatrimestre 2013 Técnicas de diseño de algoritmos Algoritmos golosos Backtracking (búsqueda con retroceso) Divide and conquer