La classe NP La problématique Les réductions polynomiales Les propriétés NP-dures
Complexité de Problèmes: la classe NP
ACT
Sophie Tison
Université Lille
Master1 Informatique
La classe NP La problématique Les réductions polynomiales Les propriétés NP-dures
COMPLEXITÉ DES PROBLÈMES
IRappels
IParadigmes d’algorithme
IComplexité des problèmes
IGénéralités
ILa classe P
ILa classe NP
IPropriété NP
IRéductions polynomiales, Propriétés NP-dures
La classe NP La problématique Les réductions polynomiales Les propriétés NP-dures
LE BILAN DE LA DÉFINITION DES NP
NP= non-détermoiniste polynomial
Une propriété NP est une propriété pour la quelle trouver une
"solution" (une preuve ..) est peut-être difficile, mais vérifier
une solution (une preuve, un certificat...) est facile.
P=easy to find versus NP=easy to check
Montrer qu’une propriété est NP n’est en général qu’une
étape...
La classe NP La problématique Les réductions polynomiales Les propriétés NP-dures
MONTRER QUUNE PROPRIÉTÉ EST NP NEST PAS
MONTRER QUELLE NEST PAS P!!!
La classe NP La problématique Les réductions polynomiales Les propriétés NP-dures
LA HIÉRARCHIE
3-Color?
Cible ?
Sat ?
Hamilton ?
NP
P
La classe NP La problématique Les réductions polynomiales Les propriétés NP-dures
LA PROBLÉMATIQUE
Je cherche un algorithme pour vérifier une propriété; j’ai
montré qu’elle est NP mais je ne trouve pas d’algorithme P.
Si j’arrive à prouver qu’il n’ y a pas d’algorithme polynomial, je
prouve P6=NP: ça risque d’être difficile...
Je peux essayer de montrer qu’elle est NPdure.
La classe NP La problématique Les réductions polynomiales Les propriétés NP-dures
LA PROBLÉMATIQUE
Une propriété NPdure contient d’une certaine façon toute la
difficulté de la classe NP.
Si on trouve un algorithme polynomial pour une telle
propriété, on en aurait un pour toute propriété NP.
Montrer qu’une propriété est NPdure justifie en quelque sorte
de ne pas avoir trouvé d’algorithme polynomial.
La classe NP La problématique Les réductions polynomiales Les propriétés NP-dures
UN OUTIL: LES RÉDUCTIONS POLYNOMIALES
La notion de réduction permet de traduire qu’un problème
n’est pas "plus dur" qu’un autre.
Si un problème Ase réduit en un problème B, le problème Aest
(au moins) aussi facile que B- si la réduction est "facile"-. On
peut a priori utiliser la réduction de deux façons:
Ipour montrer qu’un problème est dur: si Aest réputé dur,
Bl’est aussi;
Ipour montrer qu’un problème est facile: si Best facile, A
l’est aussi.
C’est en fait surtout le premier raisonnement que l’on va
utiliser.
La classe NP La problématique Les réductions polynomiales Les propriétés NP-dures
DÉFINITION FORMELLE
Réduction polynomiale
Soient Let L0deux langages de Σ, correspondant à deux
propriétés.
Une réduction polynomiale de Ldans L0est une applica-
tion red calculable polynomiale de Σdans Σtelle que:
uLSsi red(u)L0.
Notation: LPL0.
La classe NP La problématique Les réductions polynomiales Les propriétés NP-dures
RÉDUCTION POLYNOMIALE =TRANSFORMATION
DUN PROBLÈME DANS UN AUTRE.
Par exemple, une réduction d’un problème pb1 d’équipes en un
problème pb2 de coloriage de graphes sera une transformation:
Iqui associe à toute instance idu pb1 d’équipes, une
instance red(i)du pb2 de coloriage de graphes
Itelle que red(i)a une solution Ssi l’instance iavait une
solution.
Icette transformation est polynomiale, i.e. calculable par un
algorithme polynomial.
Remarque: on en déduit donc que la taille de red(i)est bornée
polynomialement par rapport à celle de i.
La classe NP La problématique Les réductions polynomiales Les propriétés NP-dures
CLIQUE ET INDÉPENDANT
Soient les deux propriétés suivantes:
Clique: Entrée: G=(S,A) -un graphe non orienté k
- un entier Sortie: Oui, Ssi G contient une clique
de cardinal k.
Indépendant Entrée: G=(S,A) -un graphe non orienté
k - un entier Sortie: Oui, Ssi G contient un ensemble
indépendant de cardinal k.
La classe NP La problématique Les réductions polynomiales Les propriétés NP-dures
CLIQUE
45
1
2
3
C une clique: toute paire de sommets de C est reliée
La classe NP La problématique Les réductions polynomiales Les propriétés NP-dures
CLIQUE
45
1
2
3
La classe NP La problématique Les réductions polynomiales Les propriétés NP-dures
INDÉPENDANT
45
1
2
3
I est indépendant: aucune paire de sommets d’I n’est reliée
La classe NP La problématique Les réductions polynomiales Les propriétés NP-dures
EXEMPLE:SUITE...
On peut choisir comme réduction de Clique dans
Independant l’application red qui à (G= (S,A),k)associe
(G0= (S,A0),k)avec A0={(x,y)/(x,y)/A et (x,y)/A}.
Montrer que c’est bien une réduction polynomiale de Clique
dans Independant consiste en:
IMontrer que c’est correct i.e., pour tout (G,k),Clique(G,k)
Ssi Independant(G0,k).
IMontrer que la transformation est polynomiale.
La classe NP La problématique Les réductions polynomiales Les propriétés NP-dures
CLIQUE
45
1
2
3
Est transformé en:
La classe NP La problématique Les réductions polynomiales Les propriétés NP-dures
CLIQUE
45
1
2
3
Est transformé en:
45
1
2
3
La classe NP La problématique Les réductions polynomiales Les propriétés NP-dures
EXEMPLE:SUITE...
red transforme l’instance de Clique (G= (S,A),k), en
l’instance d’Independent
(G0= (S,A0),k)avec A0={(x,y)/(x,y)/A et (x,y)/A}.
ICorrect? i.e., pour tout (G,k),Clique(G,k)Ssi
Independent(G0,k)? Oui:
Si (G= (S,A),k)a une clique Cde cardinal k,Cest un
ensemble indépendant de cardinal kde G0.
réciproquement: si (G0= (S,A0),k)a un ensemble
indépendant Cde cardinal k,Cest une clique de cardinal k
de G.
ILa transformation est polynomiale: l’algorithme qui
calcule red(G)est bien polynomial (en O(card(S)2).
La classe NP La problématique Les réductions polynomiales Les propriétés NP-dures
EN RÉSUMÉ
Pour prouver qu’une propriété P1 se réduit polynomialement
en une autre P2, il faut:
Iproposer une réduction, i.e. un algo red qui à une instance
Ide P1, associe une instance red(I)de P2.
Iprouver qu’elle est correcte, i.e. qu’une instance Ide P1 est
positive Si et Seulement Si red(I)est une instance positive
de P2.
Iprouver qu’elle est polynomiale.
La classe NP La problématique Les réductions polynomiales Les propriétés NP-dures
POURQUOI PROUVER QUUN PROBLÈME SE RÉDUIT EN
UN AUTRE?
Proposition: Si L0est dans Pet si LPL0, alors Lest dans P.
uLSsi red(u)L0: donc, pour décider de l’appartenance à L,
il suffit d’appliquer la transformation, et de décider de
l’appartenance du transformé à L0:
Si AppL0est un algo polynomial pour tester l’appartenance à L0,
boolean AppL(u) {return AppL’(red(u));} est un
algo polynomial pour tester l’appartenance à L0.
Si L0est P,Lest P.
si Ln’est pas P,L0n’est pas P.
1 / 13 100%
La catégorie de ce document est-elle correcte?
Merci pour votre participation!

Faire une suggestion

Avez-vous trouvé des erreurs dans linterface ou les textes ? Ou savez-vous comment améliorer linterface utilisateur de StudyLib ? Nhésitez pas à envoyer vos suggestions. Cest très important pour nous !