Ich habe ein sehr seltsames Problem mit PROLOG. Ich habe es schon früher benutzt, aber es ist schon eine Weile her und ich bin rostig. Ich habe eine Liste von Variablen und ich muss sicherstellen, dass keiner von ihnen derselbe ist.PROLOG alle anders
Ich habe versucht:
use_module(library(bounds)). all_different(A, B, C, D, 6, 8).
Allerdings, wenn ich dies versuchen, erhalte ich eine Fehlermeldung, dass all_different/6 nicht definiert ist.
Wie kann ich dieses Problem lösen? Gibt es eine Bibliotheksfunktion, die ich direkt aufrufen kann?
Ich bin sehr stecken und würde jede Hilfe sehr zu schätzen wissen.
Vielen Dank im Voraus.
solve([
[A, 6, 1],
[B, 5, C, 2, D, E, F, G, 6],
[6, H, I, 5, J, K, 2, L, 3],
[5, M, 6, N, O, 4, P, Q, 5],
[4, R, S, T, U, 6, V, 4, W],
[2, 0, X]
]) :-
all_different([A,6,1,2,D,E]),
all_different([B,5,C,6,H,I]),
all_different([C,2,D,I,5,J]),
all_different([D,E,F,J,K,2]),
all_different([F,G,6,2,L,3]),
all_different([H,I,5,M,6,N]),
all_different([5,J,K,N,O,4]),
all_different([K,2,L,4,P,Q]),
all_different([5,M,6,4,R,S]),
all_different([6,N,O,S,T,U]),
all_different([O,4,P,U,6,V]),
all_different([P,Q,5,V,4,W]),
all_different([T,U,6,2,1,X]),
A<7, A>0, B<7, B>0, C<7, C>0, D<7, D>0,
E<7, E>0, F<7, F>0, G<7, G>0, H<7, H>0,
I<7, I>0, J<7, J>0, K<7, K>0, L<7, L>0,
M<7, M>0, N<7, N>0, O<7, O>0, P<7, P>0,
Q<7, Q>0, R<7, R>0, S<7, S>0, T<7, T>0,
U<7, U>0, V<7, V>0, W<7, W>0, X<7, X>0.
Leider sieht der Code etwas vermasselt, aber ich kann es nicht einen Weg richtig – inspectorG4dget