Algoritmo di MiniMax Questa presentazione è un chiaro esempio di come aggiungere i tagli Alfa-Beta...

67
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.

Transcript of Algoritmo di MiniMax Questa presentazione è un chiaro esempio di come aggiungere i tagli Alfa-Beta...

Page 1: Algoritmo di MiniMax Questa presentazione è un chiaro esempio di come aggiungere i tagli Alfa-Beta per migliorare lefficienza dellalgoritmo MiniMax. La.

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.

Page 2: Algoritmo di MiniMax Questa presentazione è un chiaro esempio di come aggiungere i tagli Alfa-Beta per migliorare lefficienza dellalgoritmo MiniMax. La.

XNodi AND

Nodi OR Y

Massimizzano il valore dei loro successori

Minimizzano il valore dei loro successori

Algoritmo di MiniMax

Page 3: Algoritmo di MiniMax Questa presentazione è un chiaro esempio di come aggiungere i tagli Alfa-Beta per migliorare lefficienza dellalgoritmo MiniMax. La.

Ogni nodo è caratterizzato da due soglie:

e

I tagli possono essere fatti solo quando

Algoritmo di MiniMax

Page 4: Algoritmo di MiniMax Questa presentazione è un chiaro esempio di come aggiungere i tagli Alfa-Beta per migliorare lefficienza dellalgoritmo MiniMax. La.

Algoritmo di MiniMax

A

N O

CB

L M P Q R S T U V W X Y

D

Visione completa del grafo And-Or.

E KJIHGF

7 6 8 5 4 3 0 -2 6 2 5 8 9 2

Page 5: Algoritmo di MiniMax Questa presentazione è un chiaro esempio di come aggiungere i tagli Alfa-Beta per migliorare lefficienza dellalgoritmo MiniMax. La.

Algoritmo di MiniMax

L’algoritmo ha inizio assegnando al nodo di partenza (il nodo radice) i valori e

Page 6: Algoritmo di MiniMax Questa presentazione è un chiaro esempio di come aggiungere i tagli Alfa-Beta per migliorare lefficienza dellalgoritmo MiniMax. La.

Algoritmo di MiniMax

A

Il nodo A non è un nodo foglia espansione del nodo A.

Page 7: Algoritmo di MiniMax Questa presentazione è un chiaro esempio di come aggiungere i tagli Alfa-Beta per migliorare lefficienza dellalgoritmo MiniMax. La.

Algoritmo di MiniMax

B

Il nodo B non è un nodo foglia espansione del nodo B.

A

Page 8: Algoritmo di MiniMax Questa presentazione è un chiaro esempio di come aggiungere i tagli Alfa-Beta per migliorare lefficienza dellalgoritmo MiniMax. La.

Algoritmo di MiniMax

B

Il nodo E non è un nodo foglia espansione del nodo E.

A

E

Page 9: Algoritmo di MiniMax Questa presentazione è un chiaro esempio di come aggiungere i tagli Alfa-Beta per migliorare lefficienza dellalgoritmo MiniMax. La.

Algoritmo di MiniMax

B

Il nodo L è un nodo foglia valutazione del nodo L.

A

E

L

Page 10: Algoritmo di MiniMax Questa presentazione è un chiaro esempio di come aggiungere i tagli Alfa-Beta per migliorare lefficienza dellalgoritmo MiniMax. La.

Algoritmo di MiniMax

B

Il valore del nodo L è ritornato alnodo padre E che, essendo un nodoAND, imposterà come il maggioretra il valore ritornato e ilvalore attualedi .

A

E

L

7

Page 11: Algoritmo di MiniMax Questa presentazione è un chiaro esempio di come aggiungere i tagli Alfa-Beta per migliorare lefficienza dellalgoritmo MiniMax. La.

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.

Page 12: Algoritmo di MiniMax Questa presentazione è un chiaro esempio di come aggiungere i tagli Alfa-Beta per migliorare lefficienza dellalgoritmo MiniMax. La.

Algoritmo di MiniMax

