uso: decidirmejorjugadaencadamomentoparaciertotipode...

43
Búsqueda con Adversario Javier Béjar Inteligencia Artificial - 2020/2021 2Q CS - GEI - FIB

Upload: others

Post on 18-Oct-2020

4 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Uso: Decidirmejorjugadaencadamomentoparaciertotipode ...bejar/ia/transpas/teoria/2-BH4-juegos.pdf · Juegos Minimaxconpoda Algoritmo Minimax con poda Función:valorMax(g, α,β) siestado_terminal(g)entonces

Búsqueda con Adversario

Javier Béjar

Inteligencia Artificial - 2020/2021 2Q

CS - GEI - FIB

Page 2: Uso: Decidirmejorjugadaencadamomentoparaciertotipode ...bejar/ia/transpas/teoria/2-BH4-juegos.pdf · Juegos Minimaxconpoda Algoritmo Minimax con poda Función:valorMax(g, α,β) siestado_terminal(g)entonces

Juegos

Page 3: Uso: Decidirmejorjugadaencadamomentoparaciertotipode ...bejar/ia/transpas/teoria/2-BH4-juegos.pdf · Juegos Minimaxconpoda Algoritmo Minimax con poda Función:valorMax(g, α,β) siestado_terminal(g)entonces

Búsqueda con adversario

} Uso: Decidir mejor jugada en cada momento para cierto tipo de juegos

} Hay diferentes tipos de juegos según sus características:◦ Numero de jugadores, toda la información conocida por todos los jugadores, azar,

indeterminismo, cooperación/competición, recursos limitados, ...

} Nos focalizaremos en juegos con:◦ 2 jugadores.◦ Movimientos alternos (jugador MAX, jugador MIN)◦ Información perfecta◦ Por ejemplo: ajedrez, damas, otello, go, ...

2

Page 4: Uso: Decidirmejorjugadaencadamomentoparaciertotipode ...bejar/ia/transpas/teoria/2-BH4-juegos.pdf · Juegos Minimaxconpoda Algoritmo Minimax con poda Función:valorMax(g, α,β) siestado_terminal(g)entonces

Representación del juego

} Puede ser definido como un problema de espacio de estados◦ Estado = Elementos del juego◦ Estados finales= Estados ganadores (Definidos por sus propiedades)◦ Acciones/operadores = Reglas del juego

} Son problemas con características especiales◦ La accesibilidad de los estados depende de las acciones elegidas por el contrario◦ Dos tipos de soluciones diferentes (una para cada jugador)◦ No hay nocion de optimalidad (todas las soluciones son iguales, no importa la

longitud del camino)

3

Page 5: Uso: Decidirmejorjugadaencadamomentoparaciertotipode ...bejar/ia/transpas/teoria/2-BH4-juegos.pdf · Juegos Minimaxconpoda Algoritmo Minimax con poda Función:valorMax(g, α,β) siestado_terminal(g)entonces

Búsqueda con adversario

} La aproximación trivial es generar todo el árbol de jugadas

} Etiquetamos las jugadas terminales dependiendo de si gana MAX o MIN (+1 o -1)

} El objetivo es encontrar un conjunto de movimientos accesible que de comoganador a MAX

} Se propagan los valores de las jugadas terminales de las hojas hasta la raíz,elegimos una rama de una hoja ganadora accesible

} Una búsqueda en profundidad minimiza el espacio

} En juegos mínimamente complejos esta búsqueda es impracticable (p.e.: ajedrezO(235), go O(2300))

4

Page 6: Uso: Decidirmejorjugadaencadamomentoparaciertotipode ...bejar/ia/transpas/teoria/2-BH4-juegos.pdf · Juegos Minimaxconpoda Algoritmo Minimax con poda Función:valorMax(g, α,β) siestado_terminal(g)entonces

Búsqueda con adversario

+1 +1

+1

-1 -1

+1

-1

5

Page 7: Uso: Decidirmejorjugadaencadamomentoparaciertotipode ...bejar/ia/transpas/teoria/2-BH4-juegos.pdf · Juegos Minimaxconpoda Algoritmo Minimax con poda Función:valorMax(g, α,β) siestado_terminal(g)entonces

