Top Banner
Logiky a inferencia doc. Ing. Kristína Machová, CSc. k [email protected] http://people.tuke.sk/kristina.machova
34

Logiky a inferencia - people.tuke.skpeople.tuke.sk/kristina.machova/prezentacieSaSW/06logiky_SaSW.pdf · Úvod Logika (predikátová logika resp. logika 1.rádu) je základom reprezentácie

Sep 04, 2019

Download

Documents

dariahiddleston
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Logiky a inferencia - people.tuke.skpeople.tuke.sk/kristina.machova/prezentacieSaSW/06logiky_SaSW.pdf · Úvod Logika (predikátová logika resp. logika 1.rádu) je základom reprezentácie

Logiky a inferencia

doc. Ing. Kristína Machová, CSc.

[email protected]

http://people.tuke.sk/kristina.machova

Page 2: Logiky a inferencia - people.tuke.skpeople.tuke.sk/kristina.machova/prezentacieSaSW/06logiky_SaSW.pdf · Úvod Logika (predikátová logika resp. logika 1.rádu) je základom reprezentácie

Osnova:

1. Úvod

2. Monotónne pravidlá

3. Monotónne pravidlá v XML

4. Nemonotónne pravidlá

5. Nemonotónne pravidlá v XML

Page 3: Logiky a inferencia - people.tuke.skpeople.tuke.sk/kristina.machova/prezentacieSaSW/06logiky_SaSW.pdf · Úvod Logika (predikátová logika resp. logika 1.rádu) je základom reprezentácie

Ú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ť. 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.

Page 4: Logiky a inferencia - people.tuke.skpeople.tuke.sk/kristina.machova/prezentacieSaSW/06logiky_SaSW.pdf · Úvod Logika (predikátová logika resp. logika 1.rádu) je základom reprezentácie

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

Rozlišujeme monotónne (špeciálny prípad predikátovej logiky)

a nemonotónne logiky (spracúvajú informáciu s časovým posuvom).

Page 5: Logiky a inferencia - people.tuke.skpeople.tuke.sk/kristina.machova/prezentacieSaSW/06logiky_SaSW.pdf · Úvod Logika (predikátová logika resp. logika 1.rádu) je základom reprezentácie

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)

Page 6: Logiky a inferencia - people.tuke.skpeople.tuke.sk/kristina.machova/prezentacieSaSW/06logiky_SaSW.pdf · Úvod Logika (predikátová logika resp. logika 1.rádu) je základom reprezentácie

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)

Page 7: Logiky a inferencia - people.tuke.skpeople.tuke.sk/kristina.machova/prezentacieSaSW/06logiky_SaSW.pdf · Úvod Logika (predikátová logika resp. logika 1.rádu) je základom reprezentácie

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.

Page 8: Logiky a inferencia - people.tuke.skpeople.tuke.sk/kristina.machova/prezentacieSaSW/06logiky_SaSW.pdf · Úvod Logika (predikátová logika resp. logika 1.rádu) je základom reprezentácie

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)

Page 9: Logiky a inferencia - people.tuke.skpeople.tuke.sk/kristina.machova/prezentacieSaSW/06logiky_SaSW.pdf · Úvod Logika (predikátová logika resp. logika 1.rádu) je základom reprezentácie

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.

Page 10: Logiky a inferencia - people.tuke.skpeople.tuke.sk/kristina.machova/prezentacieSaSW/06logiky_SaSW.pdf · Úvod Logika (predikátová logika resp. logika 1.rádu) je základom reprezentácie

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

