Klassische Logik ist monoton: mehr Prämissen haben nie weniger Folgerungen Sei Th(T) = {p T = p}

Ähnliche Dokumente
Nichtmonotones Schließen

3.Inferenzsysteme 3.4 Logische Programme und Antwortmengensemantik

Modellbasierte Diagnosesysteme

4 Spezielle Schlußverfahren

Binäre Suchbäume (binary search trees, kurz: bst)

Übersicht. 7. Prädikatenlogik 1. Stufe

Rechnerstrukturen. Michael Engel und Peter Marwedel WS 2013/14. TU Dortmund, Fakultät für Informatik

Einführung in die Logik

Seminararbeit im Fachbereich

Prolog basiert auf Prädikatenlogik

1 Aussagenlogischer Kalkül

Wissensbasierte Systeme

II. Wissenschaftliche Argumentation

Grundlagen der Logik und Logik-Programmierung

Strukturelle Rekursion und Induktion

Prädikatenlogik in der Praxis. Richard Cubek (Teil der Master Thesis, 2011)

Answer Set Programming

Wissensrepräsentation und -verarbeitung in Logiken. bereinigt Pränex Skolem ( -Eliminierung) Klausel (Menge von Klauseln, Notation ohne Quantoren)

6 Modellierung von Strukturen 6.1 Kontextfreie Grammatiken

Hilbert-Kalkül (Einführung)

Vorkurs Mathematik und Informatik Mengen, natürliche Zahlen, Induktion

Wissensbasierte Systeme

Normalformen der Prädikatenlogik

3. Grundlegende Begriffe von Logiken - Aussagenlogik

Logische Programmierung

Kapitel 1.3. Normalformen aussagenlogischer Formeln und die Darstellbarkeit Boolescher Funktionen durch aussagenlogische Formeln

Semantic Web Technologies II SS 2008

6. AUSSAGENLOGIK: TABLEAUS

Logik für Informatiker

Substitution. Unifikation. Komposition der Substitution. Ausführung der Substitution

Logik und Beweise. Logik und Beweise. Vorsemesterkurs SoSe März 2016

Kapitel 2: Formale Sprachen Kontextfreie Sprachen. reguläre Grammatiken/Sprachen. kontextfreie Grammatiken/Sprachen

Tableaukalkül für Aussagenlogik

Logik für Informatiker

Ein Beispielbeweis zur Verifikation des Programms zur Division mit Rest auf der Basis der Hoare-Regeln

Wissensrepräsentation 2

Normalformen boolescher Funktionen

6 Reelle und komplexe Zahlenfolgen

Neuronalen Netzen. Jens Lehmann. 1. März Institut für Künstliche Intelligenz Fakultät Informatik Technische Universität Dresden

MafI I: Logik & Diskrete Mathematik (F. Hoffmann)

Theoretische Grundlagen des Software Engineering

Logik für Informatiker

Auswahl von Klauseln und Atomen in Prolog

HM I Tutorium 1. Lucas Kunz. 27. Oktober 2016

$Id: reell.tex,v /10/28 14:16:56 hk Exp hk $ Axiome genannt, bei den reellen Zahlen haben wir dann die

3.1.1 Die Variante T1 und ein Entscheidungsverfahren für die Aussagenlogik

Durchschnitt von Matroiden

Die Klassen P und NP. Dr. Eva Richter. 29. Juni 2012

kontextfreie Grammatiken Theoretische Informatik kontextfreie Grammatiken kontextfreie Grammatiken Rainer Schrader 14. Juli 2009 Gliederung

Verfeinerungen des Bayesianischen Nash Gleichgewichts

Umformung NTM DTM. Charakterisierung rek. aufz. Spr. Chomsky-3-Grammatiken (T5.3) Chomsky-0-Grammatik Rek. Aufz.

Formale Methoden 2. Gaetano Geck Lehrstuhl I Logik in der Informatik WS 2015/2016

Logic in a Nutshell. Christian Liguda

Datenstruktur zum Speichern einer endlichen Menge M von Zahlen. Genauer:

Beschreibungskomplexität von Grammatiken Definitionen

Brückenkurs Mathematik

Formale Systeme. Aussagenlogik: Sequenzenkalkül. Prof. Dr. Bernhard Beckert WS 2010/2011 KIT INSTITUT FÜR THEORETISCHE INFORMATIK

< hergeleitet. < war nach 1.9 mit Hilfe von Rechenregeln für

6.1.2 Bem.: Für Vierecke ist der Begriff Innenwinkel im allgemeinen nicht sinnvoll. Skizze.

3. Logik-Programmierung

6.1.2 Bem.: Für Vierecke ist der Begriff Innenwinkel im allgemeinen nicht sinnvoll. Skizze.

