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 2018. 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.

Hinweis:

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

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. Wahrscheinlich findet nur eine der beiden Übungsgruppen statt.

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