Logisches Programmieren
Semester: WI/4
Umfang (SWS): 2 + 2
Inhalt:
1. Einführung
prozedurale/nichtprozedurale Programmiersprachen, logisches Programmieren, Anwendungsgebiete
2. Grundlegende Struktur eines Prolog-Programmes
Prädikate, Fakten, Regeln
3. Prädikatenlogik
Aussagen- und Prädikatenlogik, Horn-Klauseln, Resolutionsprinzip
4. Abarbeitung von Prolog-Programmen
Unifikation, Backtracking, Resolution
5. Rekursion
Rekursion vs. Iteration, tail recursion (elimination), rekursive Struktur einer Liste, Operationen auf Listen
6. Logische Programme mit Randbedingungen (Constraint Logic Programming)
Optimierungsprobleme: Beispiele
7. Analyse natürlicher Sätze
Definite Clause Grammar, unifikationsbasierte Grammatiktheorien, ein einfacher Parser
8. Metaprogrammierung und Expertensysteme
ein einfacher Metainterpreter für Expertensysteme: Erzeugung eines Beweisbaums (Trace-Funktion), Programmierung einer
Erklärungskomponente