Top Banner
Théorie de la complexité Martin C. Cooper IRIT, Université de Toulouse 3 Master2 DC - Modèles de Décision et de Raisonnemment Martin C. Cooper Théorie de la complexité
54

Théorie de la complexité - Institut de Mathématiques de ...

Feb 12, 2022

Download

Documents

dariahiddleston
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Théorie de la complexité - Institut de Mathématiques de ...

Théorie de la complexité

Martin C. Cooper

IRIT, Université de Toulouse 3

Master2 DC - Modèles de Décision et de Raisonnemment

Martin C. Cooper Théorie de la complexité

Page 2: Théorie de la complexité - Institut de Mathématiques de ...

Théorie de la complexité : Introduction

Le but de la théorie de la complexité est de pouvoir dire si unproblème est (ou non) soluble efficacement par un ordinateur.

Exemples de problèmes :1 Etant donnés les pièces d’un puzzle P, reconstituer le

puzzle.2 Déterminer si un nombre à n chiffres est premier ou non.3 Etant donnée une équation diophantine (p.ex.

xy2z + 7 = z3) déterminer s’il existe une solution sur lesentiers

Un de ces problèmes ne peut être résolu par ordinateur, un est“difficile" et un est “facile".

Martin C. Cooper Théorie de la complexité

Page 3: Théorie de la complexité - Institut de Mathématiques de ...

Théorie de la complexité : Introduction

Le but de la théorie de la complexité est de pouvoir dire si unproblème est (ou non) soluble efficacement par un ordinateur.

Exemples de problèmes :1 Etant donnés les pièces d’un puzzle P, reconstituer le

puzzle.2 Déterminer si un nombre à n chiffres est premier ou non.3 Etant donnée une équation diophantine (p.ex.

xy2z + 7 = z3) déterminer s’il existe une solution sur lesentiers

Un de ces problèmes ne peut être résolu par ordinateur (3), unest “difficile" (1) et un est “facile" (2).

Martin C. Cooper Théorie de la complexité

Page 4: Théorie de la complexité - Institut de Mathématiques de ...

Références bibliographiques

D. Bovet & P. Crescenzi, “Introduction to the Theory ofComplexity"C.H. Papadimitriou, “Computational Complexity"M. Garey & D.S. Johnson, “Computers and Intractability: AGuide to the Theory of NP-Completeness"

Martin C. Cooper Théorie de la complexité

Page 5: Théorie de la complexité - Institut de Mathématiques de ...

Modèle de Calcul

PROCESSUS- -ENTREE SORTIE

une séquencede symboles

appartenant àun alphabet Σ

soit oui/non(problèmes de décision)

soit une séquence desymboles appartenant à Σ(p.ex. problèmesd’optimisation)

Martin C. Cooper Théorie de la complexité

Page 6: Théorie de la complexité - Institut de Mathématiques de ...

Problèmes de décision et problèmes fonctions

Pour définir un problème de décision, il suffit de décrire uneinstance générique ainsi qu’une question oui-non sur chaqueinstance.

Pour définir un problème fonction, il faut décrire une instancegénérique ainsi qu’une relation de la formeR = {〈I, sol〉|sol est une solution possible pour l’instance I}.(On cherche un algorithme qui réalise une fonction (partielle) fqui retourne une solution f (I) telle que 〈I, f (I)〉 ∈ R lorsqu’unesolution existe).

Martin C. Cooper Théorie de la complexité

Page 7: Théorie de la complexité - Institut de Mathématiques de ...

Exemples de problèmes de décision

CLIQUEInstance: Un graphe G et un entier k .Question: Existe-il dans G un graphe complet de k sommets?

COLORIAGE DE GRAPHESInstance: Un graphe G et un entier k .Question: Est-ce que G possède un coloriage de k couleurs(une affectation de couleurs aux sommets telle que lessommets adjacents soient de couleurs différentes)?

Martin C. Cooper Théorie de la complexité

Page 8: Théorie de la complexité - Institut de Mathématiques de ...

Exemples de problèmes de décision

VOYAGEUR DE COMMERCE (D) (version Décision)Instance: Un ensemble de villes {v1, . . . , vn}, une distanceentière d(i , j) entre chaque paire de villes vi , vj et un entier B.Question: Existe-il une permutation π de {1, . . . ,n} telle que(

n−1∑i=1

d(π(i), π(i + 1)) + d(π(n), π(1))

)≤ B

