1 / 13

Informované procedúry

Informované procedúry. Hľadanie najskôr najlepšieho Využitie heuristickej informácie v systematickom hľadaní – najprirodzenejšie miesto je pri rozhod-nutí, ktorý vrchol má byť expandovaný ako ďalší Hľadá sa najlepší vrchol spomedzi všetkých Winstonova metafora o horolezcoch

palti
Télécharger la présentation

Informované procedúry

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Informované procedúry • Hľadanie najskôr najlepšieho • Využitie heuristickej informácie v systematickom hľadaní – najprirodzenejšie miesto je pri rozhod-nutí, ktorý vrchol má byť expandovaný ako ďalší • Hľadá sa najlepší vrchol spomedzi všetkých • Winstonova metafora o horolezcoch • PS – hľadanie pomocou BF stratégie • PR – hľadanie pomocou GBF stratégie • Heuristická ohodnocovacia funkcia – f(n)

  2. BF - najskôr najlepšieho • 1. Daj vrchol s do OTVOR • 2. Ak OTVOR je prázdny, skonči s neúspechom • 3. Zober vrchol n z OTVOR, pre ktorý f(n) je minimálne a daj ho do ZATVOR. • 4. Expanduj n a daj jeho synov do OTVOR spolu so smerníkom na n. • 5. Ak niektorý zo synov je koncový vrchol, skonči s riešením, ktoré získaš pomocou smerníkov • 6. Pre každého syna n´ vrcholu n:

  3. BF – najskôr najlepšieho II • a. vypočítaj f(n´) • b. ak n´ nebol ani v OTVOR ani v ZATVOR, pridaj ho do OTVOR, spolu so smerníkom na n. • c. ak n´ už bol v OTVOR alebo ZATVOR, porovnaj vypočítanú hodnotu f(n´) s doterajšou hodnotou. Ak stará hodnota je menšia, zahoď novogenerova-ný vrchol. Ak nová hodnota je menšia, zameň nový vrchol za starý (t.j. smerník n´ ukazuje teraz na n a nie na doterajšieho otca). Ak vrchol bol v ZATVOR, daj ho do OTVOR. • 7. Choď na 2.

  4. BF – najskôr najlepšieho III • Traverzný strom T (alebo strom hľadania) • Niekedy sa vynecháva test na duplicitu v kroku 6 • Niekedy sa vrchol n´ znovu neotvára, ale sa presmerujú smerníky a poposúvajú sa nové hodnoty na jeho nasledovníkov (ak treba) • Pre A/ALEBO grafy je to trochu zložitejšie (GBF) • V rozhodnutí čo znamená najlepší • V rozhodnutí čo znamená kandidát • Kandidát – báza riešenia • Dve heuristické funkcie – f1a f2

  5. GBF – báza riešenia • Graf G a G´ (explicitná časť implicitného grafu G) • O koncových vrcholoch G´, ktoré nie sú označené ako „neriešiteľný“, uvažujeme, že sú „vyriešený“ • Báza riešenia je ľubovoľný podgraf G´´ grafu G´: • 1. G´´ obsahuje počiatočný vrchol s. • 2. Ak expandovaný vrchol n typu A je v G´´, tak aj všetci jeho synovia sú v G´´ • 3. Ak expandovaný vrchol n typu ALEBO je v G´´, tak práve jeden jeho syn je v G´´ • 4. žiadny z vrcholov grafu G´´ nie je označený ako „neriešiteľný“

  6. GBF – heuristické funkcie • f1 – grafová ohodnocovacia funkcia – ohodnocuje kvalitu jednotlivých báz riešenia • f2 – vrcholová ohodnocovacia funkcia – ohodnocuje, ktorý vrchol z vybranej bázy riešenia má byť expandovaný • Pozornosť sa sústreďuje na f1, kým funkcia f2 sa vyberá často ad hoc

  7. GBF – všeobecná BF • 1. Daj vrchol s do OTVOR • 2. Z explicitného grafu G´ vypočítaj najsľubnejšiu bázu riešenia G0s použitím f1a heuristiky h z kroku 4 • 3. S použitím f2 vyber vrchol n, ktorý je v OTVOR a v G0, zober ho z OTVOR a daj ho do ZATVOR. • 4. Expanduj n a daj jeho synov do OTVOR a do grafu G´ spolu so smerníkom na n. Pre každého syna n´ vypočítaj heuristickú informáciu h, ktorá charakterizuje množinu báz riešení s koreňom v n´

  8. GBF – všeobecná BF II • 5. Ak niektorý z n´ je terminálny, tak: • a. označ n´ ako „vyriešený“ ak je to koncový vrchol, alebo ako „neriešiteľný“, ak nie je • b. ak vrchol n´ indukuje označenie svojich predkov, označ ich pomocou označovacej procedúry • c. ak bol označený počiatočný vrchol s ako „vyriešený“, skonči s G0 ako s grafom riešenia. • d. ak bol označený počiatočný vrchol s ako „neriešiteľný“, skonči s neúspechom. • e. odstráň z G´ všetky vrcholy, ktoré nemôžu ovplyvniť označenie s. • 6. Choď na 2.

  9. Označovacia procedúra • 1. terminálny vrchol je označený ako „vyriešený“, ak je koncový (predstavuje elementárny problém), alebo ako „neriešiteľný“ (ak sa už nedá redukovať) • 2. neterminálny vrchol typu A je označený ako „neriešiteľný“, ak aspoň jeden z jeho synov je taký, a označený ako „riešiteľný“ , ak všetci synovia sú takí • 3. neterminálny vrchol typu ALEBO je označený ako „riešiteľný“, ak aspoň jeden jeho syn je taký a označený ako „neriešiteľný“, ak všetci jeho synovia sú takí

  10. Heuristická informácia h • V kroku 4 algoritmu sa hovorí o informácii chara-kterizujúcej množinu báz riešení s koreňom v n´ • To sú podgrafy g(n´) graf G, pre ktoré: • 1. n´ je koreňom g(n´) • 2. n´ je označený ako „riešiteľný“, ak použijeme označovaciu procedúru na g(n´) • Ale podgraf g(n´) nie je k dispozícii a možno ho len ohodnotiť heuristickou informáciou, ktorá ohodnotí zložitosť nájdenia riešenia vychádzajúceho z n´ a jeho kvalitu, keď bude nájdené

  11. Príklad použitia GBF • Princíp „malé je rýchle“ a „spätné šírenie hodnoty“

  12. Podmienky optimálnosti GBF* • Pri GBF sa môže stať, že algoritmus skončí úspešne, ale riešenie nebude optimálne • Aby sme našli optimálne riešenie, modifikujeme GBF na GBF*, tak že: • Budeme používať také f1, ktorého odhady musia byť optimistické, t.j. podceňujúce náklady, resp. preceňujúce prínosy • Vynecháme krok 5.c algoritmu GBF a nahradíme krok 2: • 2. Z explicitného grafu G´ vypočítaj najsľubnejšiu bázu riešenia G0s použitím f1a heuristiky h z kroku 4; ak všetky listy G0 sú označené ako „riešiteľný“, skonči s G0 ako s grafom riešenia

  13. Vzťahy medzi GBF a BF • Ak by GBF pracoval na grafe G, v ktorom by boli iba vrcholy typu ALEBO, pripomínal by BF • Rozdiel je v tom, že BF, že robí nevratné rozhod-nutie tam, kde zistí, že vrchol má dvoch otcov, to sa v A/ALEBO grafoch nedá, lebo tadiaľ môže ísť riešenie • Podobne ako pri GBF môžeme získať z BF algoritmus BF* tak, že urobíme oneskorené ukon-čenie, t.j. ukončíme algoritmus až vtedy, ak skutoč-ne vyberie koncový vrchol na expandovanie

More Related