2-\textsc{sat} : construire le graphe et conclure
Exercice · niveau 2 · informatique (MP2I/MPI), chapitre 24 — Composantes fortement connexes et couplages
Énoncé
Reprendre la formule du chapitre, . Construire le graphe des implications, calculer ses composantes fortement connexes, conclure, et donner un modèle.
Corrigé
Le graphe a six sommets — un par littéral — et deux arcs par clause :
| Clause | Premier arc | Second arc |
|---|---|---|
Les composantes, calculées par Kosaraju (numérotation dans l'ordre topologique du quotient, exercice « Dérouler Kosaraju ») :
[non z] = C0 [non y] = C1 [non x] = C2 [x] = C3 [y] = C4 [z] = C5
Six composantes, toutes réduites à un littéral : aucune variable n'a ses deux littéraux ensemble. La formule est satisfiable.
Le modèle, par la règle du chapitre — affecter vrai au littéral dont la composante vient après dans l'ordre topologique :
- est en , en : , donc ;
- en , en : ;
- en , en : .
Vérification : . Le chapitre annonçait « convient, quel que soit » : l'algorithme rend l'un de ces modèles.
Pourquoi la règle « la composante d'après » et non l'inverse. Un arc interdit la combinaison , . Si l'on affecte vrai à ce qui vient après dans l'ordre topologique, alors signifie que la composante de est « tardive », donc celle de , qui vient après elle, l'est aussi : . L'implication est respectée par construction. L'ordre topologique fait tout le travail.
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.