있는
알고리즘이 아직 발견되지 않음없다고
증명하지 못함근사해의 값과 최적해의 값의 비율
1.0에 가까울수록 정확도가 높은 알고리즘
근사 비율을 계산하려면 최적해를 알아야 하는 모순 발생
최적해를 대신할 수 있는 ‘간접적인’ 최적해를 찾고, 이를 최적해로 삼아서 근사 비율을 계산!
모든 도시를 1번씩만
방문 -> 다시 출발했던 도시로 돌아오는 여행 경로의 길이를 최소화
하는 문제다항식 시간 알고리즘
을 가지면서 유사한 특성
을 가진 문제를 찾아서 활용
1. 최소신장트리 찾기(크루스칼, 프림)
도시 방문 순서 구하기
중복 제거하기(삼각 부등식 특성 이용)
Approx_MST_TSP(){
MST 찾기;
방문 순서 구하기;
중복 제거하기;
return 도시 순서
}
MST 시간복잡도
적어도 하나의 끝점을 포함
하는 점들의 집합들 중에서 최소 크기
의 집합을 찾는 문제모든 선분
을 커버
하는 것이다.최소의 카메라 수(정점 개수)
와 각 카메라의 위치
를 구하는 것과 동일하다.양 끝점에 인접한 선분
모두 커버
양 끝점
들이 이미 선택된 선분의 양 끝점들의 집합
에 포함되지 않을
때에만 선택됨
- 선택된 선분의 양 끝점 (파란색 점)들이 점선으로 표시된 선분을 모두 커버하므로, 점선 선분은 이후에 정점 커버 선분으로 선택되지 않음
- 이렇게 계속 선택될 선분이 없을 때까지 반복
입력: 그래프 G=(V,E)
출력: 정점 커버
Approx_Matching_VC(G){
입력 그래프에서 극대 매칭 M을 찾기;
return 매칭 M의 선분의 양 끝점들의 집합;
}
간접적인
최적해로 사용