• Nie Znaleziono Wyników

Pr ze sz u k iw a n ie n ie o d w ra ca ln e i z in tr o sp e k cj

N/A
N/A
Protected

Academic year: 2021

Share "Pr ze sz u k iw a n ie n ie o d w ra ca ln e i z in tr o sp e k cj"

Copied!
24
0
0

Pełen tekst

(1)

M o ty w a cj a

Jeste´smyekspertem/doradc֒awjednejzagencjirz֒adowych,iwniedziel֒e wieczoremprezesagencjidzwonidonasnakom´ork ֒e,˙zebypoinformowa´c,˙ze wponiedzia lekranoogodzinie10-tejodb ֒edziesi ֒ewa˙znanarada wMinisterstwieInfrastruktury,ikoniecznajestnaszaniezawodnaobecno´s´c. Corobi´c? Mamywielemo˙zliwo´sci,mo˙zemywr´oci´cdokolacjizrodzin ֒a,mo˙zemyp´oj´s´cna spacer˙zebysi֒eodstresowa´c. Wiemyjednak,˙zemusimyzaplanowa´cpodr´o˙zdoWarszawy.Samolotniejest dobr ֒aopcj ֒a.Wtanichliniachlotniczychwszystkiemiejscas ֒adawnowykupione, awLOTs ֒apewniejeszczemiejsca,alejakranob ֒edziemg laisamolotnie odleci,tozostawimyszefanalodzie,ipotempewniemo˙zemysi֒eju˙zwog´ole niepokazywa´cwagencji(odpraw֒eprzy´sl֒anamnakonto). Cogorsza,PKPwdzisiejszychczasachr´ownie˙zmazwyczajodwo lywa´cpoci ֒agi zdnianadzie´n,iniemapewno´sci,czymo˙zemyliczy´cnanocnypoci ֒ag1:32 (jestwWarszawieo7:32).Mo˙zemysprawdzi´ct֒eopcj֒e,alemo˙zesi֒eokaza´c,˙ze czekanasjazdasamochodem. Metodyprzeszukiwaniamotywacja1 Og´olnie,jestszeregmo˙zliwo´sci,ka˙zdaznichwymagastarannegorozwa˙zenia. Prowadzitodoprzeszukiwania. Przeszukiwaniejestelementemsk ladowymwszystkichmetodsztucznej inteligencji,izdolno´s´cskutecznegoprzeszukiwaniawog´olezdajesi ֒eby´c inherentnymelementeminteligencji. Metodyprzeszukiwaniamotywacja2

Re p re ze n ta cj a w p rz e st rz e n i st a n ´o w

1.opisprzestrzenistan´ow •cz ֒estoprzestrze´nmo˙zemie´cposta´ciloczynukartezja´nskiegodziedzin parametr´owopisu •przestrze´nmo˙zeby´csko´nczonalubniesko´nczona,cho´cniemusitoby´c zwi֒azaneztrudno´sci֒aproblemu(np.szachy) •czasemcz֒e´s´cca lejformalniezdefiniowanejprzestrzenistanowi֒astany niedozwolone(inaczej:nieosi֒agalne) 2.opisstanupocz֒atkowego,zawszejawny 3.opisstanucelowego,jawnylubniejawny(warunekosi֒agni֒eciacelu) 4.opisdost֒epnychoperator´owprzej´sciaodstanudostanu •np.wpostaciwarunk´owstosowalno´sciiefekt´owdzia lania •operatormo˙zeby´csparametryzowany(np.wlabirynciemo˙zemymie´c jedenoperatorruchu,czteryoperatory,alboliczb֒emiejscrazycztery) ⇒Zadaniemjestwyznaczeniesekwencjioperator´owprowadz ֒acychzestanu pocz֒atkowegodocelowego. Metodyprzeszukiwaniareprezentacjawprzestrzenistan´ow3

Og ´o ln y sc h e m a t p rz e sz u k iw a n ia w p rz e st rz e n i st a n ´o w

PROCEDUREGT(St);St-opisstanupoczatkowego BEGIN UNTILTerm(St)DO;stanStspelniawarunekcelu BEGIN Op:=first(ApplOps(St));wybierzoperatorstosowalnywstanieSt St:=Apply(Op,St);rezultatzastosowaniaOpdostanuSt END END Coprawdapowy˙zszyzapisalgorytmuGT(Generate-and-Test)sugeruje,˙ze wybieraonpierwszymo˙zliwydozastosowaniawstanieStoperator,jednak algorytmmawp lywnatenwyb´oroperatoraprzezodpowiednieposortowanie listyoperator´ow.Metod֒ewyboruoperatoraprzezalgorytmprzeszukiwania nazywamystrategi ֒a. Zastosowaniedobrejstrategiijestwalgorytmachprzeszukiwaniazagadnieniem kluczowym. Metodyprzeszukiwaniareprezentacjawprzestrzenistan´ow4

(2)

S tr a te g ie ´sl e p e i p o in fo rm o w a n e

Strategiamo˙zeby´cca lkowicieog´olna,bazuj֒acatylkonasyntaktycznych w lasno´sciachreprezentacjizagadnienia,idaj ֒acasi ֒ewykorzysta´cwewszystkich mo˙zliwychprzypadkach.Takiestrategienazywasi ֒e´slepymi. Przyk lad:ca lkiemu˙zyteczn֒a´slep֒a(itodos lownie)strategi֒awprzeszukiwaniu labirynt´owjeststrategiaprawejr ֒eki.Strategiatapozwalaznale´z´cwyj´scie zlabiryntu,je´slitylkotakoweistnieje. Strategiemog֒ar´ownie˙zwykorzystywa´cinformacjeostanie,specyficznedla danejdziedzinyproblemowej.Takiestrategienazywamypoinformowanymi. Strategiepoinformowanekorzystaj֒azinformacji,kt´orewog´olnymprzypadku nies֒adost֒epne,imog֒aby´cniezrozumia ledlaosobypostronnej,orazdla ca lkowicieog´olnegoalgorytmuprzeszukiwania. Przyk lad:wyobra´zmysobie,˙zeposzukuj֒acwyj´sciazlabiryntuwiemy,˙zena zewn֒atrzjestha las(np.szummorza),awlabiryncieca lkowitacisza.Wtedy zwyczajnenads luchiwaniewewszystkichkierunkachmog lobyby´c´zr´od lem strategiipoinformowanej,pomagaj֒acwwyborzew la´sciwychkrok´ow(cho´c strategiatamo˙zeby´cskutecznatylkowpewnejniewielkiejodleg lo´sciod wyj´scia). Metodyprzeszukiwaniapodstawowestrategie5

Pr ze sz u k iw a n ie n ie o d w ra ca ln e i z in tr o sp e k cj

֒

a

