Hallo,
ich muss eine Ausarbeitung über Constraint Logic Programming schreiben. Ich habe mich erstmal ein bisschen eingelesen und danach versucht, kleine Beispielprogramme in SWI Prolog zu schreiben. Und genau hier liegt mein Problem, die Programme wollen einfach nicht laufen. Ich habe da anscheinend irgend etwas grundsätzlich falsch verstanden.
Ein Beispiel, die Fibonacci Zahlen:
use_module(library(clpr)).
fib(0,1).
fib(1,1).
fib(N,R1+R2):- N>1,
fib(N-1,R1),
fib(N-2,R2).
Das Programm compiliert, liefert aber immer nur false als Lösung. Der Code sollte korrekt sein, da er aus einem Beispiel über CLP in Prolog stammt. Was mache ich falsch/was muss ich ändern, damit das Programm läuft ?!
Ich sehe das doch richtig, dass man die Bibliothek über den Befehl benutzt und das auch in das Programm schreibt ?! Wie ist das mit der Klammerung; müssen Constraints in {} Klammern ? In der SWI Dokumentation steht dies zwar, angeblich sei aber auch das weglassen der Klammerung äquivalent…naja eigentlich habe ich auch alles ausprobiert, library erst später laden, Klammerung, Abtrennung der Constraints durch „;“ usw…sehr populär bei meinen Versuchen ist unter anderem der Fehler: Undefined procedure: {}/1
Ihr seht, ich bin verwirrt, vor allem da ich keine vernünftigen lauffähigen Beispiele finde und wäre somit für jede Art von Hilfe sehr dankbar!
Ich hoffe mal, dass hier Leute sind, die sich mit der Thematik auskennen
Beste Grüße,
derSlim