나는 마을과 그 중 두 개 사이의 거리를 제공하는 함수 목록을 가지고 있습니다. 예를 들어 :순열 목록 (하스켈)의 거리를 정리하십시오.
dist!(Bielefeld,Muenchen) = 598
지금 나는 모든 도시 사이의 임의 투어의 전체 길이를 계산할 수있는 기능을 만들고 싶어. 예 :
tourlength [a permutation of the 12 Towns] = whole way you have to travel (as Int)
내가 무슨 뜻인지 알기를 바랍니다. 나는 새로운 것으로 dist!
기능을 통합하는 방법을 모르겠다.
두 번째 문제점은 두 번째 도시까지의 거리가 가장 짧은 도시를 계산하고 싶다는 것입니다. 그것을 해결하기 위해, 나는 아래 greedy
기능을 사용하고 싶었 :
greedy a [] = [a]
greedy a X = a : greedy (z X - [z])
z = argmin x : dist a x
tspgreedy X = greedy (s x - [s])
을하지만 나는 하스켈하는 ... 생각을위한 음식
감사를 번역 방법을 모르는
확실히, 'dist! (Bielefeld, Muenchen)'은'*** Exception : Bielefeld does not exist'를 산출합니다! – leftaroundabout