Automates avancés. Examen du 19 mai corrigé

Documents pareils
DOCM Solutions officielles = n 2 10.

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

Pour l épreuve d algèbre, les calculatrices sont interdites.

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

Logique : ENSIIE 1A - contrôle final

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

Model checking temporisé

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

Arithmétique binaire. Chapitre. 5.1 Notions Bit Mot

Représentation d un entier en base b

Résolution d équations non linéaires

Exercices - Fonctions de plusieurs variables : corrigé. Pour commencer

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

Théorie des Langages

Probabilités sur un univers fini

Equations différentielles linéaires à coefficients constants

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

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

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.

* très facile ** facile *** difficulté moyenne **** difficile ***** très difficile I : Incontournable T : pour travailler et mémoriser le cours

Bases de programmation. Cours 5. Structurer les données

Glossaire des nombres

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

Chapitre 10 Arithmétique réelle

Réalisabilité et extraction de programmes

INITIATION AU LANGAGE C SUR PIC DE MICROSHIP

Une forme générale de la conjecture abc

Le théorème de Thalès et sa réciproque

Polynômes à plusieurs variables. Résultant

Formes quadratiques. 1 Formes quadratiques et formes polaires associées. Imen BHOURI. 1.1 Définitions

Représentation des Nombres

Codage d information. Codage d information : -Définition-

Exo7. Matrice d une application linéaire. Corrections d Arnaud Bodin.

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 des Systèmes Répartis Protocoles de Communications

Continuité et dérivabilité d une fonction

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

Architecture des ordinateurs TD1 - Portes logiques et premiers circuits

Évaluation et implémentation des langages

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

TP 1. Prise en main du langage Python

Capacité d un canal Second Théorème de Shannon. Théorie de l information 1/34

Utilisation des tableaux sémantiques dans les logiques de description

Conception de circuits numériques et architecture des ordinateurs

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

Un K-espace vectoriel est un ensemble non vide E muni : d une loi de composition interne, c est-à-dire d une application de E E dans E : E E E

Présentation du langage et premières fonctions

Informatique Générale

Complément d information concernant la fiche de concordance

UE Programmation Impérative Licence 2ème Année

Logiciel de Base. I. Représentation des nombres


Cours d arithmétique Première partie

Quelques éléments de compilation en C et makefiles

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

Du Premier au Second Degré

La persistance des nombres

Extrait du poly de Stage de Grésillon 1, août 2010

VÉRIFICATION DES SYSTÈMES À PILE AU MOYEN DES ALGÈBRES DE KLEENE

Exercices types Algorithmique et simulation numérique Oral Mathématiques et algorithmique Banque PT

Activités numériques [13 Points]

a) b)


Logique. Plan du chapitre

Structures algébriques

1 radian. De même, la longueur d un arc de cercle de rayon R et dont l angle au centre a pour mesure α radians est α R. R AB =R.

Raisonnement probabiliste

Algèbre binaire et Circuits logiques ( )

Exercices du Cours de la programmation linéaire donné par le Dr. Ali DERBALA

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

Vers l'ordinateur quantique

1ère partie Nadine Cullot. Bases de données déductives. Bases de données déductives Introduction et Motivation

Chapitre 3. Mesures stationnaires. et théorèmes de convergence

Résolution de systèmes linéaires par des méthodes directes

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

Corrigé du baccalauréat S Asie 21 juin 2010

Enoncé et corrigé du brevet des collèges dans les académies d Aix- Marseille, Montpellier, Nice Corse et Toulouse en Énoncé.

Jeux de caracte res et encodage (par Michel Michaud 2014)

Théorie et codage de l information

1 Introduction au codage

Al attention du praticien et des étudiants, nous avons développé

Calcul différentiel sur R n Première partie

Raisonnement par récurrence Suites numériques

ALGORITHMIQUE ET PROGRAMMATION En C

3 Approximation de solutions d équations

Dérivation : Résumé de cours et méthodes

Géométrie dans l espace Produit scalaire et équations

1.1 Codage de source et test d hypothèse

Capes Première épreuve

Chapitre 3. Quelques fonctions usuelles. 1 Fonctions logarithme et exponentielle. 1.1 La fonction logarithme

Correction de l examen de la première session

Date : Tangram en carré page

CH.6 Propriétés des langages non contextuels

