SlideShare una empresa de Scribd logo
Análisis y Simulación
de Decisiones
José Enrique Alvarez Estrada
Basado en un material elaborado por el Prof. Luigi Ceccaroni
Juegos
La teoría de juegos es un área de la matemática
aplicada que utiliza modelos para estudiar
interacciones en estructuras formalizadas de
incentivos (los llamados juegos) y llevar a cabo
procesos de decisión
Juegos
• Los juegos más simples que se estudian en
Toma de Decisiones son aquellos:
– De suma cero (lo que uno gana, el otro lo pierde y
viceversa)
– De dos jugadores (jugador MAX, jugador MIN)
– Por turnos
– De información perfecta (ajedrez, damas, tres en raya,
etc.)
– O de información imperfecta (poker, stratego, bridge...)
– Deterministas
Juegos
• Los juegos son interesantes porque son
demasiado difíciles de resolver.
• El ajedrez, por ejemplo, tiene un factor de
ramificación promedio de 35 y los juegos van a
menudo a 50 movimientos por cada jugador:
– grafo de búsqueda: aproximadamente 1040 nodos
distintos
– árbol de búsqueda: 35100 o 10154 nodos
• Como en el mundo real, se requiere de tomar
alguna decisión (la jugada) cuando es infactible
calcular la decisión óptima.
Decisiones óptimas en juegos
• Un juego puede definirse formalmente
mediante:
– Un estado inicial
– Una función sucesor, que devuelve una lista
de pares (movimiento, estado)
– Una prueba terminal, que determina cuándo
termina el juego (por estructura o
propiedades o función utilidad)
– Una función utilidad
5
Búsqueda exhaustiva
Búsqueda exhaustiva
• 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 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.
• Incluso un juego simple como tic-tac-toe es
demasiado complejo para dibujar el árbol
completo
Búsqueda exhaustiva
Búsqueda exhaustiva
Búsqueda exhaustiva
• 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 = P - P
MAX MIN
donde:
– e = función utilidad
– PMAX
= número de filas, columnas y diagonales completas disponibles
para MAX
– PMIN
= número de filas, columnas y diagonales completas disponibles
para MIN
• MAX juega con ✘
y desea maximizar e
• MIN juega con O 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)
tic-tac-toe: jugada #1
tic-tac-toe: jugada #1
juega MAX
tic-tac-toe: jugada #1
6-5=1
juega MIN
tic-tac-toe: jugada #1
6-5=1 5-5=0
tic-tac-toe: jugada #1
6-5=1 5-5=0 6-5=1
tic-tac-toe: jugada #1
6-5=1 5-5=0 6-5=1 5-5=0
tic-tac-toe: jugada #1
6-5=1 5-5=0 6-5=1 5-5=0 4-5=-1
tic-tac-toe: jugada #1
MIN = -1
6-5=1 5-5=0 6-5=1 5-5=0 4-5=-1
tic-tac-toe: jugada #1
juega MAX
MIN = -1
6-5=1 5-5=0 6-5=1 5-5=0 4-5=-1
tic-tac-toe: jugada #1
6-5=1 5-5=0 6-5=1 5-5=0 4-5=-1
MIN = -1
juega MIN
5-4=1
tic-tac-toe: jugada #1
MIN = -1
6-5=1 5-5=0 6-5=1 5-5=0 4-5=-1 5-4=1 6-4=2
tic-tac-toe: jugada #1
MIN = -1
6-5=1 5-5=0 6-5=1 5-5=0 4-5=-1
MIN = 1
5-4=1 6-4=2
tic-tac-toe: jugada #1
MIN = -1
6-5=1 5-5=0 6-5=1 5-5=0 4-5=-1
MIN = 1
5-4=1 6-4=2
juega MAX
tic-tac-toe: jugada #1
MIN = -1
6-5=1 5-5=0 6-5=1 5-5=0 4-5=-1 5-6=-1
MIN = 1
5-4=1 6-4=2
juega MIN
tic-tac-toe: jugada #1
MIN = -1
6-5=1 5-5=0 6-5=1 5-5=0 4-5=-1 5-6=-1 6-6=0
MIN = 1
5-4=1 6-4=2
tic-tac-toe: jugada #1
MIN = -1
6-5=1 5-5=0 6-5=1 5-5=0 4-5=-1 5-6=-1 6-6=0 6-6=0
MIN = 1
5-4=1 6-4=2
tic-tac-toe: jugada #1
MIN = -1
6-5=1 5-5=0 6-5=1 5-5=0 4-5=-1 5-6=-1 6-6=0 6-6=0 5-6=-1
MIN = 1
5-4=1 6-4=2
tic-tac-toe: jugada #1
MIN = -1
6-5=1 5-5=0 6-5=1 5-5=0 4-5=-1 5-6=-1 6-6=0 6-6=0 5-6=-1 4-6=-2
MIN = 1
5-4=1 6-4=2
tic-tac-toe: jugada #1
MIN = -1
6-5=1 5-5=0 6-5=1 5-5=0 4-5=-1 5-6=-1 6-6=0 6-6=0 5-6=-1 4-6=-2
MIN = 1 MIN = -2
5-4=1 6-4=2
tic-tac-toe: jugada #1
MIN = -1
6-5=1 5-5=0 6-5=1 5-5=0 4-5=-1 5-6=-1 6-6=0 6-6=0 5-6=-1 4-6=-2
MIN = 1 MIN = -2
5-4=1 6-4=2
tic-tac-toe: jugada #1
MIN = -1
MAX = 1
6-5=1 5-5=0 6-5=1 5-5=0 4-5=-1 5-6=-1 6-6=0 6-6=0 5-6=-1 4-6=-2
MIN = 1 MIN = -2
5-4=1 6-4=2
tic-tac-toe: jugada #1
MIN = -1
MAX = 1
6-5=1 5-5=0 6-5=1 5-5=0 4-5=-1 5-6=-1 4-6=-2
MIN = 1 MIN = -2
5-4=1 6-4=2
Por tanto, la mejor
jugad5a-6d=-e1M
6
-
A
6
=
X
0 e6s-6=0
tic-tac-toe: jugada #1
MIN = -1
MAX = 1
6-5=1 5-5=0 6-5=1 5-5=0 4-5=-1 5-6=-1 6-6=0 6-6=0 5-6=-1 4-6=-2
MIN = 1 MIN = -2
5-4=1 6-4=2
tras lo cual MIN
debería jugar
tic-tac-toe: jugada #2
tic-tac-toe: jugada #2
juega
MAX
tic-tac-toe: jugada #2
4-2=2
juega
MIN
tic-tac-toe: jugada #2
4-2=2
3-2=1
tic-tac-toe: jugada #2
4-2=2
3-2=1
5-2=3
tic-tac-toe: jugada #2
4-2=2
3-2=1
5-2=3
2-2=0
tic-tac-toe: jugada #2
4-2=2
3-2=1
5-2=3
2-2=0
4-2=2
tic-tac-toe: jugada #2
4-2=2
3-2=1
5-2=3
2-2=0
4-2=2
3-2=1
MIN = 0
tic-tac-toe: jugada #2
4-2=2
3-2=1
5-2=3
2-2=0
4-2=2
3-2=1
MIN = 0
tic-tac-toe: jugada #2
4-2=2
3-2=1
5-2=3
2-2=0
4-2=2
3-2=1
juega
MAX
MIN = 0
tic-tac-toe: jugada #2
4-2=2
3-2=1
5-2=3
2-2=0
4-2=2
3-2=1
4-3=1
juega
MIN
MIN = 0
tic-tac-toe: jugada #2
4-2=2
3-2=1
5-2=3
2-2=0
4-2=2
3-2=1
4-3=1 3-3=0
MIN = 0
tic-tac-toe: jugada #2
4-2=2
3-2=1
5-2=3
2-2=0
4-2=2
3-2=1
4-3=1 3-3=0 5-3=2
MIN = 0
tic-tac-toe: jugada #2
4-2=2
3-2=1
5-2=3
2-2=0
4-2=2
3-2=1
4-3=1 3-3=0 5-3=2 3-3=0
MIN = 0
tic-tac-toe: jugada #2
4-2=2
3-2=1
5-2=3
2-2=0
4-2=2
3-2=1
4-3=1 3-3=0 5-3=2 3-3=0 4-3=1
MIN = 0
tic-tac-toe: jugada #2
4-2=2
3-2=1
5-2=3
2-2=0
4-2=2
3-2=1
4-3=1 3-3=0 5-3=2 3-3=0 4-3=1 4-3=1
MIN = 0
MIN = 0
tic-tac-toe: jugada #2
4-2=2
3-2=1
5-2=3
2-2=0
4-2=2
3-2=1
4-3=1 3-3=0 5-3=2 3-3=0 4-3=1 4-3=1
MIN = 0
MIN = 0
tic-tac-toe: jugada #2
4-2=2
3-2=1
5-2=3
2-2=0
4-2=2
3-2=1
4-3=1 3-3=0 5-3=2 3-3=0 4-3=1 4-3=1
juega
MAX
MIN = 0
MIN = 0
tic-tac-toe: jugada #2
4-2=2
3-2=1
5-2=3
2-2=0
4-2=2
3-2=1
4-2=2
4-3=1 3-3=0 5-3=2 3-3=0 4-3=1 4-3=1
juega
MIN
MIN = 0
MIN = 0
tic-tac-toe: jugada #2
4-2=2
3-2=1
5-2=3
2-2=0
4-2=2
3-2=1
4-2=2 4-2=2
4-3=1 3-3=0 5-3=2 3-3=0 4-3=1 4-3=1
MIN = 0
MIN = 0
tic-tac-toe: jugada #2
4-2=2
3-2=1
5-2=3
2-2=0
4-2=2
3-2=1
4-2=2 4-2=2 5-2=3
4-3=1 3-3=0 5-3=2 3-3=0 4-3=1 4-3=1
MIN = 0
MIN = 0
tic-tac-toe: jugada #2
4-2=2
3-2=1
5-2=3
2-2=0
4-2=2
3-2=1
4-2=2 4-2=2 5-2=3 3-2=1
4-3=1 3-3=0 5-3=2 3-3=0 4-3=1 4-3=1
MIN = 0
MIN = 0
tic-tac-toe: jugada #2
4-2=2
3-2=1
5-2=3
2-2=0
4-2=2
3-2=1
4-2=2 4-2=2 5-2=3 3-2=1 4-2=2
4-3=1 3-3=0 5-3=2 3-3=0 4-3=1 4-3=1
MIN = 0
MIN = 0
tic-tac-toe: jugada #2
4-2=2
3-2=1
5-2=3
2-2=0
4-2=2
3-2=1
4-2=2 4-2=2 5-2=3 3-2=1 4-2=2 4-2=2
4-3=1 3-3=0 5-3=2 3-3=0 4-3=1 4-3=1
MIN = 0
MIN = 0
MIN = 1
tic-tac-toe: jugada #2
4-2=2
3-2=1
5-2=3
2-2=0
4-2=2
3-2=1
4-2=2 4-2=2 5-2=3 3-2=1 4-2=2 4-2=2
4-3=1 3-3=0 5-3=2 3-3=0 4-3=1 4-3=1
MIN = 0
MIN = 0
MIN = 1
MAX = 1
tic-tac-toe: jugada #2
4-2=2
3-2=1
5-2=3
2-2=0
4-2=2
3-2=1
4-2=2 4-2=2 5-2=3 3-2=1 4-2=2 4-2=2
4-3=1 3-3=0 5-3=2 3-3=0 4-3=1 4-3=1
4-3=1
MIN = 0
MIN = 0
MIN = 1
MAX = 1
tic-tac-toe: jugada #2
4-2=2
3-2=1
5-2=3
2-2=0
4-2=2
3-2=1
4-2=2 4-2=2 5-2=3 3-2=1 4-2=2 4-2=2
4-3=1 3-3=0 5-3=2 3-3=0 4-3=1 4-3=1
4-3=1
4-3=1
MIN = 0
MIN = 0
MIN = 1
MAX = 1
tic-tac-toe: jugada #2
4-2=2
3-2=1
5-2=3
2-2=0
4-2=2
3-2=1
4-2=2 4-2=2 5-2=3 3-2=1 4-2=2 4-2=2
4-3=1 3-3=0 5-3=2 3-3=0 4-3=1 4-3=1
4-3=1
3-3=0
4-3=1
MIN = 0
MIN = 0
MIN = 1
MAX = 1
tic-tac-toe: jugada #2
4-2=2
3-2=1
5-2=3
2-2=0
4-2=2
3-2=1
4-2=2 4-2=2 5-2=3 3-2=1 4-2=2 4-2=2
4-3=1 3-3=0 5-3=2 3-3=0 4-3=1 4-3=1
4-3=1
3-3=0
4-3=1
3-3=0
MIN = 0
MIN = 0
MIN = 1
MAX = 1
tic-tac-toe: jugada #2
4-2=2
3-2=1
5-2=3
2-2=0
4-2=2
3-2=1
4-2=2 4-2=2 5-2=3 3-2=1 4-2=2 4-2=2
4-3=1 3-3=0 5-3=2 3-3=0 4-3=1 4-3=1
4-3=1
3-3=0
4-3=1
3-3=0
3-3=0
MIN = 0
MIN = 0
MIN = 1
MAX = 1
tic-tac-toe: jugada #2
4-2=2
3-2=1
5-2=3
2-2=0
4-2=2
3-2=1
4-2=2 4-2=2 5-2=3 3-2=1 4-2=2 4-2=2
4-3=1 3-3=0 5-3=2 3-3=0 4-3=1 4-3=1
4-3=1
3-3=0
4-3=1
3-3=0
3-3=0
3-3=0
MIN = 0
MIN = 0
MIN = 1
MIN = 0
MAX = 1
tic-tac-toe: jugada #2
4-2=2
3-2=1
5-2=3
2-2=0
4-2=2
3-2=1
4-2=2 4-2=2 5-2=3 3-2=1 4-2=2 4-2=2
4-3=1 3-3=0 5-3=2 3-3=0 4-3=1 4-3=1
4-3=1
3-3=0
4-3=1
3-3=0
3-3=0
3-3=0
MIN = 0
MIN = 0
MIN = 1
MIN = 0
MAX = 1
La mejor jugada de MAX es pues tras lo cual MIN podría jugar
0
X
X
0
0
X
X
tic-tac-toe: jugada #2
4-2=2
3-2=1
5-2=3
2-2=0
4-2=2
3-2=1
4-2=2 4-2=2 5-2=3 3-2=1 4-2=2 4-2=2
4-3=1 3-3=0 5-3=2 3-3=0 4-3=1 4-3=1
4-3=1
3-3=0
4-3=1
3-3=0
3-3=0
3-3=0
0 0
X
X
0
X
0
X
X
X 0 0
X
X
0
X X
0
X
0 0
X
X X
0
0
X
X X
MIN = -
0
X 0
0 X
X
X 0 0
X
X 0
X 0
X
0
X 0
X 0 0
X 0
X
2-1=1
3-1=2
2-1=1
3-1=2
MIN = 1
MIN = -
MIN = -
MIN = -
MAX = 1
La mejor jugada de MAX es pues:
X 0 0
X
X
Ejemplo: tic-tac-toe
• Por convención:
– las jugadas ganadoras se evalúan a “+”
– las jugadas perdedoras se evalúan a “-”
Minimax
• Valor-Minimax(n): utilidad para MAX de
estar en el estado n asumiendo que
ambos jugadores jueguen óptimamente.
Minimax
• 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
A
• 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.
B
Algoritmo minimax
A
• Entonces el algoritmo toma el mínimo de
estos valores, 3, y lo devuelve como el
valor del nodo B.
B
Algoritmo minimax
• Realiza una exploración primero en
profundidad completa del árbol de juegos.
• Si la profundidad máxima del árbol es m, y hay
b movimientos legales en cada punto, entonces
la complejidad :
– en tiempo es O(bm);
– en espacio es
• O(bm) si se generan todos los sucesores a la vez;
• 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 primer análisis matemático y para
algoritmos más prácticos.
Algoritmo minimax
función Decisión-Minimax(estado) devuelve una acción
variables de entrada: estado, estado actual del juego
v ← Max-Valor(estado)
devolver la acción de Sucesores(estado) con valor v
función Max-Valor(estado) devuelve un valor utilidad
si Test-Terminal(estado) entonces devolver Utilidad (estado)
v ← -∞
para un s en Sucesores(estado) hacer
v ← Max(v, Min-Valor(s))
devolver v
función Min-Valor(estado) devuelve un valor utilidad
si Test-Terminal(estado) entonces devolver Utilidad (estado)
v ← ∞
para un s en Sucesores(estado) hacer
v ← Min(v, Max-Valor(s))
devolver v
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.
Minimax con poda α
-
β
a
c
b e = min(-1, ?) = -1
-1 (gana MIN) ?
No tiene sentido seguir
buscando los otros
descendientes de c.
a
c
g
d
e
-0.1
f
-0.05
b
0.03
e= max (-0.1, -0.05) = -0.05
En c: e= min(-0.05, v(g)) por lo tanto en a:
e = max(0.03, min(-0.05, v(g))) = 0.03
Se pueden pues podar los nodos bajo g; no aportan
nada.
?
El valor de la raíz y la decisión minimax son
independientes de los valores de las hojas podadas.
a
c
b
i
d
0.03
h
e
g
f
-0.1
max
min
max
min
max
e(e) = min(-0.1,v(g))
Como la rama b ya da un 0.03,
Cualquier cosa peor no sirve
=> No hay que explorar g
e(d) = max(e(e), h)
=> Sí hay que explorar h
...
La búsqueda minimax es
primero en profundidad: en
cualquier momento sólo se
consideran los nodos a lo
largo de un camino del
árbol.
Minimax con poda α
-
β
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.
Poda alfa-beta: ejemplo
Poda alfa-beta: ejemplo
Poda alfa-beta: ejemplo
Poda alfa-beta: ejemplo
Poda alfa-beta: ejemplo
MAX
Vi
{α, β}
Si Vi ≥ β poda β
Si Vi > α modificar α
Retornar α
{α, β}
Si Vi ≤ α poda α
Si Vi < β modificar β
Retornar β
MIN
Vi
Las cotas α y β se transmiten de padres a hijos de 1 en 1 y en el
orden de visita de los nodos.
Poda alfa-beta
Minimax con poda α
-
β
Funcion valorMax (g,α,β) retorna entero
Si estado_terminal(g) entonces
retorna(evaluacion(g))
si no
Para cada mov en movs_posibles(g)
α=max(α,valorMin(aplicar(mov,g),α,β))
si α≥β entonces retorna(β)
fPara
retorna(α)
fsi
fFuncion
Funcion valorMin (g,α,β) retorna entero
Si estado_terminal(g) entonces
retorna(evaluacion(g))
si no
Para cada mov en movs_posibles(g)
β=min(β,valorMax(aplicar(mov,g),α,β))
si α≥β entonces retorna(α)
fPara
retorna(β)
fsi
fFuncion
El recorrido se inicia llamando a la función valorMax con
α=-∞ y β=+∞.
En la función valorMax α es el valor que se actualiza.
En la función valorMin β es el valor que se actualiza.
A
C
B
E
D
3
{-∞, 3}
{-∞, +∞}
A
C
B
E
D
3 5
3
{-∞, 3}
A
C
B
D
3
F
{3, +∞}
G H
J
I
L
{3, +∞}
{3, +∞}
{3, +∞}
K
0
Se puede podar I
ya que es un nodo min y
el valor de
v(K) = 0 es < α = 3
{alpha = -∞, beta = +∞}
{3, +∞}
{-∞, +∞}
A
C
B
D
3
F
{3, +∞}
G H
{3, +∞}
J
5
5
{3, +∞}
A
C
B
D
3
F
{3, +∞}
G H
{3, 5}
5
M N
5 J 7
Podemos podar G pues es
un nodo max y el valor de
M (7) > β = 5
A
C
B
D
3
H
F
4
4
5 J
{3, 5}
5
4

