1. juegos. 2 clasificaciÓn l diferentes puntos de vista: »cooperación –cooperativos/no...

25
. Juegos

Upload: maria-del-rosario-pinto-toro

Post on 02-Feb-2016

216 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: 1. Juegos. 2 CLASIFICACIÓN l Diferentes puntos de vista: »Cooperación –Cooperativos/no cooperativos »Número de jugadores –n=2, bipersonales: l por naturaleza

1

.

Juegos

Page 2: 1. Juegos. 2 CLASIFICACIÓN l Diferentes puntos de vista: »Cooperación –Cooperativos/no cooperativos »Número de jugadores –n=2, bipersonales: l por naturaleza

2

CLASIFICACIÓN

Diferentes puntos de vista: » Cooperación

– Cooperativos/no cooperativos

» Número de jugadores– n=2, bipersonales:

por naturaleza no cooperativos– n>2, n-personales:

Pueden ser cooperativos. Dan lugar a coaliciones

» Beneficios– Suma nula:

la suma de beneficios y pérdidas de los jugadores debe ser 0

– Suma constante: caso contrario

» Finitud– Finitos:

tienen final programado (nº jugadas, ruinas, etc.)

– Infinitos: sin final programado

Page 3: 1. Juegos. 2 CLASIFICACIÓN l Diferentes puntos de vista: »Cooperación –Cooperativos/no cooperativos »Número de jugadores –n=2, bipersonales: l por naturaleza

3

Introducción I

Juegos » Origen, 1928: John Von Newmann

– Teorema fundamental de los juegos bipersonales de suma nula.

» Desarrollo, 1944: Oskar, Morgernsten– “Theory of Games and Economic Behaviour”

Aplicaciones» Antropología, psicología, economía,

política, negocios, biología, IA, etc.

Elementos:» Jugadores: personas, empresas, naciones,

entes biológicos, etc.» Conjunto de estrategias: operadores o

acciones» Resultado o Valor del juego: estado/s

objetivos/s» Conjuntos de Pagos para cada jugador: en

función de las estrategias

Page 4: 1. Juegos. 2 CLASIFICACIÓN l Diferentes puntos de vista: »Cooperación –Cooperativos/no cooperativos »Número de jugadores –n=2, bipersonales: l por naturaleza

4

Introducción II

J2

A

B

J1

A 2 -3

B 0 2

C -5 10Pagos de J2 a j1

A B C A B C A B C

CBA

Tipos de representación» Matricial» Árbol

MAX

MIN

Page 5: 1. Juegos. 2 CLASIFICACIÓN l Diferentes puntos de vista: »Cooperación –Cooperativos/no cooperativos »Número de jugadores –n=2, bipersonales: l por naturaleza

5

Introducción III

Los Juegos bipersonales en la IA» Son problemas con contingencias» En ocasiones pueden tener una

ramificación alta – por ejemplo en ajedrez, b35

» Puede haber limitaciones de tiempo– Entorno semidinámico

En la resolución se utilizan:» Funciones de evaluación

– Evalúan los operadores utilizados por cada jugador.

– Ayudan a decidir el resultado del juego y las mejores estrategias para cada jugador.

» Métodos de poda– Simplificación de la búsqueda.

Page 6: 1. Juegos. 2 CLASIFICACIÓN l Diferentes puntos de vista: »Cooperación –Cooperativos/no cooperativos »Número de jugadores –n=2, bipersonales: l por naturaleza

6

Decisiones perfectas en juegos de dos adversarios

Dos jugadores, MAX y MIN (MAX mueve primero):» Estado inicial:

– Posición del tablero e identificación del primer jugador a mover

» Conjunto de operadores:– Movimientos legales que hace cada jugador

» Función sucesora:– Lista de pares (movimiento, estado) indica cada

movimiento legal y su estado resultante

» Función objetivo:– Determina cuándo se acaba el juego (en nodos

objetivo o terminales)

» Función de utilidad (función u): – Se define en los nodos terminales– Resultado del juego. Por ejemplo (suma nula):

+1 si gana MAX -1 si gana MIN 0 si empate (tablas)

Page 7: 1. Juegos. 2 CLASIFICACIÓN l Diferentes puntos de vista: »Cooperación –Cooperativos/no cooperativos »Número de jugadores –n=2, bipersonales: l por naturaleza

7

