9. Logik-Programmierung

Größe: px
Ab Seite anzeigen:

Download "9. Logik-Programmierung"

Transkript

1 Logik, WS 2008 / Fakultät 5, Universität Stuttgart 9. Logik-Programmierung 9.1 Grundlagen der Logik- Programmierung A Ausgangspunkt für die Logik-Programmierung Objekte der Logik-Programmierung: a) Die Objekte der Logik-Programmierung sind Terme und Formeln im Sinne der Prädikatenlogik, wobei alle Formeln als Aussagen in Skolemform in KNF und in Klauseldarstellung vorliegen. b) Die Grundmenge sowie die Interpretationen der Funktions- und Prädikatensymbole sind i. Allg. durch die Bestandteile eines Logik- Programmes bereits implizit festgelegt (s. u.). c) Wegen der endlichen Anzahl der in Logik-Programmen erfassten Objekte ist auch die Grundmenge passender Strukturen oft endlich (z. B. nur die in einem Expertensystem interessierenden Objekte). Problemstellung bei der Logik-Programmierung: a) Ausgangspunkt der Logik-Programmierung sind Formeln der Form F' = ((F 1 F 2... F n ) G) ( (F 1 F 2... F n ) G) ( F 1 F 2... F n G) {{ F 1, F 2,..., F n,g}} = F, die, als "korrekte Regeln" gesehen, die logische Folgerung einer Konklusion G aus Prämissen F 1,F 2,...,F n beschreiben. b) In Hornformel-Programmen (s. u.) bilden F 1,...,F n,g atomare prädikatenlogische Formeln (Schreibweise: A 1,...,A n,b), die u. a. auch Variablen enthalten dürfen. c) Liegt kein Hornklausel-Programm vor, so besitzt die Konklusion u. U. die Form G (B 1... B k ) mit k>1 atomaren Formeln B 1,...,B k.

2 Logik, WS 2008 / Fakultät 5, Universität Stuttgart Definition 9.1: Horn-Klausel Jede Klausel einer in Klauseldarstellung geschriebenen Horn-Formel, d. h. jeder Fakt der Form {B}, jede Regel der Form { A 1,..., A n,b} und jede Zielklausel der Form { A 1,..., A n }. Definition 9.2: Programm-Klausel (auch: definite Klausel) Eine Horn-Klausel, welche genau ein positives Literal enthält, d. h. ein Fakt oder eine Regel. Definition 9.3: Wissensbasis (auch: Datenbasis, Datenbank) Eine Menge von Programm-Klauseln, d. h. von Fakten und Regeln. Beispiel 9.1: (Programm-Klauseln) a) Beispiel eines Faktes: Umgangssprachliche Formulierung: {P(a,b)} {liebt(adam,eva)} b) Beispiel einer Regel: ((P(x) R(y)) Q(y,x)) wenn (buchist(x) und buchliebt(y)), dann kauft(y,x) ( P(x) R(y) Q(y,x)) nicht buchist(x) oder nicht buchliebt(y) oder kauft(y,x) { P(x), R(y), Q(y,x)} {nicht buchist(x), nicht buchliebt(y), kauft(y,x)}. c) Beispiel einer Wissensbasis: {{P(a,b)}, {P(b,a)}, {{liebt(adam,eva)}, {liebt(eva,adam)}, { P(x), R(y), Q(y,x)}} {nicht buchist(x), liebt(y), kauft(y,x)}}. a) Fakten können als Konklusionen aufgefasst werden, die ohne das Zutreffen irgendwelcher Prämissen für sich genommen wahr sind, d. h. die ein positives Wissen darstellen. b) Regeln können als Werkzeuge aufgefasst werden, die es erlauben, aus positivem Wissen, d. h. aus geltenden Prämissen, in Form von Konklusionen neues positives Wissen zu gewinnen. c) Wissensbasen enthalten also Klauseln, die positives Wissen schon beinhalten oder zu neuem positivem Wissen führen.

3 Logik, WS 2008 / Fakultät 5, Universität Stuttgart B Logik-Programme Definition 9.4: Logik-Programm Eine Klauselmenge, d. h. eine in KNF und in Klauseldarstellung vorliegende Formel. Logik-Programme, die nur Fakten und Regeln enthalten, also z. B. Teilmengen von Wissensbasen, werden als Hornklausel-Programme bezeichnet. a) Logik-Programme sollten (Forderung an den Programmierer!) nur erfüllbare Klauseln enthalten, insbesondere sollten Hornklausel- Programme nur aus gültigen Fakten und korrekten Regeln bestehen. b) Ein Logik-Programm F, das freie Variablen x 1,...,x n beinhaltet, ist unter einer passenden Struktur A nur wahr, wenn es für alle n-tupel (x A 1,...,x A n ) (U A ) n erfüllt ist, also wenn gilt: Für alle (d 1,...,d n ) (U A ) n ist: A [x1 /d 1 ]...[x n /d n ](F) = 1, bzw. nach Definition 7.12,(4), wenn gilt: A( x 1... x n F) = 1. c) Daraus folgt, dass jedes logische Programm als Matrix einer Aussage in Skolemform aufgefasst werden kann, auf das sich die prädikatenlogische Resolution anwenden lässt. Beispiel 9.2: (Logik-Programm) Prädikatenlogische Umgangssprachliche Formulierung: Formulierung: F = {{P(a,b)}, {P(a,c)}, F = {{liebt(eva,essen)}, {liebt(eva,wein)}, {P(d,x), P(x,c)}} {liebt(adam,x), nicht liebt(x,wein)}}. Interpretation: Werden das Prädikatensymbol liebt bzw. die Konstantensymbole Eva, Essen, Wein und Adam durch ein gleichnamiges konkretes Prädikat mit der umgangssprachlichen Bedeutung von liebt bzw. durch gleichnamige Elemente aus einer geeigneten Grundmenge ersetzt, so lässt sich das Logik-Programm wie folgt interpretieren:

4 Logik, WS 2008 / Fakultät 5, Universität Stuttgart 1. "Eva isst gerne" (, da die erste Klausel wahr ist,). 2. "Eva trinkt gerne Wein" (, da die zweite Klausel wahr ist). 3. "Adam liebt jeden (Menschen), der gerne Wein trinkt" (, da die dritte Klausel wahr ist), wobei das "oder" zulässt, dass Adam auch Menschen liebt, die keinen Wein trinken. a) Logik-Programme bestehen nach Definition 9.4 aus Klauseln, die (bzgl. einer vorgegebenen Struktur A) als wahre Prämissen aufgefasst werden können, und erlauben deshalb die Formulierung von Fragestellungen der Form "folgt eine Formel G aus einem gegebenen Logik-Programm F?" (i.a.w.: (F G)?). b) Gegenstand von Fragestellungen sind i. Allg. Fakten, die als wahr vermutet werden. Demgemäß sind Konklusionen typischerweise von der Form G = y 1... y m G* = y 1... y m (B 1... B k ) mit quantorenfreiem G* bzw. in Hornklausel-Programmen G = y 1... y m B. c) Die in G* enthaltenen freien Variablen y 1,...,y m repräsentieren die Größen, welche in der Fragestellung interessieren. Um störende Abhängigkeiten zu vermeiden, dürfen sie nicht in F vorkommen. d) Da Logik-Programme auf Resolutionsverfahren aufbauen, welche die Unerfüllbarkeit von Formeln testen, muss zur Anwendung der Resolution die Negation (F G) der ursprünglichen Fragestellung getestet werden. e) Aufgrund äquivalenter Umformungen ergibt sich aus a) und b) (F y 1... y m G*) ( F y 1... y m G*) (F y 1... y m G*) (F y 1... y m G*) y 1... y m (F G*). Dabei handelt es sich, wenn die Bedingung aus c) erfüllt ist, um eine Formel in bereinigter Pränexform. f) Die Unerfüllbarkeit der Formel y 1... y m (F G*) ist nun gleichwertig zur Korrektheit der logischen Folgerung (F G), d. h. dazu, dass die in G enthaltenen Fakten aus F logisch folgen. Definition 9.5: Logik-Programm mit Fragestellung Die Menge F {{ B}} (F G*) bzw. F {{ B 1,.., B k }} (F G*) von Klauseln zu einem gegebenem Logik-Programm F und einer gegebenen Fragestellung y 1... y m G*, wobei G* eine Matrix und {{ B}} bzw. {{ B 1,.., B k }} die Klauseldarstellung von G* ist.

5 Logik, WS 2008 / Fakultät 5, Universität Stuttgart a) Sind in einem Logik-Programm mit Fragestellung (F G*) die in F enthaltenen freien Variablen x 1,...,x n von den in G* enthaltenen freien Variablen y 1,...,y m verschieden, so handelt es sich bei x 1... x n y 1... y m (F G*) um eine Aussage in Skolemform. b) Anfragen gehen in Programme mit Fragestellung in Form einer Zielklausel { B} bzw. { B 1,.., B k } ein und können als Basisklauseln für lineare Resolutionen wie z. B. SLD-Resolutionen dienen. Definition 9.6: Ausführung eines Logik-Programmes mit Fragestellung Das Ausführen eines linearen Resolutionsverfahrens zum Beweis der Unerfüllbarkeit eines Logik-Programmes mit Fragestellung F {{ B}} bzw. F {{ B 1,.., B k }} mit { B} bzw.{ B 1,.., B k } als Basisklausel. Beispiel 9.3: (Ausführung eines Logik-Programmes mit Fragestellung) Wird dem Logik-Programm F aus Beispiel 9.2 die Frage vorgelegt yp(d,y)? "gibt es jemanden, den Adam liebt"?, so steht dahinter die eigentliche Fragestellung "folgt P(d,y) aus F?" bzw. "ist (F P(d,y)) unerfüllbar?". Das zugehörige Logik-Programm mit Fragestellung lautet (F P(d,y)) {{liebt(eva,essen)}, {liebt(eva,wein)}, {liebt(adam,x), nicht liebt(x,wein)}} {{nicht liebt(adam,y)}}. Die Ausführung des Programmes zur Herleitung der leeren Klausel erfolgt hier mit linearer Resolution basierend auf der Anfrage bzw. auf der Zielklausel {"nicht" liebt(adam,y)} wie folgt: {nicht liebt(adam,y)} {liebt(adam,x), nicht liebt(x,wein)} sub = [y/x] {nicht liebt(x,wein)} {liebt(eva,wein)} sub = [x/eva]

6 Logik, WS 2008 / Fakultät 5, Universität Stuttgart Interpretation: Die Herleitung der leeren Klausel beweist die Unerfüllbarkeit dieses Logik-Programmes mit Fragestellung, d. h. die Bejahung der Frage yp(d,y)? bzw. "gibt es jemanden, den Adam liebt"? a) Die Herleitung der leeren Klausel alleine liefert noch keine Antwort auf die weitere Fragestellung "Wen liebt Adam"? b) Allerdings zeigt die Substitution [x/eva] schon an, dass die richtige Antwort "liebt(adam,eva)" lauten müsste. C Logik-Programme mit Antwortprädikat: a) Sofern durch die Herleitung der leeren Klausel die Unerfüllbarkeit eines Logik-Programmes mit Fragestellung bewiesen wird, muss es ein Modell der Matrix der ursprünglichen noch unnegierten Formel (F G) geben. b) Die Werte y 1 A,...,y m A der in der Anfrage enthaltenen Variablen in einer geeigneten passenden Struktur A beinhalten dann offensichtlich die Antworten auf alle Fragestellungen. c) Diese Werte sind allerdings zunächst nicht direkt greifbar sondern nur implizit in den allgemeinsten Unifikatoren der Resolutionsherleitung enthalten. Definition 9.7: Antwortprädikat in einem Logik-Programm Ein Prädikatensymbol der Form R(y 1,...,y r ), das einer gegebenen Zielklausel, welche Anfragen nach den Werten der Variablen y 1,...,y r enthält, angefügt wird. Bemerkung: Nach dem Einsetzen eines Antwortprädikates R(y 1,...,y r ) in die Zielklausel endet eine erfolgreiche Resolutionsherleitung nicht bei der leeren Klausel sub sondern bei ( {R(y 1,...,y r )}) sub = {R(y 1,...,y r )} sub.