Más contenido relacionado

Último

Características de los suelos como los histosoles.pptx
Características de los suelos como los histosoles.pptxCaracterísticas de los suelos como los histosoles.pptx
Características de los suelos como los histosoles.pptx
MONICADELROCIOMUNZON1
 
CARRETERAS MÁS IMPORTANTES DEL PERU ALESSANDRA.pptx
CARRETERAS MÁS IMPORTANTES DEL PERU ALESSANDRA.pptxCARRETERAS MÁS IMPORTANTES DEL PERU ALESSANDRA.pptx
CARRETERAS MÁS IMPORTANTES DEL PERU ALESSANDRA.pptx
0602021003
 
SLIDEHARE.docx..........................
SLIDEHARE.docx..........................SLIDEHARE.docx..........................
SLIDEHARE.docx..........................
azulsarase
 
Control de Diaphania hyalinata en campo.pptx
Control de Diaphania hyalinata en campo.pptxControl de Diaphania hyalinata en campo.pptx
Control de Diaphania hyalinata en campo.pptx
alexanderlara1198
 
TIA portal Bloques PLC Siemens______.pdf
TIA portal Bloques PLC Siemens______.pdfTIA portal Bloques PLC Siemens______.pdf
TIA portal Bloques PLC Siemens______.pdf
ArmandoSarco
 
