Inteligencia
Artificial (30223)
Problemas resueltos
Curso 2012-2013
José Ángel Bañares
17/10/2013. Dpto. Informática e Ingeniería de Sistemas.
Índice
 Problema del laberinto
 Puzzle de dos dimensiones
 Misioneros y caníbales
 A* en grafo
 Minimax y poda alfa-beta
Problema del laberinto
principio
fin
Una búsqueda informada puede resolver este laberinto, encontrando un
camino desde la localización inicial hasta la final. Las posibles acciones son:
arriba, abajo, izquierda, derecha, que son sólo válidas si hay una línea de
puntos entre las celdas del laberinto. Considerar que la heurística utilizada es
la distancia en línea recta entre la posición actual y la final del laberinto.
1. La heurística propuesta ¿es admisible?¿es consistente?, y ¿La distancia al
cuadrado?
2. Muestra que la búsqueda en escalada (ascenso de la colina) no podrá
encontrar una solución óptima con la heurística de la distancia en línea
recta.
3. ¿Qué algoritmo de búsqueda garantizaría encontrar una solución óptima
con estas heurísticas heurísticas (distancia y cuadrado distancia)?
4. Indica los cuadrados buscados en el laberinto utilizando A* con la
heurística dada y un coste unitario por cada movimiento.
Problema del laberinto (heurística)
 heurística: distancia en línea recta hasta el objetivo.
h ( x , y ) 
( x  x obj )  ( y  y obj )
2
2
Es admisible (subestima) y consistente (por la desigualdad triangular)
y
6
7 ,6 2 6 ,7 1 5 ,8 3
5
7 ,2 8 6 ,3 2 5 ,3 9 4 ,4 7 3 ,6 1 2 ,8 3 2 ,2 4
4
7 ,0 7 6 ,0 8
3
in i
7
6
5 ,1
5
4 ,2 4 3 ,6 1 3 ,1 6
4 ,1 2 3 ,1 6 2 ,2 4 1 ,4 1
4
3
2
1
2
7 ,0 7 6 ,0 8
1
7 ,2 8 6 ,3 2 5 ,3 9 4 ,4 7 3 ,6 1 2 ,8 3 2 ,2 4
1
2
3
5 ,1
5
4
fin
4 ,1 2 3 ,1 6 2 ,2 4 1 ,4 1
5
6
7
8
9
x
Problema del laberinto (heurística)
 heurística: distancia en línea recta hasta el objetivo.
h ( x , y ) 
( x  x obj )  ( y  y obj )
2
2
Es admisible (subestima) y consistente (por la desigualdad triangular)
y
6
7 ,6 2 6 ,7 1 5 ,8 3
5
7 ,2 8 6 ,3 2 5 ,3 9 4 ,4 7 3 ,6 1 2 ,8 3 2 ,2 4
4
7 ,0 7 6 ,0 8
3
in i
7
6
5 ,1
5
4 ,2 4 3 ,6 1 3 ,1 6
4 ,1 2 3 ,1 6 2 ,2 4 1 ,4 1
4
3
2
1
2
7 ,0 7 6 ,0 8
1
7 ,2 8 6 ,3 2 5 ,3 9 4 ,4 7 3 ,6 1 2 ,8 3 2 ,2 4
1
2
3
5 ,1
5
4
7 <= 1,41+6,08
fin
4 ,1 2 3 ,1 6 2 ,2 4 1 ,4 1
5
6
7
8
9
x
Problema del laberinto (heurística)
 heurística: cuadrado de la distancia en línea recta hasta el objetivo.
h  ( x , y )  ( x  x obj )  ( y  y obj )
2
2
Ni admisible (sobreestima) ni consistente
y
6
58
45
34
25
18
13
10
5
53
40
29
20
13
8
5
4
50
37
26
17
10
5
2
49
36
25
16
9
4
1
2
50
37
26
17
10
5
2
1
53
40
29
20
13
8
5
2
3
4
5
6
7
8
3
in i
1
fin
9
x
Problema del laberinto (escalada)
 heurística: cuadrado de la distancia en línea recta hasta el objetivo.
h  ( x , y )  ( x  x obj )  ( y  y obj )
2
2
Ni admisible (sobreestima) ni consistente
y
6
58
45
34
25
18
13
10
5
53
40
29
20
13
8
5
4
50
37
26
17
10
5
2
49
36
25
16
9
4
1
2
50
37
26
17
10
5
2
1
53
40
29
20
13
8
5
2
3
4
5
6
7
8
3
in i
1
¡49 > 2 + 37!
fin
9
x
Problema del laberinto (escalada)
 heurística: distancia en línea recta hasta el objetivo. El laberinto
tiene dos soluciones.
h ( x , y ) 
( x  x obj )  ( y  y obj )
2
f (estado) = h(estado)
2
y
4
5
6
7
8
9
3
5
6
15
16
11
2
4
7
14
17
12
7 ,6 2 6 ,7 1 5 ,8 3
5
7 ,2 8 6 ,3 2 5 ,3 9 4 ,4 7 3 ,6 1 2 ,8 3 2 ,2 4
4
7 ,0 7 6 ,0 8
3
in i
1 1
7
2
6
5
10
6
4 ,2 4 3 ,6 1 3 ,1 6
5 ,1
4 ,1 2 3 ,1 6 2 ,2 4 1 ,4 1
3
8
5
18
23
9
12
19
22
10
11
20
21
6
7
8
3
2
1
2
7 ,0 7 6 ,0 8
1
7 ,2 8 6 ,3 2 5 ,3 9 4 ,4 7 3 ,6 1 2 ,8 3 2 ,2 4
1
2
3
5 ,1
13
4
4
13
24
fin
4 ,1 2 3 ,1 6 2 ,2 4 1 ,4 1
5
9
x
Problema laberinto (A*)
y
6
4
5
6
7
8
9
10
5
3
4
5
6
15
16
11
4
2
3
4
7
14
17
12
1
2
3
8
13
18
13
2
12
11
10
9
12
19
22
1
13
12
11
10
11
20
21
2
3
4
5
6
7
8
3
Laberinto con dos soluciones
Algoritmo A* ( f’ = g + h’)
in i
1
y
6
1 1 ,6 1 1 ,7 1 1 ,8
1 2 ,2 1 2 ,6 1 3 ,2
6
62
50
40
32
26
22
20
5
1 0 ,3 1 0 ,3 1 0 ,4 1 0 ,5 1 8 ,6 1 8 ,8 1 3 ,2
5
56
44
34
26
28
24
16
4
9 ,0 7 9 ,0 8
y
52
40
30
24
24
22
14
50
38
28
24
22
22
14
3
Coste del camino óptimo
desde el estado inicial ( g )
y
in i
8
8
9 ,1
8
12
1 1 ,1 1 7 ,2 1 9 ,2 1 3 ,4
12
16
20
14
fin
3
in i
2
1 9 ,1 1 7 ,1 1 5 ,1 1 3 ,1 1 5 ,2 2 1 ,2 2 3 ,4
2
62
48
36
26
22
24
24
1
2 0 ,3 1 8 ,3 1 6 ,4 1 4 ,5 1 4 ,6 2 2 ,8 2 3 ,2
1
66
52
40
30
24
28
26
2
3
4
5
6
7
8
1
2
h ( x , y ) 
3
4
5
6
7
8
x
9
( x  x obj )  ( y  y obj )
2
¡ENCUENTRA EL ÓPTIMO!
2
1
fin
9
h  ( x , y )  ( x  x obj )  ( y  y obj )
2
No encuentra el óptimo
x
2
fin
9
Puzzle de dos dimensiones
Estado
Inicial
Estado
Objetivo
 Las figuras a) y b) muestran los estados inicial y final respectivamente de
