deskripčná logika -...
TRANSCRIPT
Deskripčná logika
UINF/SWB: Sémantický web
podľa http://www.inf.unibz.it/~franconi/dl/course/
Deskripčná logika
• zjednocujúci formalizmus pre nástroje
reprezentácie
– frame-based (systémy založené na rámcoch)
– sémantické siete
– objektovo orientované reprezentácie
– sémantické dátové modely
– ontologické jazyky
– ...
Deskripčná logika
• štruktúrovaná podforma predikátového
počtu
• poskytuje teórie a systémy pre
– reprezentáciu štruktúrovaných informácií
– pre prístup k týmto informáciám
– pre odvodzovanie v rámci nich
Aplikácie deskripčnej logiky v
systémoch
konfigurácia konceptuálne modelovanie
optimalizácia dopytov a
udržiavanie pohľadov
sémantika prirodzeného
jazyka
inteligentná integrácia
informácií (I3)
prístup k informáciám a
inteligentné rozhrania
terminológie, slovníky a ontológie
správa softvéru plánovanie
Formalizmus
• DL formalizuje viacero objektovo-
orientovaných reprezentácií
• odstraňuje nejednoznačnosti prítomné v
nepresných reprezentáciách
Rámce / Frames / Objekty
• identifikátor
• trieda
• inštancia
• slot (atribút) – hodnota
• identifikátor
• implicitná hodnota
– obmedzenie povolených hodnôt • typ
• doména
• kardinalita
• zapúzdrená metóda
Nejednoznačnosť: trieda vs
objekt
Osoba
• vek: INTEGER
• pohlavie: M, Ž
• výška: INTEGER
• partner: Osoba
Peter
• vek: 30
• pohlavie: M
• výška: 76
• žena: Lucia
trieda inštancia
Nejednoznačnosť: neúplná
informácia
Tridsiatnik
• vek: 30
• pohlavie: M
• výška: INTEGER
• partner: Osoba
Peter
• vek: 30
• pohlavie: M
• výška: 76
• žena: Lucia
trieda inštancia
Nejednoznačnosť: dedičnosť
Osoba
• vek: INTEGER
• pohlavie: M, F
• výška: INTEGER
• partner: Osoba
Muž
• vek: INTEGER
• pohlavie: M
• výška: INTEGER
• partner: Žena
Tridsiatnik
• vek: 30
• pohlavie: M
• výška: INTEGER
• partner: Osoba
Peter
• vek: 30
• pohlavie: M
• výška: 76
• žena: Lucia
Asociácie: explicitná asociácia
Peter
• vek: 30
• pohlavie: M
• výška: 76
Lucia
• vek: 28
• pohlavie: F
• výška: 59
rodinaPetraALucie
• manžel: Peter
• manžela: Lucia
Tranzitivita asociácií
Auto Motor
má súčiastku
Motor Valec
má súčiastku
Auto Valec
má súčiastku
vieme odvodiť
Naozaj tranzitivita?
Ján Peter
má dieťa
Peter Zuzana
má dieťa
Ján Zuzana
má dieťa
očividne neplatí, že
Nejednoznačnosť: Nixonov
diamant
Prezident
Kvaker [pacifista]
Republikán [militarista]
Nixon
Je Nixon
pacifista alebo
nie?
Kvantifikácia
• Každá žaba je len zelená.
• Každá žaba môže byť aj zelená
• Každá žaba má istý odtieň zelenej.
• Existuje zelená žaba.
• Žaby sú obvykle zelené, hoci sú aj výnimky
Žaba Zelená
má farbu
Falošní priatelia
• objektovo orientované reprezentácie sú z
logického hľadiska nejednoznačné
• sú často používané a podporené grafickými
nástrojmi
• procesy odvodzovania však nespadajú do
štandardných logických kategórií
• ešte nie sú dobre chápané a formalizované
• vyvinúť odvodzovací algoritmus nad štruktúrami
istého druhu je oveľa jednoduchšie než vysvetliť,
čomu zodpovedajú odvodené štruktúry v
doméne
Štruktúrovaná logika
• každý z variantov deskripčnej logiky je fragmentom logiky prvého rádu
• reprezentácia je na úrovni uzavretých formúl: vo formalizme nie sú žiadne premenné
• každá základná deskripčná logika je podmnožinou logiky prvého rádu
– bez funkcií
– najviac tri mená premenných
Prečo nestačí logika prvého
rádu?
• logika 1. rádu bez dodatočných obmedzení:
– rozpadne sa štruktúra znalostí
– ťažko mať základ pre odvodzovanie
– príliš veľká vyjadrovacia sila na získanie rozhodnuteľných a efektívnych odvodzovacích problémov
– potenciálne primalá odvodzovacia sila na vyjadrenie zaujímavých a rozhodnuteľných teórií
Štruktúrované siete dedičnosti:
KL-One
• structured inheritance networks
• štruktúrované opisy:
– zodpovedajú zložitým štruktúram objektov prepojených
asociáciami/reláciami
– postavené na redukovanej množine logických konštruktov
• dva druhy znalostí:
– koncepty (terminológia) + inštancie (tvrdenia)
• centrálnu rolu hrá automatická klasifikácia, ktorou sa určí
subsumpcia
– možno postaviť zväz
• striktné odvodzovanie bez implicitných znalostí
Teória deskripčnej logiky
• definícia predikátov
– TBox
– terminologies
• tvrdenia nad konštantami
– ABox
– assertions
Elementy jazyka TBox
Koncepty
• označujú entity
• unárne predikáty
• triedy
{ x | STUDENT(x) }
{ x | ŽENATÝ(x) }
Roly
• označujú vlastnosti
• binárne predikáty
• relácie
{ <x,y> | PRIATEĽ(x,y) }
{ <x,y> | MILUJE(x,y) }
Výrazy pre koncepty
• DL organizuje informácie do tried
• koncepty!
• homogénne dáta klasifikované podľa
relevantných spoločných vlastností, ktoré
majú inštancie
Študent ⊓ Priateľ. Ženatý
𝑥 Študent 𝑥 ∧ ∃𝑦. Priateľ 𝑥, 𝑦 ∧ Ženatý(𝑦)
Poznámka k -výrazom
• je mechanizmus pomenovávania funkcií
• 𝜆 𝑥 . 𝑓(𝑥) = funkcia, ktorá pre vstup x vráti
f(x)
• platí:
• vieme pomenovávať funkcie
Definícia predikátov pomocou
• predikát = pravdivostná funkcia
• potom je funkcia:
– definičný obor: individuály z domény
– obor hodnôt: pravdivostné hodnoty
• P potom určuje množinu individuálov, pre ktoré je pravdivá
• pretože P(a) znamená, že pre a je predikát splnený
• a je rozšírenie P
Definícia predikátov pomocou
• pre unárny predikát Osoba:
Osoba := (x).Osoba(x)
• tvrdí, že Osoba určuje množinu osôb:
OsobaI = { x | Osoba(x)}
Osoba(peter) akk peterI OsobaI
• to isté pre binárny predikát:
• Priateľ := (x, y).Priateľ(x, y)
• Priateľ I := { <x,y> | Priateľ(x, y)}
Definícia predikátov pomocou
• Funkcie, ktoré definujeme lambdou, môžu
byť parametrické
Interpretácia konceptových
výrazov
Objekty a triedy
• trieda Študent:
Osoba
Meno: String
Adresa: String
Zapísaný: [Predmet]
Sémantické siete
Kvantifikátory
• Žaba ⊑ ∃MÁ-FARBU.Zelená
– každá žaba je aj zelená
• Žaba ⊑ ∀MÁ-FARBU.Zelená
– každá žaba je len zelená
Žaba Zelená
má farbu
Kvantifikátory: existenčný
• Každá žaba je aj zelená
– Žaba ⊑ ∃MÁ-FARBU.Zelená
Žaba Zelená
má farbu
Cvičenie: je toto modelom?
Žaba(oscar), Zelená(zelená), MÁ-FARBU(oscar, zelená),
Červená(červená), MÁ-FARBU(oscar, červená)
Kvantifikátory: všeobecný
• Každá žaba je len zelená
– Žaba ⊑ ∀MÁ-FARBU.Zelená
Žaba Zelená
má farbu
Cvičenie: je toto modelom?
Žaba(oscar), Zelená(zelená), MÁ-FARBU(oscar,
zelená),
Červená(červená), MÁ-FARBU(oscar, červená)
A toto?
Žaba(felix),
AGENT(felix, oscar)
Analytické odvodzovanie
[intuícia]
• Osoba
subsumuje
• Osoba, ktorá má priateľov, je lekárom
subsumuje
• Osoba, ktorá má priateľov, je chirurgom
Analytické odvodzovanie
[intuícia]
• Osoba, ktorá má aspoň dve deti
subsumuje
• Osoba, ktorá aspoň troch synov
• Osoba, ktorá má aspoň tri malé deti
disjunktná s
• Osoba s najviac dvoma deťmi
Logika
• zamerajme sa na najjednoduchšiu možnú štrukturálnu DL:
• hovorme o jazyku logiky – syntax
– sémantika
– problémy v odvodzovaní: • rozhodnuteľnosť
• zložitosť
– procesy v rozhodovaní: • korektnosť
• úplnosť
• asymptotická zložitosť
Gramatika
Alternatívna gramatika
Intuitívna sémantika
• Koncepty = triedy = množiny individuálov
– atomické koncepty: mená primitívnych konceptov
• ďalej ich nedefinujeme
• Roly = vzťahy medzi dvojicami individuálov
• :and = zodpovedá konjugovaným konceptom
– v definícii môžeme spojiť viacero vlastností
– využijeme nadkoncepty
– realizujeme reštrikciu atribútov
Kvantifikátory
:all
• reštrikcia konceptu na hodnoty atribútu
• x je (:all R C) akk
každý prvok v relačnom páre s x je konceptom C
• (:all MÁ-DIEŤA Lekár) – niečo, koho všetky deti sú
lekármi
– predpokladáme, že MÁ-DIEŤA(x, y) = x je otcom y
• použité na obmedzenie hodnoty slotu v rámci
:some
• existuje aspoň jedna
hodnota pre atribút
• x je (:some R) akk
existuje aspoň jeden prvok
v relačnom páre s x
• (:and Osoba (:some MÁ-
DIEŤA))
– reprezentuje koncept ,,rodič"
• spôsob ako zaviesť do
rámca slot
Vzťah s databázami
• atomické koncepty = jednostĺpcové tabuľky – CREATE TABLE Samec (VALUE VARCHAR)
– na dátovom type stĺpca nezáleží
– prítomnosť riadka v tabuľke je ekvivalentné situácii, keď predikát vráti TRUE
• roly = dvojstĺpcové tabuľky – opäť nezáleží na dátových typoch
• closed-world assumption: elementy, ktoré nie sú v riadkoch, sú FALSE
• open-world assumption: o elementoch neprítomných v riadkoch nevieme nič skonštatovať
Vzťah s databázami
• (:all MÁ-DIEŤA Lekár)
– SELECT MÁ-DIEŤA.x
FROM MÁ-DIEŤA, Lekár
WHERE MÁ-DIEŤA.y = Lekár.x
Lekár.X
Hippokrates
Thessalus
Draco
Vesalius
Schweitzer
MÁ-DIEŤA.X MÁ-DIEŤA.Y
Heraclides Hippokrates
Hippokrates Thessalus
Hippokrates Draco
Vesalius Anne
Vzťah s databázami
• (:some MÁ-DIEŤA)
– SELECT DISTINCT MÁ-DIEŤA.x
FROM MÁ-DIEŤA
MÁ-DIEŤA.X MÁ-DIEŤA.Y
Heraclides Hippokrates
Hippokrates Thessalus
Hippokrates Draco
Vesalius Anne
Formálna sémantika
• Interpretácia pozostáva z:
– domény: neprázdna množina
– interpretačná funkcia mapujúca
• každý koncept na podmnožinu
• každú rolu na podmnožinu
• je extenzionálna funkcia akk
Poznámky k definícii
• množina je množina individuálov v
rozšírení C
• má rovnakú pravdivostnú hodnotu
ako C(x)
• je ekvivalentné R(x, y)
Príklad
• Vyberme si doménu a extenzionálnu
funkciu nad
• vypočítajme rozšírenia nasledovných
konceptov
– (:and Dospelý Samec)
– (:and Dospelý Samec Bohatý)
– (:all MÁ-DIEŤA (:and Dospelý Samec))
– (:some MÁ-DIEŤA)
–
Problém subsumpcie
• koncept C je subsumovaný konceptom D
akk
• pre každú doménu z
• pre každú rozširujúcu funkciu nad
• platí
• t. j.
Jednoduché príklady
• (:and Dospelý Samec) ⊑ Dospelý
• (:and Dospelý Samec Bohatý) ⊑ (:and Dospelý Samec)
• (:all MÁ-DIEŤA (:and Dospelý Samec) ⊑ (:all MÁ-DIEŤA Dospelý)
• (:and (:all MÁ-DIEŤA Dospelý) (:some MÁ-DIEŤA)) ⊑ (:all MÁ-DIEŤA Dospelý)
Jednoduché protipríklady
• (:all MÁ-DIEŤA Dospelý) ⋢ (:some MÁ-DIEŤA)
• (:some MÁ-DIEŤA) ⋢ (:all MÁ-DIEŤA Dospelý)
všetky deti sú
dospelé má aspoň 1 dieťa vs
Vlastnosti súvisiace s
vypočitateľnosťou
• Subsumpcia pre
Rozhodnuteľná
Zložitosť v P
urobíme
konštruktívny
dôkaz!
Štrukturálny algoritmus
subsumpcie
• založený na štrukturálnom porovnávaní konceptových výrazov
• každý konceptový výraz pozostáva z podvýrazov
• každý podvýraz z prvého konceptového výrazu porovnáme so všetkými podvýrazmi druhého konceptového výrazu
• dve fázy: 1. Prepíšme koncepty do normálnej formy
2. Porovnajme ich štruktúry
Normálna forma
1. Zbavíme sa zátvoriek vo vnorených
konjunkciách
2. Konjunkcie univerzálnych kvantifikátorov
prepíšeme na kvantifikovanú konjunkciu
Prepisovacie pravidlá vedú k ekvivalentným formulám!
(Dôkaz na domácu úlohu ).
Základný algoritmus
pre subsumpciu
• Majme koncepty v normálnej forme
• Algoritmus SUBS?[C, D] vráti TRUE akk
pre každý podkoncept :
– buď ide o atomický koncept alebo koncept
tvaru
• potom existuje také, že
– alebo ide o koncept tvaru , a potom
existuje tvaru (s rovnakou
atomickou rolou ), takou, že SUBS? [C', D']
Asymptotická zložitosť
• indukciou cez všeobecné kvantifikátory vieme
dokázať, že zložitosť je O(|C| x |D|)
– kvadratická vzhľadom na dĺžku ,,dlhšieho" konceptu
• optimalizácia:
– usporiadajme lexikograficky podvýrazy každého
konceptu
– zložitosť bude len O(n . log(n))
• binárne vyhľadávanie
• n je dĺžka ,,dlhšieho" konceptu
– ale dominantným faktorom bude zložitosť algoritmu
usporiadavania konceptov
Korektnosť
• odvodzovací algoritmus je korektný, ak
každé riešenie, ktoré sa pomocou neho
získa, je aj skutočným riešením
• Tvrdenie: Algoritmus štrukturálnej
subsumpcie je korektný.
– ak SUBS?[C, D] je TRUE, potom vo všetkých
interpretáciách je
Pozorovanie
• krok algoritmu, v ktorom prerábame výrazy
do normálnej formy nikdy nemení
rozširujúcu funkciu pre danú interpretáciu
• nemá teda vplyv na korektnosť
• ani úplnosť
Neformálny dôkaz
• Predpokladajme, že SUBS?[C, D] je pravdivé
• Uvažujme nad jedným z podkonceptov
• buď je rovný niektorému konceptu
• alebo je tvaru
– potom musí existovať medzi podkonceptami
D-čka , kde platí SUBS?[C', D']
– použitím indukčného kroku dostaneme, že rozšírenie
D' musí byť podmnožinou C'
– a teda každé rozšírenie Dj musí byť
podmnožinou Ci
Neformálny dôkaz
• bez ohľadu na tvar je Ci platí, rozšírenie D
musí byť podmnožinou Ci
– toto D je konjunkciou Dj-čiek
• toto navyše platí pre každé Ci
• teda rozšírenie D musí byť podmnožinou
rozšírenia C
– rozšírenie C je prienik všetkých rozšírení Ci
• teda vždy, keď SUBS vracia TRUE, C
subsumuje D a teda
Úplnosť
• ak existuje riešenie danej inštancie problému,
úplný odvodzovací algoritmus ho nájde.
• Vždy keď pre každú interpretáciu,
potom algoritmus povie, že C subsumuje D
Tvrdenie
Štrukturálny algoritmus je úplný.
Úplnosť: idea dôkazu
• Ukážeme, že vždy, keď SUBS?[C, D] vráti
FALSE, existuje interpretácia, ktorá priradí prvok
konceptu D, ale nie konceptu C
– teda interpretácia rozšírenia C nebude nadmnožinou
rozšírenia D
• Táto interpretácia je protipríkladom.
• Ak algoritmus vráti FALSE,
• ... znamená to, že nie je pravda, že
• .. a teda C ⋢ D (:and Dospelý Samec) ⊑ Dospelý
SUBS?[(:and Dospelý Samec), Dospelý]
Idea dôkazu
• Vždy, keď SUBS?[C, D] je FALSE, môžeme
nájsť podvýraz Ci v C taký, že preň neexistuje
súputník v koncepte D.
• V tom prípade ukážeme, že existuje
interpretácia, ktorá priraďuje objekt
akémukoľvek primitívnemu konceptu, ale nie
konceptu Ci
• Z toho vyplynie, že je nemožné, aby bolo
Štrukturálne algoritmy:
,,normalizuj a porovnaj"
• čo sa stane, ak obohatíme expresivitu?
• staršie systémy s neúplnými algoritmami – klasický, BACK, LOOM
• problémom sú interakcie medzi konštruktormi
– štrukturálne algoritmy sú založené na syntaktickom
porovnávaní podvýrazov
– neberú ich do úvahy
Príklad: A ⊔ A subsumuje ľubovoľný koncept, dokonca i taký, ktorý vo
svojej definícii nespomína A
Sumár: kde sa nachádzame
• deskripčné logiky sú formalizáciou OO
jazykov
• DL sú jazykmi na úrovni predikátov
– koncepty
– roly
• odvodzovanie (reasoning)
– problém subsumpcie
• najjednoduchšia DL z hľadiska štruktúry:
Aký má zmysel DL?
• ak je predikátový počet použitý bez
akýchkoľvek obmedzení
– strácame štruktúru znalostí
• bez premenných
• koncepty sú triedami
• roly sú vlastnosťami
– vyjadrovacia sila (expresivita) je priveľká
• na dobré vlastnosti súvisiace s vypočítateľnosťou
• na efektívne odvodzovacie procedúry
Axiómy, disjunkcie a negácie
• nutná podmienka pre lektora je
– nebyť študentom alebo byť profesorom
– absolvent, ktorý lektoruje nemusí byť profesorom
– môžeme mať profesora, ktorý nie je absolventom • v slovenskom systéme nemožné, v zahraničných áno ;-)
Lektor ⊑ Študent ⊔ Profesor
∀x. Lektor(x) →Študent(x) ∨ Profesor(x)
Axiómy, disjunkcie a negácie
• pre atomický koncept na ľavej strane
– symbol ⊑ reprezentuje primitívnu definíciu
– udáva len nutné podmienky
– symbol ≐ udáva skutočnú definíciu
– nutné aj postačujúce podmienky
Lektor ≐ Študent ⊔ Profesor
∀x. Lektor(x) ↔ Študent(x) ∨ Profesor(x)
najjednoduchšia
výroková DL
Primitívny koncept
Primitívna rola
Top koncept
Bottom koncept
Komplement
Konjunkcia
Disjunkcia
Všeobecný kvantifikátor
Existenčný kvantifikátor
Uzavretý jazyk predikátového
počtu
• konjunkcia – interpretovaná ako
prienik množiny individuálov
• disjunkcia – interpretovaná ako
zjednotenie množiny individuálov
• negácia – interpretovaná ako
komplement množiny individuálov
Negácia kvantifikátorov
porovnajme s expresivitou
Formálna sémantika
• Interpretácia pozostáva z:
– domény: neprázdna množina
– interpretačná funkcia mapujúca
• každý koncept na podmnožinu
• každú rolu na podmnožinu
• každý individuál na prvok z množiny
• interpretačná funkcia je rozširujúcou
funkciou akk spĺňa sémantické definície
jazyka
Základné znalosti
TBox: deskripčná sémantika
• pre TBox je navrhnutých viacero sémantík
– typické kritérium: povoľujeme cyklické tvrdenia?
• budeme uvažovať sémantiku založenú na
klasickej logike
Interpretácia spĺňa tvrdenie C ⊑ D ak
Interpretácia spĺňa tvrdenie C ≐ D ak
Interpretácia je modelom TBoxu, ak spĺňa
všetky tvrdenia v ňom.
ABox
• Ak je interpretácia, potom platí
– C(a) je splniteľné v tejto interpretácii ak
– R(a, b) je splniteľné, ak
• Množina obsahujúca výroky (assertions) sa nazýva ABox
• Interpretáciu nazývame modelom ABoxu, ak každý výrok v tomto Aboxe je v nej splniteľný.
• ABox je splniteľný, ak má model
ABox
• Interpretácia sa nazýva
modelom základnej znalosti Σ, ak každá
axióma z tejto základnej znalosti je v
splniteľná
• Základná znalosť je splniteľná, ak má
model.
Logická implikácia
• Ak každý model základnej znalosti je
modelom výroku φ, označujeme to
Logické dôsledky: čo ak...
Odvodzovacie procedúry
• Splniteľnosť konceptu
– je koncept splniteľný v základnej znalosti?
– existuje model základnej znalosti, ktorý
interpretuje koncept do neprázdnej množiny?
Študent ⊓ Osoba
Odvodzovacie procedúry
• Subsumpcia
– je koncept C subsumovaný konceptom D
vzhľadom na základnú znalosť?
– platí pre každý model základnej znalosti, že
Študent ⊑ Osoba
Odvodzovacie procedúry
• Splniteľnosť
– má základná znalosť model?
– otázka, či je základná znalosť splniteľná
Študent ≐ Osoba
Odvodzovacie procedúry
• Overenie inštancie (instance check)
– je daný výrok C(a) splniteľný v každom modeli
základnej znalosti Σ?
Profesor(knuth)
Odvodzovacie procedúry
• Získanie inštancií
– chceme všetky individuály, pre ktoré je daný
koncept splniteľný v danej základnej znalosti
Profesor => {knuth}
Odvodzovacie procedúry
• Realizácia
– chceme všetky koncepty, ktoré sú s daným
individuálom splniteľné v danej základnej
znalosti
knuth => Profesor
Redukcia na splniteľnosť
• niektoré odvodzovacie procedúry vieme
previesť na problém splniteľnosti
• splniteľnosť konceptu:
– ekvivalentné problému:
– existuje x také, že má model
• sumsumpcia
– ekvivalentné problému
– nemá
žiaden model
Redukcia na splniteľnosť
• niektoré odvodzovacie procedúry vieme
previesť na problém splniteľnosti
• overenie inštancie
– ekvivalentné problému:
– existuje x také, že nemá
model
Taxonómie
• subsumpcia je relácia čiastočného usporiadania na množine konceptov
• ak berieme do úvahy len pomenované koncepty, subsumpcia indukuje taxonómiu, kde explicitne kreslíme len priame subsumpčné vzťahy
Taxonómia
Minimálna relácia nad
množinou
pomenovaných
konceptov taká, že jej
reflexívno-tranzitívny
uzáver je reláciou
sumsumpcie.
Taxonómie
Klasifikácia
• Pre daný koncept C a TBox T a pre všetky koncepty D z TBoxu T chceme zistiť, či D subsumuje C alebo D je subsumované C.
• Intuitívne: chceme nájsť správne miesto pre koncept C v taxonómii, ktorá je implicitne daná v Tboxe
• Klasifikácia: úloha vkladania nových konceptov do taxonómie
– Triedenie nad čiastočným usporiadaním
Odvodzovacie procedúry
• Konečné, efektívne a úplné algoritmy pre rozhodnutie splniteľnosti sú k dispozícii. – rovnako pre ostatné spomenuté odvodzovacie
procedúry
– založené na technikách tableaux kalkulu
• úplnosť je dôležitá pre použitie deskripčných logík v reálnych aplikáciách
• tieto algoritmy sú efektívne pre priemerné základné znalosti – a to i v prípade, že problém v príslušnej logike je
z PSPACE, resp. EXPTIME
Niektoré rozšírenia ALC
Reštrikcie v kardinalitách
• Kvantifikátory v rolách nedokážu pokryť
niektoré prípady
• ,,Žena má aspoň tri [najviac 5] detí"
• Ide o rozšírenie klasických kvantifikátorov
Reštrikcie v kardinalitách
Roly ako funkcie
• Rola je funkcionálna, ak filler má funkčnú
závislosť na individuále
– ak rolu možno považovať za funkciu
– R(x,y) je ekvivalentné f(x) = y
• roly MÁ-POTOMKA a JE-RODIČOM nie sú
funkcionálne
• roly JE-MATKOU a MÁ-VEK sú funkcionálne
• ak je rola funkcionálna, označujeme operátorom
selekcie
Individuály
• predpokladáme, že v každej interpretácii
označujú rozličné individuály rôzne prvky
• pre každú dvojicu individuálov a, b a pre
každú interpretáciu I platí, že ak a <> b,
potom aI <> bI
• Unique Name Assumption: predpoklad
rozličných mien
• obvyklé v databázových aplikáciách
Individuály
• Koľko detí má táto rodina?
• Rodina(r)
• Je-otcom(r, ján), Je-matkou(r, zuzana)
• Je-synom(r, paľo), Je-synom(r, juraj),
• Je-synom(r, andrej)
Vymenované typy
Vzťah logiky a OO modelu
Niektoré konštruktory pre rolové
výrazy
Rozšírenia deskripčných logík
• implicitné hodnoty
(defaults)
• beliefs (viera)
• pravdepodobnostné
odvodzovanie a
odvodzovanie založené
na podobnosti
• epistemické tvrdenia
– individuály, o ktorých
vieme, že spĺňajú koncepty
• closed world assumption
• záznamy, množiny,
kolekcie, agregácie
• konkrétne domény
– tvrdenia závisia od domény
• ontologické primitívy
– čas a akcie
– priestor
– časti a celky