La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

Algoritmo di MiniMax Questa presentazione è un chiaro esempio di come aggiungere i tagli Alfa-Beta per migliorare l’efficienza dell’algoritmo MiniMax.

Presentazioni simili


Presentazione sul tema: "Algoritmo di MiniMax Questa presentazione è un chiaro esempio di come aggiungere i tagli Alfa-Beta per migliorare l’efficienza dell’algoritmo MiniMax."— Transcript della presentazione:

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.


Scaricare ppt "Algoritmo di MiniMax Questa presentazione è un chiaro esempio di come aggiungere i tagli Alfa-Beta per migliorare l’efficienza dell’algoritmo MiniMax."

Presentazioni simili


Annunci Google