Presentation is loading. Please wait.

Presentation is loading. Please wait.

Umelá inteligencia 1 Hľadanie riešenia

Similar presentations


Presentation on theme: "Umelá inteligencia 1 Hľadanie riešenia"— Presentation transcript:

1 Umelá inteligencia 1 Hľadanie riešenia
Doc. Ing. Kristína Machová, PhD.

2 Riešenie problémov Osnova:
Algoritmy hľadania riešenia Strom hľadania Stratégie hľadania Vlastnosti heuristík Neinformované – slepé hľadanie Prehľadávanie do šírky Stratégia rovnomernej ceny Prehľadávanie do hĺbky Obojsmerné hľadanie

3 Hľadanie riešenia Algoritmy hľadania riešenia
Hľadanie riešenia je prístup, pri ktorom nevychádzame z algoritmu riešenia problému. Problém nie je algoritmicky riešiteľný. Riešime meta – problém, ako riešenie hľadať. Algoritmy hľadania riešenia sú výpočtovo zložité (exponenciálne): Slabé metódy sú všeobecné algoritmy so slabou znalosťou problémovej oblasti. Rozvitie stavu. Hľadáme v stavovom priestore. Organizácia hľadania: V každom kroku sa aplikuje jeden operátor a stav sa rozvinie čiastočne. V jednom kroku sa aplikuje každý aplikovateľný operátor a stav sa rozvinie úplne. Dostaneme viac nových stavov. Stratégia hľadania určí výber nasledujúceho stavu. Strom hľadania

4 Hľadanie riešenia Strom hľadania
Proces hľadania riešenia prebieha v stavovom priestore. Hľadaním vytvárame strom hľadania, ktorý je časťou stavového priestoru. Koreň stromu je uzol reprezentujúci začiatočný stav. Listy stromu – stavy, ktoré nemajú nasledovníky (resp. zatiaľ narozvité). STAVOVÝ PRIESTOR STROM HĽADANIA

5 Hľadanie riešenia Strom hľadania
Stavový priestor a strom hľadania sa rôznia: Stavový priestor je daný implicitne. Strom hľadania sa získava dodatočne prehľadávaním stavového priestoru. Priestor stavov je často konečný. Strom hľadania je často nekonečný (operátor generuje predchodcu – šedý list v obrázku). Potrebujeme vhodnú reprezentáciu uzlov v strome hľadania. Tá by mala obsahovať: Zodpovedajúci stav zo stavového priestoru Rodičovský uzol Operátor, ktorý sa aplikoval pri generovaní uzla Hĺbka uzla – počet uzlov na ceste z koreňa Cena cesty

6 Hľadanie riešenia Strom hľadania
Stav a uzol sa rôznia: Stav je konfigurácia opisujúca svet. Uzol je údajová štruktúra. Uzly majú hĺbku a rodičov. Stavy nemajú. Dva rôzne uzly môžu reprezentovať ten istý stav (dve rôzne postupnosti akcií). Front je množina uzlov, ktoré reprezentujú stavy vzniknuté rozvitím aktuálneho stavu - množina uzlov, ktoré vznikli po expanzii aktuálneho uzla. Strom hľadania vyjadruje spôsob hľadania riešenia pomocou daného algoritmu, teda jeho stratégiu hľadania. Efektívnosť tejto stratégie je daná kritériami efektívnosti algoritmu (úplnosť, optimálnosť, časová zložitosť, pamäťová zložitosť).

7 Hľadanie riešenia Stratégie hľadania
Stratégií hľadania je mnoho. V princípe ich delíme na: Neinformované hľadanie – slepé hľadanie (nemáme žiadnu doplňujúcu informáciu o probléme). Informované hľadanie – heuristické hľadanie. Dodatočná informácia môže zvýšiť efektívnosť hľadania (znížiť časovú alebo pamäťovú zložitosť) za cenu nedodržania iných kritérií (úplnosti a optimálnosti). Heuristika je informácia, pomocou ktorej sa rozhodujeme medzi alternatívami konania. Vyberáme takú, ktorá asi pravdepodobne povedie rýchlo k cieľu.

8 Riešenie problémov Niektoré vlastnosti heuristík
Nemusí zaručovať optimálnosť. Vráti dobré aj keď nie vždy optimálne riešenie v čase lepšom ako exponenciálnom. Napríklad, heuristika najbližšieho suseda pri probléme obchodného cestujúceho) Nemusí zaručovať úplnosť. Môže sa prehliadnuť nejaké riešenie, aj výborne a dokonca aj optimálne. Heuristiky si môžu navzájom protirečiť. Sú spravidla založené na individuálnych skúsenostiach. Väčšinou sa vzťahujú na špecifický problém. Rôzne problémy vyžadujú rôzne stratégie – heuristiky a to dostatočne špecifické (nie - rob najprv ľahšie veci, čo je ľahšie?).

