280 likes | 411 Views
HEURISTI Č KE PRETRAGE. Informativne (heurističke) strategije pretrage Funkcije ocene A i A * algoritmi pretrage Svojstva algoritma A * Primeri heurističkih pretraga Mere efikasnosti algoritama pretrage. EVALUACIONE FUNKCIJE.
E N D
HEURISTIČKE PRETRAGE • Informativne (heurističke) strategije pretrage • Funkcije ocene • A i A* algoritmi pretrage • Svojstva algoritma A* • Primeri heurističkih pretraga • Mere efikasnosti algoritama pretrage
EVALUACIONE FUNKCIJE • Informativne strategije - Ukoliko za rešavanje datog problema posedujemo dodatne informacije vezane za prirodu rešavanog problema, a koje nam olakšavaju odluku o tome koji naredni čvor treba otkriti u grafu pretrage. • Heurističke informacije – specifične informacije vezane za datu problemsku oblast koje olakšavaju procenu perspektivnosti mogućih alternativnih akcija u toku rešavanja datog problema. • Formalno se definišu kao evaluacione (heurističke) funkcije, koje se primenjuju na čvorove u grafu pretrage. Usvojeno je da malim vrednostima odgovaraju perspektivniji čvorovi. • Sve strategije ovog tipa rade na principu otkrivanja najperspektivnijeg čvora i potonjeg testiranja da li je dostignut ciljni čvor.
OPŠTI ALGORITAM PRETRAGE NA GRAFUGRAPHSEARCH • Kreirati graf pretrage G, koje se u početku sastoji samo od startnog čvora s. Staviti s u uredjenu listu OPEN. • Kreirati listu CLOSED, koja je u početku prazna. • Ako je OPEN prazna lista, neuspešan kraj procedure. • Selektovati prvi čvor n iz OPEN. Izbrisati ga iz OPEN i zapisati u listu CLOSED. • Ako je n ciljni čvor, procedura se završava sa uspehom. Ukupno rešenje se dobija preko ukazatelja iz G, unazad od n do s. (Ukazatelji se formiraju u koraku 6.) • Otvoriti čvor n generisanjem skupa M svih njegovih naslednika. Uvesti ukazatelje za sve elemente iz M ka n u G, u cilju identifikacije ovih čvorova kao naslednika čvora n. Za sve čvorove iz M, koji su već u CLOSED odlučiti da li treba promeniti ukazatelje njegovih potomaka iz G. • Sortirati listu OPEN, proizvoljno ili na osnovu neke heuristike. • Preći na korak 3.
GRAPHSEARCH eksplicitno formira graf pretrage G i njegov podgraf - stablo pretrage Tr. • Stablo Tr je odredjeno ukazateljima (korak 6). Ovim se obezbedjje jedinstvenost roditelja. • Čvorovi iz OPEN su krajnji čvorovi stabla pretrage, koji još nisu birani za otvaranje. • Čvorovi iz CLOSED su ili krajnji čvorovi izabrani za otvaranje koji nemaju naslednike ili neterminalni čvorovi ovog stabla. • Svi mogući putevi do nekog čvora, otkriveni ovim algoritmom su u G u eksplicitnom obliku, dok je jedan izabrani put do svakog čvora dat stablom Tr. • Rešenje problema pretrage se dobija sledovanjem ukazatelja od terminalnog (ciljnog) do početnog čvora.
RAZJAŠNJENJE KORAKA 6 • Kada bi G bilo stablo, bili bismo sigurni da ni jedan od potomaka generisan u koraku 6. nije generisan ranije. • Pri ponovnom otkrivanju nekog čvora, do njega se otvara novi put, različit od onoga koji je do tada fiksiran u stablu pretrage Tr. • Ukoliko je ovaj put kraći (manje težine) od onog koji je do tada postojao, potrebno je korigovati stablo pretrage Tr.
A B
RAZJAŠNJENJE KORAKA 6 • čvor 4 ima za roditelja čvor 6 jer je put preko 6 do s kraći (4) • čvor 2 za roditelja ima čvor 3 (put do s je dužine 4) • Nakon otvaranja čvora1 generiše se njegov naslednik, čvor 2, koji je već bio u CLOSED. U novonastaloj situaciji treba preispitati ukazatelje. • Sada je roditelj čvoru 4, čvor 2 jer je put do s preko čvorova 2 i 1 kraći i iznosi 3 umesto prethodnih 4. • Novi roditelj čvoru 2 je čvor 1, budući da je put do s preko čvora 1 svega 2 umesto prethodnih 4 preko čvora 3.
Graphsearch je dovoljno opšti za obuhvatanje i neinformativnih strategija pretrage. • Pretraga u širinu odgovara stavljanju novootvorenih čvorova na kraju liste OPEN, koja radi po principu FIFO (first in, first out – prvi ulazi, prvi izlazi). • Pretraga u dubinu se dobija kada se novootvoreni čvorovi stavljaju na početak liste OPEN, koja radi sada po principu LIFO (last in, first out- poslednji ulazi, prvi izlazi ) • Heuristička pretraga kojom se čvorovi u OPEN sortiraju tako da najperspektivniji čvor dolazi na prvo mesto se naziva još i pretraga prvi najbolji (Best First)
Svojstva A* algoritma • Dopustivost (admissibility) • Algoritam pretrage je dopustiv ukoliko za svaki graf završi rad i nalazi optimalni put od početnog do ciljnog čvora, pod uslovom da taj put postoji. • Stav 1 • Algoritam A* je dopustiv.
Dokaz dopustivosti (admissibility) • Lema 1 U svakom koraku pre završetka A* , uvek postoji čvor n* u OPEN, sa sledećim svojstvima • n* je na optimalnom putu do cilja • A* je već pronašao optimalan put do n* • f(n*) ≤f(n0), n0-stratni čvor.
Dokaz dopustivosti (admissibility) • Dokaz se zatim izvodi u dva koraka: • A* mora da okonča pretragu • A* završava pretragu sa pronadjenim optimalnim putem.
HEURISTIČKA SNAGA FUNKCIJE OCENE • Izbor h jednake najvećoj mogućoj gornjoj granici, obezbedjuje otkrivanje najmanjeg broja čvorova ne nerušavajući konzistentnost algoritma pretrage. • Često je moguće dobiti na heurističkoj snazi žrtvovanjem konzistentnosti. • Jedan pogodan oblik funkcije ocene je gde velika vrednost za w daje veliki značaj heurističkoj komponenti, dok mala vrednost daje algoritmu karakter pretrage u širinu. • Ako se uzme da je algoritam u početku rada ima visoku usmerenost usled dominirajuće heurističke komponente, dok pri kraju rada usled male vrednosti proizvoda poprima svojstva pretrage u širinu.
MERE KVALITETA PRETRAGA • Usmerenost pretrage gde je L - dužina puta od starta do cilja T - broj otkrivenih čvorova Pmax=1, odgovara optimalnim procedurama sa najvišom mogućom heurističkom sangom, dok P<<1 odgovara neinformativnim procedurama • Pokazatelj efikasnosti grananja B • B je konstantan faktor grananja stabla pretrage čija je dubina jednaka dužini optimalnog puta od starta do cilja i čiji je ukupan broj čvorova identičan broju čvorova posmatranog grafa pretrage. Dobro svojstvo je da B ne zavisi u velikoj meri od dužine puta od starta do cilja.