Logische Programmierung

Ähnliche Dokumente
Logische Programmierung

Programmierung Paradigmen und Konzepte

Anwendungen der Logik: Deklarative bzw. Logik-Programmierung in PROLOG

Grundlagen der Logik und Logikprogrammierung Einleitung

III.1 Prinzipien der funktionalen Programmierung - 1 -

Programmiersprachen. Organisation und Einführung. Berthold Hoffmann. Studiengang Informatik Universität Bremen

1. Grundkonzepte der logischen Programmierung 2. Syntax von Prolog 3. Rechnen in Prolog. IV.1 Grundkonzepte der logischen Programmierung - 1 -

1. Einführung Programmieren / Algorithmen und Datenstrukturen 1 Prof. Dr. Bernhard Humm FB Informatik, Hochschule Darmstadt

Deklarative Programmierung

n 1. Der Begriff Informatik n 2. Syntax und Semantik von Programmiersprachen - 1 -

Mathematisch-algorithmische Grundlagen für Big Data

Gliederung. n Teil I: Einleitung und Grundbegriffe. n Teil II: Imperative und objektorientierte Programmierung

Informatik I. Grundlagen der systematischen Programmierung. Peter Thiemann WS 2007/08. Universität Freiburg, Germany

1. Der Begriff Informatik 2. Syntax und Semantik von Programmiersprachen - 1 -

1. Der Begriff Informatik 2. Syntax und Semantik von Programmiersprachen - 1 -

Theoretische Informatik

Formale Systeme. Organisatorisches. Prof. Dr. Bernhard Beckert, WS 2016/ KIT Die Forschungsuniversita t in der Helmholtz-Gemeinschaft

Logik und Beweisbarkeit

Einführung in die Programmierung Wintersemester 2016/17

Diskrete Strukturen WS 2010/11. Ernst W. Mayr. Wintersemester 2010/11. Fakultät für Informatik TU München

Multiparadigmen- Programmiersprachen

Programmieren in Haskell Einführung

Vorlesung Programmierung

Einführung in die Programmierung

Künstliche Intelligenz

Einführung in die Programmierung

Kapitel 1: Einleitung. Gliederung. Zum Begriff Informatik Zum Begriff Algorithmus Zum Begriff Programmieren

Übungen zu Kognitive Systeme I

Logik in der Informatik

Einführung in die Theoretische Informatik

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

Logik für Informatiker

Prolog. Dozentin: Wiebke Petersen. Organisatorisches. Petersen Prolog: Organisatorisches 1

Diskrete Strukturen WS Ernst W. Mayr. Wintersemester Fakultät für Informatik TU München

2. Einführung. Informatik II für Verkehrsingenieure

Grundlagen der Programmiersprachen

Formale Systeme. Organisatorisches. Prof. Dr. Bernhard Beckert, WS 2016/ KIT Die Forschungsuniversita t in der Helmholtz-Gemeinschaft

Inhalte des Moduls Programmieren 1

Programmieren lernen mit Perl

3. Exkurs in weitere Arten der Programmierung

Programmieren 2 - Java

Liste MI / Liste I Programmieren in C++

Gliederung. Programmierparadigmen. Einführung in Prolog: Einführung in Prolog: Programmieren in Prolog. Einführung Syntax Regeln Listen Relationen

Vorlesung Programmierung

Einführung in die Theoretische Informatik. Woche 1. Harald Zankl. Institut für UIBK Wintersemester 2014/2015.

Vorlesung Programmierung

2. JAVA-Programmierung. Informatik II für Verkehrsingenieure

I.1. Organisatorisches - 1 -

Algorithmentheorie 1. Vorlesung

EIDI 1 Einführung in die Informatik 1. PGdP Praktikum Grundlagen der Programmierung. Harald Räcke 2/217

Einführung in die Informatik

Einführung in PROLOG. Christian Stocker

Formale Systeme. Prof. P.H. Schmitt. Winter 2007/2008. Fakultät für Informatik Universität Karlsruhe (TH) Voraussetzungen

Funktionale Programmierung Einführung

AMTLICHE BEKANNTMACHUNG

