Różnice

Różnice między wybraną wersją a wersją aktualną.

Odnośnik do tego porównania

Both sides previous revision Poprzednia wersja
Nowa wersja
Poprzednia wersja
pl:dydaktyka:krr:lab_dl [2013/05/31 21:13]
ikaf
pl:dydaktyka:krr:lab_dl [2019/06/27 15:50] (aktualna)
Linia 13: Linia 13:
   * Elementami reprezentacji są **pojęcia** (klasy), **role** (relacje) i **instancje** (obiekty ((Nazwy w nawiasach używane są zwykle w ontologiach zapisanych w języku OWL, opartym na formalizmie DL))).   * Elementami reprezentacji są **pojęcia** (klasy), **role** (relacje) i **instancje** (obiekty ((Nazwy w nawiasach używane są zwykle w ontologiach zapisanych w języku OWL, opartym na formalizmie DL))).
   * Logiki opisowe są koncepcyjnie powiązane z //sieciami semantycznymi//​ (ang. //semantic networks//) i //ramami// (ang. //​frames//​),​ jednak w przeciwieństwie do nich, przez swoje powiązanie z logiką pierwszego rzędu, posiadaję formalnie zdefiniowaną semantykę i zapewniają możliwość automatycznego wnioskowania.   * Logiki opisowe są koncepcyjnie powiązane z //sieciami semantycznymi//​ (ang. //semantic networks//) i //ramami// (ang. //​frames//​),​ jednak w przeciwieństwie do nich, przez swoje powiązanie z logiką pierwszego rzędu, posiadaję formalnie zdefiniowaną semantykę i zapewniają możliwość automatycznego wnioskowania.
 +  * Intuicyjnie można powiedzieć,​ że logiki opisowe łączą paradygmat obiektowy (ramy, sieci semantyczne) z logiką (rachunek predykatów,​ logika 1. rzędu).
  
 __**Przykład 1**__: graf obrazujący zbiór obiektów powiązanych relacjami i należących do pewnych klas: __**Przykład 1**__: graf obrazujący zbiór obiektów powiązanych relacjami i należących do pewnych klas:
Linia 18: Linia 19:
  
 Wybrane fragmenty ww. grafu zapisane w logice opisowej: Wybrane fragmenty ww. grafu zapisane w logice opisowej:
-    * <​latex>​ Fred: person </​latex>,​ <​latex> ​ Tibbs: cat</​latex>,​ <​latex> ​ (Tred, Tibbs) : has\_pet</​latex>​+    * <​latex>​ Fred : person </​latex>,​ <​latex> ​ Tibbs: cat</​latex>,​ <​latex> ​ (Fred, Tibbs) : has\_pet</​latex>​
     * <​latex> ​ man \equiv person \sqcap adult \sqcap male</​latex>,​ <​latex> ​ cat\_liker \equiv person \sqcap \exists likes.cat</​latex> ​     * <​latex> ​ man \equiv person \sqcap adult \sqcap male</​latex>,​ <​latex> ​ cat\_liker \equiv person \sqcap \exists likes.cat</​latex> ​
     * <​latex>​(cat\_liker,​ cat) : likes </​latex>,​ <​latex>​ (sheep, grass) : eats\_only</​latex>​     * <​latex>​(cat\_liker,​ cat) : likes </​latex>,​ <​latex>​ (sheep, grass) : eats\_only</​latex>​
