Qualitatives zeitliches Schließen: Intelligentes Kuchenbacken. David Sabel Goethe-Universität, Frankfurt am Main

Ähnliche Dokumente
Einführung in die Methoden der Künstlichen Intelligenz. Allens Zeitintervalllogik

Logikbasierte Systeme der Wissensverarbeitung. Allens Zeitintervalllogik

Einführung in die Methoden der Künstlichen Intelligenz. Allens Zeitintervalllogik

Darstellung und Inferenzen fu r zeitliche Zusammenha nge Viele verschiedene Logiken Allens Zeitintervalllogik

Schließen über Zeit. Einführung in die Methoden der Künstlichen Intelligenz... Allens Zeitintervalllogik. Beispiel: Rezept zum Apfelkuchenbacken

Qualitatives zeitliches Schließen

Aussagenlogik: Syntax von Aussagen

Logik für Informatiker

Logik für Informatiker

Resolutionsalgorithmus

6.3 NP-Vollständigkeit. alle anderen Probleme in NP darauf polynomiell reduzierbar. 1 Polynomielle Reduzierbarkeit p

Weitere NP-vollständige Probleme

Logik für Informatiker

Logik für Informatiker

Was ist Logik? Was ist Logik? Aussagenlogik. Wahrheitstabellen. Geschichte der Logik eng verknüpft mit Philosophie

Logik für Informatiker

Minesweeper ist NP-vollständig

Komplexität von Algorithmen Musterlösungen zu ausgewählten Übungsaufgaben

Grundlagen der Künstlichen Intelligenz

Theorie der Informatik. Theorie der Informatik. 2.1 Äquivalenzen. 2.2 Vereinfachte Schreibweise. 2.3 Normalformen. 2.

Das Heiratsproblem. Definition Matching

Formale Grundlagen der Informatik 1 Kapitel 16 Normalformen und Hornformeln

Resolutionskalkül. wird t als eine Menge K t von Klauseln geschrieben, welche die einzelnen Maxterme repräsentieren:

Theorie der Informatik Übersicht. Theorie der Informatik SAT Graphenprobleme Routing-Probleme. 21.

Syntax der Aussagenlogik. Vorlesung Logik Sommersemester 2012 Universität Duisburg-Essen. Formel als Syntaxbaum. Teilformel A 3 A 1 A 4

Theoretische Informatik: Logik

Tableaukalkül für Aussagenlogik

a b b a a b b a Dank Grundlagen der Theoretischen Informatik / Einführung in die Theoretische Informatik I Chart-Parsing Chart-Parsing Vorlesung

Deduktion in der Aussagenlogik. Semantische Folgerungsbeziehung. Zusammenhang zwischen semantischer und syntaktischer Folgerung

Grundlagen der Theoretischen Informatik / Einführung in die Theoretische Informatik I

Aufgabe. Gelten die folgenden Äquivalenzen?. 2/??

Ersetzbarkeitstheorem

Grundlagen der Theoretischen Informatik / Einführung in die Theoretische Informatik I

Logik für Informatiker

Künstliche Intelligenz Logische Agenten & Resolution

Logik für Informatiker

Fakultät für Informatik Universität Magdeburg Jürgen Dassow. Vorbemerkungen

Einige Grundlagen der Komplexitätstheorie

Was bisher geschah: klassische Aussagenlogik

Aussagenlogik. Übersicht: 1 Teil 1: Syntax und Semantik. 2 Teil 2: Modellierung und Beweise. Aussagenlogik H. Kleine Büning 1/25

Kapitel L:II. II. Aussagenlogik

Deduktion in der Aussagenlogik

Formale Systeme. Das Erfu llbarkeitsproblem. Prof. Dr. Bernhard Beckert, WS 2017/2018

Logik für Informatiker

Einführung in die Methoden der Künstlichen Intelligenz. Klausurvorbereitung Überblick, Fragen,...

Grundbegriffe der mathematischen Logik

Die Klassen P und NP. Formale Grundlagen der Informatik 1 Kapitel 11. Die Klassen P und NP. Die Klasse P

Logik für Informatiker

Allgemeingültige Aussagen

Vorlesung Logik Wintersemester 2017/18 Universität Duisburg-Essen

Übung Theoretische Grundlagen

Klammersprache Definiere

Beispiel Aussagenlogik nach Schöning: Logik...

