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

Größe: px
Ab Seite anzeigen:

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

Transkript

1 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. Und zwar so, dass es für jedes m M einen Knoten v von T gibt mit m v = m. Für jeden Knoten v von T, alle Knoten u im linken Teilbaum unter v und alle Knoten w im rechten Teilbaum unter v gilt: m u < m v < m w. Implementation als Logik-Programm: Programm 3.14: searchtree.pl % Binaere Suchbaeume mit Integer-Eintraegen in den Knoten bst(x) :- bst(x, minus_infinity, infinity). bst(nil, _, _). % leerer Suchbaum bst(node(n,tl,tr), Nmin, Nmax) :- integer(n), leq(nmin,n), leq(n,nmax), NminusOne is N-1, NplusOne is N+1, bst(tl, Nmin, NminusOne), bst(tr, NplusOne, Nmax). % leq steht fuer "less than or equal to" leq(minus_infinity, _). leq(_, infinity). leq(n,m) :- integer(n), integer(m), N =< M. % Zahl einfuegen in einen bst bst_insert(n, nil, node(n,nil,nil)). bst_insert(n, node(n,tl,tr), node(n,tl,tr)). bst_insert(n, node(m,tl,tr), node(m,ul,tr)) :- N < M, bst_insert(n, Tl, Ul). bst_insert(n, node(m,tl,tr), node(m,tl,ur)) :- N > M, bst_insert(n, Tr, Ur). % Liste von Zahlen einfuegen in einen bst bst_list_insert([], T, T). 26. November 2014 Seite 123

2 bst_list_insert([n Ns], T, U) :- bst_insert(n, T, T1), bst_list_insert(ns, T1, U). % Testen, ob Zahl in bst enthalten ist bst_member(n, node(n,_,_)). bst_member(n, node(m,tl,_)) :- N < M, bst_member(n, Tl). bst_member(n, node(m,_,tr)) :- N > M, bst_member(n, Tr). % Maximales Element finden und loeschen bst_delmax(node(m,tl,nil), M, Tl). bst_delmax(node(m,tl,tr), N, node(m,tl,u)) :- bst_delmax(tr, N, U). % Zahl loeschen bst_delete(_, nil, nil). bst_delete(n, node(n,tl,nil), Tl). bst_delete(n, node(n,nil,tr), Tr). bst_delete(n, node(n,tl,tr), node(m,u,tr)) :- bst_delmax(tl, M, U). bst_delete(n, node(m,tl,tr), node(m,u,tr)) :- N < M, bst_delete(n, Tl, U). bst_delete(n, node(m,tl,tr), node(m,tl,u)) :- N > M, bst_delete(n, Tr, U). Folie 191 Repräsentation aussagenlogischer Formeln und Interpretationen 1. Ziel: al(term) soll besagen, dass Term eine aussagenlogische Formel repräsentiert. Ansatz: Die booleschen Konstanten 0 und 1 repräsentieren wir durch die booleschen Werte 0 und 1. Aussagensymbole (d.h. Aussagenvariablen) repräsentieren wir durch Atome (d.h. Zeichenketten, die mit einem Kleinbuchstaben beginnen oder in einfachen Anführungszeichen stehen). Die Junktoren,,, repräsentieren wir durch die Operatoren ~, /\, \/, =>. Wir wollen diese auf die übliche Art schreiben, d.h. wir wollen z.b. schreiben: Seite November 2014

3 statt (a /\ b) => ~c => ( /\ (a, b), ~(c) ) (wobei Letzteres die natürliche Term-Darstellung des Syntaxbaums der Formel ist). Dies erreichen wir in Prolog durch die folgende Definition von Operatoren: Folie 192 :- op(100, fy, ~). % Negation :- op(200, xfx, /\). % Konjunktion :- op(200, xfx, \/). % Disjunktion :- op(300, xfx, =>). % Implikation Generelles Schema von Operatordefinitionen in Prolog: :- op(x,y,z). mit X : Priorität des Operators (ganze Zahl zwischen 1 und 1200; je näher bei 1 desto höher die Priorität), Y : Spezifikation des Operators, Z : Name des Operators. Die Spezifikation fy gibt an, dass der Operator 1-stellig ist, von links an sein Argument geschrieben wird und assoziativ ist. Beispiel: ~ ~ ~ a steht für ~(~(~(a))) Die Spezifikation xfx gibt an, dass der Operator 2-stellig ist, zwischen seine beiden Argumente geschrieben wird und nicht assoziativ ist. Beispiel: ( (a /\ b) /\ c ) steht für /\ ( /\ (a,b), c ). ( a /\ b /\ c ) ist nicht erlaubt. Das 1. Ziel, eine Beschreibung al(term), die besagt, dass Term eine aussagenlogische Formel repräsentiert, wird durch die Zeilen 1 20 des unten stehenden Programms al.pl erreicht. Folie Ziel: Repräsentiere aussagenlogische Interpretationen durch eine geeignete Datenstruktur, die Zugriff auf die den einzelnen Aussagensymbolen zugeordneten Wahrheitswerte liefert. Dies wird durch die Zeilen des Programms al.pl erreicht. 26. November 2014 Seite 125