Variablen & erweiterte Aktionen nutzen

Bäume und Wälder. Seminar: Graphentheorie Sommersemester 2015 Dozent: Dr. Thomas Timmermann

Eigenschaften der Resolution für PL1 Formeln

Kapitel 3: Die Sätze von Euler, Fermat und Wilson. 8 Der Satz von Euler

STRIPS. Hauptseminar: Kognitive Systeme. Stefanie Sieber Norbert Wächtler

10 Der statistische Test

Mathematik für Naturwissenschaftler I WS 2009/2010

Klassenstufen 7, 8. Aufgabe 1 (6+6+8 Punkte). Magischer Stern:

I.5. Kontextfreie Sprachen

Konjunktive und disjunktive Normalformen

Resolutionsalgorithmus

Grundlagen der Kognitiven Informatik

Logik für Informatiker

2.11 Kontextfreie Grammatiken und Parsebäume

De Morgan sche Regeln

Teil 1: Digitale Logik

4. Lernen von Entscheidungsbäumen. Klassifikation mit Entscheidungsbäumen. Entscheidungsbaum

Grundlagen der Theoretischen Informatik

Informatik IC2. Balazs Simon

Formale Methoden 2. Gaetano Geck Lehrstuhl I Logik in der Informatik WS 2014/2015

7. Formale Sprachen und Grammatiken

Geraden in der Ebene und Zerlegung von Graphen

2 Rationale und reelle Zahlen

12 Wahrheitsbäume zur Beurteilung der logischen Wahrheit von Sätzen der Sprache AL

Kapitel 1.5. Ein adäquater Kalkül der Aussagenlogik. Teil 1: Kalküle und Beweisbarkeit und die Korrektheit des Shoenfield-Kalküls

Daten, Information, Wissen explizites und implizites Wissen Expertensysteme (Aufgaben, Aufbau, Komponenten)

Kapitel 4. Induktive Definitionen und Beweise

Geschichte der Logik ist eng verknüpft mit (Sprach-) Philosophie. Logik untersucht, wie aus wahren Aussagen andere wahre Aussagen folgen

Was bisher geschah. Aufgaben: Diagnose, Entscheidungsunterstützung Aufbau Komponenten und Funktion

Vorsemesterkurs Informatik

Reelle Zahlen, Gleichungen und Ungleichungen

Seminar Übergänge. Einstieg: Kartenaufgabe. Gliederung

Theorie der Informatik. Theorie der Informatik. 6.1 Einführung. 6.2 Alphabete und formale Sprachen. 6.3 Grammatiken. 6.4 Chomsky-Hierarchie

Bayes-Netze (1) Lehrstuhl für Künstliche Intelligenz Institut für Informatik Friedrich-Alexander-Universität Erlangen-Nürnberg

Zahlen und Funktionen

Beschreibungslogiken. Daniel Schradick

Warum Mathe? IG/StV-Mathematik der KFU-Graz. 1 Mengen Mengenoperationen Rechenregeln Mengen 4. Funktionen 7

I. Aussagenlogik. Aussagenlogik untersucht Verknüpfungen wie "und", "oder", "nicht", "wenn... dann" zwischen atomaren und komplexen Sätzen.

Transkript:

Nichtmonotones Schließen: Motivation 1. Beschreibung typischer Zusammenhänge Klassische Logik ist monoton: mehr Prämissen haben nie weniger Folgerungen Sei Th(T) = {p T = p} T 1 T 2 impliziert Th(T 1 ) Th(T 2 ) nicht immer gewollt: Standarbeispiel: kann Vogel Tweety fliegen? Vögel können fliegen. Tweety ist ein Vogel. aber es gibt Ausnahmen: Pinguine, Strauße, Vögel mit gestutzten Flügeln... wir wollen ableiten, dass Tweety fliegt, wenn wir nicht wissen, dass er Ausnahme ist. Falls Zusatzinformation besagt, dass es sich um einen Pinguin oder Strauß oder... handelt: Schluss zurücknehmen x Vogel(x) Fliegt(x) x Pinguin(x) Fliegt(x) x Pinguin(x) Vogel(x) ableitbar: es gibt keinen Pinguin (Hinzufügen von Pinguin(Tweety) gibt Inkonsistenz) Ersetzen wir obige Repräsentation durch: x Vogel(x) Ausnahme(x) Fliegt(x) x Pinguin(x) Ausnahme(x) x Strauß(x) Ausnahme(x)... Vogel(Tweety) jetzt ist Fliegt(Tweety) nicht ableitbar, da Ausnahme(Tweety) nicht gefolgert werden kann. Wir müssten exakt definieren, was die möglichen Ausnahmen sind, und wissen, dass Tweety zu keiner dieser Klassen gehört. (relativ) einfache Lösung des Problems in der Logikprogrammierung: neue Art der Negation not (default negation): not Ausnahme(Tweety) wahr, wenn Ausnahme(Tweety) nicht hergeleitet werden kann Notation: Fliegt(X) Vogel(X), not Ausnahme(X) Ausnahme(X) Pinguin(X) Ausnahme(X) Strauß(X)... Vogel(Tweety) Fliegt(Tweety) herleitbar, da Vogel(Tweety) gegeben und Ausnahme(Tweety) nicht herleitbar

