![Page 1: Implementacija A* algoritmayeti/studenti/Seminar_1/2015... · Flood-fill algoritam flood_fill(polje){ako sam već bio na tom polju: povratak ako je polje zid: povratak označi polje](https://reader033.vdocuments.pub/reader033/viewer/2022051810/6019b575c5e0f648ec71771c/html5/thumbnails/1.jpg)
Domagoj Penić
Voditelj: izv.prof.dr.sc. Domagoj Jakobović
Implementacija A* algoritma
1/21
![Page 2: Implementacija A* algoritmayeti/studenti/Seminar_1/2015... · Flood-fill algoritam flood_fill(polje){ako sam već bio na tom polju: povratak ako je polje zid: povratak označi polje](https://reader033.vdocuments.pub/reader033/viewer/2022051810/6019b575c5e0f648ec71771c/html5/thumbnails/2.jpg)
Sadržaj
A-Mazer
A* algoritam
Implementacija
Statistika
2/21
![Page 3: Implementacija A* algoritmayeti/studenti/Seminar_1/2015... · Flood-fill algoritam flood_fill(polje){ako sam već bio na tom polju: povratak ako je polje zid: povratak označi polje](https://reader033.vdocuments.pub/reader033/viewer/2022051810/6019b575c5e0f648ec71771c/html5/thumbnails/3.jpg)
A-Mazer
Metoda koja se koristi za izradu prohodnog
pravokutnog labirinta
3/21
![Page 4: Implementacija A* algoritmayeti/studenti/Seminar_1/2015... · Flood-fill algoritam flood_fill(polje){ako sam već bio na tom polju: povratak ako je polje zid: povratak označi polje](https://reader033.vdocuments.pub/reader033/viewer/2022051810/6019b575c5e0f648ec71771c/html5/thumbnails/4.jpg)
A-Mazer
Izrada pravokutne mreže
Označavanje i provjera prohodnosti
Spajanje elemenata
4/21
![Page 5: Implementacija A* algoritmayeti/studenti/Seminar_1/2015... · Flood-fill algoritam flood_fill(polje){ako sam već bio na tom polju: povratak ako je polje zid: povratak označi polje](https://reader033.vdocuments.pub/reader033/viewer/2022051810/6019b575c5e0f648ec71771c/html5/thumbnails/5.jpg)
Izrada pravokutne mreže
5/21
![Page 6: Implementacija A* algoritmayeti/studenti/Seminar_1/2015... · Flood-fill algoritam flood_fill(polje){ako sam već bio na tom polju: povratak ako je polje zid: povratak označi polje](https://reader033.vdocuments.pub/reader033/viewer/2022051810/6019b575c5e0f648ec71771c/html5/thumbnails/6.jpg)
Označavanje i prohodnost
Početak i kraj : (S, 0) i (F, N-1)
Označavanje polja
Provjera prohodnosti
6/21
![Page 7: Implementacija A* algoritmayeti/studenti/Seminar_1/2015... · Flood-fill algoritam flood_fill(polje){ako sam već bio na tom polju: povratak ako je polje zid: povratak označi polje](https://reader033.vdocuments.pub/reader033/viewer/2022051810/6019b575c5e0f648ec71771c/html5/thumbnails/7.jpg)
Prohodni labirint
7/21
![Page 8: Implementacija A* algoritmayeti/studenti/Seminar_1/2015... · Flood-fill algoritam flood_fill(polje){ako sam već bio na tom polju: povratak ako je polje zid: povratak označi polje](https://reader033.vdocuments.pub/reader033/viewer/2022051810/6019b575c5e0f648ec71771c/html5/thumbnails/8.jpg)
Flood-fill algoritam
flood_fill(polje){
ako sam već bio na tom polju: povratak
ako je polje zid: povratak
označi polje kao posjećeno
rekurzivni poziv:
polje-lijevo, polje-desno
polje-gore, polje-dolje
}
8/21
![Page 9: Implementacija A* algoritmayeti/studenti/Seminar_1/2015... · Flood-fill algoritam flood_fill(polje){ako sam već bio na tom polju: povratak ako je polje zid: povratak označi polje](https://reader033.vdocuments.pub/reader033/viewer/2022051810/6019b575c5e0f648ec71771c/html5/thumbnails/9.jpg)
Neprohodni labirint
9/21
![Page 10: Implementacija A* algoritmayeti/studenti/Seminar_1/2015... · Flood-fill algoritam flood_fill(polje){ako sam već bio na tom polju: povratak ako je polje zid: povratak označi polje](https://reader033.vdocuments.pub/reader033/viewer/2022051810/6019b575c5e0f648ec71771c/html5/thumbnails/10.jpg)
Algoritam A*
Algoritam koji se koristi u teoriji grafova za
pronalaženje najkraćeg puta između dva čvora
10/21
![Page 11: Implementacija A* algoritmayeti/studenti/Seminar_1/2015... · Flood-fill algoritam flood_fill(polje){ako sam već bio na tom polju: povratak ako je polje zid: povratak označi polje](https://reader033.vdocuments.pub/reader033/viewer/2022051810/6019b575c5e0f648ec71771c/html5/thumbnails/11.jpg)
Algoritam A*
Dijkstrin algoritam
Heurističke metode
11/21
![Page 12: Implementacija A* algoritmayeti/studenti/Seminar_1/2015... · Flood-fill algoritam flood_fill(polje){ako sam već bio na tom polju: povratak ako je polje zid: povratak označi polje](https://reader033.vdocuments.pub/reader033/viewer/2022051810/6019b575c5e0f648ec71771c/html5/thumbnails/12.jpg)
12/21
![Page 13: Implementacija A* algoritmayeti/studenti/Seminar_1/2015... · Flood-fill algoritam flood_fill(polje){ako sam već bio na tom polju: povratak ako je polje zid: povratak označi polje](https://reader033.vdocuments.pub/reader033/viewer/2022051810/6019b575c5e0f648ec71771c/html5/thumbnails/13.jpg)
Vrijednost čvora f(x)
f(x) = g(x) + h(x)
g(x) – prijeđeni put do trenutne pozicije
h(x) – vrijednost heurističke funkcije
13/21
![Page 14: Implementacija A* algoritmayeti/studenti/Seminar_1/2015... · Flood-fill algoritam flood_fill(polje){ako sam već bio na tom polju: povratak ako je polje zid: povratak označi polje](https://reader033.vdocuments.pub/reader033/viewer/2022051810/6019b575c5e0f648ec71771c/html5/thumbnails/14.jpg)
Primjer rada algoritma
14/21
a
eb
d
c
![Page 15: Implementacija A* algoritmayeti/studenti/Seminar_1/2015... · Flood-fill algoritam flood_fill(polje){ako sam već bio na tom polju: povratak ako je polje zid: povratak označi polje](https://reader033.vdocuments.pub/reader033/viewer/2022051810/6019b575c5e0f648ec71771c/html5/thumbnails/15.jpg)
Heurističke funkcije za problem
labirinta
Egzaktna heuristika
Udaljenost Manhattan
15/21
![Page 16: Implementacija A* algoritmayeti/studenti/Seminar_1/2015... · Flood-fill algoritam flood_fill(polje){ako sam već bio na tom polju: povratak ako je polje zid: povratak označi polje](https://reader033.vdocuments.pub/reader033/viewer/2022051810/6019b575c5e0f648ec71771c/html5/thumbnails/16.jpg)
Egzaktna heuristika
16/21
![Page 17: Implementacija A* algoritmayeti/studenti/Seminar_1/2015... · Flood-fill algoritam flood_fill(polje){ako sam već bio na tom polju: povratak ako je polje zid: povratak označi polje](https://reader033.vdocuments.pub/reader033/viewer/2022051810/6019b575c5e0f648ec71771c/html5/thumbnails/17.jpg)
Udaljenost Manhattan
17/21
![Page 18: Implementacija A* algoritmayeti/studenti/Seminar_1/2015... · Flood-fill algoritam flood_fill(polje){ako sam već bio na tom polju: povratak ako je polje zid: povratak označi polje](https://reader033.vdocuments.pub/reader033/viewer/2022051810/6019b575c5e0f648ec71771c/html5/thumbnails/18.jpg)
Egzaktna heuristika
18/21
![Page 19: Implementacija A* algoritmayeti/studenti/Seminar_1/2015... · Flood-fill algoritam flood_fill(polje){ako sam već bio na tom polju: povratak ako je polje zid: povratak označi polje](https://reader033.vdocuments.pub/reader033/viewer/2022051810/6019b575c5e0f648ec71771c/html5/thumbnails/19.jpg)
Udaljenost Manhattan
19/21
![Page 20: Implementacija A* algoritmayeti/studenti/Seminar_1/2015... · Flood-fill algoritam flood_fill(polje){ako sam već bio na tom polju: povratak ako je polje zid: povratak označi polje](https://reader033.vdocuments.pub/reader033/viewer/2022051810/6019b575c5e0f648ec71771c/html5/thumbnails/20.jpg)
20/21
![Page 21: Implementacija A* algoritmayeti/studenti/Seminar_1/2015... · Flood-fill algoritam flood_fill(polje){ako sam već bio na tom polju: povratak ako je polje zid: povratak označi polje](https://reader033.vdocuments.pub/reader033/viewer/2022051810/6019b575c5e0f648ec71771c/html5/thumbnails/21.jpg)
Pitanja?
21/21