1 Automates à états finis

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

Logique : ENSIIE 1A - contrôle final

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)

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

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

Définitions. Numéro à préciser. (Durée : )

Qualité du logiciel: Méthodes de test

Probabilités (méthodes et objectifs)

Cours 1 : La compilation

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

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

Évaluation et implémentation des langages

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

Algorithmique et Programmation Fonctionnelle

Théorie des Langages

Langage SQL (1) 4 septembre IUT Orléans. Introduction Le langage SQL : données Le langage SQL : requêtes

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

Les arbres binaires de recherche

1 Introduction C+ + Algorithm e. languag. Algorigramm. machine binaire. 1-1 Chaîne de développement. Séance n 4

Utilisation des tableaux sémantiques dans les logiques de description

Probabilités sur un univers fini

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


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

Programmation par contraintes. Laurent Beaudou

Initiation à la programmation en Python

Calcul matriciel. Définition 1 Une matrice de format (m,n) est un tableau rectangulaire de mn éléments, rangés en m lignes et n colonnes.

STAGE IREM 0- Premiers pas en Python

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

2 / ENONCER ET DECRIRE LES FONCTIONS DE SERVICE A REALISER

Logiciel Libre Cours 3 Fondements: Génie Logiciel

Dossier d'étude technique

Exercices - Polynômes : corrigé. Opérations sur les polynômes

ASR1 TD7 : Un microprocesseur RISC 16 bits

Complément d information concernant la fiche de concordance

TP 1. Prise en main du langage Python

Les structures de données. Rajae El Ouazzani

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

Thèmes et situations : Achat-Vente. Fiche pédagogique

Introduction à MATLAB R

OCL - Object Constraint Language

BONUS MALUS. Voici, la façon de calculer la prime : Le montant de la prime à acquitter est égale à : P = PB. C où : P

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

Représentation d un entier en base b

Machines virtuelles Cours 1 : Introduction

GPA770 Microélectronique appliquée Exercices série A

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

Arithmétique binaire. Chapitre. 5.1 Notions Bit Mot

Questions générales sur le stationnement

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

Algorithme. Table des matières

Algorithmes récursifs

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

V- Manipulations de nombres en binaire

BACCALAURÉAT PROFESSIONNEL SUJET

Informatique Théorique : Théorie des Langages, Analyse Lexicale, Analyse Syntaxique Jean-Pierre Jouannaud Professeur

A. Définition et formalisme

Bac Blanc Terminale ES - Février 2011 Épreuve de Mathématiques (durée 3 heures)

Programmation linéaire

ET 24 : Modèle de comportement d un système Boucles de programmation avec Labview.

Calculs de probabilités

Réalisabilité et extraction de programmes

La charge électrique C6. La charge électrique

Logiciel de Base. I. Représentation des nombres

1 de 46. Algorithmique. Trouver et Trier. Florent Hivert. Mél : Florent.Hivert@lri.fr Page personnelle : hivert

INF2015 Développement de logiciels dans un environnement Agile. Examen intra 20 février :30 à 20:30

UNIVERSITE LA SAGESSE FACULTÉ DE GESTION ET DE FINANCE MBA OPTION MIS. MIAGe METHODES INFORMATIQUES APPLIQUEES A LA GESTION

INITIATION AU LANGAGE C SUR PIC DE MICROSHIP

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

Corrigé des TD 1 à 5

Premiers exercices d Algèbre. Anne-Marie Simon

Limites finies en un point

Cours d algorithmique pour la classe de 2nde

Intégration de la cybersécurité aux systèmes de conduite industriels. Méthodes et pratiques

Nom de l application

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

PRENOM NOM DE L ENTREPRISE DATE DU STAGE METIER

6 - Le système de gestion de fichiers F. Boyer, UJF-Laboratoire Lig, Fabienne.Boyer@imag.fr

Problèmes de Mathématiques Filtres et ultrafiltres

Coefficients binomiaux

Cours No 3 : Identificateurs, Fonctions, Premières Structures de contrôle.

Éléments d informatique Cours 3 La programmation structurée en langage C L instruction de contrôle if

Recherche dans un tableau

Optimisation non linéaire Irène Charon, Olivier Hudry École nationale supérieure des télécommunications

Continuité et dérivabilité d une fonction