Mo˙znarozpatrywa´cdwapodej´sciadozagadnieniaprzeszukiwania: •gdyistniejemo˙zliwo´s´cintrospekcji,toznaczywgl֒aduwca l֒aprzestrze´n przeszukiwania, alboinaczej:symulacjirozwi֒azania ”nasucho”, alboinaczej:cofaniaruch´ow, •gdytakiejmo˙zliwo´sciniemaiwykonywaneruchys ֒anieodwracalne. ⇒Nawetje´sliposiadamykompletnyistuprocentowopewnyopiszagadnieniato introspekcjamo˙zeby´cograniczonaprzezwielko´s´cprzestrzeni,np.szachy. ⇒zkoleiwniekt´orychzagadnieniachwszystkieoperatorymog ֒amie´coperatory odwrotne,copraktyczniedajemo˙zliwo´s´ccofaniaruch´ow,nawetje´sli teoretycznieonanieistnieje.Wtedyjednakmo˙zliwes֒ap֒etle. Metodyprzeszukiwaniapodstawowestrategie6

Z a g a d n ie n ia te st o w e — m is jo n ar ze i k a n ib a le

Sformu lowanoszeregzagadnie´ntestowych(toyproblems)—prostych ipogl֒adowych—alezawieraj֒acychjak֒a´strudno´s´c,pozwalaj֒ac֒asprawdzi´c podstawowemo˙zliwo´scialgorytm´owrozwi֒azywaniaproblem´ow. Jednymztakichzagadnie´ntestowychjestproblemmisjonarzyikanibali: •3misjonarzyi3kanibalinajednymbrzegurzeki, •dwuosobowa l´od´z, •nale˙zyprzeprawi´cwszystkichnadrugibrzegrzekitak,abyliczbakanibali w˙zadnymmiejscuiczasienieprzekracza laliczbymisjonarzy. Metodyprzeszukiwaniapodstawowestrategie7

Pr o b le m m a lp y i b a n a n ´o w

Innymklasycznymzagadnieniemtestowymjestproblemma lpyibanan´ow: •ma lpawzamkni֒etympokoju, •nasuficiewisz ֒abanany,zbyt wysokobyma lpamog laich dosi֒egn֒a´c, •zbokustoist´o l,zkt´orego mog labydosi֒egn֒a´cbanan´ow, gdybygoodpowiednio przesun ֒a´c. Metodyprzeszukiwaniapodstawowestrategie8

(3)

K r´o tk ie p o d su m o w a n ie — p yt a n ia sp ra w d za j

֒

a ce

1.Zczegosk ladasi ֒ereprezentacjaproblemuwprzestrzenistan´ow? 2.Cotos֒a´slepeipoinformowanestrategieprzeszukiwania?Czymsi֒er´o˙zni֒a? Metodyprzeszukiwaniapodstawowestrategie9 Metodyprzeszukiwaniapodstawowestrategie10

Pr ze sz u k iw a n ie z n aw ra ca n ie m (B T )

FUNCTIONBT(st) BEGIN IFTerm(st)THENRETURN(NIL);trywialnerozwiazanie IFDeadEnd(st)THENRETURN(FAIL);brakrozwiazania ops:=ApplOps(st);listaoper.stosowalnych L:IFnull(ops)THENRETURN(FAIL);brakrozwiazania o1:=first(ops) ops:=rest(ops) st2:=Apply(o1,st) path:=BT(st2) IFpath==FAILTHENGOTOL RETURN(push(o1,path)) END AlgorytmBTskutecznieprzeszukujeprzestrze´nrozwi֒aza´nbezjawnego budowaniadrzewaprzeszukiwaniaprzestrzeni.Strukturyjakichu˙zywado zapami֒etaniastanuprzeszukiwa´ns֒aniejawne(nastosie).Mo˙znaskonstruowa´c iteracyjn֒awersj֒etegoalgorytmu,kt´orabudujetestrukturyjawnie. Metodyprzeszukiwaniaprzeszukiwanieznawracaniem11

Pr ze sz u k iw a n ie z n aw ra ca n ie m — w la sn o´ sc i

BTmaminimalnewymaganiapami֒eciowe.Wtrakciepracypami֒etatylko pojedyncz֒a´scie˙zk֒edorozwi֒azania(orazpewienkontekstdlaka˙zdegoelementu tej´scie˙zki).Zatemjegoz lo˙zono´s´cpami ֒eciowaprzypadku´sredniego wynosiO(d),gdzied-odleg lo´s´cstanupocz֒atkowegoodrozwi֒azania (wsensieliczbyoperator´ow). Efektywno´s´cczasowajestgorsza.WnajgorszymprzypadkualgorytmBTmo˙ze odwiedzi´cwszystkiestanyprzestrzeniprzedznalezieniemrozwi֒azania. Pozwalajednaknau˙zyciestrategii—poinformowanejlub´slepej—wmomencie tworzenialistyoperator´ow,przezjejodpowiednieposortowanie. Powa˙znymproblememalgorytmuBTjestfakt,˙zemo˙zeonnieznale´z´c rozwi ֒azania,nawetje´sliistniejeonowniewielkiejodleg lo´sciodstanu startowego.Je´slinp.przestrze´nstan´owjestniesko´nczona,algorytmmo˙ze wpewnymmomencieprzeszukiwaniawybra´coperatorprowadz֒acydostanu, zkt´oregoprowadz֒adrogidoniesko´nczonejliczbystan´ow,ale˙zadenznichnie jeststanemdocelowym.WtakimprzypadkualgorytmBTnigdyniezako´nczy przeszukiwaniatejcz֒e´sciprzestrzenistan´ow,inigdynieb֒edziem´og lwycofa´csi֒e zniew la´sciwegowyboruoperatora. Metodyprzeszukiwaniaprzeszukiwanieznawracaniem12

(4)

W yk ry w a n ie p o w ta rz a j

֒

a cy ch si

֒

e st a n ´o w

Jednymzproblem´owalgorytmuBT—jakr´ownie˙zwszystkichinnych algorytm´owprzeszukiwania—jestmo˙zliwo´s´cpowstawaniap֒etli.Je´slialgorytm kiedykolwiekwygenerujeopisstanu,dokt´oregodoszed l,alekt´oryju˙zistniejena jegodrodzeodstanupocz ֒atkowego,tonieuchronniezaczniepowtarza´cbadanie stan´owwcze´sniejzbadanych. Zjawiskutemumo˙znaoczywi´sciezapobiec.Najprostszymsposobemby loby sprawdzenie,powygenerowaniuka˙zdegonowegostanu,czytenstannie znajdujesi֒eju˙znabie˙z֒acej´scie˙zceodstanupocz֒atkowego. Mo˙znar´ownie˙zsprawdzi´cdok ladniej—czynowowygenerowanystanniezosta l ju˙zwog´olekiedykolwiekwcze´sniejznaleziony,izbadany.Wymagato pami֒etaniazbiorustan´owzbadanych,tzw.listyClosed.Listatawalgorytmie rekurencyjnymmusiby´cglobalnaika˙zdynowowygenerowanyopisstanumusi by´cpor´ownywanyzewszystkimistanamiju˙zobecnyminali´scie. Jednoidrugiesprawdzaniejestdo´s´ckosztowneobliczeniowo.Dla zaoszcz֒edzeniaczasumo˙znajepomin֒a´c,ryzykuj֒acjednakzap֒etlenieprocedury. Metodyprzeszukiwaniaprzeszukiwanieznawracaniem13

Og ra n ic ze n ie g l

֒

e b o k o´ sc i z it e ra cy jn ym p o g l

֒

e b ia n ie m

