Adloun

informatique (MP2I/MPI) · Chapitre 24 · Application directe du cours

2-sat : construire le graphe et conclure

Composantes fortement connexes et couplages · niveau 2

É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 :

ClausePremier arcSecond 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.

Exercices semblables

Le cours du chapitre · Tous les exercices du chapitre