Compilation (INF 564)

Réussir l ouverture d un commerce de restauration rapide

UML et les Bases de Données

1. Structure d'un programme FORTRAN 95

I. Introduction aux fonctions : les fonctions standards

Cours 1 : Qu est-ce que la programmation?

Conception des systèmes répartis

Feuille couverture de tâche du cadre du CLAO

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

LES TYPES DE DONNÉES DU LANGAGE PASCAL

Programmation C. Apprendre à développer des programmes simples dans le langage C

Baccalauréat ES Pondichéry 7 avril 2014 Corrigé

Table des matières. L assurance de la copropriété Avant-propos Remerciements Introduction chapitre I

UML Diagramme de communication (communication diagram) Emmanuel Pichon 2013

Transcription:

FACULTÉ SES DÉPARTEMENT DE SYSTÈMES D INFORMATION 1 Automates à états finis On considère l automate ci-dessous, défini sur l alphabet A = {a, c, d} : c 2 a 0 1 d c d 3 1.1 Cet automate est-il déterministe ou non? Justifiez votre réponse. 1.2 Donnez cinq (5) chaînes différentes acceptées par cet automate. 1.3 Donnez une expression régulière qui représente le langage accepté par cet automate 1.4 Quelle transition faut-il ajouter à cet automate pour qu il accepte également la chaîne addadd? --> transition de l état à l état avec le symbole 2 Automates à états finis 2.1 Définissez un automate à états fini déterministe qui reconnaît le langage sur l alphabet {a, b} formé de toutes les chaînes de symboles qui contiennent aabaa (au début, à la fin, ou n importe où à l intérieur de la chaîne). Remarque. Ce langage correspond à l expression régulière (a+b)*aabaa(a+b)*. 2.2 On veut définir un automate qui accepte les chaînes contenant aabaa (comme ci-dessus), mais seulement celles qui ont moins de 50 symboles. Cet automate aura-t-il plus ou moins d états que celui que vous avez défini ci-dessus? Justifiez votre réponse avec le lemme de pompage. 3 Automates à états finis (1.7 pts) 3.1 Définissez un automate à états fini déterministe qui reconnaisse le langage sur l alphabet {a, b, c} formé de toutes les chaînes de symboles qui commencent par deux a et finissent par trois c.

NOM : 2/11 3.2 On veut définir un automate qui reconnaisse le langage L = {a, aa, aaaa, aaaaaaaa}, combien d états doit-il avoir au minimum? Justifiez (brièvement) votre réponse. 4 Automates à états finis 4.1 Définissez un automate à états fini déterministe qui reconnaisse le langage dont les chaînes sont des séquences de a et de b d une longueur quelconque qui commencent par deux a et se terminent par bba. 4.2 Définissez les expressions régulières qui correspondent aux langages ci-dessous : a. Les chaînes de a et de b qui commencent par bb ou aa et finissent par aaa ou bbb. b. Les chaînes de a et de b d une longueur quelconque qui contiennent au moins un b. c. Les chaînes de a, b et c où chaque a est précédé soit d un b soit d un c (autrement dit, il n y a jamais deux a de suite) 5 Logique des propositions On a l ensemble de formules F = { p ; p q ; r ; r p t s ; t ; r s t ; ( s) u} 5.1 Utiliser les règles de déduction f g f, f g g, f f g, f g f, modus ponens et modus tollens, ainsi que les équivalences habituelles, pour prouver que les formules ci-dessous sont des conséquences logiques de F. Donnez toutes les étapes de la preuve. f1: q f2: t s f3: (r s) f4: r s f5: u 6 Logique propositionnelle Soit l ensemble de formules F = {a b c d e, a, b, h i, c b, f b, d e g h } 6.1 Déduisez le plus grand nombre possible de formules qui sont des conséquences logiques de F. Pour cela, vous pouvez utiliser et combiner tous les systèmes formels de la logique des propositions que vous connaissez (modus ponens, modus tollens et axiomes logiques ; règles de Hofstaedter ; mise sous forme de clauses et application du principe de résolution). Indiquez les règles de déduction que vous utilisez pour obtenir chaque formule. Evitez de donner des formules qui sont des conséquences évidentes de formules déjà déduites. Par exemple, si vous avez déduit la formule X, inutile de mettre X a, X b, X c, etc.