A to je nepravdivé (Lebo reprezentácia programu P a otázky v predikátovej logike

Vytvárajú protirečenie. Symbol╞ ... 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é.

Page 11: Logiky a inferencia - people.tuke.skpeople.tuke.sk/kristina.machova/prezentacieSaSW/06logiky_SaSW.pdf · Úvod Logika (predikátová logika resp. logika 1.rádu) je základom reprezentácie

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

Page 12: Logiky a inferencia - people.tuke.skpeople.tuke.sk/kristina.machova/prezentacieSaSW/06logiky_SaSW.pdf · Úvod Logika (predikátová logika resp. logika 1.rádu) je základom reprezentácie

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>

Page 13: Logiky a inferencia - people.tuke.skpeople.tuke.sk/kristina.machova/prezentacieSaSW/06logiky_SaSW.pdf · Úvod Logika (predikátová logika resp. logika 1.rádu) je základom reprezentácie

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>

Page 14: Logiky a inferencia - people.tuke.skpeople.tuke.sk/kristina.machova/prezentacieSaSW/06logiky_SaSW.pdf · Úvod Logika (predikátová logika resp. logika 1.rádu) je základom reprezentácie

Monotónne pravidlá v XML

Fakty: p(a) bude kódovaný:

<fact>

<atom>

<predicate>p</predicate>

<term>

<const>a</const>

</term>

</atom>

</fact>

Page 15: Logiky a inferencia - people.tuke.skpeople.tuke.sk/kristina.machova/prezentacieSaSW/06logiky_SaSW.pdf · Úvod Logika (predikátová logika resp. logika 1.rádu) je základom reprezentácie

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

Page 16: Logiky a inferencia - people.tuke.skpeople.tuke.sk/kristina.machova/prezentacieSaSW/06logiky_SaSW.pdf · Úvod Logika (predikátová logika resp. logika 1.rádu) je základom reprezentácie

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>

Page 17: Logiky a inferencia - people.tuke.skpeople.tuke.sk/kristina.machova/prezentacieSaSW/06logiky_SaSW.pdf · Úvod Logika (predikátová logika resp. logika 1.rádu) je základom reprezentácie

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

Page 18: Logiky a inferencia - people.tuke.skpeople.tuke.sk/kristina.machova/prezentacieSaSW/06logiky_SaSW.pdf · Úvod Logika (predikátová logika resp. logika 1.rádu) je základom reprezentácie

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

Page 19: Logiky a inferencia - people.tuke.skpeople.tuke.sk/kristina.machova/prezentacieSaSW/06logiky_SaSW.pdf · Úvod Logika (predikátová logika resp. logika 1.rádu) je základom reprezentácie

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ť aj q(a) aj ⌐q(a).

Dve pravidlá blokujúce 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).

Page 20: Logiky a inferencia - people.tuke.skpeople.tuke.sk/kristina.machova/prezentacieSaSW/06logiky_SaSW.pdf · Úvod Logika (predikátová logika resp. logika 1.rádu) je základom reprezentácie

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.

Page 21: Logiky a inferencia - people.tuke.skpeople.tuke.sk/kristina.machova/prezentacieSaSW/06logiky_SaSW.pdf · Úvod Logika (predikátová logika resp. logika 1.rádu) je základom reprezentácie

Nemonotónne pravidlá

Definícia syntaxe

Anulovateľné, nemonotonické pravidlá majú formu:

r: L1, ... , Ln ═> Lkde 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).

Page 22: Logiky a inferencia - people.tuke.skpeople.tuke.sk/kristina.machova/prezentacieSaSW/06logiky_SaSW.pdf · Úvod Logika (predikátová logika resp. logika 1.rádu) je základom reprezentácie

Nemonotónne pravidlá

Popis problému:

Prenajatie bytu - aktivita, ktorá je časovo náročná a únavná.

Karol hľadá byt, 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ť 300Eur za byt v centre s rozlohou 45 m2

alebo 250Eur za podobný byt na predmestí.

Je ochotný zaplatiť 5Eur za každý m2 na viac

a 2Eur za každý m2 záhrady.

Nemôže zaplatiť viac ako 400Eur.

Uvíta lacnejší variant.

Najvyššou prioritou je priestor na viac.

Druhoradou prioritou je záhrada.

Page 23: Logiky a inferencia - people.tuke.skpeople.tuke.sk/kristina.machova/prezentacieSaSW/06logiky_SaSW.pdf · Úvod Logika (predikátová logika resp. logika 1.rádu) je základom reprezentácie

Nemonotónne pravidlá

Formalizácia požiadaviek:

rozloha(x,y) y je veľkosť bytu 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) byt x vyhovuje požiadavkám Karola

ponuka(x,y) Karol je ochotný zaplatiť yEur za byt x

