Professional Documents
Culture Documents
AI – Giochi 1
MIN-MAX
Sono etichettate con 1 e -1. Un giocatore cerca di arrivare a
-1 (minimizzatore), l'altro a +1 (massimizzatore).
a m ax
b c d m in
-1
e f g m ax
1
h i j k m in
-1 1
l m n o m ax
1 -1 1
p q r m in
-1 1 -1
AI – Giochi 2
Quindi:
Un nodo con max che deve muovere ha come label il
massimo delle labels dei figli. Viceversa per min.
a 1 m ax
-1 b c d m in
1
-1
-1 e f g 1 m ax
1
h i -1 j k m in
1
-1 1
l m n o m ax
1
1 -1 1
p q r m in
-1 1 -1
AI – Giochi 3
Algoritmo Min-max
AI – Giochi 4
Algoritmo min-max (rivisto):
AI – Giochi 5
Se devo sviluppare tutto l'albero la procedura è molto
inefficiente (esponenziale).
e: (W-B)/(W+B)
AI – Giochi 6
Supponiamo comunque di avere selezionato una funzione
di valutazione e(n). Allora:
AI – Giochi 7
Problema:
AI – Giochi 8
Problemi:
Effetto orizzonte:
Con mosse non particolarmente utili, allungo la profondità
dell'albero di ricerca oltre p, se p è la profondità massima,
per cui le mosse essenziali non vengono in realtà prese in
considerazione.
Ricerca Alfa-Beta
AI – Giochi 9
Esempio:
a 1 m ax
-1 b c d m in
1
-1
-1 e f g 1 m ax
1
h i -1 j k m in
1
-1 1
l m n o m ax
1
1 -1 1
p q r m in
1 -1
-1
AI – Giochi 10
PRINCIPO GENERALE DEI TAGLI ALFA-BETA
Sia ALFA il valore della scelta migliore trovata sulla strada di MAX
(il più alto) e BETA il valore della scelta migliore trovata sulla
strada di MIN (il più basso).
AI – Giochi 11
Altro esempio:
b c attacco la regina
-1 ??
m atto
Non importa che valuti gli altri figli di c! (ho già capito che
non mi conviene fare la mossa c).
AI – Giochi 12
Altro esempio:
b 0 .3 c attacca la regina
(scam b io di d g
regine)
e f
-1 -0.5
Infatti:
c = min(-0.5, g)
a = max(0.3,min(-0.5,g)) = 0.3
AI – Giochi 13
Altro esempio:
a m ax
b c m in
.03
d i m ax
e h m in
f g m ax
-0.1
AI – Giochi 14
Algoritmo alfa-beta:
Per valutare un nodo n in un albero di gioco:
AI – Giochi 15
Efficacia della potatura alfa-beta
Si noti inoltre che tutti i risultati qui citati sono per un albero
di gioco “ideale” con profondità e ramificazione fissati per
tutti i rami e nodi.
AI – Giochi 16
IL GIOCO DEGLI SCACCHI
AI – Giochi 18
Il giocatore umano, in realtà sembra non scenda mai per più di
5 livelli, e con tagli notevoli. Non utilizza poi una funzione di
valutazione definita in modo metodico (usa il "colpo d'occhio").
AI – Giochi 19
DEEPBLUE
AI – Giochi 20
Deep Blue arriva a esplorare alberi profondi 12/14 semimosse
(~ 1011 posizioni) in circa 3 minuti.
AI – Giochi 21