NOM : 3/11 7 Logique des prédicats Soit le vocabulaire formé des constantes a, b, c, d,, k; des variables x, y, z, u, v, w; des symboles de prédicat arbre (unaire), oiseau (unaire), branche (unaire), sur (binaire) = (binaire), devant (binaire). 7.1 Trouvez un modèle I pour l ensemble de formules : { arbre(a) arbre(b) arbre(c) branche(f); sur(d, f ) sur(f, a) ; sur(e, a) sur(j, f ); sur(e, a) ; x.(branche(x) y.(oiseau(y) sur(y, x))) ; x. y. z.((sur(x, y) sur(y, z) sur(x, z) ; } Pour simplifier, on prend comme domaine d interprétation D = {a, b, c, d,, k} et on considère que l interprétation d une constante est la constante elle-même (a I = a, etc.) Donnez l interprétation selon I de chaque prédicat sous forme d un ensemble de n-tuples. 7.2 Modélisation logique. On considère un monde composé de divers objets. Chacun des prédicats est utilisé pour représenter les faits suivants : arbre(x) : «x est un arbre»; oiseau(x) : «x est une oiseau»; branche(x) : «x est une branche»; sur(x, y) : «x est placé sur y» (autrement dit «y est placé sous x»); devant(x, y) : «x est placé devant y»; x = y : «x et y sont le même objet physique». De plus, chaque objet est désigné (nommé) par une constantes a, b, c, etc. Formulez des expressions qui représentent les énoncés suivants : a) L objet désigné par la constante b est un arbre b) Il existe deux objets différents devant l objet a c) Un objet qui n est ni un oiseau ni une branche est forcément un arbre d) Tous les oiseaux sont sur une branche (2 réponses possibles) e) Un oiseau ne peut être sur deux branches à la fois f) Si un oiseau x est devant un oiseau y et si y est sur z alors x est devant z 7.1 Mettez les formules suivantes sous forme prenex. a) ( y.p(y)) ( x.q(x, b)) b) ( x.q(x)) => p(a)

NOM : 4/11 8 Logique des prédicats Soit le vocabulaire formé des constantes a, b, c, d,, k; des variables x, y, z, u, v, w; des symboles de prédicat P (unaire), Q (unaire), R (unaire), S (binaire), T (binaire). 8.1 Trouvez un modèle I pour l ensemble de formules : { P(a) P(b) P(c) R(f) R(g); S(b, d ) S(d, f) ; S(e, a) S(j, f ); S(j, f ) ; x.(r(x) y.(p(y) S(y, x))) ; x. y. z.((s(x, y) S(y, z) S(x, z) ; } Pour simplifier, on prend comme domaine d interprétation D = {a, b, c, d,, k} et on considère que l interprétation d une constante est la constante elle-même (a I = a, etc.) Donnez l interprétation selon I de chaque prédicat sous forme d un ensemble de n-tuples. 9 Logique des prédicats Soit le vocabulaire formé des constantes a, b, c, d,, k; des variables x, y, z, u, v, w; des symboles de prédicat cube (unaire), sphere (unaire), pyramide (unaire), sur (binaire) = (binaire), entre (ternaire). 9.1 Trouvez un modèle I pour l ensemble de formules : { pyramide(a) pyramide(b) ; sur(a, d) sur(d, e) ; sur(e, f) sur(e, g); x.(pyramide(x) y.(cube(y) sur(x, y))) ; x. y. z.((sur(x, y) sur(y, z) entre(x, y, z) ; x. x = x} Pour simplifier, on prend comme domaine d interprétation D = {a, b, c, d,, k} et on considère que l interprétation d une constante est la constante elle-même.

NOM : 5/11 Donnez l interprétation selon I de chaque prédicat sous forme d un ensemble de n-tuples. --> cube I = --> pyramide I = --> sur I = --> entre I = --> = I = 9.2 Modélisation logique. On considère un monde composé d objets placés sur un plan. Chacun des prédicats est utilisé pour représenter les faits suivants : cube(x) : «x est un cube»; pyramide(x) : «x est une pyramide»; sphere(x) : «x est une sphère»; sur(x, y) : «x est placé sur y» (autrement dit «y est placé sous x»); entre(x, y, z) : «y est placé entre x et z»; x = y : «x et y sont le même objet physique». De plus, on utilise les constantes a, b, c, etc. pour désigner des objets particuliers. Formulez des expressions qui représentent les énoncés suivants : a) l objet b est un cube b) Il existe deux objets différents sous l objet a c) Tout objets est soit un cube, soit une pyramide, soit une sphère d) Sous chaque pyramide il y a un cube e) Tout objet qui est entre deux objets est forcément sur l un des deux 9.1 Mettez les formules suivantes sous forme prenex. a) pyramide(b) x(sur(x, b)) b) ( x(cube(x)) => petit(a) c) petit(a) => ( x(cube(x)) d) x(cube(x) => y(sur(x, y) pyramide(x))) 10 Logique des prédicats Soit le vocabulaire formé des constantes a, a 1, a 2,, b, b 1, p 2,, c, c 1, c 2,, d, d 1, d 2, ; des variables x, y, z, u, v, w; des symboles de prédicat P (unaire), E (unaire), T (binaire), D (ternaire), = (binaire), > (binaire). 10.1 Trouvez une modèle pour l ensemble de formules : { P(a) ; P(b) ; D(a, d 1, d 2 ) ; E(c 1 ) E(c 2 ) ; a = a ; E(c 1 ) E(c 3 ) ; x.d(x, d 2, d 1 )}

