Master Recherche Informatique 2 Complexité Max

publicité
Master Recherche Informatique 2
Complexité
Devoir à rendre le 19 Octobre 2012
Max-Cut
On admettra dans cet exercice que le problème NTE défini comme suit
est NP-complet : la donnée consiste en un ensemble de triplets de variables
et la question est de savoir s’il existe une distribution de vérité telle que
toutes les variables d’un même triplet ne soient pas affectées à la même
valeur.
Une coupe pour un graphe non orienté G = (V, E) est la partition de ses
sommets V en deux ensembles disjoints S et T . La taille de la coupe est le
nombre d’arêtes ayant une extrémité dans S et une dans T . On s’intéresse ici
au problème Max-Cut : la donnée est un graphe G = (V, E) et un entier
k, la question est de savoir s’il existe une coupe de taille au moins k.
1. Montrer que Max-Cut est dans NP.
2. Montrer que le problème NTE se réduit en temps polynomial à Max-Cut .
Partant d’une donnée de p triplets formés sur n variables du problème
NTE , on construira l’instance suivante de Max-Cut : A chaque
variable x associer 3p sommets étiquetés x et 3p sommets étiquetés x̄.
Tous les sommets étiquetés x sont reliés à tous les sommets étiquetés
x̄. A chaque triplet Ci = (xi , yi , zi ) associer un triangle. Relier ensuite ces graphes entre eux en reliant chaque littéral des graphes issus
de la première étape aux sommets des graphes issus de la seconde
représentant le littéral opposé. Le graphe ainsi construit a n(3p)2 +
3p + (3p)2 arêtes. Conclure que Max-Cut est NP-complet.
3. Que peut-on en conclure quant à la complexité du problème Max-2-Sat ?
Enumération
Definition 0.1 Un problème d’énumération E est donné par un couple E =
(I, Sol) où I est un ensemble d’instances et Sol est une fonction I −→
P(Σ∗ ).
Un algorithme d’énumération A sur E, produit pour toute instance x,
toutes les solutions de Sol(x) les unes après les autres sans répétition et se
termine en un nombre fini d’étapes.
Definition 0.2 Enum-NP est la classe des problèmes d’énumération E =
(I, Sol) pour lesquels pour tout x et tout y :
– si y ∈ Sol(x) la taille de y est polynomialement bornée en celle de x ;
– on peut vérifier en temps polynomial si y ∈ Sol(x).
1
La complexité d’un algorithme d’énumération se mesure par le délai
nécessaire entre la production de deux solutions consécutives. On appelle
le ieme délai, le temps qui s’écoule entre la production de la ieme solution
et de la (i + 1)eme . Il faut également prendre en compte le délai entre le
début de l’algorithme et la production de la 1ere solution et le délai entre la
dernière solution et l’arrêt de l’algorithme.
Definition 0.3 Soit E = (I, Sol) un problème d’énumération dans Enum-NP,
x ∈ I, avec n = #Sol(x),
– on dit que E ∈ OutputP s’il existe un algorithme d’énumération A
dont le temps total est polynomial en |x| et n, c’est-à-dire polynomial
en la taille de l’entrée et le nombre de solutions ;
– E ∈ IncP si pour tout i ∈ {0, . . . , n}, le ieme délai de A(x) est borné
par p(|x|, i) où p est un polynôme ;
– E ∈ DelayP si pour tout i, le ieme délai de A(x) est borné par p(|x|)
où p est un polynôme.
1. Expliquer pourquoi il n’est pas raisonnable de s’intéresser à la sousclasse de Enum-NP formée des problèmes pour lesquels il existe un
algorithme d’énumération dont le temps d’exécution est polynomialement borné en fonction de la taille de l’entrée.
2. Montrer les inclusions suivantes : DelayP ⊆ IncP ( OutputP.
3. Montrer que sous l’hypothèse P 6= NP l’énumération des modèles d’une
formule en 3-CNF n’est ni dans DelayP ni dans IncP.
4. Montrer que sous l’hypothèse P 6= NP l’énumération des modèles d’une
formule en 3-CNF n’est ni dans DelayP ni dans IncP.
5. On considère ici le problème pNTE (Presque Non Tous Egaux). La
donnée est un ensemble C de quadruplets de variables (et non de
littéraux) : C = {C1 , . . . , CP } où Ci = (wi , xi , yi , zi ) pour i = 1, . . . , p.
La question est de déterminer une distribution de vérité I : V −→
{0, 1}, où V est l’ensemble des variables apparaissant dans C, telle
pour tout i = 1, . . . , p :
– ou bien I(wi ) = I(xi ) = I(yi ) = I(zi ) = 0
– ou bien I(wi ) = 1 et I(xi ), I(yi ) et I(zi ) ne sont pas tous les trois
égaux.
Quelle est la complexité de ce problème ? Montrer qu’il n’admet pas
d’algorithme d’énumération à délai polynomial à moins que P = NP.
(On pourra utiliser le problème mentionné au début de l’exercice précédent).
2
Téléchargement