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

Slides:



Advertisements
Ähnliche Präsentationen
Algorithmen und Datenstrukturen
Advertisements

Anzahl der ausgefüllten und eingesandten Fragebögen: 211
Vorlesung: 1 Betriebliche Informationssysteme 2003 Prof. Dr. G. Hellberg Studiengang Informatik FHDW Vorlesung: Betriebliche Informationssysteme Teil3.
LS 2 / Informatik Datenstrukturen, Algorithmen und Programmierung 2 (DAP2)
Erkennen Sie die Kirchenkreise Heiteres Ratespiel Kirchen aus der Region.
Telefonnummer.
Modelle und Methoden der Linearen und Nichtlinearen Optimierung (Ausgewählte Methoden und Fallstudien) U N I V E R S I T Ä T H A M B U R G November 2012.
Modelle und Methoden der Linearen und Nichtlinearen Optimierung (Ausgewählte Methoden und Fallstudien) U N I V E R S I T Ä T H A M B U R G November 2011.
Modelle und Methoden der Linearen und Nichtlinearen Optimierung (Ausgewählte Methoden und Fallstudien) U N I V E R S I T Ä T H A M B U R G November 2011.
1 JIM-Studie 2010 Jugend, Information, (Multi-)Media Landesanstalt für Kommunikation Baden-Württemberg (LFK) Landeszentrale für Medien und Kommunikation.
= = = = 47 = 47 = 48 = =
Rechneraufbau & Rechnerstrukturen, Folie 2.1 © W. Oberschelp, G. Vossen W. Oberschelp G. Vossen Kapitel 2.
Grundkurs Theoretische Informatik, Folie 2.1 © 2006 G. Vossen,K.-U. Witt Grundkurs Theoretische Informatik Kapitel 2 Gottfried Vossen Kurt-Ulrich Witt.
Internet facts 2006-III Graphiken zum Berichtsband AGOF e.V. März 2007.
Internet facts 2008-II Graphiken zu dem Berichtsband AGOF e.V. September 2008.
Vorlesung: 1 Betriebliche Informationssysteme 2003 Prof. Dr. G. Hellberg Studiengang Informatik FHDW Vorlesung: Betriebliche Informationssysteme Teil2.
Vererbung Spezialisierung von Klassen in JAVA möglich durch
PKJ 2005/1 Stefan Dissmann Zusammenfassung Bisher im Kurs erarbeitete Konzepte(1): Umgang mit einfachen Datentypen Umgang mit Feldern Umgang mit Referenzen.
Bewegte Bezugssysteme
AC Analyse.
Differentielles Paar UIN rds gm UIN
Maxwell-Boltzmann Ausgewählte Themen des analogen Schaltungsentwurfs
Prof. Dr. Bernhard Wasmayr
Studienverlauf im Ausländerstudium
Prof. Dr. Bernhard Wasmayr VWL 2. Semester
AWA 2007 Natur und Umwelt Natürlich Leben
Rechneraufbau & Rechnerstrukturen, Folie 12.1 © W. Oberschelp, G. Vossen W. Oberschelp G. Vossen Kapitel 12.
Lesen macht stark-Lesekompetenztests
20:00.
„Küsse deine Freunde“ – FlexKom-App teilen
Zusatzfolien zu B-Bäumen
In der Schule.
Eine Einführung in die CD-ROM
GBI Genios Wiso wiso bietet Ihnen das umfassendste Angebot deutsch- und englischsprachiger Literatur für die Wirtschafts- und Sozialwissenschaften. Wir.
Dokumentation der Umfrage
für Weihnachten oder als Tischdekoration für das ganze Jahr
1 Ein kurzer Sprung in die tiefe Vergangenheit der Erde.
Wir üben die Malsätzchen
Syntaxanalyse Bottom-Up und LR(0)
Addieren und Subtrahieren von Dezimalzahlen
Analyse von Ablaufdiagrammen
Der Ablauf eines Clear Rex Klärzyklus
PROCAM Score Alter (Jahre)
Ertragsteuern, 5. Auflage Christiana Djanani, Gernot Brähler, Christian Lösel, Andreas Krenzin © UVK Verlagsgesellschaft mbH, Konstanz und München 2012.
Geometrische Aufgaben
Vorlesung Mai 2000 Konstruktion des Voronoi-Diagramms II
Symmetrische Blockchiffren DES – der Data Encryption Standard
Retuschen.ppt Die folgende Schau zeigt die Möglichkeiten, mit PhotoDraw Digitalbilder zu retuschieren. Vergleichen Sie jeweils zwei Bildpaare durch fleissiges.
1 (C)2006, Hermann Knoll, HTW Chur, FHO Quadratische Reste Definitionen: Quadratischer Rest Quadratwurzel Anwendungen.
Großer Altersunterschied bei Paaren fällt nicht auf!
Zahlentheorie und Zahlenspiele Hartmut Menzer, Ingo Althöfer ISBN: © 2014 Oldenbourg Wissenschaftsverlag GmbH Abbildungsübersicht / List.
MINDREADER Ein magisch - interaktives Erlebnis mit ENZO PAOLO
Bevölkerungsentwicklung und –struktur der Stadt Bozen
1 (C)2006, Hermann Knoll, HTW Chur, FHO Quadratische Reste Definitionen: Quadratischer Rest Quadratwurzel Anwendungen.
Schutzvermerk nach DIN 34 beachten 20/05/14 Seite 1 Grundlagen XSoft Lösung :Logische Grundschaltung IEC-Grundlagen und logische Verknüpfungen.
Einführung in die Astronomie und Astrophysik I Kapitel III: Das Planetensystem 1 Kapitel III: Das Planetensystem.
Folie Beispiel für eine Einzelauswertung der Gemeindedaten (fiktive Daten)
1 Arbeitsgemeinschaft Biologische Psychiatrie Verordnungsgewohnheiten von Psychopharmaka Statuserhebung 2005 W.Günther G.Laux T.Messer N.Müller M.Schmauss.
1 Mathematical Programming Nichtlineare Programmierung.
Imperfekt Wie sagt man das mit Imperfekt
Unternehmensbewertung Thomas Hering ISBN: © 2014 Oldenbourg Wissenschaftsverlag GmbH Abbildungsübersicht / List of Figures Tabellenübersicht.
Forschungsprojekt Statistik 2013 „Jugend zählt“ – Folie 1 Statistik 2013 „Jugend zählt“: Daten zur Arbeit mit Kindern und Jugendlichen.
Folie Einzelauswertung der Gemeindedaten
1.6.3 Test auf Verlustfreiheit (Verbundtreue) (4|10)
J-Team: Gymnasium Ulricianum Aurich und MTV Aurich Ein Projekt im Rahmen von UlricianumBewegt.de Euro haben wir schon…  8000 mal habt ihr bereits.
Datum:17. Dezember 2014 Thema:IFRS Update zum Jahresende – die Neuerungen im Überblick Referent:Eberhard Grötzner, EMA ® Anlass:12. Arbeitskreis Internationale.
Einführung in die Volkswirtschaftslehre, Mikroökonomie und Wettbewerbspolitik Lothar Wildmann ISBN: © 2014 Oldenbourg Wissenschaftsverlag.
Sehen, Hören, Schmecken: wenn uns unsere Sinne täuschen
1 Medienpädagogischer Forschungsverbund Südwest KIM-Studie 2014 Landesanstalt für Kommunikation Baden-Württemberg (LFK) Landeszentrale für Medien und Kommunikation.
Monatsbericht Ausgleichsenergiemarkt Gas – Oktober
 Präsentation transkript:

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

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

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

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

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

