La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

Slides di Teoria dei Giochi, Vincenzo Cutello 1 Teoria dei giochi 2. Forma estesa (struttura ad albero e matrice dei pagamenti)

Presentazioni simili


Presentazione sul tema: "Slides di Teoria dei Giochi, Vincenzo Cutello 1 Teoria dei giochi 2. Forma estesa (struttura ad albero e matrice dei pagamenti)"— Transcript della presentazione:

1 Slides di Teoria dei Giochi, Vincenzo Cutello 1 Teoria dei giochi 2. Forma estesa (struttura ad albero e matrice dei pagamenti)

2 Slides di Teoria dei Giochi, Vincenzo Cutello2 Struttura ad albero: Gioco dei fiammiferi  Struttura ad albero (mossa dopo mossa)  Gioco finito ad informazione perfetta  Vince sempre B (ossia il secondo che muove) in questo esempio. Ma si può dimostrare in generale? A B 1 0

3 Slides di Teoria dei Giochi, Vincenzo Cutello3 Matrice dei pagamenti: il dilemma del prigioniero  Se B confessa, ad A conviene confessare  Se B non confessa, ad A conviene confessare.  Morale: se è razionale confessa. BACNC C(2,2)(0,7) NC(7,0)(1,1)

4 Slides di Teoria dei Giochi, Vincenzo Cutello4 Assioma di razionalità Un giocatore sceglie l’azione che gli consente di ottenere i risultati migliori, qualunque sia la mossa dell’avversario  Per entrambi i due prigionieri la strategia migliore è quella di confessare.  Situazione di equilibrio. BACNC C(2,2)(0,7) NC(7,0)(1,1)

5 Slides di Teoria dei Giochi, Vincenzo Cutello5 Teorema di Zermelo Nel gioco degli scacchi (gioco finito a informazione perfetta) può sussistere una ed una sola delle seguenti tre alternative: 1.Il bianco può forzare nero alla sconfitta 2.Il nero può forzare il bianco alla sconfitta 3.Entrambi i giocatori possono forzare il pareggio  Ma che razza di teorema è questo?  E perché mai è importante che il gioco sia finito a informazione perfetta Risposta: quanto vi piace disegnare alberi ?

6 Slides di Teoria dei Giochi, Vincenzo Cutello6 Esempio  Due giocatori (A e B) a turno possono togliere una casella dal quadrato  Togliendo una casella si tolgono tutte quelle sopra e quelle a destra della casella.  Chi toglie la casella “13” perde

7 Slides di Teoria dei Giochi, Vincenzo Cutello7 Esempio: cont.  E’ un gioco finito e ad informazione perfetta:  Non esiste il pareggio  Per il teorema di Zermelo, o esiste una strategia vincente per A (chi muove per primo) o esiste una strategia vincente per B (chi muove per secondo).  Secondo voi ??

8 Slides di Teoria dei Giochi, Vincenzo Cutello8 Giochi come problemi di ricerca  Avversario “imprevedibile”  la soluzione è un piano di emergenza  Limiti di tempo  a meno di trovare la soluzione, dobbiamo approssimare  Piano di attacco: Algoritmi per giocatori perfetti (Von Neumann, 1944)Algoritmi per giocatori perfetti (Von Neumann, 1944) Orizzonte finito, valutazione approssimata (Zuse, 1945; Shannon, 1950; Samuel, )Orizzonte finito, valutazione approssimata (Zuse, 1945; Shannon, 1950; Samuel, ) Taglio per ridurre i costi (McCarty, 1956)Taglio per ridurre i costi (McCarty, 1956)

9 Slides di Teoria dei Giochi, Vincenzo Cutello9 Tipi di giochi Deterministici Elemento di fortuna Informazione perfetta Scacchi, dama, go, otello Backgammon, monopoli Informazione imperfetta Bridge, poker, guerra

10 Slides di Teoria dei Giochi, Vincenzo Cutello10 Minimax  Giocatori perfetti per giochi deterministici ad informazione perfetta  Idea: scegli la mossa che porta alla posizione con il più alto minimax value = miglior risultato raggiungibile contro il miglior avversario Per esempio, gioco a 2 giocatori: A1A1 A2A2 A3A3 A 11 A 12 A 13 A 21 A 22 A 23 A 31 A 32 A 33 MAX MIN

