해밀턴회로 예제

해밀턴 서킷을 통해 우리의 초점은 존재가 아니라 최적화문제에 초점을 맞출 것입니다. 가장자리에 가중치가 있는 그래프를 주어 최적의 해밀턴 회로를 찾을 수 있습니다. 총 중량이 가장 낮은 가중치를 가진 것입니다. 그래프는 위에서 설명한 바와 같이 해밀턴 경로(ABCDEFGHI)와 해밀턴 회로(ABCDEFGHIA) 모든 플라톤 고체가 해밀턴(Gardner 1957)입니다. 해밀턴의 이름을 따서 명명되었음에도 불구하고, 다각형 의 해마니아 주기는 또한 토마스 커크먼에 의해 1 년 전에 공부되었다, 누가, 특히, 해밀턴 주기없이 다면체의 예를 주었다. [1] 심지어 이전, 체스 판의 기사의 그래프에서 해밀턴 의 주기와 경로, 기사의 투어, Rudrata에 의해 인도 수학에서 9 세기에 공부하고 있었다, 알 – 아들리 아르 – 루미에 의해 이슬람 수학에서 같은 시간에 [fr]. 18세기 유럽에서 기사의 투어는 아브라함 드 모이브르와 레온하르트 오일러에 의해 출판되었다. [2] 모든 해밀턴 주기는 가장자리 중 하나를 제거하여 해밀턴 경로로 변환할 수 있지만, 해밀니아 어 경로는 끝점이 인접한 경우에만 해밀턴 주기로 확장될 수 있습니다. 반데그리엔드, “B.

해밀턴 사이클 찾기: 알고리즘, 그래프 및 성능.” 석사 석사, 위니펙, 매니토바, 캐나다: 매니토바 대학, 1998. 그래프의 해밀턴 주기는 FindHamiltonianCycle[g][[모두, 모두] [[1][[[1]](반환된 주기가 반드시 사전적으로 첫 번째 주기는 아님)을 사용하여 볼프람 언어에서 효율적으로 계산할 수 있습니다. 정렬[FindHamiltonianCycle[g, All][[모두, 모두] [모두, 모두]]]를 사용하여 그래프의 모든 간단한(비방향) 주기를 시간 효율적으로 계산할 수 있습니다(그러나 실제 주기를 나타내는 데 필요한 메모리 오버헤드가 10배 이상). 반환되는 주기가 기본적으로 정렬된 순서로 반환되는 것은 아닙니다. FindHamiltonianCycle에 가능한 방법 옵션 포함 “역추적”, “휴리스틱”, “AngluinValiant”, “마르텔로”, 그리고 “멀티 패스”. 또한 Wolfram 언어 명령 FindShortestTour[g]는 해밀턴 그래프의 정점 수와 동일한 첫 번째 요소가 있는 목록을 반환하는 경우 해밀턴 주기(끝에 초기 정점이 반복되는 경우)인 가장 짧은 투어를 찾으려고 시도합니다. 아래 그래프에 해밀턴 경로 또는 회로가 있습니까? 토너먼트(정점이 두 개 이상인)는 강하게 연결된 경우에만 해밀턴입니다. Khomenko와 Golovko (1972)는 모든 길이의 그래프 사이클 수를 제공하는 공식을 제공했지만, 그 계산은 모든 서브 세트를 포함하는 계산 및 수행 매트릭스 작업을 필요로하므로 계산 비용이 많이 듭니다. -cycles의 특별한 경우 (즉, 해밀턴 사이클)의 특별한 경우에 대한 코멘코와 골로브코 공식의 크게 단순화 및 개선 된 버전은 모든 해밀턴 그래프가 이중 연결제공하지만, 이중 연결된 그래프는 해밀턴 (예를 들어, 피터슨 참조)이 될 필요가 없습니다 그래프)를 참조하십시오.

[6] 정점 A에서 시작하여 플뢰리의 알고리즘을 사용하여 이 그래프에서 오일러 회로를 찾습니다. 해밀턴 주기, 해밀턴 회로, 정점 둘러보기 또는 그래프 주기는 각 정점을 정확히 한 번 방문하는 주기입니다. 해밀턴 주기를 포함하는 그래프를 해밀턴 그래프라고 합니다. Kocay, W. “해밀턴 사이클을 위한 다중 경로 알고리즘의 확장” 디스크.