Prolog-Handbuch oder benutzerdefinierte Beschriftung
Ich schreibe gerade einen Löser für ein Grundrissproblem in Prolog und habe einige Probleme mit dem Beschriftungsteil.
Das aktuelle Problem ist, dass meine Einschränkungen angezeigt werden, aber wenn ich die Beschriftung starte, dauert es ewig, bis eine Lösung gefunden wird. Ich möchte einige Heuristiken einbringen.
Meine Frage ist, wie ich meine Variablen manuell beschrifte. Ich fürchte, dass nach dem Definieren einer CLPFD-Variablen wie folgt:
X in Xinf..Xsup
und es einschränken, Wenn ich etwas mache wie:
fd_sup(X, Xmax),
X = Xmax,
...
in meinem benutzerdefinierten Label werde ich die Backtrack-Funktion von Prolog nicht verwenden, um die anderen Werte der X-Domain zu testen. Liege ich falsch
Auch gibt es eine intelligentere Möglichkeit, meine Variablen zu kennzeichnen, als benutzerdefinierte Kennzeichnungsverfahren zu schreiben? Meine Idee der Heuristik würde darin bestehen, Extrema einer variablen Domäne alternativ zu versuchen (wie max (X), min (X), max (X-1), min (X-1) usw.)
Hoffentlich kannst du mir helfen :)