ESERCIZIO MIN-MAX Si consideri il seguente albero di gioco dove i

ESERCIZIO MIN-MAX
Si consideri il seguente albero di gioco dove i punteggi
sono tutti dal punto di vista del primo giocatore.
A
C
B
E
F
D
I
H
G
J
K
L
M
N
O
P
Q
R
S
T
U
(6)
(8)
(5)
(0)
(-2)
(2)
(5)
(8)
(9)
(2)
(0)
Supponendo che il primo giocatore sia MAX, quale
mossa dovrebbe scegliere?
Soluzione
(6) ( mossa verso B)
A
B
E
Giochi
C
(6)
F
(6)
G
(8)
(0)
H
(0)
D
I
(5)
(2)
J
(9)
K
L
M
N
O
P
Q
R
S
T
(6)
(8)
(5)
(0)
(-2)
(2)
(5)
(8)
(9)
(2)
(2)
U
(0)
1
ESERCIZIO MIN-MAX e TAGLI ALFA-BETA
Si consideri il seguente albero di gioco dove i punteggi
sono tutti dal punto di vista del primo giocatore.
A
C
B
E
K
1
F
L
N
O
3
-2
-6
I
H
G
M
5
D
J
P
Q
R
S
T
U
V
7
8
2
-8
1
4
2
W
-4
X
0
Supponendo che il primo giocatore sia MIN, quale
mossa dovrebbe scegliere? Si applichi l’algoritmo MINMAX. Successivamente si mostrino i tagli alfa-beta.
Min-Max
A
B
E
7
1
-6
1
1
F
G
C
1
-8
7
1
H
D
I
-4
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
1
5
3
-2
-6
7
8
2
-8
1
4
2
-4
0
Tagli alfa-beta
A
B
E
Giochi
1
≥7
1
≤-2
F
G
7
1
C
≥1
-8
1
H
D
I
-4
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
1
5
3
-2
-6
7
8
2
-8
1
4
2
-4
0
2
ESERCIZIO MIN-MAX e TAGLI ALFA-BETA
Si consideri il seguente albero di gioco dove i punteggi
sono tutti dal punto di vista del primo giocatore.
A
C
B
E
F
D
I
H
G
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
-2
3
5
9
11
-2
-1
3
-2
5
7
9
4
X
-3
Supponendo che il primo giocatore sia MAX, quale
mossa dovrebbe scegliere? Si applichi l’algoritmo MINMAX. Successivamente si mostrino i tagli alfa-beta.
Min-Max
5
5
B
E
A
5
11
C -1
G -1
F
3
4
I
H
D
9
4
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
-2
3
5
9
11
-2
-1
3
-2
5
7
9
4
5
A
X
-3
Tagli alfa beta:
5
B
E
Giochi
5
C
F
≥9
O
K
L
M
N
-2
3
5
9
≤-1
G -1
4
I
H
D
9
4
J
P
Q
R
S
T
U
V
W
X
-2
-1
3
-2
5
7
9
4
-3
3
ESERCIZIO MIN-MAX E TAGLI ALFA-BETA
Si consideri il gioco del TRIS e si applichi a esso la
strategia MINMAX considerando tre livelli e partendo dal
nodo iniziale:
in cui è MAX che deve muovere inserendo una
opportuna X.
Si disegni l'albero di ricerca con i relativi valori per la
funzione euristica (E) e quelli propagati e si mostri quale
mossa sceglierà MAX.
Per risolvere il problema si consideri come funzione
euristica E il numero di righe, colonne e diagonali ancora
possibili per MAX (MIN) meno il numero di righe,
colonne e diagonali ancora possibili per MIN (MAX).
Inoltre E sarà uguale a + o - infinito per le posizioni
vincenti o perdenti per MAX.
Esempio: se abbiamo
E per MAX sarà 6 - 4 = 2
Per semplificare l'albero si considerino inoltre equivalenti
le situazioni simmetriche.
Giochi
4
E=1
2
E = - infinito
E=1
2
E = - infinito
E=2-1=1
E=3-1=2
E = - infinito
E=2-1=1
E = 2 - 1= 1
E = 3 - 1= 2
E = - infinito
E = 3 - 1= 2
E = - infinito
E = - infinito
E = - infinito
E=3-2=1
E=2-2=0
E=3-2=1
E = - infinito
Giochi
E = 2 - 1= 1
E=2-2=0
E=3-2=1
E=2-2=0
5
E = 2 - 1= 1
E=3-1=2
E=2-1=1
E=1
E = -infinito
E=1
E = -infinito
E=2-1=1
E=3-1=2
E = -infinito
E=2-1=1
E=3-1 =2
E=2-1 =1
E = -infinito
E=3-1 =2
E = -infinito
E = -infinito
E = -infinito
E=3-2=1
E=2-2=0
E=3-2=1
E = -infinito
Giochi
E=2-1 =1
E=3-2=1
E=2-2=0
E=2-2=0
7
E=2-1 =1
E=3-1=2
E=2-1=1
Esercizio
Si consideri il seguente gioco:
due giocatori hanno davanti una singola pila di oggetti
(ad esempio una pila di monete).
Il primo giocatore divide la pila in due pile separate che
devono essere diverse. Poi continua il secondo
lavorando su una a scelta delle due pile e così via.
Il gioco termina solo quando in ogni pila ci sono una o
due monete. A questo punto il primo giocatore che non
può muovere ha perso.
Si applichi la procedura MIN-MAX e si mostri lo spazio
di ricerca nel caso in cui cominci MIN con una pila di 7
monete.
Si commenti lo spazio risultante.
Notazione: Ogni nodo dello spazio di ricerca rappresenta
una configurazione: in particolare i numeri X,Y,Z
indicano che si hanno tre pile corrispondenti ciascuna ad
un numero, che indica il numero di monete contenute
Giochi
8
7
3, 4
MAX
3,3,1
MAX
2,1,4
MAX
MAX
2,1,3,1
2,1,3,1
2,1,1,2,1
MAX
5, 2
MAX
min
3,2,2
2,1,2,2
min
MAX
6, 1
MAX
min
5,1,1
MAX
4,1,2
MAX
3,1,1,2
MAX
3,2,1,1
MAX
MAX
4,2,1
min
MAX
3,1,2,1
4,1,1,1
min
1,2,1,1,2
MAX
1,2,2,1,1
3,1,1,1,1
MAX
2,1,1,2,1
MAX
2,1,1,1,1,1
min
Le etichette Max e min rappresentano le posizioni
vincenti per Max e min. Comunque muova min, se Max
gioca nel modo migliore, Max vince comunque.
Giochi
9
Esercizio MIN-MAX e TAGLI ALFA-BETA
Dato il seguente albero di ricerca per un gioco a due
giocatori, si mostri quale mossa selezionerà MAX,
secondo l'algoritmo MIN-MAX. Si mostri inoltre come
può essere potato l'albero applicando i tagli alfa-beta.
A
MAX
B
D
H
6
K
J
L
3
9
7
G
F
E
I
MIN
C
5
M
N
4
MAX
MIN
O
3
P
5
Q
R
4
2
Algoritmo MIN-MAX:
7
7
B
2
C
D 7
Giochi
MAX
A
E
F
9
H
I
J
K
L
M
6
7
9
3
5
4
4
MIN
2
G
N
O
3
MAX
2
MIN
P
Q
R
5
4
2
10
Tagli alfa-beta:
7
7
MAX
A
C
B
D 7
H
I
6
7
E
J
9
K
F
>=9
L
MIN
<=4
4
G
M
N
4
3
P
MAX
O
Q
MIN
R
Spiegazione:
Quando l'algoritmo scopre che il valore del nodo J è 9,
può ignorare i nodi K e L. Infatti, poiché il nodo B è un
nodo MIN, il suo valore sarà il più piccolo fra D (7) e E.
Poiché E è un nodo MAX, il suo valore sarà uguale o più
grande di quello relativo al nodo J (cioè 9). Quindi il
valore di B sarà 7 indipendentemente dai valori di K e J.
Analogo discorso si può fare per i nodi G, O, P, Q e R.
Giochi
11
ESERCIZIO MIN-MAX e TAGLI ALFA-BETA
Si consideri il gioco seguente:
• Si ha a disposizione una griglia 4 x 4
• Ciascun giocatore deve inserire all'interno della griglia
delle palline. Il giocatore A deve inserire palline
bianche mentre il giocatore B palline nere. Le palline
possono essere inserite nella griglia dall'alto in modo
tale che giungano nella prima posizione libera nella
colonna a partire dal basso. Ad esempio, nel disegno
se si vuole inserire la pallina nera nella prima colonna
cadrà in terza posizione, nella seconda colonna in
seconda posizione, nella terza colonna non può
essere inserita e nella quarta colonna cadrà in prima
posizione.
quello di inserire quattro palline
dello stesso colore sulla stessa riga o sulla stessa
colonna o sulla stessa diagonale.
Giochi
12
Si supponga di partire dalla seguente posizione iniziale e
che il giocatore A (pallina bianca MAX) debba muovere.
Si applichi al gioco la strategia MIN-MAX considerando
tre livelli partendo dal nodo iniziale.
Si disegni l'albero di ricerca con i relativi valori per la
funzione euristica (E) e quelli propagati e si mostri quale
mossa sceglierà MAX. Per risolvere il problema si
consideri come funzione euristica E il numero di righe,
colonne e diagonali ancora possibili per MAX meno il
numero di righe, colonne e diagonali ancora possibili per
MIN.
Inoltre E sarà uguale a + o - infinito per le posizioni
vincenti o perdenti per MAX.
Si effettuino poi i tagli alfa-beta.
Giochi
13
E=- inf
E=- inf
E= - 2
E= -1
E= - 2
E= - 2
E= -1
E= - 2
E= - 2
E= -1
E= -1
E= - 2
E= -1
E= - 2
E= - 2
E= -1
E= -1
E= - 2
E= - 2
MAX sceglierà la mossa indicata dalla freccia, ma
potrebbe scegliere indifferentemente anche le due
mosse successive.
Giochi
14
Tagli alfa-beta
E= - 2
E=- inf
E=- inf
E= - 2
E= -1
E= - 2
E<= - 2
E= -1
E= -1
E= - 2
E<= - 2
E= -1
E= - 2
Il ramo infinito permette di tagliare i restanti sottorami in
quanto MIN sceglierà questa mossa. Nel terzo e nel
quarto sottoramo non appena viene trovato il valore -2 ci
si può fermare in quanto un valore più grande di -2 non
viene scelto da min e un valore più piccolo di -2 non
verrà scelto da MAX che ha già a disposizione un -2.
Giochi
15
ESERCIZIO MIN-MAX e TAGLI ALFA-BETA
Si osservi il seguente albero di ricerca espanso fino a
profondità 6. Si supponga che i nodi a sinistra siano
generati per primi e la ricerca sia di tipo depth first. MAX
è rappresentato dai quadrati, mentre MIN dai cerchi.
Si indichi la parte di albero effettivamente esplorata da
una ricerca di tipo alfa-beta e i nodi tagliati. Si noti che i
nodi originali sono 41. Quanti sono i nodi invece
effettivamente esplorati dopo i tagli alfa-beta?
Giochi
16
0 5 -3 3 3 -3 0 2 -2 3 5 2 5 -5 0 1 5 1 -3 0 -5 5 -3 3 2 3 -3
0 -1 -2 0 1 4 5
Giochi
17
1 -1 -1 3 -3 2 -2
0 5 -3 3 3 -3 0 2 -2 3 5 2 5 -5 0 1 5 1 -3 0 -5 5 -3 3 2 3 -3 0 -1 -2 0 1 4 5
I nodi ora sono solo 18
Giochi
18
1 -1 -1 3 -3 2 -2