V
変数があり、 の値がV
range の任意の数値であると仮定しましょう0..5
。ただし、一部の値は他の値よりも優先されるため、ドメインをV
順序付きシーケンスとして指定すると役立ちます。
SICStus Prolog で実行できますか?
例:
% PSEUDOCODE
%
% 3 is more preferred than 4; 4 is more preferred than 2; and so on..
% So I would write something like this:
V in {3,4,2,5,1,0},
getDomainAsList(V, List), % the predicate do not exist
% and the List would be: [3,4,2,5,1,0] and not [1,2,3,4,5]
マニュアルを読みましたが、役立つものは何も見つかりませんでした。この問題は、カスタム ラベル付け (つまり、V のドメインをリストに変換し、並べ替えて値を に割り当てるV
) で解決できますが、パフォーマンスが低下することが予想されます。