Scaricare la presentazione
La presentazione è in caricamento. Aspetta per favore
PubblicatoRuggiero Bevilacqua Modificato 10 anni fa
1
Algoritmo di MiniMax Questa presentazione è un chiaro esempio di come aggiungere i tagli Alfa-Beta per migliorare l’efficienza dell’algoritmo MiniMax. La soluzione è stata ottenuta applicando l’algoritmo MiniMax partendo da sinistra e andando verso destra.
2
X Nodi AND Nodi OR Y Massimizzano il valore dei loro successori Minimizzano il valore dei loro successori Algoritmo di MiniMax
3
Ogni nodo è caratterizzato da due soglie: e I tagli possono essere fatti solo quando Algoritmo di MiniMax
4
A NO CB LMPQRSTUVWXY D Visione completa del grafo And-Or. EKJIHGF 7 6 8 5 4 3 0 -2 6 2 5 8 9 2
5
Algoritmo di MiniMax L’algoritmo ha inizio assegnando al nodo di partenza (il nodo radice) i valori e
6
Algoritmo di MiniMax A Il nodo A non è un nodo foglia espansione del nodo A.
7
Algoritmo di MiniMax B Il nodo B non è un nodo foglia espansione del nodo B. A
8
Algoritmo di MiniMax B Il nodo E non è un nodo foglia espansione del nodo E. A E
9
Algoritmo di MiniMax B Il nodo L è un nodo foglia valutazione del nodo L. A E L
10
Algoritmo di MiniMax B Il valore del nodo L è ritornato al nodo padre E che, essendo un nodo AND, imposterà come il maggiore tra il valore ritornato e il valore attuale di . A E L 7
11
Algoritmo di MiniMax B A E L 7 Nodo E: non si può interrompere la ricerca ( < ) se esiste un altro figlio di E, lo si genera.
12
Algoritmo di MiniMax B A E L 7 Il nodo M è un nodo foglia valutazione del nodo M. M
13
Algoritmo di MiniMax B A E L 7 6 Il valore del nodo M è ritornato al nodo padre E che, essendo un nodo AND, imposterà come il maggiore tra il valore ritornato e il valore attuale di . M
14
Algoritmo di MiniMax B A E L 7 6 Nodo E: non si può interrompere la ricerca ( < ) se esiste un altro figlio di E, lo si genera. M
15
Algoritmo di MiniMax B A E L 7 6 Non ci sono più figli da generare si ritorna al nodo padre B che, essendo un nodo OR, imposterà come il minore tra il valore ritornato e il valore attuale di . M
16
Algoritmo di MiniMax B A E L 7 6 Nodo B: non si può interrompere la ricerca ( < ) se esiste un altro figlio di B, lo si genera. M
17
Algoritmo di MiniMax B A E L 7 6 Il nodo F non è un nodo foglia espansione del nodo F. M F
18
Algoritmo di MiniMax B A E L 7 6 Il nodo N è un nodo foglia valutazione del nodo N. M F N
19
Algoritmo di MiniMax B A E L 7 6 8 Il valore del nodo N è ritornato al nodo padre F che, essendo un nodo AND, imposterà come il maggiore tra il valore ritornato e il valore attuale di . M F N
20
Algoritmo di MiniMax B A E L 7 6 8 Nodo F: si può interrompere la ricerca ( ) si ritorna al nodo padre B. M F N
21
Algoritmo di MiniMax B A E L 7 6 8 Il nodo B, essendo un nodo OR, imposterà come il minore tra il valore ritornato e il valore attuale di . M F N
22
Algoritmo di MiniMax B A E L 7 6 8 Nodo B: non si può interrompere la ricerca ( < ) se esiste un altro figlio di B, lo si genera. M F N
23
Algoritmo di MiniMax B A E L 7 6 8 Il nodo G non è un nodo foglia espansione del nodo G. M F N G
24
Algoritmo di MiniMax B A E L 7 6 8 Il nodo P è un nodo foglia valutazione del nodo P. M F N G P
25
Algoritmo di MiniMax B A E L 7 6 8 4 Il valore del nodo P è ritornato al nodo padre G che, essendo un nodo AND, imposterà come il maggiore tra il valore ritornato e il valore attuale di . M F N G P
26
Algoritmo di MiniMax B A E L 7 6 8 4 Nodo G: non si può interrompere la ricerca ( < ) se esiste un altro figlio di G, lo si genera. M F N G P
27
Algoritmo di MiniMax B A E L 7 6 8 4 Il nodo Q è un nodo foglia valutazione del nodo Q. M F N G PQ
28
Algoritmo di MiniMax B A E L 7 6 8 4 3 Il valore del nodo Q è ritornato al nodo padre G che, essendo un nodo AND, imposterà come il maggiore tra il valore ritornato e il valore attuale di . M F N G PQ
29
Algoritmo di MiniMax B A E L 7 6 8 4 3 M F N G PQ Nodo G: non si può interrompere la ricerca ( < ) se esiste un altro figlio di G, lo si genera.
30
Algoritmo di MiniMax B A E L 7 6 8 4 3 Non ci sono più figli da generare si ritorna al nodo padre B che, essendo un nodo OR, imposterà come il minore tra il valore ritornato e il valore attuale di . M F N G PQ
31
Algoritmo di MiniMax B A E L 7 6 8 4 3 Nodo B: non si può interrompere la ricerca ( < ) se esiste un altro figlio di B, lo si genera. M F N G PQ
32
Algoritmo di MiniMax B A E L 7 6 8 4 3 Non ci sono più figli da generare si ritorna al nodo padre A che, essendo un nodo AND, imposterà come il maggiore tra il valore ritornato e il valore attuale di . M F N G PQ
33
Algoritmo di MiniMax B A E L 7 6 8 4 3 Nodo A: non si può interrompere la ricerca ( < ) se esiste un altro figlio di A, lo si genera. M F N G PQ
34
Algoritmo di MiniMax B A E L 7 6 8 4 3 Il nodo C non è un nodo foglia espansione del nodo C. M F N G PQ C
35
Algoritmo di MiniMax B A E L 7 6 8 4 3 Il nodo H non è un nodo foglia espansione del nodo H. M F N G PQ C H
36
Algoritmo di MiniMax B A E L 7 6 8 4 3 Il nodo R è un nodo foglia valutazione del nodo R. M F N G PQ C H R
37
Algoritmo di MiniMax B A E L 7 6 8 4 3 0 Il valore del nodo R è ritornato al nodo padre H che, essendo un nodo AND, imposterà come il maggiore tra il valore ritornato e il valore attuale di . M F N G PQ C H R
38
Algoritmo di MiniMax B A E L 7 6 8 4 3 0 Nodo H: non si può interrompere la ricerca ( < ) se esiste un altro figlio di H, lo si genera. M F N G PQ C H R
39
Algoritmo di MiniMax B A E L 7 6 8 4 3 0 Il nodo S è un nodo foglia valutazione del nodo S. M F N G PQ C H RS
40
Algoritmo di MiniMax B A E L 7 6 8 4 3 0 -2 Il valore del nodo S è ritornato al nodo padre H che, essendo un nodo AND, imposterà come il maggiore tra il valore ritornato e il valore attuale di . M F N G PQ C H RS
41
Algoritmo di MiniMax B A E L 7 6 8 4 3 0 -2 Nodo H: non si può interrompere la ricerca ( < ) se esiste un altro figlio di H, lo si genera. M F N G PQ C H RS
42
Algoritmo di MiniMax B A E L 7 6 8 4 3 0 -2 Non ci sono più figli da generare si ritorna al nodo padre C che, essendo un nodo OR, imposterà come il minore tra il valore ritornato e il valore attuale di . M F N G PQ C H RS
43
Algoritmo di MiniMax B A E L 7 6 8 4 3 0 -2 Nodo C: si può interrompere la ricerca ( ) si ritorna al nodo padre A. M F N G PQ C H RS
44
Algoritmo di MiniMax B A E L 7 6 8 4 3 0 -2 Il nodo A, essendo un nodo AND, imposterà come il minore tra il valore ritornato e il valore attuale di . M F N G PQ C H RS
45
Algoritmo di MiniMax B A E L 7 6 8 4 3 0 -2 Nodo A: non si può interrompere la ricerca ( < ) se esiste un altro figlio di A, lo si genera. M F N G PQ C H RS
46
Algoritmo di MiniMax B A E L 7 6 8 4 3 0 -2 Il nodo D non è un nodo foglia espansione del nodo D. M F N G PQ C H RS D
47
Algoritmo di MiniMax B A E L 7 6 8 4 3 0 -2 Il nodo J non è un nodo foglia espansione del nodo J. M F N G PQ C H RS D J
48
Algoritmo di MiniMax B A E L 7 6 8 4 3 0 -2 Il nodo V è un nodo foglia valutazione del nodo V. M F N G PQ C H RS D J V
49
Algoritmo di MiniMax B A E L 7 6 8 4 3 0 -2 5 Il valore del nodo V è ritornato al nodo padre J che, essendo un nodo AND, imposterà come il maggiore tra il valore ritornato e il valore attuale di . M F N G PQ C H RS D J V
50
Algoritmo di MiniMax B A E L 7 6 8 4 3 0 -2 5 Nodo J: non si può interrompere la ricerca ( < ) se esiste un altro figlio di J, lo si genera. M F N G PQ C H RS D J V
51
Algoritmo di MiniMax B A E L 7 6 8 4 3 0 -2 5 Il nodo W è un nodo foglia valutazione del nodo W. M F N G PQ C H RS D J VW
52
Algoritmo di MiniMax B A E L 7 6 8 4 3 0 -2 5 8 Il valore del nodo W è ritornato al nodo padre J che, essendo un nodo AND, imposterà come il maggiore tra il valore ritornato e il valore attuale di . M F N G PQ C H RS D J VW
53
Algoritmo di MiniMax B A E L 7 6 8 4 3 0 -2 5 8 Nodo J: non si può interrompere la ricerca ( < ) se esiste un altro figlio di J, lo si genera. M F N G PQ C H RS D J VW
54
Algoritmo di MiniMax B A E L 7 6 8 4 3 0 -2 5 8 Non ci sono più figli da generare si ritorna al nodo padre D che, essendo un nodo OR, imposterà come il minore tra il valore ritornato e il valore attuale di . M F N G PQ C H RS D J VW
55
Algoritmo di MiniMax B A E L 7 6 8 4 3 0 -2 5 8 Nodo D: non si può interrompere la ricerca ( < ) se esiste un altro figlio di D, lo si genera. M F N G PQ C H RS D J VW
56
Algoritmo di MiniMax B A E L 7 6 8 4 3 0 -2 5 8 Il nodo K non è un nodo foglia espansione del nodo K. M F N G PQ C H RS D J VW K
57
Algoritmo di MiniMax B A E L 7 6 8 4 3 0 -2 5 8 Il nodo X è un nodo foglia valutazione del nodo X. M F N G PQ C H RS D J VW K X
58
Algoritmo di MiniMax B A E L 7 6 8 4 3 0 -2 5 8 9 Il valore del nodo X è ritornato al nodo padre K che, essendo un nodo AND, imposterà come il maggiore tra il valore ritornato e il valore attuale di . M F N G PQ C H RS D J VW K X
59
Algoritmo di MiniMax B A E L 7 6 8 4 3 0 -2 5 8 9 Nodo K: si può interrompere la ricerca ( ) si ritorna al nodo padre D. M F N G PQ C H RS D J VW K X
60
Algoritmo di MiniMax B A E L 7 6 8 4 3 0 -2 5 8 9 Il nodo D, essendo un nodo OR, imposterà come il minore tra il valore ritornato e il valore attuale di . M F N G PQ C H RS D J VW K X
61
Algoritmo di MiniMax B A E L 7 6 8 4 3 0 -2 5 8 9 Nodo D: non si può interrompere la ricerca ( < ) se esiste un altro figlio di D, lo si genera. M F N G PQ C H RS D J VW K X
62
Algoritmo di MiniMax B A E L 7 6 8 4 3 0 -2 5 8 9 Non ci sono più figli da generare si ritorna al nodo padre A che, essendo un nodo AND, imposterà come il maggiore tra il valore ritornato e il valore attuale di . M F N G PQ C H RS D J VW K X
63
Algoritmo di MiniMax B A E L 7 6 8 4 3 0 -2 5 8 9 Nodo A: non si può interrompere la ricerca ( < ) se esiste un altro figlio di A, lo si genera. M F N G PQ C H RS D J VW K X
64
Algoritmo di MiniMax B A E L 7 6 8 4 3 0 -2 5 8 9 Non ci sono più figli da generare si ritorna . La procedura ha termine. M F N G PQ C H RS D J VW K X
65
Algoritmo di MiniMax B A E L 7 6 8 4 3 0 -2 5 8 9 Il valore ritornato dalla procedura (8), indica il nodo finale corrispondente al percorso migliore trovato nell’albero di ricerca. M F N G PQ C H RS D J VW K X
66
Algoritmo di MiniMax Analisi dei risultati: L’applicazione di questa tecnica ha ridotto il numero dei nodi analizzati che sono passati da 25, ottenuti con l’applicazione del solo algoritmo di MiniMax, a 20. Anche se in questo esempio la riduzione del numero dei nodi analizzati è stata minima, l’algoritmo risulta molto efficiente nel caso di ricerca in grafi AND-OR molto più complessi. E’ da notare che anche l’ordine in cui viene effettuata la ricerca influisce sull’efficienza dell’algoritmo: in questo caso infatti lo stesso algoritmo se applicato da destra verso sinistra porta all’analisi di soli 16 nodi anziché 20.
67
Algoritmo di MiniMax A CB PQTUVWXY D KJIG 4 3 6 2 5 8 9 2 Situazione finale nel caso in cui l’albero è espanso da destra a sinistra.
Presentazioni simili
© 2024 SlidePlayer.it Inc.
All rights reserved.