un puzzle de dos dimensiones con tres piezas (A, B y C) que pueden
moverse en las cuatro direcciones, siempre y cuando los límites del
tablero, las casillas negras (obstáculos que no se mueven) y las otras dos
piezas no se lo impidan.
 Se pide:
1.
Establecer las acciones y encontrar una heurística admisible
2.
Dibujar el espacio de estados que se genera al aplicar el algoritmo A*
explorando en un grafo. Póngase especial interés en indicar claramente los
distintos valores que forman la información que permite valorar cada nodo.
0
C
0: f’ =8 , g=0, h=8
A
B
1: f’1 :=8
f'=,9 g=1,
, g = 1 ,h=7
h '= 8
1
2 : f'= 1 0 , g = 1 , h '= 9
3 : f'= 8 , g = 1 , h '= 7
C
C
4 : f'= 8 , g = 1 , h '= 7
5 : f'= 1 0 , g = 1 , h '= 9
C
C
C
A
A
A
A
A
B
B
B
B
6 : f'= 8 , g = 2 , h '= 6
2
7 : f'= 8 , g = 2 , h '= 6
C
8 : f'= 1 0 , g = 2 , h '= 8
C
C
A
A
B
B
A
B
B
6 : f'= 8 , g = 2 , h '= 6
8
2
8 : f'= 1 0 , g = 2 , h '= 8
7 : f'= 8 , g = 2 , h '= 6
C
C
C
0
C
A
B
8
1 : f'= 9 , g = 1 , h '= 8
10
8
2 : f'= 1 0 , g = 1 , h '= 9
1
C
8
B
A
B
5 : f'= 1 0 , g = 1 , h '= 9
C
C
B
A
10
4 : f'= 8 , g = 1 , h '= 7
3 : f'= 8 , g = 1 , h '= 7
C
A
C
A
A
A
A
A
B
B
B
B
B
8
6 : f'= 8 , g = 2 , h '= 6
8
2
7 : f'= 8 , g = 2 , h '= 6
C
A
C
B
A
10
8 : f'= 1 0 , g = 2 , h '= 8
C
9 : f'= 1 0 , g = 3 , h '= 7
1 0 : f'= 8 , g = 3 , h '= 5
1 1 : f'= 8 , g = 3 , h '= 5
3
1 2 : f'= 1 0 , g = 3 , h '= 7
B
A
B
8
10
9 : f'= 1 0 , g = 3 , h '= 7
1 0 : f'= 8 , g = 3 , h '= 5
C
A
C
A
8
1 4 : f'= 8 , g = 4 , h '= 4
4
B
10
1 5 : f'= 1 0 , g = 4 , h '= 6
C
C
C
A
B
B
1 3 : f'= 1 0 , g = 4 , h '= 6
10
C
C
C
1 2 : f'= 1 0 , g = 3 , h '= 7
C
C
A
B
10
8
1 1 : f'= 8 , g = 3 , h '= 5
3
C
A
A
A
A
B
B
B
B
A
A
B
A
B
B
1 3 : f'= 1 0 , g = 4 , h '= 6
1 4 : f'= 8 , g = 4 , h '= 4
4
1 5 : f'= 1 0 , g = 4 , h '= 6
C
C
C
A
A
B
A
B
B
8
1 3 : f'= 1 0 , g = 4 , h '= 6
0
1 4 : f'= 8 , g = 4 , h '= 4
C
1 5 : f'= 1 0 , g = 4 , h '= 6
4
A
B
8
1 : f'= 9 , g = 1 , h '= 8
10
8
2 : f'= 1 0 , g = 1 , h '= 9
1
8
10
4 : f'= 8 , g = 1 , h '= 7
3 : f'= 8 , g = 1 , h '= 7
C
C
A
C
A
A
A
A
A
B
B
B
A
B
B
8
6 : f'= 8 , g = 2 , h '= 6
8
2
C
C
A
B
A
B
10
A
B
B
8 : f'= 1 0 , g = 2 , h '= 8
7 : f'= 8 , g = 2 , h '= 6
C
C
5 : f'= 1 0 , g = 1 , h '= 9
C
C
C
C
B
A
B
8
10
9 : f'= 1 0 , g = 3 , h '= 7
1 0 : f'= 8 , g = 3 , h '= 5
8
1 1 : f'= 8 , g = 3 , h '= 5
3
A
A
8
: f'=
, h'='=66
1 3 :1 3f'=
1 01,0g, =g4= ,4 h
C
A
44
11 44 :: f'=
f'=88, ,gg==4 4, h, '=
h '=
44
C
10
C
C
A
A
B
C
A
A
A B
B
B
8
1 6 : f'= 1 0 , g = 5 , h '= 5
C
C
B
10
1 8 : f'= 8 , g = 5 , h '= 3
5
1 5 :1 5f'=
0 , 1g0=,4 g
, h='=
: 1f'=
4 ,6h '= 6
A
B
1 7 : f'= 8 , g = 5 , h '= 3
B
C
C
1 6 : f'= 1 0 , g = 5 , h '= 5
A
B
B
10
C
A
B
10
1 2 : f'= 1 0 , g = 3 , h '= 7
C
C
C
1 7 : f'= 8 , g = 5 , h '= 3
1 8 : f'= 8 , g = 5 , h '= 3
5
C
A
A
8
B
B
B
C
C
A
A
A
B
10
8
10
1 9 : f'= 1 0 , g = 6 , h '= 4
B
B
2 0 : f'= 1 0 , g = 6 , h '= 4
C
6
2 1 : f'= 8 , g = 6 , h '= 2
8
2 2 : f'= 8 , g = 6 , h '= 2
1 9 : f'= 1 0 , g = 6 , h '= 4
C
2 0 : f'= 1 0 , g = 6 , h '= 4
C
A
2 1 : f'= 8 , g = 6 , h '= 2
6
2 2 : f'= 8 , g = 6 , h '= 2
C
A
A
A
B
B
2 3 : f'= 1 0 , g = 7 , h '= 3
A
B
B
2 4 : f'= 8 , g = 7 , h '= 1
C
C
7
C
C
A
C
C
A
B
A
B
B
2 5 : f'= 1 0 , g = 8 , h '= 2
A
2 6 : f'= 1 0 , g = 8 , h '= 2
C
C
A
B
2 7 : f'= 8 , g = 8 , h '= 0
A
B
C
B
8
A
B
A
B
B
8
2 0 : f'= 1 0 , g = 6 , h '= 4
1 9 : f'= 1 0 , g = 6 , h '= 4
0
C
6
2 1 : f'= 8 , g = 6 , h '= 2
2 2 : f'= 8 , g = 6 , h '= 2
A
B
8
1 : f'= 9 , g = 1 , h '= 8
10
8
2 : f'= 1 0 , g = 1 , h '= 9
1
8
10
4 : f'= 8 , g = 1 , h '= 7
3 : f'= 8 , g = 1 , h '= 7
C
C
A
A
C
A
B
B
B
B
A
B
8
6 : f'= 8 , g = 2 , h '= 6
8
2
C
C
A
B
A
10
A
A
B
B
8 : f'= 1 0 , g = 2 , h '= 8
7 : f'= 8 , g = 2 , h '= 6
C
C
A
C
A
A
C
C
5 : f'= 1 0 , g = 1 , h '= 9
C
C
B
B
B
A
B
8
10
9 : f'= 1 0 , g = 3 , h '= 7
1 0 : f'= 8 , g = 3 , h '= 5
8
1 1 : f'= 8 , g = 3 , h '= 5
3
A
C
A
B
8
: f'=
, h'='=66
1 3 :1 3f'=
1 01,0g, =g4= ,4 h
2 3 : f'= 1 0 , g = 7 , h '= 3
44
11 44 :: f'=
f'=88, ,gg==4 4, h, '=
h '=
7
44
B
10
1 5 :1 5f'=
0 , 1g0=,4 g
, h='=
: 1f'=
4 ,6h '= 6
C
C
2 4 : f'= 8 , g = 7 , h '= 1
A
B
B
10
C
A
A
10
1 2 : f'= 1 0 , g = 3 , h '= 7
C
C
C
C
C
C
A
A
A
B
B
A B
B
B
8
10
1 6 : f'= 1 0 , g = 5 , h '= 5
A
A
B
1 7 : f'= 8 , g = 5 , h '= 3
1 8 : f'= 8 , g = 5 , h '= 3
5
C
8
C
C
A
B
B
C
C
A
A
A
B
10
8
10
1 9 : f'= 1 0 , g = 6 , h '= 4
B
B
2 0 : f'= 1 0 , g = 6 , h '= 4
C
6
2 1 : f'= 8 , g = 6 , h '= 2
8
2 2 : f'= 8 , g = 6 , h '= 2
C
C
A
C
A
A
B
B
10
2 3 : f'= 1 0 , g = 7 , h '= 3
A
B
8
C
A
C
A
B
10
2 6 : f'= 1 0 , g = 8 , h '= 2
C
8
A
B
C
C
A
A
2 7 : f'= 8 , g = 8 , h '= 0
C
A
B
2 7 : f'= 8 , g = 8 , h '= 0
7
A
10
2 6 : f'= 1 0 , g = 8 , h '= 2
B
2 4 : f'= 8 , g = 7 , h '= 1
B
2 5 : f'= 1 0 , g = 8 , h '= 2
2 5 : f'= 1 0 , g = 8 , h '= 2
A
C
B
8
B
B
C
B
8
Problema misionero
y caníbales
 En la orilla de un río hay 3 misioneros y 3 caníbales y todos ellos