NOM : 6/11 Pour simplifier, considérez que l interprétation d une constante est la constante elle-même. Donnez l interprétation de chaque prédicat (y compris = et >) sous forme d une table ou sous forme d une liste de n-tuples. 10.2 Trouvez une modèle pour l ensemble de formules : { D(a, d 1, d 6 ); D(b, d 2, d 7 ); (d 1 > d 2 ) (d 2 > d 3 ); x y z u v w.d(x, y, z) D(u, v, w) y > v z > w } 10.3 On considère que ces prédicats servent à modéliser une organisation (entreprise, université, ). Le domaine d interprétation est l ensemble des projets, des personnes et des dates. L interprétation I des prédicats est alors définie comme suit : P I = {(x) x est un projet} E I = {(x) x est un employé} T I = {(x, y) x travaille dans le projet y} D I = {(x, y, z) le projet x commence à la date y et se termine à la date z} = I = {(x, y) x et y représentent le même objet} > I = {(x, y) la date x est postérieure à la date y} Formulez des expressions qui représentent les énoncés suivants : a) Il y a au moins un employé dans le projet p 1 b) Il existe deux projets différents qui se terminent à la même date c) Pour tout projet la date de fin est postérieure à la date de début d) Il y a au moins un projet en cours le 6.10.2000 e) Le projet p 8 n occupe pas plus de deux employés f) Si un employé travaille pour un projet p, il ne peut pas travailler pour un autre projet q qui commence après le début de p et avant la fin de p 11 Grammaires hors contexte Soit la grammaire hors contexte G comprenand l ensemble de symboles non terminaux NT = {S, K, L, E, U, V}, l ensemble de terminaux terminaux T = {e, f, [, ], +, *, x}, le symbole initial S et l ensemble de règles R = { 1. S e K f 2. K [ L ] 3. K E 4. L E L 5. L E 6. E U 7. E + U U 8. U V 9. U * V V 10. V x

NOM : 7/11 11. V [ E ] 11.1 Trouvez cinq (5) chaînes de symboles terminaux qui appartiennent au langage généré par G. Pour chacune d elles donnez un arbre syntaxique. 11.2 Démontrez que cette grammaire est ambigüe (indication: analysez la chaîne e[x]f ) 12 Grammaires hors contexte Le langage L est défini par la grammaire hors contexte G comprenant l ensemble de symboles non terminaux NT = {Phrase, Proposition Sujet Verbe Complement}, l ensemble de symboles terminaux T = {;, <*, *>, mom, iom, bom, som, zom, mhil, thil, rhil, gilhil, zam, bram, shazam}, le symbole initial Phrase et l ensemble de règles R = { 1. Phrase Sujet Verbe Complement 2. Phrase Sujet <* Phrase *> Verbe Complement 3. Sujet Nom 4. Sujet Nom Adjectif 5. Complement Nom 6. Complement Adjectif Nom 7. Nom mom iom bom som zom (les barres verticales indiquent des alternatives) 8. Verbe mhil thil rhil gilhil 9. Adjectif zam bram shazam 12.1 Parmi les phrases suivantes dites lesquelles appartiennent à L. Ecrivez un abre syntaxique pour chaque phrase de L: a) mom thil bram iom b) mom zam thil iom bram c) som <* bom gilhil bram zom *> mhil zam mome) d) mom <* mom <* mom mhil mom *> mhil mom *> mhil mom 12.2 Quelle est la taille de la plus longue phrase qu on puisse écrire dans ce langage (justifiez votre réponse). 12.3 Pourrait-on définir un automate à états fini qui accepte ce langage? (argumentez brièvement votre réponse en considérant les symboles <* et *> et en vous référant au langage a n b n ).