Búsqueda con adversario

+1 +1

+1

-1 -1

+1

-1

+1

+1

6

Page 8: Uso: Decidirmejorjugadaencadamomentoparaciertotipode ...bejar/ia/transpas/teoria/2-BH4-juegos.pdf · Juegos Minimaxconpoda Algoritmo Minimax con poda Función:valorMax(g, α,β) siestado_terminal(g)entonces

Búsqueda con adversario

+1 +1

+1

-1 -1

+1

-1

+1

+1

-1

-1

-1

6

Page 9: Uso: Decidirmejorjugadaencadamomentoparaciertotipode ...bejar/ia/transpas/teoria/2-BH4-juegos.pdf · Juegos Minimaxconpoda Algoritmo Minimax con poda Función:valorMax(g, α,β) siestado_terminal(g)entonces

Búsqueda con adversario

+1 +1

+1

-1 -1

+1

-1

+1

+1

-1

-1

-1

-1

6

Page 10: Uso: Decidirmejorjugadaencadamomentoparaciertotipode ...bejar/ia/transpas/teoria/2-BH4-juegos.pdf · Juegos Minimaxconpoda Algoritmo Minimax con poda Función:valorMax(g, α,β) siestado_terminal(g)entonces

Búsqueda con adversario

+1 +1

+1

-1 -1

+1

-1

+1

+1

-1

-1

-1

-1

-1

-1

6

Page 11: Uso: Decidirmejorjugadaencadamomentoparaciertotipode ...bejar/ia/transpas/teoria/2-BH4-juegos.pdf · Juegos Minimaxconpoda Algoritmo Minimax con poda Función:valorMax(g, α,β) siestado_terminal(g)entonces

Búsqueda con adversario

+1 +1

+1

-1 -1

+1

-1

+1

+1

-1

-1

-1

-1

-1

-1 +1

6

Page 12: Uso: Decidirmejorjugadaencadamomentoparaciertotipode ...bejar/ia/transpas/teoria/2-BH4-juegos.pdf · Juegos Minimaxconpoda Algoritmo Minimax con poda Función:valorMax(g, α,β) siestado_terminal(g)entonces

Búsqueda con adversario

+1 +1

+1

-1 -1

+1

-1

+1

+1

-1

-1

-1

-1

-1

-1 +1

+1

+1

6

Page 13: Uso: Decidirmejorjugadaencadamomentoparaciertotipode ...bejar/ia/transpas/teoria/2-BH4-juegos.pdf · Juegos Minimaxconpoda Algoritmo Minimax con poda Función:valorMax(g, α,β) siestado_terminal(g)entonces

Búsqueda con adversario

+1 +1

+1

-1 -1

+1

-1

+1

+1

-1

-1

-1

-1

-1

-1 +1

+1

+1

-1

-1

-1

6

Page 14: Uso: Decidirmejorjugadaencadamomentoparaciertotipode ...bejar/ia/transpas/teoria/2-BH4-juegos.pdf · Juegos Minimaxconpoda Algoritmo Minimax con poda Función:valorMax(g, α,β) siestado_terminal(g)entonces

Búsqueda con adversario

+1 +1

+1

-1 -1

+1

-1

+1

+1

-1

-1

-1

-1

-1

-1 +1

+1

+1

-1

-1

-1

-1

6

Page 15: Uso: Decidirmejorjugadaencadamomentoparaciertotipode ...bejar/ia/transpas/teoria/2-BH4-juegos.pdf · Juegos Minimaxconpoda Algoritmo Minimax con poda Función:valorMax(g, α,β) siestado_terminal(g)entonces

Búsqueda con adversario

+1 +1

+1

-1 -1

+1

-1

+1

+1

-1

-1

-1

-1

-1

-1 +1

+1

+1

-1

-1

-1

-1

+1

6

Page 16: Uso: Decidirmejorjugadaencadamomentoparaciertotipode ...bejar/ia/transpas/teoria/2-BH4-juegos.pdf · Juegos Minimaxconpoda Algoritmo Minimax con poda Función:valorMax(g, α,β) siestado_terminal(g)entonces

