INFO-F-302, Cours d’Informatique Fondamentale Logique pour l’Informatique
La Logique Propositionnelle
Le Probl`eme SAT
Le Probl`eme SAT
INFO-F-302, Cours d’Informatique Fondamentale Logique pour l’Informatique
La Logique Propositionnelle
Le Probl`eme SAT
171 Rappels
Satisfaisabilit´e
Soit Pun ensemble de propositions. Une formule de la logique
propositionnelle sur Pest satisfaisable si
il existe une interpr´etation
V:P!{1,0}telle que V|=.
Par exemple : p,¬p,p_(¬p!q)mais pas p^¬p,ni¬(p!p).
Validit´e
Une formule sur Pest valide siV|=pour toute interpr´etation V.
Par exemple : p_¬p,p!p,p!q!psont valides, mais pas p,ni
¬p.
INFO-F-302, Cours d’Informatique Fondamentale Logique pour l’Informatique
La Logique Propositionnelle
Le Probl`eme SAT
171 Rappels
Satisfaisabilit´e
Soit Pun ensemble de propositions. Une formule de la logique
propositionnelle sur Pest satisfaisable si il existe une interpetation
V:P!{1,0}telle que V|=.
Par exemple : p,¬p,p_(¬p!q)mais pas p^¬p,ni¬(p!p).
Validit´e
Une formule sur Pest valide siV|=pour toute interpr´etation V.
Par exemple : p_¬p,p!p,p!q!psont valides, mais pas p,ni
¬p.
INFO-F-302, Cours d’Informatique Fondamentale Logique pour l’Informatique
La Logique Propositionnelle
Le Probl`eme SAT
171 Rappels
Satisfaisabilit´e
Soit Pun ensemble de propositions. Une formule de la logique
propositionnelle sur Pest satisfaisable si il existe une interpetation
V:P!{1,0}telle que V|=.
Par exemple : p,¬p,p_(¬p!q)mais pas p^¬p,ni¬(p!p).
Validit´e
Une formule sur Pest valide si
V|=pour toute interpetation V.
Par exemple : p_¬p,p!p,p!q!psont valides, mais pas p,ni
¬p.
INFO-F-302, Cours d’Informatique Fondamentale Logique pour l’Informatique
La Logique Propositionnelle
Le Probl`eme SAT
171 Rappels
Satisfaisabilit´e
Soit Pun ensemble de propositions. Une formule de la logique
propositionnelle sur Pest satisfaisable si il existe une interpetation
V:P!{1,0}telle que V|=.
Par exemple : p,¬p,p_(¬p!q)mais pas p^¬p,ni¬(p!p).
Validit´e
Une formule sur Pest valide siV|=pour toute interpr´etation V.
Par exemple : p_¬p,p!p,p!q!psont valides, mais pas p,ni
¬p.
INFO-F-302, Cours d’Informatique Fondamentale Logique pour l’Informatique
La Logique Propositionnelle
Le Probl`eme SAT
171 Rappels
Satisfaisabilit´e
Soit Pun ensemble de propositions. Une formule de la logique
propositionnelle sur Pest satisfaisable si il existe une interpetation
V:P!{1,0}telle que V|=.
Par exemple : p,¬p,p_(¬p!q)mais pas p^¬p,ni¬(p!p).
Validit´e
Une formule sur Pest valide siV|=pour toute interpr´etation V.
Par exemple : p_¬p,p!p,p!q!psont valides, mais pas p,ni
¬p.
INFO-F-302, Cours d’Informatique Fondamentale Logique pour l’Informatique
La Logique Propositionnelle
Le Probl`eme SAT
172 Probl`eme SAT
D´efinition
ENTREE Un ensemble de clauses S.
SORTIE Est-ce que Sest satisfaisable ?
Dans le cas o`u Sest satisfaisable, on aimerait que l’algorithme nous
retourne une valuation Vqui satisfait S.
INFO-F-302, Cours d’Informatique Fondamentale Logique pour l’Informatique
La Logique Propositionnelle
Le Probl`eme SAT
173 Pour commencer : le cas particulier 2-SAT
D´efinition
2-SAT ENTREE Un ensemble de clauses Scontenant chacune
exactement deux litt´eraux.
SORTIE Est-ce que Sest satisfaisable ?
Th´eor`eme
2-SAT peut ˆetre r´esolu en temps polynomial (2SAT 2P). Plus
pecis´ement, en temps (m)si Scontient mclauses.
INFO-F-302, Cours d’Informatique Fondamentale Logique pour l’Informatique
La Logique Propositionnelle
Le Probl`eme SAT
173 Pour commencer : le cas particulier 2-SAT
D´efinition
2-SAT ENTREE Un ensemble de clauses Scontenant chacune
exactement deux litt´eraux.
SORTIE Est-ce que Sest satisfaisable ?
Th´eor`eme
2-SAT peut ˆetre r´esolu en temps polynomial (2SAT 2P). Plus
pecis´ement, en temps (m)si Scontient mclauses.
INFO-F-302, Cours d’Informatique Fondamentale Logique pour l’Informatique
La Logique Propositionnelle
Le Probl`eme SAT
174 Id´ee de l’algorithme
Dans la suite, les variables `1,`2,... repesente des litt´eraux. Pour tout
litt´eral `, on note `le litt´eral xsi `=¬x,et¬xsinon.
Ichaque clause `1_`2est ´equivalente aux implications suivantes :
`1!`2et `2!`1.
Ion peut alors construire le graphe d’implications : chaque sommet
est une variable ou sa n´egation, et pour toute clause `1_`2on
ajoute les deux arˆetes (dirig´ees) (`1,`2)et (`2,`1).
Ivoyons un exemple ...
INFO-F-302, Cours d’Informatique Fondamentale Logique pour l’Informatique
La Logique Propositionnelle
Le Probl`eme SAT
175 Graphe d’Implication
Pour S={x0_x2,x0_¬x3,x1_¬x3,x1_¬x4,x2_¬x4,x0_¬x5,
x1_¬x5,x2_¬x5,x3_x6,x4_x6,x5_x6}
INFO-F-302, Cours d’Informatique Fondamentale Logique pour l’Informatique
La Logique Propositionnelle
Le Probl`eme SAT
176 Graphe d’Implication
Autre exemple pour
S0={x1_x2,¬x2_x3,¬x3_x1,¬x1_x4,¬x4_¬x1,x2_x4}
Que remarquez-vous ? est-ce satisfaisable ?
Il existe un chemin de x1`a
¬x1et de ¬x1`a x1, donc S|=x1$¬x1, donc S|=?, donc Sest
insatisfaisable.
INFO-F-302, Cours d’Informatique Fondamentale Logique pour l’Informatique
La Logique Propositionnelle
Le Probl`eme SAT
176 Graphe d’Implication
Autre exemple pour
S0={x1_x2,¬x2_x3,¬x3_x1,¬x1_x4,¬x4_¬x1,x2_x4}
Que remarquez-vous ? est-ce satisfaisable ? Il existe un chemin de x1`a
¬x1et de ¬x1`a x1, donc S|=x1$¬x1, donc S|=?, donc Sest
insatisfaisable.
INFO-F-302, Cours d’Informatique Fondamentale Logique pour l’Informatique
La Logique Propositionnelle
Le Probl`eme SAT
177 Graphe d’Implication
Donc si on peut aller d’une variable `a sa n´egation, et revenir de sa
n´egation `a elle-mˆeme, alors Sn’est pas satisfaisable. En fait c’est une
condition n´ecessaire et susante :
Lemme
Sest insatisfaisable ssi il existe une variable xtelle que dans le graphe
d’implication de Sil existe un chemin de x`a ¬xet de ¬x`a x.
Bas´e sur ce r´esultat, on peut d´efinir un algorithme pour tester la
satisfaisabilit´e de S, et construire une valuation si Sest satisfaisable.
INFO-F-302, Cours d’Informatique Fondamentale Logique pour l’Informatique
La Logique Propositionnelle
Le Probl`eme SAT
178 Algorithme pour 2-SAT
Rappels
IUne composante fortement connexe (CFC) est en ensemble maximal
de sommets tel qu’il existe un chemin entre toute paire de sommets.
ILes CFC d’un graphe sont calculables en temps lin´eaire par un
parcours en profondeur.
ISoient C1,C2deux CFC di´erentes, on d´efinit la relation C1C2s’il
existe une arˆete d’un sommet de C1vers un sommet de C2.La
relation est acyclique. Pourquoi ?
INFO-F-302, Cours d’Informatique Fondamentale Logique pour l’Informatique
La Logique Propositionnelle
Le Probl`eme SAT
179 Algorithme pour 2-SAT
Remarques
Isi C={`1,...,`n}est une CFC, alors C={`1,...,`n}est aussi
une CFC, pourquoi ?
Isi Cest maximale (i.e. il n’existe pas C0telle que CC0), alors C
est minimale (i.e. il n’existe pas C00 telle que C00 C), pourquoi ?
IPour satisfaire S, il est n´ecessaire que pour chaque CFC C, tous les
litt´eraux de Caient la mˆeme valeur.
INFO-F-302, Cours d’Informatique Fondamentale Logique pour l’Informatique
La Logique Propositionnelle
Le Probl`eme SAT
179 Algorithme pour 2-SAT
Remarques
Isi C={`1,...,`n}est une CFC, alors C={`1,...,`n}est aussi
une CFC, pourquoi ?
Isi Cest maximale (i.e. il n’existe pas C0telle que CC0), alors C
est minimale (i.e. il n’existe pas C00 telle que C00 C), pourquoi ?
IPour satisfaire S, il est n´ecessaire que pour chaque CFC C, tous les
litt´eraux de Caient la mˆeme valeur.
INFO-F-302, Cours d’Informatique Fondamentale Logique pour l’Informatique
La Logique Propositionnelle
Le Probl`eme SAT
179 Algorithme pour 2-SAT
Remarques
Isi C={`1,...,`n}est une CFC, alors C={`1,...,`n}est aussi
une CFC, pourquoi ?
Isi Cest maximale (i.e. il n’existe pas C0telle que CC0), alors C
est minimale (i.e. il n’existe pas C00 telle que C00 C), pourquoi ?
IPour satisfaire S, il est n´ecessaire que pour chaque CFC C, tous les
litt´eraux de Caient la mˆeme valeur.
INFO-F-302, Cours d’Informatique Fondamentale Logique pour l’Informatique
La Logique Propositionnelle
Le Probl`eme SAT
180 Algorithme pour 2-SAT
1. construire les composantes fortement connexes (CFC) du graphe
d’implication
2. tester qu’il n’existe pas de variables compl´ementaires au sein d’une
mˆeme CFC, sinon retourner non satisfaisable
3. choisir une CFC Cmaximale
4. aecter 1`a tous les litt´eraux de C(et donc 0`a tous les litt´eraux de
C)
5. retirer Cet C(et toutes leurs arˆetes adjacentes) et recommencer
jusqu’`a ce qu’il n’y ait plus de CFC.
INFO-F-302, Cours d’Informatique Fondamentale Logique pour l’Informatique
La Logique Propositionnelle
Le Probl`eme SAT
181 Algorithme pour 2-SAT – Exemple
Pour S={x1_x2,x2_¬x3,¬x2_¬x4,x2_x4,x4_x1}
1 / 7 100%
La catégorie de ce document est-elle correcte?
Merci pour votre participation!

Faire une suggestion

Avez-vous trouvé des erreurs dans linterface ou les textes ? Ou savez-vous comment améliorer linterface utilisateur de StudyLib ? Nhésitez pas à envoyer vos suggestions. Cest très important pour nous !