• Aucun résultat trouvé

2Sat est décidable en temps linaire

N/A
N/A
Protected

Academic year: 2022

Partager "2Sat est décidable en temps linaire"

Copied!
2
0
0

Texte intégral

(1)

2Sat est décidable en temps linaire

Références :

The Art of Computer Programming, Volume 4A Combinatorial Algorithms Part 1.

Pages 60 à 62.

Contexte : Une instance de 2Sat est la donnée d'une formule F sous forme normale con- jonctive (FNC) dite de Krom (i.e. conjonction de clauses de la forme a∨b oùa etb sont des littéraux). On se demande alors si il existe une valuationν qui satisfasse F.

Il est remarquable que le problème un tout petit peu plus général qu'est 3Sat est en fait inniment plus général vu qu'il est NP-Complet.

Développement : On se propose de démontrer le résultat suivant.

Théorème 1

2Sat est décidable en temps linéaire.

Construction du graphe. On se donne une formule F = F(x1,· · ·xn) écrite comme conjonction dem clauses de Krom : F =C1∧C2∧ · · · ∧Cm.

Construisons alors le graphe orienté G = (V, E) avec V = {x1, x1, x2, x2,· · ·xn, xn}. Et pour toute clause C = (u∨v);C est syntaxiquement équivalente à (u⇒v)et à (v ⇒u), on crée donc deux arcs : u→v etv →u.

Caractérisation de la satisabilité. On peut alors montrer le résultat suivant : Théorème 2 (M. Krom)

F est satisable ssi aucune composante fortement connexe deGne contient à la fois une variable x et son complémentx.

Le sens direct est trivial par contraposée : en eet si une composante fortement connexe contient x etx, alors la formule x⇒x⇒xse déduit de F et doncF n'est pas satisable.

En particulier on comprend que la construction d'une valuation ν satisfaisant F nécessite queν soit constante sur les composantes fortement connexes.

Réciproquement, supposons qu'aucun composante connexe ne contient une variable et son complémentaire. On va montrer le résultat par induction sur le nombre de composantes fortement connexes du grapheG.

Lemme 1

Le graphe G admet une composante "source" C telle qu'aucune èche n'arrive dans C. Preuve du lemme : On considère le graphe des composantes fortement connexes. C'est un graphe acyclique (si on avait un cycle alors toute les CFC de ce cycle n'en formeraient qu'une seule). Il sut alors de parcourir le graphe en remontant les arêtes, ce parcours termine nécessairement car il y a un nombre ni d'état et aucun cycle.

Suite : Soit S la composante source de G. Comme Gest symétrique, l'application deG dans G, u 7→ u envoie S sur S0 une composante fortement connexe de G distincte de S par hypothèse et terminale au sens où il n'y a aucun arc sortant deS0.

On peut alors associer à chaque x∈S la valeurν(x) = 0 et à y∈S0 la valeur ν(y) = 1. 1

(2)

Dès lors on se restreint au graphe G1 obtenu après le retrait des sommets de S et S0. Et on réitère l'opération jusqu'à ce que tous les littéraux se soient vus assigné une valeur viaν.

Les valeurs obtenues satisfontν(u)≤ν(v)quand u→v dans le graphe, c'est-à-dire quand u∨v ( ou v∨u) est une clause deF.

Conclusion. La donnée des composantes fortement connexes du graphe nous permet immédiatement de conclure sur la satisabilité de F.

Reste à déterminer les composantes fortement connexes du graphe G. Or l'algorithme de Tarjan (ou de Kosaraju) nous donne le résultat en un temps linéaire vis à vis de la somme

|V|+|E| c'est-à-dire 2n+ 2m.

Remarque : l'algorithme de Tarjan détecte d'abord les CFC terminales, il sut alors de modier l'algorithme pour qu'il aecte à chaque sommet la valeur 1 à ce moment pour sim- plier la mise en place.

2

Références

Documents relatifs

Pour chacune des cinq affirmations suivantes, indiquer si elle est vraie ou fausse en justifiant la réponse.. Il est attribué un point par réponse exacte

Il est possible, grâce à quelques règles très simples, de savoir si un nombre est un multiple de 2, 3, 4, 5, 9 ou 10 sans effectuer la division.. Ces règles sont appelées critères

maximaux ; mais ces arbres (sauf cas particuliers)partagent les propriétés qui nous intéressent avec d’autres arbres de G, et que nous appellerons arbres Localement

— Étant donné un graphe cubique, nous montrons que la détermination de son indice de recouvrement en chaînes est un problème NP-complet et nous exhibons un algorithme linéaire

On peut en conclure que l’axe des ordonnées est asymptote à.. Elle est bien indépendante

Q₁ Déterminer deux entiers harmonieux inférieurs à 2018 dont l'un a 10 diviseurs et l'autre 12 diviseurs. Q₂ Déterminer le plus petit entier harmonieux qui admet les six

On peut le réaliser à partir du parcours (récursif) en profondeur en partant d'un sommet sur lequel aucun arc n'aboutit dans le graphe dual, en affichant les sommets

L’isocaèdre de Platon à faces équilatérales comporte 20 faces qui sont des triangles équilatéraux et de chaque sommet partent cinq arêtes qui s’appuient sur les sommets de