Decisiones óptimas en juegos de dos adversarios

Ejemplo: tres en raya

El estado inicial y los movimiento legales de cada jugador definen el árbol del juego.

Inicialmente MAX puede realizar uno de entre nueve movimientos posibles

Jugadas alternas entre MAX (x) y MIN (o), hasta llegar a un estado terminal

El valor de cada nodo hoja indica el valor de la función de

utilidad desde el punto de vista de MAX (valores altos

son buenos para MAX y bajos buenos para MIN)

Page 8: 1. Juegos. 2 CLASIFICACIÓN l Diferentes puntos de vista: »Cooperación –Cooperativos/no cooperativos »Número de jugadores –n=2, bipersonales: l por naturaleza

8

Decisiones perfectas en juegos de dos adversarios

Algoritmo minimax» Tiene por objetivo decidir un movimiento

para MAX.» HIPÓTESIS

Jugador MAX trata de maximizar su beneficio (función de utilidad).

Jugador MIN trata de minimizar su pérdida.

» Aplicación algoritmo:– 1) Generar árbol entero hasta nodos terminales– 2) Aplicar función u a nodos terminales– 3) Propagar hacia arriba para generar nuevos

valores de “u” para todos los nodos minimizando para MIN Maximizando para MAX

– 4) Elección jugada con máximo valor de “u”

» MINIMAX-VALUE(n) =– UTILITY(n) Si n es un nodo terminal– maxs Sucesor(n) MINIMAX-VALUE(s)

Si n es un nodo MAX

– mins Sucesor(n) MINIMAX-VALUE(s) Si n es un nodo

MIN

Page 9: 1. Juegos. 2 CLASIFICACIÓN l Diferentes puntos de vista: »Cooperación –Cooperativos/no cooperativos »Número de jugadores –n=2, bipersonales: l por naturaleza

9

Decisiones óptimas en juegos de dos adversarios

Ejemplo: tres en rayaNodos MAX, le toca mover a MAX

Nodos MIN

Valores de la función de utilidad para MAX

Valores minimax (cada nodo tiene asociado valor minimax

o MINIMAX-VALUE(n))

La mejor jugada de MAX es A1 porque genera el mayor valor minimax entre sus nodos sucesores.

La mejor jugada entonces de MIN es A11 porque genera el menor valor minimax entre sus nodos sucesores.

Page 10: 1. Juegos. 2 CLASIFICACIÓN l Diferentes puntos de vista: »Cooperación –Cooperativos/no cooperativos »Número de jugadores –n=2, bipersonales: l por naturaleza

10

Decisiones perfectas en juegos de dos adversarios

Ejemplo

3 12 8 2 4 6 14 5 2

223

3

UtilidadPara MAX

UtilidadPara MIN

UtilidadPara MAX

Page 11: 1. Juegos. 2 CLASIFICACIÓN l Diferentes puntos de vista: »Cooperación –Cooperativos/no cooperativos »Número de jugadores –n=2, bipersonales: l por naturaleza

11

Decisiones perfectas en juegos de dos adversarios

Algoritmo (con más detalle):

function MINIMAX-DECISION(state) returns una accióninputs: state, estado actual en el juegov MAX-VALUE(state)return una acción de SUCCESSORS(state) con valor v

function MAX-VALUE(state) returns valor utilidadif TERMINAL-TEST(state) then return UTILITY(n)v - for s en SUCCESSORS(state) do

v MAX(v, MIN-VALUE(s))return v

function MIN-VALUE(state) returns valor utilidadif TERMINAL-TEST(state) then return UTILITY(n)v for s en SUCCESSORS(state) do

v MIN(v, MAX-VALUE(s))return v

La complejidad (m=máxima profundidad), como es una búsqueda en profundidad, es:

– Temporal: – Espacial:

