저는 TSP (Travelling Salesman Problem)
을 해결하려고 노력하고 있지만 전통적인 방식은 아닙니다. 나는이 단계들을 따르고있다.가장 가까운 가능한 길의 거리를 알면 여행 세일즈맨을 해결하십시오
1) 먼저 나는 참/거짓 문제에 TSP를 변경합니다.
"이 문제의 정의는 다음과 같습니다."총 거리가 k
보다 작거나 같은 모든 도시의 경로가 있습니까? " 이 알고리즘을 해결하기 위해 TSP_tf(k)
알고리즘이 있다고 가정 해 보겠습니다.
2) 그러면 I 최소 K 검색.
이것은 "가능한 가장 짧은 거리의 거리"를 검색합니다.
효율적인 알고리즘으로 이분법 검색을 수행 할 수 있습니다. k=1
으로 시작하고 TSP_tf(k)
으로 전화합니다. false를 반환하면 k
에 2를 곱하고 true가 반환 될 때까지 TSP_tf
을 계속 호출합니다. 이 경우 (k/2 - k]
간격으로 true를 반환하는 최소 k
을 검색하고 이분법 검색을 사용하십시오.
최소 거리는 min_k
입니다.
3)은 TSP의 최단 경로의 거리가 min_k입니다 알고 돌아.
여기 내 질문이옵니다. 어떻게 이것을 해결하는 효율적인 알고리즘이 될 것입니까? 능률적으로 나는 좋은 접근을 의미한다 : TSP
가 NP 인 것을 명백 할 것이다.
나는 이것이 우리가 다루기에는 너무 광범위하다고 생각한다. 어쩌면 [cs.se]가 이것을 기꺼이 받아 들일 수도 있지만, 심지어 그들은 더 구체적인 무엇인가를 원할 수도 있습니다. 3 단계 모두가 (나는) NP이기 때문에 당신의 목표가 실제로 무엇인지는 잘 모르겠습니다. – Teepeemm
ILP 모델에'min_k '을 제공하면 많은 양을 줄 수 있지만 그 접근법을 상세하게 설명하면 전체 책이됩니다. – harold
나는 컴퓨터 과학에 관한 것이지 프로그래밍에 적용되지 않기 때문에이 질문을 주제로 끝내기로 결정했다. [컴퓨터 과학에 재 게시되었습니다] (http://cs.stackexchange.com/q/64037). (장래에 [이것을하지 마십시오] (http://meta.stackexchange.com/q/64068), [플래그] (http://stackoverflow.com/help/privileges/flag-posts) 질문 대신 마이그레이션을 요청하십시오.) – Gilles