Aletas (Superficies extendidas) y aislantes térmicos
Aletas (Superficies extendidas) y aislantes térmicosAletas (Superficies extendidas) y aislantes térmicos
Aletas (Superficies extendidas) y aislantes térmicos
FrancelisFernandez
 
Klohn Crippen Berger _ Brochure LAM .pdf
Klohn Crippen Berger _ Brochure LAM .pdfKlohn Crippen Berger _ Brochure LAM .pdf
Klohn Crippen Berger _ Brochure LAM .pdf
ciniguez1
 
Enjoy Pasto Bot - "Tu guía virtual para disfrutar del Carnaval de Negros y Bl...
Enjoy Pasto Bot - "Tu guía virtual para disfrutar del Carnaval de Negros y Bl...Enjoy Pasto Bot - "Tu guía virtual para disfrutar del Carnaval de Negros y Bl...
Enjoy Pasto Bot - "Tu guía virtual para disfrutar del Carnaval de Negros y Bl...
Eliana Gomajoa
 
561425171-5-1-Modelos-de-Pronosticos.pptx
561425171-5-1-Modelos-de-Pronosticos.pptx561425171-5-1-Modelos-de-Pronosticos.pptx
561425171-5-1-Modelos-de-Pronosticos.pptx
Angel Tello
 
