해밀턴 NP-HARD 문제의 두 가지 정점 사이의 가장 긴 경로 사이의 NP 완성도를 증명하는 방법
-
29-09-2020 - |
문제
나는이 질문을 가지고있다 : 나는 himirected graph g (v, e) (v= 정점 집합, E= 가장자리 세트)을 가지고있다.두 개의 정점과 T :
사이의 최대 경로를 고려하십시오.LPATH = {⟨G,s,t,k⟩|There is in G a simple path as long as at least k from s to t}
.
간단한 경로는 반복되는 정점이없는 경로이며, 즉 모든 정점을 한 번만 방문 할 수 있습니다.경로의 길이는 그것이 구성되는 가장자리에서 주어집니다.
그래서 LPATH는 해밀턴 경로 문제를 NP-HARD 문제로 사용하여 NP 완성 문제가 참조로 사용되는 방법은 무엇입니까?
해결책
사이트에 오신 것을 환영합니다! $ g= (v, e) $ 은 미리 보호되지 않은 그래프가되도록하십시오. $ G $ 이 해밀턴 인 경우 $ c $ 이 있습니다. Math-Container "> $ G $ , 즉 모든 정점, 즉 $ c $ 은 $ | v | $ . $ C $ 에서 $ VW $ 을 삭제하면, 당신은 경로로 끝납니다. 길이 $ | v | - $ v $ 및 $ W $ 사이의 1 $ . 반대로, 간단한 경로 $ P $ 길이 $ | v | - 1 $ $ V, W $ 에지에 연결된, 가장자리 $를 추가 할 수 있습니다. $ P $ ( $ p $ ) $ VW $ 간단한 경로로 인해). 또한 $ v $ 및 $ W $ 은 자신이 연결되어있는 한 임의적입니다. 가장자리.
그래서 우리는 다음과 같은 감소를 얻을 수 있습니다 : 일부 그래프 $ g= (v, e) $ 을 선택하여 일부 가장자리 $ vw \ in e $ 새로운 그래프 $ g '= (v, e \ setminus \ \ e \}) $ 을 삭제합니다. 우리가 만든 관찰을 사용하여 $ g '$ 은 $ p $ $ v $ 및 $ W $ $ | v | - 1 $ $ VW $ 에 $ P $ 에 추가하는 경우 해밀턴의 원래 그래프 $ G $ 을 순환하십시오. $ g '$ 은 $ g $ 에서 다항식 시간에 계산 될 수 있습니다, 우리는 다항식 감소 < SPAN 클래스="수학 용기"> $ \ mathrm {해밀턴 타이클} \ leq_ \ mathsf {p \ \ mathsf {p} \ mathrm {long path} $ 이므로 문제가 $ \ mathsf {np} $ - 하드 ( $ \ mathrm {해밀턴 티어 사이클} $ 은 $입니다. \ mathsf {np} $ - 이미 이미).
$ \ mathrm {long path} $} $ \ span 클래스="수학 컨테이너"> $ \ mathsf {np} $ 그래프의 경로는 가장자리 목록으로 효율적으로 인코딩하고 문자열이 실제로 그래프의 경로를 실제로 인코딩 한 다음 가장자리 수를 계산하여 다항식에서 충분히 길게 할 수 있는지 여부를 결정할 수 있는지 확인합니다. 시간.
$ \ mathrm {long path} $ \ span class="수학 컨테이너"> $ \ mathsf {np} $ -Complete.