Implementierung und Evaluation von Datenstrukturen in Prolog
Umfang
Dieses Thema kann als Bachelorarbeit oder Teil einer Projektarbeit bearbeitet werden.
Empfohlene Vorkenntnisse
- gute Prolog Kenntnisse (z.B. durch Besuch der Veranstaltung “Einführung in die logische Programmierung”)
- optional: Kenntnisse in C / C++
Problem
In Prolog gibt es nur sehr limitierte Datenstrukturen:
- Terme haben in der Regel maximal eine Arität von 255.
- Listen kann man nur effizient vorne betrachten oder manipulieren.
- Die meisten Prolog Implementierungen liefern AVL-Bäume mit aus, die binär sind.
- SICStus Prolog bietet unter anderem auch Arrays.
Es gibt jedoch viele interessante Datenstrukturen, z.B. HAMT, die man sehr gut in Prolog implementieren kann.
Minimalanforderungen
- Implementierung und sinnvolle Evaluation von Datenstrukturen in Prolog.
Variationen
- Es ist möglich, über das Foreign-Function Interface (FFI) auch Datenstukturen in C zu implementieren.
Kontakt
Philipp KörnerRaum 25.12.02.56
p.koerner@hhu.de