11 Slides di Teoria dei Giochi, Vincenzo Cutello11 Algoritmo Minimax function DECISIONE-MINIMAX (gioco) returns un operatore for each op in OPERATORI[gioco] do for each op in OPERATORI[gioco] do VALORE[op]  VALORE-MINIMAX (APPLICA(op,game), game) VALORE[op]  VALORE-MINIMAX (APPLICA(op,game), game) end end return op con il più alto valore VALORE[op] function VALORE-MINIMAX (stato, gioco) returns un valore di utilità if VERIFICA-TERMINALE[gioco] then return UTILITA’[gioco](stato) else if MAX deve muovere nello stato then return then return il più alto valore VALORE-MINIMAX di SUCCESSORI(stato) il più alto valore VALORE-MINIMAX di SUCCESSORI(stato) else return else return il più basso valore VALORE-MINIMAX di SUCCESSORI(stato) il più basso valore VALORE-MINIMAX di SUCCESSORI(stato)

12 Slides di Teoria dei Giochi, Vincenzo Cutello12 Proprietà di minimax  Completo ?? –Si, se l’albero è finito (gli scacchi hanno regole specifiche per questo)  Ottimo ?? –Si, contro un avversario ottimale. Altrimenti ?  Complessità temporale ?? –O(b m )  Complessità spaziale ?? –O(bm) (esplorazione depth-first) –Per gli scacchi b ≈ 35, m ≈ 100 per partite tipiche  soluzione esatta non raggiungibile

13 Slides di Teoria dei Giochi, Vincenzo Cutello13 Limiti delle risorse Supponiamo di avere 100 secondi, esploriamo 10 4 nodi/secondo  10 6 nodi per mossa Approccio standard: Test di taglioTest di taglio cioè, limite di profondità (probabile aggiunta della ricerca di quiescenza) cioè, limite di profondità (probabile aggiunta della ricerca di quiescenza) Funzione di valutazioneFunzione di valutazione stima della desiderabilità di una posizione stima della desiderabilità di una posizione

