Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Reasoning Services: Tableau-Beweiser für Beschreibungslogiken – ein Zwischenbericht – Niels Beuck Oliver Gries Roland Illig Felix Lindner Arved Solth Jens.

Ähnliche Präsentationen


Präsentation zum Thema: "Reasoning Services: Tableau-Beweiser für Beschreibungslogiken – ein Zwischenbericht – Niels Beuck Oliver Gries Roland Illig Felix Lindner Arved Solth Jens."—  Präsentation transkript:

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

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

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

4 4 A (AB) ¬B A (AB) ¬B¬B ¬A¬AB 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

5 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: oAlle Menschen sind Lebewesen. oHarry hat nur Töchter. oEin Stuhl ist ein Möbelstück mit vier Beinen. Beschreibungslogiken (Axiome) C DKonzept 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 6 TBox ABox WomanPerson Female ManPerson ¬Woman MotherWoman hasChild.Person FatherMan hasChild.Person ParentMother Father GrandmotherMother hasChild.Parent WifeWoman hasHusband.Man MotherWith ManyChildrenMother 3 hasChild MotherWithout DaughterMother 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 Beschreibungslogiken: TBox, ABox und Inferenzen

7 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 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 9 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) Markiertes Tableau (Beispiel für die Sprache ALC)

10 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 Jens Wächter Prover und Expressions Reasoning-Services: Tableau- Beweiser für Beschreibungslogiken

12 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 13 Übersicht über den Prover Prover Expansionsregeln Expansion Tableau Zweig Eintrag besitzt benutzt erstellt erzeugt/ wird erzeugt besteht aus wird angewendet auf für

14 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 15 T:(and a b)(x) T:a(x) T:b(x) 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 16 T:(or a b)(x) T:a(x) T:(or a b)(x) T:b(x) aktiver Zweig 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

17 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 18 T: (and (all R D) (some R C))(x) T: (all R D)(x) (1) T: (some R C)(x) (1) T: R(x, y) (2) T: C(y) (2) T: D(y) (3) T: (some R C)(x) T: R(x, y) T: C(y) T: (all R D)(x) T: R(x, y) T: D(y) Expansionsregeln In Expansionsregeln wird spezifiziert, wenn diese angewendet werden können Expansionsregeln erstellen Expansionen Problem bei Regeln mit mehr als einer Vorbedingung

19 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 20 T: (all R C)(x) T: R(x, y) T: C(y) 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 Felix Lindner Reasoning Services Reasoning-Services: Tableau- Beweiser für Beschreibungslogiken

22 22 Reasoning Services

23 23 Reasoning Services

24 24 Reasoning Services

25 25 Reasoning Services

26 26 Reasoning Services

27 27 Reasoning Services

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

29 29 Reasoning Services

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

31 31 Reasoning Services 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)

32 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 33 Reasoning Services

34 34 Reasoning Services

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

36 36 Optimierungen Semantic Branching Simplification Normalisierung Dependency Directed Backtracking

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

38 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 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 40 Semantic Branching Beispiel: Formel (A ν B) (A ν ¬B) X, einmal mit Syntactic Branching und einmal mit Semantic Branching expandiert

41 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 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 43 Semantic Branching Mit Syntactic Branching: T: (A ν B) (A ν ¬B) X T: A T: B T: AT: ¬B F: B T: AT: ¬B X X X T: (A ν B) T: (A ν ¬B) T: X X muss 3mal expandiert werden

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

45 45 Simplification

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

47 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 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 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 50 Simplification Vorteil: Durch streichen dieser Teilformeln können Verzweigungen vereinfacht oder sogar vermieden werden

51 51 Simplification Vorteil: Durch streichen dieser Teilformeln können Verzweigungen vereinfacht oder sogar vermieden werden Besonderheit: Optimierung muss nicht nur auf die zu bearbeitende Verzweigung sondern auch auf alle anderen Einträge im aktuellen Zweig zugreifen ähnliche Problematik wie bei All-Quantor- Operatoren!

52 52 Simplification Ohne Simplification: T: (A ν B) ¬A T: ¬A T: (A ν B) F: A T: BT: A

53 53 Simplification Mit Simplification: T: (A ν B) ¬A T: ¬A T: (A ν B) F: A T: B

54 54 Normalisierung und Unique Expressions

55 55 Normalisierung und Unique Expressions Motivation: Minimiert den Vergleichsaufwand zwischen Ausdrücken der Sprache

56 56 Normalisierung und Unique Expressions Motivation: Minimiert den Vergleichsaufwand zwischen Ausdrücken der Sprache Vorgehen: –Normalisierung bringt alle Ausdrücke durch eine Menge von Umformungsregeln in eine Normalform,

57 57 Normalisierung und Unique Expressions Motivation: Minimiert den Vergleichsaufwand zwischen Ausdrücken der Sprache Vorgehen: –Normalisierung bringt alle Ausdrücke durch eine Menge von Umformungsregeln in eine Normalform, –Unique Expressions speichert von jeder solchen Formel in Normalform nur eine Instanz;