2. Situationskalkül. McCarthy, Hayes, 1963, 1969 Situationen: Schnappschüsse von Weltzuständen, entsprechen Folgen von Aktionen Fluents: zeitabhängige Eigenschaften, können verschiedene Werte annehmen (etwa w,f) Aktionen: führen von Situation zu Nachfolgesituation holds(f,s) do(a,s) poss(a,s) f ist wahr in s Situation nach Ausführen von a in s Aktion a ist ausführbar in s Blockwelt: := 1) holds(on(c,table),s 0 ) 2) holds(on(b,c),s 0 ) A 3) holds(on(a,b), S 0 ) B 4) holds(on(d,table), S 0 ) C D 5) holds(clear(a), S 0 ) 6) holds(clear(d), S 0 ) 7) holds(clear(table), S 0 ) Move(x,y): bewege x auf y. Formalisierung (freie Variable allquantifiziert): Beschreibung, wann Move möglich, sowie der Effekte von Move 8) poss(move(x,y),s) <-> holds(clear(x),s) holds(clear(y),s) x y x Table 9) poss(move(x,y),s) holds(on(x,y),do(move(x,y),s)) 10) poss(move(x,y),s) holds(on(x,z),s) holds(clear(z),do(move(x,y),s)) 11) holds(on(y,z),s) z Table holds(clear(z),s) 12) holds(on(x,z),s) z y holds(on(x,y),s) = holds(on(a,d),do(move(a,d), S 0 )) = holds(clear(b),do(move(a,d), S 0 )) unique names assumption!! aber nicht: = holds(on(b,c),do(move(a,d), S 0 )) Persistenz von Eigenschaften Hinzufügen von Frame-Axiomen: holds(on(v,w),s) x v holds(on(v,w),do(move(x,y),s)) (holds(clear(x),s) x z) x = Table holds(clear(x), do(move(y,z),s)) 2 neue Axiome. Na und?

Color(x,c) Paint(x,c) x hat Farbe c male x mit Farbe c an holds(color(x,c), do(paint(x,c),s) keine Vorbedingungen Annahme: alle Blöcke und Tisch zunächst rot: holds(color(x,red), S 0 ) Neue Frame Axiome nötig: Move hat keinen Effekt auf Farbe, Paint färbt nur 1 Objekt holds(color(x,c),s) holds(color(x,c),do(move(y,z),s)) holds(color(x,c1),s) x y holds(color(x,c1),do(paint(y,c2),s)) Neue Frame Axiome auch für andere Fluents: holds(on(v,w),s) holds(on(v,w),do(paint(z,c),s)) holds(clear(x),s) holds(clear(x), do(paint(y,c),s)) n Fluents und m Aktionen: O(n m) Frame Problem: wir kann man Effekte von Aktionen repräsentieren, ohne sämtliche Frame Axiome explizit hinschreiben zu müssen? Ist FP nur ein Problem des Situationskalküls? bisherige Erfahrung: tritt in verschiedener Form bei jeder Formalisierung von Handlungen wieder auf. Lösungsidee: verwende eine Default-Regel, die besagt, dass Eigenschaften sich normalerweise nicht ändern: holds(f, do(a,s)) holds(f,s), not holds(f, do(a,s))

1. Definites Programm P: 1. r <- s 2. q <- p 3. p Akzeptable Überzeugungsmenge? Answer sets (Ergänzungen zu den Folien) {p} {p,q,r} {p,q} zu klein, 2 nicht angewendet zu groß, r hat keine Herleitung ok answer set = kleinste unter P abgeschlossene Atommenge = kleinstes Modell von P Minimal abgeschlossen => es gibt Herleitung 2. Normales Programm P: 1. p <- r, not q 2. q <- r, not p 3. r <- not s Akzeptable Überzeugungsmengen? {r} {p,q,r} {s} {p,r} {q,r} zu klein, 1, 2 nicht angewendet zu groß, p, q haben keine Herleitung s hat keine Herleitung (minimal abgeschlossen!) ok ok Minimal abgeschlossen => es gibt Herleitung answer set = unter P abgeschlossen und es gibt gültige Herleitung Wann hat Element von S gültige Herleitung? Herleitung basiert auf Regeln, die nicht von S widerlegt werden: es gibt kein not b im Körper, so dass b in S. S answer set? Ein einfacher Test: Eliminiere aus P alle Regeln, die not L im Körper haben, wobei L in S. Eliminiere aus allen verbleibenden Regeln die not-literale. Teste, ob S kleinstes Modell des (definiten) reduzierten Programms. {s} {p,r} {q,r} p <- r, not q p <- r, not q p <- r, not q q <- r, not p q <- r, not p q <- r, not p r <- not s r <- not s r <- not s

Tweety und answer sets bird <- penguin flies <- bird, not exception exception <- penguin bird dazu: penguin AS: {bird, flies} AS: {penguin, bird, exception} mehrere answer sets: a <- not b b <- not a kein answer set: a <- not a Beweisskizze: jede Menge, die a nicht enthält, ist nicht closed jede Menge, die a enthält, ist nicht grounded (keine Herleitung für a) Wie findet man answer sets? Beobachtungen: immer Teilmengen der Regelköpfe, Obermengen der Fakten Ober-(Unter-) mengen von AS können nicht AS sein. Beweisskizze: Sei P ein Logikprogramm, S, S answer sets von P. Wir nehmen an S S. Da S echte Obermenge von S ist, gilt P S P S (mindestens so viele Regeln werden durch S widerlegt wie durch S). Damit ist Cn(P S ) Cn(P S ). Da S answer set ist gilt Cn(P S ) = S und damit Cn(P S ) S. S ist also kein answer set, im Widerspruch zur Annahme. 1) a <- not b 2) b <- not a, c 3) c <- not e 4) d <- not d, a nur Teilmengen von {a,b,c,d} kommen in Frage da e nicht drin, muss c drin sein: c + Teilmenge von {a, b, d} {c,b} answer set: alle Obermengen und Teilmengen fallen weg c, a, b, d c, a, b c, a, d c, b, d c, a c, b, c, d es bleiben c,a; c,a,d; c,d keiner davon answer set c

