23
INGENIERIA INFORMATICA Y SISTEMAS INTELIGENCIA ARTIFICIAL BUSQUEDAS CON ADVERSARIOS Sesión 5

INGENIERIA INFORMATICA Y SISTEMAS INTELIGENCIA ARTIFICIAL BUSQUEDAS CON ADVERSARIOS Sesión 5

Embed Size (px)

Citation preview

Page 1: INGENIERIA INFORMATICA Y SISTEMAS INTELIGENCIA ARTIFICIAL BUSQUEDAS CON ADVERSARIOS Sesión 5

INGENIERIA INFORMATICA Y SISTEMAS

INTELIGENCIA ARTIFICIAL

BUSQUEDAS CON ADVERSARIOS

Sesión 5

Page 2: INGENIERIA INFORMATICA Y SISTEMAS INTELIGENCIA ARTIFICIAL BUSQUEDAS CON ADVERSARIOS Sesión 5

Árboles y búsqueda conÁrboles y búsqueda con adversarioadversario

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: INGENIERIA INFORMATICA Y SISTEMAS INTELIGENCIA ARTIFICIAL BUSQUEDAS CON ADVERSARIOS Sesión 5

Ing. Victor Jaime Polo RomeroIng. Victor Jaime Polo Romero 33

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: INGENIERIA INFORMATICA Y SISTEMAS INTELIGENCIA ARTIFICIAL BUSQUEDAS CON ADVERSARIOS Sesión 5

Ing. Victor Jaime Polo RomeroIng. Victor Jaime Polo Romero 44

y las ramas indican como una

configuración puede transformarse en

otra mediante un solo movimiento.

Page 5: INGENIERIA INFORMATICA Y SISTEMAS INTELIGENCIA ARTIFICIAL BUSQUEDAS CON ADVERSARIOS Sesión 5

Ing. Victor Jaime Polo RomeroIng. Victor Jaime Polo Romero 55

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: INGENIERIA INFORMATICA Y SISTEMAS INTELIGENCIA ARTIFICIAL BUSQUEDAS CON ADVERSARIOS Sesión 5

Un juego se define formalmente

como una clase de problemas de

búsquedas con los componentes

siguientes:

Page 7: INGENIERIA INFORMATICA Y SISTEMAS INTELIGENCIA ARTIFICIAL BUSQUEDAS CON ADVERSARIOS Sesión 5

Ing. Victor Jaime Polo RomeroIng. Victor Jaime Polo Romero 77

El estado inicial:

Que incluye la posición del tablero e

identifica al jugador que mueve.

Page 8: INGENIERIA INFORMATICA Y SISTEMAS INTELIGENCIA ARTIFICIAL BUSQUEDAS CON ADVERSARIOS Sesión 5

Ing. Victor Jaime Polo RomeroIng. Victor Jaime Polo Romero 88

Una función sucesor:

Que devuelve una lista de pares

(movimiento, estado), indicando un

movimiento legal y el estado que

resulta.

Page 9: INGENIERIA INFORMATICA Y SISTEMAS INTELIGENCIA ARTIFICIAL BUSQUEDAS CON ADVERSARIOS Sesión 5

Ing. Victor Jaime Polo RomeroIng. Victor Jaime Polo Romero 99

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: INGENIERIA INFORMATICA Y SISTEMAS INTELIGENCIA ARTIFICIAL BUSQUEDAS CON ADVERSARIOS Sesión 5

Ing. Victor Jaime Polo RomeroIng. Victor Jaime Polo Romero 1010

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 el ajedrez, el resultado es un

triunfo, pérdida o empate, con

valores +1, -1 o 0.

Page 11: INGENIERIA INFORMATICA Y SISTEMAS INTELIGENCIA ARTIFICIAL BUSQUEDAS CON ADVERSARIOS Sesión 5

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

Page 12: INGENIERIA INFORMATICA Y SISTEMAS INTELIGENCIA ARTIFICIAL BUSQUEDAS CON ADVERSARIOS Sesión 5

PROCEDIMIENTO MINIMAX

En una búsqueda normal, la solución óptima sería una secuencia de movimientos que conducen a un estado objetivo.

Page 13: INGENIERIA INFORMATICA Y SISTEMAS INTELIGENCIA ARTIFICIAL BUSQUEDAS CON ADVERSARIOS Sesión 5

Ing. Victor Jaime Polo RomeroIng. Victor Jaime Polo Romero 1313

En un juego, por otra parte, MIN tiene algo que decir sobre ello. MAX por lo tanto debe encontrar una estrategia contingente, que especifica el movimiento de MAX en el estado inicial, después de los movimientos de MAX en los estados que resultan de cada respuesta posible de MIN, después los movimientos de MAX en los estados que resultan de cada respuesta posible de MIN de los anteriores movimientos, etc.

Page 14: INGENIERIA INFORMATICA Y SISTEMAS INTELIGENCIA ARTIFICIAL BUSQUEDAS CON ADVERSARIOS Sesión 5

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 15: INGENIERIA INFORMATICA Y SISTEMAS INTELIGENCIA ARTIFICIAL BUSQUEDAS CON ADVERSARIOS Sesión 5

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.

El exponente no se puede eliminar, pero se puede dividir en la mitad.

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 16: INGENIERIA INFORMATICA Y SISTEMAS INTELIGENCIA ARTIFICIAL BUSQUEDAS CON ADVERSARIOS Sesión 5

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 17: INGENIERIA INFORMATICA Y SISTEMAS INTELIGENCIA ARTIFICIAL BUSQUEDAS CON ADVERSARIOS Sesión 5

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 18: INGENIERIA INFORMATICA Y SISTEMAS INTELIGENCIA ARTIFICIAL BUSQUEDAS CON ADVERSARIOS Sesión 5

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 19: INGENIERIA INFORMATICA Y SISTEMAS INTELIGENCIA ARTIFICIAL BUSQUEDAS CON ADVERSARIOS Sesión 5

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 20: INGENIERIA INFORMATICA Y SISTEMAS INTELIGENCIA ARTIFICIAL BUSQUEDAS CON ADVERSARIOS Sesión 5

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 21: INGENIERIA INFORMATICA Y SISTEMAS INTELIGENCIA ARTIFICIAL BUSQUEDAS CON ADVERSARIOS Sesión 5

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 22: INGENIERIA INFORMATICA Y SISTEMAS INTELIGENCIA ARTIFICIAL BUSQUEDAS CON ADVERSARIOS Sesión 5

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 23: INGENIERIA INFORMATICA Y SISTEMAS INTELIGENCIA ARTIFICIAL BUSQUEDAS CON ADVERSARIOS Sesión 5

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.