Langages de Spécification Partie 1: Spécifications en logique propositionnelle



Documents pareils
La NP-complétude. Johanne Cohen. PRISM/CNRS, Versailles, France.

Cours de Master Recherche

Factorisation Factoriser en utilisant un facteur commun Fiche méthode

Définition 0,752 = 0,7 + 0,05 + 0,002 SYSTÈMES DE NUMÉRATION POSITIONNELS =

Logiciel de Base. I. Représentation des nombres

Algorithme. Table des matières

Cours d introduction à l informatique. Partie 2 : Comment écrire un algorithme? Qu est-ce qu une variable? Expressions et instructions

Exo7. Calculs de déterminants. Fiche corrigée par Arnaud Bodin. Exercice 1 Calculer les déterminants des matrices suivantes : Exercice 2.

1/24. I passer d un problème exprimé en français à la réalisation d un. I expressions arithmétiques. I structures de contrôle (tests, boucles)

Manuel d utilisation 26 juin Tâche à effectuer : écrire un algorithme 2

Formula Negator, Outil de négation de formule.

Exemples de problèmes et d applications. INF6953 Exemples de problèmes 1

Exo7. Limites de fonctions. 1 Théorie. 2 Calculs

FctsAffines.nb 1. Mathématiques, 1-ère année Edition Fonctions affines

Arithmétique binaire. Chapitre. 5.1 Notions Bit Mot

C f tracée ci- contre est la représentation graphique d une

UEO11 COURS/TD 1. nombres entiers et réels codés en mémoire centrale. Caractères alphabétiques et caractères spéciaux.

Fiche PanaMaths Calculs avec les fonctions sous Xcas

Les suites numériques

Souad EL Bernoussi. Groupe d Analyse Numérique et Optimisation Rabat http ://

Chapitre 2. Eléments pour comprendre un énoncé

Logique. Plan du chapitre

V- Manipulations de nombres en binaire

Rappels Entrées -Sorties

a et b étant deux nombres relatifs donnés, une fonction affine est une fonction qui a un nombre x associe le nombre ax + b

Représentation des Nombres

Cours 1 : Introduction Ordinateurs - Langages de haut niveau - Application

Cours 1 : Qu est-ce que la programmation?

Quelques tests de primalité

Par combien de zéros se termine N!?

Commun à tous les candidats

Etude sur Le service de restauration scolaire

Le chiffre est le signe, le nombre est la valeur.

Logique : ENSIIE 1A - contrôle final

Feuille couverture de tâche du cadre du CLAO

Projet Active Object

Objectifs du cours d aujourd hui. Informatique II : Cours d introduction à l informatique et à la programmation objet. Complexité d un problème (2)

Nombres premiers. Comment reconnaître un nombre premier? Mais...

LE PROCESSUS ( la machine) la fonction f. ( On lit : «fonction f qui à x associe f (x)» )

Seconde Généralités sur les fonctions Exercices. Notion de fonction.

Baccalauréat L spécialité, Métropole et Réunion, 19 juin 2009 Corrigé.

Université Paris-Dauphine DUMI2E 1ère année, Applications

Rappels sur les suites - Algorithme

THEME : CLES DE CONTROLE. Division euclidienne

BAREME sur 40 points. Informatique - session 2 - Master de psychologie 2006/2007

Petit lexique de calcul à l usage des élèves de sixième et de cinquième par M. PARCABE, professeur au collège Alain FOURNIER de BORDEAUX, mars 2007

Objectifs du TP : Initiation à Access

Fonctions linéaires et affines. 1 Fonctions linéaires. 1.1 Vocabulaire. 1.2 Représentation graphique. 3eme

Algorithmes pour la planification de mouvements en robotique non-holonome

COMMENT PREPARER AU MIEUX SON CONTRÔLE TVA?

Chapitre 7. Récurrences

Quelques algorithmes simples dont l analyse n est pas si simple

Fonctions de plusieurs variables

Chapitre 11. Séries de Fourier. Nous supposons connues les formules donnant les coefficients de Fourier d une fonction 2 - périodique :