Martin C. Cooper Théorie de la complexité

Page 9: Théorie de la complexité - Institut de Mathématiques de ...

Complexité d’un algorithme

Dans la plupart des cas, c’est le temps de calcul excessif quilimite l’utilisation de certains algorithmes =⇒ la mesure decomplexité le plus utile, c’est la complexité temporelle.

DéfinitionLa complexité temporelle d’un algorithme A est la fonctionTempsA où TempsA(x) = nombre d’instructions exécutéespendant le calcul A(x).

Martin C. Cooper Théorie de la complexité

Page 10: Théorie de la complexité - Institut de Mathématiques de ...

Complexité d’un problème

On aimerait définir la complexité temporelle d’un problème Πcomme étant la complexité temporelle de l’algorithme A le plusefficace pour résoudre Π, mais ... il est possible de démontrerqu’on peut toujours rendre un algorithme A plus efficace.=⇒ la complexité temporelle doit être asymptotique.

DéfinitionPour toute fonction f , la complexité temporelle d’un langage Lest en O(f ) s’il existe un algorithme A qui décide L et desconstantes n0, c telles que

∀x |x | > n0 =⇒ TempsA(x) ≤ cf (|x |)

Martin C. Cooper Théorie de la complexité

Page 11: Théorie de la complexité - Institut de Mathématiques de ...

Classes de complexité

DéfinitionLa classe (de complexité temporelle) TEMPS[f ] est la classede tous les langages de complexité temporelle en O(f ).

TEMPS[n] ⊆ TEMPS[n log n] ⊆ TEMPS[n2] ⊆TEMPS[2n] . . .

Martin C. Cooper Théorie de la complexité

Page 12: Théorie de la complexité - Institut de Mathématiques de ...

Complexité polynomiale

Définition

P =⋃

k≥0 TEMPS[nk ]

N.B. TEMPS[p(n)] ⊆ P pour tout polynôme p(n).La classe P est identique pour les différents modèles de calcul(machine de Turing, machine RAM, etc.) La définition de P estaussi indépendante des détails du système de codage (tels quela structure de données qu’on utilise pour stocker un graphe).

Est-ce que P = traitable ("tractable")?Ce n’est pas le cas si le degré du polynôme est trop élevé ou siles constantes sont trop grandes.

Martin C. Cooper Théorie de la complexité

Page 13: Théorie de la complexité - Institut de Mathématiques de ...

kSAT

k -SATISFIABILITÉInstance: Une formule f en k -FNC (f est en FNC et comporteau plus k littéraux par clause).Question: Est-ce que f est satisfiable?

Théorème2SAT ∈ P

Martin C. Cooper Théorie de la complexité

Page 14: Théorie de la complexité - Institut de Mathématiques de ...

Algorithme de complexité polynomiale pour 2SAT :

(* Au départ, affectations = ∅ et res = "oui" *)tant que ∃ une variable x non-affectée et res = "oui" faire

pour val = vrai..faux faireeffectuer les affectation dans affectations ∪ (x ← val);res := Propager() ;si res = "oui" alors quitter boucle pour(* On a une affectation à un sous-ensemble des

variables qui est indépendante du reste des clauses *)

Propager() : tant que ∃ une clause li ∨ lj à propagersi li = lj = faux alors renvois "non" ;si li = faux et lj non-affectée alors lj := vrai ;si lj = faux et li non-affectée alors li := vrai ;

fin-tantque ;ajouter les nouvelles affectations à affectations ;renvois "oui";

Martin C. Cooper Théorie de la complexité

Page 15: Théorie de la complexité - Institut de Mathématiques de ...

Réductions polynomiales

Une autre façon de démontrer qu’un problème Π1 appartient àP, c’est de montrer une réduction vers un problème Π2 ∈ P.

Définition(Karp 1972) Il y a une réduction polynomiale du langage L1vers le langage L2 (on écrit L1 ≤ L2) s’il existe une fonction f decomplexité polynomiale telle que x ∈ L1 ssi f (x) ∈ L2.

'

&

$

%

'

&

$

%

'

&

$

%L1 ≤ L2-• •

x f (x)

L1L2

Théorème

L1 ≤ L2 ∧ L2 ∈ P =⇒ L1 ∈ P

Démonstration: La composition de 2 polynômes est unpolynôme.

Martin C. Cooper Théorie de la complexité

