8 puzzle
DESCRIPTION
presentation about 8 puzzle game and different ways of solving it.TRANSCRIPT
8 PuzzleRajčević Luka,Logičko programiranje
Sadržaj
•Uvod•O igri 8 Puzzle
▫Način rješavanja•Implementacija•Zaključak
Uvod
•„8 Puzzle“ je jedna od mnogobrojnih verzija igre „N Puzzle“.
• jedna od najpoznatijih logičkih igara i jako često se koristi za učenje osnovnih principa umjetne inteligencije
O igri 8 Puzzle
•3x3 ploča
•Brojevi od 1 – 8
•Cilj igre je postići stanje ploče u kojemu su brojevi poredani po redu
Slika 1. 8 Puzzle
•Osim 8 Puzzle poznata je još i 15 Puzzle varijanta
Slika 2. 15 Puzzle
•Za rješavanje se koriste razni algoritmi pretraživanja (DFS, BFS, A*)
•Teško je kreirati algoritam za optimalno rješavanje – algoritmi uključuju tzv. Heuristike
•Korištenje heuristike omogućava brzi pronalazak rješenja
Način rješavanja
Heuristike
•Najpoznatije heuristike (općenito ali i za ovu igru) su Manhattanska udaljenost i Hammingova udaljenost
•Manhattanska udaljenost – suma udaljenosti pločice od njene originalne pozicije
•Hammingova udaljenost – ukupan broj pločica koje nisu na svom mjestu
• h1 = 3 + 1 + 2 + 2 + 2 + 3 + 3 + 2 = 18 manhattanska udaljenost
• h2 = 8 hammingova udaljenost
18 + 8= 26 poteza potrebno za rješavanje igre
Slika 3. Heuristike
BFS
•Također jedan od algoritama za pretraživanje stabla
•Kreće od korjena stabla a ostale čvorove pregledava “po razinama”
•Daje nam rješenje koje zahtjeva najmanji broj koraka
Slika 4. BFS algoritam
Implementacija
•Korišten je SWI Prolog
•Igra je rješena uz pomoć BFS algoritma
Zaključak
•8 puzzle predstavlja zanimljiv problem
•Mogućnost rješavanja problema na više načina
•Zanimljivi algoritmi
Literatura• TAOPIS wiki• Materijali s predavanja i vježbi• Breadth first search, članak dostupan 12.01. 2013. na
http://en.wikipedia.org/wiki/Breadth-first_search• Depth first search, članak dostupan 12.01. 2013. na • http://en.wikipedia.org/wiki/Depth-first_search• Prolog tutorial, dostupan 12.01. 2013. na
http://www.csupomona.edu/~jrfisher/www/prolog_tutorial/4.html• Prolog tutorial 2, dostupan 12.01. 2013. na• http://boklm.eu/prolog/page_5.html• Prolog manual, članak dostupan 12.01. 2013. na
http://www.lix.polytechnique.fr/~catuscia/teaching/prolog/Manual/sec-3.7.html• 15 Puzzle, članak dostupan 12.01. 2013. na • http://en.wikipedia.org/wiki/15_puzzle• Heuristics, članak dostupan 12.01. 2013. na
http://en.wikipedia.org/wiki/Heuristic_(computer_science)• Manhattan distance, članak dostupan 12.01. 2013. na
http://en.wikipedia.org/wiki/Manhattan_distance• Admissable heuristics, članak dostupan 12.01. 2013. na
http://en.wikipedia.org/wiki/Admissible_heuristic• Breadth first search in prolog, prezentacija dostupna 13.01.2013. na
http://www.cs.nott.ac.uk/~bsl/G52APT/slides/10-Breadth-first-search.pdf• Prolog search, članak dostupan 13.01.2013. na http://www2.hull.ac.uk/science/pdf/prologsearch.pdf