Angenommen, ich habe einen gewichteten Graphen so dass die Gewichtungsfunktion ist - beachten Sie, dass negative Gewichte zulässig sind.
Sagen , dass eine Eigenschaft von jeder Teilmenge der Vertices definiert .
Frage: Was sind einige interessante Beispiele s , für die das Maximierungsproblem: in Polynomialzeit durchgeführt werden?
Zum Beispiel ist die Graphschnittfunktion
Ich werde die Definition von "interessant" etwas vage sein lassen, aber ich möchte, dass das Maximierungsproblem nicht trivial ist. Zum Beispiel sollte es nicht sein, dass Sie die Antwort bestimmen können, ohne die Kanten des Diagramms zu untersuchen (daher sind konstante Funktionen und die Kardinalitätsfunktion nicht interessant). Es sollte auch nicht der Fall sein, dass wirklich nur eine andere Funktion mit einer Domäne mit polynomieller Größe codiert, indem es in die Domäne (dh ich möchte nicht, dass es eine kleine Domäne und eine Funktion vor dem Betrachten des Graphen bekannt, so dass die interessierende Funktion wirklich und Wenn dies der Fall ist, ist das "Maximierungs" -Problem wirklich nur eine Frage der Bewertung der Funktion an allen Eingängen.)
Bearbeiten: Es ist wahr, dass Minimierungsprobleme manchmal einfach sind, wenn Sie die Kantengewichte ignorieren (obwohl die Schnittfunktion nicht minimiert wird, da ich negative Kantengewichte zulasse). Aber ich bin ausdrücklich an Maximierungsproblemen interessiert. Bei natürlichen gewichteten Problemen in dieser Umgebung wird dies jedoch nicht zum Problem.
quelle
Antworten:
Immer wenn die Anzahl der Kanten die ein Boolesches Prädikat erfüllen, das in Bezug auf und , ist das, was Sie geschrieben haben, nur ein Boolescher 2-CSP. Die Zielfunktion fordert dazu auf, die Anzahl der erfüllten Klauseln über alle Zuordnungen zu den Variablen zu maximieren. Es ist bekannt, dass dies NP-hart ist, und die genaue Härte-Schwelle ist auch unter der Annahme von UGC bekannt (siehe Raghavendra'08).f(S) (u,v) u∈S v∈S
Es gibt viele natürliche positive Beispiele, wenn Sie über Teilmengen von Kanten maximieren möchten, z. B. Maximale Übereinstimmung ist in diesem Fall ein Beispiel für ein Polynomzeitproblem.
quelle
Domatische Partition / schwache 2-Färbung.
(In diesem Fall ist wenn jedes einen Nachbarn in und umgekehrt. Andernfalls ist Eine Lösung mit existiert immer, wenn es welche gibt keine isolierten Knoten, und es kann leicht in Polynomzeit gefunden werden.)f(S)=1 v∈S V∖S f(S)=0 f(S)=1
quelle
Minimaler Schnitt (speziell Scheitelpunktschnitt).
(In diesem Fall wäre so etwas wie diese: 0 , wenn das Entfernen den Knoten in dem Satz nicht partitionieren in mindestens zwei Komponenten, und sonst Dann maximiert wird . entspricht die Suche nach einem minimalen Schnitt , was in Polynomzeit erfolgen kann.)f S G |V|−|S| f
Sie können auch eine ähnliche Funktion definieren, die minimalen Kantenschnitten entspricht.
(Zum Beispiel ist 0, wenn oder ; andernfalls ist es , wobei die Menge der Kanten ist, die einen Endpunkt in und den anderen Endpunkt in )f(S) S=∅ S=V |E|−|X| X S V∖S
quelle
Maximaler unabhängiger Satz.
(Hier ist = Anzahl der Knoten in , die keinem anderen Knoten in benachbart sind + Anzahl der Knoten in , die einem Knoten in benachbart sind . Iff ist eine maximale unabhängige Menge, die wir .)f(S) S S V∖S S S f(S)=|V|
quelle