논리적 Min-Cut NP-Complete입니까?


24

LMC (Logical Min Cut) 문제 정의

가 가중이 아닌 그래프이고 및 가 두 꼭짓점 이고 가 에서 도달 할 수 있다고 가정합니다 . 우리가 할 수있는 방법을 LMC 문제 연구 에서 도달 할 수 일부 가장자리의 제거에 의해 다음과 같은 제약 다음s t V t s t sG=(V,E)stVtstsG

  1. 제거 된 모서리의 수는 최소 여야합니다.
  2. 꼭지점의 모든 출구 모서리를 제거 할 수는 없습니다 (즉, 나가는 모서리가있는 꼭지점이 모든 나가는 모서리를 제거 할 수 없음).G

이 두 번째 제약 조건을 논리적 제거라고합니다. 우리가 찾아 그래서 논리적, 최소한의 제거 의 일부 가장자리의 있도록 에서 도달 할 수없는 것 .tGts

솔루션 시도

LMC 문제의 논리적 제거 제약 조건을 무시하면 가중치가없는 di 그래프 에서 최소 자르기 문제가 되므로 다항식으로 해결할 수 있습니다 (최대 흐름 최소 자르기 정리).G

우리는 LMC 문제의 최소한의 제거 제약 조건을 무시하면, 그것은 DAG에 다시 풀 수 다항식 될 것입니다 : 정점 찾을 등이 에서 연결할 수있는 와 에서 도달 할 수없는 . 그런 다음 에서 까지 임의의 경로 인 경로 를 고려하십시오 . 이제 경로 를 의 하위 그래프로 고려하십시오 . 답은 하위 그래프 의 모든 종료 가장자리가 됩니다. 정점 는 다항식 시간 으로 DFS에 의해 발견 될 수 있음 이 명백하다 . 불행히도이 알고리즘 은 일반적으로 작동하지 않습니다k s t k p s k p G p k GkkstkpskpGpkG 임의의 방향 그래프.

동적 프로그래밍 기술로 LMC 문제를 해결하려고 시도했지만 문제를 해결하는 데 필요한 상태 수가 기하 급수적으로 증가했습니다. 또한 3-SAT, max2Sat, max-cut 및 LMC 문제와 같은 NP-Complete 문제를 줄이기 위해 노력했지만 축소를 찾지 못했습니다.

나는 개인적으로 가 이진 DAG (즉, 노드가 2보다 크지 않은 DAG) 인 경우에도 LMC 문제가 NP-Complete이라고 생각합니다 .G

질문

  1. LMC 문제가 임의의 그래프 에서 NP-Complete 입니까? (주된 질문)G
  2. LMC 문제가 임의의 DAG 에서 NP-Complete 입니까?G
  3. LMC 문제가 임의의 이진 DAG 에서 NP-Complete 입니까?G

그래프가 방향지정되지 않으면 문제가 있다고 확신합니다 . 귀하의 질문에 충분한 답변이 되었습니까? P
Alex ten Brink

@SaeedAmiri : 및 대한 최소 컷을 찾으십시오 . 정점의 연결을 끊으면이 정점은 또는 이어야합니다 . 둘 다라면 그러한 최소 컷이 없습니다. 가 연결이 끊어진 정점과 모서리 라고 가정하십시오 . 이 모서리를 제거하고 및 재귀 적 으로 축소합니다 . t s t t ( t , v ) s vststt(t,v)sv
Alex ten Brink

간단한 관찰로 다음과 같은 문제가 NP-Complete이면 LMC 문제도 NP-Complete이 될 것이라고 결론을 내릴 수 있습니다 . 가 그래프 라고 가정합니다 . 우리는에 분 컷이 어떻게 G (파티션 VST 일에서 가장자리의 수 ST 최소한을)과 정점이 존재하지 않는 에 속해 V 일의 모든 출구 에지의 머리 V가 속한 로 T (출구 에지로부터 S 까지G=(V,E)GVSTSTvVvTS ). T
amirv


2
Amirv는 단지 제약 조건 (2)의 문제에 대해 내가 알기로 제안하는 알고리즘이 옳지 않습니다. 모든 노드 v에 대해 s에서 v 로의 경로와 v에서 t 로의 경로가 있지만 해결책이있을 수 있습니다. V = { s , t , a }E = { ( s , t ) , ( s , a ) , ( a , s ) } 인 그래프 를 고려하십시오 .G=(V,E)V={s,t,a}E={(s,t),(s,a),(a,s)}
닐 영

답변:


1

G = (V, E)를 가중 DAG로, s 및 t를 G의 두 꼭짓점으로하고, LSTMC = (G, s, t)를 논리적 st min-cut 문제의 인스턴스로 둡니다. LSTMC 문제가 NP라는 것은 명백하지만 이제 LSTMC가 NP-Hard임을 보여 주어야합니다. 타격 세트 문제를 LSTMC 문제로 줄입니다. S = {s1, s2, ..., sn}을 주어진 세트로하고 {a1, a2, ..., am}을 모든 세트의 합집합이라고합니다. 수 k1이 주어지면, 타격 세트 문제의 결정 문제는 k의 원소를 갖는 세트 A가 존재하는지 여부를 나타내며, 따라서 S의 모든 원소 (모든 세트 si st i = 1..n)는 적어도 하나의 원소 A를 포함한다. 타격 세트 문제를 HS (S)로 나타냅니다. 알고리즘 HS2LSTMC에 의해 세트 S로부터 가중 된 DAG G '를 구성한다. 이 알고리즘은 s를 DAG G '의 소스 정점으로 간주합니다. HS st i = 1..n의 각 집합에 대해 알고리즘은 해당 정점을 고려합니다. si이며 s에서 각 si까지 무한 가중치를 가진 모서리를 추가합니다. 그런 다음 입력 집합의 합집합 st j = 1..m의 각 요소 aj에 대해 알고리즘은 해당 정점 aj를 고려하고 각 si의 가중치가 0 인 모서리를 HS의 aj st aj ∈si에 추가합니다. 마지막으로, 알고리즘은 t와 k라는 두 개의 최종 정점을 고려하고 각 정점에서 두 정점에 두 개의 모서리를 추가합니다. G '는 다항식 시간으로 만들어 질 수 있음이 분명하다.

