유 방향 그래프 진단이 NP-hard임을 증명


11

나는 한동안 머리를 부딪친 숙제를 받았으며 어떤 힌트라도 감사하겠습니다. NP- 완전성이 입증 된 알려진 문제를 선택하고 그 문제에서 다음 문제로의 축소를 구성하는 것을 DGD (지정 그래프 진단)라고합니다.

문제

DGD 의 인스턴스는 꼭짓점 , 지정 모서리 및 양의 정수 됩니다. 세 가지 유형의 꼭지점이 있습니다 : 들어오는 모서리 만있는 꼭지점, 나가는 모서리 만있는 꼭지점 및 들어오는 모서리와 나가는 모서리 꼭지점입니다 . 또한 보자 .(V,E,k)V=I∪.O∪.BEkIOBD=O×I

이제 문제는 우리가 가장에서 모든 노드를 포함 할 수 있는지 여부입니다 의 요소 , 즉kD

∃S⊆D,|S|≤k. ∀v∈V. ∃(v1,v2)∈S. v1→∗v→∗v2

여기서 는 에서 로의 경로가 있음을 의미합니다 .a→∗bab


Dominating Set 문제는 ​​내가 줄여야 할 문제라고 생각합니다.이 또한 다른 하위 집합으로 노드의 하위 집합을 다루는 것에 관련되어 있기 때문입니다. 먼저 지배 세트의 각 요소에 대해 두 개의 노드를 작성하고 모든 모서리를 복사 한 다음 DGD 인스턴스 의 를 DS 인스턴스 의 와 동일하게 설정 하여 DGD 인스턴스를 작성하려고했습니다.k

노드 , 및 및 엣지 및 가진 간단한 DS 인스턴스를 가정하십시오 . 이것은 인 예 인스턴스입니다 . 이 경우의 지배 세트는 노드 로만 구성됩니다 . 방금 설명한 방법으로 축소하면 두 개의 경로 와 의 DGD 인스턴스가됩니다 . 모든 노드를 커버하기 위해서는 한 쌍 만으로 충분합니다. 물론 DS 인스턴스의 지배적 인 세트가 다항식 시간으로 결정될 수는 없기 때문에 완벽하게 작동했을 것입니다.123(1,2)(1,3)k=11(1→2→1′)(1→3→1′)(1,1′)

축소 할 때 가장자리와 정점을 변환하는 좋은 방법이 많이 있다는 것을 알았지 만 내 문제는 어떻게 든 DGD의 를 DS의 입니다. 지배적 인 세트는 줄이는 데 문제가있는 것처럼 보였지만,이 때문에 나는 가없는 문제를 줄이기 위해 노력해야한다고 생각 합니까?kkk


어서 오십시오! 나는 문제 진술을 명확히하려고 노력했다. 이것이 당신이 의미 한 바입니까? Btw, "user8879"보다 더 인식 가능한 사용자 이름을 선택할 수 있습니다. :)
— Raphael

예, 감사합니다. 이것은 실제로 더 컴팩트 한 버전입니다.
— user8879

답변:


9

대신 NP- 완료 SET-COVER 에서 줄이십시오 .

세트 커버의 인스턴스 으로 을 보자 . 다음 과 같이 DGD 의 인스턴스 를 정의하십시오 .S1,…,Sm⊆{1,…,n}k∈N(V,E,k′)

  • V={s1,…,sm,o1,…,om,e1,…,en,o}
  • E={(si,oi)∣i=1,…,n}∪{(si,ej)∣j∈Si}∪{(ej,o)∣j=1,…,n}
  • k′=m+k

주어진 세트 커버 인스턴스에 긍정적 인 답변이있는 경우에만 구성된 DGD 인스턴스에 긍정적 인 답변이 있음을 쉽게 알 수 있습니다. 특히, 모든 를 커버하기 위해 모든 쌍 이 선택 한다. 다음 의 쌍 모두 커버 할 하고, 그 선택의 첫 번째 요소는 SET-COVER 인스턴스의 용액이다. 그러한 선택이 불가능하면 SET-COVER 인스턴스에도 해결책이 없습니다.m(si,oi)oikm(si,o)ej

다항식 시간에 구성이 가능 SET-COVER DGD를 증명 합니다.≤p


예를 들어, Wikipedia에 제공된 예제 세트 표지 인스턴스 , 즉 하고 . 이것은 다음 그래프로 변환됩니다.{1,2,3,4,5}S={{1,2,3},{2,4},{3,4},{4,5}}

예
[ 출처 ]


1
이것은 I 와 B 가 실제로 완전히 덮여 있지만 O 는 그렇지 않다는 점에서 거의 정확합니다 . set-cover 인스턴스는 k = 2에 대한 yes- 인스턴스 이지만 DGD 인스턴스에서 k = 2는 s2 및 s3을 가리지 않습니다. 나는 이것이 아마 자동으로 각 노드에서 우위를 추가하여 해결 될 수 있다고 생각 O 에 오 .
— user8879

@ user8879 : 오 젠장. 문제가 발생하는 방식에 따라 모서리 는 문제를 해결하지 못합니다 를 다루 포함 된 하나 이상의 쌍이 필요 하기 때문입니다 . s i S(si,o)siS
— Raphael

지금 얻었다 : 추가 노드에서 작성 B를 각 노드에 대해 O , 다음에 대응 노드의 IT에 연결 O 하고 O . 이 예에서는 4 개의 추가 경로 (s1-> s1 '-> o 등)를 얻습니다. 마지막으로 k 를 4로 늘리면 완료됩니다.
— user8879

@ user8879 : 지금 고쳤습니다. 모든 를 다루기 위해서는 추가 노드가 필요 하지만 크기는 다항식입니다. (오, 당신은 내가 고치는 동안 논평했다, 잘했다.)si
— Raphael
당사 사이트를 사용함과 동시에 당사의 쿠키 정책과 개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.