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

Documents pareils
Calculabilité Cours 3 : Problèmes non-calculables.

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

Expression des contraintes. OCL : Object C o n t r a i n t L a n g u a g e

Utilisation des tableaux sémantiques dans les logiques de description

Informatique Machines à calculer en théorie et en pratique

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

L import massif introduit plusieurs nouvelles fonctionnalités, selon que l on importe un thésaurus, un ensemble de valeurs contrôlées ou un corpus.

Trois personnes mangent dans un restaurant. Le serveur

Google fait alors son travail et vous propose une liste de plusieurs milliers de sites susceptibles de faire votre bonheur de consommateur.

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

III- Raisonnement par récurrence

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

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

Cours 1 : La compilation

MPI Activité.10 : Logique binaire Portes logiques

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

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

TP n 2 Concepts de la programmation Objets Master 1 mention IL, semestre 2 Le type Abstrait Pile

Python - introduction à la programmation et calcul scientifique

Initiation à l algorithmique

Réplication E-maj Foreign Data Wrapper PostGIS PostgreSQL-f

CONTRAT DE LICENCE D UTILISATION DU LOGICIEL MORPH M SOUS LA FORME MORPH M PYTHON

Logique binaire. Aujourd'hui, l'algèbre de Boole trouve de nombreuses applications en informatique et dans la conception des circuits électroniques.

TP 1. Prise en main du langage Python

3. SPÉCIFICATIONS DU LOGICIEL. de l'expression des besoins à la conception. Spécifications fonctionnelles Analyse fonctionnelle et méthodes

Cours d initiation à la programmation en C++ Johann Cuenin

Comparaison de fonctions Développements limités. Chapitre 10

MATHÉMATIQUES. Les préalables pour l algèbre MAT-P020-1 DÉFINITION DU DOMAINE D EXAMEN

ACCÈS SÉMANTIQUE AUX BASES DE DONNÉES DOCUMENTAIRES

Information utiles. webpage : Google+ : digiusto/

Fondements de l informatique Logique, modèles, et calculs

Organisation de la fin d année du Master 2 de stratégie de communication globale

Plan. Exemple: Application bancaire. Introduction. OCL Object Constraint Language Le langage de contraintes d'uml

Initiation à la programmation en Python

IUT de Laval Année Universitaire 2008/2009. Fiche 1. - Logique -

UML et les Bases de Données

Proposition de sujet de thèse CIFRE EUROCOPTER / LGI2P

Réalisabilité et extraction de programmes

Intelligence Artificielle et Systèmes Multi-Agents. Badr Benmammar

«Dire et écrire» pour réaliser une composition en travail collaboratif en géographie. Agnès Dullin, lycée J. Racine 20 rue du Rocher, Paris

Conception des bases de données : Modèle Entité-Association

Préparation à l examen EFA en Macro

INTRODUCTION A L ELECTRONIQUE NUMERIQUE ECHANTILLONNAGE ET QUANTIFICATION I. ARCHITECTURE DE L ELECRONIQUE NUMERIQUE

Rappel. Analyse de Données Structurées - Cours 12. Un langage avec des déclaration locales. Exemple d'un programme

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

Comment se servir de cet ouvrage? Chaque chapitre présente une étape de la méthodologie

Le modèle standard, SPE (1/8)

Cégep de Saint Laurent Direction des communications et Direction des ressources technologiques. Projet WebCSL : Guide de rédaction web

Physique Chimie. Utiliser les langages scientifiques à l écrit et à l oral pour interpréter les formules chimiques

Grandes lignes ASTRÉE. Logiciels critiques. Outils de certification classiques. Inspection manuelle. Definition. Test

COMMUNICATEUR BLISS COMMANDE PAR UN SENSEUR DE POSITION DE L'OEIL

AC AB. A B C x 1. x + 1. d où. Avec un calcul vu au lycée, on démontre que cette solution admet deux solutions dont une seule nous intéresse : x =

Algorithmique et programmation : les bases (VBA) Corrigé

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

Présentation du PL/SQL

Rapport d'analyse des besoins

Transmission d informations sur le réseau électrique

Conception des systèmes répartis

Haka : un langage orienté réseaux et sécurité

O b s e r v a t o i r e E V A P M. Taxonomie R. Gras - développée

Acheter des actions de formation

Chapitre I : le langage UML et le processus unifié

Tâche complexe produite par l académie de Clermont-Ferrand. Mai 2012 LE TIR A L ARC. (d après une idée du collège des Portes du Midi de Maurs)

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

Enseignement secondaire

Chapitre 10 Arithmétique réelle

Intelligence Artificielle Planification

Algorithmique et Programmation Fonctionnelle