Búsqueda con adversario

+1 +1

+1

-1 -1

+1

-1

+1

+1

-1

-1

-1

-1

-1

-1 +1

+1

+1

-1

-1

-1

-1

+1

6

Page 17: Uso: Decidirmejorjugadaencadamomentoparaciertotipode ...bejar/ia/transpas/teoria/2-BH4-juegos.pdf · Juegos Minimaxconpoda Algoritmo Minimax con poda Función:valorMax(g, α,β) siestado_terminal(g)entonces

Búsqueda con adversario

} Aproximación heurística: Definir una función que nos indique lo cerca que estamosde una jugada ganadora (o perdedora)

} En esta función intervendrá información del dominio

} Esta función no representa ningún coste ni es una distancia en pasos

} Por convención las jugadas ganadoras se evalúan a +∞ y las perdedoras a −∞} El algoritmo busca con profundidad limitada y sólo decide la siguiente jugada a

partir del nodo raíz

} Cada nueva decisión implicará repetir la búsqueda

} A mayor profundidad en la búsqueda mejor jugaremos

7

Page 18: Uso: Decidirmejorjugadaencadamomentoparaciertotipode ...bejar/ia/transpas/teoria/2-BH4-juegos.pdf · Juegos Minimaxconpoda Algoritmo Minimax con poda Función:valorMax(g, α,β) siestado_terminal(g)entonces

Algoritmo Minimax

Function: MiniMax (g)

movr:movimiento; max,maxc:enteromax ← −∞foreach mov ∈ movs_posibles(g) do

cmax ←valor_min(aplicar(mov,g))if cmax > max then

max ← cmaxmovr ← mov

return movr

g: Representación del estado (posiciónde las piezas, profundidad máxima aexplorar, turno actual, ...)movs_posibles(g): genera la lista detodos los movimientos posibles en elestado actualaplicar(mov,g): Genera el estado quese obtiene al aplicar el movimiento alestado actual

} Se inicia un recorrido en profundidad del árbol del juego hasta una profundidad máxima} Dependiendo del nivel se llama a una función que obtiene el valor máximo o mínimo de la

evaluación de los descendientes (valorMax, valorMin)} El recorrido se inicia con la jugada del jugador MAX} Asumimos que la función de evaluación es la misma para los dos jugadores

8

Page 19: Uso: Decidirmejorjugadaencadamomentoparaciertotipode ...bejar/ia/transpas/teoria/2-BH4-juegos.pdf · Juegos Minimaxconpoda Algoritmo Minimax con poda Función:valorMax(g, α,β) siestado_terminal(g)entonces

Algoritmo Minimax

Function: valorMax (g)

vmax:enteroif estado_terminal(g) then

return valor(g)else

vmax ← −∞foreach mov ∈ movs_posibles(g)do

