120 likes | 277 Views
Priestor stavov. Aby metóda hľadania fungovala, potrebujeme: 1. symbolovú štruktúru (nazývanú kód alebo databáza ), ktorá reprezentuje potenciálne riešenia (podmnožiny) 2. množinu operátorov , ktoré modifikujú symboly v databáze, aby vytvorili jemnejšie množiny potenciálnych rešení
E N D
Priestor stavov • Aby metóda hľadania fungovala, potrebujeme: • 1. symbolovú štruktúru (nazývanú kód alebo databáza), ktorá reprezentuje potenciálne riešenia (podmnožiny) • 2. množinu operátorov, ktoré modifikujú symboly v databáze, aby vytvorili jemnejšie množiny potenciálnych rešení • 3. procedúru hľadania alebo kontrolnú stratégiu, ktorá rozhodne v každom čase, ktorá operácia sa má uplatniť na databázu • Položíme dodatočné požiadavky na formát kódu • Príklad Hry 8 – s, hore, vľavo, hore, vpravo – nehovorí nič o zostávajúcej časti problému
Priestor stavov II • Požadujeme, aby v kóde pre kandidátsku podmnožinu bola aj explicitná informácia o zostávajúcom podprobléme, ktorý prezentuje – takýto kód sa nazýva stav. • Množina všetkých podproblémov, ktoré možno získať z počiatočnej pozície uplatnením operátorov sa nazýva priestor stavov. • Graf priestoru stavov – vrcholy reprezentujú stavy a hrany reprezentujú operátory • Príklad – problém obchod. cestujúceho A→B→C→D→{E,F}→A vs. A→C→B→D→{E,F}→A
Priestor redukcií • Niektoré problémy (váženie mincí) sa lepšie reprezentujú ako redukcia počiatočného problému na podproblémy a postupne až na elementárne podproblémy, ktoré vieme riešiť – pričom niektoré podmnožiny sú konjunkciou viacerých podproblé-mov a iné alternatívou • Graf priestoru redukcií – dva druhy spojení – konjunktívne a alternatívne – tzv. A/ALEBO graf • Riešením nie je cesta, ako v priestore stavov, ale podgraf, ktorý sa nazýva graf riešenia
Graf riešenia v PR • Graf riešenia (je podgrafom priestoru redukcií): • Obsahuje počiatočný vrchol • Všetky jeho terminálne vrcholy (vrcholy bez nasledovní-kov) sú elementárne problémy, ktoré vieme riešiť • Ak obsahuje vrchol typu A, obsahuje aj všetky hrany vedúce z tohto vrcholu. • Priestor redukcií, resp. stavov býva príliš veľký, preto ho považujeme za implicitný a stratégia postupne odhaľuje jeho potrebné časti a testuje sa, či už sme nenašli riešenie (pri PR sa to rieši označovacou procedúrou)
Príklad grafu riešenia • Dve riešenia (b) a (c) pre jeden problém (a) – poznámka: Každý vrchol je len jedného typu
Označovacia procedúra • Vrchol sa považuje za „vyriešený“, ak: • Je to terminálny vrchol, a to je elementárny problém • Ak je to neterminálny vrchol typu ALEBO a aspoň jedna jeho vychádzajúca hrana ukazuje na vrchol „vyriešený“ • Ak je to neterminálny vrchol typu A a všetky jeho vychádzajúce hrany ukazujú na vrcholy „vyriešený“ • Podobne definujeme označovaciu procedúru pre označenie vrcholu ako „neriešiteľný“, kde si vrcholy typu A a ALEBO vymenia v definícii miesto • Ktorá reprezentácia je vhodnejšia?
Výber reprezentácie • PS – vtedy, keď riešením je cesta (podmienkové problémy, optimalizačné problémy) • PR – vtedy, keď riešením je podgraf (problémy, v ktorých sa hľadá stratégia, reakcia na vonkajšie podnety, alebo pri hre, kde podnetom je súper) • Príklady problémov: • Symbolické integrovanie • Dokazovanie teorém • Hra 8 • Hanojské veže
Príklad Hanojských veží • Problém sa dá reprezentovať v PS, ak špecifikuje-me operátory pre každú konfiguráciu diskov • Dá sa reprezentovať aj v PR, pričom problém bude reprezentovaný podcieľmi, ktoré sa majú dosiahnuť (majú v sebe lineárnu hierarchiu – ak je vyriešená podmnožina cieľov Dk, Dk+1, ..., Dn, potom riešenie pre ciele D1, D2, ..., Dk-1 nenaruší už dosiahnuté)
Vzťah oboch reprezentácií • Každý problém z PS možno reprezentovať ako problém v PR, naopak zjednotením hrán vychádzajúcich z vrcholov typu A možno zmeniť A/ALEBO graf na graf priestoru stavov. • Neskôr si ukážeme praktické využitie takejto vzájomnej zámeny a dôsledky, ktoré z nej vyplývajú • Už poznáme základné reprezentácie, ďalej budeme skúmať stratégie riešenia, t.j. základné heuristické procedúry
Základné heuristické procedúry • Označenia: • Pojmy vrchol, hrana, počiatočný vrchol, otec, syn, nasledovník, strom, list, • Ohodnotený graf (ohodnotené sú hrany, reprezentujúce cenu), cesta, predok, • Základné kroky v procedúrach hľadania sú: generovanie vrcholu, syn bol generovaný, otec bol preskúmaný • Expandovanie vrcholu je generovanie všetkých jeho synov • Smerník ukazujúci zo syna na otca
Základné procedúry II • Označenia II: • V každom momente graf, ktorý skúmame pozostáva zo štyroch množín: • 1. vrcholy, ktoré boli expandované • 2. vrcholy, ktoré boli preskúmané, ale nie expandované • 3. vrcholy, ktoré boli generované, ale nie preskúmané • 4. vrcholy, ktoré stále neboli generované • Vrcholy z prvej skupiny sa nazývajú ZATVORENÉ a vrcholy v tretej skupiny OTVORENÉ • Heuristické procedúry hľadania delíme na vratné a nevratné, na neinformované (slepé) a informované