0% encontró este documento útil (0 votos)
342 vistas25 páginas

Algoritmo Minimax en Búsqueda de Dos Agentes

El documento describe diferentes algoritmos para la búsqueda de dos agentes, incluyendo la caracterización del problema, el algoritmo minimax, y el algoritmo alfa-beta. Explica cómo estos algoritmos pueden usarse para resolver juegos como el tic-tac-toe evaluando las posibles jugadas de cada agente.

Cargado por

BORA12
Derechos de autor
© Attribution Non-Commercial (BY-NC)
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
342 vistas25 páginas

Algoritmo Minimax en Búsqueda de Dos Agentes

El documento describe diferentes algoritmos para la búsqueda de dos agentes, incluyendo la caracterización del problema, el algoritmo minimax, y el algoritmo alfa-beta. Explica cómo estos algoritmos pueden usarse para resolver juegos como el tic-tac-toe evaluando las posibles jugadas de cada agente.

Cargado por

BORA12
Derechos de autor
© Attribution Non-Commercial (BY-NC)
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd

Búsqueda de dos agentes

Búsqueda

Grupo de Planificación y Aprendizaje (PLG)


Departamento de Informática
Escuela Politécnica Superior
Universidad Carlos III de Madrid

22 de diciembre de 2008

Búsqueda
Caracterización del problema
Algoritmo Minimax
Búsqueda de dos agentes
Algoritmo Alfa-Beta
Otras técnicas

Búsqueda de dos agentes

Búsqueda

Grupo de Planificación y Aprendizaje (PLG)


Departamento de Informática
Escuela Politécnica Superior
Universidad Carlos III de Madrid

22 de diciembre de 2008

Búsqueda
Caracterización del problema
Algoritmo Minimax
Búsqueda de dos agentes
Algoritmo Alfa-Beta
Otras técnicas

En Esta Sección:

1 Búsqueda de dos agentes


Caracterización del problema
Algoritmo Minimax
Algoritmo Alfa-Beta
Otras técnicas

Búsqueda
Caracterización del problema
Algoritmo Minimax
Búsqueda de dos agentes
Algoritmo Alfa-Beta
Otras técnicas

Caracterización del problema

Suma nula: lo que gana uno, lo pierde el otro


Dos agentes (se puede generalizar, Maxn )
Información completa: se conoce en cada momento el
estado completo del juego
Deterministas o de información perfecta: no entra en juego
el azar (se puede generalizar)
Alternados: las decisiones de cada agente se toman de forma
alternada

Búsqueda
Caracterización del problema
Algoritmo Minimax
Búsqueda de dos agentes
Algoritmo Alfa-Beta
Otras técnicas

Resolución con función de evaluación perfecta

n0

n1 n2 n3

f ∗ (n) = 2 −3 8

Problema
Normalmente, no se conoce dicha función

Búsqueda
Caracterización del problema
Algoritmo Minimax
Búsqueda de dos agentes
Algoritmo Alfa-Beta
Otras técnicas

Resolución con búsqueda completa

+∞ n0

0 n1 −∞ n2 +∞ n3

Observaciones
Nodos hoja: ganar (∞), perder (−∞) o empatar (0)
Problema: es intratable; no se puede realizar en un tiempo
razonable

Búsqueda
Caracterización del problema
Algoritmo Minimax
Búsqueda de dos agentes
Algoritmo Alfa-Beta
Otras técnicas

Algoritmo Minimax
vi : Nodos max (juega el Minimax)
vi 1 : Nodos min (juega el oponente)

4 1 -3 1 -2 1

4 10 12 -3 20 -2
+∞

1 1 1 1 1 1 1 1 1 1 1

3 4 −∞ 10 12 3 -3 5 20 -4 -2
Búsqueda
Caracterización del problema
Algoritmo Minimax
Búsqueda de dos agentes
Algoritmo Alfa-Beta
Otras técnicas

Cálculo del valor de cada nodo

Minimax


 +∞ si n es una situación ganadora
−∞ si n es una situación perdedora




0 si n es una situación de empate

f (n) =
 fev (n)
 si p = Profundidad-máxima
 máxSi ∈S(n) f (Si ) si n es nodo max y p < pmax



mı́nSi ∈S(n) f (Si ) si n es nodo min y p < pmax

Negamax

fev (n) si d = 0
f (n) =
máx(−f (S1 ), ..., −f (Sk )) si d > 0

