작업 흐름 간소화: miniwebtool 검색.
추가
홈페이지 > 수학 관련 도구 > 고급 수학 연산 도구 > 해밀턴 경로 검사기 (Hamiltonian Path Checker)
 

해밀턴 경로 검사기 (Hamiltonian Path Checker)

그래프에 해밀턴 경로 또는 해밀턴 회로가 포함되어 있는지 확인합니다. Warnsdorff 프루닝을 적용한 백트래킹을 실행하고, 연결성 및 차수 전제 조건을 검증하며, Dirac 및 Ore의 충분 조건을 테스트하고, 애니메이션 SVG 시각화를 통해 증거 경로를 보여줍니다.

해밀턴 경로 검사기 (Hamiltonian Path Checker)
A-B, A->B, A B, A,B 또는 0 1 1 0과 같은 행렬 행을 입력할 수 있습니다. 레이블에는 문자, 숫자 또는 밑줄을 사용하세요.
쉼표 또는 공백으로 구분된 레이블(행당 하나). 생략하면 A, B, C...가 기본값으로 사용됩니다.

Embed 해밀턴 경로 검사기 (Hamiltonian Path Checker) Widget

해밀턴 경로 검사기 (Hamiltonian Path Checker) 정보

해밀턴 경로 검사기는 그래프가 모든 정점을 정확히 한 번씩 방문하는 시퀀스인 해밀턴 경로, 또는 시작 정점으로 다시 돌아오는 해밀턴 회로를 포함하는지 여부를 결정합니다. 이 도구는 빠른 구조적 사전 점검(연결성, 차수 전제 조건, Dirac의 정리, Ore의 정리)과 Warnsdorff 휴리스틱으로 조정된 백트래킹 탐색을 결합하며, 증거 경로를 단계별 애니메이션으로 시각화합니다.

해밀턴 경로란 무엇인가요?

n개의 정점을 가진 그래프 G = (V, E)가 주어졌을 때, 해밀턴 경로는 인접한 각 쌍 (vi, vi+1)G의 간선이며 모든 정점이 정확히 한 번씩 나타나는 정점들의 순서 시퀀스 v1, v2, …, vn를 말합니다. 추가적으로 (vn, v1)이 간선인 경우, 이 시퀀스는 해밀턴 회로가 됩니다.

해밀턴 경로: v1 — v2 — v3 — … — vn (모두 다름, 연속된 각 쌍은 간선) 해밀턴 회로: v1 — v2 — v3 — … — vn — v1 (시작점으로 되돌아옴)

이 문제는 1857년 정십이면체의 모든 정점을 정확히 한 번씩 방문하는 회로를 찾는 퍼즐인 이코시안 게임(Icosian game)을 발명한 William Rowan Hamilton의 이름을 따서 명명되었습니다.

어려운 이유: NP-완전성

해밀턴 경로 결정 문제와 해밀턴 회로 결정 문제 모두 NP-완전(Karp, 1972)입니다. P = NP가 아닌 한, 모든 사례를 다항 시간 내에 해결하는 알고리즘은 존재하지 않습니다. 최악의 경우, 백트래킹은 회로를 찾기 위해 최대 (n−1)! 크기의 탐색 트리를 탐색해야 합니다. 이것이 본 계산기가 입력을 20개 정점으로 제한하는 이유입니다. n이 약간만 증가해도 실행 시간이 폭발적으로 늘어나기 때문입니다.

실제로는 (1823년 Heinrich Warnsdorff가 기사의 여행 문제를 위해 고안한) Warnsdorff 휴리스틱을 통해 구조화된 그래프에서의 탐색 속도를 획기적으로 높일 수 있습니다. 각 단계에서 알고리즘은 아직 방문하지 않은 이웃 중 남은 미방문 이웃의 수가 가장 적은 정점으로 경로를 확장합니다. 이 탐욕적 규칙은 탐색이 막다른 길에 다다르는 것을 방지하며, 상태가 좋은 그래프에서는 백트래킹 없이 해밀턴 투어를 찾아내는 경우가 많습니다.

필요 조건 — 빠른 거부

비용이 많이 드는 탐색을 실행하기 전에, 계산기는 해밀턴 경로를 포함할 가능성이 없는 그래프를 미리 걸러냅니다.