B

A

E

L

7

Il nodo M è un nodo foglia valutazione del nodo M.

M

Page 13: Algoritmo di MiniMax Questa presentazione è un chiaro esempio di come aggiungere i tagli Alfa-Beta per migliorare lefficienza dellalgoritmo MiniMax. La.

Algoritmo di MiniMax

B

A

E

L

7 6

Il valore del nodo M è ritornato alnodo padre E che, essendo un nodoAND, imposterà come il maggioretra il valore ritornato e ilvalore attualedi .

M

Page 14: Algoritmo di MiniMax Questa presentazione è un chiaro esempio di come aggiungere i tagli Alfa-Beta per migliorare lefficienza dellalgoritmo MiniMax. La.

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

Page 15: Algoritmo di MiniMax Questa presentazione è un chiaro esempio di come aggiungere i tagli Alfa-Beta per migliorare lefficienza dellalgoritmo MiniMax. La.

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

Page 16: Algoritmo di MiniMax Questa presentazione è un chiaro esempio di come aggiungere i tagli Alfa-Beta per migliorare lefficienza dellalgoritmo MiniMax. La.

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

Page 17: Algoritmo di MiniMax Questa presentazione è un chiaro esempio di come aggiungere i tagli Alfa-Beta per migliorare lefficienza dellalgoritmo MiniMax. La.

Algoritmo di MiniMax

B

A

E

L

7 6

Il nodo F non è un nodo foglia espansione del nodo F.

M

F

Page 18: Algoritmo di MiniMax Questa presentazione è un chiaro esempio di come aggiungere i tagli Alfa-Beta per migliorare lefficienza dellalgoritmo MiniMax. La.

Algoritmo di MiniMax

B

A

E

L

7 6

Il nodo N è un nodo foglia valutazione del nodo N.

M

F

N

Page 19: Algoritmo di MiniMax Questa presentazione è un chiaro esempio di come aggiungere i tagli Alfa-Beta per migliorare lefficienza dellalgoritmo MiniMax. La.

Algoritmo di MiniMax

B

A

E

L

7 6 8

Il valore del nodo N è ritornato alnodo padre F che, essendo un nodoAND, imposterà come il maggioretra il valore ritornato e ilvalore attualedi .

M

F

N

Page 20: Algoritmo di MiniMax Questa presentazione è un chiaro esempio di come aggiungere i tagli Alfa-Beta per migliorare lefficienza dellalgoritmo MiniMax. La.

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

Page 21: Algoritmo di MiniMax Questa presentazione è un chiaro esempio di come aggiungere i tagli Alfa-Beta per migliorare lefficienza dellalgoritmo MiniMax. La.

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

Page 22: Algoritmo di MiniMax Questa presentazione è un chiaro esempio di come aggiungere i tagli Alfa-Beta per migliorare lefficienza dellalgoritmo MiniMax. La.

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

Page 23: Algoritmo di MiniMax Questa presentazione è un chiaro esempio di come aggiungere i tagli Alfa-Beta per migliorare lefficienza dellalgoritmo MiniMax. La.

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

Page 24: Algoritmo di MiniMax Questa presentazione è un chiaro esempio di come aggiungere i tagli Alfa-Beta per migliorare lefficienza dellalgoritmo MiniMax. La.

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

Page 25: Algoritmo di MiniMax Questa presentazione è un chiaro esempio di come aggiungere i tagli Alfa-Beta per migliorare lefficienza dellalgoritmo MiniMax. La.

Algoritmo di MiniMax

B

A

E

L

7 6 8 4

Il valore del nodo P è ritornato alnodo padre G che, essendo un nodoAND, imposterà come il maggioretra il valore ritornato e ilvalore attualedi .

M

F

N

G

P

Page 26: Algoritmo di MiniMax Questa presentazione è un chiaro esempio di come aggiungere i tagli Alfa-Beta per migliorare lefficienza dellalgoritmo MiniMax. La.

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

