CLIQUE ist NP-vollständig.
Beweisidee
Polynomialzeitreduktion von 3KNF-SAT auf CLIQUE:
![{\displaystyle {3KNF-SAT}\preceq _{p}CLIQUE}](//wikimedia.org/api/rest_v1/media/math/render/svg/cc2b17d633e7c258324832e86e79c1f43ec4e63a)
Da 3KNF-SAT NP-schwer ist, gilt dies dann auch für CLIQUE.
Außerdem lässt sich leicht zeigen, dass CLIQUE selbst in NP liegt, insgesamt ist es also NP-vollständig.
Beweisskizze
Sei F eine Formel mit n Klauseln in 3KNF, also in konjunktiver Normalform mit höchstens drei Literalen pro Klausel:
![{\displaystyle F=(y_{1,1}\lor \dotsc \lor y_{1,a_{1}})\land \dotsc \land (y_{n,1}\lor \dotsc \lor y_{n,a_{n}})}](//wikimedia.org/api/rest_v1/media/math/render/svg/123a4d2b48d4564490f6e454baf71350d3beb615)
![{\displaystyle {\text{mit}}\ \ \forall _{1\leq i\leq n}:1\leq a_{i}\leq 3}](//wikimedia.org/api/rest_v1/media/math/render/svg/d1d960b184e3ff5981a4f877ca7c2bfdf64548e3)
.
Aus F mit n Klauseln konstruieren wir einen Graphen G und zeigen dann: F ist erfüllbar genau dann, wenn G eine n-Clique besitzt.
Konstruktion von G
- Knoten von G seien sämtliche Literalvorkommen in der Formel F, genauer alle Paare
.
- Kanten von G seien sämtliche Verbindungen zwischen Literalvorkommen, ausgenommen allein
- zwischen zwei Literalvorkommen in ein und derselben Klausel — also nicht
und
per Kante verbinden
- zwischen zwei Literalvorkommen, in denen dasselbe Literal einmal positiv und einmal negiert auftritt — also nicht
und
verbinden, falls
für ein k.
Beweis
- G besitzt eine n-Clique ⇒ F ist erfüllbar: Angenommen, G besitzt eine n-Clique. Den Literalen
von in dieser Clique liegenden Literalvorkommen
geben wir den Wahrheitswert wahr. Dies ist widerspruchslos wegen der 2. Kantenbedingung möglich. Weil nach der 1. Kantenbedingung keine zwei Literalvorkommen aus derselben Klausel per Kante verbunden sind, werden unter dieser Belegung alle n von n Klauseln von F wahr und damit auch F.
- F ist erfüllbar ⇒ G besitzt eine n-Clique: Angenommen, F sei erfüllbar. Dann gibt es eine Wahrheitswertbelegung seiner Literale, so dass in jeder der Klauseln wenigstens ein Literal wahr wird. Wir wählen in jeder Klausel willkürlich genau ein Literalvorkommen
mit wahrem
aus. Alle diese bilden offenbar eine n-Clique in G.