logiky a inferencia -...

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

Upload: others

Post on 04-Sep-2019

15 views

Category:

Documents


0 download

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