Page 27: Algoritmo di MiniMax Questa presentazione è un chiaro esempio di come aggiungere i tagli Alfa-Beta per migliorare lefficienza dellalgoritmo MiniMax. La.

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

P Q

Page 28: Algoritmo di MiniMax Questa presentazione è un chiaro esempio di come aggiungere i tagli Alfa-Beta per migliorare lefficienza dellalgoritmo MiniMax. La.

Algoritmo di MiniMax

B

A

E

L

7 6 8 4 3

Il valore del nodo Q è ritornato alnodo padre G che, essendo un nodoAND, imposterà come il maggioretra il valore ritornato e ilvalore attualedi .

M

F

N

G

P Q

Page 29: Algoritmo di MiniMax Questa presentazione è un chiaro esempio di come aggiungere i tagli Alfa-Beta per migliorare lefficienza dellalgoritmo MiniMax. La.

Algoritmo di MiniMax

B

A

E

L

7 6 8 4 3

M

F

N

G

P Q

Nodo G: non si può interrompere la ricerca (< ) se esiste un altro figlio di G, lo si genera.

Page 30: Algoritmo di MiniMax Questa presentazione è un chiaro esempio di come aggiungere i tagli Alfa-Beta per migliorare lefficienza dellalgoritmo MiniMax. La.

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

P Q

Page 31: Algoritmo di MiniMax Questa presentazione è un chiaro esempio di come aggiungere i tagli Alfa-Beta per migliorare lefficienza dellalgoritmo MiniMax. La.

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

P Q

Page 32: Algoritmo di MiniMax Questa presentazione è un chiaro esempio di come aggiungere i tagli Alfa-Beta per migliorare lefficienza dellalgoritmo MiniMax. La.

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

P Q

Page 33: Algoritmo di MiniMax Questa presentazione è un chiaro esempio di come aggiungere i tagli Alfa-Beta per migliorare lefficienza dellalgoritmo MiniMax. La.

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

P Q

Page 34: Algoritmo di MiniMax Questa presentazione è un chiaro esempio di come aggiungere i tagli Alfa-Beta per migliorare lefficienza dellalgoritmo MiniMax. La.

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

P Q

C

Page 35: Algoritmo di MiniMax Questa presentazione è un chiaro esempio di come aggiungere i tagli Alfa-Beta per migliorare lefficienza dellalgoritmo MiniMax. La.

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

P Q

C

H

Page 36: Algoritmo di MiniMax Questa presentazione è un chiaro esempio di come aggiungere i tagli Alfa-Beta per migliorare lefficienza dellalgoritmo MiniMax. La.

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

P Q

C

H

R

Page 37: Algoritmo di MiniMax Questa presentazione è un chiaro esempio di come aggiungere i tagli Alfa-Beta per migliorare lefficienza dellalgoritmo MiniMax. La.

Algoritmo di MiniMax

B

A

E

L

7 6 8 4 3 0

Il valore del nodo R è ritornato alnodo padre H che, essendo un nodoAND, imposterà come il maggioretra il valore ritornato e ilvalore attualedi .

M

F

N

G

P Q

C

H

R

Page 38: Algoritmo di MiniMax Questa presentazione è un chiaro esempio di come aggiungere i tagli Alfa-Beta per migliorare lefficienza dellalgoritmo MiniMax. La.

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

P Q

C

H

R

Page 39: Algoritmo di MiniMax Questa presentazione è un chiaro esempio di come aggiungere i tagli Alfa-Beta per migliorare lefficienza dellalgoritmo MiniMax. La.

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

P Q

C

H

R S

Page 40: Algoritmo di MiniMax Questa presentazione è un chiaro esempio di come aggiungere i tagli Alfa-Beta per migliorare lefficienza dellalgoritmo MiniMax. La.

Algoritmo di MiniMax

B

A

E

L

7 6 8 4 3 0 -2

Il valore del nodo S è ritornato alnodo padre H che, essendo un nodoAND, imposterà come il maggioretra il valore ritornato e ilvalore attualedi .

M

F

N

G

P Q

C

H