Le Collège de France crée une chaire pérenne d Informatique, Algorithmes, machines et langages, et nomme le Pr Gérard BERRY titulaire

Peut-on tout programmer?

Organigramme / Algorigramme Dossier élève 1 SI

Logique : ENSIIE 1A - contrôle final

Chapitre I Notions de base et outils de travail

SOCLE COMMUN: LA CULTURE SCIENTIFIQUE ET TECHNOLOGIQUE. alain salvadori IA IPR Sciences de la vie et de la Terre ALAIN SALVADORI IA-IPR SVT

AWS avancé. Surveiller votre utilisation d EC2

Corrigé des TD 1 à 5

Dans une année, il y a 12 mois. Dans une année, il y a 52 semaines. Dans une année, il y a 4 trimestres. Dans une année, il y a 365 jours.

L exclusion mutuelle distribuée

M06/5/COMSC/SP1/FRE/TZ0/XX INFORMATIQUE NIVEAU MOYEN ÉPREUVE 1. Mardi 2 mai 2006 (après-midi) 1 heure 30 minutes INSTRUCTIONS DESTINÉES AUX CANDIDATS

Le produit semi-direct

Université de Bangui. Modélisons en UML

Les chaînes de caractères

Pourquoi l apprentissage?

LES OUTILS D ALIMENTATION DU REFERENTIEL DE DB-MAIN

SOCLE COMMUN - La Compétence 3 Les principaux éléments de mathématiques et la culture scientifique et technologique

Disciplines. Ecoles - facultés - titres délivrés. UNIL - Faculté des lettres. Maîtrise universitaire ès Lettres

Bases de données relationnelles

6. Les différents types de démonstrations

Politique d'enregistrement en.paris

Indications pour une progression au CM1 et au CM2

Résolution d équations non linéaires

TP1 Méthodes de Monte Carlo et techniques de réduction de variance, application au pricing d options

LES MOSAIQUES DU CREDIT AGRICOLE

Reconstruction de bâtiments en 3D à partir de nuages de points LIDAR

Sciences de Gestion Spécialité : SYSTÈMES D INFORMATION DE GESTION

Évaluation et implémentation des langages

Vers l'ordinateur quantique

Chapitre 2 Le problème de l unicité des solutions

Transcription:

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

INTRODUCTION

Origines de la logique : Grèce Antique enseignement du discours (logos en grecque) et de la rhétorique. Aristote ( 384, 322). Formaliser les règles de déduction. Décrire avec précision et rigueur des énoncés et des raisonnements sur ces énoncés. Exemple : syllogisme 1. Tous les hommes sont mortels. 2. Or X est un homme. 3. Donc X est mortel. Si les prémisses sont vrais (1 et 2), les règles de la logique assurent que 3 est vrai, peu importe la valeur de X. En notation ensembliste, cela s exprime ainsi : si H M et X H, alors X M.

Fausses vérités et paradoxes l utilisation du langage naturel comme notation est imprécise et peut mener à des énoncés faux... 1. Tout ce qui est rare est cher 2. Or une chose pas chère, c est rare 3. Donc une chose pas chère, c est cher.... ou à des paradoxes Cette phrase est fausse. Problème de l auto référence. Un crocodile s empare d un bébé crocodile et propose à sa mère de récupérer son bébé si elle devine ce qu il va en faire, ce à quoi elle répond tu vas le dévorer. Que va donc faire le crocodile? Le barbier rase tous les hommes qui ne se rasent pas eux-mêmes et seulement ceux-là. Qui rase le barbier?

Un petit dernier...

Logique Moderne 19é siècle : la logique devient un outil scientifique (Boole, Hilbert, Gödel, Church, Turing...). Formaliser les mathématiques comme un langage. Formaliser le concept de démonstration. Spécifier des propriétés de systèmes informatiques de manière précise et rigoureuse : c est cet aspect qui va nous intéresser pour le model-checking.

Exemple Considérons la situation décrite par les affirmations suivantes : 1. Si le train arrive en retard et il n y a pas de taxis à la gare alors l invité arrive en retard. 2. L invité n est pas en retard. 3. Le train est arrivé en retard. Et la déduction suivante : il y avait des taxis à la gare.

Exemple Considérons la situation décrite par les affirmations suivantes : 1. Si le train arrive en retard et il n y a pas de taxis à la gare alors l invité arrive en retard. 2. L invité n est pas en retard. 3. Le train est arrivé en retard. Et la déduction suivante : il y avait des taxis à la gare. Question Pourquoi peut-on déduire qu il y avait des taxis à la gare? Premièrement, si on met l affirmation 1 et l affirmation 3 ensemble, on peut affirmer que s il n y avait pas eu de taxis à la gare, alors l invité serait arrivé en retard. D après l affirmation 2, l invité n est pas arrivé en retard. Donc il y avait des taxis à la gare.