IN Cours 1. 1 Informatique, calculateurs. 2 Un premier programme en C

Probabilités sur un univers fini

Intelligence Artificielle Planification

Contribution à l algorithmique de la vérification

Erreur statique. Chapitre Définition

Chapitre 1 : Évolution COURS

Cryptographie et fonctions à sens unique

Chapitre I Notions de base et outils de travail

INF 232: Langages et Automates. Travaux Dirigés. Université Joseph Fourier, Université Grenoble 1 Licence Sciences et Technologies

Chapitre 1 Qu est-ce qu une expression régulière?

Plus courts chemins, programmation dynamique

Conversion d un entier. Méthode par soustraction

clef primaire ; clef étrangère ; projection ; restriction ; jointure ; SQL ; SELECT ; FROM ; WHERE

Processus d Informatisation

Les puissances La notion de puissance La puissance c est l énergie pendant une seconde CHAPITRE

Cours d algorithmique pour la classe de 2nde

Climat Scolaire - Manuel utilisateur - Chapitre 2 : «Créer, Editer et suivi d un texte»

Chap 4: Analyse syntaxique. Prof. M.D. RAHMANI Compilation SMI- S5 2013/14 1

Systèmes déductifs DEA D INFORMATIQUE UNIVERSITÉ BORDEAUX 1. Systèmes déductifs (Retoré) Plan Début Fin Préc. Suiv.

Programmation linéaire

Auto-Entreprise : Activités : Eric SOTY - Siret n Formation Bureautique, continue d'adultes. Tél : Fax :

Probabilités. Rappel : trois exemples. Exemple 2 : On dispose d un dé truqué. On sait que : p(1) = p(2) =1/6 ; p(3) = 1/3 p(4) = p(5) =1/12

TSTI 2D CH X : Exemples de lois à densité 1

Suites numériques 4. 1 Autres recettes pour calculer les limites

Représentation d un entier en base b

PARTIE NUMERIQUE (18 points)

Continuité et dérivabilité d une fonction

Les structures de données. Rajae El Ouazzani

Numération et sens du nombre Maternelle à la 3 e année

Examen Médian - 1 heure 30

LES TYPES DE DONNÉES DU LANGAGE PASCAL

Travaux pratiques. Compression en codage de Huffman Organisation d un projet de programmation

UML et les Bases de Données

GOL502 Industries de services

Anne Tasso. Java. Le livre de. premier langage. 10 e édition. Avec 109 exercices corrigés. Groupe Eyrolles, , ISBN :

Limites finies en un point

t 100. = 8 ; le pourcentage de réduction est : 8 % 1 t Le pourcentage d'évolution (appelé aussi taux d'évolution) est le nombre :

Précision d un résultat et calculs d incertitudes

Loi binomiale Lois normales

Débuter avec EXPRESS. Alain Plantec. 1 Schema 2

Suites numériques 3. 1 Convergence et limite d une suite

Les structures. Chapitre 3

Consortium de recherche Value Stream Mapping Formation

Modèles à Événements Discrets. Réseaux de Petri Stochastiques

Les Français et le don d organes

FOIRE AUX QUESTIONS PAIEMENT PAR INTERNET. Nom de fichier : Monetico_Paiement_Foire_aux_Questions_v1.7 Numéro de version : 1.7 Date :

Transcription:

Langages de Spécification Partie 1: Spécifications en logique propositionnelle Master 1 Informatique Université Paris-Est Créteil 2012-2013

: Syntaxe, Sémantique et

Syntaxe Construction des formules Le vocabulaire du langage de la logique propositionnelle est composé : d un ensemble, fini ou dénombrable, de propositions notées p, q, r,... Dans la suite, nous notons les ensembles de propositions par les lettres P, Q,... ; de deux constantes : vrai (notée ) et faux (notée ), parfois notée 1 et 0 ; d un ensemble de connecteurs logiques : et (noté ), ou (noté ), non (noté ), implique (noté ), équivalent (noté ) ; les parenthèses : (,).