Powa˙znymproblememdlaalgorytmuBTs֒aniesko´nczoneprzestrzenie, zkt´orymialgorytmog´olniesobienieradzi.Podobniezreszt֒ajakinnealgorytmy ocharakterze(hura-)optymistycznym,kt´orepreferuj֒amarszdoprzodu,oile tylkojestmo˙zliwy. Prostymrozwi ֒azaniemjestograniczenieg l ֒eboko´sciprzeszukiwaniadojakiej´s ”rozs ֒adnej”warto´sci.Zauwa˙zmy,˙zepozazabezpieczeniemprzedniesko´nczonymi przestrzeniami,zabezpieczaonojednocze´snieprzedwpadni֒eciemwp֒etle,co pozwalapomin֒a´cwykrywaniepowtarzaj֒acychsi֒estan´ow.Wog´olnymprzypadku mo˙zenieby´cjednak latweokre´slenietakiejwarto´sci,ajejniedoszacowaniegrozi oczywi´sciepora˙zk֒aalgorytmuinieznalezieniemrozwi֒azania,kt´oreistnieje. Dlaszeregualgorytm´owpodobniejakBToptymistycznych(preferuj ֒acychruchy wg l֒ab)stosujesi֒ezatemograniczenieg l ֒eboko´sciziteracyjnym pog l ֒ebianiem.Tenwariantgwarantujeznalezienierozwi֒azania,oileistnieje. JednakwprzypadkualgorytmuBTtametodamo˙zeby´cbardzonieefektywna. Metodyprzeszukiwaniaprzeszukiwanieznawracaniem14

He u ry st yk i i fu n k cj e o ce n y st a n u

Algorytmydotychczasprzedstawiones֒aog´olneiniewymagaj֒adoswojejpracy strategiipoinformowanej.Jednakwka˙zdympraktycznymzagadnieniu posiadanietakiejstrategiijestbardzopo˙z֒adane. Heurystyk ֒ab֒edziemynazywa´cwiedz֒eodziedzinieproblemowej: •kt´orejniemo˙znauzyska´czsyntaktycznejanalizyopisuproblemu, •kt´oramo˙zeniemie´cformalniepoprawnegouzasadnienia,atak˙ze—co wi֒ecej—kt´oramo˙zeniewka˙zdymprzypadkusprawdza´csi֒e,iczasami dawa´cmylnewskaz´owki, •alekt´oraog´olniepomagawdokonywaniudobrychwybor´ow wprzeszukiwaniu. Posiadanieheurystykipozwalabudowa´cstrategiepoinformowane.Og´olnym icz֒estostosowanymschematemkonstrukcjistrategiiwykorzystuj֒acym informacj֒eheurystyczn֒a,jeststatycznafunkcjaocenystanu.Dlaka˙zdego stanuokre´slaonajego ”dobro´c”,czyliszanse,˙zeprzeztenstanprowadzidroga dorozwi ֒azania.Warto´s´ctejfunkcjimo˙znar´ownie˙zinterpretowa´cjakomiar ֒e odleg lo´scistanuodrozwi֒azania. Metodyprzeszukiwaniaheurystycznefunkcjeocenystany15

M e to d y g ra d ie n to w e

Funkcj֒eocenystanumo˙znawprzeszukiwaniuzastosowa´cbezpo´srednio. Prowadzitodometodylubmetodgradientowych(hill-climbing).Metodyte okre´slasi ֒ewinformatycejakometodyzach lanne. Ichbezpo´sredniezastosowanieograniczonejestdodziedzinzbardzoregularn֒a funkcj֒aoceny(np.´sci´slemonotoniczn֒a).Wpraktycemamytypowodo czynieniaznast ֒epuj ֒acymiproblemami: 1.lokalnemaksimafunkcjioceny 2.obszary ”plateau”funkcjioceny 3.uko´snegraniefunkcjioceny current state

objective function state space

global maximum local maximum "flat" local maximum

shoulder Metodyprzeszukiwaniametodygradientowe16

(5)

W y ˙za rz a n ie

Skuteczn֒aicz֒estostosowan֒agrup֒emetodgradientowychstanowitechnika zwanawy˙zarzaniem(simulatedannealing).Jejnazwaodwo lujesi ֒edoanalogii zprocesemwytapianiametalu,kiedystopnioweipowolnezmniejszanie temperaturypozwalaosi ֒agn ֒a´cstanglobalnegooptimumenergetycznego, zpe lnymuporz֒adkowaniemcz֒asteczekwca lejobj֒eto´scimetalu. Metodapoleganagenerowaniuruch´ow losowych,inast֒epniewykonywaniuich, lubnie,zgodniezprzedstawionymna wykresierozk lademprawdopodobie´nstwa. Jakwida´c,je´sliwygenerowanyruch poprawiawarto´s´cfunkcjiocenytojest zawszewykonywany,natomiastje´slij֒a pogarszatojestwykonywany zprawdopodobie´nstwemp<1zale˙znym odstopniapogorszeniaoceny, wpor´ownaniuzestanemaktualnym. Metodyprzeszukiwaniametodygradientowe17 Jednocze´snie,wtrakciepracyalgorytmustopniowoobni˙zanajesttemperatura, copowodujezmniejszanieprawdopodobie´nstwawyboruruch´ow ”z lych”. Metod֒ewy˙zarzaniastosujesi֒ezpowodzeniemdoprojektowaniauk lad´owVLSI, siecir´o˙znegorodzaju,przydzia luzada´nwprocesachprodukcyjnych,iinnych zada´noptymalizacjiproces´owz lo˙zonych.Problememwjejzastosowaniujest dob´orparametr´ow,np.algorytmuobni˙zaniatemperatury. Metodyprzeszukiwaniametodygradientowe18

K r´o tk ie p o d su m o w a n ie — p yt a n ia sp ra w d za j

֒

a ce

1.JakiewymaganiaalgorytmuBTs ֒abardziejkrytyczne:pami ֒ecioweczy czasowe?Uzasadnijodpowied´z. 2.WjakichsytuacjachalgorytmBTmo˙zenieznale´z´crozwi֒azania,gdyono istnieje? 3.Naczympolegazjawiskopowtarzaj֒acychsi֒estan´owwalgorytmach przeszukiwania?Jakies֒ajegomo˙zliwekonsekwencje? 4.Jakiproblemrozwi ֒azujemetodaiteracyjnegopog l ֒ebiania? Wjakichprzypadkachkoniecznejestjejstosowanie? 5.Jakies ֒ag l´owneproblemyjako´sciowe(nieuwzgl ֒edniaj ֒acz lo˙zono´sci) wzastosowaniugradientowychmetodprzeszukiwania? Metodyprzeszukiwaniametodygradientowe19 Metodyprzeszukiwaniametodygradientowe20

(6)

Pr ze sz u k iw a n ie g ra f´o w

Przypomnijmysobiewersj֒ealgorytmuBTziteracyjnympog l֒ebianiem, ikonieczno´s´cwielokrotnegoprzeszukiwaniapocz ֒atkowejcz ֒e´sciprzestrzeni.Aby unikn ֒a´cwielokrotnegoodwiedzaniatychsamychstan´owmo˙znau˙zy´cstruktury grafowejdopami֒etaniazbadanychju˙zcz֒e´sciprzestrzenistan´ow.Algorytmy, kt´oreu˙zywaj֒atakiejstrukturys֒aalgorytmamiprzeszukiwaniagraf´ow. Og´olnestrategie przeszukiwaniagraf´ow (´slepe): •strategiawszerzBFS (breadth-firstsearch) •strategiawg l ֒abDFS (depth-firstsearch), •innestrategie. Metodyprzeszukiwaniaprzeszukiwaniegraf´ow21

