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. Metodyprzeszukiwania—motywacja1 Og´olnie,jestszeregmo˙zliwo´sci,ka˙zdaznichwymagastarannegorozwa˙zenia. Prowadzitodoprzeszukiwania. Przeszukiwaniejestelementemsk ladowymwszystkichmetodsztucznej inteligencji,izdolno´s´cskutecznegoprzeszukiwaniawog´olezdajesi ֒eby´c inherentnymelementeminteligencji. Metodyprzeszukiwania—motywacja2Re 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. Metodyprzeszukiwania—reprezentacjawprzestrzenistan´ow3Og ´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. Metodyprzeszukiwania—reprezentacjawprzestrzenistan´ow4S 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). Metodyprzeszukiwania—podstawowestrategie5Pr 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. Metodyprzeszukiwania—podstawowestrategie6Z 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. Metodyprzeszukiwania—podstawowestrategie7Pr 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. Metodyprzeszukiwania—podstawowestrategie8K 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? Metodyprzeszukiwania—podstawowestrategie9 Metodyprzeszukiwania—podstawowestrategie10Pr 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. Metodyprzeszukiwania—przeszukiwanieznawracaniem11Pr 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. Metodyprzeszukiwania—przeszukiwanieznawracaniem12W 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. Metodyprzeszukiwania—przeszukiwanieznawracaniem13Og 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. Metodyprzeszukiwania—przeszukiwanieznawracaniem14He 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. Metodyprzeszukiwania—heurystycznefunkcjeocenystany15M 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 stateobjective function state space
global maximum local maximum "flat" local maximum
shoulder Metodyprzeszukiwania—metodygradientowe16
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. Metodyprzeszukiwania—metodygradientowe17 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. Metodyprzeszukiwania—metodygradientowe18K 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? Metodyprzeszukiwania—metodygradientowe19 Metodyprzeszukiwania—metodygradientowe20Pr 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. Metodyprzeszukiwania—przeszukiwaniegraf´ow21Pr 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
Metodyprzeszukiwania—przeszukiwaniegraf´ow22Pr 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.) Metodyprzeszukiwania—przeszukiwaniegraf´ow23Pr 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. Metodyprzeszukiwania—przeszukiwaniegraf´ow24Pr 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. Metodyprzeszukiwania—przeszukiwaniegraf´ow25Pr 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. Metodyprzeszukiwania—przeszukiwaniegraf´ow26Pr 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 333SG55 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֒acprzezC∗kosztoptymalnego rozwi֒azania,mo˙znaotrzyma´cz lo˙zono´s´cnajgorszegoprzypadku,zar´owno czasow֒ajakipami֒eciow֒a,jakoO(b1+⌊C∗/ǫ⌋ ). Wprzypadkur´ownychkoszt´owformu lataredukujesi ֒edoO(bd). Metodyprzeszukiwania—przeszukiwaniegraf´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 SG55 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. Metodyprzeszukiwania—przeszukiwaniegraf´ow28
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. Metodyprzeszukiwania—przeszukiwaniegraf´ow29Na 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. Metodyprzeszukiwania—przeszukiwaniegraf´ow30Pr 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´o31ze—prpriaMetoydzeszukiwan 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´o3przey—iaanwkiuszzeprdoetM2