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 :)

Antworten auf die Frage(10)

Ihre Antwort auf die Frage