Pr zy k la d : 8 -k a (8 -p u zz le )

1234 5678 9101112 131415Uk ladanka15-tka(15-puzzle)—popularnawszkole podstawowej. 8-ka(8-puzzle)—zmniejszonawersja,odpowiedniadoilustracjidzia lania r´o˙znychstrategiiialgorytm´owsztucznejinteligencji.

7 3 2 6 1 8 5 4 7 6 5 8 4 1 2 3

Metodyprzeszukiwaniaprzeszukiwaniegraf´ow22

Pr ze sz u k iw a n ie w sz e rz (B F S )

•Badajwszystkiestanywodleg lo´scidodstanupocz ֒atkowegos0przed zbadaniemjakiegokolwiekstanuwodleg lo´sci(d+1)ods0. •Zawszegwarantujeznalezienierozwi ֒azaniaje´slitylkoistnieje. •Cowi֒ecej,zawszeznajdujerozwi֒azanieoptymalne(tzn.znajdujenajkr´otsz֒a drog֒ezestanupocz֒atkowegodoka˙zdegostanu). •Niejestinherentnieodpornynawpadaniewp֒etlestan´owimo˙zewymaga´c zastosowanialistyClosed. •Z lo˙zono´s´cpami ֒eciowaiczasowafatalna,obieO(bd),gdzie: b-´srednialiczbaga l֒eziwyrastaj֒acychzw֒ez la(tzw.branchingfactor), d-odleg lo´s´cstanupocz֒atkowegoodrozwi֒azania(liczbaoperator´ow). •Praktyczniejednakowaz lo˙zono´s´cprzypadkunajgorszegoi´sredniego(jak r´ownie˙znajlepszego). •Uwagaimplementacyjna:dodawajnowoodkrytestanynakonieclistyOpen. (Pomimoi˙zm´owisi ֒eolistachw ֒ez l´ow,zewzgl ֒edunacz ֒esteodwo lania wpraktycestosujesi ֒eszybszestrukturydanych,np.tablicehaszowe.) Metodyprzeszukiwaniaprzeszukiwaniegraf´ow23

Pr ze sz u k iw a n ie w sz e rz — p rz yk la d

Diagramprzedstawiafragmentgrafuprzeszukiwaniawszerz.Numerynad planszami(1–26)pokazuj֒atukolejno´s´cwyboruw֒ez l´owdoekspansjigrafu. Metodyprzeszukiwaniaprzeszukiwaniegraf´ow24

(7)

Pr ze sz u k iw a n ie w g l

֒

a b (DF S )

•Badajwszystkienowoodkrytestanypochodne(potomki)danegostanun przedpowrotemdobadanias ֒asiad´owstanun. •Niedaje˙zadnychzgwarancjiBFS(pewno´sciznalezieniarozwi֒azania optymalnego,albowog´oleznalezieniajakiego´srozwi֒azania). •Z lo˙zono´s´cobliczeniowaprzypadkunajgorszego:przetwarzanieipami֒etanie wszystkichstan´ow. •Z lo˙zono´s´cprzypadku´sredniego:O(bd)pami ֒eciowaiczasowa. •Dlaprzestrzeniniesko´nczonychjedynympraktycznieu˙zytecznymwariantem jestograniczenieg l֒eboko´sciziteracyjnympog l֒ebianiem(aleprzeszukiwanie grafuDFSniejesta˙ztakbezsensowniestratnejakalgorytmBT). •Efektywno´s´calgorytmugwa ltowniepolepszasi֒edlaprzypadk´owistotnie lepszychni˙z´sredni(czyliwyj֒atkowoszcz֒e´sliwych),zatemsensjego stosowaniajesttylkowpo l֒aczeniuzdobrymiheurystykami. •Uwagaimplementacyjna:dodawajnowoodkrytestanynapocz ֒ateklisty Open. Metodyprzeszukiwaniaprzeszukiwaniegraf´ow25

Pr ze sz u k iw a n ie w g l

֒

a b — p rz yk la d

Fragment ”przeci֒etnego”grafuprzeszukiwaniawg l֒abzograniczeniemg l֒eboko´sci do5.Numeryw ֒ez l´owpokazuj ֒akolejno´s´cwyboruw ֒ez l´owdoekspansjigrafu. Metodyprzeszukiwaniaprzeszukiwaniegraf´ow26

Pr ze sz u k iw a n ie r´o w n o k o sz to w e U C S

Wprzypadku,gdykosztypojedynczychruch´ownies֒ar´owne,przeszukiwanie wszerzopartenaliczbieruch´owwoczywistyspos´obniegwarantujeznalezienia optymalnej´scie˙zki.Mo˙znaokre´sli´cprost֒amodyfikacj֒ealgorytmuwszerz,kt´ora znajdzieoptymaln ֒a´scie˙zk ֒edladowolnych(dodatnich)koszt´owpojedynczych ruch´ow.Tamodyfikacja,zwanaalgorytmemr´ownegokosztu(uniform-cost searchUCS),wymagaka˙zdorazowowybraniaw ֒ez laonajni˙zszymkoszcie´scie˙zki. SG55 333SG

55 333 SG

55 333 SG

55 333 SG

55 333 Wprzypadkur´ownychkoszt´owruch´owsprowadzasi֒etodometodywszerz. Optymalno´s´calgorytmumo˙zna(trywialnie)wykaza´cpodwarunkiem,˙zekoszt pojedynczegoruchujestjak ֒a´swarto´sci ֒adodatni ֒a(≥ǫ).Poniewa˙zalgorytm kierujesi ֒ed lugo´sci ֒a´scie˙zki,jegoz lo˙zono´sciniemo˙znascharakteryzowa´cjako funkcjibid.Zamiasttego,oznaczaj֒acprzezCkosztoptymalnego rozwi֒azania,mo˙znaotrzyma´cz lo˙zono´s´cnajgorszegoprzypadku,zar´owno czasow֒ajakipami֒eciow֒a,jakoO(b1+C/ǫ⌋ ). Wprzypadkur´ownychkoszt´owformu lataredukujesi ֒edoO(bd). Metodyprzeszukiwaniaprzeszukiwaniegraf´ow27

Z a k o ´n cz e n ie p rz e sz u k iw a n ia

Celemprzeszukiwaniamo˙zeby´csamoznalezienie´scie˙zkidorozwi֒azania,b֒ad´z znalezienie´scie˙zkioptymalnej.Wpierwszymprzypadku,algorytmmo˙ze zako´nczy´cprac ֒eju˙zwmomencie,kiedynowystan,wygenerowanywwyniku kolejnegoruchu,oka˙zesi ֒estanemdocelowym,awi ֒eczostanieumieszczonyna li´scieOpen.Aleczytaksamomo˙zemypost ֒api´cwprzypadkuposzukiwania rozwi֒azaniaoptymalnego? SG55 333 SG55 333 SG55 333 SG

