so habe ich folgendes Prädikat, das ein Element zufällig in eine Liste einfügt mehrere Lösungen zu geben:Scramble eine Liste von Elementen in Prolog mit einem bestimmten Prädikat?
insert(X,Y,Z):- append(A,B,X),append(A,[Y|B],Z).
Ich möchte ein weiteres Prädikat schreiben, die die Elemente in einer Liste kriecht, und gibt mehrere Lösungen. Mir ist bewusst, dass es eine Bibliotheksfunktion namens random_permutation oder etwas gibt, aber ich würde gerne wissen, wie man es basierend auf meinem eigenen Prädikat schreibt?
ich folgendes versucht, aber es scheint hoffnungslos falsch:
permute([],[]).
permute(X,Y):-insert(X,_,Z),permute(Z,Y).
Also dieses Prädikat mit I permute ([1,2,3], X) geben könnte. und erhalten Sie als Ergebnis [1,3,2], [2,3,1], etc .... zum Beispiel.
Danke.
funktioniert perfekt! Vielen Dank! – Cypher236