Búsqueda
Caracterización del problema
Algoritmo Minimax
Búsqueda de dos agentes
Algoritmo Alfa-Beta
Otras técnicas

Algoritmo minimax
Procedimiento Minimax (Situación Profundidad)
SI Profundidad = pmax
ENTONCES devolver evaluación (Situación)
SI NO SI ganadora (Situación)
ENTONCES devolver + ∞
SI NO SI perdedora (Situación)
ENTONCES devolver - ∞
SI NO SI empate (Situación)
ENTONCES devolver 0
SI NO
S = sucesores (Situación)
L = lista de llamadas al MINIMAX (Si ∈ S, Profundidad + 1)
SI nivel-max (Profundidad)
ENTONCES devolver max (L)
SI NO devolver min (L)

Búsqueda
Caracterización del problema
Algoritmo Minimax
Búsqueda de dos agentes
Algoritmo Alfa-Beta
Otras técnicas

Tic-tac-toe – Minimax

Función de evaluación f (n): número de posibilidades de hacer


tres en raya del jugador menos número de posibilidades de
hacer tres en raya del oponente
Si colocamos la primera ficha en:
el centro: 4 posibilidades para hacer 3 en raya
(f (n) = 4 − 4 = 0)
en una esquina: 3 posibilidades (f (n) = 3 − 5 = −2)
en el centro de un lateral: 2 posibilidades (f (n) = 2 − 6 = −4)

Búsqueda
Caracterización del problema
Algoritmo Minimax
Búsqueda de dos agentes
Algoritmo Alfa-Beta
Otras técnicas

Tic-tac-toe – Minimax

X
X X X X
X
1

X X X X X X
X X X X X X

4−2=2 4−2=2 4−2=2 3−2=1 5−2=3 3−2=1

Búsqueda
Caracterización del problema
Algoritmo Minimax
Búsqueda de dos agentes
Algoritmo Alfa-Beta
Otras técnicas

Tic-tac-toe – Minimax

X
X X X X
X
1 0

X X X X X X X X X X X X

4−3=1 4−3=1 4−3=1 3−3=0 4−3=1 3−3=0

Búsqueda
Caracterización del problema
Algoritmo Minimax
Búsqueda de dos agentes
Algoritmo Alfa-Beta
Otras técnicas

Tic-tac-toe – Minimax

X
X X X X
X
1 0 1

X X X X X X
X X X X X X
4−2=2 4−2=2 4−2=2 4−2=2 4−2=2 3−2=1

Búsqueda
Caracterización del problema
Algoritmo Minimax
Búsqueda de dos agentes
Algoritmo Alfa-Beta
Otras técnicas

Poda en los nodos max

α= 4
β=+∞

α= 4
β=+∞; 6; 3
1 4>3
4

6
3

Búsqueda
Caracterización del problema
Algoritmo Minimax
Búsqueda de dos agentes
Algoritmo Alfa-Beta
Otras técnicas

Poda en los nodos min

α=−∞
1
β= 4

α=−∞; 2; 6
β= 4 6>4
4

1
2
6

Búsqueda
Caracterización del problema
Algoritmo Minimax
Búsqueda de dos agentes
Algoritmo Alfa-Beta
Otras técnicas

Poda Alfa-Beta

Nodos max: se utiliza el parámetro α para guardar el valor


máximo de los sucesores encontrado hasta el momento.
α0 = −∞
Nodos min: se utiliza el parámetro β para guardar el valor
mı́nimo de los sucesores encontrado hasta el momento.
β0 = +∞
Poda en los nodos max:

αp ≥ βp−1
Poda en los nodos min:

βp ≤ αp−1

Búsqueda
Caracterización del problema
Algoritmo Minimax
Búsqueda de dos agentes
Algoritmo Alfa-Beta
Otras técnicas

Alfa-Beta: Ejemplo

5 1 4 1 8 1

5 9 7 4 20 8 10

1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1

3 5 4 6 9 6 7 4 20 1 -3 10 8 5 10 1 -5

Búsqueda
Caracterización del problema
Algoritmo Minimax
Búsqueda de dos agentes
Algoritmo Alfa-Beta
Otras técnicas

Alfa-Beta: Ejemplo

α=−∞ α=−∞; 5
β=+∞ β= +∞