Aussagenlogik. Übersicht: 1 Teil 1: Syntax und Semantik. 2 Teil 2: Modellierung und Beweise. Aussagenlogik H. Kleine Büning 1/37

Satz 227 3SAT ist N P-vollständig. Info IV 2 N P-Vollständigkeit 375/388 c Ernst W. Mayr

Erfüllbarkeitstests. Im folgenden: Ein sehr effizienter Erfüllbarkeitstest für eine spezielle Klasse von Formeln in KNF, sogenannte Hornformeln (vgl.

1 Aussagenlogik. 1.1 Aussagen. 15 ist eine Primzahl. 3 < 8 x < 15 (hängt von x ab, keine Aussage) Aussage = Behauptung Beispiele: Es regnet.

TU5 Aussagenlogik II

Logik Vorlesung 4: Horn-Logik und Kompaktheit

Überblick. Einführung in die Methoden der Künstlichen Intelligenz. Aussagenlogik (1) Wissenrepräsentations- und inferenzsysteme (2)

1 Aussagenlogik. 1.1 Aussagen. 15 ist eine Primzahl. 3 < 8 x < 15 (hängt von x ab, keine Aussage) Aussage = Behauptung Beispiele: Es regnet.

Jeder Aussage p kann ein Wahrheitswert W(p) {0, 1} zugeordnet werden. Beispiele: W(Es regnet.) =? (je nach Lage der Dinge) W(Die Straße ist naß.) =?

Zusammenfassung Syntax: Formale Grundlagen der Informatik 1 Kapitel 15 Normalformen und Hornformeln. Zusammenfassung

Lösungen zur Vorlesung Berechenbarkeit und Komplexität

Kapitel L:II. II. Aussagenlogik

Hilbert-Kalkül (Einführung)

Logik Vorlesung 5: Grundlagen Resolution

Einführung (1/3) Vorlesungen zur Komplexitätstheorie: Reduktion und Vollständigkeit (1) Vorlesungen zur Komplexitätstheorie.

Logik für Informatiker

Wozu formale Logik? Programmiersprachen Logik im Fingerhut. Formeln. Logik im Fingerhut (24. Januar 2005) Belegung und Interpretation

Diskrete Strukturen Kapitel 2: Grundlagen (Beweise)

Motivation. Formale Grundlagen der Informatik 1 Kapitel 16. Resolution. Motivation. Beispiel

Logik für Informatiker

abgeschlossen unter,,,, R,

Formale Grundlagen der Informatik 1 Kapitel 23 NP-Vollständigkeit (Teil 2)

Informatik II, SS 2018

Cognitive Interaction Technology Center of Excellence

Notizen zu Transformationen und Permutationen. T (A) = {f : A A}

Algorithmen und Datenstrukturen Tutorium Übungsaufgaben

Formale Grundlagen der Informatik 1 Kapitel 15 Normalformen und Hornformeln

Aufgabe Gegeben sind die folgenden aussagenlogischen Formeln F, G, H über den Variablen u, w, y, z:

Aufgabe Gegeben sind die folgenden aussagenlogischen Formeln F, G, H über den Variablen s, u, w, y:

Aufgabe Gegeben sind die folgenden aussagenlogischen Formeln F, G, H über den Variablen s, p, w, y:

TU9 Aussagenlogik. Daniela Andrade

Komplexitätstheorie NP-Vollständigkeit: Reduktionen (2) Der Satz von Cook/Levin

Dank. Grundlagen der Theoretischen Informatik / Einführung in die Theoretische Informatik I. Reduktion. Komplexitätsklassen.

Syntax. 1 Jedes A AS AL ist eine (atomare) Formel. 2 Ist F eine Formel, so ist auch F eine Formel. 3 Sind F und G Formeln, so sind auch

Logische und funktionale Programmierung

Informatik III. Christian Schindelhauer Wintersemester 2006/ Vorlesung

Logik für Informatiker

Grundlagen digitaler Systeme WS12

Diskrete Strukturen Wiederholungsklausur

Resolution (Motivation) Vorlesung Logik Sommersemester 2012 Universität Duisburg-Essen. Resolution (Idee) Resolution (Idee)

Vorlesung Logik Wintersemester 2012/13 Universität Duisburg-Essen

Was bisher geschah: klassische Aussagenlogik

Algorithmen und Datenstrukturen 2. Stefan Florian Palkovits, BSc Juni 2016

Grundlagen der Programmierung

Logische Äquivalenz. Definition Beispiel 2.23

Transkript:

Qualitatives zeitliches Schließen: Intelligentes Kuchenbacken David Sabel Goethe-Universität, Frankfurt am Main 16. Juli 2013 Stand der Folien: 16. Juli 2013

Käse-Sahne-Kuchen backen 2/31

Käse-Sahne-Kuchen backen 2/31

Käse-Sahne-Kuchen backen Zutaten besorgen 2/31

Käse-Sahne-Kuchen backen Zutaten besorgen 2/31

Käse-Sahne-Kuchen backen Zutaten Teig besorgen 2/31

Käse-Sahne-Kuchen backen Zutaten Teig besorgen 2/31

Käse-Sahne-Kuchen backen Zutaten Teig besorgen Teig ruhen lassen 2/31

Käse-Sahne-Kuchen backen Zutaten Teig besorgen Teig ruhen lassen 2/31

Käse-Sahne-Kuchen backen Zutaten Teig besorgen Teig ruhen lassen Belag 2/31

Käse-Sahne-Kuchen backen Zutaten Teig besorgen Teig ruhen lassen Belag 2/31

Käse-Sahne-Kuchen backen Zutaten Teig besorgen Teig ruhen lassen Belag Sahne schlagen 2/31

Käse-Sahne-Kuchen backen Zutaten Teig besorgen Teig ruhen lassen Belag Sahne schlagen 2/31

Käse-Sahne-Kuchen backen Zutaten Teig besorgen Teig ruhen lassen Belag Sahne schlagen einfetten 2/31

Käse-Sahne-Kuchen backen Zutaten Teig besorgen Teig ruhen lassen Belag Sahne schlagen einfetten 2/31

Käse-Sahne-Kuchen backen Zutaten Teig besorgen Teig ruhen lassen Belag Sahne schlagen einfetten Teig in 2/31

Käse-Sahne-Kuchen backen Zutaten Teig besorgen Teig ruhen lassen Belag Sahne schlagen einfetten Teig in 2/31

Käse-Sahne-Kuchen backen Zutaten Teig besorgen Teig ruhen lassen Belag Sahne schlagen einfetten Teig in Belag in 2/31

Käse-Sahne-Kuchen backen Zutaten Teig besorgen Teig ruhen lassen Belag Sahne schlagen einfetten Teig in Belag in 2/31

Käse-Sahne-Kuchen backen Zutaten Teig besorgen Teig ruhen lassen Belag Sahne schlagen einfetten Teig in Belag in Ofen heizt 2/31

Käse-Sahne-Kuchen backen Zutaten Teig besorgen Teig ruhen lassen Belag Sahne schlagen einfetten Teig in Belag in Ofen heizt 2/31

Käse-Sahne-Kuchen backen Zutaten Teig besorgen Teig ruhen lassen Belag Sahne schlagen einfetten Teig in Belag in Ofen Kuchen im heizt Ofen 2/31

Käse-Sahne-Kuchen backen Zutaten Teig besorgen Teig ruhen lassen Belag Sahne schlagen einfetten Teig in Belag in Ofen Kuchen im heizt Ofen 2/31

Käse-Sahne-Kuchen backen Zutaten Teig besorgen Teig ruhen lassen Belag Sahne schlagen einfetten Teig in Belag in Ofen Kuchen im Kuchen heizt Ofen kühlt aus 2/31

Käse-Sahne-Kuchen backen Zutaten Teig besorgen Teig ruhen lassen Belag Sahne schlagen einfetten Teig in Belag in Ofen Kuchen im Kuchen heizt Ofen kühlt aus 2/31

Käse-Sahne-Kuchen backen Zutaten Teig besorgen Teig ruhen lassen Belag Sahne schlagen einfetten Teig in Belag in Ofen Kuchen im Kuchen Kuchen heizt Ofen kühlt aus entnehmen 2/31

Zeitliche Zusammenhänge Zutaten besorgen Teig Teig ruhen lassen Belag Sahne schlagen einfetten Teig in Belag in Ofen heizt Kuchen im Ofen Kuchen kühlt aus Kuchen entnehmen Aktionen entsprechen (nicht-leeren) Zeitintervallen Wissen: Anforderungen an die relative Lage der Intervalle Wie kann man dieses Wissen repräsentieren? 3/31

Beispiele Zutaten besorgen vor Teig Zutaten bes. Teig zub. Teig ruhen lassen direkt nach Teig Teig zub. Teig ruht Sahne schlagen während, aber vorher endend Belag Sahne schl. Belag zub. Belag beginnt während Teig ruhen lassen Belag zub. Teig ruht 4/31

Welche Schlüsse lassen sich daraus ziehen? Neue Beziehungen zwischen Aktionen Darf der Belag vor dem Teig in die Form? Modell: Anordnung der Intervalle, die alle Beziehungen erfüllt Wie gelingt der Kuchen? Konsistenz: Gibt es ein Modell? Kann man den Kuchen überhaupt backen? 5/31

Welche Schlüsse lassen sich daraus ziehen? Neue Beziehungen zwischen Aktionen Darf der Belag vor dem Teig in die Form? Modell: Anordnung der Intervalle, die alle Beziehungen erfüllt Wie gelingt der Kuchen? Konsistenz: Gibt es ein Modell? Kann man den Kuchen überhaupt backen? Zutaten bes. Teig zub. Teig ruht Belag zub. Sahne schl. 5/31

Allensche Intervalllogik James F. Allen: Maintaining knowledge about temporal intervals Commun. ACM, 1983 Logik zur Darstellung der relativen Lage von (nicht leeren) Zeitintervallen ohne Absolutwerte (weder von wann bis wann, noch wie lang) 6/31

Formeln und Basisrelationen Allensche Formeln: F ::= (A r B) F F 1 F 2 F 1 F 2 wobei A, B sind Intervallnamen r ist eine der Allenschen Basisrelationen 7/31

Formeln und Basisrelationen Allensche Formeln: F ::= (A r B) F F 1 F 2 F 1 F 2 wobei A, B sind Intervallnamen r ist eine der Allenschen Basisrelationen Basisrelationen: Gegeben zwei nichtleere reellwertige Intervalle: A B a a a e b a b e Wie können A und B zueinander liegen? Wieviele Möglichkeiten gibt es? 7/31

Allensche Basisrelationen, Teil 1 A B A before B A B A m B A meets B A B A o B A overlaps B A B A s B A starts B A B A f B A finishes B A B A d B A during B A B A B A equal B A B 8/31

Alle Allensche Basisrelationen A B A B A B B A A m B A B A m B B A A o B A B A ŏ B B A A s B A B A s B B A A f B B A A f B A B A d B A B A d B A B A B A B 9/31

Allensche Basisrelationen Allensche Basisrelationen Die 13 Allenschen Basis-Relationen sind: R := {,, m, o, s, d, f,, m, ŏ, s, d, f}. Die Allenschen Basis-Relationen sind paarweise disjunkt, d.h. A r 1 B A r 2 B = r 1 = r 2. Schreibweise A{r 1,..., r n }B := (A r 1 B) (A r 2 B)... (A r n B) A{r 1,..., r n }B nennt man atomares Allen-Constraint 10/31

Beispiele Zutaten besorgen vor Teig Zutaten {, m} TeigZub Teig ruhen lassen direkt nach Teig TeigR { m} TeigZub Sahne schlagen während, aber vorher endend Belag Sahne {s, d} BelagZub Belag beginnt während Teig ruhen lassen BelagZub {s, s, d, ŏ,, f} TeigR 11/31

Beispiel als Constraintnetzwerk Zutaten besorgen, m Teig m Sahne schlagen s, d Belag s, s, d, ŏ,, f Teig ruhen lassen 12/31

Beispiel als Constraintnetzwerk, m Zutaten besorgen, m Teig m m Sahne schlagen s, d Belag s, s, d, ŏ,, f Teig ruhen lassen s, d s, s, d, o,, f 12/31

Beispiel als Constraintnetzwerk, m Zutaten besorgen, m Teig R R R R R m m Sahne schlagen s, d Belag s, s, d, ŏ,, f Teig ruhen lassen s, d R s, s, d, o,, f 12/31

Allensche Formeln: Semantik Interpretation I: Intervallnamen reellwertige Intervalle, d.h. I(A) = [a a, a e ], mit a a, a e R und a a < a e. Interpretation der Formeln: Sei I(A) = [a a, a e ] und I(B) = [b a, b e ], dann I(A B) = True, gdw. a e < b a I(A m B) = True, gdw. a e = b a I(A o B) = True, gdw. a a < b a, b a < a e und a e < b e I(A s B) = True, gdw. a a = b a und a e < b e I(A f B) = True, gdw. a a > b a und a e = b e I(A d B) = True, gdw. a a > b a und a e < b e I(A B) = True, gdw. a a = b a und a e = b e I(A r B) = I(B r A) I(F G) = True gdw. I(F ) = True und I(G) = True I(F G) = True gdw. I(F ) = True oder I(G) = True. I( F ) = True gdw. I(F ) = False 13/31

Modelle und Erfüllbarkeit Interpretation I ist ein Modell für F gdw. I(F ) = True gilt. Eine Allensche Formel F ist: widersprüchlich (inkonsistent), wenn es kein Modell für F gibt. erfüllbar, wenn es mindestens ein Modell für F gibt. Zwei Formeln F und G sind äquivalent gdw. I : I(F ) = I(G) 14/31

Normalform Atomares Allen-Constraint: A R B mit R R Konjunktives Allen-Constraint: A 1 R B 1... A n R B n Disjunktives Allen-Constraint: C 1... C m, wobei C i konjunktive Allen-Constraints Satz Jede Allen-Formel kann als äquivalentes disjunktives Allen-Constraint dargestellt werden Erfüllbarkeit von disjunktiven Allen-Constraints: Finde einen erfüllbaren konjunktiven Allen-Constraint. Daher: Erfüllbarkeitsproblem von konjunktiven Allen-Constraints ist das interessante Problem 15/31

Allenscher Abschluss Eingabe: Konjunktives Allen-Constraint Ausgabe: Allenscher Abschluss Verfahren: Berechne Fixpunkt bezüglich der Regeln (auf Subformeln): Vereinfachungen: ( bedeutet ersetze ) A R 1 B A R 2 B A (R 1 R 2 ) B A B False A R B True A R A False, wenn R. A R A True, wenn R. Folgerungen: ( bedeutet füge hinzu ) A R B B R A, wobei R := { r1,..., r n } für R = {r 1,..., r n } A R 1 B B R 2 C A (R 1 R 2 ) C. und übliche aussagenlogische Umformungen 16/31

Allenscher Abschluss (2) Wesentliche Regel: A R 1 B B R 2 C A (R 1 R 2 ) C R 1 R 2 A B C R 1 R 2 (R 1 R 2 ) := {r i r j r i R 1, r j R 2 } 17/31

Allenscher Abschluss (2) Wesentliche Regel: A R 1 B B R 2 C A (R 1 R 2 ) C R 1 R 2 A B C R 1 R 2 (R 1 R 2 ) := {r i r j r i R 1, r j R 2 } Komposition der Basisrelationen: r i r j kann man vorberechnen. Beispiel: A B B d C A B C 17/31

Allenscher Abschluss (2) Wesentliche Regel: A R 1 B B R 2 C A (R 1 R 2 ) C R 1 R 2 A B C R 1 R 2 (R 1 R 2 ) := {r i r j r i R 1, r j R 2 } Komposition der Basisrelationen: r i r j kann man vorberechnen. Beispiel: A B B d C A B C Möglichkeiten: A {, } C. 17/31

Allenscher Abschluss (2) Wesentliche Regel: A R 1 B B R 2 C A (R 1 R 2 ) C R 1 R 2 A B C R 1 R 2 (R 1 R 2 ) := {r i r j r i R 1, r j R 2 } Komposition der Basisrelationen: r i r j kann man vorberechnen. Beispiel: A B B d C A B C Möglichkeiten: A {, m } C. 17/31

Allenscher Abschluss (2) Wesentliche Regel: A R 1 B B R 2 C A (R 1 R 2 ) C R 1 R 2 A B C R 1 R 2 (R 1 R 2 ) := {r i r j r i R 1, r j R 2 } Komposition der Basisrelationen: r i r j kann man vorberechnen. Beispiel: A B B d C A B C Möglichkeiten: A {, m, o } C. 17/31

Allenscher Abschluss (2) Wesentliche Regel: A R 1 B B R 2 C A (R 1 R 2 ) C R 1 R 2 A B C R 1 R 2 (R 1 R 2 ) := {r i r j r i R 1, r j R 2 } Komposition der Basisrelationen: r i r j kann man vorberechnen. Beispiel: A B B d C A B C Möglichkeiten: A {, m, o, s } C. 17/31

Allenscher Abschluss (2) Wesentliche Regel: A R 1 B B R 2 C A (R 1 R 2 ) C R 1 R 2 A B C R 1 R 2 (R 1 R 2 ) := {r i r j r i R 1, r j R 2 } Komposition der Basisrelationen: r i r j kann man vorberechnen. Beispiel: A B B d C A B C Möglichkeiten: A {, m, o, s, d} C. 17/31

Allenscher Abschluss (2) Wesentliche Regel: A R 1 B B R 2 C A (R 1 R 2 ) C R 1 R 2 A B C R 1 R 2 (R 1 R 2 ) := {r i r j r i R 1, r j R 2 } Komposition der Basisrelationen: r i r j kann man vorberechnen. Beispiel: A B B d C A B C Möglichkeiten: A {, m, o, s, d} C. Daher: d = {, o, m, s, d} 17/31

Kompositionsmatrix d d o ŏ m m s s f f R o m o m o m o m d s d s d s d s R ŏ m ŏ m ŏ m ŏ m d f d f d f d f d d R o m d d d o m R \ ŏ m d f d s m m o ŏ o m d f ŏ m d s d s ŏ m d f ŏ m d f o m d s d o d f ŏ d s o d f ŏ d s o d f d ŏ d s d o d s o m R \ d f o m m m ŏ d f ŏ m d s ŏ d s o d f o d s o o m R \ ŏ m o d f ŏ d f ŏ m ŏ ŏ d s m m m ŏ m d s o d s o d s f f m m d s o m o m d f s d s o m d f f d ŏ d f ŏ d f s s d f ŏ m m o m d f o m ŏ d f m s s s d o m ŏ d f d o d f ŏ o d f m s s s ŏ d ŏ m d s o d s ŏ m m d ŏ m f f f f ŏ m d s o d s d o ŏ d s m ŏ d s o d f f f und (r ) = r ( r) = r 18/31

Beispiel Zutaten besorgen, m Teig m Sahne schlagen s, d Belag s, s, d, ŏ,, f Teig ruhen lassen 19/31

Beispiel Zutaten besorgen, m Teig, m m, m Sahne schlagen s, d Belag s, s, d, ŏ,, f Teig ruhen lassen,, d, f, s, s, o, m 19/31

Beispiel (2) Zutaten besorgen, m Teig, m m Sahne schlagen s, d Belag s, s, d, ŏ,, f Teig ruhen lassen 20/31

Beispiel (2) Zutaten besorgen, m Teig, m m Sahne schlagen s, d Belag s, s, d, ŏ,, f Teig ruhen lassen 20/31

Allenscher Abschluss: Eigenschaften Satz Der Allensche Abschluss für n Intervalle kann in Zeit O(n 3 ) berechnet werden. Algorithmus Allenscher Abschluss Eingabe: (n n)-array R, mit Einträgen R i,j R R i,j (1) Zutaten (2) Teigzub (3) Teigruht (4) Sahne (5) Belagzub (1) Zutaten { } {, m} R R R (2) Teigzub {, m} { } {m} R R (3) Teigruht R { m} { } R {, d, f, s, s, o} (4) Sahne R R R { } {d, s} (5) Belagzub R R {, s, s, d, f, ŏ} { d, s} { } 21/31

Allenscher Abschluss: Eigenschaften Satz Der Allensche Abschluss für n Intervalle kann in Zeit O(n 3 ) berechnet werden. Algorithmus Allenscher Abschluss Eingabe: (n n)-array R, mit Einträgen R i,j R procedure AllenAbschluss(R): queue := {(i, k, j) 1 i, k, j n}; while queue do Wähle und entferne Tripel (i, k, j) aus queue; R i,k R k,j R := R i,j (R i,k R k,j ); if R i,j R then R i,j := R ; i k R i,j j queue := queue ++ {(i, j, m) 1 m n} ++ {(m, i, j) 1 m n} endif endwhile 21/31

Allenscher Abschluss: Eigenschaften Satz Der Allensche Abschluss für n Intervalle kann in Zeit O(n 3 ) berechnet werden. Algorithmus Allenscher Abschluss Eingabe: (n n)-array R, mit Einträgen R i,j R procedure AllenAbschluss(R): queue := {(i, k, j) 1 i, k, j n}; while queue do Wähle und entferne Tripel (i, k, j) aus queue; R i,k R k,j R := R i,j (R i,k R k,j ); if R i,j R then R i,j := R ; i k R i,j j queue := queue ++ {(i, j, m) 1 m n} ++ {(m, i, j) 1 m n} endif R i,j R j,m R m,i R i,j endwhile i j m m i j R i,m R m,i 21/31

Allenscher Abschluss: Eigenschaften Theorem Der Allensche Kalkül ist korrekt, d.h. wenn F der Allensche Abschluss von F, dann sind F und F äquivalente Formeln. Aber der Allensche Kalkül ist weder herleitungsvollständig noch widerspruchsvollständig, d.h. Die hergeleiteten Einzel-Relationen sind nicht minimal bzgl. der Semantik Widersprüchliche Formeln werden nicht immer erkannt. Beispiel zur Widerspruchs-Unvollständigkeit: D s, m o B s, m d, d d, d Der Allensche Abschluss verändert keine der Beziehungen, aber sie sind widersprüchlich! A f, f C 22/31

Partielle Vollständigkeit Der Allensche Kalkül ist vollständig in eingeschränktem Sinn: Satz (Pfadkonsistenz) Der Allensche Abschluss ist 3-konsistent: A R AB B R AC C R CB Jede Belegung I der Intervalle A und B mit I(A R AB B) = True kann auf das Intervall C erweitert werden, so dass I(A R BC C) = True = I(C R AC B). Es gilt nicht (globale Konsistenz): Jede Belegung von k Knoten kann auf k + 1 Knoten unter Erhaltung der Erfüllbarkeit erweitert werden 23/31

Eindeutige Allen-Constraints Definition: Ein konjunktives Allen-Constraint ist eindeutig, gdw. alle atomaren Constraints von der Form A {r} B sind. Satz (Valdés-Pérez, 1987) Auf eindeutigen Allen-Constraints ist der Allen-Kalkül korrekt und vollständig 24/31

Vollständiges Verfahren Algorithmus Erfüllbarkeitstest für konjunktive Allensche Constraints Eingabe: (n n)-array R, mit Einträgen R i,j R function ASAT(R): R := AllenAbschluss(R); if R i,j mit R i,j = then return False endif; if R i,j gilt: R i,j = 1 then return True else wähle R i,j mit R i,j = {r 1, r 2,...}; R l := R ; R l i,j := {r 1}; R r := R ; R r i,j := R i,j \ {r 1}; return (ASAT(R l ) ASAT(R r )); endif Der Algorithmus ist korrekt und vollständig. Die Laufzeit ist im worst-case exponentiell. Mittlere Verzweigungsrate: 6,5 25/31

Komplexität des Problems Satz Das Erfüllbarkeitsproblem für konjunktive Allenschen Constraints ist N P-vollständig. Beweis: Problem ist in N P: Rate lineare Reihenfolge der Intervallanfänge und -enden D.h. Ordnung auf allen X a, X e für alle Intervalle X Verifiziere ob Reihenfolge das Constraint erfüllt Verifikation geht in Polynomialzeit 26/31

Beweis (Fortsetzung) N P-Härte: Reduktion von 3-Färbbarkeit auf Erfüllbarkeit von Allen-Constraints 3-Färbbarkeit: Kann man die Knoten eines ungerichteten Graphen mit drei Farben färben, so dass benachbarte Knoten stets verschiedene Farben haben? 27/31

Beweis (Fortsetzung) Für G = (V, E) erzeuge: 28/31

Beweis (Fortsetzung) Für G = (V, E) erzeuge: (Rot m Gruen) (Gruen m Blau) Rot Gruen Blau 28/31

Beweis (Fortsetzung) Für G = (V, E) erzeuge: (Rot m Gruen) (Gruen m Blau) Rot Gruen Blau Für die Knoten: v i V : v i {m,, m} Gruen Rot Gruen Blau v i v i v i 28/31

Beweis (Fortsetzung) Für G = (V, E) erzeuge: (Rot m Gruen) (Gruen m Blau) Rot Gruen Blau Für die Knoten: v i V : v i {m,, m} Gruen Rot Gruen Blau v i v i v i Für die Kanten: (v i, v j ) E : v i {m, m,, } v j v j v i v j 28/31

Varianten und Verbesserungen Idee: Schränke erlaubte Relationen R für A R B so ein, dass der Allen-Kalkül vollständig ist. Bereits gesehen: R = {r} mit r Basisrelation Nebel & Bürckert 1995: Klasse H 2 R : Beinhaltet nur R R deren Übersetzung in Constraints über Endpunkten nur Hornklauseln mit Literalen a b, a = b und (a = b) erzeugen. Von den 2 13 = 8192 möglichen Beziehungen erfüllen 868 diese Eigenschaft Werden nur R H verwendet, so ist der Allen-Kalkül vollständig. Verbesserung des exponentiellen Verfahrens: Zerlege bei der Fallunterscheidung die Menge R in Elemente aus H Vorteil: Kleinere mittlere Verweigungsrate (statt 6,5 nur 2,533 (Nebel 1997)) 29/31

Ausblick Qualitatives räumliches Schließen Eindimensional: Genau die Allensche Intervalllogik Zweidimensional: Region-Connection-Calculus (RCC8), (Randell, Cui & Cohn, 1992) X Y X Y X Y X Y X DC Y disconnected X EC Y externally connected X TPP Y tangential proper part X NTPP Y non-tangential proper part X Y X Y Y X Y X X PO Y partially overlapping X EC Y equal X TPPi Y tangential proper part inverse X NTPPi Y non-tangential proper part inverse 30/31

Kuchen backen Zutaten besorgen Teig Teig ruhen lassen Belag Sahne schlagen einfetten Teig in Belag in Ofen heizt Kuchen im Ofen Kuchen kühlt aus Kuchen entnehmen Zutaten {<,m} TeigZub, Zutaten {<,m} TeigRuht, Zutaten {<,m} BelZub, Zutaten {<,m} Sahne, TeigRuht {m} TeigForm, TeigForm {<,m} BelForm, BelForm {<,m} Backen, Backen {f} Heizen, Sahne {s,d} BelZub, Heizen {S,o,>} TeigRuht, Heizen {<,m} Kuehlen, Kuehlen {<,m} Entnehmen, Zutaten {<,m} Einfett, Zutaten {<,m} Heizen, TeigZub {<,m} TeigForm, BelZub {<,m} BelForm, TeigZub {<,>,m,m} BelZub, Einfett {<,>,m,m} BelZub, Einfett {>,M} TeigZub, Einfett {<,m,m,>} TeigForm, Einfett {<,>,m,m} BelForm, Einfett {<,m} TeigForm, TeigZub {m} TeigRuht, Einfett {>,M} Zutaten, Backen {m} Kuehlen, BelZub {s,s,d,o,=,f} TeigRuht, Einfett {>} Sahne 31/31

Kuchen backen Zutaten besorgen Teig Teig ruhen lassen Belag Sahne schlagen einfetten Teig in Belag in Ofen heizt Kuchen im Ofen Kuchen kühlt aus Kuchen entnehmen Zutaten {<,m} TeigZub, Zutaten {<,m} TeigRuht, Zutaten {<,m} BelZub, Zutaten {<,m} Sahne, TeigRuht {m} TeigForm, TeigForm {<,m} BelForm, BelForm {<,m} Backen, Backen {f} Heizen, Sahne {s,d} BelZub, Heizen {S,o,>} TeigRuht, Heizen {<,m} Kuehlen, Kuehlen {<,m} Entnehmen, Zutaten {<,m} Einfett, Zutaten {<,m} Heizen, TeigZub {<,m} TeigForm, BelZub {<,m} BelForm, TeigZub {<,>,m,m} BelZub, Einfett {<,>,m,m} BelZub, Einfett {>,M} TeigZub, Einfett {<,m,m,>} TeigForm, Einfett {<,>,m,m} BelForm, Einfett {<,m} TeigForm, TeigZub {m} TeigRuht, Einfett {>,M} Zutaten, Backen {m} Kuehlen, BelZub {s,s,d,o,=,f} TeigRuht, Einfett {>} Sahne Allen-Programm: Max. #Modelle in der Eingabe : 177.247.393.995.618.482.069.389.150.242.626.279.322.671.526.463.930.368 Max. #Modelle nach Allen-Abschluss: 5.898.240 Anzahl Modelle : 1.536 Allenscher Abschluss genau? : True 31/31