Beschreibungslogiken: TBox, ABox und Inferenzen 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

Reasoning-Services TBox ABox + 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

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)

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)

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)

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

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 Name wird nur bei atomaren Ausdrücken verwendet. Dies zeigt Nachteil von LISP-Orientierung : Redundanz Bei Subkonzepten ist die Reihenfolge wichtig Operator und Typ sind als Enum realisiert Die Unterscheidung atomare / nicht atomare Konzepte wurde nachträglich eingeführt

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

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) Im Prover können wir davon ausgehen, dass wir nur Konzepte und Relationen bearbeiten, deshalb Koppelung an Konstante notwendig

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 T:(and a b)(x) T:a(x) T:b(x)

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 T:(or a b)(x) T:a(x) T:(or a b)(x) T:b(x)

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) Priorisierung der Regeln insbesondere wichtig für Redundanzvermeidungsstrategien wie „Expandiere erst alle nicht verzweigenden Einträge“

Expansionsregeln In Expansionsregeln wird spezifiziert, wenn diese angewendet werden können Expansionsregeln erstellen Expansionen Problem bei Regeln mit mehr als einer Vorbedingung 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)

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

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 T: (all R C)(x) T: R(x, y) T: C(y)

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

Reasoning Services

Reasoning Services

Reasoning Services