4 3. Ziel: al eval(i,f,wert) soll besagen, dass die Formel F unter Interpretation I den Wahrheitswert Wert hat. Dies wird durch die Zeilen des Programms al.pl erreicht. Programm 3.15: al.pl % aussagenlogische Junktoren :- op(100, fy, ~). % Negation :- op(200, xfx, /\). % Konjunktion :- op(200, xfx, \/). % Disjunktion :- op(300, xfx, =>). % Implikation % boolesche Konstanten 0 und 1 bool(0). bool(1). % Aussagensymbole werden durch Atome repraesentiert as(x) :- atom(x). % al(term) besagt: Term repraesentiert eine aussagenlogische Formel al(b) :- bool(b). al(x) :- as(x). al(~ F) :- al(f). al(f1 /\ F2) :- al(f1), al(f2). al(f1 \/ F2) :- al(f1), al(f2). al(f1 => F2) :- al(f1), al(f2). %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Interpretationen % % repraesentiere z.b. Interpret. I mit I(a)=0, I(b)=1, I(c)=0 % durch Liste [ maps(a,0), maps(b,1), maps(c,0) ] % die Interpretation mit leerem Definitionsbereich al_interpret_init([]). % al_interpret_get(i,x,b) bedeutet: % B ist der Wahrheitswert von X gemaess Interpretation I al_interpret_get([maps(x,b) _], X, B). al_interpret_get([maps(x1,_) J], X, B) :- X1 \== X, al_interpret_get(j, X, B). % al_interpret_put(i,x,b,j) bedeutet: J entsteht aus I, indem das Seite November 2014

5 % Aussagensymbol X auf den Wahrheitswert B agbebildet wird al_interpret_put(i, X, B, [maps(x,b) I]). % al_list2interpret(l,i) besagt, dass die Interpretation I % gemaess der Liste L definiert ist. Bsp: L von der Form % [ X1, B1, X2, B2,...] besagt, dass % das Aussagensymbol Xi den Wert Bi bekommt al_list2interpret([], I) :- al_interpret_init(i). al_list2interpret([x,b L], I) :- al_list2interpret(l, J), al_interpret_put(j, X, B, I). %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Auswertung von Formeln % % Ist I eine Interpretation, F eine aussagenlogische Formel und gilt % al_eval(i, F, Wert), so gibt Wert den Wahrheitswert von F % bzgl. der Interpretation I an al_eval(_, 0, 0). al_eval(_, 1, 1). al_eval(i, X, W) :- al_interpret_get(i, X, W). al_eval(i, ~ F, 0) :- al_eval(i, F, 1). al_eval(i, ~ F, 1) :- al_eval(i, F, 0). al_eval(i, F1 /\ _, 0) :- al_eval(i, F1, 0). al_eval(i, _ /\ F2, 0) :- al_eval(i, F2, 0). al_eval(i, F1 /\ F2, 1) :- al_eval(i, F1, 1), al_eval(i, F2, 1). al_eval(i, F1 \/ _, 1) :- al_eval(i, F1, 1). al_eval(i, _ \/ F2, 1) :- al_eval(i, F2, 1). al_eval(i, F1 \/ F2, 0) :- al_eval(i, F1, 0), al_eval(i, F2, 0). al_eval(i, F1 => _, 1) :- al_eval(i, F1, 0). al_eval(i, _ => F2, 1) :- al_eval(i, F2, 1). al_eval(i, F1 => F2, 0) :- al_eval(i, F1, 1), al_eval(i, F2, 0). Folie 194 Normalformen aussagenlogischer Formeln Ziele: al lit(x) soll testen, ob X ein aussagenlogisches Literal repräsentiert. al nnf(f) soll testen, ob F eine aussagenlogische Formel in Negationsnormalform repräsentiert. al clause(d) soll testen, ob D eine disjunktive Klausel repräsentiert. 26. November 2014 Seite 127