55 333 SG

55 333 Przeszukiwanienale˙zyzako´nczy´cwmomencie,gdyalgorytmprzeszukiwania optymalnegowybierzedoekspansjiw֒eze l,kt´oryjestw֒ez lemdocelowym(czyli ju˙zwcze´sniejznalaz ljedenlubkilkaw֒ez l´owdocelowych).Jegoekspansjimo˙zna wtedyzaniecha´c,anajlepszaznalezionadoniego´scie˙zkajestrozwi֒azaniem optymalnym.Poniewa˙zalgorytmsystematycznieznajdujewszystkienajta´nsze ´scie˙zki,wi ֒ecmomentwybraniaw ֒ez ladoekspansjioznacza,˙zeniemo˙zesi ֒eju˙z wgrafieznale´z´c˙zadnata´nsza´scie˙zkadoniego. Jednakzanimtonast ֒api,algorytmbada´scie˙zkioni˙zszychkosztach,iniema pewno´sci,˙zekt´ora´sznichnieoka˙zesi ֒enow ֒a,lepsz ֒a´scie˙zk ֒adow ֒ez lacelowego. Metodyprzeszukiwaniaprzeszukiwaniegraf´ow28

(8)

Pr ze sz u k iw a n ie n a jp ie rw -n a jl e p sz y

Zastosowanieheurystycznejfunkcjiocenydoprzeszukiwanianagrafach wnajprostszymprzypadkudajetzw.przeszukiwanienajpierw-najlepszy (best-firstsearch).Wka˙zdejchwiliwykonujeonoruch,kt´oryminimalizuje funkcj ֒eoceny.Je´slifunkcjaocenyjestdobra,w la´sciwiewybierastanydo analizy,iodpowiedniomalejewzd lu˙zdrogidorozwi֒azania,towtedytametoda ”idzie”bezpo´sredniodocelu,nietrac֒acczasunarozwijaniejakichkolwiek niepotrzebnychw֒ez l´owgrafu. R´ownie˙zwprzypadkudrobnychdefekt´owfunkcjioceny,kiedyniekt´orejej warto´scis ֒anietrafnei´zleoceniaj ֒astany,aleporozwini ֒eciukilku niepotrzebnychw ֒ez l´owfunkcjaoceniadalszew ֒ez lywprzybli˙zeniupoprawnie, tenschematprzeszukiwaniadobrzesi֒esprawdza. K lopotyzaczynaj֒asi֒ejednakkiedyfunkcjamajaki´sb l֒adsystematyczny,np. jakonajlepsz ֒akonsekwentniewskazujedrog ֒e,kt´orawog´olenieprowadzido celu.Wtedymetodanajpierw-najlepszymatakiesamewadyjakmetodawg l ֒ab, pomimo,i˙zfunkcjaby´cmo˙zepoprawnieoszacowujewielew ֒ez l´ow. Metodyprzeszukiwaniaprzeszukiwaniegraf´ow29

Na jp ie rw -n a jl e p sz y ja k o w e rs ja p rz e sz u k iw a n ia w g l

֒

a b

Spostrze˙zenie,˙zemetodanajpierw-najlepszyzachowujesi֒epodobniejak metodawg l֒abpozwalanawyci֒agni֒eciepewnychwniosk´ow.Algorytm najpierw-najlepszyjestobarczonywszystkimipotencjalnymiwadamialgorytm´ow wg l֒ab,takimijakmo˙zliwo´s´cnieznalezieniarozwi֒azania,kt´oreistnieje,wpadania wb l ֒ednealeniesko´nczonega l ֒ezie,itp.Mazatemsensstosowaniewobecniej ograniczeniag l ֒eboko´sci(ziteracyjnympog l ֒ebianiem),itp. Jakwkr´otcezobaczymy,istniejepewna ”inteligentna”metodawykorzystania strategiiheurystycznejwalgorytmiewg l֒ab,zabezpieczaj֒acaprzed przeszukiwaniemniesko´nczonychprzestrzenilepiejni˙zsztywneograniczenie g l֒eboko´sci. Metodyprzeszukiwaniaprzeszukiwaniegraf´ow30

Pr ze sz u k iw a n ie g ra fu o p ar te n a k o sz ta ch

Napoz´or,algorytmUCSr´o˙znisi֒ezasadniczoodalgorytmunajpierw-najlepszy. Pierwszyjestalgorytmem´slepym,adrugipoinformowanym.Jednakpor´ownanie kodutychalgorytm´owwskazuje,˙zes֒aniemalidentyczne.Obadokonuj֒a systematycznejekspansjigrafu,wybieraj֒aczlistyOpenw֒eze lonajni˙zszej warto´scioceny,anast ֒epnieprzenosz ֒agonalist ֒eClosedwykonuj ֒ac jednocze´sniejegoekspansj ֒e.Ekspansjapoleganawygenerowaniuwszystkich jegonast ֒epnik´ow,zainstalowaniuichnagrafieidodaniudolistyOpen. R´o˙znicapomi֒edzytymialgorytmamipolegawi֒ectylkonastosowaniur´o˙znych kryteri´owwyboruw֒ez ladoekspansji.Wpierwszymjestonodeterministyczne, awdrugimheurystyczne. Poniewa˙zobastalewybieraj֒anajlepszyw֒eze lzlistyOpen,masensjej implementacjajakolistysortowanej.Innymdobrymwyboremstrukturydanych dlalistyOpenjestkolejkapriorytetowa,pozwalaj ֒acana latwywyb´ornajlepszego kandydatazlisty,itanieoperacjedodawaniaiusuwaniazlisty(O(log(N))).

´ Sadotym,˙zeeporzkutyjalistyOpen,lelknieipealgoryyBFStmiFSDr´osia˙zn֒֒֒֒ pkonieclub.oczateklisty lynawezdaetywnodoszjanoweal֒֒֒ anszukiwwiegraf´o31zeprpriaMetoydzeszukiwan w(1959)znajdostanianajkr´otschryzyijk˙zeWartotudoda´c,Disiejealgorytmtn u.hwez l´owgrafnyWpewmsensietkicys´ogdndrsznagrafiejezegowez ladow֒֒ zaJednakijkstraSk lada loperacjena.DCaUstonr´ownowje˙znalgorytmowiy wanym,za ladopaanymdomieci.udowizbym,grafisko´nczone,ca lo´sciznanwym ֒ anszukiwwiegraf´o3przeyiaanwkiuszzeprdoetM2

(9)

K r´o tk ie p o d su m o w a n ie — p yt a n ia sp ra w d za j

֒

a ce

1.Czymr´o˙znisi ֒eprzeszukiwanier´ownokosztoweodprzeszukiwaniawszerz? 2.Czymr´o˙znisi֒eprzeszukiwaniewg l֒abodprzeszukiwanianajpierw-najlepszy? 3.Opiszbazowycyklpracyalgorytmuprzeszukiwaniagraf´ow. 4.OpiszoperacjenalistachOpeniClosedwr´o˙znychalgorytmach przeszukiwaniagraf´ow. Metodyprzeszukiwaniaprzeszukiwaniegraf´ow33 Metodyprzeszukiwaniaprzeszukiwaniegraf´ow34

M o d yfi k a cj a fu n k cj i w yb o ru — k o sz t p rz e b yt e j d ro g i

