하프 클릭-NP 완료 문제


20

숙제 문제라는 점에서 시작 하겠습니다. 조언과 관련 관찰 만 제공하십시오 . 직접적인 답변은 없습니다 . 그 말로, 내가보고있는 문제는 다음과 같습니다.

HALF-CLIQUE = { | 는 적어도 노드 를 가진 완전한 서브 그래프를 갖는 무 방향 그래프 이며, 여기서 n은 } 의 노드 수입니다 . HALF-CLIQUE가 NP- 완료임을 보여줍니다.G N / 2 G⟨G⟩Gn/2G

또한 다음을 알고 있습니다.

  • 이 문제의 관점에서, clique 는 입력 그래프의 방향이없는 서브 그래프로 정의되며, 두 노드마다 에지에 의해 연결됩니다. -clique는 포함 파벌 인 노드를.kk
  • 우리 교과서에 따르면 Michael Sipser의 " 계산 이론 입문 ", 268 페이지, CLIQUE = { | 는 -clique}가 NP 인 무 방향 그래프입니다.G K⟨G,k⟩Gk
  • 또한 동일한 출처 (283 페이지)에 따르면 CLIQUE는 NP-Complpete에 있습니다 (따라서 NP에도 있음).

나는 여기에 대답의 핵심을 가지고 있다고 생각하지만, 무엇이 잘못되었는지 또는 대답과 관련이있을 수있는 관련 포인트에 대한 표시를 사용할 수 있습니다 . 이것이 제가 지금까지 가지고있는 일반적인 아이디어입니다.

먼저 인증서는 단순히 의 HALF-QLIQUE 일 것입니다 . 이제 내가해야 할 일은 CLIQUE (NP 완료라고 함)에서 HALF-CLIQUE로 다항식 시간 단축 인 검증기를 작성하는 것 같습니다. 내 생각은 이것이 HALF-CLIQUE에 대한 추가 제약 조건으로 CLIQUE에 대한 책에서 튜링 머신 검증기를 실행하는 튜링 머신을 생성하여 수행된다는 것입니다.size≥n/2

이것은 나에게 맞는 것처럼 들리지만, 나는이 주제에 대해 아직 자신을 믿지 않습니다. 다시 한 번, 이 문제가 숙제라는 것을 모두에게 상기시켜 드리고자 하므로 질문에 답변하지 않도록 노력하십시오. 이것에 미치지 못하는 지침은 가장 환영받을 것입니다!

답변:


15

설명과 의견으로 판단하면 NP- 완전성을 증명하기 위해 축소를 사용하는 방법에 대한 정확한 설명을 통해 도움을받을 수 있습니다.

문제는 NP에 있고 NP-hard 인 경우 NP-complete입니다. 즉, NP- 완전성 증명은 문제가 NP에 있다는 증거와 그것이 NP-hard라는 증거가 있습니다.

첫 번째 부분에서는 YES 인스턴스가 적절한 인증서를 사용하여 다항식 시간으로 확인할 수 있음을 보여 주어야합니다. 또는 비 결정적 튜링 머신으로 다항식 시간으로 문제를 해결할 수 있음을 보여줄 수 있지만, 일반적으로 실수가 쉽게 이루어지기 때문에 수행되지는 않습니다.

귀하의 경우, 이것은 clique 가있는 모든 그래프에 대해 실제로 그러한 clique가 있다는 증거를 찾을 수 있습니다. 실제로 그러한 파벌이 있습니다.n/2

두 번째 부분에서는 문제가 NP-hard임을 보여 주어야합니다. 이것은 거의 모든 경우에있어 문제가 적어도 다른 NP-hard 문제만큼 어렵다는 것을 증명함으로써 나타납니다. HALF-CLIQUE가 CLIQUE만큼 어렵 으면 NP-hard 여야합니다.

CLICK TO FROM HALF-CLIQUE를 줄임으로써이를 수행 할 수 있습니다. 당신은 문제를 '감소시켜'더 쉽게 만듭니다. "클릭을 해결하는 것은 어렵지만 CLIQUE를 해결하기 위해 HALF-CLIQUE 만 해결하면된다는 것을 증명했습니다." (많은 사람들, 심지어 전문가조차도 때때로 이것을 잘못된 방식으로 말합니다 :))

축소 유형에는 여러 가지가 있습니다. 가장 일반적으로 사용되는 축소는이 경우 CLIQUE 인스턴스를 다항식 시간에서 최대 다항식으로 크기가 가장 큰 HALF-CLIQUE 인스턴스에 매핑하는 축소입니다. 즉, HALF-CLIQUE를 해결할 수 있다면 알고리즘과 축소를 연결하여 CLIQUE를 해결할 수도 있습니다.

다시 말해 HALF-CLIQUE를 해결할 수 있다면 CLIQUE를 해결할 수 있음을 보여 주어야합니다. CLIQUE의 모든 인스턴스에 대해 HALF-CLIQUE의 인스턴스가 'yes'인스턴스가되도록 CLIQUE의 인스턴스가 'yes'인스턴스가되도록 HALF-CLIQUE의 인스턴스를 설계 할 수 있습니다.