R S

Page 41: Algoritmo di MiniMax Questa presentazione è un chiaro esempio di come aggiungere i tagli Alfa-Beta per migliorare lefficienza dellalgoritmo MiniMax. La.

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

P Q

C

H

R S

Page 42: Algoritmo di MiniMax Questa presentazione è un chiaro esempio di come aggiungere i tagli Alfa-Beta per migliorare lefficienza dellalgoritmo MiniMax. La.

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

P Q

C

H

R S

Page 43: Algoritmo di MiniMax Questa presentazione è un chiaro esempio di come aggiungere i tagli Alfa-Beta per migliorare lefficienza dellalgoritmo MiniMax. La.

Algoritmo di MiniMax

B

A

E

L

7 6 8 4 3 0 -2

Nodo C: si può interrompere la ricerca ( ) si ritorna alnodo padre A.

M

F

N

G

P Q

C

H

R S

Page 44: Algoritmo di MiniMax Questa presentazione è un chiaro esempio di come aggiungere i tagli Alfa-Beta per migliorare lefficienza dellalgoritmo MiniMax. La.

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

P Q

C

H

R S

Page 45: Algoritmo di MiniMax Questa presentazione è un chiaro esempio di come aggiungere i tagli Alfa-Beta per migliorare lefficienza dellalgoritmo MiniMax. La.

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

P Q

C

H

R S

Page 46: Algoritmo di MiniMax Questa presentazione è un chiaro esempio di come aggiungere i tagli Alfa-Beta per migliorare lefficienza dellalgoritmo MiniMax. La.

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

P Q

C

H

R S

D

Page 47: Algoritmo di MiniMax Questa presentazione è un chiaro esempio di come aggiungere i tagli Alfa-Beta per migliorare lefficienza dellalgoritmo MiniMax. La.

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

P Q

C

H

R S

D

J

Page 48: Algoritmo di MiniMax Questa presentazione è un chiaro esempio di come aggiungere i tagli Alfa-Beta per migliorare lefficienza dellalgoritmo MiniMax. La.

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

P Q

C

H

R S

D

J

V

Page 49: Algoritmo di MiniMax Questa presentazione è un chiaro esempio di come aggiungere i tagli Alfa-Beta per migliorare lefficienza dellalgoritmo MiniMax. La.

Algoritmo di MiniMax

B

A

E

L

7 6 8 4 3 0 -2 5

Il valore del nodo V è ritornato alnodo padre J che, essendo un nodoAND, imposterà come il maggioretra il valore ritornato e ilvalore attualedi .

M

F

N

G

P Q

C

H

R S

D

J

V

Page 50: Algoritmo di MiniMax Questa presentazione è un chiaro esempio di come aggiungere i tagli Alfa-Beta per migliorare lefficienza dellalgoritmo MiniMax. La.

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

P Q

C

H

R S

D

J

V

Page 51: Algoritmo di MiniMax Questa presentazione è un chiaro esempio di come aggiungere i tagli Alfa-Beta per migliorare lefficienza dellalgoritmo MiniMax. La.

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

P Q

C

H

R S

D

J

V W

Page 52: Algoritmo di MiniMax Questa presentazione è un chiaro esempio di come aggiungere i tagli Alfa-Beta per migliorare lefficienza dellalgoritmo MiniMax. La.

Algoritmo di MiniMax

B

A

E

L

7 6 8 4 3 0 -2 5 8

Il valore del nodo W è ritornato alnodo padre J che, essendo un nodoAND, imposterà come il maggioretra il valore ritornato e ilvalore attualedi .

M

F

N

G

P Q

C

H

R S

D

J

V W

Page 53: Algoritmo di MiniMax Questa presentazione è un chiaro esempio di come aggiungere i tagli Alfa-Beta per migliorare lefficienza dellalgoritmo MiniMax. La.

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

P Q

C

H

R S

D

J

V W

Page 54: Algoritmo di MiniMax Questa presentazione è un chiaro esempio di come aggiungere i tagli Alfa-Beta per migliorare lefficienza dellalgoritmo MiniMax. La.

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