Syntaxe Construction des formules Soit P un ensemble de propositions. Les formules de la logique propositionnelle respectent la règle de formation BNF suivante : φ ::= p φ 1 φ 2 φ 1 φ 2 φ 1 φ 2 φ 1 φ 2 φ 1 (φ 1 ) Où, sont respectivement les constantes vrai et faux, p P est une proposition et φ 1, φ 2 sont des formules propositionnelles bien formées.

Syntaxe Quelques exemples de formules Voici quelques exemples de formules et leur lecture intuitive : la formule propositionnelle p (q r), peut être lue de la façon suivante p implique q et r, ou peut être également lue comme si p est vrai alors q et r doivent être vrais ; la formule propositionnelle (p q), peut-être lue de la façon suivante il est faux que p et q soient vrais (en même temps).

Syntaxe Ambiguïtés L utilisation de la notation infixe s accompagne de problèmes de lecture : Comment lire p q r? p q r?

Syntaxe Ambiguïtés L utilisation de la notation infixe s accompagne de problèmes de lecture : Comment lire p q r? p q r? Pour lever les ambiguïtés, on utilise les parenthèses ou des règles de priorité entre opérateurs : si op 1 a une plus grande précédence (priorité) que op 2 alors e 1 op 1 e 2 op 2 e 3 est équivalent à ((e 1 op 1 e 2 )op 2 e 3 ) Par ex :2 3 + 5 = (2 3) + 5 = 11 2 (3 + 5) = 16. si op 2 a une plus grande précédence (priorité) que op 1 alors e 1 op 1 e 2 op 2 e 3 est équivalent à (e 1 op 1 (e 2 op 2 e 3 )) Par ex :2 + 3 5 = 2 + (3 5) = 17. si op est associatif à gauche alors e 1 ope 2 ope 3 est équivalent à ((e 1 ope 2 )ope 3 ) Par ex : 10/2/5 = (10/2)/5 = 1 10/(2/5) = 25. Il faut donc fixer des règles de priorité entre opérateurs afin d avoir une lecture unique de la formule.

Syntaxe Règles de précédence en logique propositionnelle Ordre de précédence sur les opérateurs : et associativité à gauche pour,, et à droite pour. p q r se lit se lit se lit se lit se lit

Syntaxe Règles de précédence en logique propositionnelle Ordre de précédence sur les opérateurs : et associativité à gauche pour,, et à droite pour. p q r se lit p (q r) se lit se lit se lit se lit Remarque Les parenthèses permettent de contrecarrer ces règles, si elles ne conviennent pas. Elles permettent aussi de rendre une formule plus lisible, ou de ne pas devoir retenir les règles de précédence.

Syntaxe Règles de précédence en logique propositionnelle Ordre de précédence sur les opérateurs : et associativité à gauche pour,, et à droite pour. p q r se lit p (q r) p q p se lit se lit se lit se lit Remarque Les parenthèses permettent de contrecarrer ces règles, si elles ne conviennent pas. Elles permettent aussi de rendre une formule plus lisible, ou de ne pas devoir retenir les règles de précédence.

Syntaxe Règles de précédence en logique propositionnelle Ordre de précédence sur les opérateurs : et associativité à gauche pour,, et à droite pour. p q r se lit p (q r) p q p se lit p (q p) se lit se lit se lit Remarque Les parenthèses permettent de contrecarrer ces règles, si elles ne conviennent pas. Elles permettent aussi de rendre une formule plus lisible, ou de ne pas devoir retenir les règles de précédence.

Syntaxe Règles de précédence en logique propositionnelle Ordre de précédence sur les opérateurs : et associativité à gauche pour,, et à droite pour. p q r se lit p (q r) p q p se lit p (q p) p q r se lit se lit se lit Remarque Les parenthèses permettent de contrecarrer ces règles, si elles ne conviennent pas. Elles permettent aussi de rendre une formule plus lisible, ou de ne pas devoir retenir les règles de précédence.