증명은 따라서 다음과 같이 시작한다 : 그래프 주어진 , I 일부 그래프 만들 수 되도록 유효 성분으로서 단백질이나 IFF에 -clique를 유효 성분으로서 단백질이나 -clique한다. 나는이 부분을 당신에게 맡길 것입니다 (이것은 창의성을 요구하는 부분, 현재의 특정 문제에 관한 부분입니다).H = ( V ' , E ' ) G K H N / 2G=(V,E)H=(V′,E′)GkHn/2


훌륭한 설정, 나는 당신이 대답을하지 않고 웅변 적으로 안내하지 않고 안내 할 수있는 충분한 정보를 제공하는 데 아주 좋은 일을했다고 생각합니다. 감사합니다.
— BrotherJack April

1
나중에 참조 할 수 있도록 np-complete 의 태그 위키에 이와 같은 것을 넣어야합니다 . 해도 괜찮을까요?
— Raphael

8

조금 길을 잃은 것 같습니다. HALF-CLIQUE CLIQUE 를 표시하려고합니다 . 이는 CLIQUE 인스턴스를 입력으로 사용하고 "yes"입력이 "yes"로 맵핑되는 특성으로 HALF-CLIQUE 인스턴스를 출력하는 다중 시간 알고리즘을 찾고 있음을 의미합니다. es 및 "no"입력은 "no"로 매핑됩니다.≥

따라서, 기본적으로, 태스크 그래프 수행하는 및 다수의 및 출력 새로운 그래프 되도록 않음 (참조) 될 때마다 그 정점의 적어도 절반에 도당 갖는 크기의 도당 갖는 . k H H G kGkHHGk

아래 스포일러에는이 축소를 수행하는 방법에 대한 힌트가 있습니다.

어떤 방식 으로든 적절한 크기의 도둑을 에 연결하고 어떤 것에도 연결되지 않은 정점 수를 추가 하여 를 만드십시오 .GHG


나는 당신이 말하는 것을 이해하지 못합니다. 내가 시도한 것은 책에 사용 된 varifier를 수정하여 CLIQUE가 NP임을 증명하고 입력 그래프 G에서 실행했는지 확인하고 CLIQUE가 포함되어 있는지 확인하는 CLIQUE가 있는지 확인하여 HALF-CLIQUE를 CLIQUE로 줄이는 것입니다. 적어도 n / 2 노드, 여기서 n은 G의 노드 수입니다. HALF-CLIQUE의 그러한 검증기는 CLIQUE의 검증자가 축소 된 형태임을 보여주지 않습니다 (HALF-CLIQUE 해결의 하위 문제에서와 같이) )?
— BrotherJack

아니면 내가 그것을 가지고 있고 CLIQUE가 HALF-CLIQUE로 축소되어야한다는 것을 증명해야한다고 말하고 있습니까? 나는 또한 당신의 스포일러를 완전히 얻지 못했습니다. 답을주지 않고 설명 할 수있는 방법이 있습니까?
— BrotherJack

3
예, 문제가 NP- 완료임을 나타내려면 (a) 문제가 NP에 있음을 표시하고 (b) 알려진 NP-hard 문제 를 줄여야 합니다. 축소의 올바른 방향을 기억하려면 요점은 알려진 NP-C 문제를 효율적으로 해결하기 위해 새 문제를 "블랙 박스"로 사용하는 것입니다.
— Louis

알았어, 이제 이해하고있는 것 같아 당신의 도움을 주셔서 감사합니다!
— BrotherJack April

+1 생각합니다. 내가 잘못하고있는 것을 이해하면 힌트가 매우 유익했습니다. 다시 감사합니다!
— BrotherJack

0

정점 표지 문제를 줄일 수 있습니다. 주어진 그래프의 보수 그래프가 n / 2 노드 미만의 정점 커버를 갖는 경우,이 그래프는 n / 2 노드 초과의 크리크를 가질 것입니다. 정점 표지 문제를 해결하기 어렵다고 말하면됩니다.


1
당신이에서 줄일 수 있기 때문에 어떤 NP 완전 문제, 이것은 정말 유용하지 않습니다. 축소에 대한 세부 사항이 예상됩니다.
— Raphael

이것은 일반적인 버텍스 커버 문제가 아니라 최대 크기의 버텍스 커버를 찾는 특별한 경우에 대한 감소 일뿐 입니다. 이 특수한 경우는 여전히 NP-hard이지만 일반적인 정점 커버 문제를 줄임으로써이를 증명해야합니다. 이것은 원래의 질문과 거의 같은 질문이며, 지금은 도당 대신 정점 표지에만 해당되지만 방법은 매우 유사합니다. n/2
— 이산 도마뱀
당사 사이트를 사용함과 동시에 당사의 쿠키 정책과 개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.