Download presentation
Presentation is loading. Please wait.
1
Umelá inteligencia 1 Heuristické prehľadávanie
Doc. Ing. Kristína Machová, PhD.
2
Heuristické prehľadávanie Osnova:
Hľadanie najskôr najlepší Lačné hľadanie Algoritmus A* Skutočná heuristická funkcia Odhad heuristickej funkcie Heuristiky zmenšujúce stavový priestor Orezaný stavový priestor
3
Heuristicképrehľadávanie Najskôr najlepší
Systematické prehľadanie stavového priestoru a testovanie, či nový stav nie je cieľový nie je efektívne. Lepšie je využiť doplňujúcu informáciu o probléme – heuristickú: 1. Tá môže byť reprezentovaná heuristickou funkciou, ktorá pre uzol vracia číslo, hodnotiace jeho sľubnosť. Heuristika vyjadruje cenu (doterajšieho) riešenia. Heuristika zahŕňa aj odhad ceny cesty do najbližšieho cieľového uzla. 2. Môže byť vložená do podmienok aplikovateľnosti jednotlivých akcií. Stratégia hľadania najskôr najlepší vyberá vždy uzol s najlepším hodnotením.
4
Heuristicképrehľadávanie Lačné hľadanie
Je stratégia, pri ktorej najlepší uzol je uzol s minimálnou odhadnutou cenou dosiahnutia cieľa (na obr.: h1(v,m) = |(v+m) – (0+2)| ). h(u)=odhad ceny najlacnejšej cesty z uzla u do cieľového uzla. h(c)=0 pre c – cieľový uzol (čím lacnejšia cesta, tým lepšie). Lačná stratégia siaha po najväčšom „súste“ v zmysle prekonania cesty do cieľového uzla. Pripomína hľadanie do hĺbky. Navracanie je vyvolané, keď na inej ceste existuje lepší uzol (bližšie k cieľu). Nie je úplné a neoptimalizuje riešenie. Časová a pamäťová zložitosť je O(bm) pre b faktor vetvenia a m maximálnu hĺbku priestoru hľadania.
5
Heuristické prehľadávanie Lačné hľadanie
6
Heuristické prehľadávanie Algoritmus A*
Stratégia rovnomernej ceny je na rozdiel od lačného hľadania úplná a optimalizuje cestu, keďže minimalizuje cenu cesty g(u) zo začiatočného uzla do uzla u. Avšak je neefektívna, keďže nevyužíva heuristickú informáciu o vzdialenosti k cieľu h(u). Najviac výhod zachováme, keď tieto stratégie skombinujeme do novej s heuristickou funkciou f(u)=g(u)+h(u). f(u)=odhad ceny najlacnejšej cesty vedúcej cez uzol u. A* algoritmus je hľadanie najskôr najlepší s heuristickou funkciou f(u) a prípustnou heuristikou h(u). Prípustná heuristika vždy určí cenu riešenia ako nižšiu, nanajvýš rovnajúcu sa skutočnej.
7
Heuristické prehľadávanie Algoritmus A*
Algoritmus A* je úplný a optimálny. Jeho nedostatkom je exponenciálna časová a pamäťová zložitosť. Veľké nároky na pamäť by bolo možné riešiť cyklicky sa prehlbujúcim sa hľadaním algoritmom A* .(IDA – Iterative Deeping A*). Diskusia: Ak netrváme na nájdení najlepšej cesty, dáme g(u)=0. Pôjde o lačné hľadanie. Ak nepoužijeme heuristiku a h(u)=0, tak sa bude hľadanie riadiť stratégiou rovnomernej cesty. Ak chceme nájsť cestu s najmenším počtom uzlov, stanovíme konštantnú cenu prechodu z uzla do jeho nasledovníka (najčastejšie 1). Pôjde o hľadanie do šírky.
8
Heuristické prehľadávanie Skutočná heuristická funkcia
Skúsme aplikovať tento algoritmus na problém „prelievania vody“. Jednoduchá heuristika by mohla byť založená na hľadaní riešenia s minimálnym množstvom prečerpanej vody. Stavový priestor tejto úlohy je malý, teda môžeme ho prehľadať úplne a vypočítať skutočné hodnoty heuristickej funkcie h(u). H(u) vyjadruje množstvo vody, ktoré je potrebné prečerpať na ceste cez uzol u. Ak aplikujeme algoritmus A* na úlohu prelievania vody a použijeme pritom skutočnú heuristickú funkciu hp(u) =hp(v,m), dostaneme nasledovný strom hľadania. Nie je expandovaný ani jeden uzol naviac (iba uzly najkratšej cesty k riešeniu).
9
Heuristické prehľadávanie Skutočná heuristická funkcia
10
Heuristické prehľadávanie Odhad heuristickej funkcie
Skutočné hodnoty heuristickej funkcie väčšinou nepoznáme. Preto ju musíme odhadnúť. Odhadnuté množstvo vody, ktoré je nutné prečerpať počas prechodu z počiatočného do cieľového stavu môže byť: ^h1(v,m) = |(v+m) – (v*+m*)| = |(v+m) – (0+2)| Táto heuristická funkcia a strom hľadania sú ilustrované nasledujúcim obrázkom. Vzhľadom k veľkosti tohto stromu hľadania, nie je heuristická funkcia ^h1(v,m) prínosom (príliš malé hodnoty v porovnaní so skutočnou heuristikou).
11
Heuristicképrehľadávanie Odhad heuristickej funkcie
12
Heuristické prehľadávanie Iný odhad heuristickej funkcie
Uvažujme ďalšie doplňujúce heuristické informácie o probléme: Ak je jedna z nádob prázdna, musíme dočerpať aspoň do troch litrov (obsah menšej nádoby). Výnimkou je stav (2,0). Ak sú obe nádoby plné, je potrebné aspoň menšiu vyprázdniť. Na základe týchto informácií dostaneme odhad ^h3(v,m). Heuristická funkcia bude mať tvar: f(v,m) = g(v,m) + h1(v,m) + h3(v,m) Heuristika a strom hľadania sú ilustrované nasledujúcim obrázkom. Táto heuristická funkcia je lepšie informovaná, lebo vedie k skráteniu prehľadávania.
13
Heuristické prehľadávanie Iný odhad heuristickej funkcie
14
Heuristické prehľadávanie Heuristiky zmenšujúce stavový priestor
15
Heuristické prehľadávanie Heuristiky zmenšujúce stavový priestor
Heuristické informácie môžeme použiť aj na orezanie stavového priestoru a ten prehľadať jednoduchším (slepým) algoritmom. Stavový priestor je možné zmenšiť tak, že heuristické informácie zahrnieme do podmienok aplikovateľnosti akcií (pravidiel). Nasleduje stavový priestor (červené spojnice) orezaný pomocou heuristík z predchádzajúceho obrázku. Napokon je uvedený strom hľadania generovaný z orezaného stavového priestoru prehľadávaním do šírky.
16
Heuristické prehľadávanie Orezaný stavový priestor
17
Heuristické prehľadávanie Orezaný stavový priestor
18
Heuristické prehľadávanie Literatúra
Zdeňek Zdráhal, Vladimír Mařík: Základní metody prohledávání stavového prostoru. Konferencia „Metody umělé inteligence a expertní systémy II.“ Praha, ČSVTS FEL ČVUT, 1986. Pavol Návrat a kol.: Umelá inteligencia. STU v Bratislave, 2002, Bratislava, 393 strán, ISBN Stuart Russel, Peter Norvig: Artificial Intelligence. A Modern Approach. Prentice Hall, 2003, USA, 1081 ps., ISBN
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.