Syntaxe Règles de précédence en logique propositionnelle Ordre de précédence sur les opérateurs : et associativité à gauche pour,, et à droite pour. p q r se lit p (q r) p q p se lit p (q p) p q r se lit (p q) r se lit se lit Remarque Les parenthèses permettent de contrecarrer ces règles, si elles ne conviennent pas. Elles permettent aussi de rendre une formule plus lisible, ou de ne pas devoir retenir les règles de précédence.

Syntaxe Règles de précédence en logique propositionnelle Ordre de précédence sur les opérateurs : et associativité à gauche pour,, et à droite pour. p q r se lit p (q r) p q p se lit p (q p) p q r se lit (p q) r p q se lit se lit Remarque Les parenthèses permettent de contrecarrer ces règles, si elles ne conviennent pas. Elles permettent aussi de rendre une formule plus lisible, ou de ne pas devoir retenir les règles de précédence.

Syntaxe Règles de précédence en logique propositionnelle Ordre de précédence sur les opérateurs : et associativité à gauche pour,, et à droite pour. p q r se lit p (q r) p q p se lit p (q p) p q r se lit (p q) r p q se lit ( p) q se lit Remarque Les parenthèses permettent de contrecarrer ces règles, si elles ne conviennent pas. Elles permettent aussi de rendre une formule plus lisible, ou de ne pas devoir retenir les règles de précédence.

Syntaxe Règles de précédence en logique propositionnelle Ordre de précédence sur les opérateurs : et associativité à gauche pour,, et à droite pour. p q r se lit p (q r) p q p se lit p (q p) p q r se lit (p q) r p q se lit ( p) q p q r s se lit Remarque Les parenthèses permettent de contrecarrer ces règles, si elles ne conviennent pas. Elles permettent aussi de rendre une formule plus lisible, ou de ne pas devoir retenir les règles de précédence.

Syntaxe Règles de précédence en logique propositionnelle Ordre de précédence sur les opérateurs : et associativité à gauche pour,, et à droite pour. p q r se lit p (q r) p q p se lit p (q p) p q r se lit (p q) r p q se lit ( p) q p q r s se lit p ((q r) s) Remarque Les parenthèses permettent de contrecarrer ces règles, si elles ne conviennent pas. Elles permettent aussi de rendre une formule plus lisible, ou de ne pas devoir retenir les règles de précédence.

Syntaxe Arbre correspondant à une formule La formule p q r s est donc équivalente à et donc son arbre de lecture est : p ((q r) s) p s q r

Sémantique La sémantique jusqu ici, on a vu la syntaxe des formules, qui ne sont rien d autre que des suites de caractères sans signification. la sémantique donne du sens aux formules, elle permet de les interpréter et de leur attribuer une valeur de vérité vrai ou faux. l interprétation des symboles de proposition est cependant libre et c est à nous de la fixer. On se donnera donc une une fonction d interprétation V pour l ensemble P de propositions considérées : V : P {vrai, faux} Cette fonction assigne à chaque proposition de P la valeur vrai ou la valeur faux. Dans la suite, nous utiliserons parfois le terme valuation, souvent utilisé dans la littérature, au lieu de fonction d interprétation. A partir d une fonction d interprétation V des symboles de proposition, nous allons voir comment interpréter les formules.