Programmation linéaire

IFT1215 Introduction aux systèmes informatiques

Solutions particulières d une équation différentielle...

Définition : On obtient les nombres entiers en ajoutant ou retranchant des unités à zéro.

Continuité d une fonction de plusieurs variables

1 Description générale de VISFIELD

Cryptographie Quantique

Transcription:

Automates avancés Examen du 19 mai 2009 - corrigé 1 Applications des cours 1.1 Sans étoiles Pour chacun des langages ci-dessous sur l alphabet Σ = {a, b} l exprimer en logique F O(<, Σ) ou démontrer que c est impossible. 1. 1 L 1 = {a n ba n n N} Ce langage n est pas régulier comme on connaît des cours de la licence (facile à démontrer par pompage). Par conséquent il n est pas exprimable en FO (ni même en MSO). 2. 2 L 2 = (b + a) (on rappelle que b + = bb ). L 3 contient les mots qui satisfont 3 contraintes : ils commencent par un b ; ils terminent par un a; ils ne contiennent pas deux a consécutifs. On traduit les trois contraintes en FO : b(0) y(fin(y + 1) a(y)) z(a(z) a(z + 1)) (j ai utilisé les opérations +1 et fin pour une meilleure lisibilité, mais comme on a vu en cours on peut s en débarrasser). 3. 3 L 3 = a(baba) a. Soit u = a; v = ba; w = a. Il est clair que uv k w est dans le langage pour les k pairs, et hors langage pour les k impairs. Donc L 3 n est pas apériodique. Par conséquent il est impossible de l exprimer en FO. 1.2 Un langage de mots infinis On considère le langage L de tous les mots infinis sur {a, b} qui contiennent une infinité de fois les motifs ab 2n a (on ne demande pas que n soit le même). 1. 1 Trouvez une expression ω-régulière définissant L. ( (a + b) a(bb) a ) ω 2. 1 Trouvez un automate de Büchi reconnaissant L.

a,b b a P Q R a;b a b S 3. 2 Trouvez une formule MSO définissant L. On traduit l automate en expression MSO, comme décrit en cours ( P, Q, R, S on est toujours dans 1 état et 1 seul x ( P(x) Q(x) R(x) S(x) (P(x) Q(x) R(x) S(x)) (Q(x)...)... ) on commence dans P P(0) on respecte la relation de transition x ( (P(x) P(x + 1)) (P(x) a(x) Q(x + 1)) (Q(x) a(x) S(x + 1)) (S(x) P(x + 1)) (Q(x) b(x) R(x + 1)) (R(x) b(x) Q(x + 1)) ) et on accepte x y(y > x S(y)) ) 2 Méthodes génériques pour les résultats intéressants 2.1 On étend Presburger 1. 1 On enrichit l arithmétique de Presburger en y ajoutant le prédicat P8 tel que P8(x) est vrai si et seulement si x est une puissance de 8. Est-ce que la théorie obtenue est décidable? Essayez d étendre la preuve du cours (sans la répéter). Dans le cours on décide l arithmétique de Presburger en traduisant chaque formule de cette logique en automate. Pour appliquer la même méthode à l arithmétique de Presburger + P8 il suffit de construire l automate pour la relation P8(x) (avec le codage usuel binaire little-endian avec des 0 qui trainent). L expression régulière pour ce langage est (000 10 ). Voici l automate : 0 0 0 1 0 2