58 58 Normalisierung und Unique Expressions Motivation: Minimiert den Vergleichsaufwand zwischen Ausdrücken der Sprache Vorgehen: –Normalisierung bringt alle Ausdrücke durch eine Menge von Umformungsregeln in eine Normalform, –Unique Expressions speichert von jeder solchen Formel in Normalform nur eine Instanz; –diese Instanzen von Ausdrücken werden verglichen und auf Inkonsistenzen überprüft

59 59 Normalisierung und Unique Expressions Motivation: Minimiert den Vergleichsaufwand zwischen Ausdrücken der Sprache Vorgehen: –Normalisierung bringt alle Ausdrücke durch eine Menge von Umformungsregeln in eine Normalform, –Unique Expressions speichert von jeder solchen Formel in Normalform nur eine Instanz; –diese Instanzen von Ausdrücken werden verglichen und auf Inkonsistenzen überprüft Vorteil: Redundanzen werden vermieden und Inkonsistenzen schnell erkannt

60 60 Normalisierung und Unique Expressions Regeln zur lexikalischen Vereinfachung: Regeln zur Normalisierung:

61 61 Normalisierung und Unique Expressions Vor Normalisierung: a b c d (f ¬( { (a ¬BOTTOM)})) Nach Normalisierung: (¬ TOP)

62 62 Normalisierung und Unique Expressions a b c d (f ¬( { (a ¬BOTTOM)})) Ablauf: a b c d (f ¬( { (a ¬ ¬TOP )})) 5. a b c d (f ¬( { (a TOP )})) 8. a b c d (f ¬( { {a, TOP }})) 9. a b c d (f ¬( { {a}})) 2. a b c d (f ¬( {a})) 11. a b c d (f ¬a) 11. a b c d ( {f,¬a})) 9. {a, b, c, d, {f,¬a}} 9. {a, b, c, d, f,¬a} 10. (¬TOP) 4. Regel:

63 Niels Beuck Dependency Directed Backtracking Reasoning-Services: Tableau- Beweiser für Beschreibungslogiken

64 64 (and (or..) (or..)..) Das Problem Verzweigende Expansionen erzeugen exponentiell viele Zweige Welche Einträge zum Konflikt führen weiß man erst, wenn man sie expandiert hat Trägt eine Verzweigung nicht zum Konflikt bei, muss in jedem ihrer Zweige der selbe Konflikt neu gefunden werden

65 65 Lösung Überflüssige Zweige streichen! Springe zurück zur letzten Verzweigung, die zum Konflikt beigetragen hat (Backjumping)

66 66 I II III T- (or C D) (a) [0,II] T- C (a) [0,II,III] T- D (a) [0,II,III] III Ergänzungen im Tableau Zweige erweitern um Verzweigungspunkte Jeder Zweig kennt die Verzweigung, an der er entstanden ist Verzweigungspunkte haben eine Ordnungsrelation Einträge erweitern um Dependency-Sets Jeder Eintrag erbt seine Abhängigkeiten von dem Eintrag (bzw. den Einträgen) aus dem er entstanden ist. Geht ein Eintrag aus einer verzweigenden Expansion hervor, erhält er zusätzlich eine Abhängigkeit vom neuen Verzweigungspunkt.

67 67 [0,I, II] I II III beachte: Verzweigungspunkte der Zweige sind monoton fallend 0 T C(a) [0,I] F C(a) [0, II] Backjumping Konflikt gefunden: Abhängigkeit des Konflikts ist die Vereinigung der Abhängigkeiten aller beteiligten Einträge Zweige, deren Verzweigungspunkt nicht in dieser Menge ist, werden übersprungen.

68 68 [0,I, II] I II III 0 [0, II] Abhängigkeiten einer Verzweigung Weitere Abhängigkeiten eines Konflikts werden unter dem aktuellen Verzweigungspunkt vermerkt. Wird hierher zurückgesprungen, wird diese Menge mit der aktuellen vereinigt. Wird er übersprungen, wird sie verworfen

69 Roland Illig Testumgebung und erste Ergebnisse Reasoning-Services: Tableau- Beweiser für Beschreibungslogiken

70 70 Testumgebung und erste Ergebnisse Ziele Testen, ob die Optimierungen was gebracht haben, und wenn ja, wie viel Vergleich der einzelnen Optimierungen Wiederholbarkeit der Tests Zuverlässige Messungen

71 71 Umsetzung Globale Optionen, um die Optimierungen zu steuern dlexpression.normalising dlexpansionrulebool.semanticbranching dlexpansionrulebool.simplification prover.use_ddb prover.verbose Meßpunkte, um die Ausführung zu kontrollieren DLExpression.subExpressions tableau.expand tableau.constants Einfache Zeitmessung

72 72 Erste Ergebnisse TODO


Herunterladen ppt "Reasoning Services: Tableau-Beweiser für Beschreibungslogiken – ein Zwischenbericht – Niels Beuck Oliver Gries Roland Illig Felix Lindner Arved Solth Jens."

Ähnliche Präsentationen


Google-Anzeigen