![]() |
||
| Theorie |
Formale Sprachen und Automaten
Berechenbarkeit, alt
Berechenbarkeit
Komplexitätstheorie
|
|
|
Das Problem des Handlungsreisenden |
% Autor: mk % Datum: 17.2.2008 % d = unsymmetrische Distanz d(a,a,0). d(a,b,65). d(a,c,127). d(a,d,43). d(a,e,38). d(a,f,94). d(b,b,0). d(b,c,157). d(b,d,100). d(b,e,62). d(b,f,29). d(c,c,0). d(c,d,92). d(c,e,98). d(c,f,181). d(d,d,0). d(d,e,31). d(d,f,117). d(e,e,0). d(e,f,90). d(f,f,0). % dist = symmetrische Distanz dist(X,Y,E) :- d(X,Y,E). dist(X,Y,E) :- d(Y,X,E). weg([_],0). weg([K1,K2|R],N) :- dist(K1,K2,N1),weg([K2|R],N2),N is N1+N2. rundweg([_],0). rundweg([K|R],N) :- last(R,S),dist(S,K,N1),weg([K|R],N2),N is N1+N2. staedte(L) :- findall(S,d(S,_,_),L1),list_to_set(L1,L). alleWege(L) :- staedte(S),findall([N|P],(permutation(S,P),rundweg(P,N)),L). optimalerWeg(W,N) :- alleWege(L1),sort(L1,L2),L2=[K|_],K=[N|W].
Mutation beim Problem des Handlungsreisenden
Rekombination beim Problem des Handlungsreisenden