14 Slides di Teoria dei Giochi, Vincenzo Cutello14 Funzioni di valutazioni  Per gli scacchi, una tipica somma lineare pesata delle caratteristiche EVAL(s) = w 1 f 1 (s)+ w 2 f 2 (s)+…+ w n f n (s) per esempio, –w 1 = 9 –f 1 (s) = (# di regine bianche)-(# di regine nere) –w 2 = 7 –f 2 (s) = (# di torri bianche)-(# di torri nere) –etc

15 Slides di Teoria dei Giochi, Vincenzo Cutello15 Valore esatto ?  Il comportamento è preservato rispetto ad una qualsiasi trasformazione monotonica di EVAL: Interessa solo l’ordine  Payoff nei giochi deterministici agisce come una funzione di utilità ordinale MAX MIN

16 Slides di Teoria dei Giochi, Vincenzo Cutello16 Tagliando la ricerca MINIMAXCUTOFF è identica alla VALORE- MINIMAX eccetto per  Terminale rimpiazzata da CUTOFF ?  UTILITA’ rimpiazzata da EVAL Funziona in pratica ? function MINIMAX-CUTOFF(stato, gioco) returns un valore di utilità if VERIFICA-CUTOFF[gioco] then return EVAL[gioco](stato) else if MAX deve muovere nello stato then return then return il più alto valore VALORE- MINIMAX di SUCCESSORI(stato) il più alto valore VALORE- MINIMAX di SUCCESSORI(stato) else return else return il più basso valore VALORE- MINIMAX di SUCCESSORI(stato) il più basso valore VALORE- MINIMAX di SUCCESSORI(stato)

17 Slides di Teoria dei Giochi, Vincenzo Cutello17 Esempio di α-β pruning 3 ≤2≤2≤14 ≥3≥ X X ≤5 2 MAX MIN

18 Slides di Teoria dei Giochi, Vincenzo Cutello18 Proprietà di α-β  Il pruning non altera il risultato finale  Il buon ordinamento delle mosse migliora l’efficienza  del pruning Con “ordine perfetto”, complessità temporale = O(b m/2 )  doppia profondità di ricerca  Può facilmente raggiungere profondità 8 e giocare bene a scacchi bene a scacchi

19 Slides di Teoria dei Giochi, Vincenzo Cutello19 Perché si chiama α-β ? α è il miglior valore (rispetto a MAX) trovato fino ad ora nel percorso corrente Se V è peggiore di α, MAX lo eviterà  pota quel ramo Definiamo β similmente per MIN V α MAX MIN.. MAX MIN

20 Slides di Teoria dei Giochi, Vincenzo Cutello20 L’algoritmo α-β function MAX-VALUE(stato, gioco, α, β) returns il valore minimax di stato inputs: stato, stato corrente del gioco inputs: stato, stato corrente del gioco gioco, descrizione del gioco gioco, descrizione del gioco α, il miglior punteggio per MAX attrraverso il percorso per stato α, il miglior punteggio per MAX attrraverso il percorso per stato β, il miglior punteggio per MIN attraverso il percorso per stato β, il miglior punteggio per MIN attraverso il percorso per stato if TEST-DI-TAGLIO(stato) then return EVAL(stato) if TEST-DI-TAGLIO(stato) then return EVAL(stato) for each s in SUCCESSORI (stato) do for each s in SUCCESSORI (stato) do α  MAX(α, MIN-VALUE(s, gioco, α, β)) α  MAX(α, MIN-VALUE(s, gioco, α, β)) if α ≥ β then return β if α ≥ β then return β end end return α return α_____________________________________________________________________ function MIN_VALUE (stato, game, α, β) returns il valore minimax di stato if TEST-DI-TAGLIO(stato) then return EVAL(stato) if TEST-DI-TAGLIO(stato) then return EVAL(stato) for each s in SUCCESSORI(stato) do for each s in SUCCESSORI(stato) do β  MIN (β, MAX-VALUE (s, gioco, α, β)) β  MIN (β, MAX-VALUE (s, gioco, α, β)) if β ≤ α then return α if β ≤ α then return α end end return β return β

21 Slides di Teoria dei Giochi, Vincenzo Cutello21 Giochi deterministici in pratica  Dama: –Chinook pose termine al dominio assoluto durato 40 anni della campionessa del mondo Marion Tinsley in –Venne usato un database per le posizioni finali che definiva una strategia perfetta per tutte le posizioni che coinvolgevano al più 8 pezzi sulla scacchiera per un totale di posizioni.  Scacchi: –Deep Blue sconfisse il campione del mondo Gary Kasparov nel –Deep Blue ricercava 200 milioni di posizioni al secondo, una valutazione molto sofisticata e alcuni metodi per estendere la ricerca fino a 40 mosse

22 Slides di Teoria dei Giochi, Vincenzo Cutello22 Giochi deterministici in pratica  Othello: I campioni umani rifiutano di competere contro i computer perché sono di gran lunga superiori.  Go: I campioni umani rifiutano di competere contro i computer perché sono troppo scarsi.  Nel Go, b > 300, così la maggior parte dei programmi usa basi di conoscenza per effettuare delle mosse plausibili.

23 Slides di Teoria dei Giochi, Vincenzo Cutello23 Giochi non deterministici Per esempio, nel risico, i dadi determinano le mosse legali Esempio semplificato con lancio della moneta al posto dei dadi MAX MIN CHANCE

24 Slides di Teoria dei Giochi, Vincenzo Cutello24 Algoritmo per giochi non deterministici EXPECTIMINIMAX fornisce un giocatore perfetto Come il MINIMAX eccetto per il fatto che dobbiamo gestire i nodi di fortuna … if stato è un nodo di fortuna then return la media di EXPECTIMINIMAX-VALUE di SUCCESSORI(stato) …

25 Slides di Teoria dei Giochi, Vincenzo Cutello25 Giochi non deterministici nella pratica  Il lancio dei dadi incrementa b: –11 possibili risultati con 2 dadi  Mentre la profondità incrementa la probabilità di raggiungere un dato nodo diminuisce  diminuisce il valore di lookahead  α-β pruning è meno efficace in questo caso

26 Slides di Teoria dei Giochi, Vincenzo Cutello26 Valori esatti necessari Il comportamento è preservato solo da trasformazioni lineari positive di EVAL Quindi EVAL dovrebbe essere proporzionale al payoff atteso MAX MIN CHANCE

27 Slides di Teoria dei Giochi, Vincenzo Cutello27 Riassunto I giochi sono divertenti ! (e pericolosi) Tramite essi si illustrano parecchi importanti questioni inerenti l’AI  La perfezione non è ottenibile ==> dobbiamo approssimare  Buona idea per pensare su cosa occorre pensare  L’incertezza vincola l’assegnamento del valore agli stati PENSIERO FINALE: I giochi stanno all’AI come la Formula 1 sta all’industria automobilistica


Scaricare ppt "Slides di Teoria dei Giochi, Vincenzo Cutello 1 Teoria dei giochi 2. Forma estesa (struttura ad albero e matrice dei pagamenti)"

Presentazioni simili


Annunci Google