Achtjähriges Gymnasium. Informatik

Prolog 3. Kapitel: Rekursion

Prof. Dr. Jürgen Giesl Lehr- und Forschungsgebiet Informatik 2. Proseminar - 1 -

Prolog 3. Kapitel: Rekursion

ADS. 1. Vorlesung. Techniken der Programmentwicklung Prof. Dr. Wolfgang Schramm

Propädeutikum Programmiersprache C und Mathematik 2014

Algorithmen. Von Hammurapi bis Gödel. von Jochen Ziegenbalg, Oliver Ziegenbalg, Bernd Ziegenbalg. überarbeitet

Einführung in die Informatik

Vorlesung Programmieren

Vorlesung Programmieren. Programmiersprachen-Paradigmen. Programmierparadigmen. Eine Programmiersprache dient dem Aufschreiben von Algorithmen

Einführung in die Informatik

Proseminar Programmiersprachen. Prolog. Johannes Weißl. TU München. 15. November 2006

Lernziele Ablauf Übungsaufgaben Formalitäten. Programmierpraktika. Einführung in das Programmieren und Weiterführendes Programmieren

Informatik für Chemieingenieurwesen Sommersemester 2018

Logik für Informatiker

Programmierkurs (IPK)

Inhalt. Einführung in die Strukturierte Programmierung 15

Grundlagen der Programmierung 2 (1.A)

Logik für Informatiker

Semantik von Programmiersprachen

Einführung in die Informatik für Nebenfach. Einleitung

Informatik-Seminar. Auftakt. Informatik. Grundlagen

Theorembeweiser und ihre Anwendungen

Einführung in die Informatik

Operations Research I

Fragen zum Nachdenken: Wie könnte man das Fehlen eines Attribut-Wertes interpretieren?

Programmiersprachen: Klassifizierung und Methoden. Programmier-Paradigmen. Grundlagen der Programmierung 2 (1.C) - 1 -

Transkript:

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: Montags, 14 00 15 00 (und nach Vereinbarung) Lange Laube 22 (Eingang Hausmannstr.), 2. OG Telefon: 762-4953, Sekretariat: 762-4950 Praktische Übung: Termin: (nach Vereinbarung) Raum B417, Beginn nächste Woche Antrag auf Rechnernutzung im Sekretariat F456 Übungs-Schein: Vier Hausaufgaben bis Semesterende vorführen. Skript: Kopien der Folien, Kosten: 5,-DM (eventuell +2,-DM) Public Domain Prolog-Interpreter: Für MS-DOS/ATARI-ST im Institut erhältlich.

1. Vorbemerkungen 1-3 Literaturhinweise (1) Deutschsprachige Lehrbücher: Cordes/Kruse/Langendörfer/Rust: Prolog Eine methodische Einführung Vieweg, 1990, 2. Auflage, 245 Seiten, DM 49.80 Hanus: Problemlösen mit Prolog Teubner, 1987, 2. Auflage, 224 Seiten, DM 27.80 Kleine Büning/Schmitgen: Prolog Teubner, 1988, 2. Auflage, 311 Seiten, DM 36,- Englischsprachige Lehrbücher: Clocksin/Mellish: Programming in Prolog Springer, 1987, 3. Auflage, 300 Seiten, DM 52,- (das klassische Prolog-Lehrbuch) Dodd: Prolog A Logical Approach Oxford University Press, 1990, 556 Seiten, 17.50 = DM 57.16 Hogger: Introduction to Logic Programming Academic Press, 1984, 278 Seiten, $ 39.95 = DM 77.94 Kluźniak/Szpakowicz: Prolog for Programmers Academic Press, 1985, 306 Seiten, DM 117.40 (von den Autoren von TOY-Prolog)

