neinformované procedúry
Post on 14-Jan-2016
34 Views
Preview:
DESCRIPTION
TRANSCRIPT
Neinformované procedúry
Horolezecký algoritmus Algoritmus lokálnej optimalizácie, pretože postupujeme
vždy v smere najväčšieho zlepšenia – v grafovej reči algoritmus expanduje vrchol, vyberie najlepšieho syna, ale nezachová linku na otca alebo ostatných synov – je to nevratná stratégia - najčastejšie skončí v lokálnom minime – ostatné stratégie sú vratné
Hľadanie do hĺbky Hľadanie s návratom (back-tracking) Hľadanie do šírky Neinformované hľadanie v A/ALEBO grafoch
Hľadanie do hĺbky - LIFO
Na expandovanie sa vyberá vrchol, ktorý má najväčšiu hĺbku
Aby bola jednoznačne riešená hĺbka, zoznam OTVOR je organizovaný ako zásobník
Ide o vratnú stratégiu – nemusí sa vrátiť Obyčajne sa pridáva ohraničenie hĺbky – ktoré
spôsobí návrat a výber ďalšieho vrcholu, rovnako sa vracia vtedy, ak je vrchol vyhodnotený ako slepá ulica (angl. dead-end)
ZATVOR – vždy obsahuje tzv. traverzný strom
Hľadanie do hĺbky - algoritmus 1. Daj vrchol s do OTVOR 2. Ak OTVOR je prázdny, skonči s neúspechom 3. Zober najvrchnejší vrchol z OTVOR a daj ho do
ZATVOR. Nazvi ho n. 4. Ak hĺbka n sa rovná ohraničeniu hĺbky, vyčisti ZATVOR
a choď na 2 5. Expanduj n a daj jeho synov do OTVOR spolu so
smerníkom na n. 6. Ak niektorý zo synov je koncový vrchol, skonči s
riešením, ktoré získaš pomocou smerníkov 7. Ak niektorý zo synov je slepá ulica, zober ho z OTVOR
a vyčisti ZATVOR 8. Choď na 2
Príklad 4 dám
Príslušný traverzný strom
V každom momente obsahuje
ZATVOR cestu od s do
expandovaného vrcholu Na grafoch sa uplatňuje
striktne LIFO
Hľadanie s návratom 1. Daj vrchol s do OTVOR 2. Ak OTVOR je prázdny, skonči s neúspechom 3. Zober najvrchnejší vrchol z OTVOR a nazvi ho n. 4. Ak hĺbka n sa rovná ohraničeniu hĺbky alebo ak všetky
hrany z n už boli preskúmané, zober n z OTVOR a choď na 2
5. Generuj nasledovníka n (pozdĺž nepreskúmanej hrany) a nazvi ho n´. Daj ho do OTVOR spolu so smerníkom na n. Označ hranu (n,n´) ako preskúmanú.
6. Ak n´ je koncový vrchol, skonči s riešením, ktoré získaš pomocou smerníkov
7. Ak n´ je slepá ulica, zober ho z OTVOR 8. Choď na 2
Hľadanie s návratom II
Jeho výhodou je pamäťová úspornosť Variácia sa volá back-marking – návrat o viac
úrovní naraz (príklad 4 dám) Pri optimalizačných
problémoch nájdené
riešenie umožňuje
vylúčiť zbytočne
dlhé vetvy (príklad
minim. sumy stĺpcov)
Hľadanie do šírky - FIFO
Vyberá na expandovanie vrchol, ktorý je najbližšie k počiatočnému vrcholu
Zoznam OTVOR je organizovaný ako rad Na rozdiel od hľadania do hĺbky je garantované, že
hľadanie do šírky nájde riešenie, ak existuje a dokonca nájde najkratšie riešenie
Cenou za to je to, že namiesto traverznej cesty treba držať v pamäti celú časť implicitného prehľadávacieho grafu – to ľudia nikdy nerobia
Prehľadávanie do šírky II
Hľadanie do šírky je výhodné,
ak riešenie je dosť plytko →
Stratégia rovnomernej ceny
Pri optimalizačných problémoch sa používa jeho modifikácia – stratégia rovnomernej ceny – na expandovanie sa vyberá vrchol, ktorý je na ceste s najmenšou cenou k počiatočnému vrcholu
Neinformované hľadanie v PR
Hľadanie do hĺbky a do šírky sa dajú ľahko adaptovať na hľadanie v A/ALEBO grafoch, no test na ukončenie nie je vlastnosťou jedného vrcholu
Po každom kroku generovania sa uplatňuje označovacia procedúra. Vrcholy označené ako „neriešiteľné“ sa ďalšej neuvažujú.
Tieto procedúry budeme rozoberať neskôr ako špeciálny prípad procedúr s heuristikami, kde heuristika bude potlačená´, teraz sa sústredíme teraz len na hľadanie s návratom
Hľadanie s návratom na A/ALEBO grafoch
top related