1 / 28

Esempi di giochi

Esempi di giochi. Puzzles e giochi a informazione perfetta. Sliding tiles: Euristiche. H 1 (n) = numero di tessere sbagliate H 2 (n) = somma delle distanze di Manhattan (cioè, il numero di caselle da quella desiderata di ogni tessera). Stato iniziale. Stato finale. H 1 (S) = ??

troy-lester
Download Presentation

Esempi di giochi

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Esempi di giochi Puzzles e giochi a informazione perfetta Slides di Teoria dei Giochi, Vincenzo Cutello

  2. Sliding tiles: Euristiche H1(n) = numero di tessere sbagliate H2(n) = somma delle distanze di Manhattan (cioè, il numero di caselle da quella desiderata di ogni tessera) Stato iniziale Stato finale H1(S) = ?? H2(S) = ?? Slides di Teoria dei Giochi, Vincenzo Cutello

  3. Sliding tiles: Euristiche migliori? • Tutte le euristiche ammissibili ma il meno ottimistiche possibili. • Come fare a migliorare ? • Per esempio: Manhattan distance ignora le interazioni tra le caselle. Se ne teniamo conto, almeno in parte, che succede ? Stato iniziale Stato finale H1(S) = ?? H2(S) = ?? Slides di Teoria dei Giochi, Vincenzo Cutello

  4. Non-additive pattern db • Considera le caselle di confine (più quella vuota) • Qual è il numero minimo (esatto) di mosse da fare tenendo conto delle loro posizioni, ma non delle posizioni delle altre caselle? Stato iniziale Stato finale • Calcoliamo questo numero per ognuna delle possibili permutazioni delle caselle di confine: 16!/(16-8)!=518.918.400 • Memorizziamo in una tabella: circa 495MB di spazio. • Come facciamo a calcolare tale numero minimo di mosse? Slides di Teoria dei Giochi, Vincenzo Cutello

  5. Non-additive pattern db • Utilizziamo una BFS a partire dallo stato finale. • Ognuna delle configurazioni viene incontrata e la sua distanza minima calcolata (proprietà della BFS) Stato finale d=1 d=1 • Memorizziamo in una tavola indicizzata • Utilizziamo la distanza di Manhattan per le altre caselle Slides di Teoria dei Giochi, Vincenzo Cutello

  6. Non-additive pattern db • Risultati: • Numero dei nodi generati ridotto din un fattore 346 • Running time ridotto di un fattore 6 • Se confrontanti solo con la Manhattan Distance • Limiti • Non si riescono a risolvere problemi grandi. • Esempio: il puzzle 24, contiene 25 posizioni, e le posizioni delle caselle di confine sono 25!/(25-10)! Numero troppo grande (provare per credere) Slides di Teoria dei Giochi, Vincenzo Cutello

  7. Sliding tiles: Disjoint pattern DB • Estendiamo la distanza di Manhattan, invece di una casella singola, gruppi di caselle. • Nell’esempio, un gruppo di 7 (casella vuota esclusa) e un gruppo di 8 Stato finale Stato iniziale: gruppo 1 e 2 • Vi sono 57.657.600 gruppi da 7 (da 0 a 33 mosse) e 518.918.400 gruppi da 8 (da 0 a 38 mosse). Slides di Teoria dei Giochi, Vincenzo Cutello

  8. Puzzles: Sokoban • Il giocatore deve spingere i pezzi attraverso un labirinto e portarli nel posto finale • Solo un pezzo alla volta può essere spinto • Gli altri pezzi ed i muri sono ostacoli contro cui non si può spingere. • Goal: • Risolvere il puzzle • Minimizzare spinte e mosse Slides di Teoria dei Giochi, Vincenzo Cutello

  9. Sokoban cont. • Sokoban è un problema NP-hard, e addirittura, PSPACE-complete. • Problema generale di motion-planning Slides di Teoria dei Giochi, Vincenzo Cutello

  10. Sokoban: cont. • Cosa rende Sokoban difficile ? Slides di Teoria dei Giochi, Vincenzo Cutello

  11. Sokoban: cosa lo rende difficile? • Alcune mosse sono irreversibili e possono portare ad uno stato di stallo • Lo spazio di ricerca, su una griglia sottostante 20X20 è enorme (come vedremo). Slides di Teoria dei Giochi, Vincenzo Cutello

  12. Sokoban: come attaccarlo ? • Knowledge representation • Algoritmi di ricerca • Capacità di apprendimento • Gestione di eccezioni e sub-goals. Slides di Teoria dei Giochi, Vincenzo Cutello

  13. Sokoban: complessità ? Slides di Teoria dei Giochi, Vincenzo Cutello

  14. Due semplici problemi: complessità? • Qual è la dimensione dello spazio di ricerca in entrambi i casi ? • 1000 (pushes) • 23000 (pushes) • Poca speranza senza usare conoscenza specifica Slides di Teoria dei Giochi, Vincenzo Cutello

  15. Sokoban cont. • Sokoban può essere attaccato con versioni appropriate di IDA*, estese con tecniche di conoscenza specifiche del dominio. • I livelli più complessi di Sokoban sono ancora fuori dalla portata di un sistema automatico di risoluzione. Slides di Teoria dei Giochi, Vincenzo Cutello

  16. Tavole per i deadlocks • Calcolare gli angoli morti. • Costruire una tavola per gli stalli. • Riduzione del branching factor Slides di Teoria dei Giochi, Vincenzo Cutello

  17. Analisi dinamica dei deadlock • Quale mossa può portare ad un deadlock? • Risolvi aggiungendo una “pietra” alla volta Slides di Teoria dei Giochi, Vincenzo Cutello

  18. Analisi dinamica dei deadlock Slides di Teoria dei Giochi, Vincenzo Cutello

  19. Analisi dinamica dei deadlock • Introduci una “penalità” per la mossa che porta ad uno stallo Slides di Teoria dei Giochi, Vincenzo Cutello

  20. Tavole di trasposizione • Riconosci sequenze di mosse già fatte. Slides di Teoria dei Giochi, Vincenzo Cutello

  21. Dentro un tunnel ! • Quando sei in un tunnel non puoi che continuare sino a quando non esci dal tunnel. • Verifica se il tunnel è a senso unico o a doppio senso Slides di Teoria dei Giochi, Vincenzo Cutello

  22. Goal Area: suddivisione del problema • Problema 1: porta le pietre all’ingresso • Problema 2: sistema le pietre nella zona finale Slides di Teoria dei Giochi, Vincenzo Cutello

  23. Suddivisione del problema: tagli • Non è necessario considerare tutte le mosse legali. • Solo quelle rilevanti per la risoluzione del sotto-problema Slides di Teoria dei Giochi, Vincenzo Cutello

  24. Giochi a informazione perfetta: Othello • Othello (anche detto Reversi) è un gioco da tavolo astratto a informazione perfetta, per due giocatori. • Ogni giocatore dispone di 32 dischi bicolori (neri da un lato, bianchi dall'altro) ed il terreno di gioco è costituito da una tavola quadrata di 8 x 8 caselle di colore uniforme. Slides di Teoria dei Giochi, Vincenzo Cutello

  25. Othello cont. • Prima di iniziare a giocare si posizionano due pedine bianche e due nere nelle quattro caselle centrali. • Regole: • Si muove alternativamente (inizia il nero) appoggiando una nuova pedina in una casella vuota in modo da imprigionare, tra la pedina che si sta giocando e quelle del proprio colore già presenti sulla scacchiera, una o più pedine avversarie. • A questo punto le pedine imprigionate devono essere rovesciate e diventano di proprietà di chi ha eseguito la mossa. • È possibile incastrare le pedine in orizzontale, in verticale e in diagonale e, a ogni mossa, si possono girare pedine in una o più direzioni. Slides di Teoria dei Giochi, Vincenzo Cutello

  26. Othello: cont. • Sono ammesse solo le mosse con le quali si gira almeno una pedina, se non è possibile farlo si salta il turno. • Quando nessuno dei giocatori ha la possibilità di muovere (quasi sempre accade quando la scacchiera è piena), si contano le pedine e si assegna la vittoria a chi ne ha il maggior numero. Slides di Teoria dei Giochi, Vincenzo Cutello

  27. Othello: cont. • I migliori programmi per Othello vincono facilmente contro esseri umani. • Nel 1997, Logistello sconfisse il campione mondiale Takeshi Murakami per 6:0. • Esseri umani non riescono a vincere contro i programmi perché riescono a guardare avanti nell’albero del gioco in grande profondità. Slides di Teoria dei Giochi, Vincenzo Cutello

  28. Othello: cont. • Da un punto di vista matematico, Othello è ancora insoluto. • E’ un gioco finito a informazione perfetta. Esiste una strategia vincente ? • Ipotesi: su una scacchiera (othelliera) 8 per 8 la migliore strategia per entrambi i giocatori porta ad un pareggio. • In generale, n per n, il problema di determinare se il primo a muovere ha una strategia vincente è PSPACE-complete. • Per 4 per 4, e 6 per 6 il secondo giocatore ha una strategia vincente. Slides di Teoria dei Giochi, Vincenzo Cutello

More Related