2. 3 Même question pour le prédicat P10 tel que P10(x) est vrai si et seulement si x est une puissance de 10. On peut refaire la preuve du cours en utilisant le codage décimal. Dans ce codage la relation P10(x) correspond au langage régulier 0 10, accepté par l automate : 0 0 1 2.2 On compte comme dans le partiel 4 Montrer qu il existe un langage fini sur Σ = {a; b; c; d} tel que tous les mots de G contiennent < 100 lettres; ET toute expression régulière qui définit G contient > 1000000 symboles. Il y a m > 4 99 de mots qui contiennent < 100 lettres. Il y a n = 2 m langages (sous-ensembles) de ces mots. On peut estimer m et n comme ceci : m > 4 99 = 2 198 > (2 10 ) 19 > (10 3 ) 19 = 10 190 ; n > 2 10190. Chaque expression régulière de 10 6 symboles peut être représentée comme une séquence de 10 6 symboles suivants : a, b, c, d, ε,, +,,, (, ), (le dernier symbole sert à compléter l expression à la fin jusqu à un million de lettres). Il existe k = 12 106 telle séquences (et moins que ça expressions régulières). On estime k comme ceci : k = 12 106 < 16 106 = 2 4 106 < 2 107. On constate que le nombre d expressions k est beaucoup inférieur au nombre de langages n. Par conséquent, il existe un langage G (de mots de < 100 lettres) pour lequel il n existe aucune expression de 10 6 symboles. 2.3 On compile 10 On considère le fragment L de LTL sans Until, qui contient des formules définies comme suit : On cherche à démontrer le résultat suivant : F ::== true false a F F F F F F F F Théorème 1 Chaque formule de la logique L (interprétée sur les mots finis) est équivalente à une expression sans étoile. La démonstration doit contenir un algorithme de traduction. On n utilisera pas les résultats énoncées en cours sans preuve. 1. Certaines opérations de la logique L peuvent être exprimées en utilisant autres opérations. On peut donc les supprimer sans changer le pouvoir expressif de la logique. Expliquez quelles sont les opérations inutiles, pourquoi, et donnez une grammaire pour la logique simplifiée L. 2. Donnez le plan de démonstration du théorème par induction structurelle sur la grammaire de L ou L (une liste de lemmes à prouver). 3. Faites le cas de base. Indication: N oubliez pas que la formule de LTL a signifie que le mot commence par a 3

4. Faites le cas inductif pour les opérateurs booléens. 5. Faites le cas inductif pour les opérateurs temporels. 6. Terminez la preuve. 7. J ai omis de définir la sémantique de cette logique - faites le, sans oublier que les mots sont finis. 8. Testez votre méthode de traduction sur b 1. On peut éliminer les opérations true,false,, comme suit : true a a; false true; f f; f g ( f g) Donc la logique L sans ces 4 opérations a le même pouvoir expressif que L. La définition d une formule de L suit : F ::== a F F F F F 2. Pour être moins verbeux on dira dans la suite formule (ou juste f, g) pour une formule de L, [f] pour la sémantique d une formule f (le langage défini par cette formule). On dira expression pour une expression sans étoile. Pour démontrer le théorème par induction structurelle (pour la logique L ) il suffit de démontrer les lemmes suivantes : A Le langage [a] peut être défini par une expression. B Si le langage [f] peut être défini par une expression e, alors le langage [ f] peut aussi être défini par une expression. C Même chose pour f. D Même chose pour f. E Si deux langages [f 1 ] et [f 2 ] peuvent être défini par les expressions e 1 et e 2, alors le langage [f 1 f 2 ] peut aussi être défini par une expression. 3. Cas de base A. L expression pour [a] est a U. 4. Cas inductif booléen D. L expression pour [ f] est e. Cas inductif booléen E. L expression pour [f 1 f 2 ] est e 1 + e 2. 5. Cas inductif temporel B. L expression pour [ f] est Σ e, où Σ est juste la somme de toute les lettres de l alphabet. Cas inductif temporel C. L expression pour [ f] est U e. 6. Par induction structurelle on déduit que pour chaque formule f de L, sa sémantique [f] est définissable par une expression sans étoile. 7. Rien de plus simple - ça ressemble beaucoup aux points 3-6. : [a] = a Σ [ f] = Σ [f] [ f] = Σ [f] [ f] = [f] [f 1 f 2 ] = [f 1 ] [f 2 ] 8. Tout d abord on traduit en L en éliminant le : b b 4

Ensuite, en partant de l intérieur on traduit chacune des sous-formules en expréssion : b b U b b U b U b U b U b U b U U b U On obtient la réponse U U b U. 3 Exercices subsidiaires difficiles Si vous avez tout fait, et il vous reste beaucoup de temps, vous pouvez réfléchir aux questions suivantes pour lesquelles je ne connais pas de solution simple : 1. Question du partiel : comment démontrer que le langage qui contient les puissances de 3 en base 2 n est pas régulier? 2. Comment démontrer que l arithmétique de Presburger étendue à la fois par P8 et P10 (de l exo 2.1) est indécidable? 3. Comment étendre la traduction de 3.2 aux formules avec Until? Je ne connais pas de solution simple 5