1972 Prolog (Gemini 3.0)

Wenn Logik zur Sprache wird

Einführung

Stellen Sie sich vor, Sie müssten einem Butler erklären, wie man einen Kaffee kocht. In der traditionellen Programmierung der 1960er und 70er Jahre – man denke an Sprachen wie Fortran oder Algol – mussten Sie jeden winzigen Schritt vorgeben: „Gehe zur Küche, öffne den Schrank oben links, nimm die Dose, prüfe, ob Bohnen drin sind…“ Wenn nur ein Detail fehlte, blieb die Maschine stehen oder verursachte eine Katastrophe. Alain Colmerauer und sein Team in Marseille hatten Anfang der 70er Jahre eine radikal andere Vision. Sie wollten, dass wir dem Computer einfach sagen: „Ein Kaffee ist ein Getränk aus Wasser und Bohnen. Ich habe Wasser. Ich habe Bohnen. Mach mir einen Kaffee.“

Diese Vision führte zur Erschaffung von Prolog. Der hier betrachtete Artikel von 1993 ist eine faszinierende Rückschau auf die stürmische Geburtszeit dieser Sprache. Er beschreibt den Übergang von einer Welt der starren Befehle hin zu einer Welt der logischen Schlussfolgerungen. Prolog war nicht weniger als der Versuch, die menschliche Logik direkt zur Maschinensprache zu machen. Es war eine französische Revolution im Rechenzentrum, die die KI-Forschung für Jahrzehnte prägen sollte.


Kernidee

Die Kernidee von Prolog lässt sich in einer eleganten Gleichung zusammenfassen, die später durch den Informatiker Robert Kowalski berühmt wurde: „Algorithmus = Logik + Kontrolle“. In der herkömmlichen Programmierung sind Logik (was das Problem ist) und Kontrolle (wie man es löst) untrennbar miteinander verwoben. Prolog bricht dieses Dogma auf. Die Kernidee ist die deklarative Programmierung.

In Prolog beschreibt der Programmierer die Welt in Form von Fakten und Regeln. Ein Fakt könnte sein: „Sokrates ist ein Mensch.“ Eine Regel könnte lauten: „Alle Menschen sind sterblich.“ Wenn man dem System nun die Frage stellt: „Ist Sokrates sterblich?“, dann rechnet der Computer nicht im klassischen Sinne – er schlussfolgert. Er kombiniert den Fakt mit der Regel und liefert die Antwort. Die Sprache Prolog fungiert hierbei als ein automatischer Beweisführer, der in einer Datenbank von Wissen nach logischen Zusammenhängen sucht.


Ziele bzw. Forschungsfragen

Die ursprünglichen Forschungsfragen, die Colmerauer antrieben, waren eng mit der Linguistik verknüpft. Sein Team wollte ein System entwickeln, das in der Lage war, natürliche Sprache – konkret Französisch – zu verstehen und zu verarbeiten. Die zentrale Frage lautete: Können wir die Struktur von Sätzen so formalisieren, dass ein Computer nicht nur Wörter erkennt, sondern die logische Bedeutung dahinter begreift?

Damit verbunden war das Ziel der Wissensrepräsentation: Wie speichert man menschliches Wissen so ab, dass eine Maschine damit „vernünftig“ umgehen kann? Man suchte nach einem universellen Werkzeug für die Künstliche Intelligenz, das über das bloße Rechnen mit Zahlen hinausging. Es ging um das Rechnen mit Symbolen, Beziehungen und logischen Wahrheiten. Colmerauer wollte eine Brücke schlagen zwischen der formalen Logik der Mathematiker und der praktischen Programmierwelt der Informatiker.


Konzept

Das technische Fundament von Prolog ruht auf drei Säulen, die man sich wie die Werkzeuge eines Detektivs vorstellen kann: Horn-Klauseln, Unifikation und Backtracking.

Zuerst sind da die Horn-Klauseln. Das klingt komplizierter, als es ist. Es handelt sich um einfache „Wenn-Dann“-Strukturen. Eine Regel in Prolog sagt: „A ist wahr, wenn B, C und D wahr sind.“ Diese Einfachheit ist die Stärke der Sprache. Sie erlaubt es, komplexe Hierarchien aufzubauen, ohne den Überblick zu verlieren.

Die zweite Säule ist die Unifikation. Das ist im Grunde ein hochintelligentes „Puzzeln“. Wenn Sie fragen „Wer ist der Vater von Hans?“, sucht Prolog in seiner Datenbank nach einem Muster, das auf „Vater von Hans“ passt. Dabei werden Variablen – Platzhalter wie „X“ – mit konkreten Namen gefüllt. Die Unifikation ist der Kleber, der Fakten und Fragen miteinander verbindet.