이러한 규칙은 희망이 없는 많은 입력을 선형 시간 내에 거부하여 헛된 백트래킹 노력을 방지합니다.

충분 조건 — 고전 정리

여러 고전 정리는 단순 무향 그래프에서 해밀턴 회로를 보장하는 충분(필요는 아님) 조건을 제공합니다. 이들 중 하나라도 적용되면 계산기는 탐색을 실행하기도 전에 결과를 "보장됨(GUARANTEES)"으로 표시합니다(단, 증거 회로는 여전히 찾아 보여줍니다).

Dirac의 정리 (1952)

Gn ≥ 3인 단순 무향 그래프이고 모든 정점의 차수가 최소 n / 2이면, G는 해밀턴 회로를 가집니다.

δ(G) ≥ n / 2 ⟹ G는 해밀턴 그래프임

Ore의 정리 (1960)

인접하지 않은 모든 정점 쌍 uv에 대해 deg(u) + deg(v) ≥ n이면, G는 해밀턴 회로를 가집니다. Ore의 조건은 Dirac보다 엄격하지 않으므로, Ore의 정리는 Dirac의 정리가 성립하는 모든 경우를 포함합니다.

모든 인접하지 않은 u, v에 대해: deg(u) + deg(v) ≥ n ⟹ G는 해밀턴 그래프임

Dirac 또는 Ore의 조건을 충족하지 못한다고 해서 그래프에 해밀턴 회로가 없다는 의미는 아닙니다. 두 조건 모두 만족하지 않지만 해밀턴 회로를 가진 그래프는 매우 많습니다(예: 단순 n-회로는 최소 차수가 2이며, 이는 큰 n에 대해 n/2보다 훨씬 작습니다).

내부 탐색 알고리즘

사전 점검으로 결론이 나지 않을 때, 계산기는 그래프의 인접 표현에 대해 백트래킹 탐색을 실행합니다. 주요 전략:

  1. 비트마스크 방문 집합: 방문한 정점들을 비트마스크로 저장합니다 (최대 20개 정점에 대해 빠른 O(1) 멤버십 테스트 가능).
  2. Warnsdorff 휴리스틱: 경로 확장 시 남은 미방문 차수가 적은 순서대로 이웃을 시도하여 분기 발생을 최소화합니다.
  3. 루트 선택: 해밀턴 회로의 경우 시작 정점 하나만 확인하면 됩니다(회로는 회전 불변). 해밀턴 경로의 경우 진출 차수가 낮은 순서(가장 희귀한 위치)대로 시작 정점을 시도합니다.
  4. 단계 예산: 하드 캡을 설정하여 비정상적인 사례가 무한정 실행되는 것을 방지합니다. 예산이 소진되면 UI에 "시간 초과"로 보고됩니다.

해밀턴 vs 오일러

해밀턴 문제와 오일러 문제는 이름은 비슷하지만 근본적으로 다릅니다.

속성 해밀턴 경로 / 회로 오일러 트레일 / 회로
방문 대상 각 정점을 정확히 한 번 각 간선을 정확히 한 번
복잡도 NP-완전 다항 시간 (O(n+m))
조건 단순한 특징이 없음 연결 그래프 + 모든 차수가 짝수(회로), 홀수 차수 최대 2개(트레일)
유래 W. R. Hamilton (1857) L. Euler (1736, 쾨니히스베르크 다리)
대표 예시 외판원 문제, 이코시안 게임 경로 점검, 우체부 문제

지원되는 입력 형식

간선 리스트

한 줄에 하나의 간선을 입력하거나 쉼표로 구분합니다. 지원되는 구분자: A-B, A B, A,B, A--B, A->B, A<-B. 유향 그래프임을 명시하려면 ->를 사용하세요.

A-B, B-C, C-D, D-A, A-C (간선이 5개인 무향 그래프) A->B, B->C, C->D, D->A (유향 4-회로)

인접 행렬

0/1 값의 정사각 행렬을 한 줄에 한 행씩 공백 또는 쉼표로 구분하여 입력합니다. '행렬 레이블' 필드에 선택적으로 레이블을 제공할 수 있으며, 제공하지 않으면 A, B, C...가 자동으로 사용됩니다.

