300 likes | 896 Views
Umel á inteligencia Rezolvencia. Mgr. Ján Grman Jan.Grman @stuba.sk , KMER www.ui.kmer.elf.stuba.sk. Rezolvencia. Pripomenutie z ákladného pravidla odvodzovania faktov je možné prepísať na. Všeobecné pravidlo rezolvencie. Rezolvencia Unifikácia Platí. Normálne tvary formúl.
E N D
Umelá inteligenciaRezolvencia Mgr. Ján Grman Jan.Grman@stuba.sk, KMER www.ui.kmer.elf.stuba.sk
Rezolvencia • Pripomenutie základného pravidla odvodzovania faktov je možné prepísať na
Všeobecné pravidlo rezolvencie • Rezolvencia • Unifikácia • Platí
Normálne tvary formúl • DNF – disjunktívny normálny tvar • CNF – konjuktívny normálny tvar • DNF • Každá formula sa dá prepísať na ekvivalentnú ktorá je KONJUKCIOU a jej členmi sú len DISJUNKCIE
Normálne tvary a báza znalostí • formula • báza znalostí • obsahuje formuly v disjunktnom tvare a predpokladá sa že sú spojené konjukciou
Rezolvenčný dôkaz • Dôkaz sporom • Cieľom je ukázať SPORNOSŤ bázy a odvodiť prázdnu klauzulu • Klauzulárny tvar BP: • v BP sú len disjunkcie, literály, atómy alebo ich negácie • všetky premenné sú kvantifikované všeobecne • medzi klauzulami je implicitne konjukcia
Postup pri prepisovaní formuly do klauzulárneho tvaru • Postup pri prepisovaní formuly do klauzulárneho tvaru opíšeme ako postupnosť krokov. Symboly F, G, H budú označovať ľubovoľné formuly. Výrazy F(x), G(x) označujú formuly obsahujúce voľnú premennú x. Výraz H{x} označuje formulu, ktorá neobsahuje premennú x. • Vstupom do procesu prepisovania formuly je formula, ktorá neobsahuje voľné premenné. • Krok 1: Odstránenie ekvivalencie • Každá ekvivalencia sa dá nahradiť konjunkciou dvoch implikácií, ktoré sa vyjadria priamo pomocou negácie a dizjunkcie. Na formulu sa aplikuje, ak a pokiaľ sa dá, pravidlo:
Postup pri prepisovaní formuly do klauzulárneho tvaru • Krok 2: Odstránenie implikácie • Každá implikácia sa dá vyjadriť pomocou negácie a dizjunkcie. Na formulu sa aplikuje, ak sa dá, pravidlo: • Krok 3: Zmenšenie rozsahu operátorov negácie Negácia zloženého podvýrazu sa dá prepísať na negácie atómov. Na formulu sa aplikujú, ak a pokiaľ sa dajú, pravidlá:
Postup pri prepisovaní formuly do klauzulárneho tvaru • Krok 4: Premenovanie premenných • Tak aby sa každý kvantifikátor viazal na inú premennú • Krok 5: Odstránenie existenčných kvantifikátorov • Skolemove funktory – substitujúce existenčný kvalifikátor – vyjadrujúce závislosť existencie entity od nadradených všeobecne kvantifikovaných premenných
Postup pri prepisovaní formuly do klauzulárneho tvaru • Krok 6: Presun kvantifikátorov doľava • Krok 7: Odstránenie prefixu
Postup pri prepisovaní formuly do klauzulárneho tvaru • Krok 8: Prepis do konjuktívneho tvaru • Krok 9: Zápis konjunkcie klauzúl ako množiny
Rezolvenčné odvodzovanie • Majme axiómy F1,F2, ..., Fn a dokazujeme P • Dokazujeme sporom splniteľnosť BP:={F1,F2, ..., Fn, P} • Krok1: prepis formúl do klauzulárneho tvaru • Krok2: Rezolvovane • výber dvoch klauzúl ktoré možno rezolvovať • ak potrebné – unifikácia klauzúl • odvodenie rezolventy • pridanie rezolventy do BP
Rezolvenčné odvodzovanie • Podmienky ukončenia • Rezolventou je prázdna klauzula – dôkaz P sporom • Neexistujú klauzuly ktoré možno rezolvovať – dôkaz že P nie je teoréma • Vyčerpali sa výpočtové zdroje (časové, pamäťové) – o P sa nepodarilo nič dokázať • Procerúra je ÚPLNÁ, ak dôkaz existuje, nájde ho • Otázka: Efektívnosť nájdenia odvodenia. Na odvodenie prázdnej klauzuly sa odvodia aj mnohé klauzuly ktoré napokon nie su vôbec použité.
Rezolvenčné stratégie • Usporiadavajúce – ovplyvňujú poradie rezolvovania • Odsekávajúce – vylučujú klauzuly ktoré nemožno alebo nie je nutné použiť • Obmedzujúce – usmerňujú použitie klauzúl ktoré sa považujú za kľúčové
Usporiadavajúce rezolvenčné stratégie • Hĺbkové saturovanie • Hĺbka 0 – vstupná množina klauzúl • Hĺbka N+1 – rezolventy ktoré vznikli použitím aspoň jednej klauzuly z hĺbky N • Hľadanie do šírky • Preferencia najmenšieho počtu literálov • Rezolvencia skracuje – cieľom je získať prázdnu klauzulu – preferujeme teda kratšie klauzuly • Špeciálny prípad: preferencia jednotkových klauzúl
Odsekávajúce rezolvenčné stratégie • Odsekávanie jalových klauzúl • Ak obsahuje literál L, ale BP neobsahuje unifikovateľný L • Vylúčenie tautológií • Vylúčením tautológie sa nezlúčiteľnosť nezmení • Stratégia zahrnutia • Vylučujú sa „zahrnuté klauzuly“ – napr. špecifickejšia F(A) je zahrnutá vo všeobecnejšej F(x) • F(A) Ú G(B) je zahrnutá v F(x) • Aplikuje sa substitúcia a pojem „podklauzuly“
Príklad 1 • Uvažujme svet, v ktorom manželky obdivujú svojich manželov. • A1 x (Manželka(x) Obdivuje(x,Manžel(x)) • A2 Manželka(Dorota) • P Obdivuje(Dorota,Manžel(Dorota)) • BP: • K1 ØManželka(x) Ú Obdivuje(x,Manžel(x)) • K2 Manželka(Dorota) • K3 ØObdivuje(Dorota,Manžel(Dorota)) • K4 = K1 + K2 = subst. x/Dorota - Obdivuje(Dorota,Manžel(Dorota)) • K5 = K3 + K4 = NIL
Príklad 2 • Uvažujme svet: • A1 Každý kto rozumie matematike, nemá problém. x (Rozumie(x) ØProblem(x)) • A2 Študenti mávajú problémy y (Student(y) Problem(y)) • A3 Niektorí študenti sú inteligentní. $z (Student(z) Ù Inteligent(z)) • P Sú inteligentní ľudia, ktorí nerozumejú matematike $w (Inteligent(w) ÙØRozumie(w)) • BP: • K1 ØRozumie(x) Ú ØProblem (x) • K2 ØStudent(x) Ú Problem (x) • K3 $z (Student(z) Ù Inteligent(z)) - nech A je osoba, Student(A) Ù Inteligent(A) • K3a Student(A) • K3bInteligent(A) • K4 ØInteligent(w) ÚRozumie(w) – negácia P
Umelá inteligenciaPlánovanie Mgr. Ján Grman Jan.Grman@stuba.sk, KMER
Plánovanie • Plánovanie činnosti – robotika • Plán – postupnosť činností vedúcich k cieľu • Špecifická činnosť v UI • Špecifické sú stavy – mnohé nastavajú len za istých podmienok • Stavov je mnoho, rovnako je mnoho akcií • Klasické prehľadávanie je neefektívne a často nepoužiteľné
Stavy a akcie • Reprezentácia spojitostí medzi akciami a stavmi • Pre stav Mám(Mlieko) a akciu Kúp(x) je dôležitá vedomosť že dôsledkom Kúp(x) je Mám(x) • Pre dosiahnutie Mám(Mlieko) je potom do plánu vhodné zahrnúť Kúp(Mlieko) • Začiatočný stav • Miesto(doma,S0) ÙØ Mám(Mlieko,S0) ÙØ Mám(Rožky,S0) ÙØ Mám(Noviny,S0) • Cieľový stav • $S Miesto(doma,S) ÙMám(Mlieko,S) ÙMám(Rožky,S) ÙMám(Noviny,S)
Stavy a akcie • Predikáty: Miesto(X),Cesta(tu, tam),Mám(X),Kúp(X) • Plán: [Cesta(doma,potraviny), Kúp(mlieko), Kúp(rožky), Cesta(potraviny,trafika), Kúp(noviny), Cesta(trafika,doma)] • Akcia: Choď(tam) • predpoklady: Miesto(tu) and Cesta(tu,tam) • dôsledky: Miesto(tam) and not Miesto(tu) • Akcia: Kúp(tovar) • predpoklady: Miesto(obchod) and Predávajú(tovar) • dôsledky: Mám(tovar) • Akcia sa vykoná ak sú splniteľné podmienky. Po jej vykonaní platia všetky pozitívne literály dôsledkov a tiež všetky ktoré platili okrem tých ktoré boli v dôsledkovej časti znegované
Progresívny plánovač • Začína v počiatočnom stave • Aplikuje operátory a rozvíja strom možností • Snaží sa dosiahnuť cieľový stav (platnosť klauzúl cieľového stavu) • Môže uplatniť ľub. stratégiu – do šírky, do hĺbky, obmedzenie hĺbky • Nevýhody – časová a pamäťová zložitosť
Regresívny plánovač • Začína v cieľovom stave • Od opisu výsledného stavu sa dá dostať k predpokladom (pred aplikáciou operácie) • Vetvenia v blízkosti cieľového stavu su typicky menšie (rozumný cieľ)
Čiastočný plán • Stratégia prehľadávania plánov • Začína sa triviálnym plánom • Riešenie spočíva v dopĺňaní plánu o kroky • Množina krokov • Relácia usporiadania krokov (krok K < L, tj. krok K sa musí uskutočniť pred krokom L) • Príčinné priradenia Si→cSj • Účelom kroku Si je dosiahnuť splnenie predpokladov C kroku Sj
Plán • Akcia: Začni nákup • Účinky: Miesto(doma) ÙPredávasa (Trafika, Noviny) ÙPredávasa (Potraviny, Mlieko) ÙPredávasa (Potraviny, Rožky) • Akcia: Skonči nákup • Predpoklady: Miesto(doma) ÙMám(Noviny) ÙMám(Mlieko) ÙMám(Rožky) • Úvodný plán: • Kroky: • S1: Začni nákup • S2: Skonči nákup • Usporiadania: S1 < S2 • Priradenia: [] • Spojenia: []
Dopĺňanie plánu • Plán musí byť úplný a neprotirečivý • protirečenie: A < B a aj B < A • akA < B a C je ÚČINKOM A, potom neexistuje C také, že A <C< B a negácia C je ÚČINKOM C • Čiastočne usporiadavajúce plánovanie • dopĺňa operátory na splnenie predpokladov vybraného kroku čiastočného plánu • vybraný operátor testuje na ohrozenie • krok Sk ohrozuje príčinné spojenie Si→cSj ak jeho účinky negujú platnosť C • v prípade ohrozenia je krok možné predsunúť aleboSk< Si<Sj odsunúťSi < Sj<Sk
Diskusia • Ak predsunie ani odsunutie problém nerieši, čiastočný plan bude zahodený • Ohraničenia určujúce usporiadanie krokov tvoria LINEARIZÁCIU PLÁNU. • Plán je určený ak každá premenná ma priradenú konštantu. • Plán je úplný ak sa každá podmienka predpokladov dosahuje iným krokom. • Plán je neprotirečivý ak neobsahuje protirečenia.