1 / 34

Logiky a inferencia

Logiky a inferencia. doc. Ing. Kristína Machová, CSc. k ristina. m achova @tuke.sk http://people.tuke.sk/kristina.machova. Osnova:. Úvod Monotónne pravidlá Monotónne pravidlá v XML Nemonotónne pravidlá Nemonotónne pravidlá v XML. Úvod.

taber
Download Presentation

Logiky a inferencia

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Logiky a inferencia doc. Ing. Kristína Machová, CSc. kristina.machova@tuke.sk http://people.tuke.sk/kristina.machova

  2. Osnova: • Úvod • Monotónne pravidlá • Monotónne pravidlá v XML • Nemonotónne pravidlá • Nemonotónne pravidlá v XML

  3. Úvod • Logika (predikátová logika resp. logika 1.rádu) je základom • reprezentácie znalostí: • Vedomosti vyjadruje transparentným spôsobom. • Má dobre zrozumiteľnú formálnu sémantiku. • Má presnú definíciu logického dôsledku. • Má dokazovací systém, ktorý automaticky derivuje • tvrdenia z množiny predpokladov. • Dokazovací systém je dôkladný (garantuje, že odvodené • tvrdenia vyplývajú významovo z predpokladov). • Je úplný, keďže všetky logické konsekvencie predpokladov • je možné odvodiť týmto dokazovacím systémom. • Výsledky sú jednoduché web stránky. • Logiky vyšších rádov taký dokazovací systém nemajú. • Dokazovací systém umožňuje trasovať dôkazy a tak • vysvetľovať odpovede.

  4. Úvod • Jazyky RDF a OWL sú špecializácie predikátovej Logiky. Jednou • podmnožinou predikátovej logiky je pravidlový systém (Hornova logika). • Existujú dva intuitívne spôsoby čítania atomickej formuly: • Ak platia predpoklady, potom platízáver. Deduktívne pravidlo. • Ak platia predpoklady, potom vykonaj akciu. Reaktívne pravidlo. My budeme používať deduktívny prístup. Deskriptívna logika (OWL) a Hornova logika (pravidlový systém) sú ortogonálne (žiadna nie je podmnožinou druhej). Pravidlový systém nedokáže vložiť informáciu, či je osoba žena alebo muž. V OWL je možné túto informáciu ľahko vyjadriť (disjointunion). Iný problém v OWL sa dá riešiť, v pravidlovom systéme nie: študuje(X,Y), žije(X,Z), lokalita(Y,U),lokalita(Z,U) domáciŠtudent(X). Rozlišujeme monotónne (špeciálny prípad predikátovej logiky) a nemonotónne logiky (spracúvajú informáciu s časovým posuvom).

  5. Monotónne pravidlá Príklad monotónnej logiky – ak platia fakty: matka(X,Y) X je matkou Y otec(X,Y) X je otcom Y muž(X) žena(Y) Potom je možné odvodiť nasledovné vzťahy použitím vhodnej logiky: matka(X,Y)  rodič(X,Y) otec(X,Y)  rodič(X,Y) muž(X), rodič(P,X), rodič(P,Y), rozdielne(X,Y)  brat(X,Y) žena(X), rodič(P,X), rodič(P,Y), rozdielne(X,Y)  sestra(X,Y) brat(X,P), rodič(P,Y)  strýko(X,Y) matka(X,P), rodič(P,Y)  staráMama(X,Y) rodič(X,Y) predok(X,Y) predok(X,P), rodič(P,Y)  predok(X,Y)

  6. Monotónne pravidlá Syntax monotónnych pravidiel – príklad: Súčasťou cenovej politiky je pravidlo: kto je lojálny obchodu a má viac ako 60 rokov, dostane zľavu: lojálnyZákazník(X), vek(X) > 60  zľava(X). Pravidlo pozostáva z: premenných (X) konštánt (60) predikátov (lojálnyZákazník, >) funkčných symbolov, ktoré navracajú hodnotu argumentu (vek) Fakty sú atomické formuly: lojálnyZákazník(a123456)

  7. Monotónne pravidlá Syntax monotónnych pravidiel: Pravidlo r má formu: B1, ..., Bn  A kde A,B1, ..., Bn sú atomické formuly. A je hlava a B1, ..., Bn sú predpoklady pravidla, ktoré tvoria jeho telo a sú spojené konjunkciou. Pravidlo r je interpretované predikátovou logikou pl(r) ako nasledovná formula: ҰX1 ... ҰXk((B1&…&Bn)  A) alebo: ҰX1 ... ҰXk(Av¬B1v…v¬Bn) kde: X1 ... Xk sú premenné vyskytujúce sa v A, B1,…,Bn.

  8. Monotónne pravidlá Logický program P: je konečná množina faktov a pravidiel (ako v znalostnom systéme). Preklad jeho predikátovej logiky pl(P) interpretuje pravidlá a fakty P. Ciele: Cieľ predstavuje otázku Q položenú logickému programu vo forme: B1, ..., Bn V predikátovej logike bude cieľ interpretovaný nasledovne (A vynechané): ҰX1 ... ҰXk(¬B1v…v¬Bn) alebo: ⌐ЭX1... ⌐ЭXk(B1&…&Bn)

  9. Monotónne pravidlá Ciele – príklad: Predpokladajme, že platí: p(a) a my máme cieľ: p(X)  Chceme vedieť, či existuje taká hodnota, pre ktorú p platí. Použijeme dôkaz protirečením (v logickom programe dokazujeme, že cieľ môže platiť prostredníctvom negácie cieľa a prostredníctvom dokazovania, že sme dostali protirečenie použitím logického programu). Negovaný cieľ: ⌐ЭX, pre ktoré p(X) je v rozpore s p(a). Teda platí X=a.

  10. Monotónne pravidlá Sémantika predikátovej logiky: Jeden zo spôsobov ako zodpovedať otázku Q je použiť interpretáciu pravidiel, faktov a otázok pomocou predikátovej logiky. Konkrétnejšie: majme logický program P a otázku: B1, ..., Bn S premennými X1, ..., Xk. Odpoveď bude pozitívna ak, a iba ak: pl(P)╞ ЭX1...ЭXk(B1&…&Bn) alebo, ak: pl(P)U{¬ЭX1... ⌐ЭXk(B1&…&Bn)} je nepravdivé, lebo reprezentácia programu P a otázky v predikátovej logike vytvárajú protirečenie. (Symbol╞znamená, že formula vpravo je pravdivá v modeli pl(P).) Ak interpretácia P predikátovou logikou je pravdivá - pl(P), potom aj ЭX1...ЭXk(B1&…&Bn) musí byť pravdivé.

  11. Monotónne pravidlá Sémantika predikátovej logiky - príklad: Predpokladajme, že P je nasledovný program: p(a) p(X)  q(X) Uvažujme otázku: q(X)  Platí, že q(a) je pravdivé na základe pl(P). A teda ЭXp(X) je taktiež pravdivé na základe pl(P), teda pl(P)U{¬ ЭXp(X)} predstavuje rozpor. Dostávame pozitívnu odpoveď q(a). Avšak, keď položíme otázku q(b)  odpoveď bude negatívna, lebo q(b) nie je pravdivé na základe pl(P).

  12. Monotónne pravidlá v XML Termy: f(X,a,g(b,Y)) je možné v XLM kódovať nasledovne: <term> <function>f</function> <term> <var>X</var> </term> <term> <const>a</const> </term> <term> <function>g</function> <term> <const>b</const> </term> <term> <var>Y</var> </term> </term> </term>

  13. Monotónne pravidlá v XML Atomické formuly: p(X,a,f(b,Y)) bude reprezentovaná nasledovnne: <atom> <predicate>p</predicate> <term> <var>X</var> </term> <term> <const>a</const> </term> <term> <function>f</function> <term> <const>b</const> </term> <term> <var>Y</var> </term> </term> </atom>

  14. Monotónne pravidlá v XML Fakty:p(a) bude kódovaný: <fact> <atom> <predicate>p</predicate> <term> <const>a</const> </term> </atom> </fact>

  15. Monotónne pravidlá v XML Pravidlá: Pravidlo pozostáva z hlavy a tela. Hlava je atomická formula. Telo je sekvencia atomických formúl. Napríklad, pravidlo p(X,a),q(Y,b)  r(X,Y) je reprezentované: <rule> <head> <atom> <predicate>r</predicate> <term> <var>X</var> </term> <term> <var>Y</var> </term> </atom> </head> <body> ...

  16. Monotónne pravidlá v XML Pravidlá - pokračovanie: ... <body> <atom> <predicate>p</predicate> <term> <var>X</var> </term> <term> <const>a</const> </term> </atom> <atom> <predicate>q</predicate> <term> <var>Y</var> </term> <term> <const>b</const> </term> </atom> </body> </rule>

  17. Monotónne pravidlá v XML Otázky: Otázky sú reprezentované ako telá pravidiel, uzavretých v <query> tagu. DTD: Program pozostáva z pravidiel a faktov: <!ELEMENT program ((rule|fact)*)> Fakty pozostávajú z atomických formúl: <!ELEMENT fact (atom)> Pravidlo pozostáva z hlavy a tela: <!ELEMENT rule (head, body)> Hlava pozostáva z atomickej formuly: <!ELEMENT head (atom)> Telo je zoznamom atomických formúl: <!ELEMENT body (atom*)>

  18. Monotónne pravidlá v XML DTD: Atomická formula pozostáva z predikátu nasledovaného termami: <!ELEMENT atom (predicate, term*)> Term je konštanta, premenná alebo zložený term pozostávajúce z funkčných symbolov, nasledovaných termami: <!ELEMENT term (const|var|(function, term*))> Predikáty, funkčné symboly, konštanty a premenné sú atomického typu: <!ELEMENT predicate (#PCDATA)> <!ELEMENT function (#PCDATA)> <!ELEMENT var (#PCDATA)> <!ELEMENT const (#PCDATA)> Otázka je zoznamom atomických formúl: <!ELEMENT query (atom*)>

  19. Nemonotónne pravidlá Pravidlo nemusí mať platný záver, aj keď sú splnené všetky predpoklady. Uvažujú sa aj závery v protikladných pravidlách. Nemonotónne pravidlá nazývame taktiež „anulovateľné“. Ich závery môžu byť anulované inými pravidlami. Negované atomické formuly sa môžu vyskytnúť v hlave a tele pravidiel: Na odlíšenie anulovateľných pravidiel sa používajú odlišné šípky: ⌐ p(X) ═> q(X) r(X) ═> ⌐q(X) Z faktov: ⌐ p(a) a r(a) je možné odvodiť ajq(a) aj ⌐q(a). To je typický príklad dvoch pravidiel blokujúcich sa navzájom. Preto sa zavádzajú priority medzi pravidlami. Ak je v príklade prvé pravidlo silnejšie ako druhé, potom sa odvodí q(a).

  20. Nemonotónne pravidlá • Priority môžu byť založené na rozličných princípoch: • Zdroj jedného pravidla môže byť dôveryhodnejší (federálny zákon je • nadradený) alebo môže mať vyššiu autoritu („top“ manažment). • Novšie pravidlo môže byť preferované pred starším. • Špecifickejšie pravidlo môže byť preferované pred všeobecnejším. • (napr. všeobecné pravidlo s výnimkami - výnimky sú preferované). • Je potrebné rozšíriť syntax pravidla nasledovne: • r1: ⌐ p(X) ═> q(X) • r2: r(X) ═> ⌐q(X) • a špecifikovať, že r1 je silnejšie ako r2 nasledovne: r1> r2. • Nevyžaduje sa úplné usporiadanie pravidiel. Vyžaduje sa iba, aby • relácia priority bola acyklická. Nepripúšťa sa: • r1> r2> … > rn> r1 • Priority majú riešiť konflikty medzi súťažiacimi pravidlami. • V aplikáciách sa často stáva, že keď sa začne odvádzať jeden predikát, • iný predikát je vylúčený z platnosti.

  21. Nemonotónne pravidlá Definícia syntaxe Anulovateľné, nemonotonické pravidlá majú formu: r: L1, ... , Ln ═> L kde r je označenie (návestie), L1, ... , Ln je telo (predpoklady) a L je hlava pravidla. L, L1, ... , Ln sú pozitívne alebo negatívne literály. Literál je atomická formula p(t1, ... ,tn) alebo jej negácia ⌐p(t1, ... ,tn). V pravidle sa nemôže vyskytnúť žiadny funkčný symbol. Anulovateľný logický program je trojica (F, R, >) pozostávajúca z množiny F faktov, konečnej množiny R anulovateľných pravidiel a acyklickej binárnej relácie > nad R (konkrétne množiny dvojíc r>r’ kde r a r’ sú návestia pravidiel v R).

  22. Nemonotónne pravidlá Popis problému: Prenajatie apartmánu – aktivita, ktorá je časovo náročná a únavná. Karol hľadá apartmán, majúci aspoň 45 m2 s dvoma spálňami. Ak sa nachádza na treťom poschodí alebo vyššie, dom musí mať výťah. Taktiež domáce zvieratká musia byť dovolené. Karol je ochotný zaplatiť 300$ za apartmán v centre s rozlohou 45 m2 alebo 250$ za podobný byt na predmestí. Je ochotný zaplatiť 5$ za každý m2 na viac a 2$ za každý m2 záhrady. Nemôže zaplatiť viac ako 400$. Ak by bola taká voľba, uvítal by lacnejší variant. Najvyššou prioritou je priestor na viac. Druhoradou prioritou je záhrada.

  23. Nemonotónne pravidlá Formalizácia požiadaviek: rozloha(x,y)y je veľkosť apartmánu x v m2 spálne(x,y)x má y spální cena(x,y)y je cena x poschodie(x,y)x je na poschodí y záhrada(x,y)x má záhradu veľkosti y výťah(x) v dome bytu x je výťah zvieratá(x) v x sú dovolené domáce zvieratá centrum(x)x je v centre Môžeme použiť nasledovné predikáty: akceptovateľný(x) apartmán x vyhovuje požiadavkám Karola ponuka(x,y) Karol je ochotný zaplatiť y$ za byt x

  24. Nemonotónne pravidlá Formalizácia požiadaviek: A priori vyhovuje každý apartmán: r1: ═> akceptovateľný(X) Ale neakceptuje sa riešenie, ktoré nevyhovuje hoci jedinej požiadavke: r2: spálne(X,Y), Y<2 ═> ¬akceptovateľný(X) r3: rozloha(X,Y), Y<45 ═> ¬akceptovateľný(X) r4: ¬zvieratá(X) ═> ¬akceptovateľný(X) r5: poschodie(X,Y), Y>2, ¬výťah(X) ═> ¬akceptovateľný(X) r6: cena(X,Y), Y>400 ═> ¬akceptovateľný(X) Pravidlá r2 – r6 sú výnimkami pravidla r1, preto platí: r2>r1, r3>r1, r4>r1, r5>r1, r6>r1

  25. Nemonotónne pravidlá Formalizácia požiadaviek - výpočet ceny: r7: rozloha(X,Y), Y>=45, záhrada(X,Z), centrum(X) ═> ponuka(X, 300+2Z+5*( Y-45)) r8: rozloha(X,Y), Y>=45, záhrada(X,Z), ¬centrum(X) ═> ponuka(X, 250+2Z+5*( Y-45)) Apartmán je vyhovujúci iba ak Karolova maximálna ponuka je väčšia ako cena špecifikovaná domácim pánom: r9: ponuka(X,Y), cena(X,Z), Y < Z ═> ¬akceptovateľný(X) r9>r1

  26. Nemonotónne pravidlá Reprezentácia dostupných apartmánov: Apartmán a1 je možné popísať napríklad takto: spálne(a1, 1) rozloha(a1, 50) centrum(a1) poschodie(a1, 1) ¬výťah(a1) zvieratá(a1) záhrada(a1,0) cena(a1, 300)

  27. Nemonotónne pravidlá Reprezentácia dostupných apartmánov: Ponuky bytov môžu byť skladované v relačnej databáze. Zisťujeme, a1 nevyhovuje, lebo má iba 1 spálňu; a4 a a6 nepovoľujú domáce zvieratá; a2 má privysokú cenu ale a3, a5, a7 vyhovujú.

  28. Nemonotónne pravidlá Výber apartmánu: Selekcia sa sústreďuje na relevantné byty. Redukcia sa môže uskutočniť ešte pred samou selekciou A to uvažovaním preferencií: r10: lacnejší(X) ═> rent(X) r11: lacnejší(X), záhrada(X) ═> rent(X) r12: lacnejší(X), väčší(X) ═> rent(X) r12 > r10 r12 > r11 r11> r10

  29. Nemonotónne pravidlá Výber apartmánu: Prerekvizity môžu byť odvodené použitím predchádzajúcich pravidiel: lacnejší(a3) lacnejší(a5) väčší(a3) väčší(a7) záhrada naviac(a5) Teraz je možné odvodiť rozhodnutie prenajať a3:

  30. Nemonotónne pravidlá v XML • V porovnaní s monotónnymi pravidlami majú nemonotónne • anulovateľné pravidlá odlišnú syntax: • Neobsahujú žiadne funkčné symboly. • Negované atómy sa môžu vyskytnúť v hlave aj v tele pravidla. • Každé pravidlo má návestie. • Okrem pravidiel a faktov, program obsahuje údaj o prioritách pravidiel

  31. Nemonotónne pravidlá v XML Uvažujme anulovateľný program: r1: p(X) ═> s(X) r2: r(X) ═> ⌐s(X) p(a) r(a) a r1>r2 Použijeme <stronger> tag na reprezentáciu priorít: <rule id = “r1“> <head> <atom> <predicate>s</predicate> <term> <var>X</var> </term> </atom> </head> <body> <atom> <predicate>p</predicate> <term> <var>X</var> </term> </atom> </body> </rule>

  32. Nemonotónne pravidlá v XML Fakt p(a) je reprezentovaný nasledovne: <fact> <atom> <predicate>p</predicate> <term> <const>a</const> </term> </atom> </fact> Reprezentácia priority r1>r2 bude: <stronger superior =“r1“ inferior =“r2“/>

  33. Nemonotónne pravidlá v XML DTD Program pozostáva pravidiel, faktov a relácií definujúcich priority: <!ELEMENT program ((rule|fact|stronger)*)> Fakt pozostáva z atomických formúl alebo ich negácií: <!ELEMENT fact (atom|neg)> <!ELEMENT fact (atom)> Pravidlo pozostáva z elementu hlavy, tela a atribútu id: <!ELEMENT rule (head|body)> <!ATTLIST rule id ID #IMPLIED> Hlava a telo sú definované ako monotónne pravidlá, môžu obsahovať negované atómy: <!ELEMENT head (atom|neg)> <!ELEMENT body ((atom|neg)*)> Atomická formula pozostáva z predikátu nasledovaného množinou premenných a konštánt: <!ELEMENT atom (predicate, (var|const)*)>

  34. Nemonotónne pravidlá v XML DTD Element definujúci reláciu priority používa dva atribúty odpovedajúce nadradenému a podradenému pravidlu: <!ELEMENT stronger EMPTY)> <!ELEMENT stronger superior IDREF #REQUIRED> inferior IDREF #REQUIRED> Predikáty, konštanty a premenné sú atomického typu: <!ELEMENT predicate (#PCDATA)> <!ELEMENT var (#PCDATA)> <!ELEMENT const (#PCDATA)> Otázka je zoznamom atomických formúl: <!ELEMENT query (atom*)>

More Related