pretenden cruzar al otro lado. La barca que se utiliza para cruzarlo
solo tiene capacidad para dos personas, con lo que alguien ha de
estar volviendo siempre a la orilla inicial mientras quede gente sin
cruzar. Además, si en alguna ocasión y en cualquiera de las orillas se
encuentran un número mayor de caníbales que de misioneros, los
primeros se comerán a los segundos.
1.
¿Cómo representarías los estados?
2.
¿Cuáles serian los operadores?
3.
¿Qué heurísticas existen para
este
problema? ¿Son admisibles?
Problema misioneros - ESTADO
 ESTADO: Se podría indicar la posición de la barca, junto con el
número de misioneros y caníbales que hay en cada lado.
 Se podría pensar que, dado que el número de personas en el extremo final
puede calcularse a partir de los que hay en el inicial, basta con indicar la
posición de la barca y los misioneros y caníbales que quedan en el extremo
inicial. Sin embargo, la primera aproximación permite describir más
fácilmente las precondiciones y efectos de los operadores, por lo que
mantenemos la representación inicial. Además, el espacio de estados tiene
el mismo tamaño e idéntica semántica con ambas representaciones.
 Formalmente, un estado será representado por una terna (Mi, Ci,
B, Mf ,Cf ) en la que:
 B ∈ [i, f] indica la posición de la barca, por lo que toma el valor i si está
en el extremo inicial, o f si está en el final
 Mi, Ci, Mf, Cf ∈ [0,..., 3] indican el número de misioneros y caníbales que
quedan en el extremo inicial y final del río, respectivamente
 De esta manera, el estado inicial se representa como (3, 3, i, 0, 0) y
el estado final como (0, 0, f, 3, 3)
Problema misioneros - ACCIONES
 Se dispone de 5 acciones que transportan personas de la orilla
x a la orilla y:
 Mover1C(x, y) transporta 1 caníbal desde la orilla x hasta la orilla y
 Mover2C(x, y) transporta 2 caníbales desde la orilla x hasta la orilla y
 Mover1M(x,y) transporta 1 misionero desde la orilla x hasta la orilla y
 Mover2M(x,y) transporta 2 misioneros desde la orilla x hasta la orilla y
 Mover1M1C(x,y) transporta 1 misionero y un cabinal desde x hasta y
 El modelo de transiciones debe representar las precondiciones
de cada acción y sus efectos.
Modelo transiciones
3 grupos de precondiciones
1
La persona debe estar en la orilla para moverse
2
La barca debe estar en la orilla
3
Evitamos movimientos que llevan a que haya
Mas caníbales que misioneros en una orilla.
Misioneros y caníbales (heurísticas)
 Vamos a obtener las heurísticas por relajación del problema original.
Para dicha relajación, partimos de las precondiciones expuestas.
?
 Eliminar primer grupo de precondiciones. Si eliminamos ese primer grupo de
condiciones, se obtiene un problema relajado que no parece ser mucho
más fácil de resolver que el problema original, por lo que no tiene mucho
sentido.
 Eliminar segundo grupo de precondiciones. Se puede asumir que hay infinitas