NOM : 8/11 13 Grammaires hors contexte Le langage L est défini par la grammaire hors contexte G comprenant l ensemble de symboles non terminaux NT = {P, E}, l ensemble de symboles terminaux T = {i, t, e, v, c, =, +}, le symbole initial P et l ensemble de règles R = { 1. P i E t P 2. P i E t P e P 3. P v = E 4. E c 5. E v 6. E E + E } 13.1 Parmi les chaînes suivantes dites lesquelles appartiennent à L. Ecrivez un arbre syntaxique pour chaque chaîne appartenant à L : 1) v = v + c 2) i v t v = c 3) i c + c t c = v e v = v 4) i v + v t i c t v = v e v = c + c e v = v 5) v = c + c + c + c 13.2 Cette grammaire est-elle ambigüe? Justifiez votre réponse (la question 5 ci-dessus peut vous aider). 13.3 Dans une chaîne de L, peut-on avoir deux symboles v l un à côté de l autre? Justifiez votre réponse. 14 Grammaires hors contexte Le langage L est défini par la grammaire hors contexte G comprenant l ensemble de symboles non terminaux NT = {P, Q, R, S, T}, l ensemble de symboles terminaux T = {a, a', c, c', e, f, g, h}, le symbole initial P et l ensemble de règles R = { 1. P Q h R 2. Q a S a'

NOM : 9/11 3. R c S c' 4. S e 5. S f Q 6. S S R } 14.1 Parmi les chaînes suivantes dites lesquelles appartiennent à L. Ecrivez un arbre syntaxique pour chaque chaîne de L: 1) aea'hcec' 2) afaea'a'cea' 3) afafaea'a'a'hcec' 14.2 Effectuez une dérivation, à partir du symbole initial, qui utilise la règle 3. au moins trois fois. Ecrivez son arbre syntaxique et la chaîne obtenue. 14.3 Y a-t-il des chaînes infinies dans L, si oui dites comment on peut les obtenir. 14.4 Dans une chaîne de L, le nombre de f peut-il être supérieur au nombre de a? Justifiez votre réponse. 15 Preuve d algorithmes 15.1 Appliquez les axiomes de Hoare (fournis en annexe) pour trouver la plus faible précondition nécessaire pour que ces fragments de programme satisfassent leur postcondition. 1. { } X W Q {X > 12} 2. { } X X + 1 {X = 100} 3. { } X Z / 2; X X + 1; Y 3 * X {Y < X} 15.2 Les preuves suivantes sont-elles correctes? Justifiez vos réponses 1. {A > 0} X U+A {X > U}

NOM : 10/11 2. {A > B} X A B {X > 0} 3. {non (A > B)} X B A {X > 0} 4. {vrai} if (A > B) X A B else X B A {X > 0} Indication: utilisez les résultats précédents et l axiome relatif aux conditons Annexe: les axiomes de Hoare Affectation {P 0 } x e {P} où P 0 = P(e/x) : remplacement de x par e dans la condition P Composition séquentielle Ax. si {P} I {Q} et si {Q} J {R} alors {P} (I ; J) {R} Condition Ax. si {P et C} I {Q} et si {P et non C} J {Q} alors {P} (if (C) I else J) {Q} Itération Ax. si {P et C} I {P} alors {P} (while(c) I) {non C et P} Conséquence Ax. si {P} I {Q} et si Q => R alors {P} I {R} Ax. si {P} I {Q} et si R => P

NOM : 11/11 alors {R} I {Q}