neinformované procedúry

12
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

Upload: tender

Post on 14-Jan-2016

34 views

Category:

Documents


2 download

DESCRIPTION

Neinformované procedúry. Horolezecký algoritmus - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Neinformované procedúry

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

Page 2: Neinformované procedúry

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

Page 3: Neinformované procedúry

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

Page 4: Neinformované procedúry

Príklad 4 dám

Page 5: Neinformované procedúry

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

Page 6: Neinformované procedúry

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

Page 7: Neinformované procedúry

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)

Page 8: Neinformované procedúry

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

Page 9: Neinformované procedúry

Prehľadávanie do šírky II

Hľadanie do šírky je výhodné,

ak riešenie je dosť plytko →

Page 10: Neinformované procedúry

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

Page 11: Neinformované procedúry

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

Page 12: Neinformované procedúry

Hľadanie s návratom na A/ALEBO grafoch