7 Logik, WS 2008 / Fakultät 5, Universität Stuttgart Beispiel 9.4: (Ausführung eines Logik-Programmes mit Antwortprädikat) Wird im Logik-Programm mit Fragestellung aus Beispiel 9.3 die Zielklausel um das Antwortprädikat Antwort(y) erweitert, so ergibt sich das Logik-Programm mit Antwortprädikat: (F ( P(d,y)) R(y)) {{liebt(eva,essen)}, {liebt(eva,wein)}, {liebt(adam,x), nicht liebt(x,wein)}} {{nicht liebt(adam,y), Antwort(y)}}. Die Durchführung der linearen Resolution, basierend auf der erweiterten Zielklausel {nicht liebt(adam,y), Antwort(y)}, führt z. B. zur folgenden Herleitung der um das Anwortprädikat erweiterten leeren Klausel: {nicht liebt(adam,y), Antwort(y)} {liebt(adam,x), nicht liebt(x,wein)} sub = [y/x] {nicht liebt(x,wein), Antwort(x)} {liebt(eva,wein)} sub = [x/eva] {Antwort(Eva)} Interpretation: Die Herleitung der um das Antwortprädikat erweiterten leeren Klausel liefert die bzw. eine Lösung der Anfrage mit dem Wert Antwort(y) sub = Antwort(y)[y/x][x/Eva] = Antwort(Eva). Beispiel 9.5: (Weiteres Logik-Programm mit Antwortprädikat) Sei G eine Modifikation des Logik-Programmes mit Fragestellung und Antwortprädikat aus Beispiel 9.4 wie folgt: G = {{liebt(eva,essen)}, {liebt(eva,wein), liebt(anna,wein)}, {liebt(adam,x), nicht liebt(x,wein)}} {{nicht liebt(adam,y), Antwort(y)}}. Die Durchführung der linearen Resolution, basierend auf der erweiterten Zielklausel {nicht liebt(adam,y), Antwort(y)}, führt bei geeigneter Auswahlfunktion (= selection function) zur folgenden Herleitung:

8 Logik, WS 2008 / Fakultät 5, Universität Stuttgart {nicht liebt(adam,y), Antwort(y)} {liebt(adam,x), nicht liebt(x,wein)} sub = [y/x] {nicht liebt(x,wein), Antwort(x)} {liebt(eva,wein), liebt(anna,wein)} sub = [x/eva] {liebt(anna,wein), Antwort(Eva)} sub = [x/anna] {Antwort(Eva), Antwort(Anna)} Interpretation: Bei der Resolutionsherleitung der um das Antwortprädikat erweiterten leeren Klausel tritt das Antwortprädikat doppelt auf. Bei der Ausführung des Logik-Programmes mit Antwortprädikat gibt es demgemäß mehrere Lösungsmöglichkeiten, so dass die selection function entscheidend für (die Reihenfolge der) Lösungsfindung ist. a) Das Logik-Programm mit Antwortprädikat aus Beispiel 9.5 liefert mehrere Lösungen, weil es eine Klausel mit mehreren positiven Literalen enthält, d. h. weil es sich nicht um ein Hornklausel-Programm handelt. b) Wären {"liebt(anna,wein)"} und {"liebt(eva,wein)"} getrennte Fakten, so läge ein Hornklausel-Programm vor, und es käme (bei einer SLD-Resolution abhängig von der Auswahlfunktion), nur eine der beiden Substitutionen [x/eva] und [y/anna] zur Ausführung. c) Mehrere Lösung(smöglichkeiten)en können auch dann auftreten, wenn ein Logik-Programm (alternativ) mehrere Zielklauseln enthält, in denen ein oder mehrere Antwortprädikate vorkommen. d) Um eindeutige Lösungen erfolgreicher Rechnungen zu erhalten, sind deshalb in der Logik-Programmiersprache PROLOG nur Horn- Klauseln und jeweils nur eine Zielklausel zugelassen. e) Die Auswahl der Reihenfolge bei den Schritten der SLD-Resolution (= selection function) wurde in den bisherigen Beispielen wie auch in den folgenden Programmen vom Beispiele-Geber festgelegt.

9 Logik, WS 2008 / Fakultät 5, Universität Stuttgart D Invertibilität der Ein-/Ausgabeparameter: a) Die Zielklausel {nicht liebt(adam,y)} im Beispiel 9.3 ist von der Form {R(t,y)}, wobei dem variablenfreien Term t in jeder passenden Struktur A ein fester Wert aus der Grundmenge zugewiesen wird, der während der Rechnung gleichbleibt. b) Variablenfreie Terme in Zielklauseln wirken demgemäß wie Eingabeparameter, von deren Werten sowohl die Existenz von Lösungen als auch die Werte der Lösungen abhängen. c) Damit stellt eine Substitution, in der Eingabeparameter vorkommen, eine Art Eingabeparameter-Übergabe dar. d) Analog werden die Variablen in einer Zielklausel auf Grund der bei der Rechnung wirkenden allgemeinsten Unifizierungen durch variablenfreie Terme substituiert, die in einer passenden Struktur feste Werte aus der Grundmenge annehmen. e) Solche Terme sind Ausgabeparameter, und jede auf eine Variable im Antwortprädikat wirkende Substitution stellt eine Art Ausgabeparameter-Übergabe dar. f) Werden in einer Zielklausel die variablenfreien Terme mit den Variablen getauscht (z. B. wenn R(t,y) durch R(y,t) ersetzt wird), so tauschen auch Ein- und Ausgabeparameter ihre Rollen. h) Diese Eigenschaft wird als Invertibilität des Parameterübergabemechanismusses bezeichnet. i) Mit ihrer Hilfe kann z. B. das selbe Logik-Programm wahlweise die Addition oder die Subtraktion natürlicher Zahlen ausführen (s. u.). Beispiel 9.6: (Ausführung eines Logik-Programmes mit invertierten Parametern) Eine Modifikation des Logik-Programmes aus Beispiel 9.4 der Art, dass das Literal "nicht liebt(adam,y)" durch das mit invertierten Parametern versehene Literal "nicht liebt(y,eva)" ersetzt wird, führt zum Logik-Programm mit Antwortprädikat H = {{liebt(eva,essen)}, {liebt(eva,wein)}, {liebt(adam,x), nicht liebt(x,wein)}} {{nicht liebt(y,eva), Antwort(y)}}.

10 Logik, WS 2008 / Fakultät 5, Universität Stuttgart Dieses Logik-Programm kann unter Verwendung der prädikatenlogischen linearen Resolution z. B. wie folgt, basierend auf der Zielklausel {nicht liebt(y,eva), Antwort(y)}, ausgeführt werden: {"nicht" liebt(y,eva), {liebt(adam,x), {nicht liebt(y,eva), Antwort(y)} {liebt(adam,x), nicht liebt(x,wein)} sub = [y/adam][x/eva] {nicht liebt(eva,wein), Antwort(Adam)} {liebt(eva,wein)} sub = [ ] {Antwort(Adam)}. Interpretation: Der variablenfreie Term Eva bildet den Eingabeparameter. Die Variable y im Antwortprädikat wird aufgrund des allgemeinsten Unifikators sub durch den Ausgabeparameterwert Adam substituiert, bei dem es sich ebenfalls um einen variablenfreien Term handelt. E Beispiele unterschiedlicher Problemklassen: Beispiel 9.7: (Hornklausel-Programm zur Addition natürlicher Zahlen nach der Idee aus Schöning) a) Die Addition natürlicher Zahlen (incl. der 0) ist z. B. durch das folgende Axiomensystem definiert: (1) x + 0 = x (2) x + y' = (x + y)'. In prädikatenlogischer Beschreibung entspricht der Gültigkeit dieser Axiome für beliebige Zahlen r,s,t N 0 die Gültigkeit der folgenden Hornklauseln (Fakt und Regel): (1') {S(x,a,x)} (2') { S(x,y,z), S(x,n(y),n(z))} unter (sinngemäß) jeder Struktur A, welche die Grundmenge U A =N 0 besitzt und für welche von vornherein zusätzlich die folgenden Interpretationen für S, n und a gelten:

11 Logik, WS 2008 / Fakultät 5, Universität Stuttgart S A = {(r,s,t) r,s,t N 0 und r+s=t}; n A (r) = r+1; a A =0. Dabei sichert der Fakt {S(x,a,x)}) die Existenz des Nullelementes, und die Regel { S(x,y,z), S(x,n(y),n(z))} beschreibt die logische Folgerung (S(x,y,z) S(x,n(y),n(z))) ( S(x,y,z) S(x,n(y),n(z))). b) Die Gültigkeit des Axiomensystemes {(1), (2)} in jeder geeigneten passenden Struktur A gemäß a) bedeutet (sinngemäß formuliert): Für alle (r,s,t) (N 0 ) 3 gilt: A [x/r][y/s][z/t] ({{S(x,a,x)}, { S(x,y,z), S(x,n(y),n(z))}}) = 1. Nach Definition 7.12, (WP4), Berechnung des Wahrheitswertes prädikatenlogischer Formeln folgt daraus die Gültigkeit der Aussage in Skolemform, KNF und Klauseldarstellung: H = x y z{{s(x,a,x)}, { S(x,y,z), S(x,n(y),n(z))}}. c) Die Matrix H* dieser Aussage in Skolemform H besteht aus einem Fakt und einer Regel, d. h. sie bildet ein Logik-Programm F' = {{S(x,a,x)}, { S(x,y,z), S(x,n(y),n(z))}}. Dieses Programm ist eine Wissensbasis, die alles Notwendige zur Beschreibung der Addition natürlicher Zahlen enthält. d) Unter anderen Strukturen als den obigen kann sich für die Formel F' allerdings eine ganz andere Interpretation ergeben oder die Formel F' kann sogar ungültig sein. a) Zur Addition natürlicher Zahlen kann in F' ein geeignetes Antwortprädikat eingefügt werden, das eine Variable enthält, die sich mit dem Ergebnis unifizieren lässt. b) Nach der Ausführung des Logik-Programmes und der Anwendung der allgemeinsten Unifikationen liefert der Ausgabeparameter in Form eines variablenfreien Terms das Rechenergebnis. c) Fest vorgegebene natürliche Zahlen gehen dabei in eine Rechnung als Eingabeparameter in Form variablenfreier Terme ein. d) Dabei führt z. B. die Teil-Interpretation a A =0; n A (r) = r+1 zur Folge a A =0; (n(a)) A =1; (n(n(a))) A =2; (n(n(n(a)))) A =3;....

12 Logik, WS 2008 / Fakultät 5, Universität Stuttgart Beispiel 9.8: (Logik-Programm zur Addition der natürlichen Zahlen 4 und 2) a) Die natürlichen Zahlen 4 bzw. 2 werden unter einer geeigneten Struktur A gemäß Beispiel 9.7 durch die variablenfreien Terme n(n(a)) bzw. n(n(n(n(a)))) repräsentiert. Als ihre Summe ergibt sich der variablenfreie Term: A(n(n(n(n(a))))) + A(n(n(a))) = ((((0+1)+1)+1)+1)+((0+1)+1) = = 6 = A(n(n(n(n(n(n(a))))))). b) Die Addition (4 + 2) ist also festgelegt durch das Prädikatensymbol G = S(n(n(n(n(a)))),n(n(a)),u) mit den beiden Eingabeparametern n(n(n(n(a)))) und n(n(a)) sowie dem Ausgabeparameter u, der die Fragestellung (F' ug)? wahr machen soll. c) Die Negierung und geeignete Umformung dieser Fragestellung führen zur Formel (F' ug) ( F' ug) (F' ug) u(f' G). Die Gültigkeit des Axiomensystems {(1), (2)} ist damit gleichwertig (s. o.) zur Unerfüllbarkeit der Formel x y z u(f' G). d) Für das Prädikatensymbol G aus b) ergibt sich damit das Logik- Programm mit Anfrage. F = {{S(x,a,x)}, { S(x,y,z), S(x,n(y),n(z))}} {{ S(n(n(n(n(a)))),n(n(a)),u)}}. Wird F um das Antwortprädikat Erg(u) ergänzt, so führt die SLD- Resolution zur Rechnung { S(n(n(n(n(a)))),n(n(a)),u), Erg(u)} { S(x,y,z), S(x,n(y),n(z))} sub' = [x/n(n(n(n(a)))] [y/n(a)][u/n(z)] { S(n(n(n(n(a)))),n(a),z), Erg(n(z))} { S(x,y,z), S(x,n(y),n(z))} sub 2 = [z/v] sub'' = [x/n(n(n(n(a))))] [y/a][z/n(v)] { S(n(n(n(n(a)))),a,v), Erg(n(n(v)))} {S(x,a,x)} sub''' = [x/n(n(n(n(a))))] [v/n(n(n(n(a))))] {Erg(n(n(n(n(n(n(a)))))))}.

13 Logik, WS 2008 / Fakultät 5, Universität Stuttgart Interpretation: Die Antwort auf die Anfrage liefert der variablenfreie Term, der für die in der Zielklausel enthaltene Variable u im Laufe der Resolutionsherleitung wie folgt substituiert wird: u sub' sub'' sub''' = n(z) sub'' sub''' = n(n(v)) sub''' = n(n(n(n(n(n(a)))))). a) Die Rechnung liefert das Ergebnis 6 durch reine Textersetzung auf Grund einer Folge allgemeinster Unifizierungen, d. h. in theoretisch reiner Form führen Logik-Programme keine numerischen Operationen sondern nur Symbolmanipulationen aus. b) Praktische Rechenverfahren gewinnen ihre Ergebnisse nicht mit der Ausführung vollständiger Induktionen, ausgehend von den Axiomen der Arithmetik (hier beginnend beim Induktionsanfang 0), sondern mit Hilfe stark verkürzender Algorithmen (= Rechenregeln). Beispiel 9.9: (Logelei nach Schöning) a) Gegeben seien die folgenden umgangssprachlichen Aussagen: (1) Tom, Mike und John gehören dem Alpenverein an. (2) Jedes Mitglied des Alpenvereins ist entweder Skifahrer oder Bergsteiger oder beides. (3) Kein Bergsteiger liebt den Regen und alle Skifahrer lieben den Schnee. (4) Mike liebt alles, was Tom nicht liebt, und umgekehrt. Unter Verwendung dieser Aussagen sollen die Fragen beantwortet werden: (5) Gibt es ein Mitglied des Alpenvereins, das Bergsteiger ist und kein Skifahrer? (6) (Wenn ja) welches Mitglied ist dies? b) Die Darstellungen (1),...,(6) werden zunächst in äquivalente prädikatenlogische Formeln umgewandelt. Dazu dienen die einstelligen bzw. zweistelligen Prädikatensymbole "mitglied_ist" (hier abgekürzt: M), "bergsteiger_ist" (kurz: B), "skifahrer_ist" (kurz: S) bzw. "liebt" (kurz: L) sowie die Konstantensymbole "Tom" (kurz: t), "Mike" (kurz: m), "John" (kurz: j),"regen" (kurz: r) und "Schnee" (kurz: s).

