 English
   English   
  
	 
	
	 Ein kleines Beispiel zur logischen Programmierung
Ein kleines Beispiel zur logischen ProgrammierungDas folgende Beispiel stammt angeblich von Albert Einstein. Dazu soll er die Vermutung geäußert haben, dass nur ca. 2% der Menschen dieses Problem lösen könnten. Wir wissen aber nicht, ob beides wirklich stimmt.
Wie dem auch sei; mittels der logischen Programmierung ist die Lösung  fast ein Kinderspiel. Wir verwenden hier die Sprache Prolog. Die Lösung ergibt sich praktisch 1:1 aus der wörtlichen Formulierung des Problems. Hier ist nun das Problem: 
  
Wer trinkt Wasser und wem gehört das Zebra?
| Hier die Lösung in Prolog: % Prolog-Code | 
 | 
| % Dem Prädikat werWohntWo() muss nur noch klar sein, was die Begriffe erstes, mittleres, links % und benachbart bedeuten: | |
| erstes(E, [E|_]). mittleres(M, [_,_,M,_,_]). links(A, B, [A|[B|_]]). links(A, B, [_|R]):- links(A, B, R). benachbart(A, B, X):- links(A, B, X); links(B, A, X). | % prädikat erstes % Prädikat mittleres % Prädikat links % Prädikat benachbart | 
| Das Programm führt nach Konsultation zu folgender Ausgabe: | |
Seien Sie ehrlich! Hätten Sie das selbst herausbekommen?    > zurück
        
Übrigens: Falls Sie noch kein Prolog-System haben sollten, hier können Sie eines bekommen: 
           > SWI-Prolog.