SWP Logische Programme Teil 2
|
|
- Friederike Pfaff
- vor 6 Jahren
- Abrufe
Transkript
1 SWP Logische Programme Teil 2 Bernhard Aichernig Institut für Softwaretechnologie aichernig@ist.tugraz.at Institute for Software Technology
2 Inhalt! Motivation! Logische Programme (LP)! Resolution! Unifikation! Ausblick: Datenbanken und logische Programme Semantik Institute for Software Technology 2
3 Syntax von LP! Seien t 1,..,t n Terme und sei p ein n-stelliges Prädikatensymbol, dann heißt p(t 1,..,t n ) Atomformel.! Ist p(t 1,..,t n ) eine Atomformel, dann ist p(t 1,..,t n ). ein Fakt.! Seien A 1,..,A k und A Atomformeln, dann ist der Ausdruck A := A 1,..,A k. eine Regel.! Programme in LP bestehen aus Fakten und Regeln.! Eine Anfrage für ein Programm ist von der Form := A 1,..,A k wenn A 1,..,A k Atomformeln sind. Institute for Software Technology 3
4 In PROLOG! Fakten:! mitarbeiter(a). mitarbeiter(b). mitarbeiter(c).! arbeitet_in_abteilung(a,1). arbeitet_in_abteilung(b, 2). arbeitet_in_abteilung(c,1).! leiter(1,c).! Regeln:! chef_von(x,y):- arbeitet_in_abteilung(x,a), arbeitet_in_abteilung(y,a), leiter(a,x), X\=Y.! Anfragen:! chef_von(a,b).! chef_von(c,a). Institute for Software Technology 4
5 Anmerkungen zur Syntax! Der Ausdruck A := A 1,..,A k. steht für die Implikation A 1.. A k A.! Ein logisches Programm in LP bestehend aus Fakten f 1,..,f n und Regeln r 1,..,r m kann durch den logischen Ausdruck f 1.. f n r 1.. r m dargestellt werden.! Die Anfrage := A 1,..,A k repräsentiert den logischen Ausdruck A 1.. A k (FALSUM)! Namenskonvention:! Variablen: beginnen mit Großbuchstaben! Konstanten, Funktionen und Prädikate: beginnen mit einem Kleinbuchstaben Institute for Software Technology 5
6 Weitere logische Äquivalenzen! A B ist äquivalent zu A B! Somit repräsentiert der Ausdruck! A 1.. A k A den Ausdruck A 1.. A k A! A 1.. A k den Ausdruck A 1.. A k! Anmerkung: Ausdrücke der Form B 1.. B k heißen Klause(l)n. Institute for Software Technology 6
7 ! Definition (Literal): Definitionen! Eine Atomformel und ihr Negat heißen auch Literale.! Positive Literale sind nicht-negierte Literale. Andernfalls, nennt man sie negative Literale.! Definition (Hornklausel): Eine Klausel der Form B 1.. B k heißt Hornklausel, wenn die Anzahl der positiven Literale B i maximal 1 ist.! LP: Programme in LP bestehen nur aus Hornklauseln. Institute for Software Technology 7
8 Hornklauselresolution! Übergang von logischen Schlüssen auf logische Ableitung! Ableitungsregel (für die Aussagenlogik!) [Anmerkung: Anfragen haben Form := P,P 1,...,P n ] Query/Goal Regel, Fakt := P, P 1,..,P n P := Q 1,..,Q m := Q 1,..,Q m, P 1,..,P n Resolvente = neue Query/Goal Beispiel folgt Institute for Software Technology 8
9 Beispiel für Resolution! Wissensbasis:! nass := regen. (R1)! regen :=. (R2)! Anfrage:! := nass (Q1) nass (Q1) regen nass (R1) regen (Q2) regen (R2) Institute for Software Technology 9
10 Erweiterung für Prädikatenlogik! Beispiel: vogel(x) := adler(x). adler(hansi):=. Anfrage: := vogel(hansi).! Ableitung nur durch Substitution möglich!! Substitution: Θ = { X hansi }! Anwendung von Θ ergibt: vogel(hansi) := adler(hansi) Institute for Software Technology 10
11 Ableitungsregel für LP! Resolutionsregel: Angenommen es gibt eine Substitution Θ mit: RΘ = PΘ dann kann folgende Resolutionsregel angewandt werden: Query/Goal Regel, Fakt := R, P 1,..,P n P := Q 1,..,Q m := Q 1 Θ,..,Q m Θ, P 1 Θ,..,P n Θ Resolvente = neue Query/Goal Institute for Software Technology 11
12 Resolution für LP! Wende Resolutionsregel ausgehend von der Anfrage solange an, bis ein Widerspruch ( ) ableitbar ist (wenn möglich). Ist dies der Fall, dann kann die Anfrage positiv beantwortet werden. Kann nicht abgeleitet werden, dann wird die Goalklause negativ beantwortet.! Anmerkung: Der Algorithmus zur Ableitung von terminiert sicher nur, wenn ableitbar ist (unerfüllbare Formel). Kann der Widerspruch nicht gefunden werden (bei einer erfüllbaren Formel), so muss der Algorithmus nicht terminieren!! Semi-Entscheidbarkeit des Erfüllbarkeitsproblems für Hornklausen. Institute for Software Technology 12
13 Aufbau der Resolution! Muster (Resolution): Query/Goal G 1 C 1 Regel, Fakt Resolventen G 2 C 2 Match durch Substitution G n C n G n+1 Im Erfolgsfall ist G n+1 = Institute for Software Technology 13
14 Idee der Substitution! Beispiel: Wie können die Literale nat(s(x)) und nat(s(s(0))) gleich gemacht werden?! Idee: Suche korrespondierende Paare! X und s(0) sind korrespondierende Paare im oberen Beispiel Institute for Software Technology 14
15 Was heißt Most General Unifier?! Beispiel: p(x) und p(y) können auf viele Arten gleich gemacht werden.! Θ 1 = {X a, Y a}! Θ 2 = {X Y}! Θ 3 = {Y X}! Θ 1 ist kein MGU! Θ 2 und Θ 3 sind beide MGUs Institute for Software Technology 15
16 Definition MGU! Eine Substitution Θ 1 ist genereller als eine Substitution Θ 2, wenn es eine Substitution Δ gibt, für die gilt: Θ 1 Δ = Θ 2! Beispiel: Θ 1 = {X Y} ist genereller als Θ 2 = {X a, Y a} da es eine Substitution {Y a} gibt, die die beiden gleich macht.! Eine Substitution ist ein MGU, wenn sie genereller als alle anderen Substitutionen ist.! Anmerkung: Ein MGU ist nicht unbedingt eindeutig! Institute for Software Technology 16
17 Algorithmus für MGU! Input: Atomformeln p, p und Θ! Informelle Beschreibung: (1) Suche erste Stelle des Unterschieds und ermittle die korrespondierenden Terme. Gibt es keinen Unterschied, gehe zu (4). (2) Analysiere die korrespondieren Terme: a) Ist kein Term eine Variable, dann STOP: nicht unifizierbar. b) Ist ein Term eine Variable X und der andere Term t enthält X, dann STOP: nicht unifizierbar. c) sonst weiter zu Punkt (3) Institute for Software Technology 17
18 Algorithmus (cont.) (3) Definiere neues p, p und Θ durch: p := p { X t }, p := p { X t }, Θ := Θ { X t } Gehe wieder zu (1) (4) STOP: Die Literale sind unifizierbar und Θ ist ein MGU. Institute for Software Technology 18
19 Beispiel für MGU Berechnung! p(x,f(x,g(z)),i) und! p (Y,f(V,W),V) Θ = {Y/X} p(x,f(x,g(z)),i); p (X,f(V,W),V) Θ = Θ {V/X} p(x,f(x,g(z)),i); p (X,f(X,W),X) Θ = Θ {W/g(Z)} p(x,f(x,g(z)),i); p (X,f(X,g(Z)),X) Θ = Θ {X/i} p(i,f(i,g(z)),i); p (i,f(i,g(z)),i) MGU={Y/X,V/X,W/g(Z), X/i} Institute for Software Technology 19
20 Resolution in LP :-chef_von(c,a). chef_von(x,y):- arbeitet_in_abteilung(x,a), arbeitet_in_abteilung(y,a), leiter(a,x), X\=Y. Θ = {X/c,Y/a} :-arbeitet_in_abteilung(c,a), arbeitet_in_abteilung(c,1). arbeitet_in_abteilung(a,a), leiter(a,c), c\=a. Θ = {A/1} :-arbeitet_in_abteilung(a,1), arbeitet_in_abteilung(a,1). leiter(1,c), c\=a. Θ = {} :-leiter(1,c), c\=a. leiter(1,c). Θ = {} :-c\=a. c\=a. Θ = {} Institute for Software Technology 20
21 Resolution in LP (Variable in Abfrage) :-chef_von(z,a). chef_von(x,y):- arbeitet_in_abteilung(x,a), arbeitet_in_abteilung(y,a), leiter(a,x), X\=Y. Θ = {Z/X,Y/a} :-arbeitet_in_abteilung(x,a), arbeitet_in_abteilung(c,1). arbeitet_in_abteilung(a,a), leiter(a,x), X\=a. Θ = {X/c, A/1} :-arbeitet_in_abteilung(a,1), arbeitet_in_abteilung(a,1). leiter(1,c), c\=a. Θ = {} :-leiter(1,c), c\=a. leiter(1,c). Θ = {} :-c\=a. c\=a. Θ = {} Gefundene Belegung für Z: {Z/X, X/c}, d.h.: Z=c Institute for Software Technology 21
22 :-s(x,y). s(k,l) :- k(k,l), r(l,m). Θ = {X/K,Y/L} Resolution: weiteres Beispiel :- k(k,l), r(l,m). k(x1,y1) :- a(x1,u), b(u,y1). Θ = {K/X1,L/Y1} :- a(x1,u), b(u,y1), r(y1,m). a(1,2). Θ = {X1/1,U/2} a(1,2). a(1,9). b(2,3). b(3,4). c(1,3). c(9,9). c(3,3). b(5,5). r(3,2). k(x1,y1) :- a(x1,u), b(u,y1). s(k,l) :- k(k,l), r(l,m). :- b(2,y1), r(y1,m). b(2,3). Θ = {Y1/3} Θ = {X/K,Y/L, K/X1,L/Y1, X1/1, U/2, Y1/3, M/2} X=1 Y=3 :- r(3,m). r(3,2). Θ = {M/2} Institute for Software Technology 22
23 Resolution: weiteres Beispiel (Abfrage ohne positives Ergebnis) :-s(2,2). s(k,l) :- k(k,l), r(l,m). Θ = {K/2,L/2} :- k(2,2), r(2,m). k(x1,y1) :- a(x1,u), b(u,y1). Θ = {X1/2,Y1/2} :- a(2,u), b(u,2), r(2,m). no. a(1,2). a(1,9). b(2,3). b(3,4). c(1,3). c(9,9). c(3,3). b(5,5). r(3,2). k(x1,y1) :- a(x1,u), b(u,y1). s(k,l) :- k(k,l), r(l,m). Institute for Software Technology 23
24 Resolution: Variablenbenennung! Gültigkeitsbereich einer Variable ist immer die Klausel! Kommt Variable X in zwei Klauseln vor, so sind das verschiedene Variable ( Unique Namespace Property )! MGU Berechnung setzt voraus, dass Literale disjunkte Variablen aufweisen! Beispiel:! p(x,1,y); p (X,1,Y) bspw. Umformung in! p(x,1,y); p (X1,1,Y1) Institute for Software Technology 24
25 Logische Programmierung und Datenbanken! Die Datenbank speichert Fakten! Beispiel: Datenbank von Zugverbindungen! Anmerkungen: 1. In Datenbank werden nur positive Fakten gespeichert! Es wird nicht gesagt, dass z.b. kein Zug um 10 Uhr von Graz nach Wien fährt. 2. Logische Programme und Anfragen können als Datenbankabfragen (Queries) gesehen werden. Institute for Software Technology 25
26 Beispieldatenbank / Zugsverbindungen Von Nach Uhrzeit Graz Wien 8 Graz Bruck 9 Bruck Wien 10 Graz Klagenfurt Institute for Software Technology 26
27 Anfrage! Gibt es einen Zug von Graz nach Wien?! Formal: := connection(graz,wien)! Programm notwendig: connection(x,y) := directconnection(x,y). connection(x,y) := directconnection(x,z), connection(z,y).! Das Prädikat directconnection wird durch Datenbank direkt bestimmt. Institute for Software Technology 27
28 Literatur! C.L. Chang, R.C.T. Lee, Symbolic Logic and Mechanical Theorem Proving, Academic Press, 1973.! L. Sterling, E. Shapiro, The Art of Prolog: Advanced Programming Techniques MIT Press, 2nd Edition, Institute for Software Technology 28
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:
MehrInhalt. SWP Logische Programme. Motivation. Formalisierung. Wissensbasis. Bsp (Bibel)Verwandtschaften. Motivation Sprache LP
Inhalt SWP Logische Programme Franz Wotawa Institut für Softwaretechnologie wotawa@ist.tugraz.at Motivation Sprache LP Resolution Unifikation Datenbanken und logische Programme Semantik 2 Motivation Bsp
MehrGrundlagen 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
MehrSWP Logische Programme
SWP Logische Programme Alexander Felfernig, Stephan Gspandl Institut für Softwaretechnologie {alexander.felfernig,sgspandl}@ist.tugraz.at Institute for Software Technology Inhalt Motivation Logische Programme
MehrBeispiel. 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
MehrGrundlagen 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.
MehrLogik 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
MehrNormalformen 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) Ÿ ÿ
Mehr3. 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,
MehrWissensreprä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)
MehrGliederung. Programmierparadigmen. Einführung in Prolog: Einführung in Prolog: Programmieren in Prolog. Einführung Syntax Regeln Listen Relationen
Gliederung Programmierparadigmen Programmieren in Prolog D. Rösner Institut für Wissens- und Sprachverarbeitung Fakultät für Informatik Otto-von-Guericke Universität Magdeburg 1 Sommer 2011, 26. April
MehrLogic 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
MehrAussagenlogik 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
MehrMusterlösung der Klausur zur Vorlesung Logik für Informatiker
Musterlösung der Klausur zur Vorlesung Logik für Informatiker Bernhard Beckert Christoph Gladisch Claudia Obermaier Arbeitsgruppe Künstliche Intelligenz Fachbereich Informatik, Universität Koblenz-Landau
MehrÜ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
MehrProf. 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
MehrAussagenlogik 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
MehrLogische 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
MehrProlog 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:
MehrBinä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.
MehrWissensbasierte 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
Mehr3. 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
MehrTU5 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 ;)
MehrLogische Programmierung
Logische Programmierung B-82 Deklaratives Programmieren in Prädikatenlogik: Problem beschreiben statt Algorithmus implementieren (idealisiert). Grundlagen: Relationen bzw. Prädikate (statt Funktionen);
MehrEntscheidungsverfahren für Bernays/Schönfinkelbzw. Datenlogik-Formeln
Vorlesung Letz WS 2002/2003 TU München: Logikbasierte Entscheidungsverfahren Entscheidungsverfahren für Bernays/Schönfinkelbzw. Datenlogik-Formeln INHALTE Die Bernays-Schönfinkel-Klasse bzw. Datenlogik-Formeln
MehrResolutionsalgorithmus
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:
MehrDiskrete 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
MehrFormale 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
Mehr8. Logische Programmierung. Prolog Sprachkonstrukte: Fakten. Prolog Übersicht
8. Logische Programmierung GPS-8-1 Übersicht zur logischen Programmierung GPS-8-2 Themen dieses Kapitels: Deklaratives Programmieren: Problem beschreiben statt Algorithmus implementieren (idealisiert).
MehrÜ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
MehrTeil 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
MehrPROLOG. Tutorium zur Vorlesung Datenbanken und Wissensrepräsentation (Prof. Dr. G. Büchel)
PROLOG Tutorium zur Vorlesung Datenbanken und Wissensrepräsentation (Prof. Dr. G. Büchel) Stand: April 2010 Verfasser: Dipl.-Ing. (FH) Andreas W. Lockermann Vorwort Der Name PROLOG leitet sich aus den
MehrFixpunktsemantik 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
MehrWissensbasierte 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)
MehrHilbert-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
MehrHauptklausur zur Vorlesung Logik für Informatiker im Sommersemester 2012 Lösung
Universität Koblenz-Landau FB 4 Informatik Prof. Dr. Viorica Sofronie-Stokkermans 23.07.2012 Dipl.-Inform. Markus Bender Hauptklausur zur Vorlesung Logik für Informatiker im Sommersemester 2012 Lösung
MehrSpezifikation in Datalog:
Spezifikation in Datalog: darf_hinzufügen (X,W) :- editiert (Z,W), hat_mitglied (Z,X). darf_löschen (X,E) :- besitzt (X,E). darf_modifizieren (X,E) :- besitzt (X,E). darf_modifizieren (X,E) :- besitzt
MehrDatenstruktur zum Speichern einer endlichen Menge M von Zahlen. Genauer:
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.
MehrAufgabe - Fortsetzung
Aufgabe - Fortsetzung NF: Nicht-Formel F: Formel A: Aussage x :( y : Q(x, y) R(x, y)) z :(Q(z, x) R(y, z)) y :(R(x, y) Q(x, z)) x :( P(x) P(f (a))) P(x) x : P(x) x y :((P(y) Q(x, y)) P(x)) x x : Q(x, x)
MehrProgram = Logic + Control
Program = Logic + Control Prozedurale/imperative Sprachen: Abläufe formulieren Computer führt aus von-neumann-maschine Idee von deklarativen/logischen/funktionalen Programmiersprachen: Zusammenhänge formulieren
MehrSS2010 BAI2-LBP Gruppe 1 Team 07 Entwurf zu Aufgabe 4. R. C. Ladiges, D. Fast 10. Juni 2010
SS2010 BAI2-LBP Gruppe 1 Team 07 Entwurf zu Aufgabe 4 R. C. Ladiges, D. Fast 10. Juni 2010 Inhaltsverzeichnis 4 Aufgabe 4 3 4.1 Sich mit dem Programmpaket vertraut machen.................... 3 4.1.1 Aufgabenstellung.................................
MehrFakultä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.
MehrProlog. Vertiefungsmodul Programmiersprachen. VM Programmiersprachen - Prolog. Florian Kleene
Prolog Vertiefungsmodul Programmiersprachen VM Programmiersprachen - Prolog Florian Kleene Entstehung und Geschichte Aufbau von Prolog Programmen Fakten Regeln Anfragen Funktionsweise des Interpreters
MehrAlgorithmen 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
MehrVorlesung: Künstliche Intelligenz
Vorlesung Fachbereich Mathematik/Informatik AG Vorlesung: - Logisches Schließen - P LS ES Marco Block-Berlitz 1 Vorlesung Fachbereich Mathematik/Informatik AG Inhaltliche Planung für die Vorlesung 1) Definition
MehrBachelor Grundlagen der Logik und Logikprogrammierung 12. Februar 2009 3
Bachelor Grundlagen der Logik und Logikprogrammierung 12. Februar 2009 3 Aufgabe 1 (20 Punkte) Dialogische Logik a) Was isteine formal wahrebehauptung? Welche Aussageschematasindallgemeingültig? b) Überprüfen
MehrMai 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
MehrGrundlagen 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
MehrTeil 8. Resolution und Prädikatenlogik erster Stufe
Teil 8 Resolution und Prädikatenlogik erster Stufe Widerlegungsbeweise Grundidee Widerlegungsbeweise: Wir wollen beweisen, dass aus einer gegebenen Formelmenge Φ eine Behauptung (Formel) φ semantisch folgt.
MehrAlphabet, formale Sprache
n Alphabet Alphabet, formale Sprache l nichtleere endliche Menge von Zeichen ( Buchstaben, Symbole) n Wort über einem Alphabet l endliche Folge von Buchstaben, die auch leer sein kann ( ε leere Wort) l
MehrI. 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
MehrPrä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
MehrMathematik-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
MehrProlog-Strukturen. bersicht. Woraus besteht ein Prolog-Programm? EinfŸhren wichtiger Begriffe Verschiedene Arten von Termen Unifikation
Prolog-Strukturen bersicht Woraus besteht ein Prolog-Programm? Fakten, Regeln und Anfragen Kommentare EinfŸhren wichtiger Begriffe Verschiedene Arten von Termen Unifikation Was ist Unifikation? Unifikation
MehrResolution (1) Wir versuchen, durch eine Substitution die Variablen in geeigneter Weise durch Terme zu ersetzen, so dass beide Atome gleich werden.
Resolution (1) Voraussetzung: Klauselform Beispiel: { P(x, f (y))} {P(z, f (g(z)))} Aus dieser Klauselmenge können wir nur dann die leere Klausel ableiten, wenn es uns gelingt, die beiden Atome P(x, f
MehrEinführung in PROLOG. Christian Stocker
Einführung in PROLOG Christian Stocker Inhalt Was ist PROLOG? Der PROLOG- Interpreter Welcher Interpreter? SWI-Prolog Syntax Einführung Fakten, Regeln, Anfragen Operatoren Rekursion Listen Cut Funktionsweise
MehrSyntax 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)
MehrVorsemesterkurs Informatik
Vorsemesterkurs Informatik Vorsemesterkurs Informatik Mario Holldack WS2015/16 30. September 2015 Vorsemesterkurs Informatik 1 Einleitung 2 Aussagenlogik 3 Mengen Vorsemesterkurs Informatik > Einleitung
MehrPrü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
MehrGrundlagen der Theoretischen Informatik
Grundlagen der Theoretischen Informatik Sommersemester 2015 22.04.2015 Viorica Sofronie-Stokkermans e-mail: sofronie@uni-koblenz.de 1 Bis jetzt 1. Terminologie 2. Endliche Automaten und reguläre Sprachen
MehrLogische Programmierung
1. Vorbemerkungen 1-1 Logische Programmierung Stefan Brass Institut für Informatik Fachgebiet Datenbanken und Informationssysteme Prof. Dr. Udo W. Lipeck 1. Vorbemerkungen 1-2 Organisatorisches Sprechstunde:
MehrKlassische Aussagenlogik
Eine Einführung in die Logik Schon seit Jahrhunderten beschäftigen sich Menschen mit Logik. Die alten Griechen und nach ihnen mittelalterliche Gelehrte versuchten, Listen mit Regeln zu entwickeln, welche
MehrSeminarvortrag Axiomatische Theorien in der Logik
Technische Universität Clausthal Institut für Informatik Sommersemester 2004 Seminarvortrag Axiomatische Theorien in der Logik im Themenkomplex II: Information und Logik Hauptseminar Theoretische Informatik
MehrProlog by example. Carsten Rösnick
Prolog by example Carsten Rösnick Was ist Prolog? Programmation en Logique (1970er) Nutzer erstellt Datenbasis Definiert, was gilt in seinem Universum Closed-world assumption Inferenz Grundlagen (1) Ein
Mehr5 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
MehrTheoretische Informatik SS 03 Übung 11
Theoretische Informatik SS 03 Übung 11 Aufgabe 1 Zeigen Sie, dass es eine einfachere Reduktion (als die in der Vorlesung durchgeführte) von SAT auf 3KNF-SAT gibt, wenn man annimmt, dass die Formel des
MehrMengen. Eigenschaften. Spezielle Mengen (1) Prominente Mengen. ! Mengenzugehörigkeit
Mengen! Definition (Intuitive Mengenlehre) Eine Menge ist die Zusammenfassung von Elementen unserer Anschauung zu einem wohldefinierten Ganzen. (Georg Cantor)! Notation 1. Aufzählung aller Elemente: {
MehrProlog = Programmierung in Logik (Roussell, Colmerauer, 1973/74)
Logikprogrammierung Historie: Philosophie / Mathematik Künstliche Intelligenz Praktische Programmiersprache: Prolog = Programmierung in Logik (Roussell, Colmerauer, 1973/74) Grundidee: Ein Programm ist
MehrGrundlagen der Theoretischen Informatik
Grundlagen der Theoretischen Informatik Sommersemester 2015 23.04.2015 Viorica Sofronie-Stokkermans e-mail: sofronie@uni-koblenz.de 1 Bis jetzt 1. Terminologie 2. Endliche Automaten und reguläre Sprachen
Mehr-ein Mustervergleicher ist ein Programm, das überprüft, ob ein Datum zu einem gegebenen Muster passt.
Thema: Wie ein beispielhaftes Query-System funktioniert Vortragender: Petar Tonev 1. Vorworte - - Ziele und Aufgaben des Vortrags klären wie das für Beispiel verwendete Anfragesystem die Herleitung musterbasierter
MehrErsetzbarkeitstheorem
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
MehrInferenzmethoden. Einheit 18. Logik höherer Stufe
Inferenzmethoden Einheit 18 Logik höherer Stufe 1. Syntax und Semantik 2. Simulation mathematischer Konstrukte 3. Beweisführung in Logik höherer Stufe Logik höherer Stufe Logik erster Stufe hat nur einfache
MehrGrundthema: Operationalisierung logischer Sprachen, d.h. automatische Ermittlung von Wahrheitswerten bzw. Beweis logischer Formeln.
2. Logikkalküle Grundthema: Operationalisierung logischer Sprachen, d.h. automatische Ermittlung von Wahrheitswerten bzw. Beweis logischer Formeln. 2.1 Aussagenlogik (Grundbegriffe) Aussagenlogische Formeln
MehrEinfü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
MehrBisher. 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
MehrZusammenfassung 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.
MehrMotivation. 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
MehrLogikprogrammierung. gehalten von Prof Dr. Jürgen Giesl im Sommersemester 2006 an der RWTH Aachen
Logikprogrammierung gehalten von Prof Dr. Jürgen Giesl im Sommersemester 2006 an der RWTH Aachen eine studentische Mitschrift von Florian Heller florian@heller-web.net Diese Mitschrift erhebt keinen Anspruch
MehrBoolesche 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
MehrSemantic 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!
MehrEiniges 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
MehrSemantik von Formeln und Sequenzen
Semantik von Formeln und Sequenzen 33 Grundidee der Verwendung von Logik im Software Entwurf Syntax: Menge von Formeln = Axiome Ax K ist beweisbar Formel ϕ beschreiben Korrektkeit Vollständigkeit beschreibt
MehrMathematik-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) Kategorie 1 Notieren Sie die Definitionen
MehrFormale Systeme. Aussagenlogik: Sequenzenkalkül. Prof. Dr. Bernhard Beckert WS 2010/2011 KIT INSTITUT FÜR THEORETISCHE INFORMATIK
Formale Systeme Prof. Dr. Bernhard Beckert WS 2010/2011 KIT INSTITUT FÜR THEORETISCHE INFORMATIK KIT University of the State of Baden-Württemberg and National Large-scale Research Center of the Helmholtz
MehrWas 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
Mehr3. 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).
MehrKlausur 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
MehrBrü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
MehrAuswahl 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
MehrVorlesung 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,
MehrEinführung in Prolog. Literatur
Einführung in Prolog Literatur Clocksin/Mellish Programming in Prolog Skript aus dem Kurs Max Hadersbeck Skript aus dem Kurs Hans Leiss Bratko Prolog Programming for Artificial Intelligence Prolog Lexikon
MehrBeschreibungslogiken. Daniel Schradick 1schradi@informatik.uni-hamburg.de
Beschreibungslogiken Daniel Schradick 1schradi@informatik.uni-hamburg.de Was sind Beschreibungslogiken? Definition: Formalisms that represent knowledge of some problem domain (the world ) by first defining
MehrSudoku. Warum 6? Warum 6?
. / Sudoku Füllen Sie die leeren Felder so aus, dass in jeder Zeile, in jeder Spalte und in jedem x Kästchen alle Zahlen von bis stehen.. / Warum?. / Warum?. / Geschichte der Logik Syllogismen (I) Beginn
MehrSemantic Web Technologies I Lehrveranstaltung im WS13/14
www.semantic-web-grundlagen.de Semantic Web Technologies I Lehrveranstaltung im WS13/14 Dr. Andreas Harth Dipl.-Inf. Martin Junghans Logik Grundlagen Einleitung und Ausblick XML und URIs Einführung in
MehrFormalisierung von Sudoku Formalisieren Sie das Sudoku-Problem:
Formalisierung von Sudoku Formalisieren Sie das Sudoku-Problem: 4 4 4 4 4 1 1 1 1 2 2 3 3 5 5 5 5 5 5 6 6 6 7 7 8 8 9 9 9 9 9 8 6 Verwenden Sie dazu eine atomare Formel A[n, x, y] für jedes Tripel (n,
MehrSatz. 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
MehrUmformung NTM DTM. Charakterisierung rek. aufz. Spr. Chomsky-3-Grammatiken (T5.3) Chomsky-0-Grammatik Rek. Aufz.
Chomsky-0-Grammatik Rek. Aufz. Satz T5.2.2: Wenn L durch eine Chomsky-0- Grammatik G beschrieben wird, gibt es eine NTM M, die L akzeptiert. Beweis: Algo von M: Schreibe S auf freie Spur. Iteriere: Führe
Mehrmathe plus Aussagenlogik Seite 1
mathe plus Aussagenlogik Seite 1 1 Aussagenlogik 1.1 Grundbegriffe Def 1 Aussage Eine Aussage ist ein beschriebener Sachverhalt, dem eindeutig einer der Wahrheitswerte entweder wahr oder falsch zugeordnet
MehrMütze und Handschuhe trägt er nie zusammen. Handschuhe und Schal trägt er immer zugleich. (h s) Modellierung als Klauselmenge
Was bisher geschah Klassische Aussagenlogik: Syntax Semantik semantische Äquivalenz und Folgern syntaktisches Ableiten (Resolution) Modellierung in Aussagenlogik: Wissensrepräsentation, Schaltungslogik,
MehrFormale Methoden II. Gerhard Jäger. SS 2008 Universität Bielefeld. Teil 8, 11. Juni 2008. Formale Methoden II p.1/30
Formale Methoden II SS 2008 Universität Bielefeld Teil 8, 11. Juni 2008 Gerhard Jäger Formale Methoden II p.1/30 Beispiele Anmerkung: wenn der Wahrheitswert einer Formel in einem Modell nicht von der Belegungsfunktion
Mehr