카테고리 보관물: cs

cs

하프 클릭-NP 완료 문제 관련 관찰

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

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

G

G

n/2

G

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

  • 이 문제의 관점에서, clique 는 입력 그래프의 방향이없는 서브 그래프로 정의되며, 두 노드마다 에지에 의해 연결됩니다. -clique는 포함 파벌 인 노드를.
    k

    k

  • 우리 교과서에 따르면 Michael Sipser의 ” 계산 이론 입문 “, 268 페이지, CLIQUE = { | 는 -clique}가 NP 인 무 방향 그래프입니다.G K
    G,k

    G

    k

  • 또한 동일한 출처 (283 페이지)에 따르면 CLIQUE는 NP-Complpete에 있습니다 (따라서 NP에도 있음).

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

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

sizen/2

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



답변

설명과 의견으로 판단하면 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 / 2

G=(V,E)

H=(V,E)

G

k

H

n/2


답변

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

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

G

k

H

H

G

k

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

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

H

G


답변

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


답변