Probleme – Une réduction depuis SAT
Exercice · niveau 3 (difficile) · informatique (MP2I/MPI), chapitre 31 — Décidabilité et classes de complexité
Énoncé
Le programme demande « des exemples de réduction de problèmes np-complets à partir de sat ». On traite -sat stable.
- Décrire la construction du graphe à partir d'une formule.
- Démontrer l'équivalence dans les deux sens.
- Vérifier que la construction est polynomiale.
- Conclure sur la difficulté de stable.
Corrigé
1. La construction. Soit une formule à clauses de trois littéraux chacune. On construit un graphe :
- un sommet par occurrence de littéral, soit sommets, notés pour le -ième littéral de la -ième clause ;
- une arête entre les trois sommets d'une même clause — un triangle par clause ;
- une arête entre deux sommets portant des littéraux contradictoires, c'est-à-dire et , dans des clauses différentes.
On demande alors : a-t-il un stable de taille ?
2. L'équivalence.
Si est satisfiable, soit une valuation qui la satisfait. Dans chaque clause, choisissons un littéral vrai sous , et prenons le sommet correspondant : cela fait sommets. Ils forment un stable, car (a) ils sont dans des clauses différentes, donc aucune arête de triangle ne les joint ; (b) ils sont tous vrais sous , donc deux d'entre eux ne peuvent être contradictoires — et ne sont jamais vrais ensemble.
Si a un stable de taille , alors contient au plus un sommet par triangle — donc, comme il y a triangles et , exactement un par clause. Définissons en rendant vrai chaque littéral porté par un sommet de . C'est cohérent : si et étaient tous deux dans , l'arête de contradiction les joindrait, contredisant que est stable. On complète arbitrairement sur les variables non rencontrées. Chaque clause contient alors un littéral vrai : est satisfiable.
3. La construction est polynomiale. Le graphe a sommets ; le nombre d'arêtes est majoré par (les triangles) plus (les contradictions possibles), donc par . On l'écrit en parcourant tous les couples d'occurrences : .
| Clauses | Sommets | Arêtes au plus |
|---|---|---|
Une croissance quadratique : polynomiale, ce qui est la seule chose exigée. La réduction n'a pas à être efficace, elle a à être polynomiale.
La vérification. Sur formules aléatoires de à variables et à clauses, on a d'un côté décidé la satisfiabilité par recherche exhaustive, et de l'autre cherché exhaustivement un stable de taille dans le graphe construit : les deux réponses coïncident dans les cas. C'est la vérification de l'équivalence, instance par instance.
4. La conclusion. -sat est np-complet (par Cook-Levin, admis, et la réduction classique de sat vers -sat). La réduction ci-dessus montre donc que stable est np-difficile. Comme il est de plus dans — le certificat est l'ensemble des sommets, vérifiable en —, il est np-complet. Et par l'exercice sur le complémentaire d'un graphe, clique l'est aussi.
Ce qu'il faut retenir de la méthode, puisque le programme dit que « la connaissance d'un catalogue de problèmes np-complets n'est pas un objectif » :
- on choisit une brique par clause et une par variable ;
- on relie les briques de sorte que le choix local soit contraint exactement comme la logique l'exige ;
- on vérifie l'équivalence dans les deux sens — c'est là que se cachent les fausses réductions ;
- on vérifie que la construction est polynomiale.
Les quatre étapes se retrouvent dans toutes les réductions du domaine, y compris celle vers la -coloration donnée en exemple par le chapitre.
Les autres exercices de ce chapitre Le cours du chapitre
Un blocage sur cet exercice ? Le tuteur d'Adloun guide par questions, sans donner la réponse.