1
所以我有以下斷言其隨機插入一個項目到一個列表給出多種解決方案:使用特定的謂詞打亂Prolog中的元素列表?
insert(X,Y,Z):- append(A,B,X),append(A,[Y|B],Z).
我想寫另一個謂詞這打亂在列表中的元素,並返回多種解決方案。我知道有一個名爲random_permutation的庫函數,但我想知道如何根據我自己的謂詞編寫它?
我嘗試以下,但它似乎無可救藥地錯了:那麼用這個謂詞我可以輸入置換([1,2,3],X)
permute([],[]).
permute(X,Y):-insert(X,_,Z),permute(Z,Y).
。並返回結果[1,3,2],[2,3,1]等....例如。
謝謝。
完美的作品!非常感謝! – Cypher236