implementacija a* algoritmayeti/studenti/seminar_1/2015... · flood-fill algoritam...
TRANSCRIPT
Domagoj Penić
Voditelj: izv.prof.dr.sc. Domagoj Jakobović
Implementacija A* algoritma
1/21
Sadržaj
A-Mazer
A* algoritam
Implementacija
Statistika
2/21
A-Mazer
Metoda koja se koristi za izradu prohodnog
pravokutnog labirinta
3/21
A-Mazer
Izrada pravokutne mreže
Označavanje i provjera prohodnosti
Spajanje elemenata
4/21
Izrada pravokutne mreže
5/21
Označavanje i prohodnost
Početak i kraj : (S, 0) i (F, N-1)
Označavanje polja
Provjera prohodnosti
6/21
Prohodni labirint
7/21
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
Neprohodni labirint
9/21
Algoritam A*
Algoritam koji se koristi u teoriji grafova za
pronalaženje najkraćeg puta između dva čvora
10/21
Algoritam A*
Dijkstrin algoritam
Heurističke metode
11/21
12/21
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
Primjer rada algoritma
14/21
a
eb
d
c
Heurističke funkcije za problem
labirinta
Egzaktna heuristika
Udaljenost Manhattan
15/21
Egzaktna heuristika
16/21
Udaljenost Manhattan
17/21
Egzaktna heuristika
18/21
Udaljenost Manhattan
19/21
20/21
Pitanja?
21/21