Theoretische und technische Informatik - ganz praktisch - Letzte Fragen & Antworten in HU-4-1 https://info2.aifb.kit.edu/qa/index.php?qa=qa&qa_1=%C3%BCbungsblatt-4&qa_2=hu-4-1 Powered by Question2Answer Beantwortet: b) müsste es hier in der Lösung nicht heißse, dass INDSET NP-vollständig ist? https://info2.aifb.kit.edu/qa/index.php?qa=6020&qa_1=m%C3%BCsste-hier-der-l%C3%B6sung-nicht-hei%C3%9Fse-dass-indset-vollst%C3%A4ndig&show=6021#a6021 Nein, denn in der Argumentation unter (b, 2) ist nur die NP-Schwere gezeigt worden. Zusammen mit (b, 1) gilt aber auch die NP-Vollständigkeit, da haben Sie recht. HU-4-1 https://info2.aifb.kit.edu/qa/index.php?qa=6020&qa_1=m%C3%BCsste-hier-der-l%C3%B6sung-nicht-hei%C3%9Fse-dass-indset-vollst%C3%A4ndig&show=6021#a6021 Sat, 06 Jan 2018 17:04:54 +0000 Beantwortet: Allgemeine Fragen https://info2.aifb.kit.edu/qa/index.php?qa=4032&qa_1=allgemeine-fragen&show=4036#a4036 <p> Hallo,</p> <p> also, der Reihe nach zu deinen Fragen:</p> <p> 1) Die Frage ist erstmal recht allgemein und es sei dir gesagt, dass O(n^2) KEIN linearer Aufwand ist, sondern quadratischer. Linear wäre O(n). Leider gibt es kein eindeutiges "Rezept", um den Aufwand zu erkennen. Daher mal zwei Beispiele, aus denen sich das Erschließen des Aufwands eventuell ergibt:</p> <p style="margin-left: 40px;"> a) Angenommen, du hast ein Programm, bestehend aus einer Schleife. Diese Schleife wird n-mal durchlaufen, n ist dabei beispielsweise eine Eingabe. Der Berechnungsaufwand steigt also linear mit n an, der Aufwand wäre also O(n).&nbsp;</p> <p style="margin-left: 40px;"> b) Du möchtest eine Wahrheitstabelle mit Binärvariablen aufstellen. Du hast zunächst zwei Variablen, daher musst du 2^2=4 Kombinationen betrachten. Bei drei Variablen sind es bereits 2^3=8, bei vier Variablen 2^4=16... Der Aufwand (sprich: die Anzahl der Kombinationen) steigt mit jeder Variable um den Faktor 2 an, ist also 2^n für n Variablen. Der Aufwand ist also O(2^n), also exponentiell.</p> <p> Ich weiß, dass das keine allgemeinen Regeln oder Ähnliches sind, aber eventuell können dir die Beispiele helfen, den Zusammenhang zwischen der Anwendung und der dahinterstehenden Komplexität zu verstehen.</p> <p> 2) Polynome sind alle Funktionen der Form ax^n + bx^(n-1) + ... + ..x^0, also beispielsweise quadratische oder kubische Funktionen aus der Schule. "Polynomialzeit reduzierbar" heißt nun, dass ein Problem in einem Aufwand, der dem Grad eines solchen Polynoms entspricht, umgewandelt werden kann. Am einfachsten ist, sich andere Fälle wie beispielsweise Exponentialzeit als Gegenbeispiel vorzustellen. Der Polynomialzeit kommt besondere Bedeutung zu, weil sie für uns das "noch gut berechenbare" darstellt. Bei bspw. exponentiellem Aufwand wächst die Berechnungsdauer einfach zu schnell zu stark an.</p> <p> Also: Wenn ein Problem in Polynomialzeit auf ein anderes reduziert werden kann (was sich beispielsweise lohnt, weil wir für dieses andere Problem schon ein Lösungsverfahren haben), dann heißt es "polynomialzeit-reduzierbar".</p> <p> 3) Die Antwort auf die Frage nach einer allg. Lösung ist dieselbe wie in 1).</p> <p> Zum Beispiel: In KNF sehen Terme ja bspw. so aus: (a ODER b) UND (c ODER d). Will man das jetzt in DNF umwandeln, also mit einem ODER zwischen den Klauseln, so muss man ja die Terme (a UND c), (a UND d), (b UND c) und (b UND d) betrachten. Jetzt war das hier bei zwei Klauseln mit je zwei Variablen noch sehr schön übersichtlich. Hat man aber längere Terme, z.B. (x1 ODER y1) UND (x2 ODER y2) UND (x3 ODER y3), dann wird die Umwandlung schon deutlich länger. Auch hier ist der Aufwand exponentiell.</p> <p> So, lange Rede kurzer Sinn: Es gibt hier kein Patentrezept, daher Unterlagen anschauen, verschiedene Aufgaben machen und ein Gefühl dafür bekommen. Ich hoffe einfach mal, dass meine obigen Beispiele ein bisschen dieses Gefühl getroffen haben.</p> <p> Viele Grüße</p> <p> Max (Tutor)</p> <p> &nbsp;</p> HU-4-1 https://info2.aifb.kit.edu/qa/index.php?qa=4032&qa_1=allgemeine-fragen&show=4036#a4036 Mon, 08 Feb 2016 19:11:22 +0000 Beantwortet: Tutorium 4 Aufgabe 2 https://info2.aifb.kit.edu/qa/index.php?qa=3352&qa_1=tutorium-4-aufgabe-2&show=3353#a3353 Hey,<br /> <br /> der Aufgabenstellung kannst du entnehmen, dass SAT polynomialzeit-reduzierbar auf CLIQUE ist. Nicht angegeben, aber vorausgesetzt ist das Wissen, dass SAT ein NP-vollständiges Problem ist und somit in NP liegt.<br /> <br /> Definition NP-schwer:<br /> Ein Problem X ist genau dann NP-schwer, wenn jedes anderes Problem, welches in NP liegt, auf X polynomialzeit-reduzierbar ist.<br /> <br /> Und genau das liegt hier vor: SAT liegt in NP und ist auf CLIQUE polynomialzeit-reduzierbar, somit ist CLIQUE ein NP-schweres Problem. (Tutorium 4 Folie 9 zeigt eine analoge Multiple-Choice Frage).<br /> <br /> Daher muss nur noch gezeigt werden, dass CLIQUE in NP liegt, um die NP-Vollständigkeit zu zeigen.<br /> <br /> Viele Grüße<br /> Ashvin (Tutor) HU-4-1 https://info2.aifb.kit.edu/qa/index.php?qa=3352&qa_1=tutorium-4-aufgabe-2&show=3353#a3353 Tue, 29 Dec 2015 10:45:30 +0000 Beantwortet: Was genau ist ein Clique ? https://info2.aifb.kit.edu/qa/index.php?qa=2544&qa_1=was-genau-ist-ein-clique&show=2545#a2545 <div class="ilFrmPostContent"> <p> Hallo,</p> <p> Clique bezeichnet einen Teilgraphen, bei dem alle Konten zu jedem anderen Knoten aus dem Teilgraphen verbunden sind.</p> <p> Gruß</p> <p> Marcel (Tutor)</p> </div> <p> &nbsp;</p> HU-4-1 https://info2.aifb.kit.edu/qa/index.php?qa=2544&qa_1=was-genau-ist-ein-clique&show=2545#a2545 Tue, 22 Sep 2015 09:58:22 +0000