barcas tanto en un lado como en otro. Este problema tiene una solución muy
sencilla, que es asumir que siempre viajan un caníbal y un misionero juntos,
con la acción Mover1M1C(i,f). Por tanto, la heurística resultante de este
problema relajado es:
h1 (n) =
Ci + M i
2
asumiendo que en el estado n se cumplen los requisitos definidos por el grupo
de precondiciones 3.
Misioneros y caníbales (heurísticas)
 Vamos a obtener las heurísticas por relajación del problema original. Para
dicha relajación, partimos de las precondiciones expuestas.
 Al eliminar el tercer grupo de condiciones, obtenemos un problema relajado en el
que los caníbales nunca se comen a los misioneros. Entonces, en cada viaje de
ida y vuelta, podemos transportar a una persona (dado que la otra tendrá que
volver para llevar la barca). Por tanto, la heurística resultante es:
h2 (n) = 2(Ci + Mi )- orilla(n)
donde orilla(n) = 1 si en el estado n la barca está en la orilla i (B = i), y orilla(n) = 0 si la
barca la orilla final (B = f).
 Si eliminamos el grupo de precondiciones 2 y 3 a la vez es equivalente a
eliminar solo la precondición 2.
Misioneros y caníbales (heurísticas)
 Las dos heurísticas son admisibles, puesto que son resultado de
relajar el problema original.
 Para decidir qué heurística elegir, h1 o h2, estudiamos cuál es la
más informada, puesto que será la que, siendo admisible,
tendrá un valor más cercano a h∗. Se observa fácilmente que
la más informada es h2, puesto que h1(n) ≥ h2(n), sea cual sea el
valor de Ci y de Mi para el estado n. Por tanto, elegimos h2(n).
h1 (n) =
Ci + M i
2
h2 (n) = 2(Ci + Mi )- orilla(n)
Misioneros y caníbales (exploración)
 Aplicar el algoritmo de búsqueda A* sobre la representación
del problema de los misioneros y los caníbales. Especifica
cuándo un nodo del árbol de búsqueda es expandido y
cuándo es sólo generado. Utiliza la heurística resultante de
relajar el tercer grupo de precondiciones.
80 A
A* en grafo
 Aplicar
el
algoritmo
de
búsqueda A* en grafo al
siguiente grafo de estados. El
nodo inicial es A y hay un solo
nodo objetivo, que en este caso
es Z. A cada arco se le ha
asociado un coste y a cada
nodo la estimación de la menor
distancia de ese nodo al nodo
objetivo (hay que asumir que se
trata
de
una
heurística
admisible). Se pide el orden en
que los nodos son expandidos y
el orden de la solución. Justifica
tu solución dibujando en la
siguiente página el árbol que se
genera
en
la
búsqueda
indicando: f’, g y h’, así como el
nº de orden en que los nodos
son visitados
4
10
10
27 B
60 C
5
5
65 D
10
50 F
35
30
50 G
50 H
2
0 Z
15
3
30
70 E
0
A 80
1 80
80 A
4
10
27 B
10
60 C
65 D
5
5
10
50 F
35
30
50 G
15
50 H
70 E
3
4
B 27
2 31
10
C 60
4 70
10
D 65
5 75
15
E 70
6 85
30
9
50
F
3 59
15
F 50
65
44
G 50
94
39
H 50
7 89
20
F 50
70
18
F 50
68
2
0 Z
41
Z 0
8 41
Sería correcto si
añadiéramos la
restricción de que sólo
Se pueden aplicar
acciones para ir hacia
abajo y no volver
Hacia arriba.
45
H 50
95
0
A 80
1 80
80 A
4
10
27 B
10
60 C
65 D
5
5
10
50 F
35
15
70 E
3
30
10
C 60
4 70
8
A* 80
30
50 G
4
B 27
2 31
88
50 H
10
D 65
5 75
20
A* 80
10
A* 80
9
50
F
3 59
98
15
F 50
65
15
E 70
85
100
20
F 50
70
2
0 Z
14
B* 27
41
C
14
60
D
12
E 70
6 82
19
60
44
G 50
94
39
H 50
7 89
84
74
69
F* 50
*Nodos expandidos previamente,
no haría falta calcular coste
30
A* 80
100
119
15
F* 50
65
42
H 50
92
41
Z 0
8 41
Minimax / Poda alfa-beta
Búsqueda en juegos [7 mi]
Considerar el árbol de juego mostrado abajo. Asumir que el nodo de arriba es un nodo max.
Las etiquetas de los arcos son los movimientos. Los números en el nivel de abajo son los valores
heurísticos de esas posiciones.
• Completa el árbol de juego utilizando una búsqueda mini-max
• Indica las ramas podadas con una poda alfa-beta con una búsqueda de izquierda a
derecha. Indica los valores que van tomando alfa y beta en cada nodo
• Reordena las hojas de los nodos de forma que resultara en el máximo número de nodos
podados en una poda alfa-beta de izquierda a derecha (indica también las ramas
podadas). Reordena los hijos pero preserva las relaciones padre-hijo.
max
min
3
7
8
10
4
8
2
7
5
Minimax /Poda Alfa-beta
4
max
min
3
7
8
10 4
8
2
7
5
4
3
3
7
10 4
3
7
4
8
10 4
2
8
2
7
min
5
<=2
8
2
7
min
5
4
max
4
8
3
max
4
10 4
max
<=3
8
3
7
<=2
8
2
7
min
5
Minimax y Poda alfa-beta
 Dado el árbol de la figura
1. Señala las estrategia ganadoras, si las hubiera, para un jugador
MAX y para un jugador MIN. Se considera que un nodo terminal es
ganador para MAX si su valor es superior o igual a 6.
Contrariamente, es ganador para MIN si es inferior a 6.
MAX
4
6
7
6
8
9
5
1
6
7
8
6
8
4
Minimax y Poda alfa-beta
 Dado el árbol de la figura
 Señala las estrategia ganadora, si las hubiera, para un jugador MAX
y para un jugador MIN. Se considera que un nodo terminal es
ganador para MAX si su valor es superior o igual a 6.
Contrariamente, es ganador para MIN si es inferior a 6.
MAX tiene dos estrategias
ganadoras => MIN no.
MIN
MAX
MIN
4
8
6
7
4 MIN
7
6
6
4
6
7 MAX
6
1
8
8
9
5
1
7
6
7
8
8
6
8
8
4
4
MAX
Minimax y Poda alfa-beta
 Dado el árbol de la figura
 Señala las estrategia ganadora, si el nodo inicial fuera MIN. Se
considera que un nodo terminal es ganador para MAX si su valor es
superior o igual a 6. Contrariamente, es ganador para MIN si es
inferior a 6.
MIN no tiene estrategia
ganadora
MAX
MIN
MAX
4
6
6
6
7
7
8
6
MAX
5
6
6
MIN
6
5
9
8
9
5
1
6
6
7
8
6
4 MIN
8
6
8
4
Minimax y Poda alfa-beta
 Dado el árbol de la figura