14 Logik, WS 2008 / Fakultät 5, Universität Stuttgart Zu den Aussagen (1),...,(4) existieren die äquivalenten Formeln (1F) (M(t) M(m) M(j)) {{M(t)}, {M(m)}, {M(j)}} = F 1. (2F) x(s(x) B(x)) x {{S(x), B(x)}} = F 2. (3F) x((b(x) L(x,r)) (S(x) L(x,s)) ) x(( B(x) L(x,r)) ( S(x) L(x,s))) x{{ B(x), L(x,r)}, { S(x),L(x,s)}} = F 3. (4F) x(( L(t,x) L(m,x)) (L(t,x) L(m,x))) x((l(t,x) L(m,x)) ( L(t,x) L(m,x))) x{{l(t,x),l(m,x)}, { L(t,x), L(m,x)}} = F 4. Die Darstellung (5) liefert die Anfrage (5F) y(b(y) S(y)) y (B(y) S(y)) y{{ B(y),S(y)}}. Die Darstellung (6) kann dazu verwendet werden, um ein Antwortprädikat "welches_mitglied" (kurz: W) als "W(y)" zu bilden (s. u.). c) Aus b) ergibt sich (wie üblich ohne Aufführung der All-Quantoren) das Logik-Programm F' wie folgt als Datenbasis für Rechnungen: F' = {{M(t)}, {M(m)}, {M(j)}, {S(x),B(x)}, { B(x), L(x,r)}, { S(x),L(x,s)}, {L(t,x),L(m,x)}, { L(t,x), L(m,x)}}. Das (negierte) Logik-Programm F mit Anfrage und mit Antwortprädikat (in KNF und Klauselschreibweise) entsteht aus der Formel (F' y(b(y) S(y))) ( F' y(b(y) S(y))) y(f' ( B(y) S(y)))) wie folgt durch das Einsetzen der oben definiertenteilformeln F = {{M(t)}, {M(m)}, {M(j)}, {S(x),B(x)}, { B(x), L(x,r)}, { S(x),L(x,s)}, {L(t,x),L(m,x)}, { L(t,x), L(m,x)}} {{ B(y),S(y),W(y)}}. d) Dieses Logik-Programm ist kein Hornklausel-Programm, weil es sich bei {S(x),B(x)} und {L(t,x),L(m,x)} nicht um Hornklauseln handelt. Außerdem liefert die Anfrage (auch ohne das Antwortprädikat) keine Zielklausel. Deshalb ist hier keine SLD-Resolution möglich.

15 Logik, WS 2008 / Fakultät 5, Universität Stuttgart Stattdessen kann das Programm z. B. wie folgt ausgeführt werden: { B(y),S(y),W(y)} {S(x),B(x)} sub = [y/x] {S(x),W(x)} { S(x),L(x,s)} sub 1 = [x/y] sub = [y/x] {W(x),L(x,s)} { L(t,x), L(m,x)} sub 1 = [x/y] sub = [y/t][x/s] {W(t), L(m,s)} sub 2 = [s/u] sub = [x/m][u/s] {W(m),W(t)}. e) Die erweiterte leere Klausel enthält das Antwortprädikat mit den variablenfreien Termen m und t zweimal. Demgemäß kann es sich bei dem Mitglied, das Bergsteiger aber kein Skifahrer ist, sowohl um Mike als auch um Tom handeln. a) Die Mehrdeutigkeit der Lösung ist aufgrund der Symmetrie bezüglich Mike und Tom in der Bedingung (4) zu erwarten, und sie lässt sich nicht durch eine Hornklausel beschreiben. b) Das Auffinden einer Deduktion ist in der Praxis oft nicht trivial. Bei obigem Logik-Programm tritt z. B. die Klausel {W(t),W(m)} frühestens in der Klauselmenge Res 3 (F) auf, die bereits mehr als100 Klauseln und Resolventen enthält. c) Eine passende Struktur A könnte als Grundmenge z. B. alle Einwohner des Heimatortes der Alpenvereinsmitglieder besitzen.

16 Logik, WS 2008 / Fakultät 5, Universität Stuttgart 9.2 Hornklausel-Programme A Beschränkung auf Hornklausel-Programme: a) Die ausschließliche Verwendung von Hornklausel-Programmen scheint für die Behandlung mathematischer Theorien keine echte Einschränkung mit sich zu bringen (vgl. Schöning). b) Die ab jetzt geltende Beschränkung auf die SLD-Resolution ist sowohl möglich, da sie für Hornformeln vollständig ist, als auch vorteilhaft, weil sie zu streng sequentiellen Rechnungen führt. c) Allerdings bleiben die Allgemeingültigkeit und die Erfüllbarkeit auch für prädikatenlogische Hornformeln und für die SLD-Resolution unentscheidbar. d) Jede Rechnung eines Hornklausel-Programmes besitzt das Ziel, die in der Zielklausel enthaltenen Literale durch Resolution mit Programm-Klauseln zu eliminieren, bis nur die leere Klausel übrigbleibt. e) Jede Eliminierung eines Literales der Zielklausel bildet den Beweis eines Teilzieles der Rechnung, und die erfolgreiche Herleitung der leeren Klausel, gilt als Beweis der ursprünglichen Zielklausel. f) Da alle Ergebnisse einer Rechnung durch die Wirkung allgemeinster Unifikatoren auf die in der Zielklausel enthaltenen Eingabeparameter entstehen, sollte in der Zielklausel nicht mehr als unbedingt nötig durch Substitutionen verändert werden. g) Deshalb kann z. B. die Umbenennung von Variablen auf Programm- Klauseln beschränkt werden. Definition 9.8: Standardisierte SLD-Resolution eine SLD-Resolution, für die gilt: (1) In jedem Resolutionsschritt werden Variablen mit sub 1, sub 2 nur in den Programmklauseln aber nie in den Zielklauseln umbenannt. (2) In jedem Resolutionsschritt wird ein allgemeinster Unifikator nach Robinson, d. h. gemäß Definition 8.7 bestimmt.

17 Logik, WS 2008 / Fakultät 5, Universität Stuttgart a) Ein Interpreter übersetzt die in einer Programmiersprache formulierten Anweisungen in eine Folge äquivalenter Anweisungen für einen Rechner, die dieser sofort ausführt. b) Die Arbeitsweise eines Interpreters wird dadurch charakterisiert, wie er schrittweise einzelne Anweisungen übersetzt. c) Der augenblickliche Zustand eines laufenden Logik-Programmes lässt sich anschaulich und systematisch zugleich durch sogenannte Konfigurationen beschreiben. Definition 9.9: Konfiguration eines Prozeduralen Interpreters Jedes Paar (F i,sub), bei dem F i im Laufe einer Rechnung als Zielklausel auftritt und sub die Folge allgemeinster Unifizierungen bei den bis dahin ausgeführten Rechenschritten ist. Definition 9.10: Konfigurationsübergang Ein Übergang (F i,sub i ) (F i+1,sub i+1 ) mit einer Zielklausel der Form F F i = { A 1,..., A n } mit n 1, zu der das Hornklausel- Programm F eine Programmklausel K = {B, C 1,..., C m } mit m 0 enthält, so dass gilt: (1) Die Variablen in K sind so umbenannt, dass F i und K keine gemeinsamen Variablen enthalten; (2) B und irgendein A j aus F i sind unifizierbar mit einem allgemeinsten Unifikator s; (3) es ist F i+1 = { A 1,..., A j-1, C 1,..., C m, A j+1,..., A n } s; (4) sub i+1 besitzt die Form sub i+1 = sub i s. Definition 9.11: Rechnung eines Hornklausel-Programmes F (bei Eingabe einer Zielklausel F 0 = { A 1,..., A n }) Jede zu einem gegebenen Hornklausel-Programm F und zu einer gegebenen Zielklausel F 0 mögliche Folge von Konfigurationsübergängen der Form (F 0,[ ]) (F 1,sub 1 ) (F 2,sub 2 ) (F 3,sub 3 ).... F F F F

18 Logik, WS 2008 / Fakultät 5, Universität Stuttgart a) Eine Rechnung heißt endlich bzw. unendlich, wenn sie nach endlich vielen Schritten stoppt, weil kein Konfigurationsübergang mehr möglich ist, bzw. wenn sie nie stoppt. b) Eine Rechnung heißt erfolgreich, wenn sie endlich ist und ihre Endkonfiguration die Form (,sub) besitzt. Sie heißt erfolglos, wenn mindestens eines von beiden nicht zutrifft. Definition 9.12: Rechenergebnis eines Hornklausel-Programmes Eine Formel der Form (A 1... A n ) sub, welche auf Grund einer erfolgreichen Rechnung eines Hornklausel-Programmes F aus einer Zielklausel { A 1,..., A n } mit dem Erreichen einer Endkonfiguration (,sub) entsteht. a) Das Rechenergebnis entsteht aus der ursprünglichen Anfrage G = (A 1... A n ) (deren Negierung zur Zielklausel F 0 = { A 1,..., A n } führt) durch die Anwendung der Substitution sub der Art, dass gilt: F 0 sub {{A 1 },...,{A n }} sub (A 1... A n ) sub. b) Alle Konfigurationsübergänge erfolgen mit standardisierter SLD- Resolution, und alle allgemeinsten Unifikatoren werden bis zur Endkonfiguration mitgeführt, wobei das Ergebnis der Rechnung noch Variablen enthalten kann. c) Die Rechnungen von Hornklausel-Programmen sind nichtdeterministisch, d. h. jede Konfiguration kann keine, eine oder mehrere Folgekonfigurationen besitzen, wobei die Reihenfolge, in der diese auftreten, nicht vorgeschrieben ist. d) Alle Rechnungen eines Hornklausel-Programmes F zur selben Zielklausel F 0 bilden zusammen also eine Folge von Verzweigungen. e) Da jedes Logik-Programm nur endlich viele Klauseln enthält, gibt es bei jeder Verzweigung stets nur endlich viele Folgekonfigurationen. f) Enthält ein Rechenergebnis (A 1... A n ) sub eines Hornklausel-Programmes F zu einer Zielklausel F 0 = { A 1,..., A n } Variablen, so werden diese in der Logik-Programmierung per Konvention durch Elemente des Herbrand-Universums D(F {F 0 }) substituiert. g) Das ist sinnvoll, weil zu jeder erfolgreichen Rechnung ein Herbrand- Modell A für das Programm mit Anfrage (F F 0 ) existiert.

19 Logik, WS 2008 / Fakultät 5, Universität Stuttgart h) Die Rechnungen von Hornklausel-Programmen stellen ein syntaktisches Werkzeug analog dem Beweisen beim Hilbert-Kalkül und analog dem Resolutionskalkül dar. i) Demgemäß bilden die Formeln eines Hornklausel-Programmes eine Art von Axiomensystem, zu dem auf Seiten der Semantik die Menge aller Grundinstanzen über dem Herbrand-Universum existiert, welche logische Folgerungen aus diesen Axiomen sind. j) Wie sich zeigen lässt, gelten auch hier die Sätze von der Korrektheit und von der Vollständigeit des Kalküls. Satz 9.1: (Satz von Clark) Für jedes Hornklausel-Programm F und für jede Zielklausel der Form F 0 = { A 1,..., A n } gilt (bei gegebener Herbrand-Struktur A): (1) (Korrektheitsaussage) Falls es eine erfolgreiche Rechnung von F zur Zielklausel F 0 gibt, so ist jede Grundinstanz des Rechenergebnisses (A 1... A n ) sub eine logische Folgerung von F. (2) (Vollständigkeitsaussage) Falls für eine gewisse Substitution sub' jede Grundinstanz von (A 1... A n ) sub' aus F logisch folgt, so existiert eine erfolgreiche Rechnung von F zur Zielklausel F 0 mit einem Rechenergebnis (A 1... A n ) sub, so dass für eine geeignete Substitution s gilt: (A 1... A n ) sub' = (A 1... A n ) sub s. Beweis: (Siehe z. B. in Schöning). a) Der Satz von Clark stellt für den unter der SLD-Resolution ablaufenden Hornklausel-Programm-Kalkül eine Verschärfung des Korrektheits- und des Vollständigkeitssatzes dar. b) Da die Substitution sub = sub 1 sub 2... nur aus allgemeinsten Unifikatoren besteht, sind die ermittelten Rechenergebnisse, bevor auf sie Grundsubstitutionen wirken, immer so allgemein wie möglich. c) Der Satz von Clark gilt auch, wenn keine Herbrand-Strukturen vorliegen.

