You are on page 1of 7

UNIVERSITE DE DOUALA UNIVERSITY OF DOUALA

FACULTE DES SCIENCES FACULTY OF SCIENCE

DEPARTEMENT DE MATHEMATIQUE ET INFORMATIQUE


DEPARTMENT OF MATHEMATICS AND COMPUTER SCIENCE

INF 418-Projet 4 : CLIQUE

Participants :

19S30986 NOUTCHEU TCHAGNA Choubeal


19S31044 SAMANKEU Yvan Cabrel
19S31051 SEMMO ANCE JESMEL
TAKAM MFOUAPON Mohamed Moctar
19S31087
Madani

Participants : Sous l’encadrement de : Mr ADAMOU

19S30986 NOUTCHEU TCHAGNA Choubeal


19S31044 SAMANKEU Yvan Cabrel
19S31051 Année académique:
SEMMO 2022/2023
ANCE JESMEL
TAKAM MFOUAPON Mohamed Moctar
19S31087
Madani
Table des matières

INTRORDUCTION ..................................................................................... 2
1. Présentation du Problème de la clique ........................................... 3
2. Démonstration ................................................................................ 3
a. Définition : problème NP-complet .............................................. 3
b. Présentation du problème de satisfaisabilité 3-CNF ................... 4
c. Réduction de 3-CNF-SAT en CLIQUE ........................................... 5
Conclusion ............................................................................................... 7
Bibliographie ........................................................................................... 7

INTRORDUCTION

Le problème de la clique consiste à trouver dans un graphe un sous-


ensemble de ses sommets qui sont tous mutuellement reliés par des
arêtes. Ce problème est connu pour être NP-complet, ce qui signifie qu'il
est difficile à résoudre pour les ordinateurs. Dans la suite de ce document
nous présenterons une démarche de démonstration du fait de la NP-
complétude du problème de la clique.

2
1. Présentation du Problème de la clique

Une clique dans un graphe non orienté 𝐺 = (𝑆, 𝐴) est un sous-



ensemble 𝑆 ⊆ 𝑆 de sommets, dont chaque paire est reliée par une arête
de 𝐴. Autrement dit, une clique est un sous-graphe complet de 𝐺. La
taille d'une clique est le nombre de sommets qu'elle contient. Le
problème de la clique est le problème d'optimisation consistant à trouver
une clique de taille maximale dans un graphe. En tant que problème de
décision, on veut simplement savoir si une clique de taille 𝑘 donnée
existe dans le graphe. La définition formelle est :

CLIQUE = {⟨𝑮, 𝒌⟩: 𝑮 est un graphe contenant une clique de taille 𝒌}.

2. Démonstration

a. Définition : problème NP-complet


Un problème NP-complet est un problème de décision ou
d’optimisation qui appartient à la classe de complexité NP et qui peut
être réduit en temps polynomial à n'importe quel autre problème NP-
complet. Cela signifie qu'il est difficile de trouver une solution optimale
pour ce problème en un temps raisonnable, mais qu'une solution peut
être vérifiée rapidement. Les exemples de problèmes NP-complets
incluent le voyageur de commerce, le sac à dos, le coloriage de graphes
et le problème de satisfaisabilité booléen.

3
b. Présentation du problème de satisfaisabilité
3-CNF

On peut démontrer la NP-complétude de nombreux problèmes par


réduction à partir la satisfaisabilité de formule.

On définit la satisfaisabilité 3-CNF à l'aide des termes suivants :

 Un littéral dans une formule booléenne est une variable ou sa


négation.
 Une formule booléenne se trouve dans sa forme normale conjonctive,
ou forme 𝐶𝑁𝐹, si elle est exprimée comme un ET de clauses, chacune
d'elles étant le OU d'un ou plusieurs littéraux.
 Une formule booléenne se trouve dans sa forme normale conjonctive
d'ordre 3, ou 3-CNF, si chaque clause comporte exactement trois
littéraux distincts.

Par exemple, la formule booléenne


(𝒙𝟏 ∨ ¬𝒙𝟏 ∨ ¬𝒙𝟐 ) ∧ (𝒙𝟑 ∨ 𝒙𝟐 ∨ 𝒙𝟒 ) ∧ (¬𝒙𝟏 ∨ ¬𝒙𝟑 ∨ ¬𝒙𝟒 )

est en forme 3-CNF. La première de ses trois clauses est (𝑥1 ∨ ¬𝑥1 ∨
¬𝑥2 ), qui contient les trois littéraux 𝑥1 , ¬𝑥1 et ¬𝑥2 .

Dans 3-CNF-SAT, on cherche à savoir si une formule booléenne 𝜙 donnée


en forme 3-CNF est satisfaisable. Un algorithme polynomial qui peut
déterminer la satisfaisabilité d'une formule booléenne a très peu de
chances d'exister, même quand elle est exprimée dans cette forme
normale simple. Le problème de la satisfaisabilité des formules
booléennes sous forme 3-CNF est NP-complet.

4
c. Réduction de 3-CNF-SAT en CLIQUE

Un algorithme naïf pour déterminer si un graphe 𝐺 = (𝑆, 𝐴) à |𝑆|


sommets contient une clique de taille 𝑘 consiste à énumérer tous les 𝑘-
sous-ensembles de 𝑆 et regarder pour chacun s'il forme une clique. Le
temps d'exécution de cet algorithme est Ω (𝑘 2 (|𝑆|)), ce qui est polynomial
𝑘
si 𝑘 est une constante. Cependant, dans le cas général, 𝑘 pourrait être
proche de |𝑆|, auquel cas l'algorithme s'exécute en temps supra
polynomial. Comme on pourrait s'y attendre, il y a très peu de chances
pour qu'un algorithme efficace existe pour résoudre le problème de la
clique.