Page 24: Logiky a inferencia - people.tuke.skpeople.tuke.sk/kristina.machova/prezentacieSaSW/06logiky_SaSW.pdf · Úvod Logika (predikátová logika resp. logika 1.rádu) je základom reprezentácie

Nemonotónne pravidlá

Formalizácia požiadaviek:

A priori vyhovuje každý byt:

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

Page 25: Logiky a inferencia - people.tuke.skpeople.tuke.sk/kristina.machova/prezentacieSaSW/06logiky_SaSW.pdf · Úvod Logika (predikátová logika resp. logika 1.rádu) je základom reprezentácie

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

Byt 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

Page 26: Logiky a inferencia - people.tuke.skpeople.tuke.sk/kristina.machova/prezentacieSaSW/06logiky_SaSW.pdf · Úvod Logika (predikátová logika resp. logika 1.rádu) je základom reprezentácie

Nemonotónne pravidlá

Reprezentácia dostupných bytov:

Napríklad byt a1 je možné popísať nasledovne:

spálne(a1, 1)

rozloha(a1, 50)

centrum(a1)

poschodie(a1, 1)

¬výťah(a1)

zvieratá(a1)

záhrada(a1,0)

cena(a1, 300)

Page 27: Logiky a inferencia - people.tuke.skpeople.tuke.sk/kristina.machova/prezentacieSaSW/06logiky_SaSW.pdf · Úvod Logika (predikátová logika resp. logika 1.rádu) je základom reprezentácie

Nemonotónne pravidlá

Reprezentácia dostupných bytov:

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

Byt Spálne Rozloha Centrum Poschodie Výťah Zvieratá Záhrada Cena

a1 1 50 yes 1 no yes 0 300

a2 2 45 yes 0 no yes 0 335

a3 2 65 no 2 yes yes 0 350

a4 2 55 no 1 yes no 15 330

a5 3 55 yes 0 no yes 15 350

a6 2 60 yes 3 no no 0 370

a7 3 65 yes 1 no yes 15 375

Page 28: Logiky a inferencia - people.tuke.skpeople.tuke.sk/kristina.machova/prezentacieSaSW/06logiky_SaSW.pdf · Úvod Logika (predikátová logika resp. logika 1.rádu) je základom reprezentácie

Nemonotónne pravidlá

Výber bytu na prenájom:

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

Page 29: Logiky a inferencia - people.tuke.skpeople.tuke.sk/kristina.machova/prezentacieSaSW/06logiky_SaSW.pdf · Úvod Logika (predikátová logika resp. logika 1.rádu) je základom reprezentácie

Nemonotónne pravidlá

Výber bytu:

Použitím predchádzajúcich pravidiel odvodíme:

lacnejší(a3)

lacnejší(a5)

väčší(a3)

väčší(a7)

záhrada naviac(a5)

Výsledné rozhodnutie je prenajať a3:

Page 30: Logiky a inferencia - people.tuke.skpeople.tuke.sk/kristina.machova/prezentacieSaSW/06logiky_SaSW.pdf · Úvod Logika (predikátová logika resp. logika 1.rádu) je základom reprezentácie

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

údaje o prioritách pravidiel

Page 31: Logiky a inferencia - people.tuke.skpeople.tuke.sk/kristina.machova/prezentacieSaSW/06logiky_SaSW.pdf · Úvod Logika (predikátová logika resp. logika 1.rádu) je základom reprezentácie

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>

Page 32: Logiky a inferencia - people.tuke.skpeople.tuke.sk/kristina.machova/prezentacieSaSW/06logiky_SaSW.pdf · Úvod Logika (predikátová logika resp. logika 1.rádu) je základom reprezentácie

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“/>

Page 33: Logiky a inferencia - people.tuke.skpeople.tuke.sk/kristina.machova/prezentacieSaSW/06logiky_SaSW.pdf · Úvod Logika (predikátová logika resp. logika 1.rádu) je základom reprezentácie

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

Page 34: Logiky a inferencia - people.tuke.skpeople.tuke.sk/kristina.machova/prezentacieSaSW/06logiky_SaSW.pdf · Úvod Logika (predikátová logika resp. logika 1.rádu) je základom reprezentácie

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