Ableitungsbäume: Motivation: betrachte folgendes Programm 1) a <- not b 2) b <- not c Wir probieren der Reihe nach Regeln anzuwenden, deren nichtnegierte Vorbedingungen bereits hergeleitet sind und deren negierte noch nicht widerlegt sind: 1) liefert a, 2) liefert b, aber ist {a,b} answer set? Nein, da a nur unter der Annahme abgeleitet werden kann, dass b nicht abgeleitet wird. Also: merken, was nicht abgeleitet werden darf: {} not b 1 2 not c {a} {b} not c 2 {b} Knoten enthalten bereits abgeleitete Atome; Wurzel: Fakten Kanten entsprechen anwendbaren Regeln: Vorbedingungen hergeleitet, nicht widerlegt Nachfolgerknoten bekommt Kopf dazu, default-negierte in body an Kanten markiert Falls Knoten Atom enthält, das negiert an Kante zu ihm liegt: Irrweg, kein answer set Falls keine weitere Regel mehr anwendbar: AS gefunden Beispiel: {} not b 1 3 not e {a} {c} not e 3 4 not d 1 not b 2 not a {a,c} {a,d} {a,c} {c,b} 4 not d 4 not d {a,c,d} {a,c,d}

Meeting scheduling problem description: meeting(m 1 ),, meeting(m n ) time(t 1 ),, time(t s ) room(r 1 ),..., room(r m ) person(p 1 ),..., person(p k ) participant(p 1,m 1 ) participant(p 2,m 3 ) % zu organisierende Meetings % verfügbare Zeitpunkte % verfügbare Räume % Personen % Teilnehmer an Meeting problem independent part, generate: at(m,t) <- meeting(m), time(t), not at(m,t) at(m,t) <- meeting(m), time(t), not at(m,t) in(m,r) <- meeting(m), room(r), not in(m,r) in(m,r) <- meeting(m), room(r), not in(m,r) % generiert beliebige Zuweisungen von Zeitslots und Räumen test: timeassigned(m) <- at(m, T) roomassigned(m) <- in (M,R) <- meeting(m), not timeassigned(m) % kein Meeting ohne Zeit <- meeting(m), not roomassigned(m) % kein Meeting ohne Raum <- meeting(m), at(m,t), at(m,t ), T T % kein Meeting mit 2 Zeiten <- meeting(m), at(m,t), at(m,t ), T T % kein Meeting mit 2 Räumen <- in(m,x), in(m,x), at(m,t), at(m,t), M M. % gleichzeitige meetings haben versch. Räume <- participant(p,m), participant(p, M ), M M,at(M,T), at(m,t). % meetings mit demselben Teilnehmer haben versch. Zeiten