Sémantique La sémantique Définition La valeur de vérité d une formule propositionnelle φ formée à partir des propositions d un ensemble P, évaluée avec la fonction d interprétation V, est notée [[φ]] V. En particulier, on a [[φ]] V {vrai, faux}. La fonction [[φ]] V est définie par induction sur la syntaxe de φ de la façon suivante : φ =, dans ce cas, [[φ]]v = vrai ; φ =, dans ce cas, [[φ]]v = faux ; φ = p, dans ce cas, { [[φ]]v = V (p). faux si [[φ1]] φ = φ1, [[φ]] V = V = vrai vrai si [[φ 1]] V = faux φ = φ1 φ 2, [[φ]] V = vrai ssi [[φ 1]] V = vrai ou [[φ 2]] V = vrai φ = φ1 φ 2, [[φ]] V = vrai ssi [[φ 1]] V = vrai et [[φ 2]] V = vrai

Sémantique La sémantique φ = φ 1 φ 2, [[φ]] V = vrai ssi [[φ 1 ]] V = faux ou [[φ 2 ]] V = vrai φ = φ 1 φ 2, [[φ]] V = vrai ssi [[φ 1 ]] V = faux et [[φ 2 ]] V = faux ou [[φ 1 ]] V = vrai et [[φ 2 ]] V = vrai φ = (φ 1 ), [[φ]] V = [[φ 1 ]] V. Nous notons V =φ si et seulement si [[φ]] V = vrai, qui se dit V satisfait φ.

Sémantique La sémantique sous forme de tables de vérités L information contenue dans la définition précédente est souvent présentée sous forme de tables, appelées tables de vérité : vrai faux φ φ (φ) vrai faux vrai faux vrai faux

Sémantique La sémantique sous forme de tables de vérités φ 1 φ 2 φ 1 φ 2 φ 1 φ 2 φ 1 φ 2 φ 1 φ 2 vrai vrai vrai vrai vrai vrai vrai faux faux vrai faux faux faux vrai faux vrai vrai faux faux faux faux faux vrai vrai

Prenons l interprétation V 1 (p) = faux, alors on a : [[p]] V1 = faux [[ p]] V1 = vrai [[p p]] V1 = vrai [[p p]] V1 = faux [[p p]] V1 = vrai [[p p]] V1 = vrai [[ p p]] V1 = faux Prenons la formule φ = (p q) ( q r) et l interprétation V 2 (p) = V 2 (r) = vrai et V 2 (q) = faux. Pour calculer la valeur de vérité de φ, on calcule d abord les valeurs de vérité des sous-formules et on applique les tables de vérité. Donc [[φ]] V2 = vrai. (p q) ( q r) (vrai faux) ( faux vrai) (vrai faux) (vrai vrai) vrai (vrai vrai) vrai vrai vrai

Prenons la même formule φ = (p q) ( q r) et l interprétation V 3 (r) = vrai et V 3 (p) = V 3 (q) = faux. Donc [[φ]] V3 = faux. (p q) ( q r) (faux faux) ( faux vrai) (faux faux) (vrai vrai) faux (vrai vrai) faux vrai faux

On peut utiliser le principe de décomposition en sous-formule et l application des tables de vérité pour obtenir la valeur de vérité de φ pour toutes les interprétations possibles des variables p q r (p q) q ( q r) (p q) ( q r) vrai vrai vrai vrai vrai faux vrai faux vrai vrai faux faux faux vrai vrai faux vrai faux faux faux vrai faux faux faux

On peut utiliser le principe de décomposition en sous-formule et l application des tables de vérité pour obtenir la valeur de vérité de φ pour toutes les interprétations possibles des variables p q r (p q) q ( q r) (p q) ( q r) vrai vrai vrai vrai vrai vrai faux vrai vrai faux vrai vrai vrai faux faux vrai faux vrai vrai vrai faux vrai faux vrai faux faux vrai faux faux faux faux faux

On peut utiliser le principe de décomposition en sous-formule et l application des tables de vérité pour obtenir la valeur de vérité de φ pour toutes les interprétations possibles des variables p q r (p q) q ( q r) (p q) ( q r) vrai vrai vrai vrai faux vrai vrai faux vrai faux vrai faux vrai vrai vrai vrai faux faux vrai vrai faux vrai vrai vrai faux faux vrai faux vrai faux faux faux vrai faux vrai faux faux faux faux vrai

On peut utiliser le principe de décomposition en sous-formule et l application des tables de vérité pour obtenir la valeur de vérité de φ pour toutes les interprétations possibles des variables p q r (p q) q ( q r) (p q) ( q r) vrai vrai vrai vrai faux vrai vrai vrai faux vrai faux vrai vrai faux vrai vrai vrai vrai vrai faux faux vrai vrai vrai faux vrai vrai vrai faux vrai faux vrai faux vrai faux faux faux faux vrai faux vrai vrai faux faux faux faux vrai vrai

On peut utiliser le principe de décomposition en sous-formule et l application des tables de vérité pour obtenir la valeur de vérité de φ pour toutes les interprétations possibles des variables p q r (p q) q ( q r) (p q) ( q r) vrai vrai vrai vrai faux vrai vrai vrai vrai faux vrai faux vrai vrai vrai faux vrai vrai vrai vrai vrai vrai faux faux vrai vrai vrai vrai faux vrai vrai vrai faux vrai vrai faux vrai faux vrai faux faux faux faux faux vrai faux vrai vrai faux faux faux faux faux vrai vrai faux

p q (qui se lit ( p) q) p q p p q vrai vrai faux vrai vrai faux faux faux faux vrai vrai vrai faux faux vrai vrai Remarque : c est la même table de vérité que pour l implication : p q p q vrai vrai vrai vrai faux faux faux vrai vrai faux faux vrai On dira que les deux formules p q et p q sont équivalentes.

Remarques sur l implication l implication φ 1 φ 2 modélise le raisonnement si-alors : Si φ 1 est vraie, ALORS φ 2 est vraie aussi. le cas où φ 1 est faux ne nous intéresse pas dans l implication. par conséquent, si φ 1 est faux, alors peu importe la valeur de vérité de φ 2, l implication φ 1 φ 2 reste vraie. Autrement dit le faux implique le vrai, et le faux, mais le vrai doit toujours impliquer le vrai.

Un dernier exemple : φ = (p q) ( p q) Calculons la table de vérité : p q p q (p q) p q p q φ vrai vrai vrai faux faux faux faux vrai vrai faux faux vrai faux vrai vrai vrai faux vrai faux vrai vrai faux vrai vrai faux faux faux vrai vrai vrai vrai vrai pour toute les interprétations possibles des propositions, φ est vraie. On dira dans ce cas que φ est valide. En fait, on a montré ici que les deux formule (p q) et p q sont équivalentes. C est une des lois de Morgan.

Exercices Dire pour les interprétations V et les formules φ suivantes si V = φ : 1. V (p) = vrai, V (q) = faux et φ = (p q) (p q) 2. V (p) = V (q) = faux et φ = (( p q) ( q p)) (p q) 3. V (p) = faux et V (q) = vrai et φ = (( p q) (q (p q)) 4. V (p) = V (r) = vrai et V (q) = faux et φ = (( r p q) s) (p q r s) 5. V (p) = V (q) = faux et V (r) = vrai et φ = (p (q r)) (( p q) (p r)). Construire les tables de vérité pour les formules suivantes : 1. (p q) (q p) 2. p (p q) q 3. (p (q r)) (p q) (p r) 4. (p (q r)) ((p q) r)

Satisfaisabilité et Validité Validité et Satisfaisabilité Voici deux définitions importantes : Définition (Satisfaisabilité) Une formule propositionnelle φ est satisfaisable si et seulement si il existe une fonction d interprétation V pour les propositions de φ, telle que V =φ. Définition (Validité) Une formule propositionnelle φ est valide si et seulement si pour toute fonction d interprétation V pour les propositions de φ, on a V =φ.

Satisfaisabilité et Validité formule satisfaisable valide oui oui p oui non V (p) = vrai V (p) = faux p oui non V (p) = faux V (p) = vrai (p q) ( q r) oui non voir table précédente voir table précédente p p non non p q ( q p) non non p p oui oui (p q) (q p) oui oui

Satisfaisabilité et Validité Application importante de la notion de validité Définition Deux formules φ et ψ sont dites équivalentes si la formule φ ψ est valide. On notera φ ψ pour signifier que φ et ψ sont équivalentes. dans une formule, on peut substituer une sous-formule par une autre équivalente sans changer la sémantique de la formule de départ par exemple, dans la formule γ = (p q) (p r) on peut remplacer la sous-formule (p r) par ( p r) et on obtient la formule suivante, qui est équivalente à γ : γ = (p q) ( p r) l application d équivalences simples va nous permettre de simplifier des formules, et de les mettre sous des formes particulières

Satisfaisabilité et Validité Quelques équivalences Pour toutes formules φ 1, φ 2, φ 3, on a : φ 1 φ 1 (double négation) (φ 1 φ 2 ) ( φ 1 φ 2 ) (loi de De Morgan pour le et ) (φ 1 φ 2 ) ( φ 1 φ 2 ) (loi de De Morgan pour le ou ) φ 1 (φ 2 φ 3 ) (φ 1 φ 2 ) (φ 1 φ 3 ) (distributivité du et ) φ 1 (φ 2 φ 3 ) (φ 1 φ 2 ) (φ 1 φ 3 (distributivité du ou ) φ 1 φ 2 φ 2 φ 1 (contraposition)

Satisfaisabilité et Validité Lien entre satisfaisibilité et validité Théorème Une formule propositionnelle φ est valide ssi sa négation φ n est pas satisfaisable. Par conséquent, si on dispose d un algorithme qui décide si une formule est satisfaisable ou non, on obtient un algorithme qui décide si la formule est valide, il suffit de tester la (non-)satisfaisabilité de sa négation.

Satisfaisabilité et Validité Diagramme

Satisfaisabilité et Validité Comment tester la satisfaisabilité d une formule?

Satisfaisabilité et Validité Comment tester la satisfaisabilité d une formule? on a vu la méthode des tables de vérité : tester toutes les interprétations de propositions jusqu à ce qu on en trouve une qui satisfait la formule problème : quelle est la complexité d un tel algorithme? combien d interprétations faut-il tester si la formule contient n propositions?

Satisfaisabilité et Validité Comment tester la satisfaisabilité d une formule? on a vu la méthode des tables de vérité : tester toutes les interprétations de propositions jusqu à ce qu on en trouve une qui satisfait la formule problème : quelle est la complexité d un tel algorithme? combien d interprétations faut-il tester si la formule contient n propositions? il faut essayer, dans le pire des cas (c est à dire le cas où la formule n est pas satisfaisable), 2 n interprétations : cet algorithme a donc une complexité exponentielle dans le nombre de propositions ce n est pas raisonnable pour les applications que nous allons aborder, car nous allons générer des formules contenant plusieurs centaines de propositions. nous allons maintenant étudier un algorithme plus intelligent : la méthode des tableaux sémantiques.

Satisfaisabilité et Validité Remarques sur la complexité du problème SAT le problème de satisfaisabilité d une formule propositionnelle, appelé problème SAT, est dans la classe NP (voir cours calculabilité/complexité) actuellement, on ne sait toujours pas s il existe un algorithme pour ce problème dont la complexité en temps est polynomiale. la plupart des scientifiques pensent que ce n est pas le cas, mais personne n a été capable de le montrer. ce défit scientifique est plus connu sous la question P NP : est-ce qu il existe un problème résoluble en temps non-déterministe polynomial qui n est pas résoluble en temps polynomial? le premier qui aura la réponse (et la preuve de son affirmation) gagnera 1.000.000$ 1 1. Millenium Prize Problems du Clay Mathematics Institute http://www.claymath. org/millennium/

Satisfaisabilité et Validité Pourquoi SAT est-il si intéressant? beaucoup de problèmes pratiques intéressants se trouvent dans la classe NP, voir http://www.nada.kth.se/~viggo/problemlist/. par exemple le problème du voyageur de commerce : étant donné une distance d et n villes, est-il possible de construire un cycle de longueur au plus d qui passe par les les n villes exactement une fois (sauf la ville de départ). Application : optimiser la trajectoire d une fraiseuse, d un bus scolaire, d un camion de livraison, etc... autre exemple, le bin-packing : étant donné k boîtes de contenance différentes, n objets de volumes différents, et d 0 un entier, est-il possible de ranger les n objets en utilisant au plus d boîtes. Application : rangement de fichiers sur un support informatique, remplissage de camions ou containers... tous les problèmes de la classe NP se réduisent au problème SAT en temps polynomial. En d autre terme, pour résoudre une instance I du problème du voyageur de commerce ou du bin-packing, il est possible de construire, en temps polynomial, une formule de la logique propositionnelle φ I telle que φ I est satisfaisable ssi I a une solution il est donc important d avoir de bons algorithmes pour SAT