Autre Exemple Considérons un autre exemple : 1. Si il pleut et l invité a oublié son parapluie alors l invité est trempé. 2. L invité n est pas trempé. 3. Il pleut. Et la déduction suivante : l invité n a pas oublié son parapluie.

Autre Exemple Considérons un autre exemple : 1. Si il pleut et l invité a oublié son parapluie alors l invité est trempé. 2. L invité n est pas trempé. 3. Il pleut. Et la déduction suivante : l invité n a pas oublié son parapluie. Question Pourquoi peut-on déduire que l invité n a pas oublié son parapluie? Premièrement, si on met l affirmation 1 et l affirmation 3 ensemble, on peut affirmer que si l invité avait oublié son parapluie, alors il serait trempé. D après l affirmation 2, l invité n est pas trempé. Donc l invité n a pas oublié son parapluie.

Remarque La deuxième démonstration suit la même structure logique que la première démonstration. Il suffit de remplacer les fragments de phrase Exemple du train Exemple du parapluie Le train est arrivé en retard Il pleut comme suit : Il y a des taxis à la gare L invité a son parapluie L invité est en retard L invité est mouillé.

Formalisation Logique Exemple du train Exemple du parapluie Proposition Le train est arrivé en retard Il pleut p Il y a des taxis à la gare L invité a son parapluie q L invité est en retard L invité est mouillé r Démonstration 1. Hypothèse : si p et non q, alors r 2. Hypothèse : p 3. Hypothèse : non r 4. Déduction : si non q alors r 5. Déduction : comme non r, alors q.

Formalisation logique Alors nous pouvons formaliser les situations décrites dans ces deux premiers exemples par la formule logique suivante : ((p q) r) r p Et nous pouvons formaliser la déduction par : ((p q) r) r p = q Où = se lit : q est une conséquence logique de ((p q) r) r p.

Conditions Booléennes dans les langages de programmation Considérons le test suivant : if (x 3 and z 3) or (y 2 and z 3) then... Il peut-être remplacé par if (x 3 or y 2) and z 3 then... Car (p q) r est logiquement équivalent à (p r) (q r).

Logique Propositionnelle les propositions sont représentées par des variables propositionnelles p, q, r,... les formules sont des suites de symboles construites à partir des variables propositionnelles et des connecteurs Booléens,,,,.... On parlera de syntaxe. Exemple : (p q) (p q). La sémantique des formules est définie en interprétant les variables propositionnelles par des valeurs Booléennes vrai ( ) et faux ( ), et en interprétant les connecteurs Booléens comme des fonctions Booléennes. Une formule est satisfaisable si elle est vraie pour une certaine interprétation de ses variables. Ex : p, p q, p q, mais pas p p. Une formule est valide si elle est vraie pour tout interprétation de ses variables. Ex : p p, p p, p (q (p q)). Questions : comment décider si une formule est satisfaisable? valide?

Modélisation en Logique Propositionnelle Modélisation Soit une instance I d un problème P quelconque (par exemple, une base de données d étudiants et de cours, une grille de jeu Sudoku, un ensemble de tâche avec des délais et un ensemble de processeurs,...). Il s agira de définir un ensemble de propositions Prop et une formule de la logique propositionnelle φ construite sur Prop, telle que I a une solution si et seulement si φ est satisfaisable, i.e. il existe un assignement des variables de Prop (à vrai ou faux) qui rend vraie la formule. idéalement, l assignement trouvé doit nous donner la solution au problème I : emploi du temps, grille résolue, ordre d affectation des tâches aux processeurs...

Exemple Prop = {p i,j,v i, j, v {1,..., 9}} p i,j,v est mise à vraie ssi la case de coordonnées (i, j) contient la valeur v les formules devront exprimer les règles du Sudoku : 1. chaque valeur de 1 à 9 apparaît exactement une fois sur chaque ligne et chaque colonne 2. chaque sous-carré 3x3 doit contenir chaque valeur de 1 à 9 exactement une fois 3. les contraintes de départ doivent être respectées ce qui donnera par exemple : p 1,1,1 p 1,2,1 p 1,9,1 (si la case de coordonnées (1, 1) contient la valeur 1, alors les cases de coordonnées (1, 2) à (1, 9) ne contiennent pas la valeur 1).

Plan 1. Définitions de base : syntaxe, sémantique et exemples 2. Satisfiabilité et validité, algorithme des tableaux sémantiques 3. Solveurs SAT 4. Modélisation d un jeu 5. Diagramme de décisions binaires