8 puzzle

13
8 Puzzle Rajčević Luka, Logičko programiranje

Upload: luka-rajcevic

Post on 15-Jun-2015

589 views

Category:

Documents


6 download

DESCRIPTION

presentation about 8 puzzle game and different ways of solving it.

TRANSCRIPT

Page 1: 8 puzzle

8 PuzzleRajčević Luka,Logičko programiranje

Page 2: 8 puzzle

Sadržaj

•Uvod•O igri 8 Puzzle

▫Način rješavanja•Implementacija•Zaključak

Page 3: 8 puzzle

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

Page 4: 8 puzzle

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

Page 5: 8 puzzle

•Osim 8 Puzzle poznata je još i 15 Puzzle varijanta

Slika 2. 15 Puzzle

Page 6: 8 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

Page 7: 8 puzzle

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

Page 8: 8 puzzle

• 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

Page 9: 8 puzzle

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

Page 10: 8 puzzle

Slika 4. BFS algoritam

Page 11: 8 puzzle

Implementacija

•Korišten je SWI Prolog

•Igra je rješena uz pomoć BFS algoritma

Page 12: 8 puzzle

Zaključak

•8 puzzle predstavlja zanimljiv problem

•Mogućnost rješavanja problema na više načina

•Zanimljivi algoritmi

Page 13: 8 puzzle

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