introduction `a la th´eorie de la...

36
INFO-F-302, Cours d’Informatique Fondamentale Introduction ` a la th´ eorie de la complexit´ e Introduction ` a la th´ eorie de la complexit´ e

Upload: nguyendieu

Post on 28-Aug-2018

214 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Introduction `a la th´eorie de la complexit´elim.univ-reunion.fr/staff/fred/Enseignement/AlgoAvancee/Diapos/... · graphe G en identifiant chacun de ses sommets par un entier,

INFO-F-302, Cours d’Informatique Fondamentale

Introduction a la theorie de la complexite

Introduction a la theorie de lacomplexite

Page 2: Introduction `a la th´eorie de la complexit´elim.univ-reunion.fr/staff/fred/Enseignement/AlgoAvancee/Diapos/... · graphe G en identifiant chacun de ses sommets par un entier,

INFO-F-302, Cours d’Informatique Fondamentale

Introduction a la theorie de la complexite

Les classes P et NP

196 Problemes de decisionI Informellement, un probleme de decision est un probleme dont la

reponse est oui ou non.I on peut definir un probleme de decision comme un langage de mots

sur un alphabet fini ⌃I on note ⌃⇤ l’ensemble des mots sur l’alphabet ⌃ (et ✏ le mot vide)I par exemple, pour ⌃ = {0, 1}, 00100 2 ⌃⇤, 11 2 ⌃⇤.I un langage sur ⌃ est un sous-ensemble L ✓ ⌃⇤.

DefinitionUn probleme de decision est un langage P ✓ ⌃⇤.

Remarque : chaque langage P represente bien un probleme dont lareponse est oui ou non, en l’identifiant a sa fonction caracteristique �P :

�P : ⌃⇤ ! {0, 1}

u 7!⇢

1 si u 2 P0 si u 62 P

Etant donne un mot d’entree u 2 ⌃⇤, on doit decider si u 2 P ou non.

Page 3: Introduction `a la th´eorie de la complexit´elim.univ-reunion.fr/staff/fred/Enseignement/AlgoAvancee/Diapos/... · graphe G en identifiant chacun de ses sommets par un entier,

INFO-F-302, Cours d’Informatique Fondamentale

Introduction a la theorie de la complexite

Les classes P et NP

197 Problemes de decision : exemples

I avec ⌃ = {1},

PRIME1 = {1, 11, 111, 11111, 1111111, . . .}

l’ensemble des nombres premiers en unaire.

I avec ⌃ = {1},PAIR = {✏, 11, 1111, . . .}

l’ensemble des nombre pairs.

I avec ⌃ = {0, 1},

PRIME = {1, 10, 11, 101, 111, . . .}

l’ensemble des nombre premiers en binaire.

Fred Mesnard
Fred Mesnard
Page 4: Introduction `a la th´eorie de la complexit´elim.univ-reunion.fr/staff/fred/Enseignement/AlgoAvancee/Diapos/... · graphe G en identifiant chacun de ses sommets par un entier,

INFO-F-302, Cours d’Informatique Fondamentale

Introduction a la theorie de la complexite

Les classes P et NP

198 Notion de codage

I la definition precedente pour les problemes de decision est abstraite.I comment par exemple representer le probleme suivant comme un

langage ?I ENTREE : un graphe G non dirige et un entier k 2 NI SORTIE : 1 ssi on peut colorier G avec au plus k couleurs

I on voudrait representer l’ensemble {(G1, k1), (G2, k2), . . .} de toutesles paires de graphes Gi coloriables avec au plus ki couleurs.

I il faut alors “coder” chaque paire comme un mot.I par exemple, avec l’alphabet ⌃ = {0, 1,#, $}, on pourrait coder un

graphe G en identifiant chacun de ses sommets par un entier, etchaque arete (i , j) pourrait etre codee par le mot i#j , ou i ,j sont lescodages binaires des sommets i et j . La paire (G , k) pourrait secoder par le mot :

i1#j1$i2#j2 . . . in#jn$k ou (i1, j1), . . . (in, jn) sont les aretes de G

Page 5: Introduction `a la th´eorie de la complexit´elim.univ-reunion.fr/staff/fred/Enseignement/AlgoAvancee/Diapos/... · graphe G en identifiant chacun de ses sommets par un entier,

INFO-F-302, Cours d’Informatique Fondamentale

Introduction a la theorie de la complexite

