Professional Documents
Culture Documents
Informisane
(informed) metode
za pretragu
Informisane (informed)
metode za pretragu
Neinformisane pretrage su sistematski generisale
nova stanja, i uporeivali ih sa ciljnim stanjem.
Ove strategije obino rade sa loom efikasnou.
U klasu informisanih pretraga spadaju algoritmi
za lokalnu pretragu koji su inspirisani statistikom
fizikom
(simulirano
hlaenje,
simulated
annealing), i metode koje su inspirisane sa
evolutivnim
procesom
(genetski
algoritmi,
genetic algorithms).
Osim toga, postoje jo i metode takozvane online
pretrage (online search). Tu se agent nalazi u
potpuno nepoznatom okruenju.
2
Informisane (heuristike)
strategije za pretragu
Ciljevi ovih pretraga su:
Heuristika
Informisane (heuristike)
strategije za pretragu
Heuristika u pretrazi:
Heuristika funkcija za
evaluaciju
Cilj:
1.
2.
3.
Halapljiva (greedy)
pretraga tipa prvo najbolji
(Greedy best first search)
Greedy best first search: u narednom
koraku razvija onaj vor za koji proceni da
je najblii ciljnom stanju.
Algoritam evaluira vorove sa f(n)=h(n)
heuristikom funkcijom.
10
A* pretraga
Ovaj algoritam minimizira procenjeno
kotanje celog puta (ita se: A zvezda).
14
A* pretraga
Evaluaciona funkcija:
f(n)=g(n)+h(n)
g(n) je cena puta od poetnog vora do
vora n (aktuelni vor)
A* pretraga
Algoritam A* je optimalan, ako je h(n)
prihvatljiva heuristika (admissible heuristic),
to jest ako h(n) nikad ne preceni cenu do
postizanja cilja. Oigledan primer prihvatljive
heuristike je vazduna udaljenost hVU prilikom
putovanja u Bukuret.
Vazduna udaljenost je prihvatljiva jer izmeu
bilo koje dve take najkrae rastojanje je
upravo vazduna udaljenost, tako da
vazduna udaljenost nikad ne moe da
preceni.
16
A* pretraga
17
A* pretraga
18
A* pretraga
19
A* pretraga
Bukuret se prvo pojavio na obodu koraka (e),
ali nije dolo do razvijanja, jer je f-vrednost
Bukureta (450) vei od Pitesti-ja (417).
Ovo se moe objasniti na sledei nain:
mogue je da kroz Pitesti postoji jedno reenje
ije je kotanje 417, tako da algoritam nee
izabrati reenje sa cenom od 450.
Algoritam A* je optimalan ako je h(n) prihvatljivo.
20
Heurisitke funkcije
Razmotrimo 8-slagalicu. Cilj je da ploice
oznaene
brojevima
pomerajui
horizontalno i vertikalno dovedemo iz
polaznog stanja u ciljno stanje.
21
Heurisitke funkcije
U sluaju sluajno generisane 8-slagalice,
proseno reenje se sastoji od 22 koraka.
Faktor grananja je uglavnom 3 (2, 3 ili 4).
Potpuna pretraga do dubine 22 imala bi 322
vorova (3.1x1010). Ako iskljuimo stanja
koja
se
ponavljaju,
ostaje
nam
9!/2=181440 razliitih rasporeda.
U sluaju 15-slagalice ovaj broj je ve 1013.
Na osnovu ovih brojeva zakljuujemo da
nam je potrebna dobra heuristika.
22
Heurisitke funkcije
Ako elimo da naemo najkrae reenje sa
A* algoritmom, potrebna nam je heuristika
funkcija koji nikad ne precenjuje broj koraka
koji je potreban da se dostigne ciljno stanje.
Postoje dve mogunosti:
h1 broj ploica koji se nalaze na
pogrenom
mestu.
h2 zbir udaljenosti ploica od njihovih
ciljnih
poloaja.
23
Heurisitke funkcije
h1: Na prethodnoj slici nijedna ploica nije
na mestu, tako da je u polaznom stanju
h1=8. h1 je prihvatljiva heuristika funkcija
poto je jasno da svaku ploicu treba
pomeriti bar jednom.
h2: Poto se ploice ne mogu pomerati
dijagonalno, izraunata udaljenost e biti
zbir horizontalnih i vertikalnih udaljenosti.
24
Heurisitke funkcije
h2: ova udaljenost se jo naziva i city block
udaljenost (city block distance) ili Menhetn
udaljenost. h2 je takoe prihvatljiva heuristika
funkcija jer svakim pojedinanim pomeranjem
jednu ploicu moemo pribliiti cilju samo za
jedno mesto. U poetnom stanju za ploice 1-8
Menhetn udaljenost je:
h2=3+1+2+2+2+3+3+2=18.
h2 ne precenjuje kotanje reenja koje iznosi 26.
25
Algoritmi za lokalnu
pretragu
Algortimi za pretragu sa kojima smo se do sada
upoznali su sistematino pretraivali prostor za
pretragu.
Sistematinost je postignuta tako da jednu ili
vie putanja pamte u memoriji, a takoe se
pamti koje su alternative du puta bile ispitane,
a koje ne.
Kad pronau cilj, putanja do cilja ujedno je i
reenje problema.
26
Lokalna pretraga
U mnogim problemima putanja koja vodi do cilja
nam nije od interesa. Kod problema 8 kraljica
bitna je samo krajnja konfiguracija kraljica, a ne
redosled kojim smo kraljice postavljali na tablu.
Algoritmi za lokalnu pretragu (local search)
uzimaju u obzir samo jedno aktuelno stanje
(current state), i obino prelaze samo na
susedna stanja.
Putanju tipino ne memoriu.
27
Lokalna pretraga
Algoritmi za lokalnu pretragu nisu sistematini, ali uprkos tome imaju dve kljune
prednosti:
1.
2.
Lokalna pretraga
Za razumevanje lokalne pretrage treba
analizirati povr koja opisuje prostor stanja
(state space landscape).
Jednodimenzionalna povr prostora stanja, gde visina odgovara ciljnoj funkciji. Cilj
je pronalaenje globalnog maksimuma.
29
Lokalna pretraga
Ova povr ima take (to je definisano
stanjem) i visinu (koja je odreena
vrednou heuristine ili ciljne funkcije).
Ako je visina srazmerna sa kotanjem, onda
je cilj pronai dolinu koja je na najmanjoj
visini (globalni minimum).
Ako visina odgovara ciljnoj funkciji, onda je
cilj pronalaenje najvieg vrha (globalni
maksimum).
Prelazak izmeu minimuma i maksimuma
lako se ostvaruje jednostavnom promenom
znaka.
30
Lokalna pretraga
Jedna potpuna lokalna pretraga uvek e
pronai reenje ukoliko ono postoji. Jedan
optimalan algoritam uvek e pronai
globalni minimum ili maksimum.
31
Slika (a): stanje problema 8 kraljica sa vrednou heuristike funkcije h=17, i gde su
zadate sve vrednosti sledbenika kad sve kraljice pomeramo du kolone u kojoj se
nalaze. Najbolji potezi (12) su obeleeni. (b): Jedan od lokalnih minimuma u
prostoru 8-kraljica.
35
esto
38
40
41
43
44
Simulirano hlaenje
Algoritam penjanja nije potpun jer moe da
se zaglavi u lokalni maksimum.
Nasuprot tome, potpuna sluajna pretraga
je potpuna, ali je veoma neefikasna.
Razumnim se ini ideja kombinovanja
algoritma penjanja i sluajne pretrage kako
bismo zadrali i efikasnost i potpunost.
45
Simulirano hlaenje
Osnovna ideja: U obradi metala i stakla
hlaenje (annealing) je postupak za
dobijanje vee vrstine materijala, kad te
materijale
ugrejemo
na
visoku
temperaturu, pa ih postepeno hladimo
kako bi materijal doao u kristalno stanje
sa malom energijom.
46
Simulirano hlaenje
Prvo treba da se upoznamo sa opadanjem
gradijenta (gradient descent).
Zamislimo da nam je zadatak da na
neravnom stolu jednu ping-pong lopticu
ubacimo u najdublju rupu. Ako pustimo
lopticu da se kotrlja, ona e doi u lokalni
minimum.
Ako zatresemo sto, lopticu moemo izbaciti iz
lokalnog minimuma.
47
Simulirano hlaenje
Trik je u tome da sto treba toliko jako da
zatresemo da loptica iskoi iz lokalnog
minimuma, ali ipak ne toliko jako da ispadne i
iz globalnog minimuma.
Simulirano hlaenje je jedno reenje po kome
prvo
jako
zatresemo
sto
(visoka
temperatura), pa postepeno smanjujemo
intenzitet
potresa
stola
(smanjujemo
temperaturu).
48
Kraj
49