宿題のため、明示的なものは何もありません。
見つかった他のゴールを無視しながら、プログラムによって見つかった最初のゴールのみを返すように Prolog を取得する方法はありますか?
説明のために、プログラムを以下に示します。
permutation([X|Xs],Zs):-permutation(Xs,Ys), insert(X,Ys,Zs).
permutation([],[]).
プログラムが唯一の解決策として最初の順列のみを返すようにする方法はありますか? 次の場合:
| ?- permutation([1,2,3],X).
X = [1,2,3] ? ;
X = [1,3,2] ? ;
X = [2,1,3] ? ;
X = [2,3,1] ? ;
X = [3,1,2] ? ;
X = [3,2,1] ? ;
no
いただけますか
X = [1,2,3] ?;
no
解決策として?