HALF CLIQUE - NP Schließe das Problem ab


20

Lassen Sie mich mit der Feststellung beginnen, dass dies ein Problem bei den Hausaufgaben ist. Bitte geben Sie nur Ratschläge und entsprechende Beobachtungen, KEINE DIREKTEN ANTWORTEN, bitte . Nachdem dies gesagt wurde, ist hier das Problem, das ich betrachte:

Sei HALF-CLIQUE = { | ist ein ungerichteter Graph mit einem vollständigen Untergraphen mit mindestens Knoten, wobei n die Anzahl der Knoten in } ist. Zeigen Sie, dass HALF-CLIQUE NP-vollständig ist.GGn/2G

Außerdem kenne ich folgendes:

  • In Bezug auf dieses Problem wird eine Clique als ungerichteter Untergraph des Eingabegraphen definiert, bei dem jeweils zwei Knoten durch eine Kante verbunden sind. Eine Clique ist eine Clique, die Knoten enthält .kk
  • Nach unserem Lehrbuch, Michael Sipsers " Introduction to the Theory of Computation ", S. 268, ist das Problem CLIQUE = { | ist ein ungerichteter Graph mit einer Klasse} ist in NPG,kGk
  • Darüber hinaus stellt CLIQUE laut derselben Quelle (auf S. 283) in NP-Complpete (also offensichtlich auch in NP) fest.

Ich glaube, ich habe hier den Kern einer Antwort, aber ich könnte einen Hinweis darauf gebrauchen , was daran falsch ist, oder irgendwelche verwandten Punkte, die für eine Antwort relevant sein könnten . Dies ist die allgemeine Idee, die ich bisher habe,

Ok, ich würde zuerst bemerken, dass ein Zertifikat einfach eine HÄLFTE von . Nun scheint es, dass ich einen Verifizierer erstellen müsste, der eine polynomielle Zeitverringerung von CLIQUE (von dem wir wissen, dass es NP-Complete ist) zu HALF-CLIQUE darstellt. Meine Idee wäre, dass dies durch die Erstellung einer Turing-Maschine geschehen würde, auf der der Turing-Maschinenprüfer im Buch für CLIQUE mit der zusätzlichen Einschränkung für HALF-CLIQUE ausgeführt wird.sizen/2

Das hört sich für mich richtig an, aber ich vertraue mir in diesem Bereich noch nicht wirklich. Ich möchte noch einmal daran erinnern, dass dies ein HAUSHALTSPROBLEM ist. Versuchen Sie daher, die Beantwortung der Frage zu vermeiden. Jede Anleitung, die dies nicht erfüllt, wäre sehr willkommen!

Antworten:


15

Gemessen an Ihrer Beschreibung und Ihren Kommentaren hilft Ihnen möglicherweise eine genaue Beschreibung, wie Reduktionen zum Nachweis der NP-Vollständigkeit verwendet werden können, am besten:

Ein Problem ist NP-vollständig, wenn es sich um NP handelt und NP-schwer ist. Dies bedeutet, dass jeder Nachweis der NP-Vollständigkeit aus zwei Teilen besteht: einem Beweis, dass das Problem in NP liegt, und einem Beweis, dass es NP-schwer ist.

Im ersten Teil muss gezeigt werden, dass JA-Instanzen mit einem geeigneten Zertifikat in polynomialer Zeit verifiziert werden können. Alternativ können Sie zeigen, dass das Problem durch eine nicht deterministische Turing-Maschine in polynomialer Zeit gelöst werden kann, aber dies wird normalerweise nicht getan, da Fehler leicht gemacht werden können.

In Ihrem Fall kommt es darauf an, zu beweisen, dass Sie für jeden Graphen mit einer Klasse einen Beweis finden, dass es tatsächlich eine solche Klasse gibt, sodass Sie mit einem solchen Beweis bewaffnet die polynomielle Zeit einchecken können Es gibt in der Tat eine solche Clique.n/2

Im zweiten Teil muss gezeigt werden, dass das Problem NP-schwer ist. Dies wird in fast allen Fällen durch den Nachweis gezeigt, dass Ihr Problem mindestens so schwer wie ein anderes NP-hartes Problem ist. Wenn HALF-CLIQUE mindestens so hart ist wie CLIQUE, muss es auch NP-hart sein.