Linia 31: Linia 32:
   - przynależność obiektu do klasy (ang. //concept assertions//​),​ np:   - przynależność obiektu do klasy (ang. //concept assertions//​),​ np:
     * <​latex>​Fred : person </​latex>​ - Fred jest osobą ​     * <​latex>​Fred : person </​latex>​ - Fred jest osobą ​
-    * <​latex>​Tibbs : cat</​latex>​ Tibbs jest kotem+    * <​latex>​Tibbs : cat</​latex> ​Tibbs jest kotem
   - relacja między dwoma obiektami   - relacja między dwoma obiektami
     * <​latex>​ (Fred, Tibbs) : has\_pet</​latex>​ - Fred ma zwierzę, którym jest Tibbs     * <​latex>​ (Fred, Tibbs) : has\_pet</​latex>​ - Fred ma zwierzę, którym jest Tibbs
Linia 38: Linia 39:
   - definicje pojęć (warunki konieczne i wystarczające),​ np.   - definicje pojęć (warunki konieczne i wystarczające),​ np.
     * <​latex> ​ man \equiv person \sqcap adult \sqcap male</​latex>​ - Mężczyzna to dorosła osoba rodzaju męskiego ​     * <​latex> ​ man \equiv person \sqcap adult \sqcap male</​latex>​ - Mężczyzna to dorosła osoba rodzaju męskiego ​
-    * <​latex> ​ cat\_liker \equiv person \sqcap \exists likes.cat</​latex>​ - Miłośnik kotów to osoba takaże istnieje kot, którego ta osoba lubi+    * <​latex> ​ cat\_liker \equiv person \sqcap \exists likes.cat</​latex>​ - Miłośnik kotów to osoba, ​która ​lubi (jakiegoś) kota
   -  relacje między pojęciami (klasami)   -  relacje między pojęciami (klasami)
     * <​latex>​ (cat\_liker,​ cat) : likes</​latex>​ - (każdy) miłośnik kotów lubi (jakiegoś) kota     * <​latex>​ (cat\_liker,​ cat) : likes</​latex>​ - (każdy) miłośnik kotów lubi (jakiegoś) kota
     * <​latex>​ (sheep, grass) : eats\_only</​latex>​ - (każda) owca je tylko trawę     * <​latex>​ (sheep, grass) : eats\_only</​latex>​ - (każda) owca je tylko trawę
   - aksjomaty   - aksjomaty
-    * <​latex>​ cat \sqsubseteq animal</​latex>​ kot jest zwierzęciem (hierarchia pojęć)+    * <​latex>​ cat \sqsubseteq animal</​latex> ​(każdy) ​kot jest zwierzęciem (hierarchia pojęć)
     * <​latex> ​ sheep \sqsubseteq animal \sqcap \forall eats.grass</​latex>​ owce to zwierzęta, które jedzą tylko trawę (warunek konieczny, ale nie wystarczający)     * <​latex> ​ sheep \sqsubseteq animal \sqcap \forall eats.grass</​latex>​ owce to zwierzęta, które jedzą tylko trawę (warunek konieczny, ale nie wystarczający)
  
Linia 59: Linia 60:
   * Podstawowe elementy języka to: //atomicze pojęcia// i //atomiczne role//.   * Podstawowe elementy języka to: //atomicze pojęcia// i //atomiczne role//.
   * Złożone opisy tworzy się indukcyjnie za pomocą //​konstruktorów//​.   * Złożone opisy tworzy się indukcyjnie za pomocą //​konstruktorów//​.
-  * Poszczególne ​logiki opisowe ​różnią się między sobą **zbiorem dopuszczalnych konstruktorów** +  * Poszczególne ​języki DL różnią się między sobą **zbiorem dopuszczalnych konstruktorów** 
-  * Najprostszy językAL+  * Najprostszy język ​to AL (ang. //​Attributive Language//)
  
 === Składnia AL === === Składnia AL ===
Linia 136: Linia 137:
     - Ci którzy nie są w związku małżeńskim,​ a wszyscy ich przyjaciele są albo kobietami albo mężczyznami w związkach małżeńskich.     - Ci którzy nie są w związku małżeńskim,​ a wszyscy ich przyjaciele są albo kobietami albo mężczyznami w związkach małżeńskich.
     - Wyznacz rozszerzenie powyższych pojęć w interpretacji I (sprawdź czy/kto w podanej interpretacji zalicza się do tych grup).     - Wyznacz rozszerzenie powyższych pojęć w interpretacji I (sprawdź czy/kto w podanej interpretacji zalicza się do tych grup).
-  - Zapisz następujące pojęcia w postaci aksjomatów (postaci <​latex>​A \sqsubseteq B) języka <​latex>​ALC</​latex>:​ +  - Zapisz następujące pojęcia w postaci aksjomatów (postaci <​latex>​A \sqsubseteq B</​latex>​) języka <​latex>​ALC</​latex>:​ 
-    - Ci, którzy nie mają męskich przyjaciół,​ nie mają zwierząt ​domoych.+    - Ci, którzy nie mają męskich przyjaciół,​ nie mają zwierząt ​domowych.
     - Wszyscy mężczyźni są albo w związku małżeńskim albo mają nie-męskiego przyjaciela.     - Wszyscy mężczyźni są albo w związku małżeńskim albo mają nie-męskiego przyjaciela.
     - Czy te aksjomaty są prawdziwe w danej interpretacji?​     - Czy te aksjomaty są prawdziwe w danej interpretacji?​
  
-Odpowiedzi: [[lab_dl_answers#​reprezentacja_-_zadania]]+Odpowiedzi: [[lab_dl_answers#​reprezentacja_-_zadanie]]
  
 ==== - Powiązanie z innymi rachunkami (logicznymi) ==== ==== - Powiązanie z innymi rachunkami (logicznymi) ====
Linia 148: Linia 149:
     * relacje (atomiczne) ⇔ predykaty binarne     * relacje (atomiczne) ⇔ predykaty binarne
     * pojęcia ⇔ formuły z jedną wolną zmienną     * pojęcia ⇔ formuły z jedną wolną zmienną
-  * Formuły logiki opisowej można intuicyjnie interpretować poprzez analogię do algabry ​zbiorów+  * Formuły logiki opisowej można intuicyjnie interpretować poprzez analogię do algebry ​zbiorów
  
 ^ Przykład użycia ^ Składnia DL ^ Składnia FOL ^ Algebra zbiorów ^ ^ Przykład użycia ^ Składnia DL ^ Składnia FOL ^ Algebra zbiorów ^
Linia 221: Linia 222:
 Składnia: Składnia:
   * TBox to skończony zbiór aksjomatów terminologicznych postaci:   * TBox to skończony zbiór aksjomatów terminologicznych postaci:
-    * <​latex> ​ C \sqsubseteq D (R \sqsubseteq S</​latex>​  +    * <​latex> ​ C \sqsubseteq D </​latex>​  
-    * lub <​latex>​ C \equiv D (R \equiv S</​latex>​ +    * <​latex>  ​R \sqsubseteq S </​latex>​  
-  * Definicje to równości, które po leweje ​stronie mają pojęcie atomiczne+    * <​latex>​ C \equiv D </​latex>​ 
 +    * <​latex> ​R \equiv S </​latex>​ 
 +  * Definicje to równości, które po lewej stronie mają pojęcie atomiczne
  
 Semantyka: Semantyka:
   * funkcja interpretacji <​latex>​ \mathcal{I} </​latex>​ mapuje każde pojecie na podzbiór dziedziny   * funkcja interpretacji <​latex>​ \mathcal{I} </​latex>​ mapuje każde pojecie na podzbiór dziedziny
-  * interpretacja //​spełnia//​ aksjomat <​latex> ​ C \sqsubseteq D (R \sqsubseteq S) </​latex>​ jeżeli: <​latex> ​ C^{\mathcal{I}} \subseteq D^{\mathcal{I}} </​latex> ​lub <​latex> ​ R^{\mathcal{I}} \subseteq ​S^{\mathcal{I}} ​</​latex>​ +  * interpretacja //​spełnia//​ aksjomat <​latex> ​ C \sqsubseteq D </​latex>​ jeżeli: <​latex> ​ C^{\mathcal{I}} \subseteq D^{\mathcal{I}} </​latex>​; analogicznie w przypadku relacji ​<​latex>​ R \sqsubseteq ​S </​latex>​ 
-  * interpretacja //I// spełnia definicję <​latex>​ C \equiv D (R \equiv S) </​latex>​ jeżeli: <​latex> ​ C^{\mathcal{I}} = D^{\mathcal{I}} </​latex> ​lub <​latex> ​ R^{\mathcal{I}} = S^{\mathcal{I}} ​</​latex> ​+  * interpretacja //I// spełnia definicję <​latex>​ C \equiv D </​latex>​ jeżeli: <​latex> ​ C^{\mathcal{I}} = D^{\mathcal{I}} </​latex>​; analogicznie w przypadku relacji ​<​latex>​ R \equiv S </​latex>​
   * interpretacja //spełnia terminologię (TBox)// jeżeli spełnia wszystkie jej aksjomaty. Mówimy wtedy, że I //jest modelem// T.   * interpretacja //spełnia terminologię (TBox)// jeżeli spełnia wszystkie jej aksjomaty. Mówimy wtedy, że I //jest modelem// T.
  
 __**Ćwiczenie 4**__: __**Ćwiczenie 4**__:
-Zapisz ​poniższe TBox'​y ​w postaci ​zdań oraz zobrazuj je za pomocą grafów: +Używając pojęć: "​Przedmiot",​ "​Wykładowca",​ "​Mgr"​ i "​Inż"​ oraz ról "​prowadzi"​ i "​maTytuł"​ przedstaw ​poniższą wiedzą ​w postaci ​TBoxa: 
-^ Lp^ Aksjomaty ^ +  - Każdy kto prowadzi przedmiot musi mieć albo stopień magistra albo być wykładową. 
-| TBox 1 | <​latex>​ \\ +  - Każdy wykładowca ma tytuł inżyniera
-Animal \sqsubseteq \exists eats\top\\ +  ​- Każdy wykładowca prowadzi jakiś przedmiot
-\mathit{Giraffe} ​ \sqsubseteq ​ Animal\\ +  ​- Każdy posiadający tytuł magistra ma też tytuł inżyniera
-Giraffe ​ \sqsubseteq ​ \forall eats.Leaf\\ ​ + 
-</​latex>​| +Odpowiedzi: [[lab_dl_answers#​tbox]]
-| TBox 2 | <​latex>​ +
-Vegetarian \equiv (\forall eats.(\neg (\exists partOf.Animal))) \sqcap (\forall eats.(\neg Animal)) \sqcap Animal\\ +
-Cow \sqsubseteq Vegetarian\\ +
-MadCow \equiv \exists eats.(\exists partOf.Sheep \sqcap Brain) \sqcap Cow \\ +
-</​latex>​ | +
-| TBox 3 | <​latex>​ +
-Elderly \sqsubseteq ​ Adult\\ +
-OldLady \equiv Elderly \sqcap Female \sqcap Person \\ +
-</​latex>​ | +
-| TBox 4 | <​latex>​ +
-OldLady \sqsubseteq ​ \exists hasPet.Animal \sqcap \forall hasPet.Cat \\  +
-DogOwner \equiv Person \sqcap \exists hasPet.Dog \\ +
-AnimalLover \equiv Person \sqcap \geq 3 hasPet \\ +
-</​latex>​ |+
  
  
 ==== - Opis świata (ABox) ==== ==== - Opis świata (ABox) ====
-Składnia: ABox zawiera wiedzę o instancjac ​(obiektach występujących w opisywanym świecie), w tym: +Składnia: ABox zawiera wiedzę o instancjach ​(obiektach występujących w opisywanym świecie), w tym: 
-  * tzw. //concept assertions//​ np. C(a) +  * stwierdzenia o przynależności do klasy tzw. //concept assertions//​ np. a : C 
-  * tzw. //role assertions//​ np. R(b,c)+  * stwierdzenia o relacjach między obiektami ​tzw. //role assertions//​ np. (b,c) : R
  
 Semantyka: Semantyka:
   * funkcja interpretacji mapuje każdą nazwę na element dziedziny.   * funkcja interpretacji mapuje każdą nazwę na element dziedziny.
   * interpretacja //​spełnia//​ (względem terminologii T):   * interpretacja //​spełnia//​ (względem terminologii T):
-    * C(a) iff <​latex>​ a^{\mathcal{I}} \in C^{\mathcal{I}}</​latex>​ +    * a : wtw gdy <​latex>​ a^{\mathcal{I}} \in C^{\mathcal{I}}</​latex>​ 
-    * R(b,c) iff <​latex> ​b^{\mathcal{I}},​ c^{\mathcal{I}} ​\in R^{\mathcal{I}}</​latex>​ +    * (b,c) : R wtw gdy <​latex> ​(b^{\mathcal{I}},​ c^{\mathcal{I}}\in R^{\mathcal{I}}</​latex>​ 
-    * ABox iff spełnia wszystkie jego stwierdzenia. Mówimy wtedy, że I //jest modelem// A.+    * ABox wtw gdy spełnia wszystkie jego stwierdzenia. Mówimy wtedy, że I //jest modelem// A.
  
  
 __**Ćwiczenie 5**__ __**Ćwiczenie 5**__
 Dany jest następujący opis świata (ABox): Dany jest następujący opis świata (ABox):
 +  * (john,​susan):​ friend
 +  * (john,​andrea):​ friend
 +  * (susan,​andrea):​ loves
 +  * (andrea,​bill):​ loves
 +  * susan: Female
 +  * bill: ¬Female
  
-<​latex> ​ +  - Wypisz relacje, klasy i obiekty. 
-\\Cat(Tibbs)\\ +  - Przedstaw ww. ABox w postaci grafu. 
-Dog(Fido)\\ +  - Zapisz następujące stwierdzenie:​ "John ma przyjaciółkę ​(przyjaciela rodzaju żeńskiego), które jest zakochana w mężczyźnie ​(osobie niebędącej rodzaju żeńskiego)" w postaci ''​john : X''​gdzie ''​X''​ jest odpowiednim opisem.
-Cow(Flossie)\\ +
-\\ +
-Person(Fred)\\ +
-Person(Joe)\\ +
-\leq 1 hasPet(Joe)\\ +
-Female(Minnie)\\ +
-Male(Mick)\\ +
-\\ +
-hasPet(JoeFido)\\ +
-hasPet(Fred,Tibbs)\\ +
-isPetOf(Rex,Mick)\\ +
-\\ +
-reads(Mick, DailyMirror)\\ +
-drives(Mick,​ Q123ABC)\\ +
-\\ +
-Van(Q123ABC)\\ +
-WhiteThing(Q123ABC)\\ +
-</​latex>​ +
- +
-FIXME+
  
 +Odpowiedzi: [[lab_dl_answers#​abox]]
 ===== - Wnioskowanie w logikach deskrypcyjnych ===== ===== - Wnioskowanie w logikach deskrypcyjnych =====
   * Logiki opisowe, dzięki formalnemu ugruntowaniu w logice, umożliwiają automatyczne wnioskowanie.   * Logiki opisowe, dzięki formalnemu ugruntowaniu w logice, umożliwiają automatyczne wnioskowanie.
Linia 318: Linia 294:
     * Dwa pojęcia C i D są //​rozłączne//​ wzg. T. jeżeli <​latex>​ C^{\mathcal{I}} \cap D^{\mathcal{I}} = \emptyset</​latex>​ dla każdego modelu I terminologii T.     * Dwa pojęcia C i D są //​rozłączne//​ wzg. T. jeżeli <​latex>​ C^{\mathcal{I}} \cap D^{\mathcal{I}} = \emptyset</​latex>​ dla każdego modelu I terminologii T.
  
-__**Ćwiczenie ​7**__ +__**Ćwiczenie ​6**__ 
-FIXME+  - Wiedząc, że: 
 +    * <​latex>​Vegetarian \equiv (\forall eats.(\neg (\exists partOf.Animal))) \sqcap (\forall eats.(\neg Animal)) \sqcap Animal</​latex>​ 
 +    * <​latex>​Cow \sqsubseteq Vegetarian</​latex>​ 
 +    * <​latex>​MadCow \equiv \exists eats.(\exists partOf.Sheep \sqcap Brain) \sqcap Cow </​latex>​ \\ Odpowiedz na pytanie: 
 +    - Jakiemu pojęciu jest równoważne pojęcie ''​MadCow''?​ 
 +  - Wykorzystując bazę wiedzy z sekcji [[#​terminologia_tbox]] odpowiedz na pytanie:  
 +    - Czy zdanie"​ "​Każdy kto prowadzi przedmiot musi mieć tytuł inżyniera"​ jest logiczną konsekwencją tej bazy wiedzy? Odpowiedź uzasadnij.
  
  
Linia 331: Linia 313:
  
 __Uwaga:__ __Uwaga:__
-  * all TBox tasks can be reduced to subsumption or satisfiability +  * wszystkie zadania ​TBox mogą być zredukowane do zadania subsumcji lub spełnialności 
-    * C and are disjoint ​⇔ <​latex>​ C \sqcap D</​latex> ​is subsumed by ⊥ +    * C są rozłączne ​⇔ <​latex>​ C \sqcap D</​latex> ​zawiera się w ⊥ 
-    * e.g. C is subsumed by D ⇔ <​latex>​ C \sqcap \neg D </​latex> ​is unsatisfiable ​(**this is used in //tableau-based algorithms//​**+    * np. C zawiera się D ⇔ <​latex>​ C \sqcap \neg D </​latex> ​nie jest spełnialne ​(na tej obserwacji opierają się algorytmy ​tableau) 
-  * all inferences can be reduced to //​consistency checking// of an ABox+  * wszystkie zadania wnioskowania mogą być sprowadzone do sprawdzenia spójności bazy wiedzy.
  
-__**Ćwiczenie ​8**__ +__**Ćwiczenie ​7**__:
- +
-==== - Założenie o otwartości świata ==== +
-  * Analogia bazy wiedzy DL i relacyjnej bazy danych: +
-    * schemat bazy danych <-> TBox +
-    * instancje danych <-> ABox +
-  * W przeciwieństwie do relacyjnych baz danych, brak w ABox oznacza **brak wiedzy**, nie zaś negatywnąinformację +
-  * ABox reprezentuje potencjalnie nieskończenie wiele interpretacji. +
-  * Semantyka otwartego świata wymaga nietrywialnych mechanizmów wnioskowania,​ a realizaja zapytań jest bardziej skomplikowana. +
- +
-__**Ćwiczenie**__+
   - Wiedząc, że:   - Wiedząc, że:
     * <​latex>​ OldLady \equiv Elderly \sqcap Female \sqcap Person</​latex>​     * <​latex>​ OldLady \equiv Elderly \sqcap Female \sqcap Person</​latex>​
Linia 354: Linia 326:
     - Do jakiej klasy należy obiekt Minnie?     - Do jakiej klasy należy obiekt Minnie?
     - Do jakiej klasy należy obiekt Tom?     - Do jakiej klasy należy obiekt Tom?
-  - Wiedząc, ​że+  - Rozważ opis świata z sekcji [[#abox]] i odpowiedz na pytanie
-    * <​latex>​Vegetarian \equiv (\forall eats.(\neg (\exists partOf.Animal))) \sqcap (\forall eats.(\neg Animal)) \sqcap Animal</​latex>​ +    * Czy John należy do klasy: ∃friend.(Female ⊓ ∃loves.¬Female)? 
-    * <​latex>​Cow \sqsubseteq Vegetarian</​latex>​ +    * Podpowiedź:​ 
-    <​latex>​MadCow \equiv \exists eats.(\exists partOf.Sheep \sqcap Brain) \sqcap Cow </​latex>​ \\ Odpowiedz na pytanie: +      Zwizualizuj w postaci grafu ten ABox, zaobserwuj, do jakich klas należą poszczególne obiekty
-    - Jakiemu pojęciu jest równoważne pojęcie ​''​MadCow''​?+      * Rozważ dwa przypadki: ​''​andrea : Female'​' ​''​andrea : ¬Female''​ 
  
 Odpowiedzi: [[lab_dl_answers#​wnioskowanie]] Odpowiedzi: [[lab_dl_answers#​wnioskowanie]]
 +
 +==== - Założenie o otwartości świata ====
 +  * Analogia bazy wiedzy DL i relacyjnej bazy danych:
 +    * schemat bazy danych <-> TBox
 +    * instancje danych <-> ABox
 +  * W przeciwieństwie do relacyjnych baz danych, brak w ABox oznacza **brak wiedzy**, nie zaś negatywnąinformację
 +  * ABox reprezentuje potencjalnie nieskończenie wiele interpretacji.
 +  * Semantyka otwartego świata wymaga nietrywialnych mechanizmów wnioskowania,​ a realizaja zapytań jest bardziej skomplikowana.
  
 **BONUS**: **BONUS**:
Linia 379: Linia 360:
   - Wnioskowanie o ograniczeniach na elementach modelu   - Wnioskowanie o ograniczeniach na elementach modelu
   - Stop, kiedy nie można zastosować więcej reguł lub wystąpiła sprzeczność   - Stop, kiedy nie można zastosować więcej reguł lub wystąpiła sprzeczność
 +
 +__**Ćwiczenie 8**__ (dla chętnych):
 +
 +Sprawdź czy poniższe pojęcia są spełnialne:​
 +  - A ⊓ ∃R.C ⊓ ∀R.D ​
 +  - ∃R.C ⊓ ∀R.¬(C ⊓ D) 
 +  - A⊓∃R.C⊓∀R.D⊓∀R.¬(C⊓D) ​
 +  - ∃R.(A ⊓ ∃R.C) ⊓ ∀R.¬C ​
 +  - ∃R.(A ⊓ ∃R.C) ⊓ ∀R.∀R.¬C ​
 +  - ¬C ⊓ ∃R.C ⊓ ∀R.(¬C ⊔ ∃R.C) ​
 +  - A ⊓ ∀R.A ⊓ ∀R.¬∃P.A ⊓ ∃R.∃P.A
 +Przykładowe rozwiązania z użyciem algorytmu tableau: [[http://​www.dcs.bbk.ac.uk/​~michael/​sw/​slides/​Sew11-8-tut.pdf|tutaj]].
  
  
 ==== - Wsparcie narzędziowe ==== ==== - Wsparcie narzędziowe ====
-Silniki ​wnioskujące dla DL +Istnieje wiele implementacji silników ​wnioskujących dla logik deskrypcyjnych. 
-  ​* ​[[http://​www.cs.man.ac.uk/​~sattler/​reasoners.html|lista Prof. U. Sattler]]+Niektóre z nich są zoptymalizowane pod kątem konkretnych języków ​DL (np. takich na których opierają się warianty języka ontologii OWL ). 
 + 
 +Lista dostępnych silników wnioskujących dostępna jest na stronie: ​[[http://​www.cs.man.ac.uk/​~sattler/​reasoners.html|Prof. U. Sattler]]. 
 +Popularne narzędzia to m.in: 
 +  * [[http://​clarkparsia.com/​pellet/​download|Pellet]]
   * [[http://​www.cs.man.ac.uk/​~horrocks/​FaCT/​|FaCT]]   * [[http://​www.cs.man.ac.uk/​~horrocks/​FaCT/​|FaCT]]
   * [[http://​www.sts.tu-harburg.de/​%7Er.f.moeller/​racer/​|Racer]]   * [[http://​www.sts.tu-harburg.de/​%7Er.f.moeller/​racer/​|Racer]]
Linia 391: Linia 388:
   * [[http://​db-tom.cs.uwaterloo.ca/​AssertionRetrieval/​pages/​kbgen.jsp|CARE]] - online   * [[http://​db-tom.cs.uwaterloo.ca/​AssertionRetrieval/​pages/​kbgen.jsp|CARE]] - online
  
-http://​db-tom.cs.uwaterloo.ca/​AssertionRetrieval/​ +Najczęściej silniki wnioskujące zintegrowane są z innymi narzędziami,​ npedytorami ontologii (pełnią one wówczas rolę pomocniczą,​ npdo sprawdzania spójności ontologii itp.).
-FIXME+
  
-===== Literatura, materiały =====+__**Ćwiczenie 9**__: 
 +  - Pobierz silnik wnioskujący [[http://​clarkparsia.com/​pellet/​download|Pellet]]. 
 +    - :!: Na borgu powinien być w ''/​usr/​local/​pellet''​. 
 +  - Uruchom go wpisując w konsoli ''​pellet.sh help''​ i zapoznaj się z dostępnymi opcjami. (''/​usr/​local/​pellet/​pellet.sh''​) 
 +  - Uruchom ''​pellet.sh consistency <​ontology>''​ gdzie ''<​ontology>''​ jest bazą wiedzy ''​people+pets.owl''​ umieszczoną w katalogu ''​examples/​data''​. 
 +  - Jakie są rezultaty?​ 
 +  - Uruchom ''​pellet.sh classify <​ontology>''​ dla powyższej ontologii ''​peopl+pets.owl''​ 
 +  - Jakie są rezultaty?
  
-  - Description Logic Handbook: {{http://​www.inf.unibz.it/​~franconi/​dl/​course/​dlhb/​dlhb-01.pdf|Rozdział 1: "​Introduction to Description Logics"​}} 
-  - Portal o logikach opisowych: ​ 
  
 +===== Materiały =====
 +==== Wykłady, prezentacje ====
 +  * [[http://​www.inf.unibz.it/​~franconi/​dl/​course/​|DL Course]] by Enrico Franconi
 +    * **[[http://​www.inf.unibz.it/​~franconi/​dl/​course/​slides/​prop-DL/​propositional-dl.pdf|Propositional Description Logics]]** :!:
 +    * [[http://​www.inf.unibz.it/​~franconi/​dl/​course/​slides/​kbs/​kbs.pdf|Knowledge Bases in Description Logics]]
 +    * [[http://​www.inf.unibz.it/​~franconi/​dl/​course/​slides/​logic/​fol/​fol-2.pdf|DL reasoning, FOL etc.]]
  
-  * Wikipedia: [[http://en.wikipedia.org/wiki/Description_logic|Description ​Logic]]+  * [[http://​www.cse.iitd.ac.in/​~kkb/​DL-1.pdf|DL Tutorial]] 
 + 
 +  * [[http://www.cs.man.ac.uk/~horrocks/Slides/​IJCAR-tutorial/​Print/​p1-introduction.pdf|Description ​Logics—Basics,​ Applications,​ and More]] 
 + 
 +  * [[http://​www.cs.put.poznan.pl/​jjozefowska/​wyklady/​ai/​Ontologie.pdf|Ontologie,​ Logiki deskrypcyjne]] 
 +  * [[http://​www.cs.man.ac.uk/​~horrocks/​Slides/​index.html|Horrock'​s Presentations]] 
 +  * [[http://​www.inf.unibz.it/​~franconi/​dl/​course/​slides/​db/​db.pdf|DL and DB]] 
 + 
 +  * [[http://​www.obitko.com/​tutorials/​ontologies-semantic-web/​description-logics.html|DL]] by Obitko 
 +    * [[http://​www.obitko.com/​tutorials/​ontologies-semantic-web/​syntax-and-semantics.html|Syntax & Semantics]] 
 +    * [[http://​www.obitko.com/​tutorials/​ontologies-semantic-web/​translation-to-fopl.html|Translation to FOPL]] 
 +    * [[http://​www.obitko.com/​tutorials/​ontologies-semantic-web/​reasoning.html|Reasoning]] 
 + 
 +  * [[http://​www.inf.unibz.it/​~franconi/​dl/​course/​dlhb/​dlhb-01.pdf|Introduction to DL]] (handbook) 
 + 
 +==== Kursy ==== 
 +  * [[http://​www.inf.unibz.it/​~franconi/​dl/​course/​|DL Course]] by Enrico Franconi 
 +  * [[http://​www.cs.man.ac.uk/​~horrocks/​Teaching/​cs646/​|by I.Horrocks]] 
 +    * Lectures: 
 +      * {{http://​www.cs.man.ac.uk/​%7Ehorrocks/​Teaching/​cs646/​Slides/​pt2-dlintro.pdf|Intro to DL}} 
 +      * {{http://​www.cs.man.ac.uk/​%7Ehorrocks/​Teaching/​cs646/​Slides/​pt3-dlreasoning.pdf|DL reasoning}} 
 +    * Labs: 
 +      * DL reasoning: [[http://​www.cs.man.ac.uk/​~horrocks/​Teaching/​cs646/​Labs/​dlreasoning/​|HTML]],​ {{http://​www.cs.man.ac.uk/​~horrocks/​Teaching/​cs646/​Labs/​dlreasoning.pdf|PDF}} 
 +      * [[http://​www.cs.man.ac.uk/​%7Ehorrocks/​Teaching/​cs646/​Exams/​dlreasoning2/​|Exam]] - zadania z DL 
 +  * [[http://​www.cs.man.ac.uk/​~rector/​modules/​CS646/​|Rector]] 
 +    * Lectures: [[http://​www.cs.man.ac.uk/​~rector/​modules/​CS646/​Lecture-Handouts/​|Handouts]] 
 +    * Lab: [[http://​www.cs.man.ac.uk/​~rector/​modules/​CS646/​Lab-Handouts/​|Handouts]] 
 +  * [[http://​www.dcs.bbk.ac.uk/​~michael/​sw/​sw.html|SemWeb course in London]], 2012 
 + 
 +==== Narzędzia ==== 
 +  * [[http://​www.cs.man.ac.uk/​~horrocks/​FaCT/​|FaCT]] 
 +  * [[http://​www.sts.tu-harburg.de/​%7Er.f.moeller/​racer/​|Racer]] 
 +    * [[http://​www.sts.tu-harburg.de/​%7Er.f.moeller/​racer/​Racer-1-9-2-beta-Release-Notes/​release-notes-1-9-2se3.html#​x4-70003.2|RacerPorter]] GUI 
 +  * [[http://​blipkit.wordpress.com/​2010/​11/​27/​posh-the-prolog-owl-shell/​|POSH:​ the prolog OWL shell]] 
 +  * [[http://​code.google.com/​p/​dlmodel/​|DL model]] 
 +  * [[http://​db-tom.cs.uwaterloo.ca/​AssertionRetrieval/​pages/​kbgen.jsp|CARE]] - online 
 +  * [[http://​www.cs.man.ac.uk/​~sattler/​reasoners.html|More reasoners]]
  
  
pl/dydaktyka/krr/lab_dl.1370027580.txt.gz · ostatnio zmienione: 2019/06/27 15:52 (edycja zewnętrzna)
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0