Rozwa˙zmynast֒epuj֒acedeterministycznefunkcjeoceny(w֒ez la): h*(n)–kosztkosztowo-optymalnejdrogizndocelu g*(n)–kosztkosztowo-optymalnejdrogizs0don Wtedy: f*(n):=g*(n)+h*(n) f*(n)–kosztkosztowo-optymalnejdrogizs0docelubiegn֒acejprzezn Znajomo´s´cfunkcjif*(n)pozwoli labyzawszewybiera´ctylkow֒ez lyle˙z֒acena optymalnejdrodzeodpocz֒atkudocelu.Podobniezreszt֒awystarczy labydo tegoznajomo´s´csamejfunkcjih*(n). Niestety,zwyklefunkcjeh*(n)anig*(n)nies֒adost֒epne.Jeste´smyzmuszeni pos lugiwa´csi֒eichprzybli˙zeniami,kt´orepozwalaj֒ajedynieaproksymowa´c wybieraniew la´sciwychw֒ez l´ow.Jednakgdypos lugujemysi֒eprzybli˙zeniami, wtedyprzeszukiwaniebazuj ֒acenafunkcjif*(n)niemusiju˙zdawa´ctakich samychwynik´owjaktoopieraj ֒acesi ֒enafunkcjih*(n). Metodyprzeszukiwaniaprzeszukiwaniegraf´owalgorytmA*35

M o d yfi k a cj a fu n k cj i w yb o ru — a lg o ry tm A *

Rozwa˙zmyzatemnast ֒epuj ֒aceheurystycznefunkcjeocenyw ֒ez la: h(n)–funkcjaheurystycznaaproksymujacah*(n) g(n)–kosztnajlepszejznanejdrogizs0don;zauwa˙zmyg(n)≥g*(n) f(n):=g(n)+h(n) Jakdzia latakokre´slonastrategia?Je´slifunkcjah(n)oszacowujeh*(n)bardzo precyzyjnie,toalgorytmdzia laniemalidealnie,izmierzaprostodocelu. Jednakgdyfunkcjah(n)pope lniab l ֒edy,inp.optymistycznieokre´slajakie´s stanyjakolepszeni˙zs ֒aonewrzeczywisto´sci,toalgorytmnajpierwpod ֒a˙za wichkierunku,zwabionynisk֒awarto´sci֒afunkcjih(n),gdyg(n)jestpomijalne. Pojakim´sczasie,takb l֒ednieoszacowane´scie˙zkiprzestaj֒aby´catrakcyjne,ze wzgl ֒edunanarastaj ֒acysk ladnikg(n),ialgorytmzkonieczno´sciprzerzucaswoje zainteresowanienainneatrakcyjnew ֒ez ly.Przytymnaatrakcyjno´s´cniema wp lywu,czys ֒aonebardziejczymniejoddaloneodstartu.Decyduje l ֒aczna ocena,czyprzezdanystanprowadzinajlepszadrogadorozwi֒azania. Algorytmprzeszukiwaniagraf´owstosuj֒acypowy˙zsz֒afunkcj֒ef(n)jakoswoj֒a strategi ֒enazywasi ֒ealgorytmemA*. Metodyprzeszukiwaniaprzeszukiwaniegraf´owalgorytmA*36

(10)

F u n k cj a o ce n y w a lg o ry tm ie A *

Sk ladnikih(n)ig(n)reprezentuj֒awfunkcjif(n)dwieprzeciwstawne tendencje:optymizm(h(n))ikonserwatyzm(g(n)).Mo˙zemyca lkiem swobodniesterowa´cstrategi ֒awjedn ֒alubdrug ֒astron ֒estosuj ֒acwz´or: f(n):=(1−k)∗g(n)+k∗h(n) Zwi ֒ekszaj ֒acwsp´o lczynnikwagikmo˙zemynadawa´cprzeszukiwaniucharakter bardziejagresywny(iryzykowny),gdynp.mamyzaufaniedofunkcjih(n) ichcemyposuwa´csi֒eszybkodoprzodu.zkoleizmniejszaj֒actenwsp´o lczynnik, zapewniamydok ladniejszebadanieprzestrzeni,posuwaj֒acsi֒ewolniejdoprzodu, alekompensuj֒acniekt´oreb l֒edyfunkcjih(n). Zauwa˙zmy,˙zewskrajnychprzypadkach,k=1dajeprzeszukiwanie najpierw-najlepszy,natomiastk=0dajeprzeszukiwanier´ownokosztowe. Jednaknajwi֒ekszywp lywnaprzebiegprzeszukiwaniamajako´s´cfunkcjih(n). Metodyprzeszukiwaniaprzeszukiwaniegraf´owalgorytmA*37

W la sn o´ sc i fu n k cj i h (n ) w a lg o ry tm ie A *

Heurytyczn֒afunkcj֒eocenyh(n)walgorytmieA*nazywamydopuszczaln ֒a (admissible)gdyograniczaonaoddo lurzeczywist֒afunkcj֒eh*(n),czyli ∀nh(n)≤h*(n).Dopuszczalno´s´coznaczachroniczneniedoszacowywanie przysz lychkoszt´ow,zatembywanazywaneoptymizmem.Mo˙znadowie´s´c,˙ze je´slitylkoistnieje´scie˙zkazw ֒ez lapocz ֒atkowegodocelowego,toA* zdopuszczaln ֒aheurystyk ֒azawszeznajdujeoptymaln ֒atak ֒a´scie˙zk ֒e. Czytrudnojestznale´z´ctak֒adopuszczaln֒aheurystyk֒e?Niekoniecznie,np. h(n)≡0rzeczywi´scieograniczazdo luh*(n),dladowolnegozagadnienia.Czy takatrywialnaheurystykamo˙zeby´cprzydatna?Odpowied´zbrzmi:raczej rzadko.Takialgorytmwybierazawszew ֒ez lyonajkr´otszejdrodzezs0,azatem jesttoalgorytmwszerz(og´olniej:r´ownegokosztu),kt´oryrzeczywi´sciezawsze znajdujeoptymaln ֒adrog ֒e,alesamowsobietojeszczeniejestwielkazaleta. Oczywi´scieimlepiejh(n)przybli˙zah*(n)tymefektywniejszeprzeszukiwanie. Je´slimamydwiefunkcjeh1(n),h2(n),takie˙zedlawszystkichw֒ez l´ow h1(n)<h2(n)≤h*(n)tomo˙znadowie´s´c,˙zeu˙zycieh1prowadzido rozwini ֒eciaconajmniejtylesamow ֒ez l´owcoh2. Metodyprzeszukiwaniaprzeszukiwaniegraf´owalgorytmA*38

W la sn o´ sc i fu n k cj i h (n ) w a lg o ry tm ie A * (c d .)

