이 환원은 정말 구조가 완벽하게 맞아떨어지는 대표적인 NP-완전 ↔ NP-완전 환원이고,
문제 간의 핵심 구조가 거의 1:1로 대응되기 때문에
이걸 보면 NP-완전 환원이 단순한 문제가 아니라는 걸 직관적으로 깨닫게 된다.
---
목적
* Hamiltonian Cycle:
→ 그래프에서 모든 정점을 정확히 한 번씩 방문하고 처음으로 돌아오는 경로가 존재하는가?
* TSP (결정판):
→ 주어진 거리 행렬이 있을 때, 모든 도시를 한 번씩 방문하는 순회 경로의 총 비용이 B 이하인가?
---
환원 개요:
> Hamiltonian Cycle 문제를 → TSP 문제로 환원
> → 즉, 순수한 "존재 여부" 문제를
> → 비용 조건이 붙은 최적화 문제 형태로 바꾸는 것.
---
환원 과정 요약
입력: 무방향 그래프 $G = (V, E)$
정점 수: $n$
만들 TSP 인스턴스:
* 도시 수: $n$개 (정점 = 도시)
* 거리 행렬 $D[i][j]$ 설정:
\[
D[i][j] =
\begin{cases}
1 & \text{if } (i, j) \in E \\
2 & \text{otherwise}
\end{cases}
\quad\text{and}\quad B = n
\]
→ 즉, 원래 그래프에 간선이 있는 곳엔 거리 1,
없는 곳엔 일부러 더 먼 거리 2를 부여한다.
---
목표 경로 길이 $B = n$
→ TSP 문제: \*\*길이 합이 $\le n$\*\*인 해밀턴 경로가 존재하는가?
---
환원의 핵심 아이디어
* 원래 그래프 $G$에 **해밀턴 순환이 있다면**
→ $n$개의 간선으로 이뤄진 경로 → 모두 간선이므로 거리 총합 = $n$
* 해밀턴 순환이 없다면
→ 순회 경로 중 반드시 거리 2가 최소 하나 포함됨
→ 총합은 $> n$
---
결론: TSP가 길이 $\le n$인 해를 가지는지 판단하면
→ 원래 그래프에 해밀턴 사이클이 존재하는지 **정확히 판별 가능**
---
이 환원이 대단한 이유
| 요소 | 이유 |
| 구조 대응 | 정점 ↔ 도시, 간선 ↔ 거리 |
| 조건 대응 | 해밀턴 경로 ↔ TSP 거리 합 조건 |
| 논리 ↔ 수치 | "존재 여부"를 "최소합 조건"으로 변환 |
| 정수 거리 | TSP가 **정수로 환원되는 것도 장점** (정확도 이슈 없음) |
---
흥미로운 점
* "논리적 경로 존재성" ↔ "최적화 경로의 비용 조건"
구조가 NP-완전 논리 ↔ 조합 최적화 문제 간 환원의 교과서급 예시
* 수학적으로도 임계값 $n$ 설정이 깔끔함
* 실용적으로는 이 구조를 근사 알고리즘 성능 판단 기준으로도 씀
'Reduction' 카테고리의 다른 글
| 3-SAT -> SUBSET SUM (0) | 2025.06.30 |
|---|---|
| 3-SAT <-> Clique (0) | 2025.06.28 |