2. Recorre el árbol de izquierda a derecha, siguiendo el método de
poda alfa-beta, indicando claramente (tachando con una x) los
nodo en que se produce poda. Encuadra /marca los nodos
terminales que no ha sido necesario recorrer. Señala el valor de la
decisión más acertada para MAX.
MAX
4
6
7
6
8
9
5
1
6
7
8
6
8
4
Marcado de una Poda alfa-beta
 Datos a marcar
 Los valores de alfa y beta con los que se hace cada llamada recursiva
desde cada nodo. Convenio
 Si las llamadas se hacen desde un nodo MAX, alfa (a) será un valor
que puede ir aumentando, hasta igualar o superar a beta (b), en
cuyo caso se producirá una poda alfa. Estas llamadas las
marcaremos con (a=valor1, valor2), para reslatar que es el cambio
de a el que determina el que haya poda o no.
 Si las llamadas se hacen desde un nodo MIN, beta(b) será un valor
que puede ir disminuyendo, hasta igualar o quedar por debajo de
alfa (a), en cuyo caso se producirá una poda beta. Estas llamadas
las marcaremos con (valor1, b=valor2).
 EL segundo dato relacionado con el nodo a marcar, es el resultado que
se devuelve al nodo padre.
Marcado de una Poda alfa-beta
 (a=valor1, valor2) , alfa puede crecer y marca poda cuando se cruza con b
 (valor1, b=valor2) , beta puede decrecer y marca poda cuando se cruza con a
MAX
(a=-∞, ∞)
MIN
MIN
(-∞, b= ∞)
MAX
(a=-∞, ∞)
MIN
MAX
(-∞,b= ∞)
4
4
6
7
6
8
9
5
1 6
7
8
6
8
4
Marcado de una Poda alfa-beta
 (a=valor1, valor2) , alfa puede crecer y marca poda cuando se cruza con b
 (valor1, b=valor2) , beta puede decrecer y marca poda cuando se cruza con a
MAX
(a=-∞, ∞)
MIN
MIN
(-∞, b= ∞)
MAX
(a=-∞, ∞)
MIN
MAX
(-∞,b= ∞) (-∞,b= 4)
4
4
6
6
7
6
8
9
5
1 6
7
8
6
8
4
Marcado de una Poda alfa-beta
 (a=valor1, valor2) , alfa puede crecer y marca poda cuando se cruza con b
 (valor1, b=valor2) , beta puede decrecer y marca poda cuando se cruza con a
MAX
(a=-∞, ∞)
MIN
MIN
(-∞, b= ∞)
MAX
(a=-∞, ∞)
MIN
(a=4, ∞)
MAX
4
(-∞,b= ∞) (-∞,b= 4)
4
4
6
6
7
6
8
9
5
1 6
7
8
6
8
4
Marcado de una Poda alfa-beta
 (a=valor1, valor2) , alfa puede crecer y marca poda cuando se cruza con b
 (valor1, b=valor2) , beta puede decrecer y marca poda cuando se cruza con a
MAX
(a=-∞, ∞)
MIN
MIN
(-∞, b= ∞)
MAX
(a=-∞, ∞)
MIN
(a=4, ∞)
MAX
4
(4, b=∞)
(-∞,b= ∞) (-∞,b= 4)
4
4
7
6
6
7
6
8
9
5
1 6
7
8
6
8
4
Marcado de una Poda alfa-beta
 (a=valor1, valor2) , alfa puede crecer y marca poda cuando se cruza con b
 (valor1, b=valor2) , beta puede decrecer y marca poda cuando se cruza con a
MAX
(a=-∞, ∞)
MIN
MIN
(-∞, b= ∞)
MAX
(a=-∞, ∞)
MIN
(a=4, ∞)
4
(4, b=∞)
(-∞,b= ∞) (-∞,b= 4)
4
4
7
6
6
7
MAX
(4, b=7)
6
6
8
9
5
1 6
7
8
6
8
4
Marcado de una Poda alfa-beta
 (a=valor1, valor2) , alfa puede crecer y marca poda cuando se cruza con b
 (valor1, b=valor2) , beta puede decrecer y marca poda cuando se cruza con a
MAX
(a=-∞, ∞)
MIN
MIN
(-∞, b= ∞)
MAX
(a=-∞, ∞)
MIN
6
(a=4, ∞)
(4, b=∞)
(-∞,b= ∞) (-∞,b= 4)
4
4
MAX
6
4
7
6
6
7
(4, b=7)
6
6
8
9
5
1 6
7
8
6
8
4
Marcado de una Poda alfa-beta
 (a=valor1, valor2) , alfa puede crecer y marca poda cuando se cruza con b
 (valor1, b=valor2) , beta puede decrecer y marca poda cuando se cruza con a
MAX
(a=-∞, ∞)
MIN
MAX
(a=-∞, ∞)
MIN
6
(a=4, ∞)
(4, b=∞)
(-∞,b= ∞) (-∞,b= 4)
4
(a=-∞, 6)
MAX
6
4
4
MIN
(-∞, b= 6)
(-∞, b= ∞)
7
6
6
7
(4, b=7)
(-∞, b=6)
6
6
8
8
9
5
1 6
7
8
6
8
4
Marcado de una Poda alfa-beta
 (a=valor1, valor2) , alfa puede crecer y marca poda cuando se cruza con b
 (valor1, b=valor2) , beta puede decrecer y marca poda cuando se cruza con a
MAX
(a=-∞, ∞)
MIN
MAX
(a=-∞, ∞)
MIN
6
(a=4, ∞)
(4, b=∞)
(-∞,b= ∞) (-∞,b= 4)
4
(a=-∞, 6)
MAX
6
4
4
MIN
(-∞, b= 6)
(-∞, b= ∞)
7
6
6
7
(4, b=7)
(-∞, b=6)
(-∞, b=6)
6
6
8
8
9
5
1 6
7
8
6
8
4
Marcado de una Poda alfa-beta
 (a=valor1, valor2) , alfa puede crecer y marca poda cuando se cruza con b
 (valor1, b=valor2) , beta puede decrecer y marca poda cuando se cruza con a
MAX
(a=-∞, ∞)
MIN
MAX
(a=-∞, ∞)
MIN
6
(a=4, ∞)
(4, b=∞)
(-∞,b= ∞) (-∞,b= 4)
4
(a=-∞, 6)
MAX
6
4
4
MIN
(-∞, b= 6)
(-∞, b= ∞)
7
6
6
7
(4, b=7)
(-∞, b=6)
(-∞, b=6)
6
6
8
8
9
9
5
1 6
7
8
6
8
4
Marcado de una Poda alfa-beta
 (a=valor1, valor2) , alfa puede crecer y marca poda cuando se cruza con b
 (valor1, b=valor2) , beta puede decrecer y marca poda cuando se cruza con a