6 al cclause(c) soll testen, ob C eine konjunktive Klausel repräsentiert. al cnf(f) soll testen, ob F eine aussagenlogische Formel in konjunktiver Normalform repräsentiert. al dnf(f) soll testen, ob F eine aussagenlogische Formel in disjunktiver Normalform repräsentiert. al2nnf(f,g) soll eine gegebene Formel F in eine dazu äquivalente Formel G in Negationsnormalform transformieren. Programm 3.16: alnormalformen.pl :- ensure_loaded([al]). %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Teste, ob eine Formel eine bestimmte Gestalt hat % % Literal al_lit(x) :- as(x). al_lit(~ X) :- as(x). % Negationsnormalform al_nnf(f) :- al_lit(f). al_nnf(f /\ G) :- al_nnf(f), al_nnf(g). al_nnf(f \/ G) :- al_nnf(f), al_nnf(g). % disjunktive Klausel al_emptyclause(0). al_clause(l) :- al_lit(l). al_clause(l \/ D) :- al_lit(l), al_clause(d). % Konjunktive Normalform al_cnf(f) :- al_clause(f). al_cnf(c /\ F) :- al_clause(c), al_cnf(f). % konjunktive Klausel al_emptycclause(1). al_cclause(l) :- al_lit(l). al_cclause(l /\ C) :- al_lit(l), al_cclause(c). % disjunktive Normalform Seite November 2014

7 al_dnf(f) :- al_cclause(f). al_dnf(c \/ F) :- al_cclause(c), al_dnf(f). %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Transformation in NNF al2nnf(f,g) :- al2nnf(f,g,_). % al2nnf/3 gibt fuer eine Formel und ihr Negat aequivalente % Formeln in NNF. D.h.: al2nnf(f,g,h) bedeutet: % G ist NNF fuer F, und H ist NNF fuer ~F. % Konstruktion: analog zum Beweis von Satz 2.38 al2nnf(0,0,1). al2nnf(1,1,0). al2nnf(x, X, ~ X) :- as(x). al2nnf(~ X, ~ X, X) :- as(x). al2nnf(~ F, G, H) :- al2nnf(f, H, G). al2nnf(f1 /\ F2, G1 /\ G2, H1 \/ H2) :- al2nnf(f1,g1,h1), al2nnf(f2,g2,h2). al2nnf(f1 \/ F2, G1 \/ G2, H1 /\ H2) :- al2nnf(f1,g1,h1), al2nnf(f2,g2,h2). al2nnf(f1 => F2, H1 \/ G2, G1 /\ H2) :- al2nnf(f1,g1,h1), al2nnf(f2,g2,h2). 3.4 Operationelle Semantik Deklarative vs. Operationelle Semantik Folie 195 Die deklarative Semantik von Logikprogrammen beruht auf einer logischen Interpretation von Programmen (Regeln als Implikationen) und logischer Deduktion. Jetzt werden wir dieser deklarativen Semantik eine operationelle Semantik gegenüberstellen, indem wir einen Algorithmus angeben, der Programme ausführt (auf einem abstrakten, nichtdeterministischen Maschinenmodell). Dadurch legen wir ebenfalls die Antworten auf die Anfragen fest und weisen somit Programmen eine Bedeutung zu. Wir werden sehen, dass die deklarative Bedeutung von Programmen mit der operationellen übereinstimmt. 26. November 2014 Seite 129

8 Folie 196 Semantik von Programmiersprachen im Allgemeinen Generell unterscheidet man zwischen zwei Wegen, die Semantik von Programmiersprachen zu definieren: Die deklarative oder denotationelle Semantik ordnet Programmen Objekte in abstrakten mathematischen Räumen zu, in der Regel partielle Funktionen, oder im Fall von Logikprogrammen Mengen von Grundtermen. Zur Erinnerung: Die Bedeutung B(Π) eines Logik-Programms Π hatten wir definiert als die Menge aller Grundterme, die aus Π ableitbar sind. Die operationelle Semantik legt fest, wie Programme auf abstrakten Maschinenmodellen ausgeführt werden und bestimmt dadurch ihre Bedeutung. Folie 197 Notation PA := die Menge aller Atome PV := die Menge aller Variablen PK := die Menge aller Konstanten PT := die Menge aller Terme PF := die Menge aller Anfragen (d.h.: nicht-leere Listen von Termen) PR := die Menge aller Regeln PP := die Menge aller Logikprogramme Für jedes ξ aus PT PF PR PP bezeichnet Var(ξ) die Menge aller Variablen, die in ξ vorkommen. Ist S eine Substitution und α PF von der Form α 1,..., α m, so bezeichnet αs die Anfrage α 1 S,..., α m S. Entsprechend definieren wir für jede Regel ρ PR die Regel ρs. Seite November 2014