0 1 1 0 1 0 1 1 1 1 0 1 0 1 1 0

이 검사기 사용 방법

  1. 입력 형식 선택: 손으로 직접 작성한 작은 그래프는 '간선 리스트', 코드나 교재에서 복사한 데이터는 '인접 행렬'을 선택합니다.
  2. 그래프 데이터 입력: 텍스트 영역에 그래프를 붙여넣습니다. 행렬 입력의 경우 필요에 따라 정점 레이블을 입력합니다.
  3. 검사 항목 선택: 경로만, 회로만, 또는 한 번에 둘 다 검사할지 선택합니다.
  4. 그래프 유형 선택: '자동 감지'는 화살표 스타일(->)이나 행렬의 대칭성을 통해 유향 여부를 판단합니다.
  5. 해밀턴 검사 클릭: 결과 페이지에 판정 결과, 필요 조건 사전 점검, Dirac / Ore 충분 조건 테스트, 증거 경로(존재하는 경우), 대화형 시각화가 표시됩니다.
  6. 증거 재생: 재생 / 단계 컨트롤을 사용하여 경로가 그래프 위에서 간선을 따라 밝혀지는 모습을 확인하세요.

활용 사례 — Petersen 그래프

유명한 Petersen 그래프(정점 10개, 간선 15개, 3-정규 그래프)는 해밀턴 경로는 있지만 해밀턴 회로는 없는 그래프의 대표적인 교재 예시입니다. 다음을 간선 리스트 필드에 붙여넣고 검사를 클릭해 보세요.

1-2, 2-3, 3-4, 4-5, 5-1, 6-8, 8-10, 10-7, 7-9, 9-6, 1-6, 2-7, 3-8, 4-9, 5-10

검사기는 해밀턴 경로(예: 1 — 2 — 7 — 10 — 5 — 4 — 9 — 6 — 8 — 3)를 찾아 확인해 주지만, 전수 조사를 통해 시작점으로 돌아오는 회로는 없음을 확인해 줍니다. 이는 1890년대에 처음 증명된 결과입니다.

일반적인 응용 분야

자주 묻는 질문

해밀턴 경로란 무엇인가요?

해밀턴 경로는 그래프의 모든 정점을 정확히 한 번씩 방문하는 경로입니다. 1857년 정십이면체 그래프에서 이 문제를 연구한 William Rowan Hamilton의 이름을 따서 명명되었습니다. 이러한 경로의 존재 여부를 결정하는 것은 NP-완전 문제이므로, 모든 그래프에 대해 다항 시간 내에 해결할 수 있는 알고리즘은 알려져 있지 않습니다.

해밀턴 회로는 해밀턴 경로와 어떻게 다른가요?

해밀턴 회로는 시작 정점으로 다시 돌아와 모든 정점을 정확히 한 번씩 방문하는 폐루프를 형성하는 해밀턴 경로입니다. 모든 해밀턴 회로는 해밀턴 경로를 포함하지만(마지막 간선을 제외하면 됨), 그 반대는 성립하지 않습니다. 많은 그래프가 해밀턴 경로는 가지지만 해밀턴 회로는 가지지 않습니다.

Dirac의 정리는 무엇을 말하나요?

Dirac의 정리(1952)에 따르면, 정점의 개수 n이 3 이상인 단순 무향 그래프에서 모든 정점의 차수가 n/2 이상이면 해밀턴 회로를 포함합니다. 이는 충분 조건이지만 필요 조건은 아닙니다. Dirac 임계값을 충족하지 못하는 많은 그래프도 여전히 해밀턴 회로를 가질 수 있습니다.

Ore의 정리는 무엇을 말하나요?

Ore의 정리(1960)에 따르면, 정점의 개수 n이 3 이상인 단순 그래프에서 인접하지 않은 모든 정점 쌍 u와 v에 대해 두 정점의 차수 합이 n 이상이면 해당 그래프는 해밀턴 회로를 가집니다. Ore의 조건은 Dirac의 조건보다 약하므로, Dirac의 정리가 적용되는 모든 경우에 Ore의 정리도 적용됩니다.

왜 탐색이 20개 정점으로 제한되나요?