Brigada de primeros auxilios presentación.pptx
Brigada de primeros auxilios presentación.pptxBrigada de primeros auxilios presentación.pptx
Brigada de primeros auxilios presentación.pptx
gerenciasisomaqgeren
 
Presentación 01 Curso de Introducción a Python.pdf
Presentación 01 Curso de Introducción a Python.pdfPresentación 01 Curso de Introducción a Python.pdf
Presentación 01 Curso de Introducción a Python.pdf
jorgecuasapaz182
 
MANUAL MONITOREO DEL SERVICIO DE INTERNET SATELITAL DEL MINEDU (CON ANTENAS ...
MANUAL MONITOREO DEL SERVICIO DE INTERNET  SATELITAL DEL MINEDU (CON ANTENAS ...MANUAL MONITOREO DEL SERVICIO DE INTERNET  SATELITAL DEL MINEDU (CON ANTENAS ...
MANUAL MONITOREO DEL SERVICIO DE INTERNET SATELITAL DEL MINEDU (CON ANTENAS ...
Ing. Julio Iván Mera Casas
 
Gravimetria-Amalgamacion-y-Flotacion-del-Oro-pptx.pptx
Gravimetria-Amalgamacion-y-Flotacion-del-Oro-pptx.pptxGravimetria-Amalgamacion-y-Flotacion-del-Oro-pptx.pptx
Gravimetria-Amalgamacion-y-Flotacion-del-Oro-pptx.pptx
RobertoChvez25
 
SESIÓN 3 ÓXIDOS-HIDRÓXIDOS trabajo virtual
SESIÓN 3 ÓXIDOS-HIDRÓXIDOS trabajo virtualSESIÓN 3 ÓXIDOS-HIDRÓXIDOS trabajo virtual
SESIÓN 3 ÓXIDOS-HIDRÓXIDOS trabajo virtual
JuanGavidia2
 
1°AIRE ACONDICIONADO-EQUIPOS & SISTEMAS.pdf
1°AIRE ACONDICIONADO-EQUIPOS & SISTEMAS.pdf1°AIRE ACONDICIONADO-EQUIPOS & SISTEMAS.pdf
1°AIRE ACONDICIONADO-EQUIPOS & SISTEMAS.pdf
luliolivera62
 
Carlos Augusto da Silva Lins todosIngressantes2024-1.pdf
Carlos Augusto da Silva Lins todosIngressantes2024-1.pdfCarlos Augusto da Silva Lins todosIngressantes2024-1.pdf
Carlos Augusto da Silva Lins todosIngressantes2024-1.pdf
juntosvenceremosbras
 
Nivelación topográfica tipos de nivelación
Nivelación topográfica tipos de nivelaciónNivelación topográfica tipos de nivelación
Nivelación topográfica tipos de nivelación
waldir orosco tinta
 
Infografia - Hugo Hidalgo - Construcción
Infografia - Hugo Hidalgo - ConstrucciónInfografia - Hugo Hidalgo - Construcción
Infografia - Hugo Hidalgo - Construcción
MaraManuelaUrribarri
 
chancadoras.............................
chancadoras.............................chancadoras.............................
chancadoras.............................
ssuser8827cb1
 
Fundamentos-Ensayos-Al-Fuego de oro y plata
Fundamentos-Ensayos-Al-Fuego de oro  y plataFundamentos-Ensayos-Al-Fuego de oro  y plata
Fundamentos-Ensayos-Al-Fuego de oro y plata
RobertoChvez25
 

Último (20)

Características de los suelos como los histosoles.pptx
Características de los suelos como los histosoles.pptxCaracterísticas de los suelos como los histosoles.pptx
Características de los suelos como los histosoles.pptx
 
CARRETERAS MÁS IMPORTANTES DEL PERU ALESSANDRA.pptx
CARRETERAS MÁS IMPORTANTES DEL PERU ALESSANDRA.pptxCARRETERAS MÁS IMPORTANTES DEL PERU ALESSANDRA.pptx
CARRETERAS MÁS IMPORTANTES DEL PERU ALESSANDRA.pptx
 
SLIDEHARE.docx..........................
SLIDEHARE.docx..........................SLIDEHARE.docx..........................
SLIDEHARE.docx..........................
 
Control de Diaphania hyalinata en campo.pptx
Control de Diaphania hyalinata en campo.pptxControl de Diaphania hyalinata en campo.pptx
Control de Diaphania hyalinata en campo.pptx
 
TIA portal Bloques PLC Siemens______.pdf
TIA portal Bloques PLC Siemens______.pdfTIA portal Bloques PLC Siemens______.pdf
TIA portal Bloques PLC Siemens______.pdf
 
Aletas (Superficies extendidas) y aislantes térmicos
Aletas (Superficies extendidas) y aislantes térmicosAletas (Superficies extendidas) y aislantes térmicos
Aletas (Superficies extendidas) y aislantes térmicos
 
Klohn Crippen Berger _ Brochure LAM .pdf
Klohn Crippen Berger _ Brochure LAM .pdfKlohn Crippen Berger _ Brochure LAM .pdf
Klohn Crippen Berger _ Brochure LAM .pdf
 
Enjoy Pasto Bot - "Tu guía virtual para disfrutar del Carnaval de Negros y Bl...
Enjoy Pasto Bot - "Tu guía virtual para disfrutar del Carnaval de Negros y Bl...Enjoy Pasto Bot - "Tu guía virtual para disfrutar del Carnaval de Negros y Bl...
Enjoy Pasto Bot - "Tu guía virtual para disfrutar del Carnaval de Negros y Bl...
 
561425171-5-1-Modelos-de-Pronosticos.pptx
561425171-5-1-Modelos-de-Pronosticos.pptx561425171-5-1-Modelos-de-Pronosticos.pptx
561425171-5-1-Modelos-de-Pronosticos.pptx
 
Brigada de primeros auxilios presentación.pptx
Brigada de primeros auxilios presentación.pptxBrigada de primeros auxilios presentación.pptx
Brigada de primeros auxilios presentación.pptx
 
Presentación 01 Curso de Introducción a Python.pdf
Presentación 01 Curso de Introducción a Python.pdfPresentación 01 Curso de Introducción a Python.pdf
Presentación 01 Curso de Introducción a Python.pdf
 
MANUAL MONITOREO DEL SERVICIO DE INTERNET SATELITAL DEL MINEDU (CON ANTENAS ...
MANUAL MONITOREO DEL SERVICIO DE INTERNET  SATELITAL DEL MINEDU (CON ANTENAS ...MANUAL MONITOREO DEL SERVICIO DE INTERNET  SATELITAL DEL MINEDU (CON ANTENAS ...
MANUAL MONITOREO DEL SERVICIO DE INTERNET SATELITAL DEL MINEDU (CON ANTENAS ...
 
Gravimetria-Amalgamacion-y-Flotacion-del-Oro-pptx.pptx
Gravimetria-Amalgamacion-y-Flotacion-del-Oro-pptx.pptxGravimetria-Amalgamacion-y-Flotacion-del-Oro-pptx.pptx
Gravimetria-Amalgamacion-y-Flotacion-del-Oro-pptx.pptx
 
SESIÓN 3 ÓXIDOS-HIDRÓXIDOS trabajo virtual
SESIÓN 3 ÓXIDOS-HIDRÓXIDOS trabajo virtualSESIÓN 3 ÓXIDOS-HIDRÓXIDOS trabajo virtual
SESIÓN 3 ÓXIDOS-HIDRÓXIDOS trabajo virtual
 
1°AIRE ACONDICIONADO-EQUIPOS & SISTEMAS.pdf
1°AIRE ACONDICIONADO-EQUIPOS & SISTEMAS.pdf1°AIRE ACONDICIONADO-EQUIPOS & SISTEMAS.pdf
1°AIRE ACONDICIONADO-EQUIPOS & SISTEMAS.pdf
 
Carlos Augusto da Silva Lins todosIngressantes2024-1.pdf
Carlos Augusto da Silva Lins todosIngressantes2024-1.pdfCarlos Augusto da Silva Lins todosIngressantes2024-1.pdf
Carlos Augusto da Silva Lins todosIngressantes2024-1.pdf
 
Nivelación topográfica tipos de nivelación
Nivelación topográfica tipos de nivelaciónNivelación topográfica tipos de nivelación
Nivelación topográfica tipos de nivelación
 
Infografia - Hugo Hidalgo - Construcción
Infografia - Hugo Hidalgo - ConstrucciónInfografia - Hugo Hidalgo - Construcción
Infografia - Hugo Hidalgo - Construcción
 
chancadoras.............................
chancadoras.............................chancadoras.............................
chancadoras.............................
 
Fundamentos-Ensayos-Al-Fuego de oro y plata
Fundamentos-Ensayos-Al-Fuego de oro  y plataFundamentos-Ensayos-Al-Fuego de oro  y plata
Fundamentos-Ensayos-Al-Fuego de oro y plata
 

Destacado

2024 State of Marketing Report – by Hubspot
2024 State of Marketing Report – by Hubspot2024 State of Marketing Report – by Hubspot
2024 State of Marketing Report – by Hubspot
Marius Sescu
 
Everything You Need To Know About ChatGPT
Everything You Need To Know About ChatGPTEverything You Need To Know About ChatGPT
Everything You Need To Know About ChatGPT
Expeed Software
 
Product Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage EngineeringsProduct Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage Engineerings
Pixeldarts
 
How Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental HealthHow Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental Health
ThinkNow
 
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdfAI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
marketingartwork
 
Skeleton Culture Code
Skeleton Culture CodeSkeleton Culture Code
Skeleton Culture Code
Skeleton Technologies
 
PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024
Neil Kimberley
 
Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)
contently
 
How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024
Albert Qian
 
Social Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsSocial Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie Insights
Kurio // The Social Media Age(ncy)
 
Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024
Search Engine Journal
 
5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary
SpeakerHub
 
ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd
Clark Boyd
 
Getting into the tech field. what next
Getting into the tech field. what next Getting into the tech field. what next
Getting into the tech field. what next
Tessa Mero
 
Google's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentGoogle's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search Intent
Lily Ray
 
How to have difficult conversations
How to have difficult conversations How to have difficult conversations
How to have difficult conversations
Rajiv Jayarajah, MAppComm, ACC
 
Introduction to Data Science
Introduction to Data ScienceIntroduction to Data Science
Introduction to Data Science
Christy Abraham Joy
 
Time Management & Productivity - Best Practices
Time Management & Productivity -  Best PracticesTime Management & Productivity -  Best Practices
Time Management & Productivity - Best Practices
Vit Horky
 
The six step guide to practical project management
The six step guide to practical project managementThe six step guide to practical project management
The six step guide to practical project management
MindGenius
 
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
RachelPearson36
 

Destacado (20)

2024 State of Marketing Report – by Hubspot
2024 State of Marketing Report – by Hubspot2024 State of Marketing Report – by Hubspot
2024 State of Marketing Report – by Hubspot
 
Everything You Need To Know About ChatGPT
Everything You Need To Know About ChatGPTEverything You Need To Know About ChatGPT
Everything You Need To Know About ChatGPT
 
Product Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage EngineeringsProduct Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage Engineerings
 
How Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental HealthHow Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental Health
 
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdfAI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
 
Skeleton Culture Code
Skeleton Culture CodeSkeleton Culture Code
Skeleton Culture Code
 
PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024
 
Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)
 
How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024
 
Social Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsSocial Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie Insights
 
Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024
 
5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary
 
ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd
 
Getting into the tech field. what next
Getting into the tech field. what next Getting into the tech field. what next
Getting into the tech field. what next
 
Google's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentGoogle's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search Intent
 
How to have difficult conversations
How to have difficult conversations How to have difficult conversations
How to have difficult conversations
 
Introduction to Data Science
Introduction to Data ScienceIntroduction to Data Science
Introduction to Data Science
 
Time Management & Productivity - Best Practices
Time Management & Productivity -  Best PracticesTime Management & Productivity -  Best Practices
Time Management & Productivity - Best Practices
 
The six step guide to practical project management
The six step guide to practical project managementThe six step guide to practical project management
The six step guide to practical project management
 
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
 

gato-tictactoe-120725114620-phpapp02.pptx

  • 1. Análisis y Simulación de Decisiones José Enrique Alvarez Estrada Basado en un material elaborado por el Prof. Luigi Ceccaroni
  • 2. Juegos La teoría de juegos es un área de la matemática aplicada que utiliza modelos para estudiar interacciones en estructuras formalizadas de incentivos (los llamados juegos) y llevar a cabo procesos de decisión
  • 3. Juegos • Los juegos más simples que se estudian en Toma de Decisiones son aquellos: – De suma cero (lo que uno gana, el otro lo pierde y viceversa) – De dos jugadores (jugador MAX, jugador MIN) – Por turnos – De información perfecta (ajedrez, damas, tres en raya, etc.) – O de información imperfecta (poker, stratego, bridge...) – Deterministas
  • 4. Juegos • Los juegos son interesantes porque son demasiado difíciles de resolver. • El ajedrez, por ejemplo, tiene un factor de ramificación promedio de 35 y los juegos van a menudo a 50 movimientos por cada jugador: – grafo de búsqueda: aproximadamente 1040 nodos distintos – árbol de búsqueda: 35100 o 10154 nodos • Como en el mundo real, se requiere de tomar alguna decisión (la jugada) cuando es infactible calcular la decisión óptima.
  • 5. Decisiones óptimas en juegos • Un juego puede definirse formalmente mediante: – Un estado inicial – Una función sucesor, que devuelve una lista de pares (movimiento, estado) – Una prueba terminal, que determina cuándo termina el juego (por estructura o propiedades o función utilidad) – Una función utilidad 5
  • 7. Búsqueda exhaustiva • 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 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. • Incluso un juego simple como tic-tac-toe es demasiado complejo para dibujar el árbol completo
  • 10. Búsqueda exhaustiva • 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.
  • 11. Ejemplo: tic-tac-toe e = P - P MAX MIN donde: – e = función utilidad – PMAX = número de filas, columnas y diagonales completas disponibles para MAX – PMIN = número de filas, columnas y diagonales completas disponibles para MIN • MAX juega con ✘ y desea maximizar e • MIN juega con O 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)
  • 17. tic-tac-toe: jugada #1 6-5=1 5-5=0 6-5=1 5-5=0
  • 18. tic-tac-toe: jugada #1 6-5=1 5-5=0 6-5=1 5-5=0 4-5=-1
  • 19. tic-tac-toe: jugada #1 MIN = -1 6-5=1 5-5=0 6-5=1 5-5=0 4-5=-1
  • 20. tic-tac-toe: jugada #1 juega MAX MIN = -1 6-5=1 5-5=0 6-5=1 5-5=0 4-5=-1
  • 21. tic-tac-toe: jugada #1 6-5=1 5-5=0 6-5=1 5-5=0 4-5=-1 MIN = -1 juega MIN 5-4=1
  • 22. tic-tac-toe: jugada #1 MIN = -1 6-5=1 5-5=0 6-5=1 5-5=0 4-5=-1 5-4=1 6-4=2
  • 23. tic-tac-toe: jugada #1 MIN = -1 6-5=1 5-5=0 6-5=1 5-5=0 4-5=-1 MIN = 1 5-4=1 6-4=2
  • 24. tic-tac-toe: jugada #1 MIN = -1 6-5=1 5-5=0 6-5=1 5-5=0 4-5=-1 MIN = 1 5-4=1 6-4=2 juega MAX
  • 25. tic-tac-toe: jugada #1 MIN = -1 6-5=1 5-5=0 6-5=1 5-5=0 4-5=-1 5-6=-1 MIN = 1 5-4=1 6-4=2 juega MIN
  • 26. tic-tac-toe: jugada #1 MIN = -1 6-5=1 5-5=0 6-5=1 5-5=0 4-5=-1 5-6=-1 6-6=0 MIN = 1 5-4=1 6-4=2
  • 27. tic-tac-toe: jugada #1 MIN = -1 6-5=1 5-5=0 6-5=1 5-5=0 4-5=-1 5-6=-1 6-6=0 6-6=0 MIN = 1 5-4=1 6-4=2
  • 28. tic-tac-toe: jugada #1 MIN = -1 6-5=1 5-5=0 6-5=1 5-5=0 4-5=-1 5-6=-1 6-6=0 6-6=0 5-6=-1 MIN = 1 5-4=1 6-4=2
  • 29. tic-tac-toe: jugada #1 MIN = -1 6-5=1 5-5=0 6-5=1 5-5=0 4-5=-1 5-6=-1 6-6=0 6-6=0 5-6=-1 4-6=-2 MIN = 1 5-4=1 6-4=2
  • 30. tic-tac-toe: jugada #1 MIN = -1 6-5=1 5-5=0 6-5=1 5-5=0 4-5=-1 5-6=-1 6-6=0 6-6=0 5-6=-1 4-6=-2 MIN = 1 MIN = -2 5-4=1 6-4=2
  • 31. tic-tac-toe: jugada #1 MIN = -1 6-5=1 5-5=0 6-5=1 5-5=0 4-5=-1 5-6=-1 6-6=0 6-6=0 5-6=-1 4-6=-2 MIN = 1 MIN = -2 5-4=1 6-4=2
  • 32. tic-tac-toe: jugada #1 MIN = -1 MAX = 1 6-5=1 5-5=0 6-5=1 5-5=0 4-5=-1 5-6=-1 6-6=0 6-6=0 5-6=-1 4-6=-2 MIN = 1 MIN = -2 5-4=1 6-4=2
  • 33. tic-tac-toe: jugada #1 MIN = -1 MAX = 1 6-5=1 5-5=0 6-5=1 5-5=0 4-5=-1 5-6=-1 4-6=-2 MIN = 1 MIN = -2 5-4=1 6-4=2 Por tanto, la mejor jugad5a-6d=-e1M 6 - A 6 = X 0 e6s-6=0
  • 34. tic-tac-toe: jugada #1 MIN = -1 MAX = 1 6-5=1 5-5=0 6-5=1 5-5=0 4-5=-1 5-6=-1 6-6=0 6-6=0 5-6=-1 4-6=-2 MIN = 1 MIN = -2 5-4=1 6-4=2 tras lo cual MIN debería jugar
  • 43. MIN = 0 tic-tac-toe: jugada #2 4-2=2 3-2=1 5-2=3 2-2=0 4-2=2 3-2=1
  • 44. MIN = 0 tic-tac-toe: jugada #2 4-2=2 3-2=1 5-2=3 2-2=0 4-2=2 3-2=1 juega MAX
  • 45. MIN = 0 tic-tac-toe: jugada #2 4-2=2 3-2=1 5-2=3 2-2=0 4-2=2 3-2=1 4-3=1 juega MIN
  • 46. MIN = 0 tic-tac-toe: jugada #2 4-2=2 3-2=1 5-2=3 2-2=0 4-2=2 3-2=1 4-3=1 3-3=0
  • 47. MIN = 0 tic-tac-toe: jugada #2 4-2=2 3-2=1 5-2=3 2-2=0 4-2=2 3-2=1 4-3=1 3-3=0 5-3=2
  • 48. MIN = 0 tic-tac-toe: jugada #2 4-2=2 3-2=1 5-2=3 2-2=0 4-2=2 3-2=1 4-3=1 3-3=0 5-3=2 3-3=0
  • 49. MIN = 0 tic-tac-toe: jugada #2 4-2=2 3-2=1 5-2=3 2-2=0 4-2=2 3-2=1 4-3=1 3-3=0 5-3=2 3-3=0 4-3=1
  • 50. MIN = 0 tic-tac-toe: jugada #2 4-2=2 3-2=1 5-2=3 2-2=0 4-2=2 3-2=1 4-3=1 3-3=0 5-3=2 3-3=0 4-3=1 4-3=1
  • 51. MIN = 0 MIN = 0 tic-tac-toe: jugada #2 4-2=2 3-2=1 5-2=3 2-2=0 4-2=2 3-2=1 4-3=1 3-3=0 5-3=2 3-3=0 4-3=1 4-3=1
  • 52. MIN = 0 MIN = 0 tic-tac-toe: jugada #2 4-2=2 3-2=1 5-2=3 2-2=0 4-2=2 3-2=1 4-3=1 3-3=0 5-3=2 3-3=0 4-3=1 4-3=1 juega MAX
  • 53. MIN = 0 MIN = 0 tic-tac-toe: jugada #2 4-2=2 3-2=1 5-2=3 2-2=0 4-2=2 3-2=1 4-2=2 4-3=1 3-3=0 5-3=2 3-3=0 4-3=1 4-3=1 juega MIN
  • 54. MIN = 0 MIN = 0 tic-tac-toe: jugada #2 4-2=2 3-2=1 5-2=3 2-2=0 4-2=2 3-2=1 4-2=2 4-2=2 4-3=1 3-3=0 5-3=2 3-3=0 4-3=1 4-3=1
  • 55. MIN = 0 MIN = 0 tic-tac-toe: jugada #2 4-2=2 3-2=1 5-2=3 2-2=0 4-2=2 3-2=1 4-2=2 4-2=2 5-2=3 4-3=1 3-3=0 5-3=2 3-3=0 4-3=1 4-3=1
  • 56. MIN = 0 MIN = 0 tic-tac-toe: jugada #2 4-2=2 3-2=1 5-2=3 2-2=0 4-2=2 3-2=1 4-2=2 4-2=2 5-2=3 3-2=1 4-3=1 3-3=0 5-3=2 3-3=0 4-3=1 4-3=1
  • 57. MIN = 0 MIN = 0 tic-tac-toe: jugada #2 4-2=2 3-2=1 5-2=3 2-2=0 4-2=2 3-2=1 4-2=2 4-2=2 5-2=3 3-2=1 4-2=2 4-3=1 3-3=0 5-3=2 3-3=0 4-3=1 4-3=1
  • 58. MIN = 0 MIN = 0 tic-tac-toe: jugada #2 4-2=2 3-2=1 5-2=3 2-2=0 4-2=2 3-2=1 4-2=2 4-2=2 5-2=3 3-2=1 4-2=2 4-2=2 4-3=1 3-3=0 5-3=2 3-3=0 4-3=1 4-3=1
  • 59. MIN = 0 MIN = 0 MIN = 1 tic-tac-toe: jugada #2 4-2=2 3-2=1 5-2=3 2-2=0 4-2=2 3-2=1 4-2=2 4-2=2 5-2=3 3-2=1 4-2=2 4-2=2 4-3=1 3-3=0 5-3=2 3-3=0 4-3=1 4-3=1
  • 60. MIN = 0 MIN = 0 MIN = 1 MAX = 1 tic-tac-toe: jugada #2 4-2=2 3-2=1 5-2=3 2-2=0 4-2=2 3-2=1 4-2=2 4-2=2 5-2=3 3-2=1 4-2=2 4-2=2 4-3=1 3-3=0 5-3=2 3-3=0 4-3=1 4-3=1 4-3=1
  • 61. MIN = 0 MIN = 0 MIN = 1 MAX = 1 tic-tac-toe: jugada #2 4-2=2 3-2=1 5-2=3 2-2=0 4-2=2 3-2=1 4-2=2 4-2=2 5-2=3 3-2=1 4-2=2 4-2=2 4-3=1 3-3=0 5-3=2 3-3=0 4-3=1 4-3=1 4-3=1 4-3=1
  • 62. MIN = 0 MIN = 0 MIN = 1 MAX = 1 tic-tac-toe: jugada #2 4-2=2 3-2=1 5-2=3 2-2=0 4-2=2 3-2=1 4-2=2 4-2=2 5-2=3 3-2=1 4-2=2 4-2=2 4-3=1 3-3=0 5-3=2 3-3=0 4-3=1 4-3=1 4-3=1 3-3=0 4-3=1
  • 63. MIN = 0 MIN = 0 MIN = 1 MAX = 1 tic-tac-toe: jugada #2 4-2=2 3-2=1 5-2=3 2-2=0 4-2=2 3-2=1 4-2=2 4-2=2 5-2=3 3-2=1 4-2=2 4-2=2 4-3=1 3-3=0 5-3=2 3-3=0 4-3=1 4-3=1 4-3=1 3-3=0 4-3=1 3-3=0
  • 64. MIN = 0 MIN = 0 MIN = 1 MAX = 1 tic-tac-toe: jugada #2 4-2=2 3-2=1 5-2=3 2-2=0 4-2=2 3-2=1 4-2=2 4-2=2 5-2=3 3-2=1 4-2=2 4-2=2 4-3=1 3-3=0 5-3=2 3-3=0 4-3=1 4-3=1 4-3=1 3-3=0 4-3=1 3-3=0 3-3=0
  • 65. MIN = 0 MIN = 0 MIN = 1 MAX = 1 tic-tac-toe: jugada #2 4-2=2 3-2=1 5-2=3 2-2=0 4-2=2 3-2=1 4-2=2 4-2=2 5-2=3 3-2=1 4-2=2 4-2=2 4-3=1 3-3=0 5-3=2 3-3=0 4-3=1 4-3=1 4-3=1 3-3=0 4-3=1 3-3=0 3-3=0 3-3=0
  • 66. MIN = 0 MIN = 0 MIN = 1 MIN = 0 MAX = 1 tic-tac-toe: jugada #2 4-2=2 3-2=1 5-2=3 2-2=0 4-2=2 3-2=1 4-2=2 4-2=2 5-2=3 3-2=1 4-2=2 4-2=2 4-3=1 3-3=0 5-3=2 3-3=0 4-3=1 4-3=1 4-3=1 3-3=0 4-3=1 3-3=0 3-3=0 3-3=0
  • 67. MIN = 0 MIN = 0 MIN = 1 MIN = 0 MAX = 1 La mejor jugada de MAX es pues tras lo cual MIN podría jugar 0 X X 0 0 X X tic-tac-toe: jugada #2 4-2=2 3-2=1 5-2=3 2-2=0 4-2=2 3-2=1 4-2=2 4-2=2 5-2=3 3-2=1 4-2=2 4-2=2 4-3=1 3-3=0 5-3=2 3-3=0 4-3=1 4-3=1 4-3=1 3-3=0 4-3=1 3-3=0 3-3=0 3-3=0
  • 68. 0 0 X X 0 X 0 X X X 0 0 X X 0 X X 0 X 0 0 X X X 0 0 X X X MIN = - 0 X 0 0 X X X 0 0 X X 0 X 0 X 0 X 0 X 0 0 X 0 X 2-1=1 3-1=2 2-1=1 3-1=2 MIN = 1 MIN = - MIN = - MIN = - MAX = 1 La mejor jugada de MAX es pues: X 0 0 X X Ejemplo: tic-tac-toe • Por convención: – las jugadas ganadoras se evalúan a “+” – las jugadas perdedoras se evalúan a “-”
  • 69. Minimax • Valor-Minimax(n): utilidad para MAX de estar en el estado n asumiendo que ambos jugadores jueguen óptimamente.
  • 70. Minimax • 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
  • 71. 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.
  • 72. Algoritmo minimax A • 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. B
  • 73. Algoritmo minimax A • Entonces el algoritmo toma el mínimo de estos valores, 3, y lo devuelve como el valor del nodo B. B
  • 74. Algoritmo minimax • Realiza una exploración primero en profundidad completa del árbol de juegos. • Si la profundidad máxima del árbol es m, y hay b movimientos legales en cada punto, entonces la complejidad : – en tiempo es O(bm); – en espacio es • O(bm) si se generan todos los sucesores a la vez; • 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 primer análisis matemático y para algoritmos más prácticos.
  • 75. Algoritmo minimax función Decisión-Minimax(estado) devuelve una acción variables de entrada: estado, estado actual del juego v ← Max-Valor(estado) devolver la acción de Sucesores(estado) con valor v función Max-Valor(estado) devuelve un valor utilidad si Test-Terminal(estado) entonces devolver Utilidad (estado) v ← -∞ para un s en Sucesores(estado) hacer v ← Max(v, Min-Valor(s)) devolver v función Min-Valor(estado) devuelve un valor utilidad si Test-Terminal(estado) entonces devolver Utilidad (estado) v ← ∞ para un s en Sucesores(estado) hacer v ← Min(v, Max-Valor(s)) devolver v
  • 76. 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.
  • 77. Minimax con poda α - β a c b e = min(-1, ?) = -1 -1 (gana MIN) ? No tiene sentido seguir buscando los otros descendientes de c. a c g d e -0.1 f -0.05 b 0.03 e= max (-0.1, -0.05) = -0.05 En c: e= min(-0.05, v(g)) por lo tanto en a: e = max(0.03, min(-0.05, v(g))) = 0.03 Se pueden pues podar los nodos bajo g; no aportan nada. ? El valor de la raíz y la decisión minimax son independientes de los valores de las hojas podadas.
  • 78. a c b i d 0.03 h e g f -0.1 max min max min max e(e) = min(-0.1,v(g)) Como la rama b ya da un 0.03, Cualquier cosa peor no sirve => No hay que explorar g e(d) = max(e(e), h) => Sí hay que explorar h ... La búsqueda minimax es primero en profundidad: en cualquier momento sólo se consideran los nodos a lo largo de un camino del árbol. Minimax con poda α - β
  • 79. 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.
  • 85. MAX Vi {α, β} Si Vi ≥ β poda β Si Vi > α modificar α Retornar α {α, β} Si Vi ≤ α poda α Si Vi < β modificar β Retornar β MIN Vi Las cotas α y β se transmiten de padres a hijos de 1 en 1 y en el orden de visita de los nodos. Poda alfa-beta
  • 86. Minimax con poda α - β Funcion valorMax (g,α,β) retorna entero Si estado_terminal(g) entonces retorna(evaluacion(g)) si no Para cada mov en movs_posibles(g) α=max(α,valorMin(aplicar(mov,g),α,β)) si α≥β entonces retorna(β) fPara retorna(α) fsi fFuncion Funcion valorMin (g,α,β) retorna entero Si estado_terminal(g) entonces retorna(evaluacion(g)) si no Para cada mov en movs_posibles(g) β=min(β,valorMax(aplicar(mov,g),α,β)) si α≥β entonces retorna(α) fPara retorna(β) fsi fFuncion El recorrido se inicia llamando a la función valorMax con α=-∞ y β=+∞. En la función valorMax α es el valor que se actualiza. En la función valorMin β es el valor que se actualiza.
  • 87. A C B E D 3 {-∞, 3} {-∞, +∞} A C B E D 3 5 3 {-∞, 3} A C B D 3 F {3, +∞} G H J I L {3, +∞} {3, +∞} {3, +∞} K 0 Se puede podar I ya que es un nodo min y el valor de v(K) = 0 es < α = 3 {alpha = -∞, beta = +∞} {3, +∞} {-∞, +∞}
  • 88. A C B D 3 F {3, +∞} G H {3, +∞} J 5 5 {3, +∞} A C B D 3 F {3, +∞} G H {3, 5} 5 M N 5 J 7 Podemos podar G pues es un nodo max y el valor de M (7) > β = 5 A C B D 3 H F 4 4 5 J {3, 5} 5 4