Les classes P et NP

200 Probleme d’optimisation

I un probleme d’optimisation est un probleme ou l’on veut maximiserou minimiser une certaine quantite

I par exemple, trouver le plus court chemin dans un graphe, d’unsommet s a un sommet t.

I on peut associer un probleme de decision a un problemed’optimisation, en donnant une borne

I par exemple, est-ce qu’il existe un chemin de longueur au plus k de s

a t ?

I si on sait resoudre le probleme de decision associe a un problemed’optimisation, on peut parfois resoudre le probleme d’optimisation

I par exemple, pour trouver le plus court chemin de s a t dans ungraphe a n sommets, on peut faire une recherche dichotomique.

yealonger .

pens Fryar

Page 6: Introduction `a la th´eorie de la complexit´elim.univ-reunion.fr/staff/fred/Enseignement/AlgoAvancee/Diapos/... · graphe G en identifiant chacun de ses sommets par un entier,

INFO-F-302, Cours d’Informatique Fondamentale

Introduction a la theorie de la complexite

Les classes P et NP

200 Probleme d’optimisation

I un probleme d’optimisation est un probleme ou l’on veut maximiserou minimiser une certaine quantite

I par exemple, trouver le plus court chemin dans un graphe, d’unsommet s a un sommet t.

I on peut associer un probleme de decision a un problemed’optimisation, en donnant une borne

I par exemple, est-ce qu’il existe un chemin de longueur au plus k de s

a t ?

I si on sait resoudre le probleme de decision associe a un problemed’optimisation, on peut parfois resoudre le probleme d’optimisation

I par exemple, pour trouver le plus court chemin de s a t dans ungraphe a n sommets, on peut faire une recherche dichotomique.

Page 7: Introduction `a la th´eorie de la complexit´elim.univ-reunion.fr/staff/fred/Enseignement/AlgoAvancee/Diapos/... · graphe G en identifiant chacun de ses sommets par un entier,

INFO-F-302, Cours d’Informatique Fondamentale

Introduction a la theorie de la complexite

Les classes P et NP

201 Algorithme de decision

DefinitionUn probleme P ✓ ⌃⇤ est decide par un algorithme A si pour tout motu 2 ⌃⇤,

I A termine et retourne 1 si u 2 P ,

I A termine et retourne 0 si u 62 P .

Un probleme est decidable s’il existe un algorithme qui le decide.

Par exemple, selon le codage des entiers adopte, l’algorithme vuprecedemment decide PRIME1 ou PRIME.

Page 8: Introduction `a la th´eorie de la complexit´elim.univ-reunion.fr/staff/fred/Enseignement/AlgoAvancee/Diapos/... · graphe G en identifiant chacun de ses sommets par un entier,

INFO-F-302, Cours d’Informatique Fondamentale

Introduction a la theorie de la complexite

Les classes P et NP

202 La classe PDefinitionLa classe P est la classe des problemes pouvant etre decides en tempspolynomial. Plus precisement, un probleme P ✓ ⌃⇤ est dans P si il existeun algorithme A et une constante k tel que pour tout mot u de longueurn,

I A retourne 1 en temps O(nk) si u 2 P

I A retourne 0 en temps O(nk) si u 62 P

Exemples de problemes dans P :I decider si un tableau est trieI decider si un entier code en unaire est premier (facile)I decider si un entier code en binaire est premier (di�cile, probleme

reste ouvert pendant longtemps)

Les notions d’algorithme et leur complexite peuvent etre definiesformellement par le modele des machines de Turing (plus tard dans lecours)

Page 9: Introduction `a la th´eorie de la complexit´elim.univ-reunion.fr/staff/fred/Enseignement/AlgoAvancee/Diapos/... · graphe G en identifiant chacun de ses sommets par un entier,

INFO-F-302, Cours d’Informatique Fondamentale

Introduction a la theorie de la complexite

Les classes P et NP

202 La classe PDefinitionLa classe P est la classe des problemes pouvant etre decides en tempspolynomial. Plus precisement, un probleme P ✓ ⌃⇤ est dans P si il existeun algorithme A et une constante k tel que pour tout mot u de longueurn,

I A retourne 1 en temps O(nk) si u 2 P

I A retourne 0 en temps O(nk) si u 62 P

Exemples de problemes dans P :I decider si un tableau est trieI decider si un entier code en unaire est premier (facile)I decider si un entier code en binaire est premier (di�cile, probleme

reste ouvert pendant longtemps)

