1

V変数があり、 の値がVrange の任意の数値であると仮定しましょう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) で解決できますが、パフォーマンスが低下することが予想されます。

4

2 に答える 2

2

優先順序ですべての値の配列またはリストを作成できます。

次に、プログラムで配列インデックスを操作し、最後にインデックスに対応する値を返します。

于 2013-06-05T17:21:04.933 に答える