Exp BúSqueda Entre Adversarios

4,222 views

Published on

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
4,222
On SlideShare
0
From Embeds
0
Number of Embeds
48
Actions
Shares
0
Downloads
189
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Exp BúSqueda Entre Adversarios

  1. 1. BÚSQUEDA ENTRE ADVERSARIOS CAPITULO 6 INTEGRANTES: Diana L. Poma Ana Paz Edwin Maza Argenis Riofrío
  2. 2. JUEGOS  Los juegos han desafiado en intelecto humano desde que existe la civilización.  En los entornos multi-agente (cooperativos o competitivos), cualquier agente tiene que considerar las acciones de otros agentes  La imprevisibilidad de estos otros agentes puede introducir muchas contingencias en el proceso de resolución de problemas  Los entornos competitivos, en los cuales los objetivos de los agentes están en conflicto, dan ocasión a problemas de búsqueda entre adversarios, a menudo conocidos como juegos
  3. 3. JUEGOS  Desde los 50s la comunidad de inteligencia artificial se interesó por los juegos (Turing, Shannon, Zuse, etc.)  Los juegos son un dominio apropiado para explorar la inteligencia computacional.  Tarea bien estructurada, que permite medir claramente el éxito o fracaso.  No requiere gran cantidad de conocimiento. Pueden ser resueltos buscando una ruta del estado inicial a la meta.  Con el progreso continuo del juego las maquinas han superado a las personas, derrotando a campeones mundiales humanos en ajedrez y backgammon.
  4. 4. JUEGOS  La teoría matemática de juegos, una rama de la economía, ve a cualquier entorno multiagente como un juego  Los “juegos” que se tratan en IA son una clase más especializada, usualmente tienen las siguientes características:  Ambientes totalmente observables.  Dos jugadores  Son deterministas  Información perfecta  Movimientos alternados
  5. 5. JUEGOS  Los juegos son interesantes porque son demasiado difíciles de resolver.  El ajedrez, por ejemplo, tiene un factor de ramificación promedio de 35 y los juegos van a menudo a 50 movimientos por cada jugador:  grafo de búsqueda: aproximadamente 1040 nodos distintos  árbol de búsqueda: 35100 o 10154 nodos  Los juegos, como el mundo real, requieren la capacidad de tomar alguna decisión (la jugada) cuando es infactible calcular la decisión óptima.  La investigación en juegos ha generado, varias ideas interesantes de cómo hacer uso del tiempo, lo mejor posible.
  6. 6. DECISIONES OPTIMAS EN EL JUEGO
  7. 7. INTRODUCCIÓN  Un juego puede definirse formalmente como una clase de problemas de búsqueda con los componentes siguientes:  El estado inicial  Una función sucesor, que devuelve una lista de pares (movimiento, estado)  Un test terminal, que determina cuándo termina el juego (por estructura o propiedades o función utilidad)  Una función utilidad 7 7
  8. 8. BÚSQUEDA ENTRE ADVERSARIOS
  9. 9. BÚSQUEDA ENTRE ADVERSARIOS  Aproximación trivial: generar todo el árbol de jugadas.  Se etiquetan las jugadas terminales, dependiendo de si gana MAX o MIN, con un valor de utilidad de, por ejemplo, “+1” o “-1”.  El objetivo es encontrar un conjunto de movimientos accesible que dé como ganador a MAX.  Se propagan los valores de las jugadas terminales de las hojas hasta la raíz.  Incluso un juego simple como tic-tac-toe es demasiado complejo para dibujar el árbol de juegos entero.
  10. 10. BÚSQUEDA ENTRE ADVERSARIOS
  11. 11. BÚSQUEDA ENTRE ADVERSARIOS
  12. 12. BÚSQUEDA ENTRE ADVERSARIOS
  13. 13. BÚSQUEDA ENTRE ADVERSARIOS
  14. 14. BÚSQUEDA ENTRE ADVERSARIOS
  15. 15. BÚSQUEDA ENTRE ADVERSARIOS
  16. 16. BÚSQUEDA ENTRE ADVERSARIOS
  17. 17. BÚSQUEDA ENTRE ADVERSARIOS • Aproximación heurística: definir una función que nos indique lo cerca que estamos de una jugada ganadora (o perdedora). • En esta función interviene información del dominio. • Esta función no representa ningún coste, ni es una distancia en pasos. • El algoritmo busca con profundidad limitada. • Cada nueva decisión por parte del adversario implicará repetir parte de la búsqueda.
  18. 18. EJEMPLO: TIC-TAC-TOE  e (función utilidad) = número de filas, columnas y diagonales completas disponibles para MAX - número de filas, columnas y diagonales completas disponibles para MIN  MAX juega con X y desea maximizar e  MIN juega con 0 y desea minimizar e  Valores absolutos altos de e: buena posición para el que tiene que mover  Controlar las simetrías  Utilizar una profundidad de parada (en el ejemplo: 2)
  19. 19. EJEMPLO: TIC-TAC-TOE
  20. 20. EJEMPLO: TIC-TAC-TOE  Por convención:  las jugadas ganadoras se evalúan a “+ ”  las jugadas perdedoras se evalúan a “- ”
  21. 21. PROCEDIMIENTO MINIMAX  Tres ideas básicas:  Evaluación estática: cálculo de un número que refleje la calidad del tablero (positivo indica una posición favorable, negativo una favorable al adversario).  Búsqueda hacia delante: se deben analizar varios niveles abajo para tomar una buena decisión (en profundidad limitada).  Modelado de adversarios: se modela el comportamiento de un jugador de maximización (la máquina) y uno de minimización (el adversario). Ambos siempre toman las mejores decisiones.
  22. 22. ¿QUÉ HACE MINIMAX? 2 Nivel de Maximización 2 1 Nivel de Minimización 3 4 2 7 1 8 • ¿qué jugada debemos seleccionar? • ¿realmente estamos seguros que será una buena jugada? • ¿el adversario podría quedar en una posición adecuada para hacernos daño?
  23. 23. ANALIZANDO EL PROCEDIMIENTO  En el nivel de maximización se busca un movimiento que lleve a un número positivo grande. En el de minimización uno que lleve hacia negativos.  Las decisiones del maximizador deben tener conocimiento de las alternativas disponibles para el minimizador del nivel inferior, y al revés.  Cuando se alcanza el limite de exploración, el evaluador estático proporciona una base directa para la selección de alternativas.  Minimax propaga información de abajo hacia arriba.
  24. 24. ALGORITMO  Para efectuar una búsqueda mediante MINIMAX:  Si el límite de búsqueda se ha alcanzado, calcular el valor estático de la posición actual. Dar a conocer el resultado.  De otro modo, si el nivel es de minimización, usar MINIMAX en los hijos de la posición actual y dar a conocer el menor de los resultados.  De lo contrario, si el nivel es de maximización, usar MINIMAX en los hijos de la posición actual y notificar el mayor de los resultados.
  25. 25. ORDEN DE VISITAS Y EVALUACIÓN 5–2 10 – 2 2–2 7–1 4–2 9–1 1–2 3–7 6–1 8–8
  26. 26. EJEMPLO MINIMAX  Valor-Minimax(n): utilidad para MAX de estar en el estado n asumiendo que ambos jugadores jueguen óptimamente.
  27. 27.  Valor-Minimax(n):  Utilidad(n), si n es un estado terminal  maxs∈Sucesores(n) Valor-Minimax(s), si n es un estado MAX  mins∈Sucesores(n) Valor-Minimax(s), si n es un estado MIN
  28. 28. ALGORITMO MINIMAX  Calcula la decisión minimax del estado actual.  Usa un cálculo simple recurrente de los valores minimax de cada estado sucesor.  La recursión avanza hacia las hojas del árbol.  Los valores minimax retroceden por el árbol cuando la recursión se va deshaciendo.
  29. 29. ALGORITMO MINIMAX A B  El algoritmo primero va hacia abajo a los tres nodos izquierdos y utiliza la función Utilidad para descubrir que sus valores son 3, 12 y 8.
  30. 30. ALGORITMO MINIMAX A B C D Entonces el algoritmo toma el mínimo de estos valores, 3, y lo devuelve como el valor del nodo B. …
  31. 31. ALGORITMO MINIMAX  Realiza una exploración primero en profundidad completa del árbol de juegos.  Si la profundidad máxima del árbol es m, y hay b movimientos legales en cada punto, entonces la complejidad :  en tiempo es O(bm);  en espacio es • O(bm) si se generan todos los sucesores a la vez; • O(m) si se generan los sucesores uno por uno.  Juegos reales: los costos de tiempo son inaceptables, pero este algoritmo sirve como base para el primer análisis matemático y para algoritmos más prácticos.
  32. 32. PODA ALFA-BETA
  33. 33. PODA ALFA-BETA
  34. 34. DECISIONES EN TIEMPO REAL IMPERFECTAS
  35. 35. INTRODUCCIÓN  Algoritmo minimax genera el espacio entero  Algoritmo alfa-beta permite podar partes grades de él, además tiene que buscar en todos los caminos, hasta los estados terminales.  Estos aun no son óptimos en cuanto al tiempo  Shannon en 1950 propuso que los programas deberían cortar la búsqueda antes y aplicar una función de evaluación heurística a los estados.  Convirtiendo los nodos no terminales en hojas terminales. (Test-límite)
  36. 36. FUNCIONES DE EVALUACIÓN o Devuelve una estimación de la utilidad esperada de una posición dada. (Capitulo 4 y juego de Ajedrez) ¿Cómo diseñamos funciones de evaluación buenas? 1. Ordenar los estados terminales – (función de utilidad verdadera) 2. El cálculo no debe utilizar demasiado tiempo 3. Para estados terminales, la función de evaluación debería estar correlacionada con las posibilidades actuales de ganar.
  37. 37. FUNCIONES DE EVALUACIÓN  En caso del juego de ajedrez, si cortamos la búsqueda en algún estado no termina, el algoritmo seria incierto sobre los resultados finales.  Las funciones de evaluación trabajan calculando varias características. (El juego de ajedrez, numero de perones capturados)
  38. 38. FUNCIONES DE EVALUACIÓN  Las características juntas definen varias categorías o clases de equivalencia.  Cualquier categoría puede tener algunos estados que conduzcan a empates, triunfos o pérdidas.  Se puede obtener un valor que refleje la proporción de estado en con cada resultado.
  39. 39. FUNCIONES DE EVALUACIÓN  Ejemplo: Estados encontrados en la categoría que conducen.  72% de triunfo. (Utilidad + 1)  20% de pérdida (-1)  8% a un empate (0)  Se lo puede determinar para cada categoría, y que puede producirse una función para cualquier estado.
  40. 40. FUNCIONES DE EVALUACIÓN  En la práctica se requiere demasiadas categorías y demasiada experiencia para estimar todas las posibilidades de ganar.  Matemáticamente se existe una función llamada función ponderada lineal
  41. 41. FUNCIONES DE EVALUACIÓN  Donde: cada es un peso y cada es una característica de la posición.  En el ajedrez sería serían los números de cada clase de pieza sobre el tablero y los podrían ser los valores que tienen las piezas.
  42. 42. FUNCIONES DE EVALUACIÓN  El axioma debería ser muy fuerte de tal forma que contribuya a que cada característica sea independiente de los valores de las otras características
  43. 43. CORTE DE LA BÚSQUEDA 1/4  Se debe modificar la búsqueda ALFA-BETA de modo que llame a la función heurística Eval cuando se corte la búsqueda.  Se sustituye la función Teste_Terminal con la siguiente si TEST-CORTE(estado, profundidad) entonces devolver Eval(estado).
  44. 44. CORTE DE LA BÚSQUEDA 2/4  La profundidad se incrementa sobre cada llamada recursiva.  Para controlar la cantidad de búsqueda es poner un límite de profundidad fijo. De modo que la función devuelve verdadero para la profundidad mayor de que la fija.  Una aproximación robusta es aplicar la profundidad iterativa.
  45. 45. CORTE DE LA BÚSQUEDA 3/4  Pueden conducir a errores.  Las posiciones no estables en un ajedrez se pueden extender hasta que se alcancen posiciones estables. Denominada búsqueda de estabilidad o de reposo, a veces se restringe a solo ciertos tipos de movimientos, como movimientos de captura, que resolverán rápidamente la incertidumbre en la posición.
  46. 46. CORTE DE LA BÚSQUEDA 4/4  Efecto horizonte es más difícil de eliminar. Se produce cuando el programa afronta un movimiento, del oponente.  El uso de extensiones excepcionales ha sido bastante eficaz para evitar el efecto horizonte sin añadir demasiado coste a la búsqueda.  Como conclusión , la combinación de todas las técnicas descritas proporciona un programa que pueda jugar al ajedrez loablemente (O a otros juegos).
  47. 47. JUEGOS QUE INCLUYEN UN ELEMENTO DE POSIBILIDAD
  48. 48. INTRODUCCIÓN  En la vida real existen factores imprevisible.  Los juegos reflejan esto (los dados).  El elemento aleatorio acerca a la realidad  Backgammon  Indicaciones
  49. 49. BACKGAMMON
  50. 50. BACKGAMMON  El objetivo de Backgammon es quitar todas sus piezas del tablero antes que su oponente.  Un árbol de juegos en el backgamman debe incluir nodos de posibilidad, nodos max, nodos min.
  51. 51. BACKGAMMON  Blanco sabe cuáles son sus propios movimientos legales, no sabe lo que va salir a Negro.  Blanco no puede construir un árbol de juegos estándar con el ajedrez. (Nodos de posibilidad)
  52. 52. BLANCO NEGRO  Una posición típica del backgammon. El objetivo del juego es mover todas las fichas del tablero. Blanco mueve a la derecha hacía 25, y los movimientos de Negro al contrarío, hacia 0. Una ficha puede moverse a cualquier posición a menos que haya varias piezas del oponente; si hay un oponente, es capturado y debe comenzar. En la posición mostrada, Blanca ha sacado 6-5 y debe elegir entre cuatro movimientos legales: (5-10,5-11 ), (5-11 ,19-24), (5- 10, 10- 16) y (5-11, 11- 16).
  53. 53. NODOS DE POSIBILID AD POSIBLES Posibilidad TIRADAS de que ocurra Figura 6.11 Árbol de juegos esquemático para la posición del backgammon
  54. 54.  Hay 36 resultados posibles. 6 x 6 lados. 11 12 13 14 15 16 21 22 23 24 25 26 31 32 33 34 35 36 41 42 43 44 45 46 51 52 53 54 55 56 61 62 63 64 65 66
  55. 55.  Perocomo 6 y 5 es igual a 5 y 6 solo hay 21 resultados distintos 11 12 13 14 15 16 21 22 23 24 25 26 31 32 33 34 35 36 41 42 43 44 45 46 51 52 53 54 55 56 61 62 63 64 65 66
  56. 56.  Los 6 dobles tienen una posibilidad de 1/36 11 12 13 14 15 16 21 22 23 24 25 26 31 32 33 34 35 36 41 42 43 44 45 46 51 52 53 54 55 56 61 62 63 64 65 66
  57. 57. Los 15 restantes 1/18 11 12 13 14 15 16 21 22 23 24 25 26 31 32 33 34 35 36 41 42 43 44 45 46 51 52 53 54 55 56 61 62 63 64 65 66
  58. 58. PROGRAMAS DE JUEGOS
  59. 59. PROGRAMAS DE JUEGOS: AJEDREZ  Tiene unas reglas claramente definidas y unos objetivos inequívocos.  Deep Blue fue clasificado como el mejor jugador de ajedrez de ordenador en el mundo, además de ser el primero en batir al maestro del ajedrez Garry Kasparov.  La búsqueda que utiliza la alfa-beta estándar de profundidad iterativa, con capacidad de generar extensiones mas allá de su limite.
  60. 60. PROGRAMAS DE JUEGOS: DAMAS  Chinook (J.Schaffer) es probablemente el mejor programa de ordenador de Damas, ya que fue el primero en ganar un campeonato del mundo contra humanos.  Este programa usa la búsqueda alfa-beta.  Chinook usa una base de datos pre calculados de 444 billones de posiciones con 8 o menos piezas sobre el tablero para así hacer la fase final del juego de forma impecable.
  61. 61. PROGRAMAS DE JUEGOS: OTELO  Llamado también Reversi, siendo mas popular como un juego de computador que como de mesa.  Otelo crea interés entre los programadores debido a la sencillez de sus reglas: sólo un tipo de movimiento, un único tipo de fichas, etc  Por ejemplo, el programa Logistello en 1997 derrotó claramente al campeón mundial Murakami por 6 victorias a 0.  Minimax es el método de decisión que utiliza otelo para minimizar la pérdida máxima esperada en juegos, con poda alfa-beta.
  62. 62. PROGRAMAS DE JUEGOS: BACKGAMMON  El elemento de incertidumbre que introduce el lanzamiento de dados en el juego del backgammon hace de la búsqueda un lujo muy costoso.  El primer programa que tuvo repercusión, BK.G, utilizaba sólo búsqueda de una capa, aunque la función de evaluación era bastante compleja.  Y lo más interesante es que su inteligencia artificial está mejorando gradualmente.  Recientemente, Gerry Tesauro combinó el método de aprendizaje de Samuel con las técnicas de las redes neuronales para crear una nueva función de evaluación.  El programa TD-Gammon está considerado sin lugar a dudas entre los tres mejores jugadores del mundo
  63. 63. PROGRAMAS DE JUEGOS: GO  Juego de mesa mas popular de Asia, que …. ……. requiere tanta disciplina como el ajedrez.  El tablero es de 19x19, el factor de ramificación comienza en 361, desalentando los métodos de búsqueda.  La mayor parte de los mejores programas mejores combinan técnicas de reconocimiento de modelos con la búsqueda limitada.  Los programas mas fuertes son Goemate de Chen Zhixing y Go4++ de Michael Reiss.  Go es una área que se beneficiara de la investigación que utiliza métodos de razonamiento mas sofisticados .
  64. 64. PROGRAMAS DE JUEGOS: BRIDGE  Es un juego de información imperfecta: en donde las cartas de un jugador se esconden de los otros.  El juego optimo en el bridge incluye elementos de reunión de información, comunicación y probabilidades.  Bridge barón, es un sistema de juegos que usa planes complejos y jerárquicos que implica ideas de alto nivel como astucia y aprieto.  GIB, el mejor programa de bridge actual, aproxima esta idea, generando 100 partidas consistente con información propuesta y escogiendo la acción que gana mas en promedio
  65. 65. GRACIAS

×