이제 LSTMC = (G ', s, t)에 논리적으로 제거 된 모서리에 대한 답이 있고 제거 된 모서리의 가중치의 합이 다음과 같은 경우에만 HS (S)에 k1 요소에 대한 답이 있음을 증명해야합니다. k1.

간단하게하기 위해 예제를 제공하여이 증명 부분을 수행합니다.

다음 그림에서 s1 = {1, 2, 3}, s2 = {1, 4} 및 s3 = {2, 5}가되도록 S = {s1, s2, s3}이라고 가정하십시오. 도 2는 타격 설정 문제 HS (S)에 대응하는 LSTMC 문제의 가중 DAG G '를 도시한다. 이 예에서 집합 A, 즉 S의 모든 요소의 합집합은 A = {1, 2, 3, 4, 5}입니다. 우리는 | S | = 3 및 | A | = 5.이 예는 가중 DAG에서 논리적 st min-cut 문제의 특정 인스턴스의 도움으로 적중 세트 문제의 임의 인스턴스를 해결하는 방법을 보여줍니다. LSTMC = (G ', s, t)에 대한 답을 계산하고 E1 (1 ≤ j ≤ m)이라고하는 (aj, t) 형태의 답의 제거 된 모서리를 고려하면 꼬리 세트는 E1은 HS (S)에 대한 답변입니다. LSTMC 문제에 대한 답은 에지 세트 E1 = {(s1, 2), (s1, 3), (s2, 4), (s3, 5), (1, t), (2, t)}입니다. 따라서 부분 집합 E2 = {(1, t), (2,

절감


0

다음은 임의의 이진 DAG 에 대한 LMC에 대한 다항식 시간 알고리즘입니다 .G

질문 3 번에 답합니다. (미묘한 글쓰기는 미리 죄송합니다. :))

시작하려면 에서 도달 할 수없는 정점을 "영구적으로"버립니다 . 그들이 어떤의 일부가 아닌 것 때문에 우리는이에 대해 걱정하지 않는다 S - t의 경로.sst

그런 다음 처음에는 비어있는 하위 DAG B를 정의하십시오 . 그런 다음 모든 정점에 대해 v G { s , t } ,ABvG{s,t}

에서 t 까지의 경로가 있는지 테스트하십시오 . 그렇다면 vA에 추가하십시오 . 그렇지 않은 경우 vB에 추가하십시오 .vtvAvB

가장자리하자 및 B는 어떠한 가장자리 무시 지금 각 세트 내의 버텍스에 의해 유도 된 것들을 (BE 으로부터 에 t 및 발 에 B ;도로부터 에지가없는 유의 B가t 하여 구성).ABsAAtABBt

그런 다음 의 전이 폐쇄를 계산하십시오 . 즉, 하위 DAG A 의 "잎"인 정점 { a * } 집합을 찾는 데 관심 이 있습니다 .A{a}A

이러한 수정 . 에서 지시 가장자리가 있어야한다는 관찰 *t . 구조에 의해, (I)의 존재 때문이다 (S) - (T)를 통해 경로 * (II)로부터 경로가없는 * 를 통해 B 및 이후 (ⅲ) A가 자체 DAG이고 *는 잎은 의 에서 어떠한 경로도 없다 * 다른 정점 통해 에 t는 .aatstaaBAaAaAt

이제 각 꼭짓점에서 B의 일부 꼭짓점 으로 향하는 가장자리가 있거나, { a * } 의 일부는 t에 대한 단일 가장자리를 갖습니다 . 두 경우 모두 a *t 모서리 를 삭제할 수 있습니다.{a}B{a}tat

경우 = 1, 다음 중 하나를 우리는 독특한에서 가장자리를 삭제해야합니다 *t , 또는에서 이전 정점이 - t의 포함 경로 * 에 두 개의 경로가 t을 통해 한 - * 직접 하나. 후자의 힘 홀드, 우리는 기록이 경우 *t을 "이전 버전과 탐욕"(이하이에 대한 자세한 내용을)하고 진행합니다.|{a}|atstataat

|{a}|{a}tk<|{a}|As{a}t

G

{a}

{a}B

{a}{a}t{a}

{a}{a}

{a}ts

{a}

{a}t{a}tsts

A

O(|E|)O(|E|2)O(|E|).

O(|V|(|V|+|E|))O(|V|3)O(|E|2)O(|V|2+|E||V|+|V|3+|E|2)=O(|V|3+|E|2)

st


{a}B{a}t(a,t)a{a}

s{a}aA

2
결국이 문제가 NP-Complete임을 증명할 수있었습니다.
amirv

1
오 @amirv, 제발 이렇게 대답의 형태로 공유에게 증거의 개요를!
Raphael

1
기본 digraph가 비가 중 이진 DAG 인 경우에도 문제는 NP-Complete입니다.
amirv
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.