You are on page 1of 26

CAPITULO 2.

3
BUSQUEDA CON ADVERSARIO

Universidad Nacional de San Antonio Abad del Cusco


Departamento Acadmico de Informtica
Ing. Luis Palma

Ing. Luis Palma Inteligencia Artificial


BUSQUEDA CON ADVERSARIO

En algoritmos de bsqueda anteriores solo implementa un


agente que intenta encontrar el estado objetivo, En este
captulo se revisa: dos agentes compitiendo por un
objetivo.
Este tipo de problemas estn en la categora de juegos.
Son bipersonales, es decir dos agentes involucrados,
y estos juegan alternativamente.
Los dos agentes tienen conocimiento perfecto de las
acciones del contrincante (son determinsticos).
El juego es determinista, no interviene el azar en
ninguno de sus elementos.

Ing. Luis Palma Inteligencia Artificial


ELEMENTOS DE LA BUSQUEDA CON
ADVERSARIO
Estado: que indica la situacin del juego en un instante
especfico.
Estado Inicial: que determina en que estado empieza el
juego y quien inicia.
Estado Final: Estado al que debe llegarse, y determina
quien es el ganador.
Operadores de Transformacin: Reglas que transforman
un estado en otro, determina las jugadas que pueden hacer
los agentes. Se debe suponer que los operadores son los
mismos para ambos jugadores

Ing. Luis Palma Inteligencia Artificial


ALGORITMO MINIMAX - CARACTERISTICAS

El algoritmo MiniMax es un algoritmo de bsqueda en


profundidad.
El nombre MiniMax deriva de que el jugador procura
maximizar su jugada mientras que su oponente procura
minimizarlo.
Es decir es como elegir el mejor movimiento para ti
mismo, suponiendo que el adversario escoger el peor
movimiento para ti.
En la prctica es algoritmo minimax es imposible ejecutar.
nicamente en juegos sencillos, ya que realizar un
bsqueda completa que es excesiva en espacio.
Puede ocurrir que MAX gana, MAX pierde o empata
Una tcnica de resolver el inconveniente anterior es el uso
de Poda Alfa-Beta

Ing. Luis Palma Inteligencia Artificial


ALGORITMO MINIMAX

1. Generacin del rbol del juego, se generan todos los


nodos hasta llegar a un estado terminal.
2. Clculo de valores de nodos terminales: para cada nodo
terminal calcular la funcin de utilidad (heurstico).
3. Clculo de valores para nodos superiores: Clculo de
valores de nodos superiores a partir de los valores de
nodos terminales. Alternativamente se eligen los valores
mnimos y mximos representando los movimientos del
jugador y del oponente.
4. Eleccin de la jugada: Elegir la jugada valorando los
valores que han llegado al nivel superior.

Ing. Luis Palma Inteligencia Artificial


ALGORITMO MINIMAX

Ing. Luis Palma Inteligencia Artificial


ALGORITMO MINIMAX

Ing. Luis Palma Inteligencia Artificial


ALGORITMO MINIMAX

Ing. Luis Palma Inteligencia Artificial


JUEGO DE MICHI

HEURSTICA = Heurstica Max Heurstica Min

HEURSTICA: E(n) = X(n) O(n)

X(n) = N de lneas ganadoras posibles para MAX

O(n) = N de lneas ganadoras posibles para MIN

Ing. Luis Palma Inteligencia Artificial


POSICIONES IDENTICAS

Funcin de evaluacin
Observe que hay posiciones idnticas.
Ejemplo: estas posiciones tienen la misma funcin de evaluacin igual
a f(p)=(6-4)=2

Ing. Luis Palma Inteligencia Artificial


MICHI

Ing. Luis Palma Inteligencia Artificial


Ing. Luis Palma Inteligencia Artificial
MICHI

Ing. Luis Palma Inteligencia Artificial


Ing. Luis Palma Inteligencia Artificial
ALGORITMO ALFA-BETA

CARACTERSTICAS:
El algoritmo Alfa Beta mejora la eficiencia del algoritmo
MiniMax

Completa y suple el mtodo MiniMax

MiniMax necesita dos pasadas

En promedio, la poda - permite expandir 50% menos


nodos que MiniMax

Ing. Luis Palma Inteligencia Artificial


ALGORITMO ALFA-BETA

Generacin Generar el rbol del problema


Evaluacin evaluar de rbol
Bsqueda - busca primero en profundidad
La poda - se basa en la idea de disponer de dos valores que
conforman una ventana a la cual deben pertenecer los valores de
f(n) para que sean considerados
En los nodos MAX se utiliza el parmetro que determina
el mximo de los valores de los nodos sucesores
encontrados hasta el momento
En los nodos MIN se utiliza el parmetro que va a ser, en
cada momento, el mnimo de los valores encontrados.

Ing. Luis Palma Inteligencia Artificial


REGLA PARA LA PODA ALFA-BETA

En los nodos MAX la condicin de poda es p p-1


(Se puede podar por debajo de un nodo MAX si su valor alfa es
mayor o igual que al menos un beta antecesor)

En los nodos MIN la condicin de poda es p p-1


(Se puede podar por debajo de un nodo MIN si su valor beta es
menor o igual que al menos un alfa antecesor)

Ing. Luis Palma Inteligencia Artificial


PODA

Ing. Luis Palma Inteligencia Artificial


PODA

Ing. Luis Palma Inteligencia Artificial


PROCEDIMIENTO ALFA-BETA

1. Descender primero en profundidad hasta la profundidad


total del ply (numero de niveles a analizar)

2. Aplicar la evaluacin heurstica a un nodo y a todos sus


hermanos

3. Asignar valores al padre: el valor se oferta al abuelo como


valor potencial

4. Descender a otro nieto y terminar la exploracin del padre


si alguno de sus valores cumple el criterio de parada

Ing. Luis Palma Inteligencia Artificial


A tiene = 3 (A no ser mayor que 3)
B: se poda por debajo de este nodo MAX porque 5 > 3
C tiene = 3 (C no ser menor de 3 al ser un nodo MAX)
D: se poda por debajo de este nodo MIN porque 0 < 3
E: se poda por debajo de este nodo MIN porque 2 < 37

Ing. Luis Palma Inteligencia Artificial


MINIMAX con PODA

Ing. Luis Palma Inteligencia Artificial


MINIMAX con PODA

Ing. Luis Palma Inteligencia Artificial


MINIMAX con PODA

Ing. Luis Palma Inteligencia Artificial


MINIMAX con PODA

Ing. Luis Palma Inteligencia Artificial


MINIMAX con PODA

Ing. Luis Palma Inteligencia Artificial