9 Riešenie problémov Neinformované - slepé hľadanie
Neinformované hľadanie, teda slepé prehľadávanie stavového priestoru sa používa iba pri najjednoduchších problémoch. Základné vlastnosti tejto stratégie: Musí viesť k prehľadávaniu, spôsobovať pohyb (príklad: prelievanie vody, použi vždy prvé pravidlo, zo stavu (0,0) vedie k opakovaniu aplikácie 3. a 1. pravidla). Musí byť systematická. Nevynechá žiadny uzol a žiadny nevyberie dvakrát (náhodný výber, väčšie množstvo prečerpanej vody). Základné stratégie neinformovaného hľadania: Prehľadávanie do šírky Prehľadávanie do hĺbky Obojsmerné hľadanie

10 Riešenie problémov Neinformované - slepé hľadanie

11 Riešenie problémov Neinformované – slepé hľadanie

12 Riešenie problémov Prehľadávanie do šírky
V strome hľadania sa expandujú najprv všetky uzly v hĺbke d a až potom všetky uzly v hĺbke d+1. Táto stratégia je: Systematická Úplná Optimálna (prípustná) Výpočtová zložitosť je exponenciálna (pamäť aj čas) v závislosti od hĺbky hľadania O(bd) (najmenej zložité problémy, pre veľké stavové priestory úloha kombinatoricky exploduje). Pri prehľadávaní sa expanduje najviac: 1+b+b2+…+bd uzlov. Kde b je faktor vetvenia, teda každý uzol sa rozvinie (expanduje) do b uzlov.

13 Riešenie problémov Prehľadávanie do šírky

14 Riešenie problémov Stratégia rovnomernej ceny
Modifikáciou prehľadávania do šírky je takzvaná stratégia rovnomernej ceny teda “uniform – cost search“: Na expanziu sa vyberie vždy uzol, ktorý je na najlacnejšej ceste (nie uzol na najplytšej úrovni). Najlacnejšia cesta je cesta s najmenšou cenou cesty g(u) do uzla u. Stratégia rovnomernej ceny je zovšeobecnením stratégie prehľadávania do šírky. Pretože stratégia hľadania do šírky je stratégiou rovnomernej ceny, ak g(u) =HĹBKA(u).

15 Riešenie problémov Stratégia rovnomernej ceny

16 Riešenie problémov Prehľadávanie do hĺbky
V strome hľadania sa najprv expanduje uzol, ktorého hĺbka je najväčšia. Keď sa narazí na uzol bez nasledovníkov, dôjde k navracaniu (back tracking), teda hľadanie sa vráti k expanzii uzlov na plytších úrovniach. Táto stratégia: Nie je úplná, nezaručuje nájdenie riešenia (pri problémoch s príliš hlbokými stromami riešenia sa hľadanie môže zamotať). Nie je optimálna (hľadanie sa nemusí orientovať smerom k optimálnemu riešeniu). Časová zložitosť je exponenciálna v závislosti od hĺbky hľadania O(bd). Avšak, v praxi je prehľadávanie do hĺbky často rýchlejšie ako do šírky a to hlavne pri problémoch, ktoré majú veľa riešení. Pamäťová zložitosť je lineárna - b*d: Ak je riešenie v liste, pamätáme si cestu do listu a súrodenecké uzly uzlov na ceste.

17 Riešenie problémov Prehľadávanie do hĺbky

18 Riešenie problémov Prehľadávanie do hĺbky
Existuje stratégia, ktorá zamedzí, aby riešenie uviazlo hlboko v strome hľadania – ohraničené prehľadávanie do hĺbky. Táto stratégia: Stanoví hraničnú hĺbku, do ktorej sa bude hľadať (napr. 5, max. 5 krát sa expandujú uzly bez navracania). Je citlivá na vhodné stanovenie hĺbky hľadania (aby existovalo aspoň jedno riešenie do tejto hĺbky). Ďalšia stratégia je – cyklicky sa prehlbujúce riešenie: Pamäťová zložitosť je nízka (ako pri prehľadávaní do šírky). Je úplné a optimalizuje riešenie (ako prehľadávanie do šírky).

19 Riešenie problémov Obojsmerné hľadanie
Táto stratégia sa môže použiť iba keď máme problém, ktorého riešením je cesta. Cieľový stav je známy. Potom je možné pristúpiť k paralelnému hľadaniu aj od cieľového stavu k počiatočnému. Musí byť splnená podmienka existencie inverzných operátorov. Stratégia obojsmerného hľadania: Od počiatočného stavu bude hľadanie postupovať vpred (operátory) smerom k cieľovému stavu – priame hľadanie. Od cieľového stavu bude hľadanie postupovať vzad (inverzné operátory) smerom k počiatočnému stavu – spätné hľadanie. Ak oba procesy vygenerujú ten istý stav, nájde sa cesta spájajúca počiatočný stav s cieľovým.

20 Riešenie problémov Obojsmerné hľadanie

21 Riešenie problémov Literatúra
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 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.


Download ppt "Umelá inteligencia 1 Hľadanie riešenia"

Similar presentations


Ads by Google