Download ppt - busquedas con adversarios

Transcript
Page 1: busquedas con adversarios

INGENIERIA INFORMATICA Y SISTEMAS

INTELIGENCIA ARTIFICIAL

BUSQUEDAS CON ADVERSARIOS

Sesión 5

Page 2: busquedas con adversarios

Árboles y búsqueda con adversario

Los entornos competitivos, en los

cuales los objetivos del agente están

en conflicto, dan ocasión a problemas

de búsqueda entre adversarios, a

menudo conocido como juegos.

Page 3: busquedas con adversarios

Ing. Victor Jaime Polo Romero 3

La manera natural de responder un

juego es mediante un árbol de juegos

que es un tipo especial de árbol

semántico en los que los nodos

representan configuraciones de

tableros

Page 4: busquedas con adversarios

Ing. Victor Jaime Polo Romero 4

y las ramas indican como una

configuración puede transformarse en

otra mediante un solo movimiento.

Page 5: busquedas con adversarios

Ing. Victor Jaime Polo Romero 5

Por supuesto existe un giro especial en

el hecho de que las decisiones son

tomadas por dos adversarios que

toman una decisión a la vez.

Page 6: busquedas con adversarios

Un juego se define formalmente

como una clase de problemas de

búsquedas con los componentes

siguientes:

Page 7: busquedas con adversarios

Ing. Victor Jaime Polo Romero 7

El estado inicial:

• Que incluye la posición del tablero e

identifica al jugador que mueve.

Page 8: busquedas con adversarios

Ing. Victor Jaime Polo Romero 8

Una función sucesor:

• Que devuelve una lista de pares

(movimiento, estado), indicando un

movimiento legal y el estado que resulta.

Page 9: busquedas con adversarios

Ing. Victor Jaime Polo Romero 9

Un test Terminal:

• Que determina cuando se termina el

juego. A los estados donde el juego se ha

terminado se les llama estados terminales.

Page 10: busquedas con adversarios

Ing. Victor Jaime Polo Romero 10

Una función de utilidad:

• También llamada función objetivo o

función de rentabilidad, que da un valor

numérico a los estados terminales.

• En los juegos, el resultado es un triunfo,

pérdida o empate, con valores +1, -1 o 0.

Page 11: busquedas con adversarios

Un árbol (parcial) de búsqueda para el juego de tres en raya.

Page 12: busquedas con adversarios

Ing. Victor Jaime Polo Romero 12

Búsqueda entre adversarios

• Uso: decidir mejor jugada en cada momento para cierto tipo de juegos.

• ¿Que tipo de juegos?– 2 jugadores. – Movimientos alternos (jugador MAX, jugador MIN)

Page 13: busquedas con adversarios

Ing. Victor Jaime Polo Romero 13

Representación del juego

• Representación del estado

• Representación del estado ganador (por estructura o propiedades o función

de utilidad)

• Definir los operadores de movimiento

Page 14: busquedas con adversarios

Ing. Victor Jaime Polo Romero 14

Búsqueda entre adversarios

Page 15: busquedas con adversarios

Ing. Victor Jaime Polo Romero 15

Búsqueda entre adversarios

• En una busqueda con adversarios se debe: 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.

• Una búsqueda en profundidad minimiza el espacio.

Page 16: busquedas con adversarios

Ing. Victor Jaime Polo Romero 16

Búsqueda entre adversarios

Page 17: busquedas con adversarios

Ing. Victor Jaime Polo Romero 17

Búsqueda entre adversarios

Page 18: busquedas con adversarios

Ing. Victor Jaime Polo Romero 18

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.

• Por convención:– las jugadas ganadoras se evalúan a “+”– las jugadas perdedoras se evalúan a “-”

• El algoritmo busca con profundidad limitada.• Cada nueva decisión implicará repetir parte

de la búsqueda.

Page 19: busquedas con adversarios

Ing. Victor Jaime Polo Romero 19

Algoritmo minimax (1)

• 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 20: busquedas con adversarios

Ing. Victor Jaime Polo Romero 20

Algoritmo minimax (2)

• Primero utiliza la función Utilidad para descubrir que sus valores son 3, 12 y 8.

• Entonces toma el mínimo de estos valores, 3, y lo devuelve como el valor del nodo B.

A

B

Page 21: busquedas con adversarios

Ing. Victor Jaime Polo Romero 21

Minimax

Page 22: busquedas con adversarios

Ing. Victor Jaime Polo Romero 22

Ejemplo 3 en rayae: estado x profundidad enteroe = número de filas, columnas y diagonales completas disponibles para max - número de filas, columnas y diagonales completas disponibles para minmax juega con X y desea maximizar emin juega con y desea minimizar evalores altos: buena posición para el que tiene que mover (profundidad par o impar)Controlar las simetrías

X

X

X0

X

0

X

0

X

0

X

0 X

0 X

X 0

0 X X0

X

0

X

0

X 0

6-5=1 5-5=0 6-5=1 5-5=0 4-5=-1 5-4=1 6-4=2 5-6=-1 6-6=0 6-6=0 5-6=-1 4-6=-2

Min= -1 Min= 1 Min= -2

Max = 1

La mejor jugada de max es pues tras lo cual min podría jugar X 0 X

Page 23: busquedas con adversarios

Ing. Victor Jaime Polo Romero 23