Dopuszczalno´s´cfunkcjih(n)jestciekaw ֒aw lasno´sci ֒a,kt´or ֒acz ֒estomo˙zna udowodni´cdlafunkcjibardzozgrubnieoszacowuj ֒acejh*(n),aleju˙z niekonieczniedlamozolnieopracowanejfunkcji,np.zwykorzystaniem numerycznegouczeniasi֒enaseriiprzyk lad´ow(cojaksi֒eoka˙zejestjedn֒a zmetodkonstrukcjitakichfunkcji). Jeszczemocniejsz֒aw lasno´sci֒aheurystycznejfunkcjiocenyh(n)jestjej sp´ojno´s´c(consistency),zwanar´ownie˙zograniczeniemmonotonicznym (monotonerestriction),lubpoprostunier´owno´sci ֒atr´ojk ֒ata: ∀ ni→njh(ni)−h(nj)≤c(ni,nj) Mo˙znadowie´s´c,˙zedlafunkcjih(n)spe lniaj֒acychograniczeniemonotoniczne algorytmA*zawszemaju˙zznalezion ֒aoptymaln ֒adrog ֒edoka˙zdegow ֒ez la,kt´ory decydujesi ֒erozwija´c.Wpraktycepozwalatoniecoupro´sci´cimplementacj ֒e algorytmuprzeszukiwania,je´sliwiemy,˙zefunkcjaocenyjestsp´ojna. Metodyprzeszukiwaniaprzeszukiwaniegraf´owalgorytmA*39

Z lo ˙zo n o´ s´c o b li cz e n io w a a lg o ry tm u A *

Dlawi֒ekszo´scipraktycznychproblem´owliczbaw֒ez l´owprzestrzenistan´owro´snie eksponencjalniezd lugo´sci ֒aposzukiwanegorozwi ֒azania.Oczywi´scie,efektywna heurystykamog labyzmniejszy´cz lo˙zono´s´cobliczeniow ֒aalgorytmu. Pytanie,kiedymogliby´smynatoliczy´c? Mo˙znadowie´s´c,˙zeabytoosi֒agn֒a´c,czyliabyalgorytmA*dzia la lwczasie wielomianowym,b l֒adwheurystycznejfunkcjiocenyniepowinienprzekroczy´c logarytmurzeczywistejd lugo´scirozwi֒azania: |h(n)−h (n)|≤O(logh (n)) Pytanie:czytakieheurystykis֒apraktyczne? Wpraktycznychprzypadkachniemo˙znaliczy´cnaznalezienietakdobrych heurystyk.ZatemalgorytmA*nale˙zyog´olnieuwa˙za´czaeksponencjalny.To jednakzwykleniejestjegonajwi֒eksz֒awad֒a.Podobniejakwszystkiealgorytmy przeszukiwanianagrafach,przechowujeonwszystkiew֒ez lygrafuwpami֒eci izregu lywyczerpujepami ֒e´ckomputeradu˙zowcze´sniejni˙zdost ֒epnyczas!! Metodyprzeszukiwaniaprzeszukiwaniegraf´owalgorytmA*40

(11)

M o d yfi k a cj e a lg o ry tm u A * z o g ra n ic zo n ym i w ym a g a n ia m i p a m i

֒

e ci o w ym i

Istniej֒amodyfikacjealgorytmuA*pozwalaj֒acepokona´cproblemy zzapotrzebowaniemnapami֒e´c. AlgorytmIDA*(Iterative-DeepeningA*)dodajestandardoweograniczenie g l֒eboko´sci.Poosi֒agni֒eciulimitug l֒eboko´sciprzeszukiwaniajestonzwi֒ekszany, przyjednoczesnymusuni֒eciuprzebadanychw֒ez l´owgrafuzpami֒eci. AlgorytmRBFS(RecursiveBest-FirstSearch)jestpodobnydoalgorytmuBT wwersjirekurencyjnej.Przeszukujeonrekurencyjniepojedyncz֒a´scie˙zk֒egrafu, pami֒etaj֒acjednocze´snienaka˙zdympoziomierekurencjinajlepsz֒aalternatyw֒e pojedynczegokroku.Kiedyaktualnieanalizowana´scie˙zkaokazujesi֒egorszaod tejalternatywy,algorytmwraca,kasuj֒acwynikiswojejpracy(leczwchodz֒ac wnowewywo laniarekurencyjne,ponowniezapami ֒etujenajlepsz ֒aalternatyw ֒e). AlgorytmSMA*(SimplifiedMemory-BoundedA*)dzia ladok ladniejakA*,ale tylkodomomentuzape lnieniaca lejdost֒epnejpami֒eci.Wtymmomencie, algorytmkontynuujeprac֒e,kasuj֒acjednaknajgorszeznanew֒ez lygrafuaby zrobi´cmiejscenanowoodkrywanestany.Jednakoszacowanieskasowanych w ֒ez l´owjestprzechowywanewichrodzicach,abymo˙zliweby loponowne podj֒ecieprzeszukiwaniawdanejcz֒e´scigrafu. Metodyprzeszukiwaniaprzeszukiwaniegraf´owalgorytmA*41

A lg o ry tm A * w p ra k ty ce

Dobrympytaniemjest,czyalgorytmyheurystycznegoprzeszukiwaniagraf´ow, takiejakA*,maj֒azastosowaniapraktycznew´swiecierzeczywistym. Odpowied´znatopytaniebrzmi:tak,wpewnychograniczonychdziedzinach,jak np.planowanieoptymalnejtrasyprzejazdurobota,alboznajdowanienajkr´otszej drogiwgrachkomputerowych. AlgorytmA*jestheurystyczn֒awersj֒aalgorytmuDijkstry(1959)obliczaj֒acego najkr´otszedrogiodustalonegow֒ez ladowszystkichpozosta lychw֒ez l´owgrafu. AlgorytmDijkstryjestr´ownie˙zstosowanywwieluzagadnieniachtechnicznych, jaknp.siecioweprotoko lytrasowania(routing),takiejakOSPF,oraz znajdowaniedroginamapiewnawigacjachGPS.Wtychostatnich zastosowaniach,zewzgl֒edunawielko´s´cgrafu,algorytmDijkstrymusiby´c wspomaganyprzezdodatkowetechniki.Mog֒atoby´cw la´snieheurystyki,albo wprowadzenieabstrakcjiihierarchii´scie˙zek.Jednakzewzgl֒edunakomercyjny aspekttejbardzorozwijaj֒acejsi֒etechnologii,technikinies֒azbytcz֒esto szczeg´o lowoopisywane. Metodyprzeszukiwaniaprzeszukiwaniegraf´owalgorytmA*42

Pr ze sz u k iw a n ie w st e cz

Przeszukiwanieprzestrzenistan´owmo˙znaprowadzi´cr´owniedobrzewprz´odjak iwstecz.Przeszukiwaniewsteczzaczynasi֒eodstanuko´ncowego(lubca lego zbiorustan´owko´ncowych),iwpierwszymkrokuznajdujezbi´orstan´ow poprzedzaj ֒acych,zkt´orychmo˙znaosi ֒agn ֒a´cjaki´sstanko´ncowywjednymkroku przezkt´ory´szdost֒epnychoperator´ow.Wkolejnychkrokachprocesjest kontynuowany. Przeszukiwaniewsteczmo˙zeby´cr´ownie latwewrealizacjiobliczeniowejjak przeszukiwaniewprz´od,albomo˙zeby´cutrudnionezewzgl ֒edunaw lasno´sci przyj ֒etejreprezentacji.Wtymdrugimprzypadkukoniecznamo˙zeby´czmiana reprezentacji. Kluczowajestjednak latwo´s´cpozyskaniaheurystyk.Wprzypadku przeszukiwaniawprz´odheurystykapowinnapodpowiada´cnam,jakiekroki nale˙zywybiera´c,abyskutecznieprzybli˙za´csi֒edocelu.Wniekt´orych zagadnieniachbrakjestw la´sciwychintuicji.Wprzypadkuprzeszukiwaniawstecz herustykapowinnapodpowiada´c,kt´orekrokiprzybli˙zaj ֒anasodnieznanego stanudocelowego,dodobrzeznanego´srodowiskastartowego.Czasem latwiej jestointuicjewspomagaj֒acepodejmowanietakichdecyzji. Metodyprzeszukiwaniaprzeszukiwaniegraf´owalgorytmA*43