Pour montrer que CLIQUE ∈ NP, pour un graphe donné 𝐺 = (𝑆, 𝐴),

on utilise l'ensemble 𝑆 ⊆ 𝑆 des sommets de la clique comme certificat

pour 𝐺. Vérifier que 𝑆 est une clique peut être accompli en temps
polynomial, en testant si pour toute paire 𝑢, 𝑣 ∈ 𝑆 ′ l'arête (𝑢, 𝑣)
appartient à 𝐴. Nous montrons ensuite que 3-CNF-SAT ⩽𝑃 CLIQUE, ce qui
montre que le problème de la clique est NP-difficile.
L'algorithme de réduction commence avec une instance de 3-CNF-
SAT. Soit 𝜙 = 𝐶1 ∧ 𝐶2 ∧ ⋯ ∧ 𝐶𝑘 une formule booléenne sous forme 3-
CNF à 𝑘 clauses. Pour 𝑟 = 1,2, … , 𝑘, chaque clause 𝐶𝑟 possède
𝑟 𝑟 𝑟
exactement trois littéraux distincts 𝑙1, 𝑙2 et 𝑙3. Nous allons construire un
graphe 𝐺 tel que 𝜙 soit satisfaisable si et seulement si 𝐺 possède une
clique de taille 𝑘. Le graphe 𝐺 = (𝑆, 𝐴) est construit de la manière
𝑟 𝑟 𝑟
suivante. Pour chaque clause 𝐶𝑟 = (𝑙1 ∨ 𝑙2 ∨ 𝑙3) de 𝜙, on place un triplet
de sommets 𝑣𝑟1, 𝑣𝑟2 et 𝑣𝑟3 dans 𝑆. On place une arête entre deux sommets
𝑣𝑟𝑖 et 𝑣𝑠𝑗 si les deux conditions suivantes sont satisfaites :

 𝑣𝑟𝑖 et 𝑣𝑠𝑗 sont dans des triplets différents, autrement dit si 𝑟 ≠ 𝑠, et

5
𝑟
 leur littéraux correspondants sont cohérents, autrement dit 𝑙𝑖 n'est
𝑠
pas la négation de 𝑙𝑗 .

Ce graphe peut se calculer facilement à partir de 𝜙 en temps polynomial.


A titre d'exemple de cette construction, si l'on se donne

𝜙 = (𝑥1 ∨ ¬𝑥2 ∨ ¬𝑥3 ) ∧ (¬𝑥1 ∨ 𝑥2 ∨ 𝑥3 ) ∧ (𝑥1 ∨ 𝑥2 ∨ 𝑥3 ),


alors 𝐺 est le graphe :

Pour montrer que ce passage de 𝜙 à 𝐺 est une réduction,


supposons que 𝜙 ait une assignation satisfaisante. Alors, chaque clause
𝑟
𝐶𝑟 contient au moins un littéral 𝑙𝑖 ayant la valeur 1 , et chaque littéral de
ce type correspond à un sommet 𝑣𝑟𝑖 . En prenant l'un de ces littéraux

ayant la valeur vrai dans chaque clause, on obtient un ensemble 𝑆 de 𝑘

sommets. Nous affirmons que 𝑆 est une clique. Pour deux sommets

quelconques 𝑣𝑟𝑖 , 𝑣𝑠𝑗 ∈ 𝑆 , où 𝑟 ≠ 𝑠, l'assignation satisfaisante associe la
𝑟 𝑠
valeur 1 aux deux littéraux 𝑙𝑖 et 𝑙𝑗 correspondants, et les littéraux ne
peuvent donc pas être compléments. Donc, d'après la construction de 𝐺,
l'arête (𝑣𝑟𝑖 , 𝑣𝑠𝑗 ) appartient à 𝐴.

Réciproquement, supposons que 𝐺 possède une clique 𝑆 de taille
𝑘. Aucune arête de 𝐺 ne relie des sommets appartenant au même triplet,

6

et donc 𝑆 contient exactement un sommet par triplet. On peut affecter
𝑟 ′
1 à chaque littéral 𝑙𝑖 tel que 𝑣𝑟𝑖 ∈ 𝑆 sans craindre d'affecter 1 à la fois à
un littéral et à son complément, puisque 𝐺 ne contient aucune arête
entre deux littéraux incohérents. Chaque clause est satisfaite, et 𝜙 est
donc satisfaite.

Dans l'exemple précèdent, une assignation satisfaisante de 𝜙 a 𝑥2 = 0 et


𝑥3 = 1. Une clique correspondante de taille 𝑘 = 3 est constituée des
sommets correspondant au ¬𝑥2 de la première clause, au 𝑥3 de la
deuxième clause et au 𝑥3 de la troisième clause. Comme la clique ne
contient pas de sommets correspondant à 𝑥1 ou à ¬𝑥1 , on peut mettre
𝑥1 à 0 ou à 1 dans cette assignation satisfaisante.

Conclusion
Parvenu au terme de notre travail, On pourrait penser que l'on a
montré que CLIQUE est NP-difficile uniquement pour les graphes où les
sommets vont par trois et où il n'y a pas d'arêtes entre deux sommets
d'un même triplet. En fait, on a montré que CLIQUE est NP-difficile
uniquement pour ce cas particulier, mais cette preuve suffit pour
montrer que CLIQUE est NP-difficile pour des graphes quelconques pour
la simple raison que si l'on avait un algorithme à temps polynomial qui
résolve CLIQUE sur des graphes généraux, il résoudrait aussi CLIQUE sur
des graphes spéciaux.

Bibliographie
 Introduction to Algorithms by Thomas H. Cormen, Charles E.
Leiserson, Ronald L. Rivest, and Clifford Stein.
 Wikipedia

You might also like