Académique Documents
Professionnel Documents
Culture Documents
COMPLEXITÉ DES
PROBLÈMES
2
Introduction
Principaux Facteurs
cas
5
Définition 1
Définition 2
Définition 3
Proposition
Si la fonction f est calculée par une machine de
Turing non déterministe M avec la complexité T M(n) alors Ǝ
une machine de Turing non déterministe calculant f avec la
complexité O(C TM(n)) où C est une constante.
10
Définition 5
Définition 7: Classe NP
Exercice : MT
L={
• Écrire la MT de L,
• Calculer le nombre de déplacement pour estimer TM(n).
14
Problèmes de décisions
• Un problème est dit de décision si pour tout input, l’unique
la question :
• Existe-t-il une solution dont la valeur est au plus k (en cas de minimisation);
maximisation).
15
v1 d(v1,v2)
v2
v5
v4 v3
16
Transformation Polynomiale
Définition 8
Lemme 1
Si L1 α L2 alors
1. Si L2 P alors L1 P
2. Si L1 P alors L2 P
Transformation polynomiale
Algorithme
Problème L1 Problème L2
Input X Input F(X)
Transformation F
L1 Transformation Polynomiale
x = Projection = Réduction
L2
19
Equivalence polynomiale
Définition 9
Définition 10
Une classe d’équivalence polynomiale C1 est inférieure à une classe
d’équivalence C2 noté C1 C2 Si :
L1 C1 et L2 C2 on a L1 α L2
S’il existe une transformation polynomiale de tout langage de C 1 vers tout
langage C2 , on note C1 p C2
20
Lemme 3
Lemme 4
Pout tout L1 P et L2 NP on a L1 α L2
P c c classe d’équivalence de NP.
21
Définition
Exemple
Problème NP-Complet
Définition 11
Problème NP-Complet
Définition 12
Théorème de COOK
SAT NPC
25
Théorème de COOK
Démonstration
1) SAT NP
2) L' NP alors L' α SAT
Pour montrer que SAT NP
a- Soit une interprétation I de Algorithme ND
façon non déterministe;
b- Vérifier que =V
Données de SAT
; le nombre littéraux
p=max(n, m, k)
Polynomial : SAT NP
26
Les classes P et NP
NP
Tri
2-SAT NP-Dur
2-COLP NP-Complet NP-Difficile
SAT TSP
PCC
CH PLC
k-SAT
Résolution
polynomiale
Vérifiabilité polynomiale
27
SAT
propositionnelle,
• C’est le premier problème NP-découvert (Théorème de Cook,
1971),
I
….
J Vrai
Vérificateur Faux
Certificat de I
Exemples
SAT
3-SAT Clique
HC (graphe orienté)
2-SAT
2-Coloriage
HC
TS
33
Données :
avec
Problème :
Existe-t-il une interprétation I / ?
34
5
1
4
G=(S,A)
3 2
35
Exemple de Transformation :
Montrer que
Trouver l’algorithme de transformation et estimer son temps :
f(x) TSP ssi xHC
Algorithme
CH TSP ou n=|V|
Input G=(S,A) Input F(X)=G'=(V, E)
Transformation F
5 5 1
1
1 2 1
4 4 2 1
1 1
1 2
3 2 3 1 2
Définition de F :
V=S
b= |V|=n
37
on a A
38
A
39
Instance
Positive
3-coloriage 3-coloriage
Graphe G
41
b c
Transformation 𝑭={𝑎,𝑏,𝑐 ,¬𝑎,¬𝑏,¬𝑐/∧,∨}
42
Données :
Soit un graphe G = (S, A) et un entier
Problème :
Déterminer si G possède un cycle de longueur
43
Exercice :
Exercice :
Montrer que
Algorithme
CH PLC
Input G=(S,A) Input F(X)=G'=(S',A')
Transformation F
44
Données :
Problème :
Existe-t-il / ?
Exemple :
S= {1, 3 , 5, 45, 65, 98, 45658, 45458, 1235, 785, 659}
t=1590,
45
Exercice 1
Prouver que
46
Exercice 2
Prouver que
47
Correction Exercice 2 :
Correction Exercice 2 :
Montrer que f est calculable en un temps polynomial :
Algorithme:
49
Correction Exercice 2 :
” ”
Soit f(x) Montrer que x
50
Correction Exercice 2 :
””
Soit x Montrer que f(x)
51
Exercice 3
Prouver que
52
Exercice 3 :
Prouver que :
Indication :
1. Toute variable propositionnelle on lui associe 2 sommets (variable et sa
négation) Exemple :
2. Toute clause est représentée par un triangle étiqueté par 3 littéraux de clauses;
3. Une arête est couverte par 1 sommet et un triangle est couvert par 2 sommets.
3-SAT CS
Transformation
Données : F(x) Données :
Problème :
Existe-t-il une couverture par
Problème : sommets de G de taille k?
Existe-t-il une interprétation I /
? A
53
Exercice 3 :
n variables et 𝑝1 ¬𝑝 1 𝑝 2 ¬𝑝 2 𝑝3 ¬𝑝 3 𝑝4 ¬𝑝 4
m clauses
la taille de 1 1 2
graphe est 𝑙1 𝑙2 𝑙
2
1 𝑙2 𝑙13 𝑙3
2
2n+3m
𝑙13 2
𝑙3 𝑙3
3
La taille de CS k=2m+n (nombre de sommets couverts)
On prend comme couverture : tout les sommets , 2 littéraux de chaque triangle non
recouvert.
𝐹 𝑉 𝐹 𝐹
𝑝1 ¬𝑝 1 𝑝 ¬𝑝 2 𝑝 3 ¬𝑝 3 𝑝 4 ¬𝑝 4
2
Exercice 3 :
Prouver que :
55
Exercice 3 :
Prouver que :
Montrer que f est calculable en un temps polynomial :
Algorithme:
56
Exercice 3 :
• x Montrer que f(x)
57
Exercice 4
Exercice 4 : Correction
Prouver que
, sachant que
1) 3SAT est un cas particulier de SAT (avec k=3) donc
2) SAT 3 SAT
Données : Données :
Problème : Problème :
Existe-t-il une interprétation I / Existe-t-il une interprétation I' / '
? ?
;;
;
59
Exercice 4 : Correction
1
; 2
Exercice 4 : Correction
Algorithme de f:
61
Exercice 5
Exercice 6
Prouver que , C
63
Complexité en espace
Définition 1
Complexité en espace
Définition 2
Complexité en espace
Définition 3
Définition 4
Complexité en espace
Définition 5
Définition 6
Complexité en espace
Théorème
P-space = NP-Space
et est la classe des langages décidés par une MT
Déterministe et polynomiale en espace.
68
Complexité en espace
Exercice : Prouver
L
69
Complexité en espace
Soit M' MTD qui reconnait L / L(M') =L.
EM' (n) L
Donc et
Soit L
et on a
Donc =
NP
70
Exercice 7