Page 16: Théorie de la complexité - Institut de Mathématiques de ...

2-COLORIAGE ∈ P

Théorème2-COLORIAGE ≤ 2-SAT

Voici une réduction polynomiale:Pour chaque sommet vi du graphe, on crée une variable xi

Pour chaque arête {vi , vj} du graphe, on ajoute 2 clauses(xi ∨ xj) et (¬xi ∨ ¬xj).

Soit f (vi) = rouge si xi = vrai et f (vi) = vert si xi = faux.f est un 2-coloriage du graphe ssi l’affectation (x1, . . . , xn)satisfait toutes les clauses 2-SAT.

Cette réduction est évidement polynomiale.

Martin C. Cooper Théorie de la complexité

Page 17: Théorie de la complexité - Institut de Mathématiques de ...

La classe NP : motivation

2-SAT ∈ P, 2-COLORIAGE ∈ PAucun algorithme de complexité polynomiale est connuepour 3-SAT et 3-COLORIAGEPar contre, il existe des algorithmes de complexitépolynomiale pour vérifier si une solution est correcte.

Martin C. Cooper Théorie de la complexité

Page 18: Théorie de la complexité - Institut de Mathématiques de ...

Vérificateurs et la classe NP

DéfinitionUn algorithme A est un vérificateur pour un langage L si Adécide un langage L′ et L = {I | ∃s tel que (I, s) ∈ L′}.

(Autrement dit, A décide si s est une solution pour l’instance I).

DéfinitionNP = la classe de langages qui possèdent unvérificateur de complexité polynomiale.

Martin C. Cooper Théorie de la complexité

Page 19: Théorie de la complexité - Institut de Mathématiques de ...

Exemples de problèmes en NP :

SATISFIABILITÉ, VOYAGEUR DE COMMERCE(D),k -COLORIAGE, CLIQUE ∈ NP

Dans chaque cas, on peut vérifier en temps polynomial lacorrection d’une solution.

RemarqueLe nom NP vient de "Nondeterministic Polynomial-time" [Karp1972] i.e. complexité polynomiale sur une machinenon-déterministe (≈ une machine qui essaie toutes lespossibilités en même temps) ≡ ∃ un vérificateur de complexitépolynomiale.

