Programmiersprache Prolog
|
|
- Otto Jakob Mann
- vor 5 Jahren
- Abrufe
Transkript
1 Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel: 6.2 Logikprogrammierung Prolog 240 Programmiersprache Prolog Prolog-Programm ist Liste von Fakten (einelementige Hornklausel) und Regeln (mehrelementige Hornklauseln) Variablen beginnen mit Großbuchstaben oder Unterstrich Funktionen und Prädikate beginnen mit Kleinbuchstaben Bsp.: p(x,c,x). p(x,f(y),f(z)) :- p(x,y,z).
2 Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel: 6.2 Logikprogrammierung Prolog 241 Syntax Klauselform gemacht für Konjunktionen im Antezedent: iswitch(x) :- female(x), burnable(x), sameweight(x,duck). Disjunktionen im Antezedent modellierbar: A B C (A C) (B C) isparent(x,y) :- isfather(x,y). isparent(x,y) :- ismother(x,y). oder isparent(x,y) :- isfather(x,y); ismother(x,y).
3 Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel: 6.2 Logikprogrammierung Prolog 242 Anfragen Anfrage an ein Programm (besser: den Interpreter) stößt Berechnung an Anfrage = Liste von Prädikaten (Ziele, Goals) Bsp.: vert(point(x,y1),point(x,y2)). hori(point(x1,y),point(x2,y)). Anfrage P1 = point(3,4), P2 = point(2,5), vert(p1,z), horiz(p2,z).
4 Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel: 6.2 Logikprogrammierung Prolog 243 Semantik wie wird eine Anfrage unter einem Prolog-Programm ausgewertet? intuitiv: arbeite der Reihe nach alle Ziele der Anfrage ab zu jedem Ziel suche passende linke Seite (Unifikation!) einer Regel oder eines Fakts ersetze Ziel durch rechte Seite dieser Regel wende berechnete Substitution auf sämtliche Restziele an formal: SLD-Resolution mit jeweils erster passender Klausel
5 Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel: 6.2 Logikprogrammierung Prolog 244 SLD-Resolution in Prolog Abweichungen von einfacher SLD-Resolution: Prolog berechnet mehr als eine Antwort isadvisor(euler,lagrange). isadvisor(lagrange,fourier). isadvisor(lagrange,poisson). isadvisor(poisson,dirichlet)... isdescendant(x,y) :- isadvisor(y,x); isadvisor(y,z), isdescendant(x,z). Termination und Antworten abhängig von Klauselreihenfolge term1(x). term1(x) :- term1(f(x)). term2(x) :- term2(f(x)). term2(x). Termination und Antworten abhängig von Literalreihenfolge (ähnlich)
6 Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel: 6.2 Logikprogrammierung Prolog 245 Gleichheit beachte: Resolution lässt sich wie Sequenzenkalkül auf FO mit Gleichheit erweitern Prolog kennt auch Gleichheitsprädikat = Behandlung von Gleichheit bei SLD-Resolution besonders einfach bisher unbenutzte Klauseln werden so belassen bisherige Berechnung steckt ganz in Substitutionen aktueller Klausel Gleichheit wie definiertes Prädikat, welches Gleichheit auf Termen realisiert Bsp.: Was bewirken folgende Anfragen? s = s, s = t, X = X, X = Y?
7 Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel: 6.2 Logikprogrammierung Prolog 246 Unifikation in Prolog Prolog benutzt anderen Mechanismus als kennengelernte syntaktische Unifikation zur Erinnerung: x und f (x) nicht unifizierbar Grund: x kommt selbst in f (x) vor Unifikation ist Kern des Berechnungsmechanismus in Prolog wird ständig ausgeführt muss deswegen möglichst schnell gehen aus Effizienzgründen Verzicht auf Test auf Auftreten Bsp.: Anfrage X = f(x)
8 Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel: 6.2 Logikprogrammierung Prolog 247 Arithmetik Additionsbeispiel leicht in Prolog zu implemetieren: add(x,null,x). add(x,s(y),s(z)) :- add(x,y,z). Verwendung von abstrakten Termen jedoch unhandlich Prolog kennt auch arithmetische Operatoren +,-,* etc., Ausdruck 3+2*4 ist aber nur Term! was ist Antwort auf Anfrage 2+2 = 3+1? Addition also z.b. folgendermaßen; funktioniert das? add1(x,0,x). add1(x,y,z) :- add1(x,y-1,z-1).
9 Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel: 6.2 Logikprogrammierung Prolog 248 Arithmetik funktionierende Lösung: add2(x,0,z) :- Z is X. add2(x,y,z) :- V is Y-1, W is X+1, add2(w,v,z). beachte: Prädikat is ist Gleichheit auf arithmetischen Termen, nachdem rechte Seite ausgewertet wurde! Variablen darin müssen instanziiert sein was sollte bei folgenden Anfragen herauskommen? X is is X. X is X. 2+2 is 3+1. beachte: add kann auch subtrahieren, add2 aber nicht
10 Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel: 6.2 Logikprogrammierung Prolog 249 Listen brauchbare Programmiersprache muss Datenstrukturen zur Verfügung stellen einfachstes Beispiel: Listen sind prinzipiell über Terme modellierbar; Benutzung jedoch einfacher bei eingebautem Datentyp Listennotation: [0,2,4,[1,3],X,[3,Y]] leere Liste is [] Separation in Kopfteil und Restliste: [X Z], [X,Y Z], etc. Bsp.: extrahiere Listenelement an bestimmter Position atposition(x,[x ],P) :- 0 is P. atposition(x,[ T],P) :- atposition(x,t,p-1).
Logikprogrammierung. Berechnung durch Resolution Die Programmiersprache Prolog
Logikprogrammierung Berechnung durch Resolution Die Programmiersprache Prolog Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel: 6.1 Logikprogrammierung Berechnung durch Resolution 213 Resolution
MehrLogische und funktionale Programmierung
Logische und funktionale Programmierung Vorlesung 11: Logikprogramme Babeş-Bolyai Universität, Department für Informatik, Cluj-Napoca csacarea@cs.ubbcluj.ro 19. Dezember 2016 1/55 WIEDERHOLUNG: HORN-KLAUSELN
MehrAbstrakte Syntax von Prolog (1)
3. Prolog Syntax 3-1 Abstrakte Syntax von Prolog (1) Abstrakte und konkrete Syntax: Abstrakte Syntax: Nur Datenstrukturen, die der Parser anlegt (z.b. Operatorbaum). Konkrete Syntax: Zeichenketten, die
MehrLogisches und funktionales Programmieren
Prof. Dr. Christoph Beierle, Dr. Harald Ganzinger, Prof. Dr. Michael Hanus Kurs 01816 Logisches und funktionales Programmieren LESEPROBE Das Werk ist urheberrechtlich geschützt. Die dadurch begründeten
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
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: 4.9 Prädikatenlogik Resolution 207 Beispiel Bsp.: Betrachte Schlussweise in: 1 Wenn es regnet, dann wird die Straße nass. R N 2 Es regnet. R
MehrLogik-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:
MehrAussagenlogische 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
MehrEinführung in Prolog. Simon Bischof. IPD Snelting
Einführung in Prolog Simon Bischof IPD Snelting KIT Universität des Landes Baden-Württemberg und nationales Großforschungszentrum in der Helmholtz-Gemeinschaft www.kit.edu Terme id := [a-z][a-za-z0-9]*
MehrSWP Logische Programme Teil 2
SWP Logische Programme Teil 2 Bernhard Aichernig Institut für Softwaretechnologie aichernig@ist.tugraz.at Institute for Software Technology Inhalt! Motivation! Logische Programme (LP)! Resolution! Unifikation!
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
MehrGDI Medieninformatik. 13. VL: Einführung in die mathematische Logik Prädikatenlogik (II)
GDI Medieninformatik 13. VL: Einführung in die mathematische Logik Prädikatenlogik (II) Prädikatenlogik erster Stufe (FOL): Syntax: Sprachelemente 27.01.2008 GDI - Logik 2 FOL: Syntax 27.01.2008 GDI -
MehrGrundlagen der Kognitiven Informatik
Grundlagen der Kognitiven Informatik Resolutionskalkül und Prolog Ute Schmid Kognitive Systeme, Angewandte Informatik, Universität Bamberg letzte Änderung: 14. Dezember 2010 U. Schmid (CogSys) KogInf-Resolution
MehrA Closer Look. Datenobjekte in Prolog und Syntax Ablauf des internen Lösungsverfahrens (goal resolving) Vorausschau: Regression
A Closer Look Datenobjekte in Prolog und Syntax Ablauf des internen Lösungsverfahrens (goal resolving) Vorausschau: Regression Datenobjekte in Prolog Datenobjekte einfache Objekte Strukturen Konstanten
MehrÜbungen zu Kognitive Systeme I
Übungen zu Kognitive Systeme I Stephan Weller (Stephan.Weller@wiai.uni-bamberg.de) Kognitive Systeme / WIAI / Uni Bamberg 19. Oktober 2005 Inhalt Intro Was ist Prolog? Wie funktioniert Prolog? Rekursion
MehrWozu formale Logik? Programmiersprachen Logik im Fingerhut. Formeln. Logik im Fingerhut (24. Januar 2005) Belegung und Interpretation
Wozu formale Logik? Logik im Fingerhut Studiengang Informatik Universität Bremen präzise Beschreibung von Aussagen über die Welt bzw. über verschiedene Welten Ziehen und Überprüfen von Schlussfolgerungen
MehrLabor Compilerbau. Jan Hladik. Sommersemester DHBW Stuttgart. Jan Hladik (DHBW Stuttgart) Labor Compilerbau Sommersemester / 20
Labor Compilerbau Jan Hladik DHBW Stuttgart Sommersemester 2017 Jan Hladik (DHBW Stuttgart) Labor Compilerbau Sommersemester 2017 1 / 20 Resolution in der Prädikatenlogik testet Erfüllbarkeit (indirekt
MehrProlog. Modellieren in Prolog. Argumente eines Prädikates. Fakten
Prolog Idee (Kowalski 1979) Algorithmus = Logik + Kontrolle Logik: was ist das Problem? Kontrolle: wie lšse ich es geschickt? Sichtweisen: Theorembeweiser (Resolution) Datalog (Datenbankanfragesprache)
MehrSLD-Ableitungsbäume. G = B 1... B m. G die Menge aller SLD-Resolventen von G und definiten. G einen Nachfolger, der mit G markiert ist.
SLD-Ableitungsbäume Definition 5.48 Sei P ein definites Programm und G ein definites Ziel. Ein SLD-Ableitungsbaum ist ein Baum, der die folgenden Bedingungen erfüllt: 1. Jeder Knoten des Baums ist mit
MehrProgrammierung Paradigmen und Konzepte
Programmierung Paradigmen und Konzepte Mit 79 Bildern, 85 Beispielen, 130 Aufgaben und Kontrollfragen und 19 Referatsthemen Fachbuchverlag Leipzig im Carl Hanser Verlag 1 Einführung und Überblick 11 1.1
MehrWiederholung zur SLD-Resolution (1)
8. Korrektheit und Vollständigkeit der SLD-Resolution 8-1 Wiederholung zur SLD-Resolution (1) SLD-Resolution: Selektionsfunktion: Wählt Atom der Anfrage. Nächstes zu bearbeitendes Atom. Normalerweise einfach
MehrDas Programm ist deterministisch: es gibt für jedes Ziel höchstens eine Klausel, die zur erfolgreichen Ableitung des Zieles
Green Cuts Klauseln zum Mischen zweier geordneten Listen: merge ( [X Xs ], [Y Ys ], [X Zs ] ) : X < Y, merge ( Xs, [ Y Ys ], Zs ). (1) merge ( [X Xs ], [Y Ys ], [ X,Y Zs ] ) : X =:= Y, merge (Xs, Ys, Zs
MehrNeuronalen Netzen. Jens Lehmann. 1. März Institut für Künstliche Intelligenz Fakultät Informatik Technische Universität Dresden
Institut für Künstliche Intelligenz Fakultät Informatik Technische Universität Dresden 1. März 2005 Neurosymbolische Integration versucht künstliche neuronale Netze und Logikprogrammierung zu vereinen
MehrLogikprogrammierung und Prolog
3. Logikbasierte Wissensräpresentation und Inferenz Logikprogrammierung Logikprogrammierung und Prolog Das Idealbild der Logikprogrammierung: Algorithmus = Logik + Kontrolle Was? Wie? reine Problemspezifikation
MehrTeil 4: Rekursion und Listen
Einführung in das Programmieren Prolog Sommersemester 2006 Teil 4: Rekursion und Listen Version 1.0 Gliederung der LV Teil 1: Ein motivierendes Beispiel Teil 2: Einführung und Grundkonzepte Syntax, Regeln,
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:
MehrFragen zum Nachdenken: Wie könnte man das Fehlen eines Attribut-Wertes interpretieren?
Attribut-Werte-Paare Eine Eigenschaft kann beschrieben werden durch ein Paar [a,w]. Dabei bezeichnet a das Attribut und w den konkreten Wert aus dem Wertebereich W a des Attributs. Die Eigenschaften eines
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
MehrÜbungen zu Kognitive Systeme I
Übungen zu Kognitive Systeme I Kognitive Systeme / WIAI / Uni Bamberg 14. Oktober 2005 Inhalt 1 2 3 4 5 6 Ablauf der Übungen Ablauf SWI-Prolog Ab nächster Woche wird es Übungszettel geben Ablauf der Übungen
MehrTerme. Heute: Terme vergleichen. Struktur von Termen. Operatoren. Logik in der Praxis Logikprogrammierung (Prolog) p.1
Terme Heute: Terme vergleichen Struktur von Termen Operatoren Logik in der Praxis Logikprogrammierung (Prolog) p.1 Termgleichheit: ==?- a == a.?- a == b. no?- X == Y. no?- X == X.?- X == a. no Logik in
MehrLogische Programmierung & Deduktive Datenbanken Klausur
Prof. Dr. Stefan Brass 22. September 2011 Institut für Informatik MLU Halle-Wittenberg Logische Programmierung & Deduktive Datenbanken Klausur Name: Matrikelnummer: Studiengang: Aufgabe Punkte Max. Punkte
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
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
MehrUnifikation. T eine Menge von Termen. σ(t) einelementig ist. Definition: Unifikator. Eine Substitution σ ist Unifikator von T, falls
Unifikation Definition: Unifikator T eine Menge von Termen Eine Substitution σ ist Unifikator von T, falls σ(t) einelementig ist Logik für Informatiker, SS 06 p.12 Unifikation Definition: Unifikator T
MehrModellierungsmethoden der Informatik Kapitel 2: Logikkalküle
smethoden der Informatik Kapitel 2: Logikkalküle Prädikatenlogik 1. Stufe Norbert Fuhr Gudrun Fischer 29.11.2005 Organisatorisches Organisatorisches Klausur Termin: 20.2.2006, 13-15 Uhr, Audimax Anmeldung
MehrDeduktion in der Prädikatenlogik
Deduktion in der Prädikatenlogik Sprache der Prädikatenlogik ist mächtiger als die der Aussagenlogik; damit verändern sich die Deduktionssysteme natürliche Deduktion: Schlussregeln der Aussagenlogik gelten
Mehr3. Exkurs in weitere Arten der Programmierung
3. Exkurs in weitere Arten der Programmierung Inhalt: Objektorientierte Programmierung in C++ Funktional-Logische Programmierung in Prolog Funktional-logische Programmierung in Prolog Prolog Programming
Mehr(Logik und) Logikprogrammierung
Übungsaufgaben zur Lehrveranstaltung (Logik und) Logikprogrammierung im Studiengang Informatik Technische Universität Ilmenau Fakultät für Informatik und Automatisierung Fachgebiet Künstliche Intelligenz
MehrRekursive Listenverarbeitung
Rekursive Listenverarbeitung Übersicht Rekursion ist die wichtigste Programmiertechnik in Prolog! Rekursive Datenstrukturen Einfache und rekursiv gebildete Strukturen Rekursive Datenstrukturen und rekursive
MehrProlog Tutorial Norbert E. Fuchs Institut für Informatik Universität Zürich
Prolog Tutorial Norbert E. Fuchs Institut für Informatik Universität Zürich Inhalt Vom deklarativen Wissen zum prozeduralen Programm Vom Programm zur Berechnung Elemente eines Prolog-Programms Zugverbindungen
MehrTeil X.4. C vs. Pascal
Teil X.4 C vs. Pascal 1 Unterschiede im Typsystem (1) Einfache Typen C char int enum long float double Pascal Char Integer Word Longint Single Double Typdeklaration double summe; /* Var summe: Double;
MehrAussagenlogik. Motivation Syntax Semantik Erfüllbarkeit SAT-Solver Kompaktheit Beweiskalküle
Aussagenlogik Motivation Syntax Semantik Erfüllbarkeit SAT-Solver Kompaktheit Beweiskalküle Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel: 3.1 Aussagenlogik Syntax 22 Einführendes Beispiel
Mehr1 Inhalt der Vorlesung B-PS1
1 Inhalt der Vorlesung B-PS1 1.1 Tag 1 1.1.1 Vormittag Geschichte der Programmiersprachen Wie viele Programmiersprachen gibt es? https://en.wikipedia.org/wiki/list_of_programming_languages Esoterische
MehrBeachte: Mit n = 0 sind auch Konstanten Terme.
Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel: 4.2 Prädikatenlogik ohne Gleichheit Syntax und Semantik 107 Terme Ab sofort wird Signatur τ als festgelegt angenommen. Sei V = {x, y,...} Vorrat
MehrDer Sequenzenkalkül. Charakterisierung der logischen Schlussfolgerung: Sequenzenkalkül für die Prädikatenlogik
Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel: 4.6 Prädikatenlogik ohne Gleichheit Der Sequenzenkalkül 138 Der Sequenzenkalkül Charakterisierung der logischen Schlussfolgerung: Sequenzenkalkül
MehrEinführung in die Logik (Vorkurs)
Einführung in die Logik (Vorkurs) Jürgen Koslowski 2014-04-07 Ein Beispiel Familie A will im kommenden Jahr eine Waschmaschine, ein Auto und ein Moped anschaffen. Aber falls Herr A seinen üblichen Bonus
MehrProlog 4. Kapitel: Listen
Prolog 4. Kapitel: Listen Dozentin: Wiebke Petersen Kursgrundlage: Learn Prolog Now (Blackburn, Bos, Striegnitz) Petersen Prolog: Kapitel 4 1 Zusammenfassung Kapitel 3 Wir haben gelernt, dass die Rekursion
MehrModellierungsmethoden der Informatik Kapitel 2: Logikkalküle
smethoden der Informatik Kapitel 2: Logikkalküle Prädikatenlogik 1. Stufe Norbert Fuhr Gudrun Fischer 29.11.2005 Organisatorisches Organisatorisches Klausur Termin: 20.2.2006, 13-15 Uhr, Audimax Anmeldung
MehrEigenschaften 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,
MehrTeil 1: Ein motivierendes Beispiel
Einführung in das Programmieren Prolog Sommersemester 2006 Teil 1: Ein motivierendes Beispiel Version 1.0 Gliederung der LV Teil 1: Ein motivierendes Beispiel Teil 2: Einführung und Grundkonzepte Syntax,
MehrLogik Vorlesung 7: Grundlagen Prädikatenlogik
Logik Vorlesung 7: Grundlagen Prädikatenlogik Andreas Maletti 5. Dezember 2014 Überblick Inhalt 1 Motivation und mathematische Grundlagen 2 Aussagenlogik Syntax und Semantik Äquivalenz und Normalformen
Mehr2 Logikprogrammierung am Beispiel Prolog
2 Logikprogrammierung am Beispiel Prolog 2.1 Logikprogrammierung mit einfachen Daten 2.2 Variablenumbenennung 2.3 Syntax 2.4 Komplexe Daten 2.5 Der Cut 2.6 Negation als Fehlschlag 2.7 Literaturhinweise
MehrKurseinheit 1 Einführung und mathematische Grundlagen Aussagenlogik
Kurseinheit 1 Einführung und mathematische Grundlagen Aussagenlogik Fragen Seite Punkte 1. Was ist die Mathematische Logik? 3 2 2. Was sind die Aussagenlogik und die Prädikatenlogik? 5 4 3. Was sind Formeln,
MehrEigenschaften der SLD-Resolution
Eigenschaften der SLD-Resolution Vollständigkeit der SLD-Resolution für Hornklauseln Sei F eine inkonsistente Hornklauselmenge. Dann gibt es eine SLD-Widerlegung von F. Beweisskizze: Für inkonsistentes
MehrKünstliche Intelligenz Einführung in Prolog
Künstliche Intelligenz Einführung in Prolog Stephan Schwiebert WS 2009/20010 Sprachliche Informationsverarbeitung Institut für Linguistik Universität zu Köln Wiederholung: Prolog-Syntax Ein einfaches Expertensystem
MehrEinfü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Übung zu Kognitive Systeme I
Übung zu Kognitive Systeme I Prolog Stephan Weller (Stephan.Weller@wiai.uni-bamberg.de) Kognitive Systeme / WIAI / Uni Bamberg 1. November 2006 Inhalt Intro Was ist Prolog? Wie funktioniert Prolog? Rekursion
MehrSemantik von Programmiersprachen SS 2017
Lehrstuhl für Programmierparadigmen Denis Lohner Sebastian Ullrich denis.lohner@kit.edu sebastian.ullrich@kit.edu Semantik von Programmiersprachen SS 2017 http://pp.ipd.kit.edu/lehre/ss2017/semantik Lösungen
MehrLogische und funktionale Programmierung
Logische und funktionale Programmierung Vorlesung 8: Arithmetik, Listenprädikate, weitere Prolog Prädikate Babeş-Bolyai Universität, Department für Informatik, Cluj-Napoca csacarea@cs.ubbcluj.ro 1/67 ARITHMETIK
MehrInformatik 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
Mehr4.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
MehrTeil 8: Fortgeschrittene Techniken
Einführung in das Programmieren Prolog Sommersemester 2006 Teil 8: Fortgeschrittene Techniken Version 1.0 Gliederung der LV Teil 1: Ein motivierendes Beispiel Teil 2: Einführung und Grundkonzepte Syntax,
MehrIII.1 Prinzipien der funktionalen Programmierung - 1 -
1. Prinzipien der funktionalen Programmierung 2. Deklarationen 3. Ausdrücke 4. Muster (Patterns) 5. Typen und Datenstrukturen 6. Funktionale Programmiertechniken III.1 Prinzipien der funktionalen Programmierung
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
Mehrbisher Konsequenz Frage
bisher Ein Algorithmus, der uns verrät, wenn die Aussage F unerfüllbar ist: berechne die Skolemform und daraus die Klauselform versuche, die leere Klausel mittels prädikatenlogischer Resolution herzuleiten
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)
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) Ÿ ÿ
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
MehrEinführung in die Informatik: Programmierung und Software-Entwicklung, WS 12/13. Kapitel 3. Grunddatentypen, Ausdrücke und Variable
1 Kapitel 3 Grunddatentypen, Ausdrücke und Variable 2 Eine Datenstruktur besteht aus Grunddatentypen in Java einer Menge von Daten (Werten) charakteristischen Operationen Datenstrukturen werden mit einem
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.
MehrRalf Möller, TUHH. Beim vorigen Mal: Heute: Prädikatenlogik: Algorithmus für Erfüllbarkeitsproblem. Lernziele: Beweisverfahren für Prädikatenlogik
Ralf Möller, TUHH Beim vorigen Mal: Heute: Prädikatenlogik: Algorithmus für Erfüllbarkeitsproblem Lernziele: Beweisverfahren für Prädikatenlogik Danksagung Bildmaterial: S. Russell, P. Norvig, Artificial
MehrKapitel 6: Logik. Teil 2. (Dieser Foliensatz basiert auf Material von Mirjam Minor, Humboldt- Universität Berlin, WS 2000/01)
Kapitel 6: Logik Teil 2 (Dieser Foliensatz basiert auf Material von Mirjam Minor, Humboldt- Universität Berlin, WS 2000/01) Künstliche Intelligenz, Kapitel 6 Logik 1 Wdh. Resolution Das Resolutionsprinzip
MehrTheorembeweiser und ihre Anwendungen
Theorembeweiser und ihre Anwendungen Prof. Dr.-Ing. Gregor Snelting Dipl.-Inf. Univ. Daniel Wasserrab Lehrstuhl Programmierparadigmen IPD Snelting Universität Karlsruhe (TH) IPD Snelting, Uni Karlsruhe
MehrSemantik der Prädikatenlogik
Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel: 4.3 Prädikatenlogik Semantik 131 Semantik der Prädikatenlogik zur Erinnerung: Semantik der Aussagenlogik gegeben durch Interpretation I : V {0,
MehrIntensivübung zu Algorithmen und Datenstrukturen
Intensivübung zu Algorithmen und Datenstrukturen Silvia Schreier Informatik 2 Programmiersysteme Martensstraße 3 91058 Erlangen Übersicht Programmierung Fallunterscheidung Flussdiagramm Bedingungen Boolesche
MehrProlog 2. Kapitel: Matching und Beweisführung
Zusammenfassung: Kapitel 1 Prolog 2. Kapitel: Matching und Beweisführung Dozentin: Wiebke Petersen Kursgrundlage: Learn Prolog Now (Blackburn, Bos, Striegnitz) Wir haben die Grundlagen und Anwendungsgebiete
MehrLogik 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
MehrAbschnitt 5: Grundlagen der funktionalen und imperativen Programmierung
Abschnitt 5: Grundlagen der funktionalen und imperativen Programmierung 5. Grundlagen der funktionalen und imperativen Programmierung 5.1 Sorten und abstrakte Datentypen 5.2 5.3 in Java 5.4 EXKURS: Funktionale
MehrJürgen Richter Gebert. Skript zur Vorlesung LOGIK. Wintersemester 2000/2001
Jürgen Richter Gebert Skript zur Vorlesung LOGIK ETH Zürich Wintersemester 2000/2001 Inhaltsverzeichnis 0.1 Über das Wetter....................................... 5 0.2 Was ist Logik?.......................................
MehrDeklarative Semantik
7. Deklarative Semantik 7-1 Deklarative Semantik Bisher: Prolog als Programmiersprache. Operationale Semantik : Wie wird ein Programm ausgeführt? Welche Antworten werden berechnet? Jetzt: Prolog als logischer
MehrRechnerorganisation 2.Vorlesung
Rechnerorganisation 2.Vorlesung Begriffe, Mathematische Grundlagen (1) Boolesche Algebren, Normalformen (2,3) Kombinatorische Schaltungen (4) Programmierbare Strukturen (5) Automaten, Sequentielle Schaltungen
MehrDank. Theoretische Informatik II. Teil II. Registermaschinen. Vorlesung
Dank Vorlesung Theoretische Informatik II Bernhard Beckert Institut für Informatik Diese Vorlesungsmaterialien basieren zum Teil auf den Folien zu den Vorlesungen von Katrin Erk (gehalten an der Universität
MehrExpertensysteme Sprachverarbeitung Symbolische Informationsverarbeitung Graphentheoretische Probleme Planungsprobleme Rapid Prototyping...
Logische Programmierung Programm Menge von Formeln (Klauseln) Berechnung Beweis einer Formel (eines Ziels/Goals) mit Hilfe des Programms 17 Anwendungen Expertensysteme Sprachverarbeitung Symbolische Informationsverarbeitung
MehrKünstliche Intelligenz Logische Agenten & Resolution
Künstliche Intelligenz Logische Agenten & Resolution Stephan Schwiebert WS 2009/2010 Sprachliche Informationsverarbeitung Institut für Linguistik Universität zu Köln Inferenz-Algorithmus Wie könnte ein
MehrProgrammiersprachen: Klassifizierung und Methoden. Programmier-Paradigmen. Grundlagen der Programmierung 2 (1.C) - 1 -
Programmiersprachen: Klassifizierung und Methoden Programmier-Paradigmen Grundlagen der Programmierung 2 (1.C) - 1 - Programmiersprachen: Begriffe Syntax Beschreibung der Programme als Texte let xyz =
MehrLogische Programmierung
Logische Programmierung B-82 Deklaratives Programmieren in Prädikatenlogik: Problem beschreiben statt Algorithmus implementieren (idealisiert). Grundlagen: Relationen bzw. Prädikate (statt Funktionen);
Mehr6.1 Syntax und Semantik von Constraint-Logikprogrammen
Kapitel 6 Logikprogrammierung mit Constraints Nachdem wir nun sowohl die reine Logikprogrammierung als auch ihre Implementierung in der Sprache Prolog betrachtet haben, wollen wir uns zum Schluss mit einer
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
MehrProlog 2. Kapitel: Matching und Beweisführung
Prolog 2. Kapitel: Matching und Beweisführung Dozentin: Wiebke Petersen Kursgrundlage: Learn Prolog Now (Blackburn, Bos, Striegnitz) Petersen Prolog: Kapitel 2 1 Zusammenfassung: Kapitel 1 Wir haben die
MehrDiskrete Strukturen und Logik WiSe 2007/08 in Trier. Henning Fernau Universität Trier
Diskrete Strukturen und Logik WiSe 2007/08 in Trier Henning Fernau Universität Trier fernau@uni-trier.de 1 Diskrete Strukturen und Logik Gesamtübersicht Organisatorisches Einführung Logik & Mengenlehre
MehrTerme und Formeln. Terme und Unifikation
Regeln sterblich(x) :- mensch(x). vernetzt(x) :- verbunden(x,y), vernetzt(y).... Anfragen?- sterblich(sokrates).?- bruder(jo, X).... G. Görz, FAU, Inf.8 12 1 G. Görz, FAU, Inf.8 12 3 Terme und Formeln
MehrLogik Vorlesung 4: Horn-Logik und Kompaktheit
Logik Vorlesung 4: Horn-Logik und Kompaktheit Andreas Maletti 14. November 2014 Überblick Inhalt 1 Motivation und mathematische Grundlagen 2 Aussagenlogik Syntax und Semantik Äquivalenz und Normalformen
MehrGedächtnisprotokoll Diplomprüfung Vertiefungsfach Wissenbasierte Systeme
Gedächtnisprotokoll Diplomprüfung Vertiefungsfach Wissenbasierte Systeme Prüfungsinhalt: Artificial Intelligence (WS ) Knowledge Representation (SS 2002) Logikprogrammierung (WS) Prüfer: Lakemeyer Datum:
MehrVerfügbare arithmetische Operationen ( reelle Zahlen): +, -,, /, //, mod und ggf. weitere
Prolog-Arithmetik Verfügbare arithmetische Operationen ( reelle Zahlen): +, -,, /, //, mod und ggf. weitere Verfügbare arithmetische Vergleichsoperationen: >, =, =
MehrKLAUSURDECKBLATT Studienhalbjahr: 1. Semester. Datum: 5. März 2015 Bearbeitungszeit: 90 Minuten. Modul: TINF1002 Dozent: Jan Hladik
Student/in: Unterschrift: Fakultät Studiengang: Jahrgang / Kurs : Technik Angewandte Informatik 2014 / 14K KLAUSURDECKBLATT Studienhalbjahr: 1. Semester Datum: 5. März 2015 Bearbeitungszeit: 90 Minuten
MehrFormale Grundlagen der Informatik 1 Kapitel 16 Normalformen und Hornformeln
Formale Grundlagen der Informatik 1 Kapitel 16 Normalformen und Frank Heitmann heitmann@informatik.uni-hamburg.de 9. Juni 2015 Frank Heitmann heitmann@informatik.uni-hamburg.de 1/36 Ersetzbarkeitstheorem
MehrFundamentale Sätze. versuche folgendes: gib eine Formelmenge Φ an, so dass Mod(Φ) = {(N, +, )}
Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel: 4.7 Prädikatenlogik Fundamentale Sätze 171 Fundamentale Sätze versuche folgendes: gib eine Formelmenge Φ an, so dass Mod(Φ) = {(R, +, )} gib
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
MehrLogische Programmierung Einführende Beispiele
Logische Programmierung Einführende Beispiele Verwandschaftsbeziehungen in Prolog vater(peter,maria). mutter(susanne,maria). vater(peter,monika). mutter(susanne,monika). vater(karl, peter). mutter(elisabeth,
Mehr