Exp BúSqueda Entre Adversarios
-
Upload
diana -
Category
Entertainment & Humor
-
view
3.628 -
download
0
Transcript of Exp BúSqueda Entre Adversarios
BÚSQUEDA ENTRE
ADVERSARIOSCAPITULO 6
Diana L. Poma
Ana Paz
Edwin Maza
Argenis Riofrío
INTEGRANTES:
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
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.
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
JUEGOS
Los juegos son interesantes porque son demasiadodifíciles de resolver.
El ajedrez, por ejemplo, tiene un factor deramificación promedio de 35 y los juegos van amenudo 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 lacapacidad de tomar alguna decisión (la jugada)cuando es infactible calcular la decisión óptima.
La investigación en juegos ha generado, variasideas interesantes de cómo hacer uso del tiempo, lomejor posible.
DECISIONES OPTIMAS EN EL
JUEGO
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
BÚSQUEDA ENTRE ADVERSARIOS
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 utilidadde, 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.
BÚSQUEDA ENTRE ADVERSARIOS
BÚSQUEDA ENTRE ADVERSARIOS
BÚSQUEDA ENTRE ADVERSARIOS
BÚSQUEDA ENTRE ADVERSARIOS
BÚSQUEDA ENTRE ADVERSARIOS
BÚSQUEDA ENTRE ADVERSARIOS
BÚSQUEDA ENTRE ADVERSARIOS
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.
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)
EJEMPLO: TIC-TAC-TOE
EJEMPLO: TIC-TAC-TOE
Por convención:
las jugadas ganadoras se evalúan a “+ ”
las jugadas perdedoras se evalúan a “- ”
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.
¿QUÉ HACE MINIMAX?
• ¿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?
Nivel de Maximización
Nivel de Minimización
3 4
2 7 1 8
2 1
2
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.
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.
ORDEN DE VISITAS Y EVALUACIÓN
1 – 2 3 – 7 6 – 1 8 – 8
2 – 2
4 – 2
7 – 1
9 – 1
5 – 2
10 – 2
EJEMPLO MINIMAX
Valor-Minimax(n): utilidad para MAX de estar en el
estado n asumiendo que ambos jugadores jueguen
óptimamente.
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
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.
ALGORITMO MINIMAX
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.
A
B
ALGORITMO MINIMAX
Entonces el algoritmo toma el mínimo de estos valores,
3, y lo devuelve como el valor del nodo B.
…
A
B DC
ALGORITMO MINIMAX
Realiza una exploración primero en profundidadcompleta del árbol de juegos.
Si la profundidad máxima del árbol es m, y hay bmovimientos legales en cada punto, entonces lacomplejidad :
en tiempo es O(bm);
en espacio es
• O(bm) si se generan todos los sucesores a lavez;
• 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 primeranálisis matemático y para algoritmos más prácticos.
PODA ALFA-BETA
PODA ALFA-BETA
DECISIONES EN TIEMPO REAL
IMPERFECTAS
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 programasdeberían cortar la búsqueda antes y aplicar unafunción de evaluación heurística a los estados.
Convirtiendo los nodos no terminales en hojasterminales. (Test-límite)
FUNCIONES DE EVALUACIÓN
o Devuelve una estimación de la utilidadesperada de una posición dada. (Capitulo 4 yjuego de Ajedrez)
¿Cómo diseñamos funciones de evaluaciónbuenas?
1. Ordenar los estados terminales – (función deutilidad verdadera)
2. El cálculo no debe utilizar demasiado tiempo
3. Para estados terminales, la función deevaluación debería estar correlacionada con lasposibilidades actuales de ganar.
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)
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.
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.
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
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.
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
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).
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.
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.
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).
JUEGOS QUE INCLUYEN UN
ELEMENTO DE POSIBILIDAD
INTRODUCCIÓN
En la vida real existen factores imprevisible.
Los juegos reflejan esto (los dados).
El elemento aleatorio acerca a la realidad
Backgammon
Indicaciones
BACKGAMMON
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.
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)
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).
BLANCO
NEGRO
Figura 6.11 Árbol de juegos esquemático para la posición del backgammon
NODOS DE
POSIBILID
AD
POSIBLES
TIRADAS
Posibilidad
de que
ocurra
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
Pero como 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
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
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
PROGRAMAS DE JUEGOS
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.
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.
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.
PROGRAMAS DE JUEGOS: BACKGAMMON
El primer programa que tuvo repercusión, BK.G,utilizaba sólo búsqueda de una capa, aunque lafunción de evaluación era bastante compleja.
Y lo más interesante es que su inteligenciaartificial está mejorando gradualmente.
Recientemente, Gerry Tesauro combinó el métodode aprendizaje de Samuel con las técnicas de lasredes neuronales para crear una nueva función deevaluación.
El programa TD-Gammon está considerado sinlugar a dudas entre los tres mejores jugadores delmundo
El elemento de incertidumbre queintroduce el lanzamiento de dados enel juego del backgammon hace de labúsqueda un lujo muy costoso.
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óncomienza en 361, desalentando los métodos debúsqueda.
La mayor parte de los mejores programas mejorescombinan técnicas de reconocimiento de modeloscon la búsqueda limitada.
Los programas mas fuertes son Goemate de ChenZhixing y Go4++ de Michael Reiss.
Go es una área que se beneficiara de lainvestigación que utiliza métodos de razonamientomas sofisticados .
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
GRACIAS