20 Logik, WS 2008 / Fakultät 5, Universität Stuttgart B Nichtdeterministische Auswertung von Hornklausel-Programmen a) Der Nichtdeterminismus bei Hornklausel-Programmen liegt als Nichtdeterminismus 1. Art vor, sofern in der aktuellen Zielklausel nach einem bestimmten Literal resolviert werden soll und mehr als eine Programmklausel mit diesem Literal resolvierbar ist. b) Ein Nichtdeterminismus der 2. Art liegt vor, sofern die aktuelle Zielklausel mehrere Literale enthält, so dass unterschiedliche Reihenfolgen für den Beweis dieser Teilziele möglich sind. c) Um Hornklausel-Programme deterministisch abarbeiten zu können, wie es z. B. für PROLOG nötig ist, wird eine Auswertungsstrategie benötigt, die den Nichtdeterminismus 1. und 2. Art auflöst. d) Da im Folgenden vor allem Überlegungen zu PROLOG gelten sollen, wird ab jetzt die in PROLOG übliche Schreibweise verwendet. Definition 9.13: Schreibweise in PROLOG-Programmen: die Bezeichnungen für Programm-Klauseln lauten Fakten: B. (statt {B}) Regeln: B :- A 1,...,A n. (statt { A 1,..., A n,b}) Zielklauseln:?- A 1,...,A n. (statt { A 1,..., A n }) Bemerkungen zur Schreibweise: a) Bei A 1,...,A n,b handelt es sich weiterhin um atomare prädikatenlogische Formeln, d. h. um Prädikatensymbole, die als Argumente Variablen und Funktionssymbole enthalten können. b) Die in Regeln implizit enthaltene Implikation wird durch die Zeichenfolge ":-" dargestellt, welche für den logischen Folgerungspfeil steht, der von den in der PROLOG-Darstellung rechts stehenden Prämissen A 1,..., A n zur links stehenden Konklusion B weist. c) Dabei steht in PROLOG die Konklusion B als einziges positives Literal deshalb links, weil nur dieses mit den negativen Literalen der Zielklausel resolviert werden kann und diese Anordnung bei sequentieller Abarbeitung den schnellsten Zugriff darauf gestattet.

21 Logik, WS 2008 / Fakultät 5, Universität Stuttgart d) In Regeln und Zielklauseln wird die Konjunktion durch das Komma ersetzt, und die Negation wird wird abkürzend ausgespart. e) Dadurch erhalten Zielklauseln optisch die Form (A 1... A n ) einer Anfrage an ein Logik-Programm, aus der die Zielklausel durch die Negierung der usprünglichen KNF hervorgeht. f) Der Punkt, mit dem die Darstellung von Hornklauseln endet, ist ein fester Bestandteil der Syntax. In PROLOG zeigt er dem Interpreter an, wo eine Programmklausel oder Anfrage endet. g) Die Zeichenfolge "?-", mit der alle Zielklauseln beginnen, dient bei PROLOG-Interpretern als sogenannter System-Prompt, der den Benutzer zur Eingabe einer Anfrage auffordert. h) Zwischen den Zeichenfolgen "/*" und "*/" dürfen in PROLOG Kommentare in die Programmzeilen eingefügt werden. Beispiel 9.10: (Nichtdeterminismus 1. und 2. Art) Gegeben seien das folgende Hornklausel-Programm F /*(1)*/ A. /*(2)*/ A :- E,G. /*(3)*/ B :- D. /*(4)*/ B. /*(5)*/ B :- E,F. /*(6)*/ C :- D,G,H. und die Zielklausel?- A,B,C. in PROLOG-Schreibweise. Die Teilziele der Zielklausel können infolge des Nichtdeterminismus der 2. Art in beliebiger Reihenfolge bearbeitet werden. Wird z. B. zuerst B abgearbeitet, so gibt es infolge des Nichtdeterminismus der 1. Art drei mögliche SLD-Resolventen durch die Resolultion mit den Programmklauseln (3),(4),(5) und davon abhängig alternativ die drei neuen Zielklauseln?- A,D,C.?- A,C.?- A,E,F,C. Satz 9.2: (Vertauschungslemma - lokale Vertauschbarkeit) Werden zwei Literale A i, A j einer Zielklausel in aufeinanderfolgenden SLD-Resolutionsschritten resolviert (A i vor A j ), so ist diese Reihenfolge ohne Änderung der Rechenergebnisse vertauschbar (A j vor Ai).

22 Logik, WS 2008 / Fakultät 5, Universität Stuttgart Beweis: (Siehe z. B. in Schöning). Definition 9.14: Kanonische Rechnung bei Hornklausel- Programmen Die (eindeutige) Rechnung eines Hornklausel-Programmes, bei der die Literale in den Programmklauseln und in der Zielklausel in einer eindeutigen Reihenfolge angeordnet sind und bei jedem Konfigurationsübergang nach dem ersten Literal der Zielklausel resolviert wird. a) In Definition 9.15 werden Hornklauseln, abweichend von der ursprünglichen Definition, nicht mehr wie ungeordnete Mengen sondern wie geordnete Folgen von Literalen behandelt. b) Die Reihenfolge der Literale wird dabei durch die Schreibweise festgelegt (links vor rechts). Satz 9.3: (Erfolgreiche kanonische Rechnungen) Ist (F 0,[ ]) (F 1,sub 1 )... (,sub) eine erfolgreiche Rechnung eines Hornklausel-Programmes F, so gibt es zur selben Zielklau- F F F sel F 0 auch eine erfolgreiche kanonische Rechnung von F, welche die selbe Länge und (abgesehen von gebundenen Umbenennungen) das selbe Rechenergebnis besitzt. Beweis (unter Verwendung von Satz 9.2): (Siehe z. B. in Schöning). a) Satz 9.3 zeigt, dass bzgl. des Nichtdeterminismus 2. Art jede mögliche Auswertungsstrategie, darunter insbesondere auch kanonische Rechnungen, zu den selben Rechenergebnissen führt. b) Satz 9.3 rechtfertigt nachträglich den Einsatz einer Auswahlfunktion für die Wahl des nächsten in der Zielklausel zu resolvierenden Literals bei der SLD-Resolution.

23 Logik, WS 2008 / Fakultät 5, Universität Stuttgart c) Allerdings besteht auch bei kanonischen Rechnungen der Nichtdeterminismus der 1. Art weiter, d. h. es fehlt (noch) eine Vorschrift für die Reihenfolge, in der die Programmklauselnzu den Resolutionsschritten herangezogen werden. Definition 9.15: Berechnungsbaum der kanonischen Rechnungen eines Hornklausel-Programmes Ein gerichteter Graph in Form eines Baumes, dessen Knoten mit den Bezeichnungen von Konfigurationen markiert sind der Art, dass gilt: Die Wurzel ist mit der Anfangskonfiguration (F 0,[ ]) markiert. Endknoten sind mit Konfigurationen markiert, die keine Nachfolgekonfigurationen besitzen, wobei Endknoten erfolgreicher Rechnungen Markierungen der Form (,sub) besitzen. Innere Knoten weisen eine Markierung der Form (F i,sub i ) auf und besitzen als Nachfolger genau alle Knoten, welche mit den in einem kanonischen Rechenschritt von (F i,sub i ) aus erreichbaren Konfigurationen markiert sind. a) Wegen des Nichtdeterminismus der 1. Art in kanonischen Rechnungen ist die Reihenfolge der von einem Knoten ausgehenden Kanten in kanonischen Berechnungsbäumen nicht festgelegt. b) Zur besseren Übersicht wird künftig in Berechnungsbäumen bei den Knoten-Markierungen (F i,sub i ) die Substitution sub i am Knoten weggelassen und stattdessen, wenn Informationsbedarf besteht, neben der zum Knoten führenden Kante der allgemeinste Unifikator angeschrieben. Beispiel 9.11: (Berechnungsbaum eines Hornklausel- Programmes) Im Berechnungsnungsbaum zum Hornklausel-Programm F mit den Programm-Klauseln /*(1)*/ Q(x,z) :- Q(y,z),R(x,y). /*(2)*/ Q(x,x). /*(3)*/ R(b,c).

24 Logik, WS 2008 / Fakultät 5, Universität Stuttgart sowie zur Zielklausel?- Q(x,c). sind die Substitutionen getrennt aufgeführt und zusätzlich zur üblichen Beschriftung die Nummern der Programmklauseln angegeben, die hier jeweils in der bereits vorgegebenen Reihenfolge (1) vor (2) vor (3) eingesetzt werden:?- Q(x,c). (1) (2) sub 2 =[x/u] sub 2 =[x/u] sub=[x/u][z/c] sub=[x/u][u/c]?- Q(y,c),R(u,y). (1) (2) Rechenergebnis: sub 2 =[y/v] Q(c,c) sub=[y/x][z/c] sub=[y/x][x/c]?- Q(v,c),R(x,v),R(u,x).?- R(u,c). (1) (2) (3) sub 2 =[x/w] [x/w] sub=[v/w][z/c] [v/w][w/c] [u/b]?- Q(y,c),R(w,y),R(x,w),R(u,x).?- R(x,c),R(u,x). (1).. (2) (3) Rechenergebnis:.. Q(b,c).. [x/b] hier: Fortsetzung mit einer unend-?- R(u,b). lichen und mit unendlich vielen er- endliche erfolgfolglosen endlichen Rechnungen lose Rechnung a) Wird in Beispiel 9.11 in jedem Rechenschritt nach der ersten Programmklausel resolviert, so ergibt sich eine unendliche Rechnung, wobei die Zielklausel in jedem Schritt um ein Literal anwächst. b) Daneben enthält der Berechnungsbaum zwei erfolgreiche Rechnungen mit unterschiedlichen Rechenergebnissen sowie unendlich viele erfolglose Rechnungen ohne Rechenergebnis. c) Offensichtlich ist der Erfolg einer Rechnung (d. h. das Auffinden einer Deduktion der leeren Klausel) sehr ungewiss und, wenn mehrere Lösungen existieren, ist es nicht vorhersehbar, zu welcher dieser Lösungen die einzige bis zum Ende durchgeführte Rechnung gegebenenfalls führt.

25 Logik, WS 2008 / Fakultät 5, Universität Stuttgart d) Benötigt wird somit eine Auswertungsstrategie, die den Nichtdeterminismus der 1. Art effizient auflöst, damit bei jedem Hornklausel- Programm zu jeder Zielklausel jede Lösung gefunden werden kann. e) Beide im Folgenden definierten Auswertungsstrategien setzen die Programmklauseln {K 1,...,K n } immer zur Resolution mit dem ersten Literal der Zielklausel ein und stets in der Reihenfolge K 1,...,K n. f) Allerdings bleibt bei beiden Strategien die Unerfüllbarkeit prädikatenlogischer Formeln und die Existenz erfolgreicher Rechnungen zu Hornklausel-Programmen unentscheidbar. Definition 9.16: Breadth-first Strategie (Breitensuche) Diese Auswertungsstrategie besucht im Berechnungsbaum zu einem Hornklausel-Programm nacheinander erst alle Knoten mit Abstand 1 zur Wurzel, dann alle Knoten mit Abstand 2 zur Wurzel usw.. Beispiel 9.12: (Breadth-first Strategie) Der endliche Berechnungsbaum W A B C X Y Z R S U V wird bei Anwendung der breadth-first Auswertungsstrategie in der Reihenfolge W, A, B, C, X, Y, Z, R, S, U, V durchlaufen. Definition 9.17: Depth-first Strategie (Tiefensuche) Diese Auswertungsstrategie arbeitet den Berechnungsbaum rekursiv von der Wurzel aus ab, wobei stets mit dem von links her ersten Nachfolgerknoten fortgesetzt wird. Bei erfolglosen Rechnungen wird zum Vorgängerknoten zurückgesetzt (backtracking) und mit dem ersten noch nicht besuchten Nachfolgerknoten fortgefahren.

26 Logik, WS 2008 / Fakultät 5, Universität Stuttgart Definition 9.18: Depth-first Auswertungsstrategie in PROLOG Ein Algorithmus, der bei der Eingabe eines Hornklausel-Programmes F = (K 1,...,K n ) mit K i = B i :- C i1,...,c ini für i=1,...,n und mit fester Reihenfolge K 1,...,K n der Programmklauseln sowie bei der Eingabe einer Zielklausel F 0 =?- A 1,...,A k. unter Verwendung einer rekursiven Prozedur auswerte wie folgt arbeitet: Hauptprogramm (in PASCAL-ähnlicher Notation): success false; auswerte(f 0,[ ]); if success then write('ja') else write('nein'); Prozedur auswerte: procedure auswerte (F 0 : Zielklausel; sub: Substitution); var i: integer; begin if F 0 = then /*Ende im Falle einer er-*/ begin /*folgreichen Rechnung*/ G (A 1... A n ) sub; write('ergebnis:',g); success true end else {F 0 habe die Form F 0 =?- D 1,...,D j } begin i 0; while (i < n) /*die n Input-Klauseln*/ and not success do /*werden abgearbeitet*/ begin i i+1; /*rekursive*/ if {D 1,B i } ist unifizierbar mit dem /*Berechnung*/ allgemeinsten Unifikator s (evtl. /*der Nachfolge-*/ end end end nach einer Umbenennung von Variablen in B i ) then auswerte(?- (C i1,...,c in,d 2,...,D j )s, sub s) /*konfiguration*/