Para juegos reales la complejidad temporal hace que sea impracticable. Es válido para casos de libro.

)( mbO)(bmO

Page 12: 1. Juegos. 2 CLASIFICACIÓN l Diferentes puntos de vista: »Cooperación –Cooperativos/no cooperativos »Número de jugadores –n=2, bipersonales: l por naturaleza

12

Decisiones imperfectas en juegos de dos

adversarios

Decisión imperfecta: Decisión tomada por el algoritmo minimax sobre un horizonte que no alcanza el final del juego (se asume) y con función de evaluación estimada f = û.

Función de evaluación:» Debe coincidir con û en nodos terminales» Ejemplos:

– Si hay 50% posibilidades de ganar, 25% de perder y 25% de empate,

f=1*0.50+(-1)*0.25+0*0.25=0.25– En el ajedrez: peon=1, alfil=3, .... Suponiendo

que MAX=fichas-negras:

f=(num-peones-negros)*1 + (num-alfiles-negros)*3 .... -(num-peones-blancos)*1 - (num-alfiles-blancos)*3 ....

Page 13: 1. Juegos. 2 CLASIFICACIÓN l Diferentes puntos de vista: »Cooperación –Cooperativos/no cooperativos »Número de jugadores –n=2, bipersonales: l por naturaleza

13

Decisiones imperfectas en juegos de dos

adversarios Aplicación: Dada una función de evaluación

f, se aplica una búsqueda minimax con límite de profundidad:» Se elige un límite de profundidad

– Observación: el límite puede tener una posición desventajosa en un nivel más abajo.

» Se pueden elegir sucesivos límites de profundidad y quedarse con la mejor jugada.

» El límite de profundidad se debería aplicar sólo a posiciones “inactivas”.

– En ajedrez, serían por ejemplo posiciones en las que es poco probable que existan capturas

Problema del horizonte

Surge cuando el programa se enfrenta a una acción del oponente, inevitable y que causa serios perjuicios.

Ejemplo: en la figura anexa, peón blanco amenaza convertirse en dama. Torre negra amenaza con jaque. La ventaja actual es negra y la inmediata futura es blanca (evaluación calidad piezas).

Page 14: 1. Juegos. 2 CLASIFICACIÓN l Diferentes puntos de vista: »Cooperación –Cooperativos/no cooperativos »Número de jugadores –n=2, bipersonales: l por naturaleza

14

Decisiones imperfectas en juegos de dos

adversarios Ejemplo: Tres en raya.

» f(n)= (número de filas, columnas o diagonales libres

para MAX) - (número de filas, columnas o diagonales libres para MIN)

si “n” no es una solución en que gane alguno de los jugadores

, si gana MAX , si gana MIN

Exploración y evaluación:» El procedimiento de exploración visto separa

por completo el proceso de generación del árbol de exploración y la evaluación de posiciones.

» Se puede reducir el esfuerzo requerido si se hace evaluación de los nodos finales y se llevan hacia atrás esas evaluaciones con la generación el árbol

Page 15: 1. Juegos. 2 CLASIFICACIÓN l Diferentes puntos de vista: »Cooperación –Cooperativos/no cooperativos »Número de jugadores –n=2, bipersonales: l por naturaleza

15

Decisiones imperfectas en juegos de dos

adversarios

Ejemplo: tres en raya

- página 110 del libro Nilsson

Page 16: 1. Juegos. 2 CLASIFICACIÓN l Diferentes puntos de vista: »Cooperación –Cooperativos/no cooperativos »Número de jugadores –n=2, bipersonales: l por naturaleza

16

Poda

Para aplicar la poda suponemos búsqueda minimax » con función de evaluación f» limitación en profundidad » búsqueda en zonas inactivas.

Ejemplo: ajedrez» Un programa puede examinar unas 1000

posiciones/segundo.– Si tenemos 150 segundos para pensar un

movimiento, entonces, como b es aproximadamente 35, podemos bajar hasta 3 ó 4 niveles.

La poda va a permitir bajar hasta más niveles.

Se definen, para un nodo particular:» Un valor es una cota inferior para el

valor obtenido por propagación. » Un valor es una cota superior para el

valor obtenido por propagación.

Page 17: 1. Juegos. 2 CLASIFICACIÓN l Diferentes puntos de vista: »Cooperación –Cooperativos/no cooperativos »Número de jugadores –n=2, bipersonales: l por naturaleza

17

Poda

Ejemplo sencillo

3 12 8 2 4 6 14 5 2

=3 <=2 =2

=3

Page 18: 1. Juegos. 2 CLASIFICACIÓN l Diferentes puntos de vista: »Cooperación –Cooperativos/no cooperativos »Número de jugadores –n=2, bipersonales: l por naturaleza

18

n nodo MAX m nodo MIN

Algoritmo (interpretación): » Si n es ascendiente de m, y se verifica

alguna de estas condiciones (el valor alpha se alcanza en nodo hijo de n):

– –

» En ambos casos no hace falta seguir examinando por debajo de m (se producen podas). El nodo m no afectaría al resultado final y es prescindible.

n nodo MIN m nodo MAX

Poda

)()( mn )()( nm

El algoritmo efectúa una búsqueda en profundidad. Si durante la misma se produce que m es mejor que n para el jugador Player, entonces nunca se llegará a n en el juego

Page 19: 1. Juegos. 2 CLASIFICACIÓN l Diferentes puntos de vista: »Cooperación –Cooperativos/no cooperativos »Número de jugadores –n=2, bipersonales: l por naturaleza

19

Ejemplo I

2 5 1 2 7 3 6 4 0 3 5 1 9 6 2 8

<=2=2 <=1 <=7

=3

>=2=2 >=3

<=2=2

<=1

>=0=1

<=0<=5=1

>=2=2

Page 20: 1. Juegos. 2 CLASIFICACIÓN l Diferentes puntos de vista: »Cooperación –Cooperativos/no cooperativos »Número de jugadores –n=2, bipersonales: l por naturaleza

20

Ejemplo I

2 5 1 2 7 3 6 4 0 3 5 1 9 6 2 8

<=2

=2

>=2

<=1

=2

<=2=2

(n) (m)

n

m

<=7=3

>=3

n

m

(n) (m)

<=0

>=0

<=5=1

=1

<=1

n

m

(n) (m)

n

m

(n) (m)

>=2=2

Page 21: 1. Juegos. 2 CLASIFICACIÓN l Diferentes puntos de vista: »Cooperación –Cooperativos/no cooperativos »Número de jugadores –n=2, bipersonales: l por naturaleza

21

Poda Algoritmo (uso de ):

– página 170 del libro Russell & Norvig

Page 22: 1. Juegos. 2 CLASIFICACIÓN l Diferentes puntos de vista: »Cooperación –Cooperativos/no cooperativos »Número de jugadores –n=2, bipersonales: l por naturaleza

22

Ejemplo II

2 5 1 2 7 3 6 4 0 3 5 1 9 6 2 8

[ ] [-]

[-]

[-]

[-]

[-2]

[2 ]

[2 ]

[2 1]

[-2]

[-2]

[-2][-”2”]

No mejoran = 2

[2 2]

> !

= !

= !

[-2] No mejora valor de (lo devuelve

hacia arriba)

[2 ]

[2 ]

[2 ]

[2 ]

[2 0] > !

[2 2]

[2 2]

[2 ]

[2 5]

[2 1]

Page 23: 1. Juegos. 2 CLASIFICACIÓN l Diferentes puntos de vista: »Cooperación –Cooperativos/no cooperativos »Número de jugadores –n=2, bipersonales: l por naturaleza

23

Efectividad de la poda

La poda depende del orden en que se examinan los nodos» En el ejemplo siguiente, no se producen

podas por debajo del nodo “n” porque la rama se expande la última.

3 12 8 2 4 6 14 5 2

n

[-]

[-]

[- 3]

[3 ]

[3 ]

[3 2][3 ]

[3 14][3 5]

[3 2]

Page 24: 1. Juegos. 2 CLASIFICACIÓN l Diferentes puntos de vista: »Cooperación –Cooperativos/no cooperativos »Número de jugadores –n=2, bipersonales: l por naturaleza

24

Efectividad de la poda

Si se pudiera elegir el nodo más conveniente (por ejemplo, el nodo con el mínimo de “f” en el caso de MIN):» Knut y Moore (1975), demostraron que la

complejidad temporal es:

» Por tanto, el factor de ramificación efectivo sería en lugar de “b”.

– En el ajedrez tendríamos Podríamos bajar hasta el nivel 8.

» Es una situación ideal (supondría expandir los nodos para calcular el de menor “f”).

Los mismos autores han demostrado también que si se produce una expansión aleatoria, entonces para valores grandes de “b” la complejidad temporal es:

3 / 4( )dO b

)( 2dbO

b635 b

Page 25: 1. Juegos. 2 CLASIFICACIÓN l Diferentes puntos de vista: »Cooperación –Cooperativos/no cooperativos »Número de jugadores –n=2, bipersonales: l por naturaleza

25

Y para terminar … un último ejemplo (paciencia)

- página 116 del libro Nilsson