0 X

X 0 X 0

X X

0 X X

0 XX

X 00 X

X 0 X0

X 0 X 0X 0 X 0

X 0 X 0

X 0 0 X

4-2=2

3-2=1

4-2=2

2-2=0

4-2=2

3-2=1

Min=0

0 XX 0

0 X X 0

0 X 0 X

0 0 X X

4-2=2 4-2=2 5-2=3 3-2=1 4-2=2 4-2=2

Min=0Min=1

Min=0

Max = 1

La mejor jugada de max es pues tras lo cual min podría jugar 0 XX

0 0 XX

0 0 XX

0 0 XX

……………...

……………...

Page 24: busquedas con adversarios

Ing. Victor Jaime Polo Romero 24

0 0 XX

0 0 X XX

X 0 0 XX

0 0X XX

0 0 XX X

0 0 XX X

X 0 00 XX

X 0 0 XX 0

X 0 0 XX 0

X 0 0 X 0X

2-1=1

3-1=2

2-1=1

3-1=2

Min=1

Min= -

Min= -

Min= - Min= -

Max=1

La mejor jugada de max es pues X 0 0 XX

Page 25: busquedas con adversarios

Ing. Victor Jaime Polo Romero 25

Poda alfa-beta

• Problema de la búsqueda minimax: el número de estados que tiene que examinar es exponencial con el número de movimientos.

• Es posible calcular la decisión minimax correcta sin mirar todos los nodos en el árbol.

• La poda alfa-beta permite eliminar partes grandes del árbol, sin influir en la decisión final.

Page 26: busquedas con adversarios

A

B C D

a1

a2a3

b1 b2b3 c1 c2 c3

d1 d2 d3

3 12 8 2 4 6 14 5 2

3

3 2 2

MAX

MIN

El mejor movimiento de MAX en la raíz es a1, porque conduce al sucesor con el valor minimax mas alto, y la mejor respuesta de MIN es b1, por que conduce al sucesor con el valor minimax mas bajo.

Page 27: busquedas con adversarios

A

B C D

3

[-, +]

[-, 3]

(a)

(a) La primera hoja debajo de B tiene el valor 3. De ahí B, que es un nodo MIN, tiene un valor de cómo máximo 3.

Page 28: busquedas con adversarios

A

B C D

3

[-, +]

[-, 3]

(b)

(b) La segunda hoja debajo de B tiene el valor 12; MIN evitara este movimiento, entonces el valor de B es todavía como máximo 3.

12

Page 29: busquedas con adversarios

A

B C D

3

[3, +]

[3, 3]

(c)

(c) La tercera hoja debajo de B tiene el valor 8; hemos visto a todos los sucesores de B, entonces el valor de B es exactamente 3. Ahora, podemos deducir que el valor de la raíz es al menos 3., por que MAX tiene una opción digna de 3 en la raíz.

12 8

Page 30: busquedas con adversarios

A

B C D

3

[3, +]

[3, 3]

(d)

(d) La primera hoja debajo de C tiene el valor 2. De ahí, C que es un nodo MIN, tiene un valor de cómo máximo 2. Pero sabemos que B vale 3, entonces MAX nunca elegiría C. Por lo tanto, no hay ninguna razón en mirar a los otros sucesores de C. Este es un ejemplo de la poda Alfa-Beta.

12 8

[- , 2]

2

Page 31: busquedas con adversarios

A

B C D

3

[3, 14]

[3, 3]

(e)

(e) La primera hoja debajo de D tiene el valor 14,entonces D vale como máximo 14. Este todavía es mas alto que la mejor alternativa de MAX (es decir, 3), entonces tenemos que seguir explorando a los sucesores de D. Note también que ahora tenemos límites sobre todos los sucesores de la raíz, entonces el valor de la raíz es como máximo 14.

12 8

[- , 2] [- , 14]

2 14

Page 32: busquedas con adversarios

A

B C D

3

[3, 3]

[3, 3]

(f)

(f) El segundo sucesor de D vale 5, así que otra vez tenemos que seguir explorando. El tercer sucesor vale 2, así que ahora D vale exactamente 2. La decisión de MAX en la raíz es moverse a B, dando un valor de 3.

12 8

[- , 2] [2,2]

2 14 5 2

Page 33: busquedas con adversarios

Poda alfa-beta

• Los dos parámetros alfa y beta describen los límites sobre los valores que aparecen a lo largo del camino: = el valor de la mejor opción (el más alto) que

se ha encontrado hasta el momento en cualquier punto del camino, para MAX

= el valor de la mejor opción (el más bajo) que se ha encontrado hasta el momento en cualquier punto del camino, para MIN

• La búsqueda alfa-beta actualiza el valor de y según se va recorriendo el árbol y termina la recursión cuando encuentra un nodo peor que el actual valor o correspondiente.

Page 34: busquedas con adversarios

MAX

Vi

{ }Si Vi > modificar Si Vi poda

Retornar

{ }Si Vi < modificar Si Vi poda

Retornar

MIN

Vi

Las cotas y se transmiten de padres a hijos de 1 en 1 y en el orden de visitade los nodos. es la cota inferior de un nodo max. es la cota superior de un nodo min.

Page 35: busquedas con adversarios

Ing. Victor Jaime Polo Romero 35

Fin