La question P=NP? reste encore ouverte après 35 ans d’effort.La résolution de ce problème vous fera gagner $1 000 000(http://www.claymath.org/prize_problems).

Martin C. Cooper Théorie de la complexité

Page 20: Théorie de la complexité - Institut de Mathématiques de ...

Les classes FP et FNP

Pour les problemes fonction, il existe des classes équivalentesà P et NP : FP et FNP.

DéfinitionUn problème fonction avec relation binaire associée R(I, sol)appartient à FP s’il existe un algorithme A de complexitépolynomiale tel que ∀I, A(I) renvoit sol telle que R(I, sol) estvrai (ou “non” si une telle sol n’existe pas).

DéfinitionUn problème fonction avec relation binaire associée R(I, sol)appartient à FNP si, étant données I et sol, on peut vérifierR(I, sol) en temps polynomial.

FP 6= FNP ⇔ P 6= NP

Martin C. Cooper Théorie de la complexité

Page 21: Théorie de la complexité - Institut de Mathématiques de ...

NP-complétude

Les réductions polynomiales L1 ≤ L2 définissent un ordrepartiel entre les problèmes de décision.

DéfinitionUn langage L ∈ NP est NP-complet si L′ ≤ L pour tout L′ ∈ NP.

Les problèmes NP-complets sont tous aussi difficiles les unsque les autres, dans le sens qu’un algorithme efficace pour unlangage NP-complet L fournirait un algorithme efficace pourtout L′ ∈ NP.

#" !

'&

$%

'

&

$

%P

NP

NP-complet décidable

Martin C. Cooper Théorie de la complexité

Page 22: Théorie de la complexité - Institut de Mathématiques de ...

Comment démontrer qu’un problème est NP-complet

Pour démontrer que L est NP-complet, il suffit de démontrerque L ∈ NP et L0 ≤ L pour un langage NP-complet L0.Donc, le plus difficile c’est de trouver le premier langageNP-complet L0.

Martin C. Cooper Théorie de la complexité

Page 23: Théorie de la complexité - Institut de Mathématiques de ...

Le théorème de Cook

Théorème (Cook 1972)

SATISFIABILITÉ est NP-complet

Principe de la preuve:1 pour chaque problème Π ∈ NP, il existe un programme de

vérification P qui renvoit "oui" si l’entrée S est une solutionpour une instance I et "non" sinon.

2 on peut coder l’exécution correcte de P sur (I,S) avecrésultat "oui" comme une instance AI,P de SAT avecvariables Vijk = vrai si l’adresse i contient j après kopérations. (S fait partie des variables).

3 AI,P satisfiable⇔ ∃ solution S pour I. Donc Π ≤ SAT.

Martin C. Cooper Théorie de la complexité

Page 24: Théorie de la complexité - Institut de Mathématiques de ...

Preuves de NP-complétude

Pour démontrer qu’un problème Π est NP-complet, il suffit de1 démontrer que Π ∈ NP2 démontrer que Π′ ≤ Π pour un problème NP-complet Π′.

Voir le livre de Garey & Johnson pour une liste de centaines deproblèmes NP-complets.

N.B. Si Π′ ≤ Π pour un problème NP-complet Π′, mais on nesait pas si Π ∈ NP, alors on dit que Π est NP-difficile (NP-dur).

Martin C. Cooper Théorie de la complexité

Page 25: Théorie de la complexité - Institut de Mathématiques de ...

CSP ∈ NP-complet

ThéorèmeCSP est NP-complet

Preuve: CSP ∈ NP et SAT ≤ CSP car SAT est unsous-problème de CSP.

Martin C. Cooper Théorie de la complexité

Page 26: Théorie de la complexité - Institut de Mathématiques de ...

3SAT ∈ NP-complet

Théorème3SAT est NP-complet

Preuve: Puisque 3SAT ∈ NP, il suffit de démontrer queSATISFIABILITÉ ≤ 3SAT.

Remplacer chaque clause C = x1 ∨ x2 ∨ . . . ∨ xk (aveck > 3) par

C′ = (x1∨x2∨y1)∧(¬y1∨x3∨y2)∧ . . .∧(¬yk−3∨xk−1∨xk )

C est satisfiable ssi C′ est satisfaible(car ∃y1, . . . , yk−3 C′ = vrai ⇔ au moins un des xi est vrai⇔ C est vraie)

Martin C. Cooper Théorie de la complexité

Page 27: Théorie de la complexité - Institut de Mathématiques de ...

COLORIAGE est NP-complet

ThéorèmeCOLORIAGE DE GRAPHES est NP-complet

Preuve:

1 COLORIAGE DE GRAPHES ∈ NP2 3SAT ≤ COLORIAGE DE GRAPHES

Pour une formule f = C1 ∧ . . . ∧ Ckcréer 3 sommets V ,F ,A, reliés par 3 arêtes. Sans perte degénéralité, on peut désigner les couleurs affectées auxsommets V ,F ,A par les noms vrai, faux, autrecréer un sommet pour chaque littéral x ou ¬x , et ajouter unsous-graphe qui impose col(x) ∈ {vrai,faux} etcol(x) 6= col(¬x)pour chaque clause Ci de la forme x ∨ y ∨ z ajouter unsous-graphe qui impose(col(x), col(y), col(z)) 6= (faux,faux,faux)

Martin C. Cooper Théorie de la complexité

Page 28: Théorie de la complexité - Institut de Mathématiques de ...

Les sous-graphes nécessaires à la construction :

• •

••• •

••

��PPPPPP

@@@@

BBBBBB������

����

������@@

AAAA

����

x

¬x

y ¬y

z

¬z

A

V F

x ,¬x ∈ {vrai,faux}x 6= ¬x

•••• •

•• •

•• •

��

��@

@

@@

JJJ

x V

y

V z

V

x ∨ y ∨ z

Martin C. Cooper Théorie de la complexité

Page 29: Théorie de la complexité - Institut de Mathématiques de ...

CLIQUE ∈ NP-complet

ThéorèmeCLIQUE est NP-complet

Preuve:

1 CLIQUE ∈ NP (car la liste des sommets est un certificat)2 SATISFIABILITÉ ≤ CLIQUE

Pour une formule f = C1 ∧ . . . ∧ Ckcréer un sommet pour chaque paire (x ,Cj ) où x est unlittéral de la clause Cjcréer une arête entre (x ,Ci ) et (y ,Cj ) si i 6= j et x , y sontcompatibles (x 6= ¬y ).

Cette construction se fait en temps polynomial. Le graphe ainsicréé comporte une clique de taille k ssi f est satisfiable(affecter la valeur vrai à chaque variable de la clique)

Martin C. Cooper Théorie de la complexité

Page 30: Théorie de la complexité - Institut de Mathématiques de ...

Exemple de la construction :

(x ∨ y ∨ z) ∧ (¬x ∨ ¬a) ∧ (a ∨ b ∨ ¬y ∨ ¬z)

PPPPPPPPPPPPPPP

HHHHHH

HHHHHH

HHH

((((((((

(((((((

PPPPPPPPPPPPPPP

QQQQQQQQ

@@@@@@@@

(((((((

(((((((

(

����

����

����

���

PPPPPPPP

QQQQQQQQ

��������

��������

����

����

��������

����

����

x

y

z

a

b

¬y

¬z

¬a

¬x

(x ∨ y ∨ z)

(¬x ∨ ¬a)

(a ∨ b ∨ ¬y ∨ ¬z)

hhhhhhhhhhhhhhh

SSSSSSSSSS��������

A partir de cette clique de taille k = 3, on trouve la solution x =vrai, a = faux, b = vrai (y , z prennent n’importe quelle valeurs).

Martin C. Cooper Théorie de la complexité

Page 31: Théorie de la complexité - Institut de Mathématiques de ...

coNP : les problèmes complémentaires

DéfinitioncoNP est l’ensemble des langages qui ont pourcomplémentaire (au sens des langages) un langage de NP :

coNP = {L | ¬L ∈ NP}

Autrement dit : coNP est l’ensemble des langages pourlesquels une preuve vérifiable en temps polynomial peutprouver la non-appartenance du mot au langage (les certificatssont des contre-exemples et non des solutions).

Exemples : NON-CLIQUE (déterminer s’il n’existe pas declique de taille k dans un graphe G), UNSAT (déterminer si uneformule φ en FNC est insatisfiable).

Martin C. Cooper Théorie de la complexité

Page 32: Théorie de la complexité - Institut de Mathématiques de ...

coNP-complétude

DéfinitionUn langage L0 est coNP-complet si

1 L0 ∈ coNP2 Pour chaque L ∈ coNP, L ≤ L0 (il y a une réduction

polynomiale de L vers L0).

Martin C. Cooper Théorie de la complexité

Page 33: Théorie de la complexité - Institut de Mathématiques de ...

coNP-complétude d’UNSAT

ThéorèmeUNSAT ∈ coNP-complet.

Preuve : Nous savons que UNSAT ∈ coNP.Soit L ∈ coNP. Il faut démontrer L ≤ UNSAT. Il y a une réductionpolynomiale ¬L ≤ SAT (par la NP-complétude de SAT).Puisque chaque instance de L est aussi une instance de ¬L(c’est la question qui change mais pas l’instance), pour chaqueinstance I de L, il existe une formule φI telle que

φI est satisfiable ssi I ∈ ¬L.Donc φI est insatisfiable ssi I /∈ ¬L.Donc φI ∈ UNSAT ssi I ∈ L.

Martin C. Cooper Théorie de la complexité

Page 34: Théorie de la complexité - Institut de Mathématiques de ...

Exemple d’un problème coNP-complet

TAUTOLOGIEInstance: Une formule booléenne φ en FNC.Question: Est-ce que φ = vrai pour toute affectation desvariables?

ThéorèmeTAUTOLOGIE ∈ coNP-complet.

Preuve : (1) On peut vérifier un contre exemple (uneaffectation qui ne satisfait pas la formule) en temps polynomial.(2) φ est une tautologie ssi ¬φ est insatisfiable, donc il y a uneréduction polynomiale UNSAT ≤ TAUTOLOGIE.

Martin C. Cooper Théorie de la complexité

Page 35: Théorie de la complexité - Institut de Mathématiques de ...

Une autre définition de coNP

L ∈ NP si et seulement s’il existe une relation R ∈ P tel quex ∈ L ssi ∃y , R(x , y) = vrai.

L ∈ coNP si et seulement s’il existe une relation R ∈ P tell quex ∈ L ssi ∀y , R(x , y) = vrai.

Preuve : (L ∈ coNP)⇔ (¬L ∈ NP)⇔ (∃R′ ∈ P tel que x ∈ ¬Lssi ∃y , R′(x , y) = vrai)⇔ (∃R = ¬R′ ∈ P tel que x ∈ L ssi ∀y ,R(x , y) = vrai).

Martin C. Cooper Théorie de la complexité

Page 36: Théorie de la complexité - Institut de Mathématiques de ...

Au delà de NP et coNP

DéfinitionΣi est la classe des langages L tels que ∃ une relation R ∈ Ptelle que x ∈ L ssi ∃y1∀y2 · · ·QiyiR(x , y1, y2, . . . , yi), oùQj = ∃ si j est impair et Qj = ∀ si j est pair.

DéfinitionΠi est la classe des langages L tels que ∃ une relation R ∈ Ptelle que x ∈ L ssi ∀y1∃y2 · · ·QiyiR(x , y1, y2, . . . , yi), oùQj = ∀ si j est impair et Qj = ∃ si j est pair.

Interprétation en termes de jeu à 2 joueurs : un problème de Σipeut être vu comme demander s’il existe une stratégiegagnante en i coups pour le 1er joueur. De façon similaire, unproblème de Πi peut être vu comme demander s’il existe unestratégie gagnante en i coups pour le 2ème joueur.

Martin C. Cooper Théorie de la complexité

Page 37: Théorie de la complexité - Institut de Mathématiques de ...

La hiérarchie polynomiale

Définition (Polynomial Hierarchy)

PH =⋃

i

Σi

A partir de leurs définitions, nous avons directement :Σ1 = NPΠ1 = coNPΣi ⊆ Σi+1

Πi ⊆ Πi+1

Σi ⊆ Πi+1

Πi ⊆ Σi+1

Martin C. Cooper Théorie de la complexité

Page 38: Théorie de la complexité - Institut de Mathématiques de ...

Complexité spatiale

En informatique, l’espace et le temps sont différents : on nepeut pas réutiliser le temps!

DéfinitionPSPACE = la classe de problèmes de décision que l’on peutrésoudre en utilisant un espace mémoire de taille bornée parune fonction polynomiale de la taille de l’instance.

Exemples : SAT, planification-STRIPS ∈ PSPACE.

P ⊆ PSPACEP 6= PSPACE si P 6= NP.

Martin C. Cooper Théorie de la complexité

Page 39: Théorie de la complexité - Institut de Mathématiques de ...

PSPACE-complétude

DéfinitionUn langage L est PSPACE-complet si

1 L ∈ PSPACE,2 pour tout langage L′ ∈ PSPACE, L′ ≤ L.

QBFInstance: Une formule booléenne φ en FNC et une séquencede quantifications Q1x1, . . . ,Qnxn sur les variables de φ, oùQi ∈ {∀,∃} (par exemple, ∀x1∃x2∀x3∃x4...φ).Question: Est-ce que Q1x1, . . . ,Qnxn φ = vrai ?

ThéorèmeQBF est PSPACE-complet.

Martin C. Cooper Théorie de la complexité

Page 40: Théorie de la complexité - Institut de Mathématiques de ...

PSPACE et la hiérarchie polynomiale

ThéorèmePH ⊆ PSPACE.

RemarqueLe problème PSPACE-complet QBF a une forme très similaireaux langages dans PH, sauf que le nombre de quantificateursn n’est pas borné par une constante car c’est le nombre devariables de l’instance.

Martin C. Cooper Théorie de la complexité

Page 41: Théorie de la complexité - Institut de Mathématiques de ...

EXPTIME

Rappel : La classe TEMPS[f ] est la classe de tous leslangages de complexité temporelle en O(f ).

Définition

EXPTIME =⋃k≥0

TEMPS[2nk]

c’est-à-dire, l’ensemble de tous les problèmes qui peuvent êtrerésolus en temps exponentiel.

Exemple : Etant donné un programe P, une entrée E et unentier N, déterminer si P(E) s’arrête en au plus N étapes.Preuve : Executer N étapes de P(E) se fait en temps O(N), etil faut O(log N) bits pour coder N.

Martin C. Cooper Théorie de la complexité

Page 42: Théorie de la complexité - Institut de Mathématiques de ...

Complexté temporelle et complexité spatiale

ThéorèmeNP ⊆ PSPACE ⊆ EXPTIME.

Preuve :1 Soit Π ∈ NP. Il existe un vérificateur A de complexité

polynomiale pour Π. Les solutions potentielles sontforcément de taille polynomiale (car A doit les lire en tempspolynomial). Un algorithme qui appelle A sur chaquesolution possible utilise un espace mémoire polynomial.Donc Π ∈ PSPACE.

2 Un algorithme qui utilise un espace mémoire de taillepolynomiale p(n) ne peut utiliser un temps de calculsupérieur à 2p(n) (= le nombre total d’états possible de lamémoire) sans boucler.

Martin C. Cooper Théorie de la complexité

Page 43: Théorie de la complexité - Institut de Mathématiques de ...

Questions ouvertes :

P = NP ∩ coNP ? (pourrait être vrai)P = NP ? (très peu probable que ce soit vrai)NP = PSPACE ? (très peu probable que ce soit vrai)PH = PSPACE ? (peu probable que ce soit vrai)PSPACE = EXPTIME ? (peu probable que ce soit vrai)

Ce que l’on sait : P 6= EXPTIME.

Martin C. Cooper Théorie de la complexité

Page 44: Théorie de la complexité - Institut de Mathématiques de ...

Problèmes d’optimisation

DéfinitionUn problème d’optimisation Π = (E ,Sol ,m,obj) sera défini par

Un ensemble E d’instances.Une fonction Sol telle que pour tout I ∈ E, Sol(I)représente l’ensemble des solutions réalisables (“feasiblesolutions”) pour I.Une fonction m à valeur entière définie sur tous lescouples I ∈ E et x ∈ Sol(I). Cette mesure m représente lafonction objectif d’une solution x pour l’instance I.Un objectif obj ∈ {min,max} précisant si Π est unproblème de minimisation ou de maximisation.

Martin C. Cooper Théorie de la complexité

Page 45: Théorie de la complexité - Institut de Mathématiques de ...

La classe NPO ≈ problèmes d’optimisation dont leproblème de décision appartient à NP

DéfinitionDéfinition Un problème Π = (E ,Sol ,m,obj) d’optimisationappartient à la classe NPO si :

Les instances I ∈ E peuvent être reconnues en tempspolynomial.Il existe un polynôme p tel que pour tout I ∈ E etx ∈ Sol(I), |x | ≤ p(|I|). De plus il est décidable en tempspolynomial si x ∈ Sol(I).La mesure m est une fonction calculable en tempspolynomial en |I|.

Martin C. Cooper Théorie de la complexité

Page 46: Théorie de la complexité - Institut de Mathématiques de ...

Exemple de problème dans NPO

SAC-A-DOS (KNAPSACK)Instance: Un sac-à-dos de capacité C et un ensembled’objets O = {1,2, . . . ,n}, où chaque objet a un poids wi et unevaleur vi .Problème : Trouver un sous ensemble M ⊆ O d’objets devaleur totale maximale que l’on puisse transporter dans lesac-à-dos, c’est-à-dire qui maximise la valeur

∑i∈M vi tel que∑

i∈M wi ≤ C.

Pour une instance I :Sol(I) = l’ensemble de solutions réalisables = lesensembles M tels que

∑i∈M wi ≤ C

m(I,M) = la measure de la solution M =∑

i∈M vi

l’objectif obj = max

Martin C. Cooper Théorie de la complexité

Page 47: Théorie de la complexité - Institut de Mathématiques de ...

Algorithmes d’approximation

DéfinitionSoit r(n) ≥ 1 une suite de valeurs réeles. Un algorithme A estune r(n)-approximation pour le problème Π = (E ,Sol ,m,obj) si

Pour chaque instance I ∈ E, A retourne une solutionxA ∈ Sol(I).De plus xA vérifie

m∗(I)/r(|I|) ≤ m(I, xA) ≤ m∗(I)r(|I|)

où m∗(I) est la valeur de la solution optimale.

On dit que r(n) est la garantie de performance de l’algorithmeA.

Martin C. Cooper Théorie de la complexité

Page 48: Théorie de la complexité - Institut de Mathématiques de ...

APX

DéfinitionLa classe APX est constituée des problèmes de NPOadmettant une O(1)-approximation A de complexitépolynomiale en |I|.

Exemple : MAX-SAT ∈ APXPreuve : m(I, x) = nombre de clauses satisfaites par lasolution x .Soit A l’algorithme qui retourne xA = la meilleure des deuxsolutions (vrai , . . . , vrai) et (faux , . . . , faux). xA satisfait aumoins la moitié des clauses et donc m∗(I)/2 ≤ m(I, xA).Donc A est une 2-approximation.

Martin C. Cooper Théorie de la complexité

Page 49: Théorie de la complexité - Institut de Mathématiques de ...

Exemple d’un problème difficile à approximer

VOYAGEUR DE COMMERCE (version optimisation)Instance: Un ensemble de villes {1, . . . ,n} et une distanceentière d(i , j) entre chaque paire de villes i , j .Problème: Trouver une permutation π de {1, . . . ,n} quiminimise

∑n−1i=1 d(π(i), π(i + 1)) + d(π(n), π(1)).

Etant donné un graphe G = 〈S,A〉, on peut construire uneinstance du problème de voyageur de commerce qui déterminel’existence d’un chemin hamiltonien :

d(i , j) = 1 si {i , j} ∈ A et d(i , j) = 1 + n2 sinon.∃ chemin hamiltonian dans G ⇔ ∃ tournée de longueur nUne O(1)-approximation résoudrait le problème de cheminhamiltonien en temps polynomial.Donc, si P 6= NP, alors VOYAGEUR DE COMMERCE /∈ APX.

Martin C. Cooper Théorie de la complexité

Page 50: Théorie de la complexité - Institut de Mathématiques de ...

PTAS

DéfinitionUn schéma d’approximation polynomial (PTAS = “PolynomialTime Approximation Scheme”) est une famille (Aε)ε>0d’algorithmes polynomiaux en |I| telle que pour tout ε > 0,Aε est une (1 + ε)-approximation.

DéfinitionLa classe PTAS est constituée des problèmes de NPOadmettant un PTAS.

Martin C. Cooper Théorie de la complexité

Page 51: Théorie de la complexité - Institut de Mathématiques de ...

FPTAS

DéfinitionUn schéma d’approximation pleinement polynomial (FPTAS =“Fully Polynomial Time Approximation Scheme”) est unalgorithme A(ε) polynomial en |I| et en 1/ε tel que pour toutε > 0 fixé, A(ε) est une (1 + ε)-approximation.

DéfinitionLa classe FPTAS est constituée des problèmes de NPOadmettant un FPTAS.

Martin C. Cooper Théorie de la complexité

Page 52: Théorie de la complexité - Institut de Mathématiques de ...

Exemple : SAC-A-DOS ∈ FPTAS

Il existe un algorithme (pseudo-polynomial) A deprogrammation dynamique pour SAC-A-DOS de complexitéO(n2V ) où V est la valeur maximale des objets.

Soit I une instance de SAC-A-DOS, dans laquelle les objets1, . . . ,n ont les valeurs v1, . . . , vn.Pour un ε > 0 donné, on construit une version reduite Iε de Idans laquelle on remplace les valeurs vi par bnvi/εVc.L’algorithme de programmation dynamique A résoud Iε entemps O(n2(n/ε)) (donc polynomial en n et en 1/ε).

On peut démontrer que la solution optimale xε pour Iε satisfait

m(I, xε) ≥ (1− ε)m∗(I)

Donc, A(Iε) est une (1 + ε)-approximation pour SAC-A-DOS.

Martin C. Cooper Théorie de la complexité

Page 53: Théorie de la complexité - Institut de Mathématiques de ...

Exemple : MIN-COLORIAGE DE GRAPHESPLANAIRES /∈ PTAS

MIN-COLORIAGE DE GRAPHES PLANAIRESInstance: Un graphe planaire GProblème : Trouver un coloriage de G qui minimise m(G) = lenombre de couleurs.

1 Tout graphe planaire a un 4-coloriage.2 Déterminer si un graphe planaire possède un 3-coloriage

est un problème NP-complet.3 Donc, une (1 + ε)-approximation pour ε < 1/3 résoudrait

ce problème de décision en temps polynomial.4 Donc, si P 6= NP, alors il ne peut exister de PTAS pour

MIN-COLORIAGE DE GRAPHES PLANAIRES.

Martin C. Cooper Théorie de la complexité

Page 54: Théorie de la complexité - Institut de Mathématiques de ...

Inclusions des classes de complexité (de problèmesd’optimisation)

��

��

'&

$%

'

&

$

%

'

&

$

%FPTAS

PTAS

APX

NPO

FPTAS 6= PTAS ⇔ PTAS 6= APX ⇔ APX 6= NPO⇔ P 6= NP

Martin C. Cooper Théorie de la complexité