Les notions d’algorithme et leur complexite peuvent etre definiesformellement par le modele des machines de Turing (plus tard dans lecours)

Page 10: Introduction `a la th´eorie de la complexit´elim.univ-reunion.fr/staff/fred/Enseignement/AlgoAvancee/Diapos/... · graphe G en identifiant chacun de ses sommets par un entier,

INFO-F-302, Cours d’Informatique Fondamentale

Introduction a la theorie de la complexite

Les classes P et NP

202 La classe PDefinitionLa classe P est la classe des problemes pouvant etre decides en tempspolynomial. Plus precisement, un probleme P ✓ ⌃⇤ est dans P si il existeun algorithme A et une constante k tel que pour tout mot u de longueurn,

I A retourne 1 en temps O(nk) si u 2 P

I A retourne 0 en temps O(nk) si u 62 P

Exemples de problemes dans P :I decider si un tableau est trieI decider si un entier code en unaire est premier (facile)I decider si un entier code en binaire est premier (di�cile, probleme

reste ouvert pendant longtemps)

Les notions d’algorithme et leur complexite peuvent etre definiesformellement par le modele des machines de Turing (plus tard dans lecours)

Fred Mesnard
Fred Mesnard
Page 11: Introduction `a la th´eorie de la complexit´elim.univ-reunion.fr/staff/fred/Enseignement/AlgoAvancee/Diapos/... · graphe G en identifiant chacun de ses sommets par un entier,

INFO-F-302, Cours d’Informatique Fondamentale

Introduction a la theorie de la complexite

Les classes P et NP

203 Algorithme de verification

I informellement, un algorithme de verification est un algorithme qui,etant donnee une solution “candidate” a un probleme de decision,decide si oui ou non cette solution est valide.

I par exemple, pour le coloriage de graphe avec au plus k couleurs,une solution candidate serait un coloriage c , et un algorithme deverification devrait verifier que (1) chaque sommet est colorie par c ,(2) deux sommets voisins ne sont pas colories de la meme couleurpar c .

Cela peut se definir formellement :

DefinitionUn algorithme de verification pour un probleme P ✓ ⌃⇤ est unalgorithme A prenant deux mots en argument, tel que

P = {u 2 ⌃⇤ | 9v 2 ⌃⇤,A(u, v) = 1}

Lorsque A(u, v) = 1, v est appele un certificat pour u.

Page 12: Introduction `a la th´eorie de la complexit´elim.univ-reunion.fr/staff/fred/Enseignement/AlgoAvancee/Diapos/... · graphe G en identifiant chacun de ses sommets par un entier,

INFO-F-302, Cours d’Informatique Fondamentale

Introduction a la theorie de la complexite

Les classes P et NP

204 La classe NP

DefinitionLa classe NPest la classe des problemes pouvant etre verifies en tempspolynomial.

Autrement dit, un probleme P est dans NP si il existe un algorithme deverification A de complexite polynomiale en temps, et une constante k ,tels que

I pour toute entree u 2 P , il existe un certificat v de longueur

polynomiale dans u (|v | = O(|u|k)) tel que A(u, v) = 1.

Page 13: Introduction `a la th´eorie de la complexit´elim.univ-reunion.fr/staff/fred/Enseignement/AlgoAvancee/Diapos/... · graphe G en identifiant chacun de ses sommets par un entier,

INFO-F-302, Cours d’Informatique Fondamentale

Introduction a la theorie de la complexite

Les classes P et NP

205 Exemples de problemes dans NP

I decider qu’un ensemble de clauses est satisfaisable (certificat =valuation)

I voyageur de commerce : etant donnes n villes, les distances entreles villes, et un entier d , on voudrait savoir s’il existe un cycle delongueur d qui passe par chaque ville une et une seule fois(certificat = un cycle)

I coloriage de graphes : peut-on colorier un graphe avec moins de kcouleurs sans que deux sommets aient la meme couleur ? (certificat= coloriage)

I 2-partition : peut-on partitionner un ensemble de n entiers en deuxtas egaux ? (certificat = partition)

I bin packing : peut-on ranger n objets de volume vi dans k boıtes devolumes C ? (certificat = rangement)

I tous les problemes de la classe P(P✓ NP) ... certificat vide.

O

