SlideShare une entreprise Scribd logo
1  sur  26
ALGORITHME DE RÉSOLUTION DE PROBLÈMES DE
SATISFACTION DE CONTRAINTES
Algorithme DPLL
Réalisée par : Sassi Elhem
1
PLAN
 C’est quoi un algorithme ?
 Problèmes SAT
 Algorithmes complets
 Définition de DPLL
 Principe de DPLL
 Fonctionnement de DPLL
 Exemples
2
C’EST QUOI UN ALGORITHME
 L'algorithmique est l'étude et la production de
règles et techniques qui sont impliquées dans la
définition et la conception d’algorithme , c'est-à-dire
de processus systématiques de résolution d'un
problème permettant de décrire précisément des
étapes pour résoudre un problème algorithmique .
3
En d'autres termes, un algorithme est une suite finie
et non-ambiguë d’instructions permettant de donner
la réponse à un problème.
4
PROBLÈME SAT
 Actuellement, il existe plusieurs méthodes pour
résoudre les problèmes de type SAT.
Nous les regroupons en deux catégories:
5
les méthodes incomplètes:
basées sur le principe de «générer puis tester ».
Ils ont l'avantage de souvent pouvoir trouver
rapidement une solution quand elle existe, mais leur
inconvénient majeur est de ne pas pouvoir démontrer
6
 Les méthodes complètes : dites énumératives.
7
DÉFINITION D’UN ALGORITHME COMPLET
Quand nous utilisons les méthodes complètes, cela ne veut
pas dire que nous explorons toutes les affectations
possibles. En effet, le nombre d'affectations pour une
instance comportant n variables est 2n . Pour réduire le
nombre d'affectations à tester, les méthodes exactes
génèrent les affectations en traitant les variables l'une après
l'autre.
8
Aussitôt qu'une affectation partielle engendre une clause
fausse pour le problème SAT alors il n'est plus nécessaire
de continuer à compléter cette affectation partielle
l'assignation de la variable représentée par le sommet à V
(resp. F). Une feuille de cette arbre représente donc une
affectation
9
DÉFINITION DE DPLL
 L’algorithme DPLL, du nom de ses auteurs Davis,