Sie tun dies durch eine Reduzierung beweisen VON Clique, ZU HALB CLIQUE. Sie reduzieren das Problem und machen es einfacher. Sie sagen, "CLIQUE zu lösen ist schwierig, aber ich habe bewiesen, dass Sie nur HALB-CLIQUE lösen müssen, um CLIQUE zu lösen". (Viele Leute, sogar Experten, sagen dies gelegentlich falsch herum :))

Es gibt verschiedene Arten von Reduktionen: Die am häufigsten verwendete Reduktion ist die, bei der Sie Instanzen von CLIQUE in diesem Fall Instanzen von HALF-CLIQUE zuordnen, deren Größe in Polynomzeit höchstens polynomiell größer ist. Dies bedeutet, dass wir, wenn wir HALF-CLIQUE lösen können, auch CLIQUE lösen können, indem wir den Algorithmus und die Reduktion verketten.

Mit anderen Worten, wir müssen zeigen, dass wir CLIQUE lösen können, wenn wir HALF-CLIQUE lösen können. Wir tun dies, indem wir zeigen, dass wir für jede Instanz von CLIQUE eine Instanz von HALF-CLIQUE so entwerfen können, dass die Instanz von CLIQUE eine 'Ja'-Instanz ist, wenn die Instanz von HALF-CLIQUE eine' Ja'-Instanz ist.

Der Beweis fängt also so an: Mit einem Graphen kann ich einen Graphen H = ( V , E ) erzeugen , so dass G eine k- Klasse enthält, wenn H eine n / 2- Klasse enthält. Ich überlasse diesen Teil Ihnen (dies ist der Teil, der Kreativität erfordert, der Teil, der sich mit dem jeweiligen Problem befasst).G=(V,E)H=(V,E)GkHn/2


Ausgezeichnete Einrichtung, ich denke, Sie haben sehr gute Arbeit geleistet, indem Sie gerade genug Informationen für die Anleitung bereitgestellt haben, ohne eine Antwort zu geben, und dies auf beredte Weise. Vielen Dank.
BrotherJack

1
So etwas sollte zum späteren Nachschlagen in das Tag-Wiki von np-complete gestellt werden. Würden Sie bitte?
Raphael

8

GkHHGk

Der unten stehende Spoiler enthält einen Hinweis zur Durchführung dieser Reduzierung:

HG


Ich verstehe nicht, was du sagst. Ich habe versucht, HALF-CLIQUE auf CLIQUE zu reduzieren, indem ich den im Buch verwendeten Varifier modifizierte, um zu beweisen, dass CLIQUE NP ist. Lassen Sie ihn im Eingabediagramm G ausführen und prüfen, ob CLIQUE enthalten ist Mindestens n / 2 Knoten, wobei n die Anzahl der Knoten in G ist. Würde ein solcher Verifizierer von HALF-CLIQUE nicht zeigen, dass der Verifizierer von CLIQUE eine reduzierte Form davon ist (wie in einem Unterproblem der Lösung von HALF-CLIQUE)? )?
BrotherJack

Oder sagen Sie, dass ich es verkehrt herum habe und beweisen muss, dass CLIQUE auf HALB CLIQUE reduziert werden muss? Ich bekomme deinen Spoiler auch ganz und gar nicht. Gibt es eine Möglichkeit, dies zu erklären, ohne die Antwort preiszugeben?
BrotherJack

3
Ja, um zu zeigen, dass ein Problem NP-vollständig ist, müssen Sie (a) zeigen, dass es sich um NP handelt, und (b) ein bekanntes NP-hartes Problem darauf reduzieren . Um sich an die richtige Richtung für die Reduktion zu erinnern, muss das neue Problem als "Black Box" zur effizienten Lösung eines bekannten NP-C-Problems verwendet werden.
Louis

OK, ich glaube ich verstehe jetzt. Danke für Ihre Hilfe!
BrotherJack

+1 Ich glaube ich habe es verstanden. Ihr Hinweis war sehr aufschlussreich, als ich begriff, was ich falsch machte. Danke noch einmal!
BrotherJack

0

Sie können das Vertex-Cover-Problem reduzieren. Wenn das Komplementdiagramm des angegebenen Diagramms eine Scheitelpunktabdeckung von weniger als n / 2 Knoten aufweist, weist dieses Diagramm eine Clique von mehr als n / 2 Knoten auf, dh, es handelt sich um eine halbe Clique. Geben Sie einfach an, dass es schwierig ist, das Vertex Cover-Problem zu lösen.


1
Da Sie jedes NP-vollständige Problem beheben können, ist dies nicht besonders nützlich. Details zur Reduzierung werden erwartet.
Raphael

n/2
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.