(Etantdonne I E IN fine ; est . a qn

' 'll exist Jet tel que,.§gi=§j ?

Page 14: Introduction `a la th´eorie de la complexit´elim.univ-reunion.fr/staff/fred/Enseignement/AlgoAvancee/Diapos/... · graphe G en identifiant chacun de ses sommets par un entier,

INFO-F-302, Cours d’Informatique Fondamentale

Introduction a la theorie de la complexite

Les classes P et NP

206 NP✓ ExpTime

I tout probleme de NPpeut etre decide par un algorithme decomplexite exponentielle en temps. Pourquoi ?

I etant donne un mot u en entree, il su�t d’enumerer tous lescertificats de longueur au plus a.|u|k (pour la constant a de lanotation O()) et d’appeler l’algorithme de verification. Exemple ?

I pour SAT : enumerer toutes les interpretations possibles et les tester

I pour le coloriage : enumerer tous les coloriages possibles et les tester

Page 15: Introduction `a la th´eorie de la complexit´elim.univ-reunion.fr/staff/fred/Enseignement/AlgoAvancee/Diapos/... · graphe G en identifiant chacun de ses sommets par un entier,

INFO-F-302, Cours d’Informatique Fondamentale

Introduction a la theorie de la complexite

Les classes P et NP

207 Conjecture

La grande conjecture de l’informatique fondamentale est :

P 6= NP

Autrement dit, on ne sait pas encore demontrer que

I verifier une solution candidate en tps polynomial (dans la taille del’entree du probleme),

est plus puissant que

I trouver une solution en temps polynomial.

00¥

Page 16: Introduction `a la th´eorie de la complexit´elim.univ-reunion.fr/staff/fred/Enseignement/AlgoAvancee/Diapos/... · graphe G en identifiant chacun de ses sommets par un entier,

INFO-F-302, Cours d’Informatique Fondamentale

Introduction a la theorie de la complexite

Les classes P et NP

Temps non-deterministe polynomial

I une definition equivalente de NP peut etre donnee

I c’est la classe des problemes pouvant etre decides en tempspolynomial par un algorithme non-deterministe

I cet algorithme doit s’arreter apres un nombre d’etapes polynomial

I il a le droit de faire des choix aleatoires (tirer a pile ou face)

I si la reponse au probleme est OUI, alors il doit exister une executionde l’algorithme (i.e. une suite de tirages) apres laquelle l’algorithmerepondra OUI

I Exemple : SAT choisir aleatoirement une valeur de verite pourchaque variable, et verifier en temps lineaire qu’elles satisfont laformule.

I Pourquoi cette definition est equivalente ?

I idee : certificat = suite de tirages

" " " '

dataChoix possible non

Page 17: Introduction `a la th´eorie de la complexit´elim.univ-reunion.fr/staff/fred/Enseignement/AlgoAvancee/Diapos/... · graphe G en identifiant chacun de ses sommets par un entier,

INFO-F-302, Cours d’Informatique Fondamentale

Introduction a la theorie de la complexite

Les classes P et NP

Temps non-deterministe polynomial

I une definition equivalente de NP peut etre donnee

I c’est la classe des problemes pouvant etre decides en tempspolynomial par un algorithme non-deterministe

I cet algorithme doit s’arreter apres un nombre d’etapes polynomial

I il a le droit de faire des choix aleatoires (tirer a pile ou face)

I si la reponse au probleme est OUI, alors il doit exister une executionde l’algorithme (i.e. une suite de tirages) apres laquelle l’algorithmerepondra OUI

I Exemple : SAT choisir aleatoirement une valeur de verite pourchaque variable, et verifier en temps lineaire qu’elles satisfont laformule.

I Pourquoi cette definition est equivalente ?

I idee : certificat = suite de tirages

Page 18: Introduction `a la th´eorie de la complexit´elim.univ-reunion.fr/staff/fred/Enseignement/AlgoAvancee/Diapos/... · graphe G en identifiant chacun de ses sommets par un entier,

INFO-F-302, Cours d’Informatique Fondamentale

Introduction a la theorie de la complexite

Les classes P et NP

Temps non-deterministe polynomial

I une definition equivalente de NP peut etre donnee

I c’est la classe des problemes pouvant etre decides en tempspolynomial par un algorithme non-deterministe

I cet algorithme doit s’arreter apres un nombre d’etapes polynomial

I il a le droit de faire des choix aleatoires (tirer a pile ou face)

I si la reponse au probleme est OUI, alors il doit exister une executionde l’algorithme (i.e. une suite de tirages) apres laquelle l’algorithmerepondra OUI

I Exemple : SAT choisir aleatoirement une valeur de verite pourchaque variable, et verifier en temps lineaire qu’elles satisfont laformule.

I Pourquoi cette definition est equivalente ?

I idee : certificat = suite de tirages

saw. n

or§.yx⇒:§ srt s

goioors 8

$

A'

party dh - algo de verification A capable de des . da si des

solutions Candidates sort valdes en temps polynomial ,on do ,V

onslruire cn algorithm non .def

. polynomial pour deader lepoblehe .

)

Page 19: Introduction `a la th´eorie de la complexit´elim.univ-reunion.fr/staff/fred/Enseignement/AlgoAvancee/Diapos/... · graphe G en identifiant chacun de ses sommets par un entier,

INFO-F-302, Cours d’Informatique Fondamentale

Introduction a la theorie de la complexite

Les classes P et NP

Temps non-deterministe polynomial

I une definition equivalente de NP peut etre donnee

I c’est la classe des problemes pouvant etre decides en tempspolynomial par un algorithme non-deterministe

I cet algorithme doit s’arreter apres un nombre d’etapes polynomial

I il a le droit de faire des choix aleatoires (tirer a pile ou face)

I si la reponse au probleme est OUI, alors il doit exister une executionde l’algorithme (i.e. une suite de tirages) apres laquelle l’algorithmerepondra OUI

I Exemple : SAT choisir aleatoirement une valeur de verite pourchaque variable, et verifier en temps lineaire qu’elles satisfont laformule.

I Pourquoi cette definition est equivalente ?

I idee : certificat = suite de tirages

Page 20: Introduction `a la th´eorie de la complexit´elim.univ-reunion.fr/staff/fred/Enseignement/AlgoAvancee/Diapos/... · graphe G en identifiant chacun de ses sommets par un entier,

INFO-F-302, Cours d’Informatique Fondamentale

Introduction a la theorie de la complexite

Reductions et NP-completude

209 Problemes NP-complets

Parmi les problemes de la classe NP , certains sont dits “durs” : ce sontceux qui contiennent toute la di�culte de n’importe quel probleme de laclasse NP . On les appelle les problemes NP-complets.

I Un probleme de decision P est NP-complet si il est dans NPettout autre probleme P 0 de NPse reduit a P en temps polynomial,i.e. qu’il existe un algorithme qui transforme toute instance I 0 de P 0

en une instance I de P , en temps polynomial, telle que I a unesolution ssi I 0 a une solution.

I Pour montrer qu’un probleme est NP-complet, en general on partd’un probleme NP-complet connu, qu’on reduit dans notreprobleme en temps polynomial.

I Au debut, il fallait bien un premier probleme NP-complet !

I Theoreme de Cook (1971) : SAT est NP-complet.

Page 21: Introduction `a la th´eorie de la complexit´elim.univ-reunion.fr/staff/fred/Enseignement/AlgoAvancee/Diapos/... · graphe G en identifiant chacun de ses sommets par un entier,

An NPAn ×

×

A3×pq#gtAu×rG#

AC

:

A est NP. complet

Page 22: Introduction `a la th´eorie de la complexit´elim.univ-reunion.fr/staff/fred/Enseignement/AlgoAvancee/Diapos/... · graphe G en identifiant chacun de ses sommets par un entier,

Proposition ! Si on problime A est NP. ampler et A

se remit en taps polynomial daas an problem B de NP,

alas B est NP - complet.

cpp×

. - - --

. .

i

-

Ty'

'

polyx ,

,

\ ,in

A ⇒

x - × # B

:(

Page 23: Introduction `a la th´eorie de la complexit´elim.univ-reunion.fr/staff/fred/Enseignement/AlgoAvancee/Diapos/... · graphe G en identifiant chacun de ses sommets par un entier,

INFO-F-302, Cours d’Informatique Fondamentale

Introduction a la theorie de la complexite

Reductions et NP-completude

210 Vue d’ensemble

De maniere generale, on appelle NP-dur l’ensemble des problemes danslesquels tout probleme de NPpeut se reduire en temps polynomial.

Page 24: Introduction `a la th´eorie de la complexit´elim.univ-reunion.fr/staff/fred/Enseignement/AlgoAvancee/Diapos/... · graphe G en identifiant chacun de ses sommets par un entier,

INFO-F-302, Cours d’Informatique Fondamentale

Introduction a la theorie de la complexite

Reductions et NP-completude

211 Exemples de Problemes NP-complets

I SAT

I 3-SAT (exactement 3 variables par clauses)

I voyageur de commerce

I coloriage de graphes (meme avec 3 couleurs)

I bin-packing

I couverture d’arete : etant donne un graphe et un entier k , peut-ontrouver un sous-ensemble S de sommets tels que chaque arete a aumoins une de ses extremites dans S ?

I ...

I voir http://www.nada.kth.se/~viggo/problemlist/compendium.html

Page 25: Introduction `a la th´eorie de la complexit´elim.univ-reunion.fr/staff/fred/Enseignement/AlgoAvancee/Diapos/... · graphe G en identifiant chacun de ses sommets par un entier,

INFO-F-302, Cours d’Informatique Fondamentale

Introduction a la theorie de la complexite

Reductions et NP-completude

212 Voyageur de CommerceI TSP en anglais (Traveling Salesman Problem)I di↵erentes applications : http://www.tsp.gatech.edu/I 500$ a qui trouve le circuit de distance minimale traversant les

115475 villes des USAI record : tour de la Suede, 24 978 villes

Page 26: Introduction `a la th´eorie de la complexit´elim.univ-reunion.fr/staff/fred/Enseignement/AlgoAvancee/Diapos/... · graphe G en identifiant chacun de ses sommets par un entier,

The crime : JSAT est NP . complete

Preuvei@Demontrerque3SATestdarsNPclestvraicarSATESVPet3SATestuncasparhiuleidesAT.2OOnvareduireSATquiestconnucommeNPumplet.dans3sATEx_mple.S

= { xvy , ixvy vizv

t

}

• on pent remplacer xvy par xvyVR

.a

'

partial 72C

vyv 7zvt

,

on va gdnerv an ensemble de clauses

.

Txvyvxnxv

7zv t

7 n v

yv

Tzvt estsahsfaisable

zsi

(nnvyvx

) ^(navnzvt

) an satisfaisable .

Page 27: Introduction `a la th´eorie de la complexit´elim.univ-reunion.fr/staff/fred/Enseignement/AlgoAvancee/Diapos/... · graphe G en identifiant chacun de ses sommets par un entier,

De maniere generale ,une clause C sera unplaced

par :

-si C=l

→lvlve

- si C=fvh → f. ✓ huh

-

si C = lnvhv . . vln n > 3 →

( f ✓ lz ✓ xc ) ^ fixcvlv . .. vln )