Putnam, Logemann et Loveland constitue la base
des solveurs SAT modernes. Cet algorithme
s’applique sur une formule en forme conjonctive,
c’est-`a-dire sur un ensemble de clauses
10
PRINCIPE
DPLL: Recherche arborescente + Propagation unitaire
11
 L’algorithme DPLL va appliquer la propagation
unitaire `a chaque nœud de l’arbre de recherche.
De plus, si certaines variables se voient affectées
une valeur lors de ce processus, la propagation
unitaire leur est également appliquée, jusqu’`a ce
que plus aucune variable ne se voit affectée de
valeur par ce biais.
12
 La propagation unitaire :
La propagation unitaire est un moyen de prendre en
compte l’affectation d’une variable `a une valeur
selon les deux principes suivants :
13
1. Eliminer des clauses les littéraux faux vis-à-vis de
l’affectation courante des valeurs aux variables
14
2. pour les clauses unitaires, c’est-`a-dire les clauses
possédant un seul littéral, forcer l’affectation de la variable
de façon `a rendre la clause vraie
15
FONCTIONNEMENT
Entrés : des clauses
16
Sorties :
Fonction DPLL(A) :
Appliquer la propagation unitaire, de manière itérative
jusqu’`a obtention d’un point fixe
Si A ne contient que des clauses satisfaites
renvoyer SAT
Si A contient la clause vide renvoyer UNSAT
Choisir une variable I
Renvoyer DP LL(A ∪ {I}) ∨ DP LL(A ∪ {¬I})
17
DPLL(φ, A) =
 [Propager]: propager les contraintes unitaires
 [Diagnostic]: Si formule vide renvoyer SAT
• si conflit backtrack
• explorer DPLL(φ[A = vrai], A ∪ {x = vrai})
 [Choisir]: choisir un litteral x
• explorer DPLL(φ[A = faux], A ∪ {x = faux})
• ou si plus de backtrack possible, renvoyer
UNSAT
18
 Application des règles :
Nous avons 4 règles à appliquer
1 ) Elimination des Tautologies
2) un littérale
3) littérale pure
4 ) Scission
19
 ELIMINATION DES TAUTOLOGIES
 Effacer les clauses de S qui sont des thaulogies.
Exemple
S = { (¬P ∨ Q ∨ P ∨ ¬R ) ∧ Q ∧ R}
S0 = {Q ∧ R}
On a S0 est insatisfiable si S est insatisfiable
20
 UN LITTÉRALE
 Si on a L∈ S ,l’obtention de S0 à partir de S se fait par
l’effacement les clauses contenant L . Si S0={} donc S
est satisfiable.
Exemple
S = {P ∨ Q ∨ ¬R , P ∨ ¬Q , ¬P , R , U}
On applique un littérale L = ¬P:
S0 = {P ∨ Q ∨ ¬R , P ∨ ¬Q , R , U}
On efface ¬L = P de clauses in S0
S00 = {Q ∨ ¬R , ¬Q , R , U}
21
 LITTÉRALE PURE
L ∈ S est littérale pure si ¬L n’appartient pas à S
Si on a un littérale pure L ∈ S , on obtient S0 de S par
effacement des clauses contenant L.
S est insatisfiable si S0 est insatisfiable
Exemple
S = {P ∨ Q , P ∨ ¬Q , R ∨ Q , R ∨ ¬Q}
Appliquant littérale pure L = P:
S0 = {R ∨ Q , R ∨ ¬Q}
22
 SCISSION
S = (C1 ∨ L) ∧ · ·· ∧ (Cm ∨ L)∧(D1 ∨ ¬L) ∧ · · · ∧ (Dm ∨ ¬L)∧Sr
Avec Ci and Di des clauses don’t L and ¬L n’apparait pas ,
et Sr est un ensemble de clauses don’t L and ¬L n’apparaient
pas . Donc on aura
S0 = C1 ∧ · ·· ∧ Cm ∧ Sr
S00 =D1 ∧ · · · ∧ Dm ∧ Sr
 S est insatisfiable si S0 et S00 sont insatisfiable
23
Exemple
S = {P ∨ ¬Q ∨ R , ¬P ∨ Q , Q ∨ ¬R , ¬Q ∨ ¬R}
Apply Splitting on P
S0 = {¬Q ∨ R , Q ∨ ¬R , ¬Q ∨ ¬R}
S00 = {Q , Q ∨ ¬R , ¬Q ∨ ¬R}
24
EXEMPLE
 S = (P ∨ Q ) ∧ (P ∨ ¬Q ) ∧ (¬P ∨ Q ) ∧ (¬P ∨ ¬R )
25
RÉFÉRENCES
 https://fr.wikipedia.org/wiki/Algorithme_DPLL
 http://www.dis.uniroma1.it/~liberato/ar/dpll/dpll.html
 https://www.youtube.com/watch?v=ENHKXZg-a4c
26

Contenu connexe

Tendances

UML Part 4- diagrammres de classes et d'objets mansouri
UML Part 4- diagrammres de classes et d'objets mansouriUML Part 4- diagrammres de classes et d'objets mansouri
UML Part 4- diagrammres de classes et d'objets mansouri
Mansouri Khalifa
 

Tendances (20)

Bases de données réparties par la pratique
Bases de données réparties par la pratiqueBases de données réparties par la pratique
Bases de données réparties par la pratique
 
Système répartis avec RMI
Système répartis avec RMISystème répartis avec RMI
Système répartis avec RMI
 
Rapport tp2 j2ee
Rapport tp2 j2eeRapport tp2 j2ee
Rapport tp2 j2ee
 
Alphorm.com Formation Big Data & Hadoop : Le Guide Complet
Alphorm.com Formation Big Data & Hadoop : Le Guide CompletAlphorm.com Formation Big Data & Hadoop : Le Guide Complet
Alphorm.com Formation Big Data & Hadoop : Le Guide Complet
 
Architectures orientées services
Architectures orientées servicesArchitectures orientées services
Architectures orientées services
 
Tp java ee.pptx
Tp java ee.pptxTp java ee.pptx
Tp java ee.pptx
 
Initiation à Bootstrap
Initiation à BootstrapInitiation à Bootstrap
Initiation à Bootstrap
 
Tp1 - WS avec JAXWS
Tp1 - WS avec JAXWSTp1 - WS avec JAXWS
Tp1 - WS avec JAXWS
 
Appalications JEE avec Servlet/JSP
Appalications JEE avec Servlet/JSPAppalications JEE avec Servlet/JSP
Appalications JEE avec Servlet/JSP
 
Algorithmes de jeux
Algorithmes de jeuxAlgorithmes de jeux
Algorithmes de jeux
 
Architectures orientés services (SOA)
Architectures orientés services (SOA)Architectures orientés services (SOA)
Architectures orientés services (SOA)
 
Support Java Avancé Troisième Partie
Support Java Avancé Troisième PartieSupport Java Avancé Troisième Partie
Support Java Avancé Troisième Partie
 
Support de cours angular
Support de cours angularSupport de cours angular
Support de cours angular
 
Support JEE Servlet Jsp MVC M.Youssfi
Support JEE Servlet Jsp MVC M.YoussfiSupport JEE Servlet Jsp MVC M.Youssfi
Support JEE Servlet Jsp MVC M.Youssfi
 
TP1 Big Data - MapReduce
TP1 Big Data - MapReduceTP1 Big Data - MapReduce
TP1 Big Data - MapReduce
 
BigData_TP3 : Spark
BigData_TP3 : SparkBigData_TP3 : Spark
BigData_TP3 : Spark
 
UML Part 4- diagrammres de classes et d'objets mansouri
UML Part 4- diagrammres de classes et d'objets mansouriUML Part 4- diagrammres de classes et d'objets mansouri
UML Part 4- diagrammres de classes et d'objets mansouri
 
Interface fonctionnelle, Lambda expression, méthode par défaut, référence de...
Interface fonctionnelle, Lambda expression, méthode par défaut,  référence de...Interface fonctionnelle, Lambda expression, méthode par défaut,  référence de...
Interface fonctionnelle, Lambda expression, méthode par défaut, référence de...
 
Cours php & Mysql - 1ére partie
Cours php & Mysql - 1ére partieCours php & Mysql - 1ére partie
Cours php & Mysql - 1ére partie
 
Support Web Services SOAP et RESTful Mr YOUSSFI
Support Web Services SOAP et RESTful Mr YOUSSFISupport Web Services SOAP et RESTful Mr YOUSSFI
Support Web Services SOAP et RESTful Mr YOUSSFI
 

En vedette

En vedette (20)

Implemetation du system des classeurs de type xcsfca
Implemetation du system des classeurs de type xcsfcaImplemetation du system des classeurs de type xcsfca
Implemetation du system des classeurs de type xcsfca
 
Application scheduling in cloud sim
Application scheduling in cloud simApplication scheduling in cloud sim
Application scheduling in cloud sim
 
ViTeNA: An SDN-Based Virtual Network Embedding Algorithm for Multi-Tenant Dat...
ViTeNA: An SDN-Based Virtual Network Embedding Algorithm for Multi-Tenant Dat...ViTeNA: An SDN-Based Virtual Network Embedding Algorithm for Multi-Tenant Dat...
ViTeNA: An SDN-Based Virtual Network Embedding Algorithm for Multi-Tenant Dat...
 
7exercices loi-normale-et-corriges-www.coursdefsjes.com
7exercices loi-normale-et-corriges-www.coursdefsjes.com7exercices loi-normale-et-corriges-www.coursdefsjes.com
7exercices loi-normale-et-corriges-www.coursdefsjes.com
 
Intelligence somatique pour coachs et facilitateurs - Fiche pédagogique
Intelligence somatique pour coachs et facilitateurs - Fiche pédagogiqueIntelligence somatique pour coachs et facilitateurs - Fiche pédagogique
Intelligence somatique pour coachs et facilitateurs - Fiche pédagogique
 
Algorithmique
AlgorithmiqueAlgorithmique
Algorithmique
 
Le cryptage et le décryptage
Le cryptage et le décryptageLe cryptage et le décryptage
Le cryptage et le décryptage
 
Les homophones grammaticaux
Les homophones grammaticauxLes homophones grammaticaux
Les homophones grammaticaux
 
Algorithmique et programmation michael griffith
Algorithmique et programmation michael griffithAlgorithmique et programmation michael griffith
Algorithmique et programmation michael griffith
 
cours de complexité algorithmique
cours de complexité algorithmiquecours de complexité algorithmique
cours de complexité algorithmique
 
Algorithmique au cycle 3
Algorithmique au cycle 3Algorithmique au cycle 3
Algorithmique au cycle 3
 
Exercices triphase
Exercices triphaseExercices triphase
Exercices triphase
 
TD La fonction logarithme exercices corrigés - SOUFIANE MERABTI
TD La fonction logarithme exercices corrigés -  SOUFIANE MERABTITD La fonction logarithme exercices corrigés -  SOUFIANE MERABTI
TD La fonction logarithme exercices corrigés - SOUFIANE MERABTI
 
Merise exercicesmcdcorriges-121007174045-phpapp01
Merise exercicesmcdcorriges-121007174045-phpapp01Merise exercicesmcdcorriges-121007174045-phpapp01
Merise exercicesmcdcorriges-121007174045-phpapp01
 
Implémentation des principaux algorithmes de chiffrements en Java
Implémentation des principaux algorithmes de chiffrements en JavaImplémentation des principaux algorithmes de chiffrements en Java
Implémentation des principaux algorithmes de chiffrements en Java
 
Chap1 introduction à l'algoritmique
Chap1 introduction à l'algoritmiqueChap1 introduction à l'algoritmique
Chap1 introduction à l'algoritmique
 
Rapport Projet Module Complexité
Rapport Projet Module ComplexitéRapport Projet Module Complexité
Rapport Projet Module Complexité
 
7 exercices-remediations-jc jost
7 exercices-remediations-jc jost7 exercices-remediations-jc jost
7 exercices-remediations-jc jost
 
Chapitre 3 NP-complétude
Chapitre 3 NP-complétudeChapitre 3 NP-complétude
Chapitre 3 NP-complétude
 
Algorithme distribués pour big data saison 2 @DevoxxFR 2016
Algorithme distribués pour big data saison 2 @DevoxxFR 2016Algorithme distribués pour big data saison 2 @DevoxxFR 2016
Algorithme distribués pour big data saison 2 @DevoxxFR 2016
 

Similaire à Algorithme DPLL

Exercices corriges series_numeriques
Exercices corriges series_numeriquesExercices corriges series_numeriques
Exercices corriges series_numeriques
Fouad Yak
 
Equations différentielles, DUT MP, CM1
Equations différentielles, DUT MP, CM1Equations différentielles, DUT MP, CM1
Equations différentielles, DUT MP, CM1
Christophe Palermo
 
Chapitre v algorithmes gloutons
Chapitre v algorithmes gloutonsChapitre v algorithmes gloutons
Chapitre v algorithmes gloutons
Sana Aroussi
 
Chapitre 3 la recherche tabou
Chapitre 3 la recherche tabouChapitre 3 la recherche tabou
Chapitre 3 la recherche tabou
Achraf Manaa
 
Chapitre 2 Les strucutures conditionnelles_18-19.ppt [Mode de compatibilité].pdf
Chapitre 2 Les strucutures conditionnelles_18-19.ppt [Mode de compatibilité].pdfChapitre 2 Les strucutures conditionnelles_18-19.ppt [Mode de compatibilité].pdf
Chapitre 2 Les strucutures conditionnelles_18-19.ppt [Mode de compatibilité].pdf
C00LiMoUn
 
Programmation lineaire algorithme_du_simplexe
Programmation lineaire algorithme_du_simplexeProgrammation lineaire algorithme_du_simplexe
Programmation lineaire algorithme_du_simplexe
Jiijishady
 

Similaire à Algorithme DPLL (20)

Chap9 : Systèmes non linéaires
Chap9 : Systèmes non linéairesChap9 : Systèmes non linéaires
Chap9 : Systèmes non linéaires
 
Complexité_ENSI_2011.ppt
Complexité_ENSI_2011.pptComplexité_ENSI_2011.ppt
Complexité_ENSI_2011.ppt
 
Exercices corriges series_numeriques
Exercices corriges series_numeriquesExercices corriges series_numeriques
Exercices corriges series_numeriques
 
TAD (1).pptx
TAD (1).pptxTAD (1).pptx
TAD (1).pptx
 
Equations différentielles, DUT MP, CM1
Equations différentielles, DUT MP, CM1Equations différentielles, DUT MP, CM1
Equations différentielles, DUT MP, CM1
 
Chapitre v algorithmes gloutons
Chapitre v algorithmes gloutonsChapitre v algorithmes gloutons
Chapitre v algorithmes gloutons
 
Chapitre 3 la recherche tabou
Chapitre 3 la recherche tabouChapitre 3 la recherche tabou
Chapitre 3 la recherche tabou
 
Bsmf 1959 _87__455_0
Bsmf 1959 _87__455_0Bsmf 1959 _87__455_0
Bsmf 1959 _87__455_0
 
Omp math nombres-complexes
Omp math nombres-complexesOmp math nombres-complexes
Omp math nombres-complexes
 
CHAPITRE VIII : Systèmes linéaires Modélisation & Simulation
CHAPITRE VIII :  Systèmes linéaires Modélisation & SimulationCHAPITRE VIII :  Systèmes linéaires Modélisation & Simulation
CHAPITRE VIII : Systèmes linéaires Modélisation & Simulation
 
optimisation cours.pdf
optimisation cours.pdfoptimisation cours.pdf
optimisation cours.pdf
 
Cours programmation en matlab2 (1)
Cours programmation en matlab2 (1)Cours programmation en matlab2 (1)
Cours programmation en matlab2 (1)
 
transparents-Algo-correction.pdf
transparents-Algo-correction.pdftransparents-Algo-correction.pdf
transparents-Algo-correction.pdf
 
Discrimination et régression pour des dérivées : un résultat de consistance p...
Discrimination et régression pour des dérivées : un résultat de consistance p...Discrimination et régression pour des dérivées : un résultat de consistance p...
Discrimination et régression pour des dérivées : un résultat de consistance p...
 
Algorithmes récursifs : une introduction pragmatique pour un enseignement au ...
Algorithmes récursifs : une introduction pragmatique pour un enseignement au ...Algorithmes récursifs : une introduction pragmatique pour un enseignement au ...
Algorithmes récursifs : une introduction pragmatique pour un enseignement au ...
 
Chapitre 2 Les strucutures conditionnelles_18-19.ppt [Mode de compatibilité].pdf
Chapitre 2 Les strucutures conditionnelles_18-19.ppt [Mode de compatibilité].pdfChapitre 2 Les strucutures conditionnelles_18-19.ppt [Mode de compatibilité].pdf
Chapitre 2 Les strucutures conditionnelles_18-19.ppt [Mode de compatibilité].pdf
 
csp_sir_C1_4.pptx
csp_sir_C1_4.pptxcsp_sir_C1_4.pptx
csp_sir_C1_4.pptx
 
SOLID _Principles.pptx
SOLID _Principles.pptxSOLID _Principles.pptx
SOLID _Principles.pptx
 
Programmation lineaire algorithme_du_simplexe
Programmation lineaire algorithme_du_simplexeProgrammation lineaire algorithme_du_simplexe
Programmation lineaire algorithme_du_simplexe
 
02 correction-td smi-s3-algo2
02 correction-td smi-s3-algo202 correction-td smi-s3-algo2
02 correction-td smi-s3-algo2
 

Dernier (6)

le probleme de la planification JSP exposee (2) (2).pptx
le probleme de la planification JSP exposee (2) (2).pptxle probleme de la planification JSP exposee (2) (2).pptx
le probleme de la planification JSP exposee (2) (2).pptx
 
Algo II: les files cours + exercices corrigés
Algo II: les files cours + exercices corrigésAlgo II: les files cours + exercices corrigés
Algo II: les files cours + exercices corrigés
 
JTC 2024 Bâtiment et Photovoltaïque.pdf
JTC 2024  Bâtiment et Photovoltaïque.pdfJTC 2024  Bâtiment et Photovoltaïque.pdf
JTC 2024 Bâtiment et Photovoltaïque.pdf
 
Présentation_Soirée-Information_ Surverse_Thibert _30 avril 2024
Présentation_Soirée-Information_ Surverse_Thibert _30 avril 2024Présentation_Soirée-Information_ Surverse_Thibert _30 avril 2024
Présentation_Soirée-Information_ Surverse_Thibert _30 avril 2024
 
pdfcoffee.com_4-production-fond-des-puits-completion-pdf-free.pdf
pdfcoffee.com_4-production-fond-des-puits-completion-pdf-free.pdfpdfcoffee.com_4-production-fond-des-puits-completion-pdf-free.pdf
pdfcoffee.com_4-production-fond-des-puits-completion-pdf-free.pdf
 
mémoire genie civil presenté lors de la soutenance de mémoire
mémoire genie civil presenté lors de la soutenance de mémoiremémoire genie civil presenté lors de la soutenance de mémoire
mémoire genie civil presenté lors de la soutenance de mémoire
 

Algorithme DPLL

  • 1. ALGORITHME DE RÉSOLUTION DE PROBLÈMES DE SATISFACTION DE CONTRAINTES Algorithme DPLL Réalisée par : Sassi Elhem 1
  • 2. PLAN  C’est quoi un algorithme ?  Problèmes SAT  Algorithmes complets  Définition de DPLL  Principe de DPLL  Fonctionnement de DPLL  Exemples 2
  • 3. C’EST QUOI UN ALGORITHME  L'algorithmique est l'étude et la production de règles et techniques qui sont impliquées dans la définition et la conception d’algorithme , c'est-à-dire de processus systématiques de résolution d'un problème permettant de décrire précisément des étapes pour résoudre un problème algorithmique . 3
  • 4. En d'autres termes, un algorithme est une suite finie et non-ambiguë d’instructions permettant de donner la réponse à un problème. 4
  • 5. PROBLÈME SAT  Actuellement, il existe plusieurs méthodes pour résoudre les problèmes de type SAT. Nous les regroupons en deux catégories: 5
  • 6. les méthodes incomplètes: basées sur le principe de «générer puis tester ». Ils ont l'avantage de souvent pouvoir trouver rapidement une solution quand elle existe, mais leur inconvénient majeur est de ne pas pouvoir démontrer 6
  • 7.  Les méthodes complètes : dites énumératives. 7
  • 8. DÉFINITION D’UN ALGORITHME COMPLET Quand nous utilisons les méthodes complètes, cela ne veut pas dire que nous explorons toutes les affectations possibles. En effet, le nombre d'affectations pour une instance comportant n variables est 2n . Pour réduire le nombre d'affectations à tester, les méthodes exactes génèrent les affectations en traitant les variables l'une après l'autre. 8
  • 9. Aussitôt qu'une affectation partielle engendre une clause fausse pour le problème SAT alors il n'est plus nécessaire de continuer à compléter cette affectation partielle l'assignation de la variable représentée par le sommet à V (resp. F). Une feuille de cette arbre représente donc une affectation 9
  • 10. DÉFINITION DE DPLL  L’algorithme DPLL, du nom de ses auteurs Davis, Putnam, Logemann et Loveland constitue la base des solveurs SAT modernes. Cet algorithme s’applique sur une formule en forme conjonctive, c’est-`a-dire sur un ensemble de clauses 10
  • 11. PRINCIPE DPLL: Recherche arborescente + Propagation unitaire 11
  • 12.  L’algorithme DPLL va appliquer la propagation unitaire `a chaque nœud de l’arbre de recherche. De plus, si certaines variables se voient affectées une valeur lors de ce processus, la propagation unitaire leur est également appliquée, jusqu’`a ce que plus aucune variable ne se voit affectée de valeur par ce biais. 12
  • 13.  La propagation unitaire : La propagation unitaire est un moyen de prendre en compte l’affectation d’une variable `a une valeur selon les deux principes suivants : 13
  • 14. 1. Eliminer des clauses les littéraux faux vis-à-vis de l’affectation courante des valeurs aux variables 14
  • 15. 2. pour les clauses unitaires, c’est-`a-dire les clauses possédant un seul littéral, forcer l’affectation de la variable de façon `a rendre la clause vraie 15
  • 17. Sorties : Fonction DPLL(A) : Appliquer la propagation unitaire, de manière itérative jusqu’`a obtention d’un point fixe Si A ne contient que des clauses satisfaites renvoyer SAT Si A contient la clause vide renvoyer UNSAT Choisir une variable I Renvoyer DP LL(A ∪ {I}) ∨ DP LL(A ∪ {¬I}) 17
  • 18. DPLL(φ, A) =  [Propager]: propager les contraintes unitaires  [Diagnostic]: Si formule vide renvoyer SAT • si conflit backtrack • explorer DPLL(φ[A = vrai], A ∪ {x = vrai})  [Choisir]: choisir un litteral x • explorer DPLL(φ[A = faux], A ∪ {x = faux}) • ou si plus de backtrack possible, renvoyer UNSAT 18
  • 19.  Application des règles : Nous avons 4 règles à appliquer 1 ) Elimination des Tautologies 2) un littérale 3) littérale pure 4 ) Scission 19
  • 20.  ELIMINATION DES TAUTOLOGIES  Effacer les clauses de S qui sont des thaulogies. Exemple S = { (¬P ∨ Q ∨ P ∨ ¬R ) ∧ Q ∧ R} S0 = {Q ∧ R} On a S0 est insatisfiable si S est insatisfiable 20
  • 21.  UN LITTÉRALE  Si on a L∈ S ,l’obtention de S0 à partir de S se fait par l’effacement les clauses contenant L . Si S0={} donc S est satisfiable. Exemple S = {P ∨ Q ∨ ¬R , P ∨ ¬Q , ¬P , R , U} On applique un littérale L = ¬P: S0 = {P ∨ Q ∨ ¬R , P ∨ ¬Q , R , U} On efface ¬L = P de clauses in S0 S00 = {Q ∨ ¬R , ¬Q , R , U} 21
  • 22.  LITTÉRALE PURE L ∈ S est littérale pure si ¬L n’appartient pas à S Si on a un littérale pure L ∈ S , on obtient S0 de S par effacement des clauses contenant L. S est insatisfiable si S0 est insatisfiable Exemple S = {P ∨ Q , P ∨ ¬Q , R ∨ Q , R ∨ ¬Q} Appliquant littérale pure L = P: S0 = {R ∨ Q , R ∨ ¬Q} 22
  • 23.  SCISSION S = (C1 ∨ L) ∧ · ·· ∧ (Cm ∨ L)∧(D1 ∨ ¬L) ∧ · · · ∧ (Dm ∨ ¬L)∧Sr Avec Ci and Di des clauses don’t L and ¬L n’apparait pas , et Sr est un ensemble de clauses don’t L and ¬L n’apparaient pas . Donc on aura S0 = C1 ∧ · ·· ∧ Cm ∧ Sr S00 =D1 ∧ · · · ∧ Dm ∧ Sr  S est insatisfiable si S0 et S00 sont insatisfiable 23
  • 24. Exemple S = {P ∨ ¬Q ∨ R , ¬P ∨ Q , Q ∨ ¬R , ¬Q ∨ ¬R} Apply Splitting on P S0 = {¬Q ∨ R , Q ∨ ¬R , ¬Q ∨ ¬R} S00 = {Q , Q ∨ ¬R , ¬Q ∨ ¬R} 24
  • 25. EXEMPLE  S = (P ∨ Q ) ∧ (P ∨ ¬Q ) ∧ (¬P ∨ Q ) ∧ (¬P ∨ ¬R ) 25

Notes de l'éditeur

  1. If we can write S in the following form: Then we can obtain two sets S0 = C1 ∧ · ·· ∧ Cm ∧ Sr and S00 = D1 ∧ · · · ∧ Dm ∧ Sr. The set S is unsatisable i S0 and S00 are unsatisable. When we apply this rule we split the tree and we x L = > for the branch of S00 and L = ⊥ in the branch of S0 S = {P ∨ ¬Q ∨ R , ¬P ∨ Q , Q ∨ ¬R , ¬Q ∨ ¬R} Apply Splitting on P S0 = {¬Q ∨ R , Q ∨ ¬R , ¬Q ∨ ¬R}, P = ⊥ S00 = {Q , Q ∨ ¬R , ¬Q ∨ ¬R}, P = >