9 Beispiel. Ist ρ die Regel path(x,y) :- edge(x,z), path(z,y) dann ist Var(ρ) = {X, Y, Z}. Folie 198 Mehr über Substitutionen Zur Erinnerung: Eine Substitution ist eine partielle Abbildung S von PV nach PT. Den Definitionsbereich von S bezeichnen wir mit def(s), den Bildbereich mit bild(s). Die Verkettung zweier Substitutionen S und T ist die Substitution ST mit def(st ) = def(s) def(t ) und X(ST ) := (XS)T für alle X def(st ). Die Einschränkung einer Substitution S auf eine Menge V von Variablen ist die Substitution S V mit def(s V ) = def(s) V und XS V := XS für alle X def(s). Die leere Substitution bezeichnen wir mit I. Es gilt: θi = θ für alle θ PT, und IS = SI = S für alle Substitutionen S. Folie 199 Umbennungen Eine Umbenennung ist eine injektive partielle Abbildung von PV nach PV. Wegen PV PT, sind Umbenennungen spezielle Substitutionen. Eine Umbenennung für eine Menge V von Variablen ist eine Umbennung U mit def(u) = V. Ist U eine Umbennung, so bezeichnet U 1 ihre Umkehrung. Beispiel: U := {X Y, Y Z} ist eine Umbenennung für {X, Y}. U 1 = {Y X, Z Y} ist die Umkehrung von U. Folie November 2014 Seite 131

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

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

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

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

Formeln. Signatur. aussagenlogische Formeln: Aussagenlogische Signatur

Formeln. Signatur. aussagenlogische Formeln: Aussagenlogische Signatur Signatur Formeln Am Beispiel der Aussagenlogik erklären wir schrittweise wichtige Elemente eines logischen Systems. Zunächst benötigt ein logisches System ein Vokabular, d.h. eine Menge von Namen, die

Mehr

5 Logische Programmierung

5 Logische Programmierung 5 Logische Programmierung Logik wird als Programmiersprache benutzt Der logische Ansatz zu Programmierung ist (sowie der funktionale) deklarativ; Programme können mit Hilfe zweier abstrakten, maschinen-unabhängigen

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

1 Aussagenlogische Formeln