vmax ← max(vmax,valorMin(aplicar(mov,g))

return vmax

Function: valorMin (g)

vmin:enteroif estado_terminal(g) then

return value(g)else

vmin ← +∞foreach mov ∈ movs_posibles do

vmin ← min(vmin,valorMax(aplicar(mov,g))

return vmin

estado_terminal(g): Determina si el estado actual es terminal (profundidad máxima, jugadaganadora)

evaluacion(g): Retorna el valor de la función de evaluación para el estado actual9

Page 20: Uso: Decidirmejorjugadaencadamomentoparaciertotipode ...bejar/ia/transpas/teoria/2-BH4-juegos.pdf · Juegos Minimaxconpoda Algoritmo Minimax con poda Función:valorMax(g, α,β) siestado_terminal(g)entonces

Ejemplo: 3 en raya (1)

e = número de filas, columnas y diagonales completas disponibles para MAX - número de filas, columnas y diagonalescompletas disponibles para MINMAX juega con X y desea maximizar e, MIN juega con O y desea minimizar e

Los valores altos significan una buena posición para el que tiene que mover, Podemos controlar las simetrías,

establecemos una profundidad de parada (en el ejemplo 2)

XX

X

X X

XXX

X

XXX

XO

OO O

O

X XOO

O

OO

O

Max=1

Min=1Min=−1 Min=−2

6−4=2

6−5=1 4−5=−1

5−5=06−5=15−5=0

5−6=−1

6−6=0 6−6=0 5−6=−1

4−6=−2

5−4=1

O

La mejor jugada es en la que MAX coloca su ficha en el centro

Page 21: Uso: Decidirmejorjugadaencadamomentoparaciertotipode ...bejar/ia/transpas/teoria/2-BH4-juegos.pdf · Juegos Minimaxconpoda Algoritmo Minimax con poda Función:valorMax(g, α,β) siestado_terminal(g)entonces

Ejemplo: 3 en raya (2)

Suponiendo que MIN coloca su ficha en la posición superior de la columna central

Max=1

4−2=2 4−2=2 4−2=2

Min=0

Min=0Min=1

Min=0

X

O

X

X

X

X

X X X X X X

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

X

X

X

X

X

X

O

O

O

O

O O O OOO

O

O

O

O

O

O

X

X

X

X

X

X

X

X

X

X

O

O O

O

O

O

O

O

O

O

4−2=2

3−2=1

4−2=2

2−2=0

4−2=2

3−2=1

X X OX X X XO

La mejor jugada de MAX es colocar su ficha en la esquina inferior izquierda

11

Page 22: Uso: Decidirmejorjugadaencadamomentoparaciertotipode ...bejar/ia/transpas/teoria/2-BH4-juegos.pdf · Juegos Minimaxconpoda Algoritmo Minimax con poda Función:valorMax(g, α,β) siestado_terminal(g)entonces

Ejemplo: 3 en raya (3)

Suponiendo que MIN coloca su ficha en la esquina superior derecha

X

O

X

O Max=1

Min=1

Min=−inf

Min=−inf

Min=−inf

Min=−inf

2−1=1

3−1=2

3−1=2

2−1=1

X

O

X

O

X

O

X

O

X

O

X

O

X

O

X

O

X

O

X

X O X

O

X

X O

X

O

X

X O

X

O

X

X O

X

O

X

X O

O

O

OOX

X

X

X

La mejor jugada de MAX es colocar su ficha en la esquina superior izquierda

12

Page 23: Uso: Decidirmejorjugadaencadamomentoparaciertotipode ...bejar/ia/transpas/teoria/2-BH4-juegos.pdf · Juegos Minimaxconpoda Algoritmo Minimax con poda Función:valorMax(g, α,β) siestado_terminal(g)entonces

Minimax con poda αβ

−inf

b c

a

min(−inf, ?,?,?, ...)=−inf

No tiene sentido seguir explorando sucesores dec ya que tenemos el mejor valor posible

b c

d

e

g

f

???

−.05−.1

.03

a

e=max(−.1,−.05)=−.05

En c tendremos e = min(-.05, vg), por lotanto en a tendremose = max(.03,min(-.05, vg)) = .03Podemos pues podar todos los nodos de g yaque no aportan nada 13

Page 24: Uso: Decidirmejorjugadaencadamomentoparaciertotipode ...bejar/ia/transpas/teoria/2-BH4-juegos.pdf · Juegos Minimaxconpoda Algoritmo Minimax con poda Función:valorMax(g, α,β) siestado_terminal(g)entonces

Minimax con poda αβ

b c

d

e

.03

a

f g

h

i

−.1

e(e) = min(-.1,g)

Como la rama b ya me da un .03 cualquier cosa peor no nossirve ⇒ No hay que explorar g

e(d) = max(e(e), h) ⇒ Sí hay que explorar h

Al valor mínimo alcanzado hasta el momento para los nodosmax le llamaremos cota α y nos da un límite inferior de e(n).

Al valor máximo alcanzado por los nodos min le llamaremoscota β y nos dará un límite superior de e(n)En el ejemplo el nodo a (max) tiene de momento un valormínimo de .03 proporcionado por su hijo bFijémonos en que el valor que se puede asignar a un nodomax viene aportado por nodos min y viceversa 14

Page 25: Uso: Decidirmejorjugadaencadamomentoparaciertotipode ...bejar/ia/transpas/teoria/2-BH4-juegos.pdf · Juegos Minimaxconpoda Algoritmo Minimax con poda Función:valorMax(g, α,β) siestado_terminal(g)entonces

Minimax con poda αβ

vi

MAXSi vi > α entonces modificar αSi vi ≥ β entonces poda βRetornar α

iv

MINSi vi < β entonces modificar βSi vi ≤ α entonces poda αRetornar β

Las cotas α y β se transmiten de padres a hijos de 1 en 1 y en el orden de visita delos nodos.

α es la cota inferior de un nodo max - β es la cota superior de un nodo min

=⇒ La efectividad de la poda depende del orden de exploración de los descendientes

Page 26: Uso: Decidirmejorjugadaencadamomentoparaciertotipode ...bejar/ia/transpas/teoria/2-BH4-juegos.pdf · Juegos Minimaxconpoda Algoritmo Minimax con poda Función:valorMax(g, α,β) siestado_terminal(g)entonces

Algoritmo Minimax con poda

Function: valorMax (g,α,β)

if estado_terminal(g) thenreturn valor(g)

elseforeach mov ∈ movs_posibles(g) do

α ← max(α,valoeMin(aplicar(mov,g) ,α,β))if α ≥ β then

return β

return α

Function: valorMin (g,α,β)

if estado_terminal(g) thenreturn valor(g)

elseforeach mov ∈ movs_posibles(g) do

β ← min(β,valorMax(apply(mov,g) ,α,β))if α ≥ β then

return α

return β

El recorrido se inicia llamando a la función valorMax conα = −∞ β = +∞

En la función valorMax α es el valor que se actualiza y βes el valor de la mejor jugada

En la función valorMin β es el valor que se actualiza y αes el valor de la mejor jugada

16

Page 27: Uso: Decidirmejorjugadaencadamomentoparaciertotipode ...bejar/ia/transpas/teoria/2-BH4-juegos.pdf · Juegos Minimaxconpoda Algoritmo Minimax con poda Función:valorMax(g, α,β) siestado_terminal(g)entonces

Poda αβ: Ejemplo

A

B C

D

3

E

5

F G H

4

I J

5

K

0

L

M

7

N

17

Page 28: Uso: Decidirmejorjugadaencadamomentoparaciertotipode ...bejar/ia/transpas/teoria/2-BH4-juegos.pdf · Juegos Minimaxconpoda Algoritmo Minimax con poda Función:valorMax(g, α,β) siestado_terminal(g)entonces

Poda αβ: Ejemplo

A

B C

D

3

E

5

F G H

4

I J

5

K

0

L

M

7

N

[−∞,+∞]

17

Page 29: Uso: Decidirmejorjugadaencadamomentoparaciertotipode ...bejar/ia/transpas/teoria/2-BH4-juegos.pdf · Juegos Minimaxconpoda Algoritmo Minimax con poda Función:valorMax(g, α,β) siestado_terminal(g)entonces

Poda αβ: Ejemplo

A

B C

D

3

E

5

F G H

4

I J

5

K

0

L

M

7

N

[−∞,+∞]

[−∞,+∞]

17

Page 30: Uso: Decidirmejorjugadaencadamomentoparaciertotipode ...bejar/ia/transpas/teoria/2-BH4-juegos.pdf · Juegos Minimaxconpoda Algoritmo Minimax con poda Función:valorMax(g, α,β) siestado_terminal(g)entonces

Poda αβ: Ejemplo

A

B C

D

3

E

5

F G H

4

I J

5

K

0

L

M

7

N

[−∞,+∞]

[−∞,+∞][−∞,+∞][−∞, 3]

17

Page 31: Uso: Decidirmejorjugadaencadamomentoparaciertotipode ...bejar/ia/transpas/teoria/2-BH4-juegos.pdf · Juegos Minimaxconpoda Algoritmo Minimax con poda Función:valorMax(g, α,β) siestado_terminal(g)entonces

Poda αβ: Ejemplo

A

B C

D

3

E

5

F G H

4

I J

5

K

0

L

M

7

N

[−∞,+∞]

[−∞,+∞][−∞,+∞][−∞, 3]

17

Page 32: Uso: Decidirmejorjugadaencadamomentoparaciertotipode ...bejar/ia/transpas/teoria/2-BH4-juegos.pdf · Juegos Minimaxconpoda Algoritmo Minimax con poda Función:valorMax(g, α,β) siestado_terminal(g)entonces

Poda αβ: Ejemplo

A

B C

D

3

E

5

F G H

4

I J

5

K

0

L

M

7

N

[−∞,+∞]

[−∞,+∞][−∞,+∞][−∞, 3]

[−∞,+∞][3,+∞]

17

Page 33: Uso: Decidirmejorjugadaencadamomentoparaciertotipode ...bejar/ia/transpas/teoria/2-BH4-juegos.pdf · Juegos Minimaxconpoda Algoritmo Minimax con poda Función:valorMax(g, α,β) siestado_terminal(g)entonces

Poda αβ: Ejemplo

A

B C

D

3

E

5

F G H

4

I J

5

K

0

L

M

7

N

[−∞,+∞]

[−∞,+∞][−∞,+∞][−∞, 3]

[−∞,+∞][3,+∞]

[3,+∞]

17

Page 34: Uso: Decidirmejorjugadaencadamomentoparaciertotipode ...bejar/ia/transpas/teoria/2-BH4-juegos.pdf · Juegos Minimaxconpoda Algoritmo Minimax con poda Función:valorMax(g, α,β) siestado_terminal(g)entonces

Poda αβ: Ejemplo

A

B C

D

3

E

5

F G H

4

I J

5

K

0

L

M

7

N

[−∞,+∞]

[−∞,+∞][−∞,+∞][−∞, 3]

[−∞,+∞][3,+∞]

[3,+∞]

[3,+∞]

17

Page 35: Uso: Decidirmejorjugadaencadamomentoparaciertotipode ...bejar/ia/transpas/teoria/2-BH4-juegos.pdf · Juegos Minimaxconpoda Algoritmo Minimax con poda Función:valorMax(g, α,β) siestado_terminal(g)entonces

Poda αβ: Ejemplo

A

B C

D

3

E

5

F G H

4

I J

5

K

0

L

M

7

N

[−∞,+∞]

[−∞,+∞][−∞,+∞][−∞, 3]

[−∞,+∞][3,+∞]

[3,+∞]

[3,+∞]

[3,+∞]

17

Page 36: Uso: Decidirmejorjugadaencadamomentoparaciertotipode ...bejar/ia/transpas/teoria/2-BH4-juegos.pdf · Juegos Minimaxconpoda Algoritmo Minimax con poda Función:valorMax(g, α,β) siestado_terminal(g)entonces

Poda αβ: Ejemplo

A

B C

D

3

E

5

F G H

4

I J

5

K

0

L

M

7

N

[−∞,+∞]

[−∞,+∞][−∞,+∞][−∞, 3]

[−∞,+∞][3,+∞]

[3,+∞]

[3,+∞]

[3,+∞][3,+∞][3, 0]

17

Page 37: Uso: Decidirmejorjugadaencadamomentoparaciertotipode ...bejar/ia/transpas/teoria/2-BH4-juegos.pdf · Juegos Minimaxconpoda Algoritmo Minimax con poda Función:valorMax(g, α,β) siestado_terminal(g)entonces

Poda αβ: Ejemplo

A

B C

D

3

E

5

F G H

4

I J

5

K

0

L

M

7

N

[−∞,+∞]

[−∞,+∞][−∞,+∞][−∞, 3]

[−∞,+∞][3,+∞]

[3,+∞]

[3,+∞]

[3,+∞][3,+∞][3, 0]

Poda α ≥ β

17

Page 38: Uso: Decidirmejorjugadaencadamomentoparaciertotipode ...bejar/ia/transpas/teoria/2-BH4-juegos.pdf · Juegos Minimaxconpoda Algoritmo Minimax con poda Función:valorMax(g, α,β) siestado_terminal(g)entonces

Poda αβ: Ejemplo

A

B C

D

3

E

5

F G H

4

I J

5

K

0

L

M

7

N

[−∞,+∞]

[−∞,+∞][−∞,+∞][−∞, 3]

[−∞,+∞][3,+∞]

[3,+∞]

[3,+∞]

[3,+∞][3,+∞][3, 0]

Poda α ≥ β

[3,+∞][5,+∞]

17

Page 39: Uso: Decidirmejorjugadaencadamomentoparaciertotipode ...bejar/ia/transpas/teoria/2-BH4-juegos.pdf · Juegos Minimaxconpoda Algoritmo Minimax con poda Función:valorMax(g, α,β) siestado_terminal(g)entonces

Poda αβ: Ejemplo

A

B C

D

3

E

5

F G H

4

I J

5

K

0

L

M

7

N

[−∞,+∞]

[−∞,+∞][−∞,+∞][−∞, 3]

[−∞,+∞][3,+∞]

[3,+∞]

[3,+∞]

[3,+∞][3,+∞][3, 0]

Poda α ≥ β

[3,+∞][5,+∞]

[3,+∞][3, 5]

17

Page 40: Uso: Decidirmejorjugadaencadamomentoparaciertotipode ...bejar/ia/transpas/teoria/2-BH4-juegos.pdf · Juegos Minimaxconpoda Algoritmo Minimax con poda Función:valorMax(g, α,β) siestado_terminal(g)entonces

Poda αβ: Ejemplo

A

B C

D

3

E

5

F G H

4

I J

5

K

0

L

M

7

N

[−∞,+∞]

[−∞,+∞][−∞,+∞][−∞, 3]

[−∞,+∞][3,+∞]

[3,+∞]

[3,+∞]

[3,+∞][3,+∞][3, 0]

Poda α ≥ β

[3,+∞][5,+∞]

[3,+∞][3, 5]

[3, 5]

17

Page 41: Uso: Decidirmejorjugadaencadamomentoparaciertotipode ...bejar/ia/transpas/teoria/2-BH4-juegos.pdf · Juegos Minimaxconpoda Algoritmo Minimax con poda Función:valorMax(g, α,β) siestado_terminal(g)entonces

Poda αβ: Ejemplo

A

B C

D

3

E

5

F G H

4

I J

5

K

0

L

M

7

N

[−∞,+∞]

[−∞,+∞][−∞,+∞][−∞, 3]

[−∞,+∞][3,+∞]

[3,+∞]

[3,+∞]

[3,+∞][3,+∞][3, 0]

Poda α ≥ β

[3,+∞][5,+∞]

[3,+∞][3, 5]

[3, 5][1][7, 5]

Poda α ≥ β

17

Page 42: Uso: Decidirmejorjugadaencadamomentoparaciertotipode ...bejar/ia/transpas/teoria/2-BH4-juegos.pdf · Juegos Minimaxconpoda Algoritmo Minimax con poda Función:valorMax(g, α,β) siestado_terminal(g)entonces

Poda αβ: Ejemplo

A

B C

D

3

E

5

F G H

4

I J

5

K

0

L

M

7

N

[−∞,+∞]

[−∞,+∞][−∞,+∞][−∞, 3]

[−∞,+∞][3,+∞]

[3,+∞]

[3,+∞]

[3,+∞][3,+∞][3, 0]

Poda α ≥ β

[3,+∞][5,+∞]

[3,+∞][3, 5]

[3, 5][1][7, 5]

Poda α ≥ β

[3,+∞][3, 4]

17

Page 43: Uso: Decidirmejorjugadaencadamomentoparaciertotipode ...bejar/ia/transpas/teoria/2-BH4-juegos.pdf · Juegos Minimaxconpoda Algoritmo Minimax con poda Función:valorMax(g, α,β) siestado_terminal(g)entonces

Poda αβ: Ejemplo

A

B C

D

3

E

5

F G H

4

I J

5

K

0

L

M

7

N

[−∞,+∞]

[−∞,+∞][−∞,+∞][−∞, 3]

[−∞,+∞][3,+∞]

[3,+∞]

[3,+∞]

[3,+∞][3,+∞][3, 0]

Poda α ≥ β

[3,+∞][5,+∞]

[3,+∞][3, 5]

[3, 5][1][7, 5]

Poda α ≥ β

[3,+∞][3, 4]

[−∞,+∞][4,+∞]

17