Ich habe eine Hausaufgabe, gegen die ich mich schon seit einiger Zeit mit dem Kopf geschlagen habe, und ich würde mich über Hinweise freuen. Es geht darum, ein bekanntes Problem auszuwählen, dessen NP-Vollständigkeit nachgewiesen ist, und eine Reduktion von diesem Problem auf das folgende Problem zu konstruieren, das ich DGD (Directed Graph Diagnostic) nennen werde.
Problem
Eine Instanz von DGD besteht aus Eckpunkten , gerichteten Kanten und einer positiven ganzen Zahl . Es gibt drei Arten von Eckpunkten: Ecken mit nur eingehenden Kanten , Ecken mit nur ausgehenden Kanten und Ecken mit beide ein- und ausgehenden Kanten . Lassen Sie außerdem .
Das Problem ist nun, ob wir alle Knoten mit höchstens Elementen von abdecken können , d. H.
wobei bedeutet, dass es einen gerichteten Weg von nach .
Ich denke, dass das Problem der dominierenden Menge das ist, von dem ich reduzieren sollte, da auch dies Bedenken hat, eine Teilmenge von Knoten mit einer anderen Teilmenge abzudecken. Ich habe versucht, eine DGD-Instanz zu erstellen, indem ich zuerst zwei Knoten für jedes Element der dominierenden Menge erstellt, alle Kanten kopiert und dann das der DGD-Instanz gleich dem der DS-Instanz gesetzt habe.
Angenommen, eine einfache DS-Instanz mit den Knoten , 2 und 3 und den Kanten ( 1 , 2 ) und ( 1 , 3 ) . Dies ist eine Ja-Instanz mit k = 1 ; Die dominierende Menge besteht in diesem Fall nur aus Knoten 1 . Eine Reduzierung mit der gerade beschriebenen Methode würde zu einer DGD-Instanz mit zwei Pfaden ( 1 → 2 → 1 ′ ) und ( 1 → 3 → 1 ′ ) führen.;; Um alle Knoten abzudecken, würde nur ein Paar ausreichen. Dies hätte perfekt funktioniert, wenn nicht die dominierende Menge der DS-Instanz natürlich nicht in Polynomzeit bestimmt werden kann, was hier erforderlich ist.
Ich habe festgestellt, dass es viele gut aussehende Möglichkeiten gibt, die Kanten und Eckpunkte beim Reduzieren zu transformieren, aber mein Problem besteht darin, DGDs in Form von DSs k auszudrücken . Dominating Set schien ein passendes Problem zu sein, aber aus diesem Grund denke ich, dass ich vielleicht versuchen sollte, ein Problem zu reduzieren, das kein solches k hat ?
quelle
Antworten:
Reduzieren Sie stattdessen von NP-komplett SET-COVER .
Sei mit k ∈ N eine Instanz der Mengenabdeckung. Definieren Sie eine Instanz ( V , E , k ′ ) von DGD wie folgt:S.1, … , S.m⊆ { 1 , … , n } k ∈ N. ( V., E., k')
Es ist leicht zu erkennen, dass die konstruierte DGD-Instanz genau dann eine positive Antwort hat, wenn die gegebene Set-Cover-Instanz eine positive Antwort hat. Insbesondere müssen alle Paare ( s i , o i ) ausgewählt werden, egal was passiert, um alle o i abzudecken ; dann müssen k der m Paare ( s i , o ) alle e j abdecken , und die ersten Komponenten der ausgewählten sind die Lösung der SET-COVER-Instanz. Wenn eine solche Auswahl nicht möglich ist, hat die SET-COVER-Instanz ebenfalls keine Lösung.m (si,oi) oi k m (si,o) ej
Da die Konstruktion in Polynomzeit möglich ist, beweist dies SET-COVER DGD.≤p
Betrachten Sie als Beispiel die auf Wikipedia angegebene Beispielsatz-Deckungsinstanz , nämlich und setzen Sie S = { { 1 , 2 , 3 } , { 2 , 4 } , { 3 , 4 } , { 4 , 5 } } . Dies führt zu der folgenden Grafik:{1,2,3,4,5} S={{1,2,3},{2,4},{3,4},{4,5}}
[ Quelle ]
quelle