Logische Programmierung und deduktive Datenbanken

Allgemeine Informationen

Dies ist die Homepage der Vorlesung „Logische Programmierung und deduktive Datenbanken” an der Martin-Luther-Universität Halle-Wittenberg im Sommersemester 2024. Die Vorlesung wird gehalten von Prof. Dr. Stefan Brass. Sie hat 5 Leistungspunkte und 2+2 SWS. Sie ist u.a. für die Master-Studiengänge Informatik, Bioinformatik und Wirtschaftsinformatik gedacht. Genauere Angaben finden sich in der offiziellen Modulbeschreibung.

Hinweise:

Aktuelle Informationen finden Sie im Menu links unter Aktuell, PDF-Dateien der Folien unter Folien.

Beachten Sie bitte, dass die Übung erst in der zweiten Semesterwoche beginnt (am 11.04.2024).

Erste Vorlesung:

Die erste Vorlesung wird am Donnerstag, den 04.04.2024, 14:15–15:45 im Raum 3.04 im Von-Seckendorff-Platz 1 statt. Die Vorlesung wird auch aufgezeichnet und steht am Abend dann in StudIP, Reiter „Opencast” zur Verfügung.

Falls Sie das Gebäude „Von-Seckendorff-Platz 1” noch nicht kennen:

Erste Übung:

Die Übung findet erst ab der zweiten Woche statt (11.04.2024), 10:15-11:45, und zwar in Präsenz im PC-Pool 3.34 (auch im Gebäude „Von-Seckendorff-Platz 1”).

Bitte in StudIP eintragen:

Tragen Sie sich bitte in StudIP für diese Vorlesung ein. Eventuelle dringende Informationen werden über den EMail-Verteiler von StudIP versendet.

Lernziele:

Dies ist eine Spezialvorlesung zu meinem Haupt-Forschungsthema. Nach erfolgreicher Teilnahme an dieser Vorlesung sollten die Teilnehmenden Folgendes können:

  • Die logischen und konzeptuellen Grundlagen der logischen Programmierung erklären.
  • In der Sprache Prolog programmieren.
  • Mindestens ein ausgewähltes deduktives Datenbanksystem benutzen, d.h. insbesondere Anfragen und Sichtdefinitionen in der Sprache dieses Systems formulieren.
  • Die Ausführung von Programmen und Anfragen in Prolog bzw. deduktiven Datenbanken erklären und ggf. selbst Teile eines logischen Programmiersystems entwicklen.
  • Durch diese andere Art von Programmierung und Datenbank-Abfragen auch klassische Programmierung und Datenbank-Sprachen besser verstehen.

Inhalte (vorläufige Planung):

  • Einleitung (Motivation, Beispiele, Historische Entwicklung, Einordnung)
  • Logische Grundlagen: Horn-Klauseln, Herbrand Modelle, Minimales Modell
  • Datenbank-Anfragen und Programmierung in Datalog
  • Eingebaute Prädikate
  • Anfrage-Auswertung I: Naiv, Seminaiv
  • Pure Prolog (mit Funktionssymbolen)
  • Programm-Ausführung: SLD-Resolution, Warren Abstract Machine (sehr kurz)
  • Praktische Prolog-Programmierung
  • Anfrage-Auswertung II: Magische Mengen
  • Nichtmonotone Negation
  • Ausblick (z.B. Integritätsüberwachung, Constraint Logic Programming, Answer Set Programmierung, neuere logische Programmiersprachen).
Prof. Dr. Stefan Brass
Impressum