27 Logik, WS 2008 / Fakultät 5, Universität Stuttgart Beispiel 9.13: (Depth-first Strategie) Der endliche Berechnungsbaum W A B C X Y Z R S U V wird bei Anwendung der Depth-first Auswertungsstrategie in der Reihenfolge W, A, X, Y, U, V, Z, B, C, R, S durchlaufen. Satz 9.4: (Vollständigkeit der breadth-first Strategie) Die breadth-first Strategie für Hornklausel-Programme ist vollständig, d. h. sie führt bei unerfüllbaren Programmen F {F 0 } stets nach endlich vielen Rechenschritten zur leeren Klausel. Beweis: Jede erfolgreiche Rechnung endet nach einer endlichen Anzahl t von Rechenschritten bei einer Endkonfiguration. Diese tritt bei der breadthfirst Suche in der Tiefe t im Berechnungsbaum auf. Satz 9.5: (Unvollständigkeit der depth-first Strategie) Die depth-first Strategie ist nicht vollständig. Beweis: Ist F {F 0 } unerfüllbar, so enthält der Berechnungsbaum mindestens eine erfolgreiche Rechnung. Tritt allerdings im Berechnungsbaum weiter links eine unendliche Rechnung auf, so wird die erste Endkonfiguration nie erreicht.

28 Logik, WS 2008 / Fakultät 5, Universität Stuttgart a) Die breadth-first Strategie ist offensichtlich effizienter, wenn die erste erfolgreiche Rechnung besonders weit rechts im Berechnungsbaum liegt, da die depth-first Strategie u. U. schon im linken Teil des Baumes in erfolglose oder unendliche Rechnungen führt. b) Die Vollständigkeit der breadth-first Strategie wird u. U. mit einem hohen Speicherplatz- und Rechenzeitbedarf erkauft, da die Anzahl der Rechenschritte mit der Tiefe t des Berechnungsbaumes häufig exponentiell anwächst. c) Bei der Beachtung der Wirkungen aller Programmklauseln muss ein guter Programmierer versuchen, durch geschickte Anordnung der Klauseln die Effizienz der implementierten Methode (d. h. in PROLOG die depth-first-methode) zu unterstützen. d) Dazu ein Zitat aus Clocksin/Mellish: "Don't assume that, just because you have provided all the relevant facts and rules, PROLOG will allways find them. You must bear in mind when you write PROLOG programs how PROLOG searches through the database and what variables will be instantiated when one of your rules is used." Satz 9.6: (Gleichung von Kowalski [1979]) Für jeden Algorithmus (im Sinne von Programmen) gilt die Gleichung von Kowalski: "algorithm = logic + control", d. h. jeder Algorithmus enthält sowohl eine Logik-Komponente, die das Wissen über das zu lösende Problem spezifiziert, als auch eine Kontroll-Komponente für die Lösungsstrategie. a) Bei den üblichen prozeduralen Programmiersprachen sind Logik (= Problembeschreibung) und Kontrolle (= Auswertungsstrategie) meist stark vermischt und kaum auftrennbar. b) Dagegen verkörpern reine Hornklausel-Programme wenigstens im Prinzip nur die Logik-Komponente und überlassen die Kontroll- Komponente dem (Betriebs-)System und evtl. dem Programmierer. c) PROLOG-Interpreter enthalten auch Kontroll-Komponenten z. B. in Form von Prozeduren für die Ein-/Ausgabe und andere Funktionen.

29 Logik, WS 2008 / Fakultät 5, Universität Stuttgart Literaturverzeichnis: Günter Asser: "Einführung in die mathematische Logik I" / Teubner Verlag Leipzig, 1972 / [Grundlagen, Beweisbarkeit] Fevzi Belli: "Einführung in die logische Programmierung mit PROLOG" / B.I.-Wissenschaftsverlag, Band 630, 1986 / [Wissensdarstellung und Wissensverarbeitung mit PROLOG] Eberhard Bergmann, Helga Noll: "Mathematische Logik mit Informatik-Anwendungen" / Springer Verlag, Heidelberger Taschenbücher, Bd. 187, 1977 / [Prädikatenlogik, Resolution, maschinelles Beweisen] Gert Böhme: "Einstieg in die Mathematische Logik" / Hanser Verlag, 1981 / [Aussagenlogik, Prädikatenlogik] Ivan Bratko: "PROLOG Programming for Artificial Intelligence" / Pearson Studium, 2001 / [ausführliche Grundlagen] William Clocksin, Christopher Mellish: "Programming in Prolog" / Springer Verlag, 1984 / [grundlegend; Klassiker der PROLOG-Literatur] Heinz-Dieter Ebbinghaus, Jörg Flum, Wolfgang Thomas: "Einführung in die mathematische Logik" / Spektrum, 1996 John Kelly: "Logik" / Pearson Studium, 2003 / [logisches Schließen, Resolution in Aussagen- und Prädikatenlogik] Hans Kleine Büning, Stefan Schmitgen: "PROLOG" / Teubner Verlag Stuttgart, 1986 / [umfassende Darstellung; etwas formal] Martin Kreuzer, Stefan Kühling: "Logik für Informatiker" / Pearson Studium, 2006 / [Resolultionskalkül und weitere besondere Arten von Logiken] Wolfgang Rautenberg: "Einführung in die Mathematische Logik" / Vieweg Verlag, 2002 / [knapp und anspruchsvoll] Uwe Schöning: "Logik für Informatiker" / Spektrum Akademischer Verlag Heidelberg, 1995 / [informatiknahe Darstellung, insbesondere Resolutionskalkül und Logikprogrammierung, aber ohne den klassischen Beweisbarkeitsbegriff]

30 Logik, WS 2008 / Fakultät 5, Universität Stuttgart Index (mit ä, ö, ü, ß, x- wie ae, oe, ue, ss- x) Abkürzungen für Formeln 21, 131 Abkürzungen von Beweisfolgen 70 Ableitung (Deduktion) 56 Ableitungsregel 55 Ableitbarkeit einer Formel 56 Absorption 52 Abtrennung 45, 63 Abtrennung, Satz von der 45 Abtrennungsregel 47 Äquivalenz, semantische 40, 53, 136ff Äquivalenz, syntaktische 72, 74 Äquivalenz-Relation 15 Allgemeingültigkeit von Formeln 30, 122,134 allgemeinster Unifikator 171 Anfrage 211 Antwortprädikat 201 Assoziativgesetze 52, 67 atomare Formel 20 ausgeschlossenes Drittes, Satz von 5, 53 ausgeschlossener Widerspruch, Satz von 5, 53 Aussage, Aussageform 4, 6 Aussage, prädikatenlogische 129 aussagenlogische Deduktion 115 aussagenlogische Formel 20 aussagenlogischer Kalkül 66, 96 aussagenlogische Verknüpfung 8 Aussagenvariable 19 Axiomatisierung 55 ff Axiomensystem 55 Belegung, aussagenlogische 28, 121 Berechnungsbaum 218

31 Logik, WS 2008 / Fakultät 5, Universität Stuttgart bereinigte Pränexform (BPF) 147, 148 Beweisbarkeit (im Hilbert-Kalkül) 60 ff Beweisfolge (Deduktion) 60 Beweisfolge, Abkürzung von 60, 70ff Beweisfolge mit Hypothese 58ff Beweisverfahren für Sätze der Syntax 76 Binden freier Variablen 141 Binäre Relation 15 Breadth-first Strategie (Breitensuche) 220 Cantor 10 Cartesisches Produkt 14 Clark, Satz von 214 Deduktion (Ableitung) 56 Deduktion der leeren Klausel 115, 177 Definierbarkeit von Junktoren 77 De Morgan, Regeln von 52, 74 Depth-first Strategie 220 Disjunktion 9, 10 disjunktive Normalform (DNF) 81ff Distributivgesetze 52 doppelte Negation 52, 74 dreiwertige Logik 123 Einheits-Resolution 190 Elementardisjunktion 86 Elementarkonjunktion 86 Elemente von Mengen 10 Endlichkeitssatz (Kompaktheitssatz) 97 Entscheidbarkeit der Aussagenlogik 32 Entscheidbarkeit von syntaktischen Beweisen 63 Erfüllbarkeit von Formeln/Formelmengen 30, 134

32 Logik, WS 2008 / Fakultät 5, Universität Stuttgart Erfüllbarkeitsäquivalenz 141 Erfüllbarkeitstest für Hornformeln 116, 134 Ersetzungsregel 49, 75 Ersetzbarkeitstheorem 49, 139 Erweiterung, einmalige 107, 176 Erweiterung, rekursive 107, 177 Extensionalität(sprinzip) 6, 120 Fakt 118 Φ-Funktion 36ff Folgerung, logische 42 Form, bereinigte 147 Formel der Aussagenlogik 20 Formel der Prädikatenlogik 129 Fragestellung, Programm mit 199 funktionelle Vollständigkeit 77 Funktions-Symbol 128 gebundene Umbenennung 146 Gilmore, Algorithmus von 163 Gödel-Herbrand-Skolem, Satz von 162 Grundinstanz 166 Grundresolutions-Algorithmus 166 Grundresolutions-Satz 170 Grundsubstitution 166 Grundzeichen der Sprache der Logik 18, 127 Gültigkeit von Formeln 30, 122, 134 Herbrand-Expansion 161 Herbrand-Modell 158 Herbrand, Satz von 162 Herbrand-Struktur 156 Herbrand-Universum 155

33 Logik, WS 2008 / Fakultät 5, Universität Stuttgart Hilbert-Kalkül 57 Hornformel, aussagenlogische 115 Horn-Klausel 198 Hornklausel-Programm zur Addition 205 Hypothese 69 Idempotenz 51, 74 Implikant 99 Implikation 9, 10,53 Induktion, Beweis durch 15 Induktion über den Formelaufbau 24, 144 Induktion über den Termaufbau 143 Input-Restriktion 189 intuitionistische Logik 6, 120 Invertibilität der Parameterübergabe 204 Junktor, aussagenlogischer 19 Junktor, prädikatenlogischer 128 Junktorbasis 77 Kalkül, aussagenlogischer 56 kanonische Normalform 88ff kanonische Rechnung 217 Klausel 104 Klauselmenge 104 Kommutativgesetze 51, 67 Konfiguration 212 Konfigurationsübergang 212 Konjunktion 9, 10 konjunktive Normalform (KNF) 81ff Konstanten-Symbol 128 Kontradiktion 31 korrekte Regel der Aussagenlogik 46

Einiges zu Resolutionen anhand der Aufgaben 6 und 7

Einiges zu Resolutionen anhand der Aufgaben 6 und 7 Einiges zu Resolutionen anhand der Aufgaben 6 und 7 Es gibt eine Fülle von verschiedenen Resolutionen. Die bis jetzt behandelten möchte ich hier noch ein Mal kurz erläutern. Ferner möchte ich noch auf

Mehr

Informatik A. Prof. Dr. Norbert Fuhr auf Basis des Skripts von Prof. Dr. Wolfram Luther und der Folien von Peter Fankhauser

Informatik A. Prof. Dr. Norbert Fuhr auf Basis des Skripts von Prof. Dr. Wolfram Luther und der Folien von Peter Fankhauser Informatik A Prof. Dr. Norbert Fuhr fuhr@uni-duisburg.de auf Basis des Skripts von Prof. Dr. Wolfram Luther und der Folien von Peter Fankhauser 1 Teil I Logik 2 Geschichte R. Descartes (17. Jhdt): klassische

Mehr

3. Grundlegende Begriffe von Logiken - Aussagenlogik