Die dritte und vielleicht faszinierendste Säule ist das Backtracking (Rückwärtssuche). Stellen Sie sich vor, Prolog ist ein Wanderer in einem Labyrinth. Wenn er an eine Kreuzung kommt, probiert er den ersten Weg aus. Stellt er fest, dass dieser Weg in eine Sackgasse führt (d. h. die logische Bedingung ist nicht erfüllt), geht er automatisch zur letzten Kreuzung zurück und probiert den nächsten Weg. Dieser Prozess des „Versuchens und Irrens“ ist fest in die Sprache eingebaut. Der Programmierer muss sich nicht mehr darum kümmern, wie die Suche organisiert wird – das System macht das von selbst.


Argumente

Die Befürworter von Prolog – allen voran Colmerauer – führten ins Feld, dass diese Art der Programmierung viel näher am menschlichen Denken liege als jede andere Methode. Ein großes Argument war die Kompaktheit. Ein Programm, das in einer Sprache wie C hunderte Zeilen benötigt, um einen Stammbaum zu analysieren, lässt sich in Prolog oft in fünf oder sechs eleganten Regeln formulieren.

Ein weiteres Argument war die Wartbarkeit. Da man dem Computer nur Fakten über die Welt mitteilt, ist es sehr einfach, neues Wissen hinzuzufügen. Man muss nicht den gesamten Programmablauf ändern, sondern nur einen neuen Fakt in die Datenbank schreiben. Zudem argumentierte Colmerauer, dass Prolog die ideale Sprache für die aufkommende Ära der Expertensysteme sei, da es die logischen Schlussketten eines menschlichen Experten (z. B. eines Arztes bei der Diagnose) perfekt nachbilden könne.


Bedeutung

Prolog war der Startschuss für das Paradigma der Logikprogrammierung. Vor Prolog war Logik etwas für Philosophen und theoretische Mathematiker; nach Prolog wurde sie zu einem praktischen Ingenieurswerkzeug. Die Bedeutung liegt vor allem darin, dass Prolog bewies, dass man „Intelligenz“ durch die Manipulation von Symbolen und logischen Regeln simulieren kann.

In der Geschichte der Informatik wird Prolog oft als der Gegenpol zur prozeduralen Programmierung gesehen. Es war ein mutiger Entwurf, der zeigte, dass es alternative Wege zur Interaktion mit Maschinen gibt. Ohne Prolog gäbe es heute keine modernen Expertensysteme und viele Ansätze in der Computerlinguistik wären nie entstanden. Es ist das „Latein“ der KI-Sprachen: elegant, logisch streng und das Fundament für vieles, was danach kam.


Wirkung

Die Wirkung von Prolog in den 1980er Jahren war phänomenal. Das wohl bekannteste Beispiel ist das japanische „Fifth Generation Computer Systems“-Projekt. Japan investierte Milliarden, um eine neue Generation von Computern zu bauen, die auf Prolog basieren sollten. Man glaubte fest daran, dass die Zukunft des Rechnens nicht in schnelleren Addierern, sondern in massiv parallelen Logik-Maschinen liege.

Auch wenn dieses Projekt die hohen Erwartungen nicht ganz erfüllen konnte, löste es im Westen einen gewaltigen Innovationsschub aus. Überall auf der Welt entstanden Prolog-Dialekte und KI-Labore, die sich auf die logikbasierte Wissensverarbeitung stürzten. Prolog wurde zur Standardsprache für die Entwicklung von Systemen, die natürliche Sprache analysieren, juristische Texte prüfen oder komplexe Planungsaufgaben (wie die Beladung von Containerschiffen) lösen.


Relevanz

Ist Prolog heute, im Zeitalter von ChatGPT und neuronalen Netzen, noch relevant? Die Antwort lautet: Ja, aber auf eine andere Weise. Während moderne KI oft eine „Black Box“ ist – man weiß nicht genau, warum die KI eine bestimmte Antwort gibt –, ist Prolog das genaue Gegenteil. Es ist absolut transparent. Jede Antwort lässt sich logisch bis zu den Fakten zurückverfolgen.

In Bereichen, in denen Sicherheit und Erklärbarkeit oberste Priorität haben (z. B. in der Medizintechnik, bei der Verifizierung von Software oder in der Rechtsinformatik), ist die Logikprogrammierung nach wie vor unverzichtbar. Zudem erleben wir gerade eine Renaissance der logischen Ansätze in Kombination mit Deep Learning – man nennt das „Neuro-symbolische KI“. Hierbei liefert das neuronale Netz die Intuition (die Mustererkennung) und ein Prolog-ähnliches System die logische Absicherung.


Kritik

