Projektbeschreibung

Projekt 16
Probleme lösen mit Logik

Inhalte
Man beschreibe WAS man über das Problem weiß, man formuliere seine Anfrage und dann gibt der Computer die Lösung aus. Dabei muss man nicht sagen, WIE das Problem zu lösen ist." So könnte man das Ideal des Problemlösens mit Prolog (Programmierung mit Logik) erklären. Bei diesem Projekt wird man eine Art der Programmierung kennenlernen, die sehr schnell Ergebnisse ermöglicht, die mit den üblichen Programmiersprachen nur mit erheblich größerem Aufwand zu erreichen sind.
An mehreren kleineren Beispielen kann man zuerst die Syntax von Prolog kennenlernen und die Möglichkeiten der Sprache ausloten. Solche Beispiele sind
Rätsel, Puzzles, Logicals, bei denen man nur wenige Beziehungen aufschreiben muss, um Prolog die Lösung finden zu lassen. Ein Sudoku-Solver wäre ein weiteres Beispiel. Ein anderes Beispiel sind endliche Automaten. Ein weiteres Beispiel ist ein Programm, das Terme differenzieren und vereinfachen kann und das mit wenig Aufwand in Prolog durch Formulierung einer Handvoll Regeln realisiert werden kann. Ein größeres Beispiel kann ein Fahrplanauskunftssystem sein, wobei es durchaus ein Streckennetz mit mehreren hundert Verbindungen sein darf, unter denen die schnellste Verbindung zwischen zwei Orten zu finden ist. Nach Jahren, in denen
Prolog Lösungen sehr oft ein schlechtes Laufzeitverhalten hatten, gibt es jetzt
Systeme, mit denen Lösungen geschaffen werden können, die in akzeptabler Zeit
laufen.

Voraussetzungen
Die Teilnehmer müssen keine Vorkenntnisse in Programmiersprachen mitbringen.