1 / 72

Reasoning Services: Tableau-Beweiser für Beschreibungslogiken – ein Zwischenbericht –

Reasoning Services: Tableau-Beweiser für Beschreibungslogiken – ein Zwischenbericht –. Projekt im Hauptstudium Wintersemester 2006/07 Carola Eschenbach Özgür Özçep. Niels Beuck Oliver Gries Roland Illig Felix Lindner Arved Solth Jens Wächter. Gliederung. Einleitung (Oliver)

falala
Download Presentation

Reasoning Services: Tableau-Beweiser für Beschreibungslogiken – ein Zwischenbericht –

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Reasoning Services: Tableau-Beweiser für Beschreibungslogiken– ein Zwischenbericht – Projekt im Hauptstudium Wintersemester 2006/07 Carola EschenbachÖzgür Özçep Niels Beuck Oliver GriesRoland IlligFelix LindnerArved SolthJens Wächter

  2. Gliederung • Einleitung (Oliver) • Expressions und Prover (Jens) • Reasoning Services (Felix) • Optimierungen (Arved) • Dependency directed backtracking (Niels) • Testumgebung und Ergebnisse (Roland)

  3. Einführung Reasoning-Services: Tableau-Beweiser für Beschreibungslogiken Oliver Gries

  4. Tableau-Beweiser • Verfahren zur Erkennung von logischen Widersprüchen • Eine Formel gilt nach dem Tableau-Verfahren als unerfüllbar, wenn alle Zweige widersprüchlich sind A ∩ (A→B) ∩ ¬B A (A→B) ¬B ¬A B

  5. Beschreibungslogiken • DL (Description Logic) • sind ein (meist) entscheidbares Fragment der Prädikatenlogik • Sprache besteht aus Konzepten, Konstanten und Rollen • Beispiele für die Ausdrucksmächtigkeit: • „Alle Menschen sind Lebewesen.“ • „Harry hat nur Töchter.“ • „Ein Stuhl ist ein Möbelstück mit vier Beinen.“ • Beschreibungslogiken (Axiome) • C ⊆ D Konzept C wird von Konzept D subsummiert • C ≡ D Äquivalenz von C und D • C(a) a ist Instanz von Konzept C • R(a, b) a steht mit b in Relation R

  6. Beschreibungslogiken:TBox, ABox und Inferenzen TBox ABox Woman ≡ Person ∩ Female Man ≡ Person ∩ ¬Woman Mother ≡ Woman ∩ ∃hasChild.Person Father ≡ Man ∩ ∃hasChild.Person Parent ≡ Mother ∪ Father Grandmother ≡ Mother ∩ ∃hasChild.Parent Wife ≡ Woman ∩ ∃hasHusband.Man MotherWith ManyChildren ≡ Mother ∩ ≥3 hasChild MotherWithout Daughter ≡ Mother ∩ ∀hasChild.¬Woman MotherWithoutDaughter(MARY) Father(PETER) hasChild(MARY, PETER) hasChild(MARY, PAUL) hasChild(PETER, HARRY) example Inference: Grandmother(MARY). Woman(MARY), Man(MARY) ergibt Inkonsistenz

  7. Reasoning-Services • TBox • Satisfiability – Ist ein Konzept erfüllbar ? • Subsumption – gilt C ⊆ D für alle Belegungen ? • Equivalence – gilt C ≡ D für alle Belegungen ? • Disjointness – sind C und D disjunkt ? • Classification – erstelle eine Taxonomie (Subsumptionshierarchie) aller Konzepte • ABox + TBox • InstanceCheck – gilt C(a) ? • Retrieval – nenne alle Instanzen eines Konzeptes • Realization – nenne speziellste Konzepte einer Instanz

  8. Inhalte des Projekts • Sprache • Wir haben die Sprache ALC gewählt. Sie enthält (im Wesentlichen) die Konzeptkonstruktoren AND, OR, NOT, ∃R.C und ∀R.C • Tableau-Beweiser • Unser Beweiser benutzt markierte Tableaux. Sie lassen sich leichter implementieren, eine NNF muss nicht erstellt werden und es können auch nicht atomare Abschlüsse gefunden werden • Reasoning-Services • Wir haben den (TBox-)Satisfiability, Subsumption, Equivalence und Disjointness-Service implementiert (InstanceCheck, Retrieval folgen)

  9. Markiertes Tableau (Beispiel für die Sprache ALC) T ((∃R.A) ∩ (∃R.B) ∩ ¬(∃R.(A ∩ B))) (a) T (∃R.A) (a) T (∃R.B) (a) T ¬(∃R.(A ∩ B)) (a) T R(a,b), T A(b) T R(a,c), T B(c) F (∃R.(A ∩ B)) (a) F (A ∩ B) (b), F (A ∩ B) (c) F A(b) F B(b) F A(c) F B(c)

  10. Phasen des Projektes • theoretische Grundlagen • Aufsatz von Ian Horrocks über (markierte) Tableaux • Kapitel 2 aus dem „Description Logics Handbook“ • Erweiteurng des AL-Beweisers zu einem DL-Beweiser mit Reasoning-Services • Gruppe Parser • Gruppe Prover (Jens Wächter) • Gruppe Reasoning Services (Felix Lindner) • Optimierungen und Testumgebung • Optimierungen: Normalisierung der Konzepte, Semantic Branching, Simplification (Arved Solth) • Dependancy Directed Backtracking-Optimierung (Niels Beuck) • Testumgebung mit ersten Ergebnissen (Roland Illig)

  11. Prover und Expressions Reasoning-Services: Tableau-Beweiser für Beschreibungslogiken Jens Wächter

  12. Expressions • Frühe Grundsatzentscheidung : Orientierung an LISP • Eine Klasse, die alle Ausdrücke abdeckt statt individuelle Klassen für jeden Ausdruck • Klasse ‚DLExpression‘ enthält Operator, Name, Subkonzepte • Wir unterscheiden zwischen atomaren und nicht atomaren Konzepten • Beispiel : (all R C) : op = DLOperator.All subexpressions[0] = R subexpressions[1] = C name = null

  13. Übersicht über den Prover Tableau benutzt Prover besteht aus Zweig Expansion erzeugt/ wird erzeugt besitzt erstellt für besteht aus Expansionsregeln Eintrag wird angewendet auf

  14. Tableau - Eintrag • Ein Tableaueintrag(TEntry) besteht aus einem Ausdruck, einer Markierung und einer Konstante, auf die sich der Ausdruck bezieht • T:(all R C)(x) • F:R(x, y)

  15. Tableau-Zweig • Das Tableau wird nicht als Baumstruktur sondern als Liste realisiert • Der Tableauzweig(TBranch) unterteilt dabei die Liste der Einträge in Teillisten von expandierten, nicht expandierten und atomaren Einträgen • Die Abschlussbedingungen von Zweigen werden ebenfalls in TBranch geprüft. Standard : atomarer Abschluss, optional : nicht atomarer

  16. Tableau - Tableau • reine Datenstruktur aus Zweigen und statistischen Daten • es gibt einen aktiven Zweig • aktueller Zweig lässt sich ersetzen durch Menge an neuen Zweigen aktiver Zweig

  17. Prover • Der Prover stellt den Reasoning Services Methoden zum Erfüllbarkeitstest bereit • Der Prover steuert die Expansion der Tableaustruktur • Dazu benutzt er einen Satz an Expansionsregeln, die priorisiert werden können • Ablauf des Beweisvorgangs : für aktuellen Tableauzweig wird die Anwendbarkeit der Regeln für jeden Eintrag getestet. Wenn eine Regel auf einen Eintrag angewendet werden kann, dann wird eine Expansion erstellt und diese auf den aktuellen Tableauzweig angewendet. • Mit dem resultierendem Zweig wird fortgefahren (Tiefensuche)

  18. Expansionsregeln • In Expansionsregeln wird spezifiziert, wenn diese angewendet werden können • Expansionsregeln erstellen Expansionen • Problem bei Regeln mit mehr als einer Vorbedingung

  19. Expansionen • resultieren aus der Anwendung einer Expansionsregel auf einen Eintrag • enthalten „Anleitung“ wie ein Zweig der Regel entsprechend umgeformt werden muss, bzw. neue Zweige erstellt werden müssen • Anwendung von Expansion auf Zweig setzt Eintrag, auf den die Regel angewendet wurde, auf Liste von bereits expandierten Einträge

  20. Sonderfall Allquantorexpansion • Mehrere Vorbedingungen - Expansionsregel prüft, ob Eintrag der Form (all R C) ist • Als Expansion wird ein „Muster“ erstellt, wie das Ergebnis aussehen könnte • Für jede Relation, die ins Muster passt, wird bei Anwendung der Expansionsregel in resultierendem Zweig ein Konzept erstellt : test der anderen Vorbedingungen in Expansion • Dieses Verfahren lässt sich bei Simplification nicht benutzen

  21. Reasoning Services Reasoning-Services: Tableau-Beweiser für Beschreibungslogiken Felix Lindner

  22. Reasoning Services

  23. Reasoning Services

  24. Reasoning Services

  25. Reasoning Services

  26. Reasoning Services

  27. Reasoning Services

  28. Reasoning Services • Vorverarbeitung • evtl. Normalisierung der beschreibungslogischen Ausdrücke • evtl. T-Box Expansion

  29. Reasoning Services

  30. Initiale Tableaus Konzept-Erfüllbarkeit T C(a) Mit TBox Expansion der TBox Axiome Ai ≡ Di' ,Di' enthält nur Basissymbole Ersetzung aller Vorkommen von Ai in C durch Di' TBox-Erfüllbarkeit Ai ≡ Ci CTBox ≡ (¬Ai ∪ Ci) ∩ (Ai ∪ ¬Ci) ∩... T CTBox (a) Reasoning Services Bei Abschluss: unerfüllbar

  31. Initiale Tableaus Subsumption Wird C von D subsumiert? Rückführung auf Unerfüllbarkeit T C(a) F D(a) Bei Abschluss gilt Sumbsumptionsbeziehung Äquivalenz Konzepte C und D äquivalent? Rückführung auf Subsumption Subsumiert(C,D) und Subsumiert(D, C) Reasoning Services

  32. Reasoning Services • Initiale Tableaus • Disjunktheit • Sind C und D disjunkt? • Rückführung auf Unerfüllbarkeit T C(a) T D(a) • Bei Abschluss gilt Disjunktheit

  33. Reasoning Services

  34. Reasoning Services

  35. Optimierungen Reasoning-Services: Tableau-Beweiser für Beschreibungslogiken Arved Solth

  36. Optimierungen • Semantic Branching • Simplification • Normalisierung • Dependency Directed Backtracking

  37. Semantic Branching • Syntactic Branching: jedes Disjunkt einer Verzweigung führt zu einem einzelnen Zweig

  38. Semantic Branching • Syntactic Branching: jedes Disjunkt einer Verzweigung führt zu einem einzelnen Zweig • Semantic Branching: ein Disjunkt D aus einer unexpandierten Verzweigung führt zu zwei disjunkten Zweigen mit T:D und F:D

  39. Semantic Branching • Syntactic Branching: jedes Disjunkt einer Verzweigung führt zu einem einzelnen Zweig • Semantic Branching: ein Disjunkt D aus einer unexpandierten Verzweigung führt zu zwei disjunkten Zweigen mit T:D und F:D • Vorteil: die beiden Zweige sind strikt disjunkt und können dadurch mehrfaches, unnötiges und redundantes Expandieren von weiteren Formeln verhindern, wie es bei Syntactic Branching vorkommen kann

  40. Semantic Branching • Beispiel: Formel (A ν B)  (A ν ¬B)  X, einmal mit Syntactic Branching und einmal mit Semantic Branching expandiert

  41. Semantic Branching • Beispiel: Formel (A ν B)  (A ν ¬B)  X, einmal mit Syntactic Branching und einmal mit Semantic Branching expandiert • Annahme: Formel X enthält aufwendig zu expandierende, evtl. wieder verzweigende Teilformeln

  42. Semantic Branching • Beispiel: Formel (A ν B)  (A ν ¬B)  X, einmal mit Syntactic Branching und einmal mit Semantic Branching expandiert • Annahme: Formel X enthält aufwendig zu expandierende, evtl. wieder verzweigende Teilformeln • Ziel: erforderliche Anzahl von Expansionen der Teilformel X reduzieren und redundante Expansionen vermeiden

  43. X X X Semantic Branching T: (A νB) (A ν¬B)  X Mit Syntactic Branching: T: (A νB) T: (A ν¬B) T: X T: B T: A T: A T: ¬B T: A T: ¬B F: B F: B  X muss 3mal expandiert werden

  44. X Semantic Branching T: (A νB) (A ν¬B)  X Mit Semantic Branching: T: (A νB) T: (A ν¬B) T: X F: A T: A T: B T: A F: A T: ¬B T: A T: ¬A T: ¬B F: B  X muss nur 1mal expandiert werden!

  45. Simplification

  46. Simplification • Motivation: Versucht, Verzweigungen vor ihrer Expansion zu vereinfachen

  47. Simplification • Motivation: Versucht, Verzweigungen vor ihrer Expansion zu vereinfachen • Vorgehen: • suche nach Einträgen im aktuellen Zweig, deren Ausdrücke durch Regelanwendungen zu Verzweigungen führen können;

  48. Simplification • Motivation: Versucht, Verzweigungen vor ihrer Expansion zu vereinfachen • Vorgehen: • suche nach Einträgen im aktuellen Zweig, deren Ausdrücke durch Regelanwendungen zu Verzweigungen führen können; • durchsuche nun den Zweig nach allen Teilausdrücken einer solchen Verzweigung;

  49. Simplification • Motivation: Versucht, Verzweigungen vor ihrer Expansion zu vereinfachen • Vorgehen: • suche nach Einträgen im aktuellen Zweig, deren Ausdrücke durch Regelanwendungen zu Verzweigungen führen können; • durchsuche nun den Zweig nach allen Teilausdrücken einer solchen Verzweigung; • falls ein Teilausdruck gefunden wurde und sich nur durch sein Label von dem Teilausdruck der Verzweigung unterscheidet, wird er aus dieser gestrichen

  50. Simplification • Vorteil: Durch streichen dieser Teilformeln können Verzweigungen vereinfacht oder sogar vermieden werden

More Related