Universit´e Bordeaux 1 Master Informatique Mod`eles de Calcul 2011–2012
Devoir Surveill´ e
D´ecembre 2011, Dur´ee 1h, Documents non autoris´es Toutes vos r´eponses devront ˆetre justifi´ees
Exercice 1 (8 Points)
Soit AetB deux probl`emes. Dire si les affirmations suivantes sont vraies. Justifier.
1) S’il existe un algorithme en temps polynomial pour r´esoudreAalors A∈NP.
Oui carP ⊆N P.
2) Si A∈NP et A≤P B alorsB ∈NP.
Non. Il existe des probl`emes NP-difficiles qui ne sont pas NP-complets.
3) Si A∈NP et B ≤P A alorsB ∈NP.
Oui. Soit f la fonction de r´eduction de B vers A, et V un v´erificateur polynomial pour A.
x est une instance positive de B ssi il existe y ∈ Ntel que V accepte< f(x), y >. On peut donc fabriquer un v´erificateur polynomial pour B.
4) Si A est NP-complet etA≤P B alorsB est NP-complet.
Non.B est NP-difficile. Pour que B soit NP-complet, il faut une condition suppl´ementaire : B ∈N P.
5) Tout sous-ensemble d’un ensemble ind´ecidable est ind´ecidable.
Non. SoitX un ensemble ind´ecidable. Toute partie finie de X est d´ecidable.
6) Il existe une r´eduction de PCP vers CLIQUE.
Non. PCP est ind´ecidable, alors que CLIQUE l’est.
7) On peut d´ecider 3-SAT en temps exponentiel.
Oui. Il suffit de tester toutes les assignations possibles : s’il y a nvariables dans la formule, il y a 2n tests `a faire, chacun en temps constant. La taille de l’entr´ee pour une formule `a n variables est sup´erieure `an. Donc cet algorithme est exponentiel.
8) Tous sous-ensemble d’un ensemble d´ecidable est d´ecidable.
Non. L’ensembleNest d´ecidable et contient des sous-ensembles ind´ecidables.
Probl`eme 1 (Somme d’entiers)
Donn´ee Un ensemble d’entiers positifs L={l1,· · · , lk} et un entier positif B.
Question Existe-t-il un sous ensemble S ⊆L tel que,
X
s∈S
s=B .
Probl`eme 2 (Sac `a dos)
Donn´ee Un ensemble d’objets I = {i1,· · · , ik}, pour chaque objet ij un poids w(ij) ≥ 0 et une valeur v(ij)≥0, et un entier positifW.
Question Trouver
S⊆{1,···max,k}
X
j∈S
v(ij) , sous la contrainte X
j∈S
w(ij)≤W .
Exercice 2 (8 Points)
Dans cet exercice on souhaite analyser la complexit´e du probl`eme Sac `a dos. On rappelle que Somme d’entier est NP-complet.
1) Donner un algorithme qui permet de r´esoudre le probl`eme Sac `a dos enO(nW) en utilisant la fonctionM[i, w] `a valeur dans Ntelle que
M[i, w] =
0 sii= 0 0 siw= 0
M[i−1, w] siwi> w
max{M[i−1, w], M[i−1, w−wi] +vi} siwi≤w
Il suffit de calculer les valeur deM[i, j] pour 0≤i≤ket 0≤j≤W, la solution du probl`eme est alors M[k, W]. Comme le calcul de chaque M[i, j] peut se faire en temps O(1), calculer la valeur M[k, W] peut ˆetre fait en tempsO(kW).
2) Montrer que Somme d’entiers se r´eduit au probl`eme Sac `a dos.
Soit L = {l1,· · · , lk}, B une instance de somme d’entier. On r´esout le probl`eme Sac `a dos pour l’instance suivante :
– I ={i1,· · ·, ik}.
– w(ij) =v(ij) =lj pour tout 1≤j ≤k.
– W =B.
Soits∗une solution optimale pour l’instance Sac `a dos si-dessus, le probl`eme Somme d’entiers a une solution si et seulement sis∗ =W.
3) Expliquer pourquoi les r´esultats de 1) et de 2) ne sont pas contradictoires.
L’algorithme donn´e en 1) est polynomial en la valeur de l’entr´ee et non pas ¸ca taille qui est de l’ordre deklog(W).
4) Peut-on d´eduire de 2) que Sac `a dos est NP-complet ?
Non, la question 2) ´etabli la NP-difficult´e du probl`eme Sac `a dos mais n’´etabli pas l’apparte- nance `a NP.
Probl`eme 3 (Clique)
Donn´ee Un graphe G(V, E) et un entier positif k.
Question Existe-t-il un sous graphe complet dans G de taille k? Exercice 3 (5 Points)
Expliquer de mani`ere exacte comment r´eduire le probl`eme Clique au probl`eme SAT.
Il faut exprimer les contraintes suivantes :
1. chaque sommet ne peut avoir au plus qu’une position dans une clique.
2. `a chaque position on associe un sommet et un seul.
3. s’il n’existe pas d’arˆete entre deux sommets alors ils ne peuvent pas faire partie de la mˆeme clique.
4. `a chaque position dans la clique, il faut associer au moins un sommet.
xi,j = 1 si le i`eme sommet est `a la j`eme position dans la clique, avec 1 ≤i≤ n et 1≤j ≤ k tel quen=|V|etkla taille de la clique.
^
1≤i≤n
^
1≤j≤k j+1≤l≤k
¬xi,j∨ ¬xi,l (1)
^
1≤i≤n i+1≤j≤n
^
1≤l≤k
¬xi,l∨ ¬xj,l (2)
^
1≤i≤n i+1≤j≤n (xi,xj)∈E/
^
1≤l≤k 1≤p≤k l6=p
¬xi,l∨ ¬xj,p (3)
^
1≤i≤k
_
1≤j≤n
xji (4)
La formule finale est donn´ee par :
(1)∧(2)∧(3)∧(4) .