umelá inteligencia 1 hľadanie riešenia

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

Upload: caden

Post on 08-Jan-2016

50 views

Category:

Documents


5 download

DESCRIPTION

Umelá inteligencia 1 Hľadanie riešenia. Doc. Ing. Kristína Machová, PhD. 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 - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Umelá inteligencia 1 Hľadanie riešenia

Umelá inteligencia 1

Hľadanie riešenia

Doc. Ing. Kristína Machová, PhD.

Page 2: Umelá inteligencia 1 Hľadanie riešenia

Riešenie problémov

Osnova:

Algoritmy hľadania riešeniaStrom hľadaniaStratégie hľadaniaVlastnosti heuristíkNeinformované – slepé hľadaniePrehľadávanie do šírkyStratégia rovnomernej cenyPrehľadávanie do hĺbkyObojsmerné hľadanie

Page 3: Umelá inteligencia 1 Hľadanie riešenia

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

Page 4: Umelá inteligencia 1 Hľadanie riešenia

Hľadanie riešenia

Strom hľadaniaProces 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

STROMHĽADANIA

Page 5: Umelá inteligencia 1 Hľadanie riešenia

Hľadanie riešenia

Strom hľadaniaStavový 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 priestoruRodičovský uzolOperátor, ktorý sa aplikoval pri generovaní uzla Hĺbka uzla – počet uzlov na ceste z koreňaCena cesty

Page 6: Umelá inteligencia 1 Hľadanie riešenia

Hľadanie riešenia

Strom hľadaniaStav 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ť).

Page 7: Umelá inteligencia 1 Hľadanie riešenia

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.

Page 8: Umelá inteligencia 1 Hľadanie riešenia

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?).

Page 9: Umelá inteligencia 1 Hľadanie riešenia

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ĺbkyObojsmerné hľadanie

Page 10: Umelá inteligencia 1 Hľadanie riešenia

Riešenie problémov

Neinformované - slepé hľadanie

Page 11: Umelá inteligencia 1 Hľadanie riešenia

Riešenie problémov

Neinformované – slepé hľadanie

Page 12: Umelá inteligencia 1 Hľadanie riešenia

Riešenie problémov

Prehľadávanie do šírkyV 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.

Page 13: Umelá inteligencia 1 Hľadanie riešenia

Riešenie problémov

Prehľadávanie do šírky

Page 14: Umelá inteligencia 1 Hľadanie riešenia

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).

Page 15: Umelá inteligencia 1 Hľadanie riešenia

Riešenie problémov

Stratégia rovnomernej ceny

Page 16: Umelá inteligencia 1 Hľadanie riešenia

Riešenie problémov

Prehľadávanie do hĺbkyV 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.

Page 17: Umelá inteligencia 1 Hľadanie riešenia

Riešenie problémov

Prehľadávanie do hĺbky

Page 18: Umelá inteligencia 1 Hľadanie riešenia

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).

Page 19: Umelá inteligencia 1 Hľadanie riešenia

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.

Page 20: Umelá inteligencia 1 Hľadanie riešenia

Riešenie problémov

Obojsmerné hľadanie

Page 21: Umelá inteligencia 1 Hľadanie riešenia

Riešenie problémov

Literatúra

Pavol Návrat a kol.: Umelá inteligencia. STU v Bratislave, 2002, Bratislava, 393 strán, ISBN 80-227-1645-6.

Stuart Russel, Peter Norvig: Artificial Intelligence. A Modern Approach. Prentice Hall, 2003, USA, 1081 ps., ISBN 0-13-080302-2.

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.