2/37 Birte Glimm | Semantic Web Grundlagen | 28. Nov 2011 Organisatorisches: Inhalt Einleitung und XML Einführung in RDF RDF Schema fällt aus Logik – Grundlagen Übung 1 Semantik von RDF(S) RDF(S) & Datalog Regeln OWL Syntax & Intuition Übung 2 OWL & BLs OWL 2 Tableau Übung 3 Blocking & Unravelling Hypertableau Semantic Web Grundlagen Birte Glimm Institut für Künstliche Intelligenz | 28. Nov 2011 3/37 Birte Glimm | OWL 2 Semantic Web Grundlagen | Tableau Prozeduren 28. Nov 2011 4/37 Birte Glimm | 17. Okt 20. Okt 24. Okt 27. Okt 31. Okt 3. Nov 7. Nov 10. Nov 14. Nov 17. Nov 21. Nov 24. Nov 28. Nov 1. Dez 5. Dez 8. Dez Semantic Web Grundlagen | SPARQL Syntax & Intuition Übung 4 SPARQL Semantik SPARQL 1.1 Übung 5 SPARQL Entailment SPARQL Implemetierung Abfragen & RIF Übung 6 Ontology Editing Ontology Engineering Linked Data Übung 7 SemWeb Anwendungen Wiederholung Übung 8 28. Nov 2011 Agenda I Generelle Idee des Tableaukalküls I Propositionales Beispiel I Transformation in Negationsnormalform I Erfüllbarkeit von ALC Konzepten I Korrektheit und Terminierung I Erfüllbarkeit von ALC Wissensbasen I Zusammenfassung 12. Dez 15. Dez 19. Dez 22. Dez 9. Jan 12. Jan 16. Jan 19. Jan 23. Jan 26. Jan 30. Jan 2. Feb 6. Feb 9. Feb 13. Feb 16. Feb 5/37 Birte Glimm | Semantic Web Grundlagen | 28. Nov 2011 6/37 Automatisierbarkeit I I I Birte Glimm | Semantic Web Grundlagen | 28. Nov 2011 Agenda Bisher Erfüllbarkeit von OWL Axiomen ad-hoc betrachtet Ein Konzept ist erfüllbar, wenn es ein Modell hat Idee: Konstruktives Entscheidungsverfahren um Modelle zu bauen Analog zu Wahrheitstabellen in der Aussagenlogik (p ∨ q) → (¬p ∨ ¬q) Negation vor komplexen Ausdrücken und nicht-atomare Operatoren schwierig, daher umformulieren: I Generelle Idee des Tableaukalküls I Propositionales Beispiel I Transformation in Negationsnormalform I Erfüllbarkeit von ALC Konzepten I Korrektheit und Terminierung I Erfüllbarkeit von ALC Wissensbasen I Zusammenfassung ¬(p ∨ q) ∨ (¬p ∨ ¬q) (¬p ∧ ¬q) ∨ (¬p ∨ ¬q) (¬p ∧ ¬q) ∨ ¬p ∨ ¬q 7/37 Birte Glimm | Semantic Web Grundlagen | 28. Nov 2011 8/37 Einfaches Tableau Semantic Web Grundlagen | 28. Nov 2011 Einfaches Tableau mit Widerspruch (¬p ∧ ¬q) ∨ ¬p ∨ ¬q ¬p ∧ ¬q ¬p ¬q Birte Glimm | ¬p ¬q I Disjunktionen führen zu Zweigen (branch) im Tableau I Tableau: Endliche Menge von Tableauzweigen I Vergleich Wahrheitstabelle I(p) I(q) I(¬p) I(¬q) I(p ∨ q) I(¬p ∨ ¬q) I((p ∨ q) → (¬p ∨ ¬q)) t t f f t f f t f f t t t t f t t f t t t f f t t f t t (¬p ∨ q) ∧ p ∧ ¬q ¬p ∨ q p ¬q ¬p q ⊥ ⊥ I Befindet sich auf einem Zweig ein atomarer Widerspruch (clash), ist dieser Zweig abgeschlossen I Ein Tableau ist abgeschlossen, wenn alle Zweige abgeschlossen sind I Ein komplettes Tableau ohne offenen Zweig zeigt die Unerfüllbarkeit der Formel 9/37 Birte Glimm | Semantic Web Grundlagen | 28. Nov 2011 10/37 Modellkonstruktion vom Tableau 11/37 ¬p ¬q I Ausgehend von einem offenen Zweig können wir ein Modell bauen I Setze I(p)=false und I(q)=false I Setze I(p)=false (I(q) is irrelevant, da nicht im Tableau, default Belegung false) I Setze I(q)=false (I(p) is irrelevant, da nicht im Tableau, default Belegung false) Birte Glimm | Semantic Web Grundlagen | 28. Nov 2011 Konstruktion von je einem Zweig (¬p ∨ q) ∧ p ∧ q ¬p1a ∨ q1b p q ⊥1a q1b I I 28. Nov 2011 12/37 I Es werden nicht immer exponentiel viele Kombinationen gebildet, wie in der Wahrheitstabelle I Zweige können nacheinander gebaut werden polynomieller Platz gebraucht I Für das Erfüllbarkeitstesten können wir aufhören, sobald ein kompletter offener Zweig gefunden wurde Birte Glimm | Bei einer Disjunktion setzten wir Wählpunkte (choice points) Alle Tableauerweiterung die von der Wahl abhängen werden ebenfalls markiert Bei Widerspruch auf Grund einer Wahl: revidiere markierte Formeln und versuche nächste Wahl Semantic Web Grundlagen | nur 28. Nov 2011 Vom Propositionalen Tableau zu Tableaux für BLs Wie kann das Tableau zum Testen der Erfüllbarkeit von ALC Konzepten erweitert werden? I Tableau repräsentiert ein Element in der Domäne I Tableauzweig: Endliche Menge von Aussagen der Form C(a), ¬C(a), r(a, b) I Für Existenzquantoren werden neue Elemente eingeführt I Allquantoren propagieren Formeln zu benachbarten Elementen ¬p1a I Semantic Web Grundlagen | Propositionales Tableau (¬p ∧ ¬q) ∨ ¬p ∨ ¬q ¬p ∧ ¬q ¬p ¬q Birte Glimm | 13/37 Birte Glimm | Semantic Web Grundlagen | 28. Nov 2011 14/37 Agenda Birte Glimm | Semantic Web Grundlagen | 28. Nov 2011 Aussagenlogik – Einige logische Äquivalenzen I Generelle Idee des Tableaukalküls Unser Ziel ist es, Negation nur vor atomaren Konzepten zu haben siehe Vorlesung 5: Logik – Grundlagen I Propositionales Beispiel I Transformation in Negationsnormalform I Erfüllbarkeit von ALC Konzepten ϕ∧ψ ≡ψ∧ϕ ϕ → ψ ≡ ¬ϕ ∨ ψ I Korrektheit und Terminierung ϕ∨ψ ≡ψ∨ϕ ϕ ↔ ψ ≡ (ϕ → ψ) ∧ (ψ → ϕ) I Erfüllbarkeit von ALC Wissensbasen ϕ ∧ (ψ ∧ ω) ≡ (ϕ ∧ ψ) ∧ ω ¬(ϕ ∧ ψ) ≡ ¬ϕ ∨ ¬ψ I Zusammenfassung ϕ ∨ (ψ ∨ ω) ≡ (ϕ ∨ ψ) ∨ ω ¬(ϕ ∨ ψ) ≡ ¬ϕ ∧ ¬ψ I ϕ∧ϕ≡ϕ ¬¬ϕ ≡ ϕ ϕ∨ϕ≡ϕ 15/37 Birte Glimm | Semantic Web Grundlagen | 28. Nov 2011 16/37 Weitere logische Äquivalenzen ¬(C u D) ¬C t ¬D ¬(D t D) ¬C u ¬D ¬¬C I ∃r.(¬C) ¬(∃r.C) ∀r.(¬C) ¬(6 n s.C) > n + 1 s.C ¬(> n s.C) 6 n − 1 s.C, ¬(> 0 s.C) ⊥ ϕ ∨ (ψ ∧ ω) ≡ (ϕ ∨ ψ) ∧ (ϕ ∨ ω) ϕ ∨ (ψ ∧ ϕ) ≡ ϕ ϕ ∧ (ψ ∨ ω) ≡ (ϕ ∧ ψ) ∨ (ϕ ∧ ω) Birte Glimm | Semantic Web Grundlagen | 28. Nov 2011 NNF Transformation Induktive Definition einer NNF Transformation: Wenn C atomar: NNF(C) := C C ¬(∀r.C) ϕ ∧ (ψ ∨ ϕ) ≡ ϕ NNF(¬C) := ¬C Sonst: NNF(¬¬C) := NNF(C) n≥1 Wende die folgenden Regeln so lange an, bis es nicht mehr geht Äquivalentes Konzept in Negationsnormalform NNF(C u D) := NNF(C) u NNF(D) NNF(¬(C u D)) := NNF(¬C) t NNF(¬D) NNF((C) t D) := NNF(C) t NNF(D) NNF(¬(C t D)) := NNF(¬C) u NNF(¬D) NNF(∀r.C) := ∀r.(NNF(C)) NNF(¬(∀r.C)) := ∃r.(NNF(¬C)) NNF(∃r.C) := ∃r.(NNF(C)) NNF(¬(∃r.C)) := ∀r.(NNF(¬C)) NNF(6 n s.C) := 6 n s.(NNF(C)) NNF(¬(6 n s.C)) := > n + 1 s.(NNF(C)) NNF(> n s.C) := > n s.(NNF(C)) NNF(¬(> n s.C)) := 6 n − 1 s.(NNF(C)) NNF(> 0 s.C) := > NNF(¬(> 0 s.C)) := ⊥ wenn n ≥ 1 Hervorgehoben sind Fehler in der ersten Skriptversion sonst 17/37 Birte Glimm | Semantic Web Grundlagen | 28. Nov 2011 18/37 NNF Transformation – Beispiel Birte Glimm | Semantic Web Grundlagen | 28. Nov 2011 Agenda NNF(¬(¬C u (¬D t E))) = NNF(¬¬C) t NNF(¬(¬D t E)) = NNF(C) t NNF(¬(¬D t E)) = C t NNF(¬(¬D t E)) = C t (NNF(¬¬D) u NNF(¬E)) = C t (NNF(D) u NNF(¬E)) I Generelle Idee des Tableaukalküls I Propositionales Beispiel I Transformation in Negationsnormalform I Erfüllbarkeit von ALC Konzepten I Korrektheit und Terminierung I Erfüllbarkeit von ALC Wissensbasen I Zusammenfassung = C t (D u NNF(¬E)) = C t (D u ¬E) 19/37 Birte Glimm | Semantic Web Grundlagen | 28. Nov 2011 Tableau für ALC Konzepte I I I I I Tableau für eine propositionelle Formel α: ein Element, dass mit Teilformeln von α markiert ist Tableau für ein ALC Konzept C: Graph (genauer: Baum) in dem Knoten mit Teilformeln von C markiert sind Wurzel markiert mit C Repräsentiert Modell für C Neue Knoten durch existentielle Quantoren Definition Sei C ein ALC Konzept, TF(C) die Menge aller Teilformeln von C und Rol(C) die Menge der Rollen in C. Ein Tableau für C ist ein Baum G = hV, E, Li, mit V einer Menge von Knoten, E ⊆ V × V einer Menge von Kanten und L : V → 2TF(C) und L : V × V → 2Rol(C) . 20/37 Birte Glimm | Semantic Web Grundlagen | 28. Nov 2011 Eigenschaften des ALC Tableau Algorithmus I Der Algorithmus ist spezifiziert als eine Menge von Regeln I Jede Regel bricht ein Konzept herunter in Teilkonzepte I Anwendung von Regeln in beliebiger Ordnung I Der Algorithmus ist nichtdeterministisch (durch Disjunktionen, bildet jeweils einen Tableau Zweig zur Zeit). I Prüfen von atomaren Widersprüchen Tableau Algorithmus zum Testen der Erfüllbarkeit von ALC Konzepten Eingabe: Ein ALC Konzept in NNF Ausgabe: wahr wenn ein widerspruchsfreies Tableau existiert in dem keine Regeln anwendbar sind falsch andernfalls (Tableau geschlossen) 21/37 Birte Glimm | Semantic Web Grundlagen | 28. Nov 2011 Birte Glimm | 22/37 Tableau Regeln für ALC Konzepte I I 23/37 28. Nov 2011 Tableau Algorithmus Beispiel u-Regel: Für ein beliebiges v ∈ V mit C u D ∈ L(v) und {C, D} 6⊆ L(v), setzte L(v) := L(v) ∪ {C, D}. t-Regel: Für ein beliebiges v ∈ V mit C t D ∈ L(v) und {C, D} ∩ L(v) = ∅, wähle X ∈ {C, D} und setzte L(v) := L(v) ∪ {X}. ∃-Regel: Für ein beliebiges v ∈ V mit ∃r.C ∈ L(v) so dass es keinen r-Nachfolger v0 für v mit C ∈ L(v0 ) gibt, setzte V = V ∪ {v0 }, E = E ∪ {hv, v0 i}, L(v0 ) := {C} und L(v, v0 ) := {r} für v0 ein neuer Knoten. ∀-Regel: Für beliebige v, v0 ∈ V, v0 r-Nachbar von v, ∀r.C ∈ L(v) und C ∈ / L(v0 ), setze L(v0 ) := L(v0 ) ∪ {C}. I Semantic Web Grundlagen | C = ∃r.(A t ∃r.B) u ∃r.¬A u ∀r.(¬A u ∀r.(¬B t A)) u L(u) = {C}, ∃r.(A t ∃r.B), r r v w r ∃r.¬A, ∀r.(¬A u ∀r.(¬B t A))} L(v) = {A t ∃r.B}, ¬A, ∀r.(¬B t A)}, A}, ∃r.B} L(w) = {¬A}, ∀r.(¬B t A)} x L(x) = {B}, ¬B t A}, ¬B}, A} Ein Knoten v0 ist ein r-Nachbar eines Knotens v wenn hv, v0 i ∈ E und r ∈ L(v, v0 ) Regel Reihenfolge: “don’t care” Nichtdeterminismus Wahl der Disjunktion: “don’t know” Nichtdeterminismus Birte Glimm | Semantic Web Grundlagen | 28. Nov 2011 Tableau Algorithmus Beispiel Das vom Algorithmus gefundene Modell I ist wie folgt: ∆I ={u, v, w, x} AI ={x} 24/37 Birte Glimm | Semantic Web Grundlagen | 28. Nov 2011 Tableau Algorithmus Eigenschaften 1. Das Modell ist endlich: nur endlich viele Elemente in der Domäne 2. Das Modell ist baumförmig: das Tableau ist ein markierter Baum BI ={x} rI ={hu, vi, hu, wi, hv, xi} Übung: Prüfe, dass ALC CI Der Algorithmus wird immer endliche Bäume konstruieren I Von einem widerspruchsfreien Tableau können wir ein endliches Modell konstruieren I Wenn es kein widerspruchsfreies Tableau gibt, dann gibt es kein Modell = {u} unter der definierten Semantik für 25/37 Birte Glimm | Semantic Web Grundlagen | 28. Nov 2011 26/37 Agenda 27/37 Birte Glimm | Semantic Web Grundlagen | 28. Nov 2011 Tableau Eigenschaften I Generelle Idee des Tableaukalküls I Die Tiefe (Anzahl der Verschachtelten Quantoren) nimmt in jedem Knoten ab I Propositionales Beispiel I Transformation in Negationsnormalform I Jeder Knoten ist nur mit Teilformeln von C markiert I Erfüllbarkeit von ALC Konzepten I C hat nur polynomiell viele Teilformeln I Korrektheit und Terminierung I I Erfüllbarkeit von ALC Wissensbasen Bei Ausgabe wahr können wir an Hand des konstruierten Tableaus ein Modell konstruieren I Zusammenfassung I Wir können ein Modell für ein erfüllbares Konzept nutzen, um ein widerspruchsfreies Tableau für das Konzept zu konstruieren Birte Glimm | Semantic Web Grundlagen | 28. Nov 2011 Tableau Algorithmus für ALC-Konzepte 28/37 Birte Glimm | Semantic Web Grundlagen | 28. Nov 2011 Agenda I Generelle Idee des Tableaukalküls 1. Der Algorithmus terminiert für jede Eingabe. I Propositionales Beispiel 2. Wenn die Ausgabe wahr lautet, dann ist das Eingabekonzept erfüllbar. I Transformation in Negationsnormalform I Erfüllbarkeit von ALC Konzepten 3. Wenn das Eingabekonzept erfüllbar ist, lautet die Ausgabe wahr. I Korrektheit und Terminierung I Erfüllbarkeit von ALC Wissensbasen I Zusammenfassung Theorem Corollary Ein ALC Konzept C hat die folgenden Eigenschaften: 1. Endliche Modell Eigenschaft (Finite Model Property): Wenn C ein Modell hat, dann hat C ein endliches Modell 2. Baum-Modell Eigenschaft (Tree Model Property): Wenn C ein Modell hat, dann hat C ein baumförmiges Modell 29/37 Birte Glimm | Semantic Web Grundlagen | 28. Nov 2011 30/37 Birte Glimm | Semantic Web Grundlagen | 28. Nov 2011 Tableau Algorithmus für TBoxen Tableau Algorithmus for TBoxes Wir erweitern nun den Tableau Algorithmus für den Umgang mit ALC TBoxen Wir erweitern die Regeln des ALC Tableau Algorithmus mit der Regel: I I I Eine TBox enthält Axiome (GCIs) der Form C v D Annahme: C ≡ D ist ersetzt durch C v D und D v C Jedes GCI ist äquivalent zu > v ¬C t D T -Regel: Für ein beliebiges v ∈ V mit CT ∈ / L(v), setze L(v) := L(v) ∪ {CT }. Beispiel: Sei T = A v ∃r.A. Ist A erfüllbar bzgl. T ? Wir können die gesamte TBox in einem Axiom zusammenfassen (internalisieren, engl. internalize): Der Tableau Algorithmus terminiert nicht mehr! T = {Ci v Di | 1 ≤ i ≤ n} Die Tiefe der Quantoren nimmt nicht mehr ab auf einem Pfad im Tableau ist äquivalentes zu: T 0 = {> v l Lösung: Wir werden Zyklen erkennen (sich wiederholende Knotenmarkierungen) ¬Ci t Di } 1≤i≤n Sei CT das Konzept auf der rechten Seite des GCI in NNF. 31/37 Birte Glimm | Semantic Web Grundlagen | 28. Nov 2011 32/37 Tableau Algorithmus für TBoxen Birte Glimm | Semantic Web Grundlagen | 28. Nov 2011 Tableau Algorithmus mit Blocking Beispiel: Sei T = A v ∃r.A. Ist A erfüllbar bzgl. T ? Definition (Blocking) Ein Knoten v ∈ V blockiert einen Knoten v0 ∈ V direkt, wenn: Wir erhalten das folgende widerspruchsfreie Tableau: 1. v0 von v erreichbar ist, 2. L(v0 ) ⊆ L(v); und v0 3. es keinen direkt blockierten Knoten v00 gibt so dass v0 von v00 erreichbar ist. L(v1 ) = {A, CT , ∃r.A} v1 Ein Knoten v0 ∈ V ist blockiert wenn entweder 1. v0 direkt blockiert ist oder 2. es einen direkt blockierten Knoten v gibt, so dass erreichbar ist. r L(v0 ) = {A, CT , ∃r.A} in dem v1 direkt von v0 blockiert ist. v0 von v Die Anwendung der ∃-Regel ist beschränkt auf Knoten die nicht blockiert sind. Der Algorithmus konstruiert wieder endliche Bäume I Von einem widerspruchsfreien Tableau können wir ein Modell konstruieren I Wenn es kein widerspruchsfreies Tableau gibt, dann gibt es kein Modell 33/37 Birte Glimm | Semantic Web Grundlagen | 28. Nov 2011 34/37 Birte Glimm | 28. Nov 2011 Vom Tableau zum Modell Tableau Algorithmus mit Blocking II Wir können wiederum ein endliches Modell von einem widerspruchsfreien Tableau konstruieren: Beispiel: Sei T = A v ∃r.A u ∃s.B. Ist A erfüllbar bzgl. T ? Wir erhalten das folgende widerspruchsfreie Tableau: ∆I = {v0 } AI = ∆I r = {hv0 , v0 i} I I r v1 Blockierte Knoten repräsentieren kein Element im Modell Eine Kante von einem Knoten v zu einem direkt blockierten Knoten v0 wird im Modell zu einer “Kante” von v zu dem Knoten, der v0 direkt blockiert Wir haben die finite model property Modell nicht mehr baumförmig Birte Glimm | Semantic Web Grundlagen | 28. Nov 2011 Vom Tableau zum Modell II L(v0 ) = {A, CT , ∃r.A u ∃s.B, ∃r.A, ∃s.B} v0 I 35/37 Semantic Web Grundlagen | L(v1 ) = {A, CT , ∃r.A u ∃s.B, ∃r.A, ∃s.B} s L(v2 ) = {B, CT , ¬A} v2 in dem v1 wieder direkt von v0 blockiert ist. 36/37 Birte Glimm | Semantic Web Grundlagen | 28. Nov 2011 Agenda Wir können wiederum ein endliches Modell von einem widerspruchsfreien Tableau konstruieren: I Generelle Idee des Tableaukalküls I Propositionales Beispiel I Transformation in Negationsnormalform I Erfüllbarkeit von ALC Konzepten I A =∆ I Korrektheit und Terminierung rI = {hv0 , v0 i} I Erfüllbarkeit von ALC Wissensbasen sI = {hv0 , v2 i} I Zusammenfassung ∆I = {v0 , v2 } I 37/37 Birte Glimm | Semantic Web Grundlagen | 28. Nov 2011 Zusammenfassung I Wir haben nun ein konstruktives Verfahren zum Konstruieren von Modellabstraktionen I ALC Konzepte haben immer ein endliches Modell, dass wir auch konstruieren können I ALC Konzepte bzgl. Wissenbasen haben ebenfalls endliche Modelle, aber wir können diese nure mit Mechanismen zur Zyklen-Erkennung konstruieren I Die dann erstellten Modelle sind nicht mehr baumförmig I Nächste Vorlesung: Wir können auch baumförmige (aber dann unendliche) Modelle konstruieren I Der Algorithmus ist korrekt, vollständig und terminiert I Grundlage für in der Praxis implementierte Algorithmen