1 Aussagenlogische Formeln 1 Aussagenlogische Formeln Aufgabe 1.1 Transformieren Sie die Formel in disjunktive Normalform (DNF). ((:A! :B) ^ D)! ((A _ C) $ (:B ^ D)) Lösung 1.1 Schrittweise Transformation: Schritt 1: ((:A! :B) ^

Mehr

5. Aussagenlogik und Schaltalgebra

5. Aussagenlogik und Schaltalgebra 5. Aussagenlogik und Schaltalgebra Aussageformen und Aussagenlogik Boolesche Terme und Boolesche Funktionen Boolesche Algebra Schaltalgebra Schaltnetze und Schaltwerke R. Der 1 Aussagen Information oft

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

Grundlagen der Künstlichen Intelligenz

Grundlagen der Künstlichen Intelligenz Grundlagen der Künstlichen Intelligenz 27. Aussagenlogik: Logisches Schliessen und Resolution Malte Helmert Universität Basel 28. April 2014 Aussagenlogik: Überblick Kapitelüberblick Aussagenlogik: 26.

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

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

Grundlagen der Informationverarbeitung

Grundlagen der Informationverarbeitung Grundlagen der Informationverarbeitung Information wird im Computer binär repräsentiert. Die binär dargestellten Daten sollen im Computer verarbeitet werden, d.h. es müssen Rechnerschaltungen existieren,

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

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

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. Aufgaben: Diagnose, Entscheidungsunterstützung Aufbau Komponenten und Funktion

Was bisher geschah. Aufgaben: Diagnose, Entscheidungsunterstützung Aufbau Komponenten und Funktion Was bisher geschah Daten, Information, Wissen explizites und implizites Wissen Wissensrepräsentation und -verarbeitung: Wissensbasis Kontextwissen Problemdarstellung fallspezifisches Wissen repräsentiert

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

Zusammenfassung. Satz. 1 Seien F, G Boolesche Ausdrücke (in den Variablen x 1,..., x n ) 2 Seien f : B n B, g : B n B ihre Booleschen Funktionen

Zusammenfassung. Satz. 1 Seien F, G Boolesche Ausdrücke (in den Variablen x 1,..., x n ) 2 Seien f : B n B, g : B n B ihre Booleschen Funktionen Zusammenfassung Zusammenfassung der letzten LV Einführung in die Theoretische Informatik Woche 6 Harald Zankl Institut für Informatik @ UIBK Wintersemester 2014/2015 Satz 1 Seien F, G Boolesche Ausdrücke

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

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

Tiramisu Deklarativ Aus Eigelb, Mascarpone und in Likör und Kaffee getränkten Biskuits hergestellte cremige Süßspeise

Tiramisu Deklarativ Aus Eigelb, Mascarpone und in Likör und Kaffee getränkten Biskuits hergestellte cremige Süßspeise Kapitel 3 Logik-Programmierung 3.1 Einführung Was statt Wie am Beispiel von Tiramisu Folie 145 Tiramisu Deklarativ Aus Eigelb, Mascarpone und in Likör und Kaffee getränkten Biskuits hergestellte cremige

Mehr

Theoretische Grundlagen des Software Engineering

Theoretische Grundlagen des Software Engineering Theoretische Grundlagen des Software Engineering 7: Einführung Aussagenlogik schulz@eprover.org Logisches Schließen 2 gold +1000, 1 per step, Beispiel: Jage den Wumpus Performance measure death 1000 10

Mehr

Semantic Web Technologies I!

Semantic Web Technologies I! www.semantic-web-grundlagen.de Semantic Web Technologies I! Lehrveranstaltung im WS11/12! Dr. Elena Simperl! DP Dr. Sebastian Rudolph! M.Sc. Anees ul Mehdi! www.semantic-web-grundlagen.de Logik Grundlagen!

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

Logik für Informatiker

Logik für Informatiker Logik für Informatiker 2. Aussagenlogik Teil 3 30.04.2012 Viorica Sofronie-Stokkermans Universität Koblenz-Landau e-mail: sofronie@uni-koblenz.de 1 Letztes Mal Aussagenlogik Syntax: welche Formeln? Semantik:

Mehr

Mai 2006. Hauptseminar: Nichtrelationale Datenbanken Historisch-Kulturwissenschaftliche Informationsverarbeitung Universität zu Köln

Mai 2006. Hauptseminar: Nichtrelationale Datenbanken Historisch-Kulturwissenschaftliche Informationsverarbeitung Universität zu Köln Hauptseminar: Nichtrelationale Historisch-Kulturwissenschaftliche Informationsverarbeitung Universität zu Köln Mai 2006 Was ist eine Datenbank? Erweiterung relationaler um eine Deduktionskomponente Diese

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

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

A.1 Schaltfunktionen und Schaltnetze

A.1 Schaltfunktionen und Schaltnetze Schaltfunktionen und Schaltnetze A. Schaltfunktionen und Schaltnetze 22 Prof. Dr. Rainer Manthey Informatik II Bedeutung des Binärsystems für den Rechneraufbau Seit Beginn der Entwicklung von Computerhardware

Mehr

Kapitel 1.3. Normalformen aussagenlogischer Formeln. Mathematische Logik (WS 2010/11) Kapitel 1.3: Normalformen 1 / 1

Kapitel 1.3. Normalformen aussagenlogischer Formeln. Mathematische Logik (WS 2010/11) Kapitel 1.3: Normalformen 1 / 1 Kapitel 1.3 Normalformen aussagenlogischer Formeln Mathematische Logik (WS 2010/11) Kapitel 1.3: Normalformen 1 / 1 Boolesche Formeln, Literale und Klauseln Eine Boolesche Formel ist eine aussagenlogische

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

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

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

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

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

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

Einführung in das Programmieren Prolog Sommersemester 2006. Teil 2: Arithmetik. Version 1.0

Einführung in das Programmieren Prolog Sommersemester 2006. Teil 2: Arithmetik. Version 1.0 Einführung in das Programmieren Prolog Sommersemester 2006 Teil 2: Arithmetik Version 1.0 Gliederung der LV Teil 1: Ein motivierendes Beispiel Teil 2: Einführung und Grundkonzepte Syntax, Regeln, Unifikation,

Mehr

Konjunktive und disjunktive Normalformen

Konjunktive und disjunktive Normalformen Konjunktive und disjunktive Normalformen Nachdem gesprochen wurde, wie man Boolesche Terme unter einer Belegung der Variablen interpretiert und dass somit jeder Boolesche Term eine Boolesche Funktion repräsentiert,

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

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

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

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

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

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

ÜBUNG ZUM GRUNDKURS LOGIK WS 2015/16 GÜNTHER EDER

ÜBUNG ZUM GRUNDKURS LOGIK WS 2015/16 GÜNTHER EDER ÜBUNG ZUM GRUNDKURS LOGIK WS 2015/16 GÜNTHER EDER SPARSAMKEIT BEI DER WAHL DER JUNKTOREN Wie sich mit Wahrheitstaeln zeigen lässt, benötigen wir nicht gar nicht alle Junktoren die oiziell in unserer Sprache

Mehr

Bisher. minimale DNF. logischen Formeln Booleschen Funktionen Schaltungen

Bisher. minimale DNF. logischen Formeln Booleschen Funktionen Schaltungen Bisher Klassische Aussagenlogik (Syntax, Semantik) semantische Äquivalenz von Formeln äquivalentes Umformen von Formeln (syntaktisch) Normalformen: NNF, DNF, CNF, kanonische DNF und CNF Ablesen kanonischer

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

Was bisher geschah. deklarative Programmierung. funktionale Programmierung (Haskell):

Was bisher geschah. deklarative Programmierung. funktionale Programmierung (Haskell): Was bisher geschah deklarative Programmierung funktional: Programm: Menge von Termgleichungen, Term Auswertung: Pattern matsching, Termumformungen logisch: Programm: Menge von Regeln (Horn-Formeln), Formel

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

Programmierung und Modellierung

Programmierung und Modellierung Programmierung und Modellierung Terme, Suchbäume und Pattern Matching Martin Wirsing in Zusammenarbeit mit Moritz Hammer SS 2009 2 Inhalt Kap. 7 Benutzerdefinierte Datentypen 7. Binärer Suchbaum 8. Anwendung:

Mehr

der einzelnen Aussagen den Wahrheitswert der zusammengesetzten Aussage falsch falsch falsch falsch wahr falsch wahr falsch falsch wahr wahr wahr

der einzelnen Aussagen den Wahrheitswert der zusammengesetzten Aussage falsch falsch falsch falsch wahr falsch wahr falsch falsch wahr wahr wahr Kapitel 2 Grundbegriffe der Logik 2.1 Aussagen und deren Verknüpfungen Eine Aussage wie 4711 ist durch 3 teilbar oder 2 ist eine Primzahl, die nur wahr oder falsch sein kann, heißt logische Aussage. Ein

Mehr

Was bisher geschah Wissensrepräsentation und -verarbeitung in Zustandsübergangssystemen Constraint-Systemen Logiken Repräsentation von Mengen

Was bisher geschah Wissensrepräsentation und -verarbeitung in Zustandsübergangssystemen Constraint-Systemen Logiken Repräsentation von Mengen Was bisher geschah Wissensrepräsentation und -verarbeitung in Zustandsübergangssystemen Constraint-Systemen Logiken Repräsentation von Mengen aussagenlogischer Regeln: Wissensbasis (Kontextwissen): Formelmenge,

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

Formale Sprachen, reguläre und kontextfreie Grammatiken

Formale Sprachen, reguläre und kontextfreie Grammatiken Formale Sprachen, reguläre und kontextfreie Grammatiken Alphabet A: endliche Menge von Zeichen Wort über A: endliche Folge von Zeichen aus A A : volle Sprache über A: Menge der A-Worte formale Sprache

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. Formale Methoden der Informatik WiSe 2010/2011 teil 7, folie 1 (von 50)

Aussagenlogik. Formale Methoden der Informatik WiSe 2010/2011 teil 7, folie 1 (von 50) Aussagenlogik Formale Methoden der Informatik WiSe 2/2 teil 7, folie (von 5) Teil VII: Aussagenlogik. Einführung 2. Boolesche Funktionen 3. Boolesche Schaltungen Franz-Josef Radermacher & Uwe Schöning,

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

Lernziele: Ausgleichstechniken für binäre Bäume verstehen und einsetzen können.

Lernziele: Ausgleichstechniken für binäre Bäume verstehen und einsetzen können. 6. Bäume Lernziele 6. Bäume Lernziele: Definition und Eigenschaften binärer Bäume kennen, Traversierungsalgorithmen für binäre Bäume implementieren können, die Bedeutung von Suchbäumen für die effiziente

Mehr

Terme stehen für Namen von Objekten des Diskursbereichs (Subjekte, Objekte des natürlichsprachlichen Satzes)

Terme stehen für Namen von Objekten des Diskursbereichs (Subjekte, Objekte des natürlichsprachlichen Satzes) Prädikatenlogik Man kann den natürlichsprachlichen Satz Die Sonne scheint. in der Prädikatenlogik beispielsweise als logisches Atom scheint(sonne) darstellen. In der Sprache der Prädikatenlogik werden

Mehr

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

Motivation. Formale Grundlagen der Informatik 1 Kapitel 19. Syntax & Semantik. Motivation - Beispiel. Motivation - Beispiel Motivation Formale Grundlagen der Informatik 1 Kapitel 19 & Die ist eine Erweiterung der Aussagenlogik. Sie hat eine größere Ausdrucksstärke und erlaub eine feinere Differenzierung. Ferner sind Beziehungen/Relationen

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

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

Grundbegriffe der Informatik

Grundbegriffe der Informatik Grundbegriffe der Informatik Einheit 3: Alphabete (und Relationen, Funktionen, Aussagenlogik) Thomas Worsch Universität Karlsruhe, Fakultät für Informatik Oktober 2008 1/18 Überblick Alphabete ASCII Unicode

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

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

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

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

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

Formale Systeme, WS 2012/2013 Lösungen zu Übungsblatt 4

Formale Systeme, WS 2012/2013 Lösungen zu Übungsblatt 4 Karlsruher Institut für Technologie Institut für Theoretische Informatik Prof. Dr. Peter H. Schmitt David Farago, Christoph Scheben, Mattias Ulbrich Formale Systeme, WS 2012/2013 Lösungen zu Übungsblatt

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

Logik & Semantik 7. Vorlesung Prädikatenlogik 1. Syntax der Prädikatenlogik Semantik der Prädikatenlogik: Grundbegriffe (Variablen-)Substitutionen

Logik & Semantik 7. Vorlesung Prädikatenlogik 1. Syntax der Prädikatenlogik Semantik der Prädikatenlogik: Grundbegriffe (Variablen-)Substitutionen Logik & Semantik 7. Vorlesung Prädikatenlogik 1 Syntax der Prädikatenlogik Semantik der Prädikatenlogik: Grundbegriffe (Variablen-)Substitutionen 1 Definition eines logischen Systems: Generelles Schema

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

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

1 Syntax von Programmiersprachen

1 Syntax von Programmiersprachen 1 Syntax von Programmiersprachen Syntax ( Lehre vom Satzbau ): formale Beschreibung des Aufbaus der Worte und Sätze, die zu einer Sprache gehören; im Falle einer Programmier-Sprache Festlegung, wie Programme

Mehr

Formale Systeme. Binary Decision Diagrams. Prof. Dr. Bernhard Beckert WS 2010/2011 KIT INSTITUT FÜR THEORETISCHE INFORMATIK

Formale Systeme. Binary Decision Diagrams. Prof. Dr. Bernhard Beckert WS 2010/2011 KIT INSTITUT FÜR THEORETISCHE INFORMATIK Formale Systeme Prof. Dr. Bernhard Beckert WS / KIT INSTITUT FÜR THEORETISCHE INFORMATIK KIT University of the State of Baden-Württemberg and National Large-scale Research Center of the Helmholtz Association

Mehr

Theorie der Informatik

Theorie der Informatik Theorie der Informatik 6. Formale Sprachen und Grammatiken Malte Helmert Gabriele Röger Universität Basel 17. März 2014 Einführung Beispiel: Aussagenlogische Formeln Aus dem Logikteil: Definition (Syntax

Mehr

Teil 7. Grundlagen Logik

Teil 7. Grundlagen Logik Teil 7 Grundlagen Logik Was ist Logik? etymologische Herkunft: griechisch bedeutet Wort, Rede, Lehre (s.a. Faust I ) Logik als Argumentation: Alle Menschen sind sterblich. Sokrates ist ein Mensch. Also

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

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

Wissensbasierte Systeme/ Expertensysteme. Teil 2

Wissensbasierte Systeme/ Expertensysteme. Teil 2 Wissensbasierte Systeme/ Expertensysteme Teil 2 BiTS, Sommersemester 2004 Dr. Stefan Kooths KOOTHS BiTS: Wissensbasierte Systeme/Expertensysteme Teil 2 1 Gliederung 1. Einführung und Einordnung 2. Entscheidungsunterstützung(ssysteme)

Mehr

Grundlagen der Theoretischen Informatik - Sommersemester 2012. Übungsblatt 1: Lösungsvorschläge

Grundlagen der Theoretischen Informatik - Sommersemester 2012. Übungsblatt 1: Lösungsvorschläge Lehrstuhl für Softwaretechnik und Programmiersprachen Professor Dr. Michael Leuschel Grundlagen der Theoretischen Informatik - Sommersemester 2012 Übungsblatt 1: Lösungsvorschläge Disclaimer: Bei Folgendem

Mehr

2.2.4 Logische Äquivalenz

2.2.4 Logische Äquivalenz 2.2.4 Logische Äquivalenz (I) Penélope raucht nicht und sie trinkt nicht. (II) Es ist nicht der Fall, dass Penélope raucht oder trinkt. Offenbar behaupten beide Aussagen denselben Sachverhalt, sie unterscheiden

Mehr

Was ist Logische Programmierung?

Was ist Logische Programmierung? Was ist Logische Programmierung? Die Bedeutung eines Computer-Programms kann durch Logik erklärt werden. Die Idee der logischen Programmierung besteht darin, die Logik eines Programms selber als Programm

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

4. Induktives Definieren - Themenübersicht

4. Induktives Definieren - Themenübersicht Induktives Definieren 4. Induktives Definieren - Themenübersicht Induktives Definieren Natürliche Zahlen Operationen auf natürlichen Zahlen Induktive Algorithmen Induktiv definierte Mengen Binärbäume Boolesche

Mehr

Mathematik-Vorkurs für Informatiker Aussagenlogik 1

Mathematik-Vorkurs für Informatiker Aussagenlogik 1 Christian Eisentraut & Julia Krämer www.vorkurs-mathematik-informatik.de Mathematik-Vorkurs für Informatiker Aussagenlogik 1 Aufgabe 1. (Wiederholung wichtiger Begriffe) Notieren Sie die Definitionen der

Mehr

Binäre Bäume Darstellung und Traversierung

Binäre Bäume Darstellung und Traversierung Binäre Bäume Darstellung und Traversierung Name Frank Bollwig Matrikel-Nr. 2770085 E-Mail fb641378@inf.tu-dresden.de Datum 15. November 2001 0. Vorbemerkungen... 3 1. Terminologie binärer Bäume... 4 2.

Mehr

Theoretische Grundlagen des Software Engineering

Theoretische Grundlagen des Software Engineering Theoretische Grundlagen des Software Engineering 9: Prädikatenlogik schulz@eprover.org Rückblick 2 Rückblick: Vor- und Nachteile von Aussagenlogik Aussagenlogik ist deklarativ: Syntaxelemente entsprechen

Mehr

Einführung in die Fuzzy Logic

Einführung in die Fuzzy Logic Einführung in die Fuzzy Logic Entwickelt von L. Zadeh in den 60er Jahren Benutzt unscharfe (fuzzy) Begriffe und linguistische Variablen Im Gegensatz zur Booleschen Logik {0,} wird das ganze Intervall [0,]

Mehr

Entwicklung eines korrekten Übersetzers

Entwicklung eines korrekten Übersetzers Entwicklung eines korrekten Übersetzers für eine funktionale Programmiersprache im Theorembeweiser Coq Thomas Strathmann 14.01.2011 Gliederung 1 Einleitung

Mehr

Kapitel 11: Wiederholung und Zusammenfassung

Kapitel 11: Wiederholung und Zusammenfassung Wiederholung und Zusammenfassung 1: Begriff und Grundprobleme der Informatik Begriff Informatik Computer als universelle Rechenmaschine Grenzen der Berechenbarkeit Digitalisierung Problem der Komplexität

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

2. Universelle Algebra

2. Universelle Algebra 2. Universelle Algebra Die Theorie der universellen Algebra verallgemeinert die Theorien der klassischen Algebren. Obwohl ursprünglich nur eine Sorte betrachtet wurde, werden wir hier gleich den mehrsortigen

Mehr

5.1 Drei wichtige Beweistechniken... 55 5.2 Erklärungen zu den Beweistechniken... 56

5.1 Drei wichtige Beweistechniken... 55 5.2 Erklärungen zu den Beweistechniken... 56 5 Beweistechniken Übersicht 5.1 Drei wichtige Beweistechniken................................. 55 5. Erklärungen zu den Beweistechniken............................ 56 Dieses Kapitel ist den drei wichtigsten

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

Wiederholung ADT Menge Ziel: Verwaltung (Finden, Einfügen, Entfernen) einer Menge von Elementen

Wiederholung ADT Menge Ziel: Verwaltung (Finden, Einfügen, Entfernen) einer Menge von Elementen Was bisher geschah abstrakter Datentyp : Signatur Σ und Axiome Φ z.b. ADT Menge zur Verwaltung (Finden, Einfügen, Entfernen) mehrerer Elemente desselben Typs Spezifikation einer Schnittstelle Konkreter

Mehr

Was bisher geschah Chomsky-Hierarchie für Sprachen: L 0 Menge aller durch (beliebige) Grammatiken beschriebenen Sprachen L 1 Menge aller monotonen

Was bisher geschah Chomsky-Hierarchie für Sprachen: L 0 Menge aller durch (beliebige) Grammatiken beschriebenen Sprachen L 1 Menge aller monotonen Was bisher geschah Chomsky-Hierarchie für Sprachen: L 0 Menge aller durch (beliebige) Grammatiken beschriebenen Sprachen L 1 Menge aller monotonen (Kontextsensitive) Sprachen L 2 Menge aller kontextfreien

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