해밀턴 경로 및 회로 결정 문제는 NP-완전 문제입니다. 최악의 경우 실행 시간은 정점 수에 따라 기하급수적으로 증가합니다. 가지치기와 Warnsdorff 휴리스틱을 통해 본 계산기는 정점 20개까지의 많은 소규모 그래프를 빠르게 처리하지만, 더 복잡한 사례는 타임아웃이 발생할 수 있습니다. 20개 정점을 초과하는 경우 Concorde 또는 정수 계획법 수식과 같은 전문 솔버를 사용해야 합니다.

Warnsdorff 휴리스틱이란 무엇인가요?

1823년 기사의 여행(Knight's tour) 문제를 위해 제안된 Warnsdorff의 규칙은 매 단계마다 방문하지 않은 이웃 정점 중 남은 이웃 정점 수가 가장 적은 다음 정점을 방문해야 한다는 것입니다. 이 탐욕적 방식은 실제 백트래킹 트리를 획기적으로 가지치기하며, 정규 그래프에서 백트래킹 없이 해밀턴 경로를 찾는 경우가 많습니다.

이 도구는 모든 해밀턴 경로를 찾아주나요?

아니요. 경로 또는 회로가 존재하는 경우 하나의 증거 시퀀스만 찾습니다. 해밀턴 경로의 총 개수를 세는 것은 그 자체로 #P-완전 문제이며, 결정 문제보다 훨씬 어렵습니다. 열거(enumeration)를 위해서는 전용 도구나 정수 계획법 솔버가 더 적합합니다.

더 읽어보기

이 콘텐츠, 페이지 또는 도구를 다음과 같이 인용하세요:

"해밀턴 경로 검사기 (Hamiltonian Path Checker)" - https://MiniWebtool.com/ko/해밀턴-경로-검사기/에서 MiniWebtool 인용, https://MiniWebtool.com/

miniwebtool 팀 제작. 업데이트: 2026년 4월 21일

또한 저희의 AI 수학 해결사 GPT를 사용하여 자연어 질문과 답변으로 수학 문제를 해결할 수 있습니다.

기타 관련 도구:

고급 수학 연산 도구:

주요 도구:

인스타그램 사용자 ID 조회애너그램 생성기방어율 계산기랜덤 이름 생성기WAR 계산기공백 제거상대 표준 편차 계산기소인수분해 계산기16진수 변환기cm에서 피트와 인치로 변환기내 행운의 숫자는?몫과 나머지 계산기이미지 분할기시저 암호 도구CAGR 계산기🎮 게임 감도 변환기난수 선택기OPS 계산기16진수에서 10진수로 변환기무작위 초능력 생성기월경주기 계산기로마-숫자-변환기백분율 오류 계산기파운드→킬로그램 변환기최소공배수 계산기피트 인치 센티미터 변환기이닝당 적중률(WHIP) 계산기줄 바꿈 제거10진수를 16진수로 변환랜덤 생일 생성기사랑 궁합 계산기분수에서 소수로 계산기소수 검사기무작위 토너먼트 대진표 생성기야구 장타율 계산기즉시 연금 계산기FPS 변환기러닝 페이스 계산기마라톤 페이스 계산기무작위 문자열 생성기야구 배팅 계산기암호화폐 레버리지 계산기모스 부호 생성기MAC-주소-조회Z 점수 계산기랜덤 영어 단어 생성기분수 백분율 변환기십진수에서 이진수로 변환기백분율 증가 계산기주사위 굴리기Hex-계산기최대 공약수 계산기FIP 계산기온라인 문장 부호 제거 도구기울기 및 경사 계산기계단 계산기랜덤 그룹 생성기표준 오차 계산기변화율 계산기배당 수익률 계산기자동차 감가상각 계산기토크 변환기 (Nm, ft-lb, kgf-cm)스도쿠 생성기 및 풀이기잘고 텍스트 생성기이진수를 십진수로 변환주식 손익 계산기kg에서 파운드로 변환기수면 계산기중앙값 절대 편차 계산기비디오 이미지 추출기ppm에서 퍼센트 변환기복리 계산기📅 날짜 계산기확률 분포 계산기초과 근무 수당 계산기출루율 계산기💧 이슬점 계산기기대 수명 계산기빈 줄 제거근무 시간 계산기매출총이익 계산기⏱️ 시간 계산기키 백분위수 계산기1RM (1회 최대 반복) 계산기타이어 크기 계산기임신 날짜 계산기걸음 수 거리 계산기복리 저축 계산기직각삼각형 계산기아크코사인 (Arccos) 계산기연중 일수 계산기 - 오늘은 올해의 몇 번째 날인가요중앙값 계산기태양, 달 & 상승궁 계산기 🌞🌙✨랜덤 동물 생성기바코드 생성기빗변 계산기단어 찾기 퍼즐 생성기타원 둘레 계산기퍼센트 감소 계산기VO2 Max 계산기암산 트레이너구구단 퀴즈받아올림과 받아내림 시각화 도구수의 가르기 모으기 생성기동전 문장제 풀이거리 속력 시간 삼각형 계산기작업 속도 문제 해결기혼합 문제 해결기나이 문제 해결기기차 만남 문제 해결기수분 보충 계산기페이스 칼로리 계산기약물 용량 계산기알코올 칼로리 계산기바디 리컴포지션 계산기랜덤 토론 주제 생성기랜덤 고양이 강아지 이름 생성기랜덤 성경 구절 생성기랜덤 수학 문제 생성기랜덤 단락 생성기랜덤 영어 문장 생성기자갈, 모래, 표토 계산기강철 무게 계산기볼트 토크 계산기배관 유량 계산기보 하중 계산기달러 금 변환기Options Probability Calculator주식 분할 계산기ESPP 계산기청구서 연체료 계산기프리랜서 시급 계산기리스 vs 구매 계산기고급 팁 분할 계산기짐 싸기 목록 생성기시차 적응 계산기여행 예산 계산기비행 거리 계산기열 손실 계산기전력 발전 비용 계산기물 사용량 계산기가전제품 전기요금 계산기가정 에너지 감사 계산기태양광 ROI 계산기태양광 패널 계산기퇴비 C:N 비율 계산기잔디 비료 계산기서리 날짜 계산기높은 텃밭 흙 계산기NPK 비료 계산기종자 발아율 계산기Video Bitrate Calculator음악 조성 변환기음악 BPM 탭 측정기사진 파일 용량 계산기메가픽셀 인쇄 크기 계산기크롭 팩터 계산기노출 삼각형 계산기차량 견인 용량 계산기자동차 리스 계산기0–60 및 쿼터마일 계산기전기차 충전 시간 계산기EV 주행거리 계산기연비 계산기의류 사이즈 변환기용지 크기 참고표반지 사이즈 변환기천문단위 변환기연비 변환기데이터 전송 속도 변환기취소선 텍스트 생성기공백 문자 시각화 도구읽기 시간 계산기발표 시간 계산기단락 카운터문장 카운터음절 계산기텍스트 이진수/16진수/ASCII 변환기Lorem Picsum / 플레이스홀더 이미지 생성기.env 파일 생성기Git 명령어 생성기색상 코드 변환기 모든 형식Bcrypt 해시 생성기 검사기JWT 생성기CSS Grid Generator수치 적분 계산기Z-Transform 계산기고속 푸리에 변환 (FFT) 계산기텐서 곱 계산기행렬 지수 계산기조르당 표준형 계산기환과 체 계산기군론 위수 계산기상미분 방정식 시스템 솔버베르누이 미분방정식 계산기오일러 방법 계산기방향장 / 기울기장 플로터2계 상미분방정식 해결사1계 상미분방정식 해결사안정된 결혼 문제 해결기네트워크 플로우 계산기 (최대 유량)평면 그래프 검사기해밀턴 경로 검사기 (Hamiltonian Path Checker)외판원 문제 솔버 (TSP)선형 계획법 솔버포함배제 계산기점화식 솔버인접 행렬 계산기위상 정렬 계산기그래프 채색 계산기논리 게이트 시뮬레이터카르노 맵 (K-Map) 솔버불 대수 간소화기분할 함수 계산기디지털 루트 계산기피보나치 수 검사기이집트 분수 계산기뫼비우스 함수 계산기골드바흐 추측 검증기메르센 소수 체커쌍둥이 소수 찾기친화수 검사기완전수 검사기모듈러 거듭제곱 계산기중복순열 계산기효과 크기 계산기상대위험도 계산기오즈비 계산기분할표 계산기피셔 정확 검정 계산기스피어만 순위 상관 계수 계산기베타 분포 계산기와이블 분포 계산기지수 분포 계산기기하 분포 계산기음이항분포 계산기초기하 분포 계산기F-검정 / F-분포 계산기베이즈 정리 계산기특성 다항식 계산기행렬 거듭제곱 계산기촐레스키 분해 계산기QR 분해 계산기행렬 대각화 계산기크라메르 법칙 계산기열공간 계산기영공간 계산기벡터 사이의 각도 계산기단위 벡터 계산기벡터 크기 계산기벡터 외적 계산기내적 계산기행렬 곱셈 계산기역행렬 계산기RREF 계산기 (행 사다리꼴)뉴턴 방법 계산기야코비 행렬 계산기면적분 계산기선적분 계산기cURL 계산기발산 계산기그래디언트 계산기 (다변수)최적화 계산기 (미적분)관련 변화율 계산기순간 변화율 계산기평균 변화율 계산기무한 급수 합 계산기급수 수렴 판정 계산기거듭제곱 급수 계산기매클로린 급수 계산기로피탈의 정리 계산기이상적분 계산기심프슨 법칙 계산기사다리꼴 공식 계산기리만 합 계산기매개변수 곡선 그래프 도구회전체 표면적 계산기회전체 부피 계산기좌표기하 거리 계산기헤론의 공식 계산기원의 접선 계산기각의 이등분선 계산기내접원 계산기외접원 계산기대권 거리 계산기3D 거리 계산기토러스 계산기원뿔대 계산기불규칙 다각형 면적 계산기정다각형 계산기원뿔 곡선 식별기쌍곡선 계산기포물선 계산기이항정리 전개 계산기파스칼의 삼각형 생성기곱 표기법 계산기 (Pi Notation)시그마 표기법 계산기 (합산)유리근 정리 계산기데카르트 부호 법칙 계산기평행선 및 수직선 계산기직선의 방정식 계산기표준형에서 기울기 절편형 변환기점 기울기 형태 계산기비선형 연립방정식 풀이기유리 방정식 풀이문자 방정식 풀이기삼각 방정식 풀이기지수 방정식 풀이기로그 방정식 풀이기사차방정식 계산기삼차방정식 풀이기어림 계산기숫자 분수 변환기건너뛰기 세기 생성기단위 요금 계산기천장 함수와 바닥 함수 계산기절댓값 계산기숫자 패턴 찾기자릿값 차트 생성기연산 순서 계산기 (PEMDAS)세로 덧셈 뺄셈 계산기긴 곱셈 계산기구구단표 생성기🎮 게임 화폐 변환기🎲 드롭 확률 계산기🎰 가챠 천장 계산기⚔️ DPS 계산기❄️ 눈 오는 날 계산기🚚 이사 비용 계산기🔍 표절 검사기📷 OCR / 이미지에서 텍스트 추출📈 꺾은선 그래프 만들기🥧 파이 차트 메이커📊 막대 그래프 만들기🔊 톤 생성기🖱️ 클릭 카운터온라인 메모장⬛ 화면 비율 계산기🌍 탄소 발자국 계산기👙 브라 사이즈 계산기연료비 계산기🌡️ 열지수 계산기🌬️ 체감 온도 계산기⏰ 온라인 알람 시계⏰ 타임카드 계산기📅 날짜 차이 계산기🕐 군사 시간 변환기⏱️ 온라인 스톱워치⏱️ 카운트다운 타이머🌐 시간대 변환기카펫 계산기옹벽 계산기HVAC 용량 계산기단열재 계산기포장재 계산기철근 계산기목재 계산기평방피트 계산기교차 곱셈 계산기다섯 수 요약 계산기백분위수 계산기정규분포 계산기p-Value 계산기비율 계산기完全平方式 계산기반올림 계산기긴 나눗셈 계산기Twitter/X 글자수 카운터YouTube 댓글 추첨기YouTube 태그 추출기YouTube 썸네일 다운로더유튜브 수익 추정기무작위 RPG 캐릭터 생성기