P Q

C

H

R S

D

J

V W

Page 55: Algoritmo di MiniMax Questa presentazione è un chiaro esempio di come aggiungere i tagli Alfa-Beta per migliorare lefficienza dellalgoritmo MiniMax. La.

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

P Q

C

H

R S

D

J

V W

Page 56: Algoritmo di MiniMax Questa presentazione è un chiaro esempio di come aggiungere i tagli Alfa-Beta per migliorare lefficienza dellalgoritmo MiniMax. La.

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

P Q

C

H

R S

D

J

V W

K

Page 57: Algoritmo di MiniMax Questa presentazione è un chiaro esempio di come aggiungere i tagli Alfa-Beta per migliorare lefficienza dellalgoritmo MiniMax. La.

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

P Q

C

H

R S

D

J

V W

K

X

Page 58: Algoritmo di MiniMax Questa presentazione è un chiaro esempio di come aggiungere i tagli Alfa-Beta per migliorare lefficienza dellalgoritmo MiniMax. La.

Algoritmo di MiniMax

B

A

E

L

7 6 8 4 3 0 -2 5 8 9

Il valore del nodo X è ritornato alnodo padre K che, essendo un nodoAND, imposterà come il maggioretra il valore ritornato e ilvalore attualedi .

M

F

N

G

P Q

C

H

R S

D

J

V W

K

X

Page 59: Algoritmo di MiniMax Questa presentazione è un chiaro esempio di come aggiungere i tagli Alfa-Beta per migliorare lefficienza dellalgoritmo MiniMax. La.

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 alnodo padre D.

M

F

N

G

P Q

C

H

R S

D

J

V W

K

X

Page 60: Algoritmo di MiniMax Questa presentazione è un chiaro esempio di come aggiungere i tagli Alfa-Beta per migliorare lefficienza dellalgoritmo MiniMax. La.

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

P Q

C

H

R S

D

J

V W

K

X

Page 61: Algoritmo di MiniMax Questa presentazione è un chiaro esempio di come aggiungere i tagli Alfa-Beta per migliorare lefficienza dellalgoritmo MiniMax. La.

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

P Q

C

H

R S

D

J

V W

K

X

Page 62: Algoritmo di MiniMax Questa presentazione è un chiaro esempio di come aggiungere i tagli Alfa-Beta per migliorare lefficienza dellalgoritmo MiniMax. La.

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

P Q

C

H

R S

D

J

V W

K

X

Page 63: Algoritmo di MiniMax Questa presentazione è un chiaro esempio di come aggiungere i tagli Alfa-Beta per migliorare lefficienza dellalgoritmo MiniMax. La.

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

P Q

C

H

R S

D

J

V W

K

X

Page 64: Algoritmo di MiniMax Questa presentazione è un chiaro esempio di come aggiungere i tagli Alfa-Beta per migliorare lefficienza dellalgoritmo MiniMax. La.

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 hatermine.

M

F

N

G

P Q

C

H

R S

D

J

V W

K

X

Page 65: Algoritmo di MiniMax Questa presentazione è un chiaro esempio di come aggiungere i tagli Alfa-Beta per migliorare lefficienza dellalgoritmo MiniMax. La.

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 trovatonell’albero di ricerca.

M

F

N

G

P Q

C

H

R S

D

J

V W

K

X

Page 66: Algoritmo di MiniMax Questa presentazione è un chiaro esempio di come aggiungere i tagli Alfa-Beta per migliorare lefficienza dellalgoritmo MiniMax. La.

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.

Page 67: Algoritmo di MiniMax Questa presentazione è un chiaro esempio di come aggiungere i tagli Alfa-Beta per migliorare lefficienza dellalgoritmo MiniMax. La.

Algoritmo di MiniMax

A

CB

P Q T U V W X Y

D

KJIG

4 3 6 2 5 8 9 2

Situazione finale nel caso in cui l’albero è espanso da destra a sinistra.