Pr ze sz u k iw a n ie d w u k ie ru n k o w e

Ide֒eprzeszukiwaniawsteczmo˙zna latwouog´olni´cdoprzeszukiwania dwukierunkowego.Je´slireprezentacjanatopozwala,todlaczegonierobi´cna przemiankrok´owprzeszukiwaniawprz´odiwstecz.Jakwida´cnarysunkupo lewej,mog lobytoprzynie´s´coszcz ֒edno´scirz ֒edu50%(πr2≈2×π(r 2)2): Jednakjakpokazujerysunekpoprawej,zamiastzaoszcz֒edzi´c,mo˙znanad lo˙zy´c pracy.Przeszukiwaniedwukierunkowe latwoprzynosioszcz֒edno´sciwprzypadku algorytmuDijkstry(r´ownokosztowego),jednakposiadaj ֒acwyrafinowan ֒a, ukierunkowan ֒aheurystyk ֒e,lepiejjejzaufa´cipod ֒a˙za´czani ֒awjednymkierunku. Metodyprzeszukiwaniaprzeszukiwaniegraf´owalgorytmA*44

(12)

A p le t p rz e sz u k iw a n ia la b ir yn tu a lg o ry tm e m A *

Metodyprzeszukiwaniaprzeszukiwaniegraf´owalgorytmA*45

K r´o tk ie p o d su m o w a n ie — p yt a n ia sp ra w d za j

֒

a ce

1.Czymr´o˙znisi֒ealgorytmA*odprzeszukiwanianajpierw-najlepszy? Jakiskutekwywieratar´o˙znicanaprocesprzeszukiwania? 2.Cotos ֒adopuszczalneheurystykidlaalgorytmuA*? Jakiemaj ֒aznaczeniepraktyczne? 3.Algorytmheurystycznegoprzeszukiwaniagraf´owA*zdopuszczaln֒afunkcj֒a ocenyhgwarantujeznalezienieoptymalnegorozwi֒azaniaproblemu,oiletylko takieistniejenagrafie.Rozwa˙zponi˙zszemodyfikacjefunkcjifiodpowiedz, czyzachowuj֒aonepowy˙zsz֒aw lasno´s´calgorytmuA*.Odpowied´zuzasadnij. (a)wprowadzenieg´ornegoograniczenia(kresu)nawarto´s´cfunkcjih(n) (b)wprowadzeniedolnegoograniczenia(kresu)nawarto´s´cfunkcjig(n) Metodyprzeszukiwaniaprzeszukiwaniegraf´owalgorytmA*46

K o n st ru k cj a fu n k cj i h e u ry st yc zn yc h

Jakwog´olnymprzypadkuskonstruowa´cfunkcj֒eheurystyczn֒a,gdynieznamy dostateczniedobrzezagadnienia,˙zebyj ֒apoprostuwymy´sle´c? Eksperymentowa´c,eksperymentowa´c,eksperymentowa´c! Metodyprzeszukiwaniakonstrukcjafunkcjiheurystycznych47

Pr zy k la d : h e u ry st yk i d la 8 -p u zz le

Heurystyka1:policzelementynienaswoichmiejscach,funkcjah1(n)=W(n) Heurystyka2:dlawszystkichelement´ownienaswoichmiejscach,zsumuj odleg lo´sciodichw la´sciwychmiejsc(tzw.odleg lo´s´cManhattanu).Otrzymana liczbab ֒edzienapewnomniejszani˙zliczbaruch´owwka˙zdymrozwi ֒azaniu (dolneoszacowaniekoszturozwi ֒azania).Nazwijmyj ֒afunkcj ֒ah2(n)=P(n) Heurystyka3:h3(n)=P(n)+3∗S(n) gdziefunkcjaS(n)jestobliczanadlaelement´ownaobrze˙zuuk ladanki,bior֒ac0 dlaelement´ow,pokt´orychnast ֒epujeichw la´sciwyprawys ֒asiad,i2dlaka˙zdego elementu,pokt´orymnast ֒epujeniew la´sciwyelement.´ Srodekwnosi1,je´slijest. AniS(n)anih3(n)nies֒adolnymioszacowaniamirzeczywistejodleg lo´scido rozwi֒azaniauk ladanki,ajednakh3(n)jestjedn֒aznajlepszychfunkcjiocenydla uk ladanki8-puzzle,daj ֒ac ֒aniezwykleukierunkowaneiefektywneprzeszukiwanie. Zauwa˙zmy,˙zedolnymoszacowaniemodleg lo´sciodrozwi֒azania,zatem gwarantuj֒acymznalezienierozwi֒azaniaoptymalnego,jestfunkcjah0(n)≡0. Jesttoilustracjaog´olnegofaktu,˙zepoprawno´s´cformalnaniezawszeidzie wparzezdobr ֒aefektywno´sci ֒aobliczeniow ֒a. Metodyprzeszukiwaniakonstrukcjafunkcjiheurystycznych48

Cytaty

Powiązane dokumenty

Rysunek techniczny -wykład Geometryczna struktura powierzchni Tolerancja wymiarów liniowych PasowaniaPasowania Tolerancja geometryczna A.Korcala Literatura źródłowa:

Widoki –rzuty odzwierciedlające zewnętrzny zarys przedmiotu Widok kompletny -odzwierciedla całą powierzchnię przedmiotu... Widoki –rzuty odzwierciedlające zewnętrzny

Stein przy opisie Odry mówi wyraźnie (Descripcio, s. Pozostawia ona, tj. W ymienił tu Oleśnicę, Bierutów, Milicz, Trzebnicę. Niemcy przew ażają na zachód i

Również sekw encje tRNA archebakterii za sa ­ dniczo różnią się od sekw encji tRNA z innych organizm ów (np. trójka iJnpCm, zam iast trójki TtyC* w ramieniu

Opiekuj się pan mym chłopcem, daj mu możność pójść w życiu naprzód, jeżeli rząd nie zechce tego uczynić... Zaremba przedstaw ia rozprawę

Lecz w krótce istnienie siły życiowej coraz silniej staw ało się zachw ianem , a sztuczne w roku 1828 otrzym anie m ocznika przez W ohlera, pierw sza synteza

 Wszystkie drużyny uczestniczące w rundzie wiosennej sezonu 2020/21 w rozgrywkach Trampkarzy C2 (w sezonie 2020/21 rocznik 2007 i młodsi), tracą prawo uczestniczenia w nich

udając się na łow iska M orza Północnego w pełnej gotowości technicznej.. potrzeb rem