1. Vorbemerkungen 1-4 Literaturhinweise (2) Englischsprachige Lehrbücher (Forts.): Maier/Warren: Computing with Logic Benjamin/Cummings, 1988, 535 Seiten, $ 36.30 = DM 70.65 (Aussagenlogik/Datalog/Prolog, Implementierung von Prolog) Merritt: Adventure in Prolog Springer, 1990, 186 Seiten, DM 64,- (ein einfaches Adventurespiel als durchgehendes Beispiel) Nilson/Ma luszyński: Logic, Programming and Prolog Wiley, 1990, 289 Seiten, $ 36.95 = DM 72.35 (betont logische Grundlagen, behandelt auch Alternativen zu Prolog) O Keefe: The Craft of Prolog MIT Press, 1990, 387 Seiten, $ 37.50 = DM 73.38 (fortgeschritten, Programmiermethodik, Programmierstil) Sterling/Shapiro: Art of Prolog MIT Press, 1986, 437 Seiten, $ 39.95 = DM 77.95 (etwas fortgeschritten, Programmiertechniken, Anwendungsbeispiele) Implementierung von Prolog: Aït-Kaci: Warren s Abstract Machine MIT Press, 1991, 114 Seiten, $30 = DM 59.77 (Grundlagen der Prolog-Compilierung)

1. Vorbemerkungen 1-5 Literaturhinweise (3) Theoretische Grundlagen von Prolog: Lloyd: Foundations of Logic Programming Springer, 1987, 2. Auflage, 212 Seiten (Theoretische Grundlagen von Prolog: Logik, SLD-Resolution) Schmitt: Theorie der logischen Programmierung Springer-Lehrbuch, 1992, 246 Seiten (Logik und automatisches Beweisen für Prolog und Erweiterungen) Bücher über automatisches Beweisen: Chang/Lee: Mechanical Theorem Proving Academic Press, 1973, 331 Seiten (das klassische Lehrbuch) Duffy: Automated Theorem Proving Wiley, 1991, 243 Seiten, $ 41.50 = DM 74.31 Hofbauer/Kutsche: Grundlagen des maschinellen Beweisens Vieweg, 1989, 172 Seiten, DM 39,80 (behandelt auch Termersetzung) Robinson: Logic and Logic Programming In: Communications of the ACM 35(3), März 1992, Seite 40 65 (Geschichtlicher Überblick über automatisches Beweisen, vom Erfinder der Resolution)

1. Vorbemerkungen 1-6 Warum man Prolog lernen sollte Horizonterweiterung: eine ganz andere Programmiersprache: Programming in Logic anders als imperative, funktionale, objekt-orientierte Sprachen Deklarative Programmierung: Nicht wie, sondern was Beziehung von Logik und Programmierung Arbeitsersparnis: Patternmatching, Backtracking sind eingebaut Listen- und Baumstrukturen einfachst benutzbar Automatische Speicherverwaltung Eingebaute (Hauptspeicher-) Datenbank Grammatiken direkt ausführbar Metaprogrammierung: Verarbeitung anderer Prologprogramme In Prolog besonders einfach zu realisieren

1. Vorbemerkungen 1-7 Historisches Logik: Frege: Mathematische Beweisschrift (1879) Whitehead/Russel:Principia Mathematica(1910) Gödel/Herbrand: Vollständigkeit (1930) Church/Turing: Unentscheidbarkeit (1936) Automatisches Beweisen: Gilmore/Davis/Putnam: Erster Beweiser (1960) Robinson: Resolventenverfahren (1965) Loveland/Luckham: Lineare Resolution (1970) Logisches Programmieren: Colmerauer: Frage-Antwort-System (1971) Colmerauer/Roussel: Prolog (1972/73) Zum Vergleich: Fortran (1954), Lisp (1962), Pascal (1970), Ada (1979) Kowalski: Algorithm = Logic + Control (1973?) Warren: Compiler für Prolog (1977)

1. Vorbemerkungen 1-8 Inhalt (geplant) Prolog Programmierkurs: Syntax, Unifikation, Vierport-Modell Eingebaute Prädikate Prolog vs. Pascal Logische Grundlagen: Deklarative Semantik von Pure-Prolog Grundlagen des automatischen Beweisens Programmiertechniken: Standard-Algorithmen Grammatiken in Prolog Programmierstil und Effizienz Implementierung von Prolog: Interpreter, Compiler Ausblick: Alternative Logische Programmiersprachen