MAX
(a=-∞, ∞)
MIN
MAX
(a=-∞, ∞)
MIN
6
(a=4, ∞)
(4, b=∞)
(-∞,b= ∞) (-∞,b= 4)
4
4
(a=-∞, 6)
6
4
7
6
6
MIN
(-∞, b= 6)
(-∞, b= ∞)
7
MAX
6
(4, b=7)
(-∞, b=6)
(-∞, b=6)
6
6
8
8
9
9
5
1 6
7
8
6
8
4
Marcado de una Poda alfa-beta
 (a=valor1, valor2) , alfa puede crecer y marca poda cuando se cruza con b
 (valor1, b=valor2) , beta puede decrecer y marca poda cuando se cruza con a
MAX
(a=-∞, ∞)
MIN
MAX
(a=-∞, ∞)
MIN
6
(a=4, ∞)
(4, b=∞)
(-∞,b= ∞) (-∞,b= 4)
4
4
(a=-∞, 6)
6
4
7
6
6
7
MIN
(-∞, b= 6)
(-∞, b= ∞)
Poda
a:
a(=6)=6
x
MAX
6
(4, b=7)
(-∞, b=6)
(-∞, b=6)
6
6
8
8
9
9
5
1 6
7
8
6
8
4
Marcado de una Poda alfa-beta
 (a=valor1, valor2) , alfa puede crecer y marca poda cuando se cruza con b
 (valor1, b=valor2) , beta puede decrecer y marca poda cuando se cruza con a
MAX
(a=-∞, ∞)
MIN
(-∞, b= 6)
(-∞, b= ∞)
MAX
(a=-∞, ∞)
MIN
6
(4, b=∞)
(-∞,b= ∞) (-∞,b= 4)
4
4
6
(a=4, ∞)
(a=-∞, 6)
6
4
7
6
6
7
MIN
6
Poda
a:
a(=6)=6
x
MAX
6
(4, b=7)
(-∞, b=6)
(-∞, b=6)
6
6
8
8
9
9
5
1 6
7
8
6
8
4
Marcado de una Poda alfa-beta
 (a=valor1, valor2) , alfa puede crecer y marca poda cuando se cruza con b
 (valor1, b=valor2) , beta puede decrecer y marca poda cuando se cruza con a
MAX
(a=-∞, ∞)
MIN
6
(-∞, b= 6)
(-∞, b= ∞)
MAX
(a=-∞, ∞)
MIN
6
(a=4, ∞)
(4, b=∞)
(-∞,b= ∞) (-∞,b= 4)
4
4
6
(a=-∞, 6)
6
4
7
6
6
7
(a=6, ∞)
Poda
a:
a(=6)=6
x
MIN
(6, b=∞)
MAX
6
(4, b=7)
(-∞, b=6)
(-∞, b=6)
(a=6, ∞)
6
6
8
8
9
9
5
1 6
7
8
6
8
4
Marcado de una Poda alfa-beta
 (a=valor1, valor2) , alfa puede crecer y marca poda cuando se cruza con b
 (valor1, b=valor2) , beta puede decrecer y marca poda cuando se cruza con a
MAX
(a=-∞, ∞)
MIN
6
(-∞, b= 6)
(-∞, b= ∞)
MAX
(a=-∞, ∞)
MIN
6
(a=4, ∞)
(4, b=∞)
(-∞,b= ∞) (-∞,b= 4)
4
4
6
(a=-∞, 6)
6
4
7
6
6
7
(a=6, ∞)
Poda
a:
a(=6)=6
x
MIN
(6, b=∞)
MAX
6
(4, b=7)
(-∞, b=6)
(-∞, b=6)
(a=6, ∞)
6
6
8
8
9
6
9
5
1 6
7
8
6
8
4
Marcado de una Poda alfa-beta
 (a=valor1, valor2) , alfa puede crecer y marca poda cuando se cruza con b
 (valor1, b=valor2) , beta puede decrecer y marca poda cuando se cruza con a
MAX
(a=-∞, ∞)
MIN
6
(-∞, b= 6)
(-∞, b= ∞)
MAX
(a=-∞, ∞)
MIN
6
(a=4, ∞)
(4, b=∞)
(-∞,b= ∞) (-∞,b= 4)
4
4
6
(a=-∞, 6)
6
4
7
6
6
7
(a=6, ∞)
Poda
a:
a(=6)=6
x
MIN
(6, b=∞)
MAX
6
(4, b=7)
(-∞, b=6)
(-∞, b=6)
(a=6, ∞)(a=6, ∞)
6
6
8
8
9
6
9
5
1 6
7
7
8
6
8
4
Marcado de una Poda alfa-beta
 (a=valor1, valor2) , alfa puede crecer y marca poda cuando se cruza con b
 (valor1, b=valor2) , beta puede decrecer y marca poda cuando se cruza con a
MAX
(a=-∞, ∞)
MIN
6
(-∞, b= 6)
(-∞, b= ∞)
MAX
(a=-∞, ∞)
MIN
6
(a=4, ∞)
(4, b=∞)
(-∞,b= ∞) (-∞,b= 4)
4
4
6
(a=-∞, 6)
6
4
7
6
6
7
(a=6, ∞)
Poda
a:
a(=6)=6
x
MIN
(6, b=∞)
7
6
(4, b=7)
(-∞, b=6)
(-∞, b=6)
(a=6, ∞)(a=6, ∞)
6
6
8
8
9
6
9
5
MAX
1 6
7
7
8
6
8
4
Marcado de una Poda alfa-beta
 (a=valor1, valor2) , alfa puede crecer y marca poda cuando se cruza con b
 (valor1, b=valor2) , beta puede decrecer y marca poda cuando se cruza con a
MAX
(a=-∞, ∞)
MIN
6
(-∞, b= 6)
(-∞, b= ∞)
MAX
(a=-∞, ∞)
MIN
6
(a=4, ∞)
(4, b=∞)
(-∞,b= ∞) (-∞,b= 4)
4
4
6
(a=-∞, 6)
6
4
7
6
6
7
(a=6, ∞)
Poda
a:
a(=6)=6
x
(6, b=∞)
(-∞, b=6)
(-∞, b=6)
6
8
9
6
9
5
MAX
(a=6, 7)
(a=6, ∞)(a=6, ∞)
6
8
(6, b=7)
7
6
(4, b=7)
MIN
1 6
7
7
8
6
8
4
Marcado de una Poda alfa-beta
 (a=valor1, valor2) , alfa puede crecer y marca poda cuando se cruza con b
 (valor1, b=valor2) , beta puede decrecer y marca poda cuando se cruza con a