Reasoning Services

Reasoning Services

Reasoning Services

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

Reasoning Services

Konzept-Erfüllbarkeit Reasoning Services 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) Bei Abschluss: unerfüllbar

Reasoning Services Initiale Tableaus Subsumption Äquivalenz 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 Initiale Tableaus Disjunktheit Sind C und D disjunkt? Rückführung auf Unerfüllbarkeit T C(a) T D(a) Bei Abschluss gilt Disjunktheit

Reasoning Services

Reasoning Services

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

Optimierungen Semantic Branching Simplification Normalisierung Dependency Directed Backtracking

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

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

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

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

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

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

Semantic Branching  X muss 3mal expandiert werden 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 X F: B F: B  X muss 3mal expandiert werden

Semantic Branching  X muss nur 1mal expandiert werden! 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 X T: ¬B T: A T: ¬A T: ¬B F: B  X muss nur 1mal expandiert werden!

Simplification

Simplification Motivation: Versucht, Verzweigungen vor ihrer Expansion zu vereinfachen

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;

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;

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

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

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!

Simplification Ohne Simplification: T: (A ν B)  ¬A T: (A ν B) T: ¬A F: A T: A T: B

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

Normalisierung und Unique Expressions

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

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,

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;

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

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

Normalisierung und Unique Expressions Regeln zur lexikalischen Vereinfachung: Regeln zur Normalisierung: 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11.

Normalisierung und Unique Expressions Vor Normalisierung: a  b  c  d  (f  ¬({(a  ¬BOTTOM)})) Nach Normalisierung: (¬ TOP) Vorher: (and a b c d (and f (not (and (and a (not BOTTOM)))))) Nachher: (not TOP)

Normalisierung und Unique Expressions Ablauf: Regel: a  b  c  d  (f  ¬({(a  ¬BOTTOM)})) 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. Vorher: (and a b c d (and f (not (and (and a (not BOTTOM)))))) Nachher: (not TOP) a  b  c  d  ({f,¬a})) 9. {a, b, c, d, {f,¬a}} 9. {a, b, c, d, f,¬a} 10. (¬TOP) 4.

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

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 (and (or..) (or..) ..)

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

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. I II III III T- (or C D) (a) [0,II] T- C (a) [0,II,III] T- D (a) [0,II,III]

Verzweigungspunkte der Zweige sind monoton fallend 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. T C(a) [0,I] F C(a) [0, II] I II beachte: Verzweigungspunkte der Zweige sind monoton fallend [0,I, II] III

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 I [0,I, II] II [0, II] III

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

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

Globale Optionen, um die Optimierungen zu steuern 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

Erste Ergebnisse TODO