-

transformed reaersieneurEX # ; Co = N

,

V 7 kzv 2] ✓ 7kg ✓ Kt ✓ KG

← - .

R,

V7kz V Xco C,

= 7kg V K } V 724 v Xs VXG

7 / -

7kg Volz V Kg (2--7kq v 7k yv Hs V xf

y/ T

7 Hq V 72cg V Xcz ^ TXCZV K5VX6

Page 28: Introduction `a la th´eorie de la complexit´elim.univ-reunion.fr/staff/fred/Enseignement/AlgoAvancee/Diapos/... · graphe G en identifiant chacun de ses sommets par un entier,

-

Il faudrait demontrer qu l' instance ginree

eorsahsfaisableShi l'

instance de depart est satsfaiable,a qw est le case

- la reduction se fait en teap polynomial

On sat que SAT est NA Complet , done 3SAT lkst.

Page 29: Introduction `a la th´eorie de la complexit´elim.univ-reunion.fr/staff/fred/Enseignement/AlgoAvancee/Diapos/... · graphe G en identifiant chacun de ses sommets par un entier,

INFO-F-302, Cours d’Informatique Fondamentale

Introduction a la theorie de la complexite

Reductions et NP-completude

213 Reduction de SAT vers 3-SAT

On sait que SAT est NP-complet, on voudrait montrer que 3-SAT estNP-complet.

1. 3-SAT est dans NPcar c’est un cas particulier de SAT qui est dansNP

2. on doit maintenant reduire toute instance de SAT en une instancede 3-SAT en temps polynomial.

3. on va ajouter des nouvelles variables. Prenons un exemple :I S = {¬x1 _ x2 _ x4,¬x2 _ x3, x1 _ ¬x2 _ x3 _ ¬x4}I est transforme en :I S

0 = {¬x1_x2_x4,¬x2_x3_y ,¬x2_x3_¬y , x1_¬x2_z ,¬z_x3_¬x4}I S est satisfaisable ssi S 0 est satisfaisable.

I de maniere generale :

Remarquez que cette reduction est polynomiale.

Page 30: Introduction `a la th´eorie de la complexit´elim.univ-reunion.fr/staff/fred/Enseignement/AlgoAvancee/Diapos/... · graphe G en identifiant chacun de ses sommets par un entier,

INFO-F-302, Cours d’Informatique Fondamentale

Introduction a la theorie de la complexite

Reductions et NP-completude

213 Reduction de SAT vers 3-SAT

On sait que SAT est NP-complet, on voudrait montrer que 3-SAT estNP-complet.

1. 3-SAT est dans NPcar c’est un cas particulier de SAT qui est dansNP

2. on doit maintenant reduire toute instance de SAT en une instancede 3-SAT en temps polynomial.

3. on va ajouter des nouvelles variables. Prenons un exemple :I S = {¬x1 _ x2 _ x4,¬x2 _ x3, x1 _ ¬x2 _ x3 _ ¬x4}I est transforme en :I S

0 = {¬x1_x2_x4,¬x2_x3_y ,¬x2_x3_¬y , x1_¬x2_z ,¬z_x3_¬x4}I S est satisfaisable ssi S 0 est satisfaisable.I de maniere generale :

Remarquez que cette reduction est polynomiale.

Page 31: Introduction `a la th´eorie de la complexit´elim.univ-reunion.fr/staff/fred/Enseignement/AlgoAvancee/Diapos/... · graphe G en identifiant chacun de ses sommets par un entier,

INFO-F-302, Cours d’Informatique Fondamentale

Introduction a la theorie de la complexite

Reductions et NP-completude

Bin Packing

On veut ranger les objets suivants dans des sacs de capacite 10kg.

Objets 1 2 3 4 5 6 7Poids 3 4 4 3 3 2 1

Peut-on reussir avec 3 sacs ?

oui, on forme les sacs d’objets suivants :{1, 2}, {3, 4, 5}, {6, 7}.et avec 2 sacs ?oui : {1, 2, 4}, {3, 5, 6, 7}. Cette solution est optimale (on ne peut pasreussir avec un seul sac puisque la somme totale de tous les poidsdepasse 10).

"' ' '

Ettie .↳(mimeyaoee

Page 32: Introduction `a la th´eorie de la complexit´elim.univ-reunion.fr/staff/fred/Enseignement/AlgoAvancee/Diapos/... · graphe G en identifiant chacun de ses sommets par un entier,

INFO-F-302, Cours d’Informatique Fondamentale

Introduction a la theorie de la complexite

Reductions et NP-completude

Bin Packing

On veut ranger les objets suivants dans des sacs de capacite 10kg.

Objets 1 2 3 4 5 6 7Poids 3 4 4 3 3 2 1

Peut-on reussir avec 3 sacs ? oui, on forme les sacs d’objets suivants :{1, 2}, {3, 4, 5}, {6, 7}.et avec 2 sacs ?oui : {1, 2, 4}, {3, 5, 6, 7}. Cette solution est optimale (on ne peut pasreussir avec un seul sac puisque la somme totale de tous les poidsdepasse 10).

Page 33: Introduction `a la th´eorie de la complexit´elim.univ-reunion.fr/staff/fred/Enseignement/AlgoAvancee/Diapos/... · graphe G en identifiant chacun de ses sommets par un entier,

INFO-F-302, Cours d’Informatique Fondamentale

Introduction a la theorie de la complexite

Reductions et NP-completude

Bin Packing est NP-completSupposons qu’on ait k sacs de capacite C .

I BinPacking est dans NP : on peut verifier en temps polynomial siune solution candidate, i.e. une assignation de chaque objet a unnumero de sac entre 1 et k , satisfait bien la contrainte de capacite.

I BinPacking est NP-dur. Nous allons le demontrer en faisant unereduction en temps polynomial du probleme 2-partition, qui est unprobleme NP-complet.

I Instance de 2-partition : n entiers c1, . . . , cn. On veut savoir s’ilexiste S ✓ {1, . . . , n} tel que

Pi2S ci =

Pi 62S ci . Soit S =

Pni=1

ci .On peut supposer que S est paire (sinon il n’y trivialement pas desolution).

I Reduction vers BinPacking : On prend C = S/2 et les objets1, . . . , n de poids c1, . . . , cn, et k = 2. Il y a une solution a2-partition si et seulement si il y a en une a l’instance de BinPackingainsi construite. De plus, on peut construire cette instance deBinPacking en temps polynomial (dans la taille de l’instance de2-partitions). BinPacking est donc NP-dur (meme pour k = 2).

Page 34: Introduction `a la th´eorie de la complexit´elim.univ-reunion.fr/staff/fred/Enseignement/AlgoAvancee/Diapos/... · graphe G en identifiant chacun de ses sommets par un entier,

INFO-F-302, Cours d’Informatique Fondamentale

Introduction a la theorie de la complexite

Reductions et NP-completude

Bin Packing est NP-completSupposons qu’on ait k sacs de capacite C .

I BinPacking est dans NP : on peut verifier en temps polynomial siune solution candidate, i.e. une assignation de chaque objet a unnumero de sac entre 1 et k , satisfait bien la contrainte de capacite.

I BinPacking est NP-dur. Nous allons le demontrer en faisant unereduction en temps polynomial du probleme 2-partition, qui est unprobleme NP-complet.

I Instance de 2-partition : n entiers c1, . . . , cn. On veut savoir s’ilexiste S ✓ {1, . . . , n} tel que

Pi2S ci =

Pi 62S ci . Soit S =

Pni=1

ci .On peut supposer que S est paire (sinon il n’y trivialement pas desolution).

I Reduction vers BinPacking : On prend C = S/2 et les objets1, . . . , n de poids c1, . . . , cn, et k = 2. Il y a une solution a2-partition si et seulement si il y a en une a l’instance de BinPackingainsi construite. De plus, on peut construire cette instance deBinPacking en temps polynomial (dans la taille de l’instance de2-partitions). BinPacking est donc NP-dur (meme pour k = 2).

Page 35: Introduction `a la th´eorie de la complexit´elim.univ-reunion.fr/staff/fred/Enseignement/AlgoAvancee/Diapos/... · graphe G en identifiant chacun de ses sommets par un entier,

INFO-F-302, Cours d’Informatique Fondamentale

Introduction a la theorie de la complexite

Reductions et NP-completude

Bin Packing est NP-completSupposons qu’on ait k sacs de capacite C .

I BinPacking est dans NP : on peut verifier en temps polynomial siune solution candidate, i.e. une assignation de chaque objet a unnumero de sac entre 1 et k , satisfait bien la contrainte de capacite.

I BinPacking est NP-dur. Nous allons le demontrer en faisant unereduction en temps polynomial du probleme 2-partition, qui est unprobleme NP-complet.

I Instance de 2-partition : n entiers c1, . . . , cn. On veut savoir s’ilexiste S ✓ {1, . . . , n} tel que

Pi2S ci =

Pi 62S ci . Soit S =

Pni=1

ci .On peut supposer que S est paire (sinon il n’y trivialement pas desolution).

I Reduction vers BinPacking : On prend C = S/2 et les objets1, . . . , n de poids c1, . . . , cn, et k = 2. Il y a une solution a2-partition si et seulement si il y a en une a l’instance de BinPackingainsi construite. De plus, on peut construire cette instance deBinPacking en temps polynomial (dans la taille de l’instance de2-partitions). BinPacking est donc NP-dur (meme pour k = 2).

s

s

s

Page 36: Introduction `a la th´eorie de la complexit´elim.univ-reunion.fr/staff/fred/Enseignement/AlgoAvancee/Diapos/... · graphe G en identifiant chacun de ses sommets par un entier,

INFO-F-302, Cours d’Informatique Fondamentale

Introduction a la theorie de la complexite

Reductions et NP-completude

Autres classes

I PSPACE : problemes resolubles en espace polynomial

I EXPTIME : problemes resolubles en temps exponentiel

I NPSPACE : resolubles par algorithme non-deterministes en espacepolynomial (NPSPACE = PSPACE, Theroeme de Savitch)

I ...

I kEXPTIME, kNEXPTIME

I decidables

I https://complexityzoo.uwaterloo.ca/Complexity_Zoo

P ✓ NP ✓ PSPACE ✓ EXPTIME ✓ NEXPTIME ✓ 2EXPTIME ✓ · · · ✓· · · ✓ decidables