74
BÚSQUEDA ENTRE ADVERSARIOS CAPITULO 6 Diana L. Poma Ana Paz Edwin Maza Argenis Riofrío INTEGRANTES:

Exp BúSqueda Entre Adversarios

  • Upload
    diana

  • View
    3.623

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Exp BúSqueda Entre Adversarios

BÚSQUEDA ENTRE

ADVERSARIOSCAPITULO 6

Diana L. Poma

Ana Paz

Edwin Maza

Argenis Riofrío

INTEGRANTES:

Page 2: Exp BúSqueda Entre Adversarios

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

Page 3: Exp BúSqueda Entre Adversarios

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.

Page 4: Exp BúSqueda Entre Adversarios

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

Page 5: Exp BúSqueda Entre Adversarios

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.

Page 6: Exp BúSqueda Entre Adversarios

DECISIONES OPTIMAS EN EL

JUEGO

Page 7: Exp BúSqueda Entre Adversarios

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

Page 8: Exp BúSqueda Entre Adversarios

BÚSQUEDA ENTRE ADVERSARIOS

Page 9: Exp 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.

Page 10: Exp BúSqueda Entre Adversarios

BÚSQUEDA ENTRE ADVERSARIOS

Page 11: Exp BúSqueda Entre Adversarios

BÚSQUEDA ENTRE ADVERSARIOS

Page 12: Exp BúSqueda Entre Adversarios

BÚSQUEDA ENTRE ADVERSARIOS

Page 13: Exp BúSqueda Entre Adversarios

BÚSQUEDA ENTRE ADVERSARIOS

Page 14: Exp BúSqueda Entre Adversarios

BÚSQUEDA ENTRE ADVERSARIOS

Page 15: Exp BúSqueda Entre Adversarios

BÚSQUEDA ENTRE ADVERSARIOS

Page 16: Exp BúSqueda Entre Adversarios

BÚSQUEDA ENTRE ADVERSARIOS

Page 17: Exp 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.

Page 18: Exp BúSqueda Entre Adversarios

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)

Page 19: Exp BúSqueda Entre Adversarios

EJEMPLO: TIC-TAC-TOE

Page 20: Exp BúSqueda Entre Adversarios

EJEMPLO: TIC-TAC-TOE

Por convención:

las jugadas ganadoras se evalúan a “+ ”

las jugadas perdedoras se evalúan a “- ”

Page 21: Exp BúSqueda Entre Adversarios

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.

Page 22: Exp BúSqueda Entre Adversarios

¿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

Page 23: Exp BúSqueda Entre Adversarios

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.

Page 24: Exp BúSqueda Entre Adversarios

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.

Page 25: Exp BúSqueda Entre Adversarios

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

Page 26: Exp BúSqueda Entre Adversarios

EJEMPLO MINIMAX

Valor-Minimax(n): utilidad para MAX de estar en el

estado n asumiendo que ambos jugadores jueguen

óptimamente.

Page 27: Exp BúSqueda Entre Adversarios

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

Page 28: Exp BúSqueda Entre Adversarios

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.

Page 29: Exp BúSqueda Entre Adversarios

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

Page 30: Exp BúSqueda Entre Adversarios

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

Page 31: Exp BúSqueda Entre Adversarios

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.

Page 32: Exp BúSqueda Entre Adversarios

PODA ALFA-BETA

Page 33: Exp BúSqueda Entre Adversarios

PODA ALFA-BETA

Page 34: Exp BúSqueda Entre Adversarios
Page 35: Exp BúSqueda Entre Adversarios
Page 36: Exp BúSqueda Entre Adversarios
Page 37: Exp BúSqueda Entre Adversarios
Page 38: Exp BúSqueda Entre Adversarios
Page 39: Exp BúSqueda Entre Adversarios
Page 40: Exp BúSqueda Entre Adversarios
Page 41: Exp BúSqueda Entre Adversarios
Page 42: Exp BúSqueda Entre Adversarios
Page 43: Exp BúSqueda Entre Adversarios

DECISIONES EN TIEMPO REAL

IMPERFECTAS

Page 44: Exp BúSqueda Entre Adversarios

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)

Page 45: Exp BúSqueda Entre Adversarios

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.

Page 46: Exp BúSqueda Entre Adversarios

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)

Page 47: Exp BúSqueda Entre Adversarios

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.

Page 48: Exp BúSqueda Entre Adversarios

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.

Page 49: Exp BúSqueda Entre Adversarios

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

Page 50: Exp BúSqueda Entre Adversarios

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.

Page 51: Exp BúSqueda Entre Adversarios

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

Page 52: Exp BúSqueda Entre Adversarios

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

Page 53: Exp BúSqueda Entre Adversarios

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.

Page 54: Exp BúSqueda Entre Adversarios

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.

Page 55: Exp BúSqueda Entre Adversarios

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

Page 56: Exp BúSqueda Entre Adversarios

JUEGOS QUE INCLUYEN UN

ELEMENTO DE POSIBILIDAD

Page 57: Exp BúSqueda Entre Adversarios

INTRODUCCIÓN

En la vida real existen factores imprevisible.

Los juegos reflejan esto (los dados).

El elemento aleatorio acerca a la realidad

Backgammon

Indicaciones

Page 58: Exp BúSqueda Entre Adversarios

BACKGAMMON

Page 59: Exp BúSqueda Entre Adversarios

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.

Page 60: Exp BúSqueda Entre Adversarios

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)

Page 61: Exp BúSqueda Entre Adversarios

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

Page 62: Exp BúSqueda Entre Adversarios

Figura 6.11 Árbol de juegos esquemático para la posición del backgammon

NODOS DE

POSIBILID

AD

POSIBLES

TIRADAS

Posibilidad

de que

ocurra

Page 63: Exp BúSqueda Entre Adversarios

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

Page 64: Exp BúSqueda Entre Adversarios

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

Page 65: Exp BúSqueda Entre Adversarios

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

Page 66: Exp BúSqueda Entre Adversarios

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

Page 67: Exp BúSqueda Entre Adversarios

PROGRAMAS DE JUEGOS

Page 68: Exp BúSqueda Entre Adversarios

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.

Page 69: Exp BúSqueda Entre Adversarios

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.

Page 70: Exp BúSqueda Entre Adversarios

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.

Page 71: Exp BúSqueda Entre Adversarios

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.

Page 72: Exp BúSqueda Entre Adversarios

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 .

Page 73: Exp BúSqueda Entre Adversarios

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

Page 74: Exp BúSqueda Entre Adversarios

GRACIAS