MAX
(a=-∞, ∞)
MIN
6
(-∞, b= 6)
(-∞, b= ∞)
MAX
(a=-∞, ∞)
MIN
6
(a=4, ∞)
(4, b=∞)
(-∞,b= ∞) (-∞,b= 4)
4
4
6
(a=-∞, 6)
6
4
7
6
6
7
(a=6, ∞)
Poda
a:
a(=6)=6
x
(6, b=∞)
(-∞, b=6)
(-∞, b=6)
6
8
9
6
9
5
MAX
(a=6, 7)
(a=6,
∞)
(a=6, ∞)
6
8
(6, b=7)
7
6
(4, b=7)
MIN
1 6
8
7
7
8
6
8
4
Marcado de una Poda alfa-beta
 (a=valor1, valor2) , alfa puede crecer y marca poda cuando se cruza con b
 (valor1, b=valor2) , beta puede decrecer y marca poda cuando se cruza con a
MAX
(a=-∞, ∞)
MIN
6
(-∞, b= 6)
(-∞, b= ∞)
MAX
(a=-∞, ∞)
MIN
6
(a=4, ∞)
(4, b=∞)
(-∞,b= ∞) (-∞,b= 4)
4
4
6
(a=-∞, 6)
6
4
7
6
6
7
(a=6, ∞)
Poda
a:
a(=6)=6
x
(6, b=∞)
(-∞, b=6)
(-∞, b=6)
6
8
9
6
9
5
x
Poda
a:
a(=8)>7
MAX
(a=6, 7)
(a=6,
∞)
(a=6, ∞)
6
8
(6, b=7)
7
6
(4, b=7)
MIN
1 6
8
7
7
8
6
8
4
Marcado de una Poda alfa-beta
 (a=valor1, valor2) , alfa puede crecer y marca poda cuando se cruza con b
 (valor1, b=valor2) , beta puede decrecer y marca poda cuando se cruza con a
MAX
(a=-∞, ∞)
MIN
6
(-∞, b= 6)
(-∞, b= ∞)
MAX
(a=-∞, ∞)
MIN
6
(a=4, ∞)
(4, b=∞)
(-∞,b= ∞) (-∞,b= 4)
4
4
6
(a=-∞, 6)
6
4
7
6
6
7
(a=6, ∞)
Poda
a:
a(=6)=6
x
(6, b=∞)
(-∞, b=6)
(-∞, b=6)
6
8
9
6
9
5
x
Poda
a:
a(=8)>7
MAX
(a=6, 7)
(a=6,
∞)
(a=6, ∞)
6
8
(6, b=7)
7
7
6
(4, b=7)
MIN
1 6
8
7
7
8
6
8
4
Marcado de una Poda alfa-beta
 (a=valor1, valor2) , alfa puede crecer y marca poda cuando se cruza con b
 (valor1, b=valor2) , beta puede decrecer y marca poda cuando se cruza con a
MAX
(a=-∞, ∞)
MIN
6
(a=-∞, ∞)
MIN
6
(a=4, ∞)
(4, b=∞)
(-∞,b= ∞) (-∞,b= 4)
4
(a=-∞, 6)
6
4
4
6
7
6
6
7
Poda
a:
a(=6)=6
x
(6, b=∞)
(-∞, b=6)
(-∞, b=6)
6
8
9
6
9
5
x
Poda
a:
a(=8)>7
MAX
(a=6, 7)
(a=6,
∞)
(a=6, ∞)
6
8
(6, b=7)
7
7
6
(4, b=7)
MIN
7
(-∞, b= 6)
(-∞, b= ∞)
MAX
(a=6, ∞)
1 6
8
7
7
8
6
8
4
Marcado de una Poda alfa-beta
 (a=valor1, valor2) , alfa puede crecer y marca poda cuando se cruza con b
 (valor1, b=valor2) , beta puede decrecer y marca poda cuando se cruza con a
MAX
(a=-∞, ∞)
MIN
MAX
(a=-∞, ∞)
MIN
6
(a=4, ∞)
(4, b=∞)
(-∞,b= ∞) (-∞,b= 4)
4
4
6
(a=-∞, 6)
7
6
6
7
Poda
a:
a(=6)=6
x
(6, b=∞)
(-∞, b=6)
(-∞, b=6)
6
8
9
6
9
5
x
1 6
(7,b= ∞)
Poda
a:
a(=8)>7
(a=6, 7)
(a=6,
∞)
(a=6, ∞)
6
8
(6, b=7)
7
7
6
(4, b=7)
MIN
7
(-∞, b= 6)
6
4
(a=6, ∞)
6
(-∞, b= ∞)
(a=7, ∞)
MAX
(a=7, ∞)
8
7
7
8
6
8
4
Marcado de una Poda alfa-beta
 (a=valor1, valor2) , alfa puede crecer y marca poda cuando se cruza con b
 (valor1, b=valor2) , beta puede decrecer y marca poda cuando se cruza con a
MAX
(a=-∞, ∞)
MIN
MAX
(a=-∞, ∞)
MIN
6
(a=4, ∞)
(4, b=∞)
(-∞,b= ∞) (-∞,b= 4)
4
4
6
(a=-∞, 6)
7
6
6
7
Poda
a:
a(=6)=6
x
(6, b=∞)
(-∞, b=6)
(-∞, b=6)
6
8
9
6
9
5
x
1 6
7
8
8
MAX
(a=7, ∞)
8
8
7
(7,b= ∞)
Poda
a:
a(=8)>7
(a=6, 7)
(a=6,
∞)
(a=6, ∞)
6
8
(6, b=7)
7
7
6
(4, b=7)
MIN
7
(-∞, b= 6)
6
4
(a=6, ∞)
6
(-∞, b= ∞)
(a=7, ∞)
6
8
4
Marcado de una Poda alfa-beta
 (a=valor1, valor2) , alfa puede crecer y marca poda cuando se cruza con b
 (valor1, b=valor2) , beta puede decrecer y marca poda cuando se cruza con a
MAX
(a=-∞, ∞)
MIN
MAX
(a=-∞, ∞)
MIN
6
(a=4, ∞)
(4, b=∞)
(-∞,b= ∞) (-∞,b= 4)
4
4
6
(a=-∞, 6)
7
6
6
7
Poda
a:
a(=6)=6
x
(6, b=∞)
(-∞, b=6)
(-∞, b=6)
6
8
9
6
9
5
x
1 6
7
8
(7,b= 8)
8
MAX
(a=7, ∞)
(a=7, 8)
8
8
7
(7,b= ∞)
Poda
a:
a(=8)>7
(a=6, 7)
(a=6,
∞)
(a=6, ∞)
6
8
(6, b=7)
7
7
6
(4, b=7)
MIN
7
(-∞, b= 6)
6
4
(a=6, ∞)
6
(-∞, b= ∞)
(a=7, ∞)
6
8
4
Marcado de una Poda alfa-beta
 (a=valor1, valor2) , alfa puede crecer y marca poda cuando se cruza con b
 (valor1, b=valor2) , beta puede decrecer y marca poda cuando se cruza con a
