Calcul de résolvant en logique des propositions Un outil pour la

Calcul de r´esolvant en logique des propositions
Un outil pour la validation de syst`eme
Eric Delvalet, Philippe Chatalic et Mourad Ykhlef
L.R.I, U.A. C.N.R.S
atiment 490, Universit´e Paris-Sud, 91405, Orsay Cedex
Rapport Num´ero 2 du contrat EDF-LRI (r´ef´erence : I211J7468)
Contents
1 Introduction 2
2 Rappels de logique propositionnelle 3
2.1 D´enitionsdebase................................... 3
2.1.1 S´emantique ................................... 4
2.1.2 Forme normale conjonctive . . . . . . . . . . . . . . . . . . . . . . . . . . 5
2.2 Calcul de satisfiabilit´e et algorithme de Davis et Putnam . . . . . . . . . . . . . . 5
2.2.1 M´ethode des tables de erit´e . . . . . . . . . . . . . . . . . . . . . . . . . 5
2.2.2 Arbres´emantique................................ 6
2.2.3 AlgorithmedeQuine.............................. 6
2.2.4 Algorithme de Davis et Putnam . . . . . . . . . . . . . . . . . . . . . . . 6
3 R´esolvant, d´efinition et m´ethode de calcul 7
3.1 D´enition ........................................ 8
3.2 Application `a la mod´elisation de syst`emes complexes . . . . . . . . . . . . . . . . 8
3.3 M´ethode de calcul du r´esolvant . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
3.4 Illustration sur un exemple . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
4 Mise en œuvre de l’algorithme de calcul du r´esolvant 11
4.1 Structure de l’algorithme de calcul du r´esolvant . . . . . . . . . . . . . . . . . . . 11
4.2 Structure des donn´ees manipul´ees par l’algorithme . . . . . . . . . . . . . . . . . 11
4.2.1 Repr´esentation de l’ensemble des variables . . . . . . . . . . . . . . . . . . 12
4.2.2 Repr´esentation des ensembles des clauses . . . . . . . . . . . . . . . . . . 12
4.2.3 Repr´esentation d’une clause . . . . . . . . . . . . . . . . . . . . . . . . . . 13
5 Codage 14
5.1 Repr´esentation de l’ensemble des variables . . . . . . . . . . . . . . . . . . . . . . 14
5.2 Repr´esentation des variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
5.3 Repr´esentation des ensembles des clauses . . . . . . . . . . . . . . . . . . . . . . 16
5.3.1 Repr´esentation des clauses . . . . . . . . . . . . . . . . . . . . . . . . . . 17
5.3.2 Les proc´edures de calcul . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
6 R´esultats 18
7 Conclusions et perspectives 18
1
1 Introduction
Cadre du travail : mod´elisation et validation
L’´etude et la conception d’un syst`eme physique complexe n´ecessite la construction d’un mod`ele
de ce syst`eme, dans un certain formalisme, fournissant les moyens de l’´etudier.
La construction d’un mod`ele ne peut ˆetre s´epar´ee de sa validation. Une technique de validation
peut consister `a expliciter les contraintes sur certaines donn´ees du mod`ele et `a les confronter
avec les propri´et´es physiques que l’on tente de repr´esenter `a l’aide de ce mod`ele.
Les m´ethodes de calcul mises en œuvre pour extraire de telles contraintes d´ependent du langage
retenu pour la mod´elisation. Leur complexit´e est souvent fonction de la richessse du langage
utilis´e.
La logique des propositions comme langage de mod´elisation
Le cadre g´en´eral de cette ´etude utilise la logique classique (logique des propositions et logique des
pr´edicats) comme langage de mod´elisation. Ces logiques d´ecrivent des objets et des propri´et´es
sur ces objets.
Dans ce rapport, seule la logique des propositions est utilis´ee. Contrairement `a la logique des
pr´edicats, elle ne permet pas d’exprimer des propri´et´es g´en´eriques sur des objets. Toutefois,
il est souvent possible de traduire dans un cadre propositionnel des mod´elisations exprim´ees
dans la logique des pr´edicats, notamment lorsque les domaines d’interpr´etation des variables
du mod`ele correspondent `a des ensembles finis, auquel cas, il suffit de dupliquer les propri´et´es
g´en´eriques pour tous les objets des domaines concern´es.
Bien que d’un pouvoir d’expression plus faible, la logique propositionnelle peut s’av´erer tr`es
ineressante comme langage de mod´elisation en raison de l’existence de m´ethodes de calcul per-
formantes pour ce langage. Ainsi, parmi toutes les m´ethodes visant `a d´emontrer la satisfiabilit´e
d’une formule bool´eenne, c’est un algorithme relativement simple qui semble `a l’heure actuelle
donner les meilleurs r´esultats : l’algorithme de Davis et Putnam[1]. Cette ´etude s’appuie sur
une adaptation de cet algorithme, permettant de calculer ce que l’on appelle le r´esolvant d’une
formule bool´eenne (mod´elisant un syst`eme) par rapport `a un sous-ensemble des variables propo-
sitionnelles du syst`eme. Ce r´esolvant, lui mˆeme une formule en langage propositionnel, exprime
les propri´et´es des donn´ees qu’il contient.
Objet de l’´etude
Les ´etudes conduites au centre de recherche EDF-DER ont permis de mettre en ´evidence l’int´erˆet
de l’algorithme de calcul du r´esolvant pour extraire les contraintes liant un sous-ensemble des
variables utilis´ees dans la caract´erisaton d’un mod`ele. Cependant, cette m´ethode n’a jusqu’`a
pr´esent ´et´e utilis´ee que sur papier, ce qui limitait son application `a des exemples de petite taille.
Le pr´esent travail consiste `a mettre en œuvre un algorithme de calcul de r´esolvant afin de
pouvoir l’utiliser sur des exemples plus cons´equents. L’objectif `a terme ´etant de pouvoir traiter
des mod`eles de taille importante (des applications sur des exemples correspondant `a plusieurs
milliers de clauses sont envisag´ees) ce travail propose quelques premiers ´el´ement de r´eflexion sur
2
les structures de donn´ees `a mettre en place et les choix d’impl´ementation permettant d’obtenir
un algorithme de calcul de r´esolvant efficace.
Dans ce rapport nous pr´esentons une premi`ere impl´ementation mettant en œuvre ces structures
propos´ees dans le langage PROLOG (langage logique). Une autre impl´ementation est actuelle-
ment en cours de developpement en CAML (langage fonctionnel) au terme de laquelle nous
essayerons d’analyser si un type de langage est plus adapt´e que l’autre `a ce genre de calcul.
Plan du rapport
Nous ferons d’abord quelques rappels sur la terminologie de base de la logique propositionnelle,
ainsi que sur certaines m´ethodes de calcul de satisfiabilit´e, dont la m´ethode de Davis et Putnam.
Puis, apr`es avoir formalis´e la notion de r´esolvant, nous d´ecrirons son utilisation dans le domaine
de la mod´elisation ainsi qu’une m´ethode permettant de le calculer. Nous pr´esenterons ensuite les
structures de donn´ees n´ecessaires `a la programmation de l’algorithme de calcul d’un r´esolvant.
Enfin nous donnerons quelques d´etails sur le codage de ce programme.
2 Rappels de logique propositionnelle
Dans ce chapitre, nous rappelons la terminologie et quelques notions de base de la logique
propositionnelle. Puis nous pr´esentons des m´ethodes s´emantiques de calcul de la satisfiabilit´e
de formules logiques, parmi lesquelles l’algorithme de Davis et Putnam.
2.1 D´efinitions de base
On appelle atomes,variables propositionnelles ou encore symboles propositionnels des ´enonc´es
qui gardent leur identit´e tout au long d’un calcul propositionnel. Ces ´enonc´es sont repr´esent´es
par les ´el´ements d’un ensemble d´enombrable de mots d´efinis sur l’alphabet {a, b, ..., z, 0,1, ..., 9}
et not´e Vp.
Les connecteurs propositionnels sont les symboles suivants : la conjonction, la disjonction ,
¬la n´egation, l’implication et l’´equivalence.
D´efinition 2.1 (Formules) L’ensemble des formules bien form´ees est d´efini inductivement de
la fa¸con suivante :
Les atomes sont des formules;
Si A et B sont des formules alors (AB),(AB),(AB),(AB),(¬A)et (¬B)
sont des formules;
Toute formule est obtenue par l’application des r`egles pr´ec´edentes un nombre fini de fois.
L’ensemble des formules bien form´ees forme le langage de la logique propositionnelle. Dans la
suite, nous d´enoterons les formules, par des mots commen¸cant par des lettres majuscules (A, B,
Form, ...). En l’absence de parenth´esage, les r`egles de priorit´e usuelles des connecteurs seront
utilis´ees pour d´esambiguer les expressions.
D´efinition 2.2 (Litt´eral) Un litt´eral est un atome (litt´eral positif) ou la n´egation d’un atome
(litt´eral n´egatif).
3
D´efinition 2.3 (Clause) On appelle clause une disjonction de litt´eraux (positifs ou n´egatifs),
soit une formule de la forme :
(p1p2... pn)(¬q1∨ ¬q2... ∨ ¬qm)
o`u les piet qjsont des symboles propositionnels.
2.1.1 S´emantique
La m´ethode s´emantique d’´evaluation des formules est une formalisation de la notion intuitive
de v´erit´e d’une phrase, en fonction des propositions qui la composent.
En calcul propositionnel, ce r´esultat est obtenu en donnant `a chaque atome la valeur de v´erit´e
Vrai ou Faux. A chaque connecteur logique est associ´ee une table de erit´e qui, en fonction de la
valeur de v´erit´e des arguments du connecteur, donne la valeur de v´erit´e de la formule constitu´ee.
A B ¬B A B A B A B A B
Vrai Vrai Faux Vrai Vrai Vrai Vrai
Faux Vrai Faux Faux Vrai Faux Vrai
Vrai Faux Vrai Faux Faux Faux Vrai
Faux Faux Vrai Vrai Vrai Faux Faux
Table 1: Table de v´erit´e des connecteurs logiques
La valeur de v´erit´e d’une formule est ainsi enti`erement d´etermin´ee par la valeur de chacun de
ses arguments.
D´efinition 2.4 (Interpr´etation) Une interpr´etation est une application Ide l’ensemble des
variables propositionnelles Vpdans {V rai, F aux}. Une application Id’un sous ensemble Vp
dans {V rai, F aux}est appel´ee interpr´etation partielle de V
Etant donn´e une formule Adont tous les symboles propositionnels sont dans Vpet une in-
tertr´etation I, l’interpr´etation [A]Ide Adans Iest la valeur de v´erit´e calcul´ee r´ecursivement
`a partir des valeurs de v´erit´e affect´ees par I`a chaque variable propositionnelle et des fonctions
bool´eennes associ´ees `a chaque connecteur logique (voir tableau 1).
D´efinition 2.5 (mod`ele) Une interpr´etation Id’un ensemble de variables Vpest un mod`ele
d’une formule Fsi et seulement si [F]I=V rai. On dit Isatisfait F.
Une formule vraie dans au moins une interpr´etation est dite satisfiable. Elle est dite insatisfiable
dans le cas contraire.
Une formule vraie dans toute interpr´etation est dite valide. Les formules valides du calcul
propositionnel sont appell´ees des tautologies.
De plus, une formule Fest valide si et seulement si ¬Fest insatisfiable. Inversement, une
formule Fest insatisfiable si et seulement si ¬Fest valide.
D´efinition 2.6 (Cons´equence s´emantique) Soit Aet Bdeux formules. Si Best vraie dans
toute interpr´etation Isatisfaisant A, on dit que Best une cons´equence s´emantique de A(i.e.,
I, si [A]I=V rai alors [B]I=V rai). On note A|=B.
4
1 / 20 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 !