Natürlich war Prolog nicht ohne Fehl und Tadel. Die schärfste Kritik betraf die Effizienz. Das automatische Backtracking – so elegant es auch war – fraß enorme Rechenressourcen. Wenn das System einen riesigen Suchbaum durchforsten musste, konnte es quälend langsam werden. Kritiker spotteten oft, dass Prolog-Programme zwar „schön“, aber für reale Probleme der Datenverarbeitung unbrauchbar seien.

Ein weiterer Kritikpunkt war der sogenannte „Cut“-Operator. Um die Effizienz zu steigern, mussten Programmierer manuelle Stoppschilder in den logischen Beweisfluss einbauen. Dies war jedoch ein Verrat an der reinen Logiklehre. Es machte die Programme wieder „prozeduraler“ und schwerer zu verstehen. Auch das Problem der Negation („Wie beweist man, dass etwas nicht wahr ist?“) führte zu hitzigen wissenschaftlichen Debatten, da die Logik von Prolog auf der Annahme basiert, dass alles, was nicht in der Datenbank steht, automatisch falsch ist – eine Annahme, die in der realen Welt oft zu kurz greift.


Fazit

Rückblickend ist Prolog weit mehr als nur eine Programmiersprache; es ist ein philosophisches Statement. Colmerauer und sein Team haben uns gezeigt, dass Sprache und Logik zwei Seiten derselben Medaille sind. Prolog hat die KI-Forschung gelehrt, dass Wissen nicht nur aus Daten besteht, sondern aus Beziehungen und Regeln.

Auch wenn Prolog heute nicht mehr die dominierende Sprache in der Softwareentwicklung ist, so hat es doch unser Verständnis davon, was ein Computer leisten kann, fundamental erweitert. Es hat den Computer vom Rechenschieber zum Partner im logischen Diskurs erhoben. Der Meilenstein, den Colmerauer 1993 in seinem Artikel reflektierte, bleibt ein Denkmal für die menschliche Neugier und den Wunsch, der Maschine das Denken beizubringen.


Ausblick

Die Zukunft der Künstlichen Intelligenz wird wahrscheinlich eine Synthese sein. Wir sehen heute, dass statistische Modelle (wie Large Language Models) zwar beeindruckend gut darin sind, Texte zu generieren, aber oft an einfachen logischen Rätseln scheitern. Hier liegt die Chance für eine Rückkehr der Prinzipien von Prolog.

Ein Ausblick in die nächsten Jahrzehnte zeigt Systeme, die die Sprachgewalt von neuronalen Netzen mit der unbestechlichen Logik von Colmerauers Vision verbinden. Vielleicht werden wir bald KI-Assistenten haben, die uns nicht nur mit wahrscheinlichen Wortfolgen antworten, sondern ihre Schlüsse auf einer soliden logischen Basis aufbauen, die für uns Menschen nachvollziehbar bleibt. Die Logikprogrammierung ist also nicht tot – sie wartet nur auf ihre Integration in ein noch größeres Ganzes.


Literaturquellen

  • Colmerauer, A., & Roussel, P. (1993). The birth of Prolog. ACM SIGPLAN Notices, 28(3), 37-52. (Dieser Artikel ist die fundamentale historische Quelle für die Entstehung der Sprache).
  • Colmerauer, A. (1990). An introduction to Prolog III. Communications of the ACM, 33(7), 69-90. (Hier werden die Erweiterungen der Sprache um Constraints und komplexe Datentypen beschrieben).
  • Kowalski, R. A. (1979). Logic for Problem Solving. North Holland. (Das theoretische Gegenstück aus der Edinburgh-Schule).

Hintergrundinformationen zu den Autoren

Alain Colmerauer (1941–2017) war ein französischer Informatiker und Professor an der Universität Aix-Marseille. Er gilt als der „Vater von Prolog“. Er war ein unkonventioneller Denker, der sich nie scheute, gegen den Strom zu schwimmen. In einer Zeit, in der die US-amerikanische Forschung die KI dominierte, schuf er in Marseille ein Zentrum der Exzellenz, das weltweite Beachtung fand. Er war ein Visionär, der Informatik immer auch als eine Form der Linguistik und Philosophie begriff.

Philippe Roussel, sein engster Mitstreiter, war der geniale Implementierer. Während Colmerauer die theoretischen Konzepte schmiedete, war es Roussel, der den ersten Prolog-Interpreter schrieb (anfangs in der Sprache Algol-W). Er schaffte es, die abstrakten mathematischen Formeln in ein funktionierendes Programm zu übersetzen, das auf den damaligen Großrechnern tatsächlich lief. Zusammen bildeten sie ein Team, das die perfekte Symbiose aus Theorie und Praxis verkörperte.


Disclaimer: Dieser Text ist komplett KI-generiert (Gemini 3.0 Thinking, 27.12.2025). Die darin enthaltenen Angaben wurden nicht überprüft. Zum Prompt. Zur Übersicht.