3. Grundlegende Begriffe von Logiken - Aussagenlogik 3. Grundlegende Begriffe von Logiken - Aussagenlogik Wichtige Konzepte und Begriffe in Logiken: Syntax (Signatur, Term, Formel,... ): Festlegung, welche syntaktischen Gebilde als Formeln (Aussagen, Sätze,

Mehr

Grundlagen der Theoretischen Informatik

Grundlagen der Theoretischen Informatik FH Wedel Prof. Dr. Sebastian Iwanowski GTI22 Folie 1 Grundlagen der Theoretischen Informatik Sebastian Iwanowski FH Wedel Kap. 2: Logik, Teil 2.2: Prädikatenlogik FH Wedel Prof. Dr. Sebastian Iwanowski

Mehr

Kapitel 1. Aussagenlogik

Kapitel 1. Aussagenlogik Kapitel 1 Aussagenlogik Einführung Mathematische Logik (WS 2012/13) Kapitel 1: Aussagenlogik 1/17 Übersicht Teil I: Syntax und Semantik der Aussagenlogik (1.0) Junktoren und Wahrheitsfunktionen (1.1) Syntax

Mehr

Resolutionsalgorithmus

Resolutionsalgorithmus 112 Resolutionskalkül Mit dem Begriff Kalkül bezeichnet man eine Menge von syntaktischen Umformungsregeln, mit denen man semantische Eigenschaften der Eingabeformel herleiten kann. Für den Resolutionskalkül:

Mehr

Logik für Informatiker

Logik für Informatiker Logik für Informatiker 2. Aussagenlogik Teil 6 14.05.2012 Viorica Sofronie-Stokkermans Universität Koblenz-Landau e-mail: sofronie@uni-koblenz.de 1 Bis jetzt Syntax der Aussagenlogik: Definition der Menge

Mehr

Aussagenlogik Prädikatenlogik erster Stufe. Logik. Logik

Aussagenlogik Prädikatenlogik erster Stufe. Logik. Logik Grundzeichen Aussagenlogik Aussagenvariablen P, Q, R,... Junktoren nicht und oder Runde Klammern (, ) Formeln Aussagenlogik Formeln sind spezielle Zeichenreihen aus Grundzeichen, und zwar 1 Jede Aussagenvariable

Mehr

3. Logik-Programmierung

3. Logik-Programmierung 3. Logik-Programmierung 3.1. Vorbemerkungen Idee: Ausführen eines Logik-Programms entspricht Herleitung leerer Klausel. Zusätzliche Verwendung einer Antworterzeugungskomponente (liefert Rechenergebnis).

Mehr

Logik-Grundlagen. Syntax der Prädikatenlogik

Logik-Grundlagen. Syntax der Prädikatenlogik Logik-Grundlagen X 1 :...: X k : ( A 1 A 2... A m B 1 B 2... B n ) Logische und funktionale Programmierung - Universität Potsdam - M. Thomas - Prädikatenlogik III.1 Syntax der Prädikatenlogik Prädikat:

Mehr

Logik Vorlesung 3: Äquivalenz und Normalformen

Logik Vorlesung 3: Äquivalenz und Normalformen Logik Vorlesung 3: Äquivalenz und Normalformen Andreas Maletti 7. November 2014 Überblick Inhalt 1 Motivation und mathematische Grundlagen 2 Aussagenlogik Syntax und Semantik Äquivalenz und Normalformen

Mehr

Beispiel Aussagenlogik nach Schöning: Logik...

Beispiel Aussagenlogik nach Schöning: Logik... Beispiel Aussagenlogik nach Schöning: Logik... Worin besteht das Geheimnis Ihres langen Lebens? wurde ein 100-jähriger gefragt. Ich halte mich streng an die Diätregeln: Wenn ich kein Bier zu einer Mahlzeit

Mehr

Logik für Informatiker

Logik für Informatiker Vorlesung Logik für Informatiker 13. Prädikatenlogik Der Satz von Herbrand Bernhard Beckert Universität Koblenz-Landau Sommersemester 2006 Logik für Informatiker, SS 06 p.1 Semantische Bäume Eine klassische

Mehr

Ersetzbarkeitstheorem

Ersetzbarkeitstheorem Ersetzbarkeitstheorem Die Abgeschlossenheit läßt sich auch folgendermaßen formulieren: Ersetzbarkeitstheorem Seien F und G Formeln mit F G. SeienH und H Formeln, so daß H aus H hervorgeht, indem ein Vorkommen

Mehr

1 Aussagenlogischer Kalkül

1 Aussagenlogischer Kalkül 1 Aussagenlogischer Kalkül Ein Kalkül in der Aussagenlogik soll die Wahrheit oder Algemeingültigkeit von Aussageformen allein auf syntaktischer Ebene zeigen. Die Wahrheit soll durch Umformung von Formeln

Mehr

Computational Logic Algorithmische Logik Boolesche Algebra und Resolution

Computational Logic Algorithmische Logik Boolesche Algebra und Resolution Computational Logic Algorithmische Logik Boolesche Algebra und Resolution Ralf Moeller Hamburg Univ. of Technology Boole'sche Algebra Äquivalenzen als "Transformationsgesetze" Ersetzbarkeitstheorem Zentrale

Mehr

Beweisen mit Semantischen Tableaux

Beweisen mit Semantischen Tableaux Beweisen mit Semantischen Tableaux Semantische Tableaux geben ein Beweisverfahren, mit dem ähnlich wie mit Resolution eine Formel dadurch bewiesen wird, dass ihre Negation als widersprüchlich abgeleitet

Mehr

Hilbert-Kalkül (Einführung)

Hilbert-Kalkül (Einführung) Hilbert-Kalkül (Einführung) Es gibt viele verschiedene Kalküle, mit denen sich durch syntaktische Umformungen zeigen läßt, ob eine Formel gültig bzw. unerfüllbar ist. Zwei Gruppen von Kalkülen: Kalküle

Mehr

5.1 Inferenz. Theorie der Informatik. Theorie der Informatik. 5.1 Inferenz. 5.2 Resolutionskalkül. 5.3 Zusammenfassung. Inferenz: Motivation

5.1 Inferenz. Theorie der Informatik. Theorie der Informatik. 5.1 Inferenz. 5.2 Resolutionskalkül. 5.3 Zusammenfassung. Inferenz: Motivation Theorie der Informatik 9. März 2015 5. Aussagenlogik III Theorie der Informatik 5. Aussagenlogik III 5.1 Inferenz Malte Helmert Gabriele Röger 5.2 Resolutionskalkül Universität Basel 9. März 2015 5.3 Zusammenfassung

Mehr

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

Fakultät für Informatik Universität Magdeburg Jürgen Dassow. Vorbemerkungen Vorbemerkungen if (x > y) z = x; else z = y; Wenn es blaue Tiger regnet, dann fressen alle Kirschbäume schwarze Tomaten. q(1) = 1, q(i) = q(i 1) + 2i 1 für i 2 Welchen Wert hat q(6)? 24 ist durch 2 teilbar.

Mehr

Terme. Dann ist auch f(t 1. Terme. Dann ist P (t 1

Terme. Dann ist auch f(t 1. Terme. Dann ist P (t 1 Prädikatenlogik 1. Syntax und Semantik Man kann die Prädikatenlogik unter einem syntaktischen und einem semantischen Gesichtspunkt sehen. Bei der Behandlung syntaktischer Aspekte macht man sich Gedanken

Mehr

Kapitel 1.0. Aussagenlogik: Einführung. Mathematische Logik (WS 2011/12) Kapitel 1.0: Aussagenlogik: Einführung 1/ 1

Kapitel 1.0. Aussagenlogik: Einführung. Mathematische Logik (WS 2011/12) Kapitel 1.0: Aussagenlogik: Einführung 1/ 1 Kapitel 1.0 Aussagenlogik: Einführung Mathematische Logik (WS 2011/12) Kapitel 1.0: Aussagenlogik: Einführung 1/ 1 Ziele der Aussagenlogik In der Aussagenlogik analysiert man die Wahrheitswerte zusammengesetzter

Mehr

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

I. Aussagenlogik. Aussagenlogik untersucht Verknüpfungen wie und, oder, nicht, wenn... dann zwischen atomaren und komplexen Sätzen. I. Aussagenlogik 2.1 Syntax Aussagenlogik untersucht Verknüpfungen wie "und", "oder", "nicht", "wenn... dann" zwischen atomaren und komplexen Sätzen. Sätze selbst sind entweder wahr oder falsch. Ansonsten

Mehr

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

Wissensrepräsentation und -verarbeitung in Logiken. bereinigt Pränex Skolem ( -Eliminierung) Klausel (Menge von Klauseln, Notation ohne Quantoren) Was bisher geschah Wissensrepräsentation und -verarbeitung in Logiken klassische Aussagenlogik klassische Prädikatenlogik: Wiederholung Syntax, Semantik Normalformen: bereinigt Pränex Skolem ( -Eliminierung)

Mehr

Normalformen der Prädikatenlogik

Normalformen der Prädikatenlogik Normalformen der Prädikatenlogik prädikatenlogische Ausdrücke können in äquivalente Ausdrücke umgeformt werden Beispiel "X (mensch(x) Æ sterblich(x)) "X (ÿ mensch(x) sterblich(x)) "X (ÿ (mensch(x) Ÿ ÿ

Mehr

Aussagenlogische Widerlegungsverfahren zum Nachweis logischer Eigenschaften und Beziehungen

Aussagenlogische Widerlegungsverfahren zum Nachweis logischer Eigenschaften und Beziehungen Einführung in die Logik - 4 Aussagenlogische Widerlegungsverfahren zum Nachweis logischer Eigenschaften und Beziehungen Widerlegungsverfahren zum Aufwärmen: Bestimmung von Tautologien mittels Quick Falsification

Mehr

Aussagenlogik zu wenig ausdrucksstark für die meisten Anwendungen. notwendig: Existenz- und Allaussagen

Aussagenlogik zu wenig ausdrucksstark für die meisten Anwendungen. notwendig: Existenz- und Allaussagen Prädikatenlogik 1. Stufe (kurz: PL1) Aussagenlogik zu wenig ausdrucksstark für die meisten Anwendungen notwendig: Existenz- und Allaussagen Beispiel: 54 Syntax der Prädikatenlogik erster Stufe (in der

Mehr

Logik für Informatiker

Logik für Informatiker Vorlesung Logik für Informatiker 5. Aussagenlogik Normalformen Bernhard Beckert Universität Koblenz-Landau Sommersemester 2006 Logik für Informatiker, SS 06 p.1 Normalformen Definition: Literal Atom (aussagenlogische

Mehr

Logik für Informatiker

Logik für Informatiker Logik für Informatiker 2. Aussagenlogik Teil 5 8.05.2012 Viorica Sofronie-Stokkermans Universität Koblenz-Landau e-mail: sofronie@uni-koblenz.de 1 Bis jetzt Syntax der Aussagenlogik: Definition der Menge

Mehr

Eigenschaften der Resolution für PL1 Formeln

Eigenschaften der Resolution für PL1 Formeln Eigenschaften der Resolution für PL1 Formeln Widerlegungsvollständigkeit (ohne Beweis): Sofern man Resolution auf eine widersprüchliche Klauselmenge anwendet, so existiert eine endliche Folge von Resolutionsschritten,

Mehr

Boolesche Algebra. Hans Joachim Oberle. Vorlesung an der TUHH im Wintersemester 2006/07 Montags, 9:45-11:15 Uhr, 14täglich TUHH, DE 22, Audimax 2

Boolesche Algebra. Hans Joachim Oberle. Vorlesung an der TUHH im Wintersemester 2006/07 Montags, 9:45-11:15 Uhr, 14täglich TUHH, DE 22, Audimax 2 Universität Hamburg Department Mathematik Boolesche Algebra Hans Joachim Oberle Vorlesung an der TUHH im Wintersemester 2006/07 Montags, 9:45-11:15 Uhr, 14täglich TUHH, DE 22, Audimax 2 http://www.math.uni-hamburg.de/home/oberle/vorlesungen.html

Mehr

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

Formale Methoden 2. Gaetano Geck Lehrstuhl I Logik in der Informatik WS 2014/2015 Formale Methoden 2 Gaetano Geck Lehrstuhl I Logik in der Informatik WS 2014/2015 Teil 3: Logik 1 Aussagenlogik Einleitung Eigenschaften Äquivalenz Folgerung Normalformen 2 Prädikatenlogik Wenn eine Karte

Mehr

Tableaukalkül für Aussagenlogik

Tableaukalkül für Aussagenlogik Tableaukalkül für Aussagenlogik Tableau: Test einer Formel auf Widersprüchlichkeit Fallunterscheidung baumförmig organisiert Keine Normalisierung, d.h. alle Formeln sind erlaubt Struktur der Formel wird

Mehr

Logik Vorlesung 10: Herbrand-Theorie

Logik Vorlesung 10: Herbrand-Theorie Logik Vorlesung 10: Herbrand-Theorie Andreas Maletti 9. Januar 2015 Überblick Inhalt 1 Motivation und mathematische Grundlagen 2 Aussagenlogik Syntax und Semantik Äquivalenz und Normalformen Weitere Eigenschaften

Mehr

Aussagenlogische Kalküle

Aussagenlogische Kalküle Aussagenlogische Kalküle Ziel: mit Hilfe von schematischen Regeln sollen alle aus einer Formel logisch folgerbaren Formeln durch (prinzipiell syntaktische) Umformungen abgeleitet werden können. Derartige

Mehr

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

Syntax der Aussagenlogik. Vorlesung Logik Sommersemester 2012 Universität Duisburg-Essen. Formel als Syntaxbaum. Teilformel A 3 A 1 A 4 Syntax der Vorlesung Logik Sommersemester 2012 Universität Duisburg-Essen Barbara König Übungsleitung: Christoph Blume Eine atomare Formel hat die Form A i (wobei i = 1, 2, 3,...). Definition (Formel)

Mehr

Vorsemesterkurs Informatik

Vorsemesterkurs Informatik Vorsemesterkurs Informatik Vorsemesterkurs Informatik Mario Holldack WS2015/16 30. September 2015 Vorsemesterkurs Informatik 1 Einleitung 2 Aussagenlogik 3 Mengen Vorsemesterkurs Informatik > Einleitung

Mehr

Prolog basiert auf Prädikatenlogik

Prolog basiert auf Prädikatenlogik Software-Technologie Software-Systeme sind sehr komplex. Im Idealfall erfolgt die Programmierung problemorientiert, während die notwendige Übertragung in ausführbare Programme automatisch erfolgt. Prolog-Philosophie:

Mehr

Übung 4: Aussagenlogik II

Übung 4: Aussagenlogik II Übung 4: Aussagenlogik II Diskrete Strukturen im Wintersemester 2013/2014 Markus Kaiser 8. Januar 2014 1/10 Äquivalenzregeln Identität F true F Dominanz F true true Idempotenz F F F Doppelte Negation F

Mehr

Logic in a Nutshell. Christian Liguda

Logic in a Nutshell. Christian Liguda Logic in a Nutshell Christian Liguda Quelle: Kastens, Uwe und Büning, Hans K., Modellierung: Grundlagen und formale Methoden, 2009, Carl Hanser Verlag Übersicht Logik - Allgemein Aussagenlogik Modellierung

Mehr

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

Vorlesung Logik Wintersemester 2012/13 Universität Duisburg-Essen Vorlesung Logik Wintersemester 2012/13 Universität Duisburg-Essen Barbara König Übungsleitung: Christoph Blume & Dr. Sander Bruggink Barbara König Logik 1 (Motivation) Wir benötigen Algorithmen für Erfüllbarkeitstests,

Mehr

Klausur zur Vorlesung Mathematische Logik

Klausur zur Vorlesung Mathematische Logik Universität Heidelberg 13. Februar 2014 Institut für Informatik Prof. Dr. Klaus Ambos-Spies Dipl.-Math. Thorsten Kräling Klausur zur Vorlesung Mathematische Logik Musterlösung Aufgabe 1 (Aussagenlogik

Mehr

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

Kapitel 1.3. Normalformen aussagenlogischer Formeln und die Darstellbarkeit Boolescher Funktionen durch aussagenlogische Formeln Kapitel 1.3 Normalformen aussagenlogischer Formeln und die Darstellbarkeit Boolescher Funktionen durch aussagenlogische Formeln Mathematische Logik (WS 2011/12) Kapitel 1.3: Normalformen 1/ 29 Übersicht

Mehr

Wissensbasierte Systeme 7. Prädikatenlogik

Wissensbasierte Systeme 7. Prädikatenlogik Wissensbasierte Systeme 7. Prädikatenlogik Syntax und Semantik, Normalformen, Herbrandexpansion Michael Beetz Plan-based Robot Control 1 Inhalt 7.1 Motivation 7.2 Syntax und Semantik 7.3 Normalformen 7.4

Mehr

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

Kapitel 1.5. Ein adäquater Kalkül der Aussagenlogik. Teil 1: Kalküle und Beweisbarkeit und die Korrektheit des Shoenfield-Kalküls Kapitel 1.5 Ein adäquater Kalkül der Aussagenlogik Teil 1: Kalküle und Beweisbarkeit und die Korrektheit des Shoenfield-Kalküls Mathematische Logik (WS 2012/13) Kapitel 1.5: Kalküle 1/30 Syntaktischer

Mehr

Logik für Informatiker

Logik für Informatiker Vorlesung Logik für Informatiker 6. Aussagenlogik Resolution Bernhard Beckert Universität Koblenz-Landau Sommersemester 2006 Logik für Informatiker, SS 06 p.1 Der aussagenlogische Resolutionkalkül Wesentliche

Mehr

Logische und funktionale Programmierung

Logische und funktionale Programmierung Logische und funktionale Programmierung Vorlesung 2: Prädikatenkalkül erster Stufe Babeş-Bolyai Universität, Department für Informatik, Cluj-Napoca csacarea@cs.ubbcluj.ro 14. Oktober 2016 1/38 DIE INTERPRETATION

Mehr

Motivation. Formale Grundlagen der Informatik 1 Kapitel 17. Syntax & Semantik. Motivation - Beispiel. Motivation - Beispiel

Motivation. Formale Grundlagen der Informatik 1 Kapitel 17. Syntax & Semantik. Motivation - Beispiel. Motivation - Beispiel Motivation Formale Grundlagen der Informatik 1 Kapitel 17 & Frank Heitmann heitmann@informatik.uni-hamburg.de 6. & 7. Juni 2016 Frank Heitmann heitmann@informatik.uni-hamburg.de 1/43 Die ist eine Erweiterung

Mehr

Zusammenfassung des Stoffes zur Vorlesung Formale Systeme

Zusammenfassung des Stoffes zur Vorlesung Formale Systeme Zusammenfassung des Stoffes zur Vorlesung Formale Systeme Max Kramer 13. Februar 2009 Diese Zusammenfassung entstand als persönliche Vorbereitung auf die Klausur zur Vorlesung Formale Systeme von Prof.

Mehr

Logik-Programme. Eine Tatsachenklausel ist eine einelementige positive Klausel, d.h. sie hat

Logik-Programme. Eine Tatsachenklausel ist eine einelementige positive Klausel, d.h. sie hat Logik-Programme Definition: Eine Tatsachenklausel ist eine einelementige positive Klausel, d.h. sie hat die Form {P }. Eine Prozedurklausel ist eine Klausel der Form {P, Q 1, Q 2,..., Q k } mit k 1. P

Mehr

Brückenkurs Mathematik

Brückenkurs Mathematik Brückenkurs Mathematik 6.10. - 17.10. Vorlesung 1 Logik,, Doris Bohnet Universität Hamburg - Department Mathematik Mo 6.10.2008 Zeitplan Tagesablauf: 9:15-11:45 Vorlesung Audimax I 13:00-14:30 Übung Übungsräume

Mehr

Logik für Informatiker

Logik für Informatiker Vorlesung Logik für Informatiker 4. Aussagenlogik Syntax und Semantik der Aussagenlogik Bernhard Beckert Universität Koblenz-Landau Sommersemester 2006 Logik für Informatiker, SS 06 p.1 Syntax der Aussagenlogik:

Mehr

Einführung in die Logik

Einführung in die Logik Einführung in die Logik Klaus Madlener und Roland Meyer 24. April 2013 Inhaltsverzeichnis 1 Aussagenlogik 1 1.1 Syntax................................. 1 1.2 Semantik............................... 3 1.3

Mehr

Erfüllbarkeit und Allgemeingültigkeit

Erfüllbarkeit und Allgemeingültigkeit Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel: 3.3 Aussagenlogik Erfüllbarkeit 44 Erfüllbarkeit und Allgemeingültigkeit Def.: eine Formel ϕ heißt erfüllbar, wennesein I gibt, so dass I = ϕ

Mehr

Einführung in die Logik. Sommersemester Juli 2010 Institut für Theoretische Informatik

Einführung in die Logik. Sommersemester Juli 2010 Institut für Theoretische Informatik Einführung in die Logik Jiří Adámek Sommersemester 2010 14. Juli 2010 Institut für Theoretische Informatik Inhaltsverzeichnis 1 Einleitung: Logische Systeme 4 I Aussagenlogik 6 2 Aussagenlogik 7 2.i Syntax

Mehr

Eine Aussage ist ein Satz der Umgangssprache, der wahr oder falsch sein kann. Man geht von dem Folgenden aus:

Eine Aussage ist ein Satz der Umgangssprache, der wahr oder falsch sein kann. Man geht von dem Folgenden aus: Karlhorst Meyer Formallogik Die Umgangssprache ist für mathematische Bedürfnisse nicht exakt genug. Zwei Beispiele: In Folge können u. U. Beweise, die in Umgangssprache geschrieben werden, nicht vollständig,

Mehr

4.1 Motivation. Theorie der Informatik. Theorie der Informatik. 4.1 Motivation. 4.2 Syntax der Prädikatenlogik. 4.3 Semantik der Prädikatenlogik

4.1 Motivation. Theorie der Informatik. Theorie der Informatik. 4.1 Motivation. 4.2 Syntax der Prädikatenlogik. 4.3 Semantik der Prädikatenlogik Theorie der Informatik 3. März 2014 4. Prädikatenlogik I Theorie der Informatik 4. Prädikatenlogik I 4.1 Motivation Malte Helmert Gabriele Röger 4.2 Syntax der Prädikatenlogik Universität Basel 3. März

Mehr

Formale Logik. PD Dr. Markus Junker Abteilung für Mathematische Logik Universität Freiburg. Wintersemester 16/17 Sitzung vom 9.

Formale Logik. PD Dr. Markus Junker Abteilung für Mathematische Logik Universität Freiburg. Wintersemester 16/17 Sitzung vom 9. Formale Logik PD Dr. Markus Junker Abteilung für Mathematische Logik Universität Freiburg Wintersemester 16/17 Sitzung vom 9. November 2016 Weitere Begriffe Eine Zuweisung von Wahrheitswerten W bzw. F

Mehr

Algorithmischer Aufbau der Aussagenlogik

Algorithmischer Aufbau der Aussagenlogik Algorithmischer Aufbau der Aussagenlogik In diesem Abschnitt betrachten wir Verfahren die bei gegebener endlichen Menge Σ und A-Form A entscheiden ob Σ = A gilt. Die bisher betrachteten Verfahren prüfen

Mehr

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

Rechnerstrukturen. Michael Engel und Peter Marwedel WS 2013/14. TU Dortmund, Fakultät für Informatik Rechnerstrukturen Michael Engel und Peter Marwedel TU Dortmund, Fakultät für Informatik WS 2013/14 Folien a. d. Basis von Materialien von Gernot Fink und Thomas Jansen 21. Oktober 2013 1/33 1 Boolesche

Mehr

TU5 Aussagenlogik II

TU5 Aussagenlogik II TU5 Aussagenlogik II Daniela Andrade daniela.andrade@tum.de 21.11.2016 1 / 21 Kleine Anmerkung Meine Folien basieren auf den DS Trainer von Carlos Camino, den ihr auf www.carlos-camino.de/ds findet ;)

Mehr

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

Substitution. Unifikation. Komposition der Substitution. Ausführung der Substitution Substitution Unifikation Ziel eines Widerspruchsbeweis: Widerspruch ja/nein Variablenbindung im Falle eines Widerspruchs Eine Substitution θ ist eine endliche Menge der Form {v 1 /t 1 v n /t n }, wobei

Mehr

Mathematik für Informatiker I

Mathematik für Informatiker I Mathematik für Informatiker I Mitschrift zur Vorlesung vom 19.10.2004 In diesem Kurs geht es um Mathematik und um Informatik. Es gibt sehr verschiedene Definitionen, aber für mich ist Mathematik die Wissenschaft

Mehr

Grundlagen der Kognitiven Informatik

Grundlagen der Kognitiven Informatik Grundlagen der Kognitiven Informatik Wissensrepräsentation und Logik Ute Schmid Kognitive Systeme, Angewandte Informatik, Universität Bamberg letzte Änderung: 14. Dezember 2010 U. Schmid (CogSys) KogInf-Logik

Mehr

Algorithmen & Programmierung. Logik

Algorithmen & Programmierung. Logik Algorithmen & Programmierung Logik Aussagenlogik Gegenstand der Untersuchung Es werden Verknüpfungen zwischen Aussagen untersucht. Aussagen Was eine Aussage ist, wird nicht betrachtet, aber jede Aussage

Mehr

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

Binäre Suchbäume (binary search trees, kurz: bst) Binäre Suchbäume (binary search trees, kurz: bst) Datenstruktur zum Speichern einer endlichen Menge M von Zahlen. Genauer: Binärbaum T mit n := M Knoten Jeder Knoten v von T ist mit einer Zahl m v M markiert.

Mehr

8 Der Kompaktheitssatz und der Satz von Löwenheim und Skolem

8 Der Kompaktheitssatz und der Satz von Löwenheim und Skolem 8 Der Kompaktheitssatz und der Satz von Löwenheim und Skolem 8.1 Der Kompaktheitssatz Kompaktheitssatz Endlichkeitssatz Der Kompaktheitssatz ist auch unter dem Namen Endlichkeitssatz bekannt. Unter Verwendung

Mehr

Unvollständigkeit der Arithmetik

Unvollständigkeit der Arithmetik Unvollständigkeit der Arithmetik Slide 1 Unvollständigkeit der Arithmetik Hans U. Simon (RUB) Email: simon@lmi.rub.de Homepage: http://www.ruhr-uni-bochum.de/lmi Unvollständigkeit der Arithmetik Slide

Mehr

Wissensbasierte Systeme

Wissensbasierte Systeme WBS4 Slide 1 Wissensbasierte Systeme Vorlesung 4 vom 03.11.2004 Sebastian Iwanowski FH Wedel WBS4 Slide 2 Wissensbasierte Systeme 1. Motivation 2. Prinzipien und Anwendungen 3. Logische Grundlagen 4. Suchstrategien

Mehr

Diskrete Strukturen Kapitel 2: Grundlagen (Beweise)

Diskrete Strukturen Kapitel 2: Grundlagen (Beweise) WS 2014/15 Diskrete Strukturen Kapitel 2: Grundlagen (Beweise) Hans-Joachim Bungartz Lehrstuhl für wissenschaftliches Rechnen Fakultät für Informatik Technische Universität München http://www5.in.tum.de/wiki/index.php/diskrete_strukturen_-_winter_14

Mehr

Logik für Informatiker

Logik für Informatiker Logik für Informatiker 2. Aussagenlogik Teil 10 4.06.2012 Viorica Sofronie-Stokkermans Universität Koblenz-Landau e-mail: sofronie@uni-koblenz.de 1 Organisatorisches Hauptklausur: Montag, 23.07.2012, 16:00-18:00,

Mehr

Algorithmen für OBDD s. 1. Reduziere 2. Boole sche Operationen

Algorithmen für OBDD s. 1. Reduziere 2. Boole sche Operationen Algorithmen für OBDD s 1. Reduziere 2. Boole sche Operationen 1 1. Reduziere siehe auch M.Huth und M.Ryan: Logic in Computer Science - Modelling and Reasoning about Systems, Cambridge Univ.Press, 2000

Mehr

Was bisher geschah: klassische Aussagenlogik

Was bisher geschah: klassische Aussagenlogik Was bisher geschah: klassische Aussagenlogik Syntax Symbole und Struktur Junktoren: t, f (nullstellig), (einstellig),,,, (zweistellig) aussagenlogische Formeln AL(P) induktive Definition: IA atomare Formeln

Mehr

Grundlagen der Programmierung

Grundlagen der Programmierung GdP2 Slide 1 Grundlagen der Programmierung Vorlesung 2 Sebastian Ianoski FH Wedel GdP2 Slide 2 Beispiel ür eine Programmveriikation Gegeben sei olgender Algorithmus: i (x>0) ((y+x) 0) then z := x y else

Mehr

Syntax der Prädikatenlogik: Variablen, Terme. Formeln. Freie und gebundene Variablen, Aussagen. Aufgabe

Syntax der Prädikatenlogik: Variablen, Terme. Formeln. Freie und gebundene Variablen, Aussagen. Aufgabe Syntax der Prädikatenlogik: Variablen, Terme Formeln Eine Variable hat die Form x i mit i = 1, 2, 3.... Ein Prädikatensymbol hat die Form Pi k und ein Funktionssymbol hat die Form fi k mit i = 1, 2, 3...

Mehr

Collegium Logicum - Logische Grundlagen der Philosophie und der Wissenschaften Link

Collegium Logicum - Logische Grundlagen der Philosophie und der Wissenschaften Link Collegium Logicum - Logische Grundlagen der Philosophie und der Wissenschaften Band 1 von Godehard Link 1. Auflage Collegium Logicum - Logische Grundlagen der Philosophie und der Wissenschaften Link schnell

Mehr

Fixpunktsemantik logischer Programme Pascal Hitzler Juli 1997 Kurzuberblick im Rahmen der Vorlesung Einfuhrung in Prolog von T. Cornell im Sommersemester 1997 an der Universitat Tubingen. Beweise sind

Mehr

Prüfungsprotokoll Kurs 1825 Logik für Informatiker. Studiengang: MSc. Informatik Prüfer: Prof. Dr. Heinemann Termin: Januar 2015

Prüfungsprotokoll Kurs 1825 Logik für Informatiker. Studiengang: MSc. Informatik Prüfer: Prof. Dr. Heinemann Termin: Januar 2015 Prüfungsprotokoll Kurs 1825 Logik für Informatiker Studiengang: MSc. Informatik Prüfer: Prof. Dr. Heinemann Termin: Januar 2015 1. Aussagenlogik Alphabet und AS gegeben, wie sind die Aussagenlogischen

Mehr

Auswahl von Klauseln und Atomen in Prolog

Auswahl von Klauseln und Atomen in Prolog 5.6 Prolog... ist die bekannteste Implementierung einer LP-Sprache; wurde Anfang der 1970er von Alain Colmerauer (Marseille) und Robert Kowalski (Edinburgh) entwickelt. konkretisiert den vorgestellten

Mehr

Logische Programmierung

Logische Programmierung Logische Programmierung B-82 Deklaratives Programmieren in Prädikatenlogik: Problem beschreiben statt Algorithmus implementieren (idealisiert). Grundlagen: Relationen bzw. Prädikate (statt Funktionen);

Mehr

Satz. Für jede Herbrand-Struktur A für F und alle t D(F ) gilt offensichtlich

Satz. Für jede Herbrand-Struktur A für F und alle t D(F ) gilt offensichtlich Herbrand-Strukturen und Herbrand-Modelle Sei F eine Aussage in Skolemform. Dann heißt jede zu F passende Struktur A =(U A, I A )eineherbrand-struktur für F, falls folgendes gilt: 1 U A = D(F ), 2 für jedes

Mehr

Aussagenlogik. Aussagen und Aussagenverknüpfungen

Aussagenlogik. Aussagen und Aussagenverknüpfungen Aussagenlogik Aussagen und Aussagenverknüpfungen Aussagen sind Sätze, von denen sich sinnvollerweise sagen läßt, sie seien wahr oder falsch. Jede Aussage besitzt also einen von zwei möglichen Wahrheitswerten,

Mehr

wenn es regnet ist die Straße nass.

wenn es regnet ist die Straße nass. Aussagenlogik 2 In der Aussagenlogik werden, wie der Name schon sagt, Aussagen über logische Operatoren verknüpft. Der Satz diestraßeistnass ist eine Aussage, genauso wie es regnet. Diese beiden Aussagen

Mehr

Grundlagen der Theoretischen Informatik

Grundlagen der Theoretischen Informatik FH Wedel Pro. Dr. Sebastian Ianoski GTI21 Folie 1 Grundlagen der Theoretischen Inormatik Sebastian Ianoski FH Wedel Kap. 2: Logik, Teil 2.1: Aussagenlogik FH Wedel Pro. Dr. Sebastian Ianoski GTI21 Folie

Mehr

Klausur Formale Systeme Fakultät für Informatik WS 2009/2010. Prof. Dr. Bernhard Beckert. 18. Februar 2010

Klausur Formale Systeme Fakultät für Informatik WS 2009/2010. Prof. Dr. Bernhard Beckert. 18. Februar 2010 Klausur Formale Systeme Fakultät für Informatik Name: Mustermann Vorname: Peter Matrikel-Nr.: 0000000 Klausur-ID: 0000 WS 2009/2010 Prof. Dr. Bernhard Beckert 18. Februar 2010 A1 (15) A2 (10) A3 (10) A4

Mehr

Mathematische Logik. Grundlagen, Aussagenlogik, Semantische Äquivalenz. Felix Hensel. February 21, 2012

Mathematische Logik. Grundlagen, Aussagenlogik, Semantische Äquivalenz. Felix Hensel. February 21, 2012 Mathematische Logik Grundlagen, Aussagenlogik, Semantische Äquivalenz Felix Hensel February 21, 2012 Dies ist im Wesentlichen eine Zusammenfassung der Abschnitte 1.1-1.3 aus Wolfgang Rautenberg s Buch

Mehr

Beispiel. Bsp.: Betrachte Schlussweise in: (3) folgt aus (1) und (2), siehe z.b. Resolutionsregel. was ist mit folgender Schlußweise:

Beispiel. Bsp.: Betrachte Schlussweise in: (3) folgt aus (1) und (2), siehe z.b. Resolutionsregel. was ist mit folgender Schlußweise: Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel: 5.4 Prädikatenlogik mit Gleichheit Resolution 192 Beispiel Bsp.: Betrachte Schlussweise in: 1 Wenn es regnet, dann wird die Straße nass. R N

Mehr

Logik für Informatiker

Logik für Informatiker Logik für Informatiker 3. Prädikatenlogik Teil 1 9.06.2015 Viorica Sofronie-Stokkermans Universität Koblenz-Landau e-mail: sofronie@uni-koblenz.de 1 Rückblick: Vor- und Nachteile von Aussagenlogik + Aussagenlogik

Mehr

Schlussregeln aus anderen Kalkülen

Schlussregeln aus anderen Kalkülen Was bisher geschah Klassische Aussagenlogik: Syntax Semantik semantische Äquivalenz und Folgern syntaktisches Ableiten (Resolution) Modellierung in Aussagenlogik: Wissensrepräsentation, Schaltungslogik,

Mehr

Normalformen boolescher Funktionen

Normalformen boolescher Funktionen Normalformen boolescher Funktionen Jeder boolesche Ausdruck kann durch (äquivalente) Umformungen in gewisse Normalformen gebracht werden! Disjunktive Normalform (DNF) und Vollkonjunktion: Eine Vollkonjunktion

Mehr

Klausur Formale Systeme Fakultät für Informatik WS 2009/2010

Klausur Formale Systeme Fakultät für Informatik WS 2009/2010 Klausur Formale Systeme Fakultät für Informatik WS 2009/2010 Prof. Dr. Bernhard Beckert 18. Februar 2010 Name: Mustermann Vorname: Peter Matrikel-Nr.: 0000000 Klausur-ID: 0000 A1 (15) A2 (10) A3 (10) A4

Mehr

3. Prädikatenlogik. Im Sinne der Aussagenlogik sind das verschiedene Sätze, repräsentiert etwa durch A, B, C. Natürlich gilt nicht: A B = C

3. Prädikatenlogik. Im Sinne der Aussagenlogik sind das verschiedene Sätze, repräsentiert etwa durch A, B, C. Natürlich gilt nicht: A B = C 3. Prädikatenlogik 3.1 Motivation In der Aussagenlogik interessiert Struktur der Sätze nur, insofern sie durch "und", "oder", "wenn... dann", "nicht", "genau dann... wenn" entsteht. Für viele logische

Mehr

Klausur Formale Systeme Fakultät für Informatik 2. Klausur zum WS 2010/2011

Klausur Formale Systeme Fakultät für Informatik 2. Klausur zum WS 2010/2011 Fakultät für Informatik 2. Klausur zum WS 2010/2011 Prof. Dr. Bernhard Beckert 08. April 2011 Vorname: Matrikel-Nr.: Platz: Klausur-ID: **Platz** **Id** Die Bearbeitungszeit beträgt 60 Minuten. A1 (17)

Mehr

Brückenkurs Mathematik 2015

Brückenkurs Mathematik 2015 Technische Universität Dresden Fachrichtung Mathematik, Institut für Analysis Dr.rer.nat.habil. Norbert Koksch Brückenkurs Mathematik 2015 1. Vorlesung Logik, Mengen und Funktionen Ich behaupte aber, dass

Mehr

Prädikate sind Funktionen. Prädikatenlogik. Quantoren. n stellige Prädikate. n stellige Prädikate:

Prädikate sind Funktionen. Prädikatenlogik. Quantoren. n stellige Prädikate. n stellige Prädikate: Aussagenlogik: Aussagen Ausssageformen Prädikatenlogik beschäftigt sich mit Aussagen sind Sätze die entweder wahr oder falsch sind sind Sätze mit Variablen, die beim Ersetzen dieser Variablen durch Elemente

Mehr

3. Logik 3.1 Aussagenlogik

3. Logik 3.1 Aussagenlogik 3. Logik 3.1 Aussagenlogik WS 06/07 mod 301 Kalkül zum logischen Schließen. Grundlagen: Aristoteles 384-322 v. Chr. Aussagen: Sätze, die prinzipiell als ahr oder falsch angesehen erden können. z. B.: Es

Mehr

Übersicht. 9. Schließen in der Prädikatenlogik 1. Stufe

Übersicht. 9. Schließen in der Prädikatenlogik 1. Stufe Übersicht I Künstliche Intelligenz II Problemlösen III Wissen und Schlußfolgern 6. Logisch schließende Agenten 7. Prädikatenlogik 1. Stufe 8. Entwicklung einer Wissensbasis 9. Schließen in der Prädikatenlogik

Mehr

Prof. Dr. sc. Hans-Dieter Burkhard Vorlesung Winter-Semester 2003/04. Wissensrepräsentation: Resolution (im PK1)

Prof. Dr. sc. Hans-Dieter Burkhard Vorlesung Winter-Semester 2003/04. Wissensrepräsentation: Resolution (im PK1) Einführung in die KI Prof. Dr. sc. Hans-Dieter Burkhard Vorlesung Wissensrepräsentation: Resolution (im PK1) 2. Resolution Vorbild für Formalismus : exakt, präzise, (theoretisch) beherrscht Aufbau: Zeichen

Mehr

WS 2013/14. Diskrete Strukturen

WS 2013/14. Diskrete Strukturen WS 2013/14 Diskrete Strukturen Prof. Dr. J. Esparza Lehrstuhl für Grundlagen der Softwarezuverlässigkeit und theoretische Informatik Fakultät für Informatik Technische Universität München http://www7.in.tum.de/um/courses/ds/ws1314

Mehr

Informationsverarbeitung auf Bitebene

Informationsverarbeitung auf Bitebene Informationsverarbeitung auf Bitebene Dr. Christian Herta 5. November 2005 Einführung in die Informatik - Informationsverarbeitung auf Bitebene Dr. Christian Herta Grundlagen der Informationverarbeitung

Mehr