최소한 K 가장자리가 떨어져있는 두 경로를 찾는 방법은 NP-HARD입니까?
문제
$ g= (v, e) $ 은 가중치가없고, 탐지되지 않은 그래프가되어 있습니다. $ S_1 $ 및 $ S_2 $ 및 두 개의 끝 정점 $ T_1 $ 및 $ t_2 $ 은 $ s_1 $ 의 경로가 있습니다. $ T_1 $ 및 $ S_2 $ $ T_2 $ 2 개의 경로 사이의 가장 가까운 가장자리가 적어도 $ k $ 이되도록? 두 번째 경로의 첫 번째 경로의 첫 번째 경로의 첫 번째 경로의 첫 번째 경로 간의 최소 거리의 최소 거리가 $ k $ 닫기 컨테이너 "> $ k $ .
나는 3sat에서 줄이고 첫 번째 경로가 변수를 나타내는 것을 방지하고 두 번째 경로는 절을 나타내지 만, 나는 거기에서 어디로 가는지 확신하지 못합니다.
해결책
3sat에서 축소 할 수 있습니다.
그래프에는 두 부분이 있습니다. 한 부분은 "변수"부분입니다. 각 변수 $ V_1, \ LDOTS, V_N $ $ V_I ^ +, v_i ^ - , v_i $ 이 부품은 $ i \ in [n] $ :
에 대해 다음 가장자리로 구성됩니다.$$ (v_ {i-1}, v_i ^ +), (v_ {i-1}, v_i ^ -), (v_i ^ +, v_i), ( v_i ^ -, v_i) $$
여기 $ V_0 $ 은 $ s_1 $ 및 $ V_N $ 은 $ T_1 $ 으로 식별됩니다.
두 번째 부분은 "절"부분입니다. 각 클로스 $ C_1, \ LDOS, C_M $ 4 개의 정점 $ w_j ^ 1, w_j ^ 2, w_j ^ 3, w_j $ , $ s_2 $ 및 $ T_2 $ .
$ v_i ^ b $ $ w_j ^ r $ 길이의 경로를 통해 스팬 클래스="수학 용기"> $ k $ (충분히 일정한 일정한 $ k $ 의 경우 수학 $ v_i ^ b $ ( $ v_i $ 또는 $ \ overline {v_i} $ < / span class="수학 용기"> $ b $ 에 따르면 $ j $ 의 반대 스팬> 'Span 클래스="수학 용기"> $ C_J $
또한 우리는이 경로의 모든 마음 점을 가져 와서 모든 것을 연결합니다 (그들을 다루게하십시오).
우리는 $ (s_1, t_1) $ - 진실 할당 및 $의 경로를 생각할 수 있습니다. (S_2, T_2) $ - 각 절에서 만족 된 리터럴을 식별하는 것으로 경로. 최소한의 거리는 $ k $ 이 경우 실제로 사실이고 $ k $ ...에
또한 부품간에 경로가 교차 할 수있는 지점이 없음을 확인해야합니다. 경로 중 하나만 가르면 두 경로가 함께 가깝게됩니다 (일정한 거리에서 $ k $ 가 $ k $ ) 횡단 직후. 둘 다 십자가, 중간 점 다우리는 대부분의 거리에 있는지 확인합니다.