5
α=−∞ α= −∞
1 1 1
β=+∞ β=+∞; 5
6
5
α=−∞ α=−∞; 3; 5 α=−∞ α=−∞; 6
β=+∞ β= +∞ β= 5 β= 5
4
5 6
3
α=−∞ α= 3 α= 5 α=−∞
1 1 1 β= 5 1
β=+∞ β=+∞ β=+∞ Poda (6 ≥ 5)
3 5 4 6

Búsqueda
Caracterización del problema
Algoritmo Minimax
Búsqueda de dos agentes
Algoritmo Alfa-Beta
Otras técnicas

Alfa-Beta: Ejemplo

α= 5 α= 5
β=+∞ β=+∞

5
5
α= 5 α= 5
1 1 1
β=+∞ β=+∞; 7; 5
5
5
7
α= 5 α=5; 6; 7 α=5 α=5
β=+∞ β= +∞ β=7 β=7 Poda (5 ≥ 5)
7
6 4

α= 5 α= 6 α=5
β=+∞ 1 β=+∞ 1 β=7 1
6 7 4

Búsqueda
Caracterización del problema
Algoritmo Minimax
Búsqueda de dos agentes
Algoritmo Alfa-Beta
Otras técnicas

Alfa-Beta: Ejemplo

α= 5 α=5; 8
β=+∞ β=+∞
8
5
5
α= 5 α= 5
1 1 1
β=+∞ β=+∞; 8
5 5 10
8
α= 5 α=5; 8 α=5 α=5; 10
β=+∞ β=+∞ β=8 β= 8
5
8 10
α= 5 α= 8 α=5
1 1 1
β=+∞ β=+∞ β=8 Poda (10 ≥ 8)
8 5 10

Búsqueda
Caracterización del problema
Algoritmo Minimax
Búsqueda de dos agentes
Algoritmo Alfa-Beta
Otras técnicas

Alfa-Beta: Ejemplo

5 1 4 1 8 1

5 6 7 4 20 8 10

1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1

3 5 4 6 9 6 7 4 20 1 -3 10 8 5 10 1 -5

Búsqueda
Caracterización del problema
Algoritmo Minimax
Búsqueda de dos agentes
Algoritmo Alfa-Beta
Otras técnicas

Algunos aspectos relacionados


Efecto horizonte: se produce al fijar una profundidad
máxima (horizonte)
Ordenación de nodos: se ordenan los nodos hasta
profundidad k de acuerdo a una función de evaluación más
sencilla f ′
Ventana inicial: se puede comenzar por valores de alfa y beta
diferentes del mı́nimo y máximo valor, respectivamente
Profundización iterativa
Movimiento nulo: suponer que no se realiza ninguna acción
es lo peor que se puede hacer en algunos casos (posiciones
“zugzwang”)
Movimiento asesino: guardar estados y valores
Tablas de transposicición: para evitar la re-expansión de
nodos
Búsqueda
Caracterización del problema
Algoritmo Minimax
Búsqueda de dos agentes
Algoritmo Alfa-Beta
Otras técnicas

Algunos aspectos relacionados

Búsqueda secundaria: realizar búsquedas parciales en los


nodos en los que se detecten problemas
Extensiones selectivas: donde se realiza la búsqueda
secundaria
Cálculo del valor de cada nodo: se puede utilizar la media,
la suma ponderada, tener en cuenta las probabilidades, ...

Búsqueda
Caracterización del problema
Algoritmo Minimax
Búsqueda de dos agentes
Algoritmo Alfa-Beta
Otras técnicas

Estado de la cuestión en juegos de dos jugadores

Ajedrez: HiTech, Deep Thought-Blue, Fritz


Damas: Chinook
Othello: Logistello
Backgammon: NeuroGammon
Juegos resueltos: Tic-Tac-Toe, Cuatro en Raya, Qubic,
Go-Moku, Damas (oficialmente desde 2007), . . .
IA en juegos actuales: estrategia (ORTS), independencia de
dominios (GGP), . . .

Búsqueda
Caracterización del problema
Algoritmo Minimax
Búsqueda de dos agentes
Algoritmo Alfa-Beta
Otras técnicas

Otras técnicas

Otras técnicas equivalentes de suma nula: sss∗ , B∗ , números


conspiratorios, de prueba, y otros
No-deterministas: ∗-Minimax
Más de dos oponentes: Maxn
En lugar de mantener un valor (alfa o beta) mantienen n
valores en un vector
Sólo es aplicable si la suma de todas las puntuaciones es un
valor constante

Búsqueda

También podría gustarte