MAX
(a=-∞, ∞)
MIN
MAX
(a=-∞, ∞)
MIN
6
(a=4, ∞)
(4, b=∞)
(-∞,b= ∞) (-∞,b= 4)
4
4
6
(a=-∞, 6)
7
6
6
7
Poda
a:
a(=6)=6
x
(6, b=∞)
(-∞, b=6)
(-∞, b=6)
6
8
9
6
9
5
x
1 6
7
8
(7,b= 8)
8
MAX
(a=7, ∞)
(a=7, 8)
8
8
7
(7,b= ∞)
Poda
a:
a(=8)>7
(a=6, 7)
(a=6,
∞)
(a=6, ∞)
6
8
(6, b=7)
7
7
6
(4, b=7)
MIN
7
(-∞, b= 6)
6
4
(a=6, ∞)
6
(-∞, b= ∞)
(a=7, ∞)
6
8
4
4
Marcado de una Poda alfa-beta
 (a=valor1, valor2) , alfa puede crecer y marca poda cuando se cruza con b
 (valor1, b=valor2) , beta puede decrecer y marca poda cuando se cruza con a
MAX
(a=-∞, ∞)
MIN
MAX
(a=-∞, ∞)
MIN
6
(a=4, ∞)
(4, b=∞)
(-∞,b= ∞) (-∞,b= 4)
4
4
6
(a=-∞, 6)
7
6
6
7
Poda
a:
a(=6)=6
x
(6, b=∞)
(-∞, b=6)
(-∞, b=6)
6
8
9
6
9
5
x
1 6
7
8
8
(7,b= 8)
7
MAX
(a=7, ∞)
(a=7, 8)
8
8
7
(7,b= ∞)
Poda
a:
a(=8)>7
(a=6, 7)
(a=6,
∞)
(a=6, ∞)
6
8
(6, b=7)
7
7
6
(4, b=7)
MIN
7
(-∞, b= 6)
6
4
(a=6, ∞)
6
(-∞, b= ∞)
(a=7, ∞)
6
8
4
4
Marcado de una Poda alfa-beta
 (a=valor1, valor2) , alfa puede crecer y marca poda cuando se cruza con b
 (valor1, b=valor2) , beta puede decrecer y marca poda cuando se cruza con a
7
MAX
(a=-∞, ∞)
MIN
MAX
(a=-∞, ∞)
MIN
6
(a=4, ∞)
(4, b=∞)
(-∞,b= ∞) (-∞,b= 4)
4
4
6
(a=-∞, 6)
7
6
6
7
Poda
a:
a(=6)=6
x
(6, b=∞)
(-∞, b=6)
(-∞, b=6)
6
8
9
6
9
5
x
1 6
7
8
(7,b= ∞)
8
(7,b= 8)
7
MAX
(a=7, ∞)
(a=7, 8)
8
8
7
MIN
7
Poda
a:
a(=8)>7
(a=6, 7)
(a=6,
∞)
(a=6, ∞)
6
8
(6, b=7)
7
7
6
(4, b=7)
7
7
(-∞, b= 6)
6
4
(a=6, ∞)
6
(-∞, b= ∞)
(a=7, ∞)
6
8
4
4
Marcado de una Poda alfa-beta
 (a=valor1, valor2) , alfa puede crecer y marca poda cuando se cruza con b
 (valor1, b=valor2) , beta puede decrecer y marca poda cuando se cruza con a
7
MAX
(a=-∞, ∞)
MIN
MAX
(a=-∞, ∞)
MIN
(a=4, ∞)
(4, b=∞)
(-∞,b= ∞) (-∞,b= 4)
4
(a=-∞, 6)
6
4
4
6
7
6
6
7
Poda
a:
a(=6)=6
x
(6, b=∞)
(-∞, b=6)
(-∞, b=6)
6
8
9
6
9
5
x
1 6
7
8
(7,b= ∞)
8
(7,b= 8)
7
MAX
(a=7, ∞)
(a=7, 8)
8
8
7
MIN
7
Poda
a:
a(=8)>7
(a=6, 7)
(a=6,
∞)
(a=6, ∞)
6
8
(6, b=7)
7
7
6
(4, b=7)
7
7
(-∞, b= 6)
6
(a=7, ∞)
(a=6, ∞)
6
(-∞, b= ∞)
¡Cuidado!
6
8
4
4
Valor con Poda alfa-beta
 (a=valor1, valor2) , alfa puede crecer y marca poda cuando se cruza con b
 (valor1, b=valor2) , beta puede decrecer y marca poda cuando se cruza con a
7
MIN
MAX
MIN
4
6
6
6
7
7
8 x
6
4
¡Cuidado!
MAX
6
Poda
a:
a(=6)=6
8
8
7
9
5
1 6
7
8 x
8
MIN
4
Poda
a:
a(=8)>7
6
8
8
MAX
4
4
Marcado de una Poda alfa-beta
 Poda del árbol comenzando por MIN
MIN
MAX
MAX
MIN
MAX
4
MIN
6
7
6
8
9
5
1
6
7
8
6
8
4
Marcado de una Poda alfa-beta
 Poda del árbol comenzando por MIN
7
MIN
(-∞,b= ∞)
MAX
MIN
(-∞, b= ∞)
MAX
6
(-∞, b=6) Poda a: (6,b= ∞)
x
a(=7)>6
4
4
(a=-∞, 6)
6
7
7
6
6
6
8
8
9
9
5
5
1
1
6
MIN
(-∞,b= 6)
(-∞, b=6) (-∞, b=6)
(a=6,∞) (a=8,∞)
(a=6,
9)
(a=6, 9)
6
x MAX
6
(a=-∞,6)
(6,b= 9)
7
6
Poda a:
a(=6)=6
Poda a:
a(=6)=6
6
9
(a=-∞, 6)
(a=-∞, ∞) (a=4,b= ∞)
x
6
(a=6, ∞)
6
6
6
(-∞,b= 6)
6
(a=-∞, ∞)
(-∞,b= 6)
8
7
7
8
6
8
4
Valor con Poda alfa-beta
 Poda del árbol comenzando por MIN
6
MAX
MIN
MAX
4
7 x
6
7
x
Poda a:
a(=6)=6
x MAX
8
5
Poda a:
a(=7)>6
5
9
6
Poda a:
a(=6)=6
6
6
6
6
MIN
8
9
5
1
6
7
MIN
8
6
8
6
8
4
Inteligencia
Artificial
(30223) Grado en Ingeniería Informática
.
Descargar

4.ProblemasResueltos..