Theoretische und technische Informatik - ganz praktisch - Letzte Fragen & Antworten in 2011-N-05 https://info2.aifb.kit.edu/qa/index.php?qa=qa&qa_1=2011-nachklausur&qa_2=2011-n-05 Powered by Question2Answer Beantwortet: alternative Argumentation, sodass clique_mod-c NP Schwierig? https://info2.aifb.kit.edu/qa/index.php?qa=2946&qa_1=alternative-argumentation-sodass-clique_mod-np-schwierig&show=2947#a2947 <p> Ich tue mich extrem schwer, deine Argumentation nachzuvollziehen, daher hier ein paar Anmerkungen zu den einzelnen Schritten</p> <p> - clique ist polynomiell reduzzierbar auf SAT</p> <p> &nbsp;&nbsp;&nbsp;&nbsp; ok, das folgt aus clique <span class="latex">\( \in \)</span> NP und SAT ist NP-vollständig</p> <p> <span>- clique mit k Knoten ist polynomiell reduzzierbar auf k-SAT</span></p> <p> &nbsp;&nbsp;&nbsp; Wie kommst du darauf? Ich weiß ehrlich gesagt nicht, ob das wahr ist. Vermutlich ja, Beweisidee:</p> <p> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp; clique mit k Knoten auf clique reduzieren, dann auf k-SAT (ist für \( k \geq 3\) NP-Vollständig)</p> <p> - <span><span> clique ist k-c Knoten ist polynomiell reduzzierbar auf (k-c)-SAT</span></span></p> <p> <span><span>&nbsp;&nbsp;&nbsp; folgt aus der (zweifelhaften) zweiten Aussage.</span></span></p> <p> <span><span>- (k-c) SAT ist \( \in \) NP Schwer da SAT <span class="latex">\( \in \)</span> NP</span></span></p> <p> <span><span>&nbsp;&nbsp;&nbsp; Ich verstehe nicht, wie du hier argumentierst. Das ist für k-c=2 falsch, falls P \( \ne \) NP gilt (2-SAT liegt in P) </span></span></p> <p> <span><span>&nbsp;&nbsp;&nbsp; OK, <span><span>(k-c) SAT</span></span> ist für \( k - c \geq 3 \) NP-vollständig, aber das lässt sich nicht ohne weiteres aus SAT <span class="latex">\in</span> NP folgern.</span></span></p> <p> <span><span>- <span><span>daher ist auch clique \( \in \) NP Schwer [ich vermute, du meinst <span class="latex"> \( clique_{mod-c}\)</span> . dass clique NP-Schwer ist, folgt sofort aus clique NP-Vollständig (laut Aufgabenstellung) ]</span></span></span></span></p> <p> <span><span><span><span>&nbsp;&nbsp; Daraus, dass ich ein Problem X auf ein NP-Schweres Problem polynomiell reduzieren kann, folgt nicht, dass das Problem X auch NP-Schwer ist. Gegenbeispiel Sortieren einer Liste von Zahlen:</span></span></span></span></p> <ul> <li> <span><span>Mergesort hat Komplexität O(n log n) -&gt; Sortieren liegt in P</span></span></li> <li> <span><span>Daher muss Sortieren auf SAT reduzierbar sein (Def. von NP-Vollständig)</span></span></li> <li> <span><span>Wenn Sortieren NP-Schwer ist, dann kann man (wegen SAT \( \in \)<span class="latex"> </span>NP und der Def. von NP-Schwer) SAT polynomiell auf Sortieren reduzieren -&gt; wir haben einen Algorithmus, der SAT deterministisch in Polynomialzeit löst (!), also P = NP</span></span></li> <li> <span><span>falls \( P \ne NP \) gilt, entsteht ein Widerspruch</span></span><span><span>.</span></span></li> </ul> <p> <span><span>Schau dir lieber nochmal die Definition von NP-Schwer an und achte darauf, dass deine Argumentation auch für andere verständlich und nachvollziehbar bleibt.</span></span></p> <p> <span><span>Du musst genau andersherum argumentieren: indem du ein bekanntermaßen NP-Schweres Problem auf das zu untersuchende Problem reduzierst, nicht umgekehrt!</span></span></p> <p> <span><span>Ich hoffe, du kannst mit meinen Anmerkungen etwas anfangen...</span></span></p> <p> <span><span>Gruß,</span></span></p> <p> <span><span>Tobias (Tutor)</span></span></p> <p> &nbsp;</p> 2011-N-05 https://info2.aifb.kit.edu/qa/index.php?qa=2946&qa_1=alternative-argumentation-sodass-clique_mod-np-schwierig&show=2947#a2947 Tue, 29 Sep 2015 08:27:29 +0000 Beantwortet: b): Was bedeutet das "feste" k genau? https://info2.aifb.kit.edu/qa/index.php?qa=2941&qa_1=b-was-bedeutet-das-feste-k-genau&show=2945#a2945 <p> Hallo,</p> <p> die Antwort von Tobias ist vollkommen richtig und zeigt die mathematische Seite, aber vielleicht kann ich noch ein bisschen zum intuitiven Verständnis beitragen.</p> <p> Wenn wir uns vorstellen, dass konstant <strong><span class="latex">k=10</span></strong> gilt, dann ist es vielleicht ein intuitiv "schwieriges" Problem, in einem Graphen mit vielleicht <span class="latex"><strong>n=30</strong></span> Knoten nach einer Clique mit <span class="latex">10</span>&nbsp;Knoten zu suchen - das ist nicht anders als wenn wir das normale Clique-Problem auf diesen Graphen anwenden und <span class="latex"><strong>k=10</strong></span> setzen. Der Unterschied ist aber in der relativen Schwierigkeit, wenn die Knotenzahl <span class="latex">n</span>&nbsp;steigt (denn wir betrachten ja normalerweise den ZeitZUWACHS bei steigender Eingabelänge). Wenn wir in einem Graphen mit <span class="latex"><strong>n=1000</strong></span> nach einer Clique mit <span class="latex">10</span>&nbsp;Knoten suchen, dann ist das <span class="latex">k</span>&nbsp;verhältnismäßig klein und führt insgesamt zu einem <strong>nur</strong> polynomiellen Zuwachs der Laufzeit: \( O(n^k \cdot k^2) \). Ist das <span class="latex">k</span>&nbsp;nicht konstant, dann kann es mit <span class="latex">n</span>&nbsp;wachsen und wir erhalten beispielsweise mit \( k=\frac{n}{2}: O(n^{\frac{n}{2}} \cdot (\frac{n}{2})^2)\)<span>, was nicht mehr polynomiell ist. </span></p> <p> <span>(Das ist übrigens kein Beweis dafür, dass Clique ein schwieriges Problem ist, sondern nur eine obere Schranke. Sonst würde man ja noch schlimmere Komplexität bekommen, wenn man <span class="latex">\(k=n\)</span> oder noch größer setzt, aber stattdessen wird es wieder leichter, wenn sich <span class="latex">k</span>&nbsp;der Knotenanzahl <span class="latex">n</span>&nbsp;annähert. Will man zeigen, dass Clique schwer ist, muss man eine Reduktion durchführen.)</span></p> <p> <span>Viele Grüße</span></p> <p> <span>Lukas König</span></p> 2011-N-05 https://info2.aifb.kit.edu/qa/index.php?qa=2941&qa_1=b-was-bedeutet-das-feste-k-genau&show=2945#a2945 Tue, 29 Sep 2015 08:18:47 +0000