CH.9 La hiérarchie de Chomsky

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

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

Dossier Logique câblée pneumatique

Raisonnement par récurrence Suites numériques

Vers l'ordinateur quantique

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

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

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

Limites finies en un point

Programmation linéaire

6. Les différents types de démonstrations

Chapitre 1 Régime transitoire dans les systèmes physiques

Problèmes de Mathématiques Filtres et ultrafiltres

Algèbre binaire et Circuits logiques ( )

Problème 1 : applications du plan affine

Théorème du point fixe - Théorème de l inversion locale

Planche n o 22. Fonctions de plusieurs variables. Corrigé

D'UN THÉORÈME NOUVEAU

Image d un intervalle par une fonction continue

Développements limités. Notion de développement limité

Dualité dans les espaces de Lebesgue et mesures de Radon finies

Intégration et probabilités TD1 Espaces mesurés Corrigé

Continuité et dérivabilité d une fonction

O, i, ) ln x. (ln x)2

Optimisation des fonctions de plusieurs variables

* très facile ** facile *** difficulté moyenne **** difficile ***** très difficile I : Incontournable

Probabilités sur un univers fini

CHAPITRE VIII : Les circuits avec résistances ohmiques

Déroulement. Evaluation. Préambule. Définition. Définition. Algorithmes et structures de données 28/09/2009

LE PROBLEME DU PLUS COURT CHEMIN

FONCTION EXPONENTIELLE ( ) 2 = 0.

Cours d Informatique

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

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

Système binaire. Algèbre booléenne

Cours Fonctions de deux variables

I. Polynômes de Tchebychev

CHAPITRE IX : Les appareils de mesures électriques

Complexité. Licence Informatique - Semestre 2 - Algorithmique et Programmation

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

Continuité en un point

Devenez expert. en trading d'or. Tout ce qu'il faut savoir pour trader l'or

Baccalauréat S Antilles-Guyane 11 septembre 2014 Corrigé

LES NOMBRES DECIMAUX. I. Les programmes

M2 IAD UE MODE Notes de cours (3)

OPTIMISATION À UNE VARIABLE

Introduction à MATLAB R

De même, le périmètre P d un cercle de rayon 1 vaut P = 2π (par définition de π). Mais, on peut démontrer (difficilement!) que

BACCALAUREAT GENERAL MATHÉMATIQUES

Technique de codage des formes d'ondes

Logiciel Libre Cours 3 Fondements: Génie Logiciel

2 Grad Info Soir Langage C++ Juin Projet BANQUE

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 =

Continuité d une fonction de plusieurs variables

Les opérations binaires

I- Définitions des signaux.

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

Chp. 4. Minimisation d une fonction d une variable

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

Introduction. I Étude rapide du réseau - Apprentissage. II Application à la reconnaissance des notes.

I. Ensemble de définition d'une fonction

La conversion de données : Convertisseur Analogique Numérique (CAN) Convertisseur Numérique Analogique (CNA)

Cours 1 : La compilation

Fonctions de plusieurs variables

Chapitre 6. Fonction réelle d une variable réelle

Fonctions de plusieurs variables, intégrales multiples, et intégrales dépendant d un paramètre

Réalisabilité et extraction de programmes

Chapitre 1 : Introduction aux bases de données

Développements limités, équivalents et calculs de limites

Une réponse (très) partielle à la deuxième question : Calcul des exposants critiques en champ moyen

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

Chapitre 1 I:\ Soyez courageux!

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

1 Première section: La construction générale

Probabilités sur un univers fini

Cours 02 : Problème général de la programmation linéaire

6 - La conscience est-elle un processus algorithmique?

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

Calcul différentiel sur R n Première partie

NOTATIONS PRÉLIMINAIRES

CHAPITRE V SYSTEMES DIFFERENTIELS LINEAIRES A COEFFICIENTS CONSTANTS DU PREMIER ORDRE. EQUATIONS DIFFERENTIELLES.

F1C1/ Analyse. El Hadji Malick DIA

Intégration et probabilités TD1 Espaces mesurés

Licence MASS (Re-)Mise à niveau en Probabilités. Feuilles de 1 à 7

Les travaux doivent être remis sous forme papier.

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

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

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

I Stabilité, Commandabilité et Observabilité Introduction Un exemple emprunté à la robotique Le plan Problème...

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

Polynômes à plusieurs variables. Résultant

Corrigé du baccalauréat S Asie 21 juin 2010

La notion de temps. par Jean Kovalevsky, membre de l'institut *

Programmation C++ (débutant)/instructions for, while et do...while

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

Formation Iptables : Correction TP

TESTS D'HYPOTHESES Etude d'un exemple

INITIATION AU LANGAGE C SUR PIC DE MICROSHIP

Transcription:

CH.9 La hiérarchie de Chomsky 9.1 Les grammaires générales 9.2 Les grammaires contextuelles 9.3 La classification des langages Automates ch9 1 9.1 Les grammaires générales Encore appelées grammaires de type 0. Exemple : S TZ T 0T1C T ε C1 1C CZ Z2 1Z 1 Cette grammaire engendre les mots de la forme 0 i 1 i 2 i. Ce langage n'est pas algébrique, donc les langages engendrés par les grammaires générales contiennent strictement les langages algébriques. Automates ch9 2

Théorème (Chomsky 1959): Le langage L est engendré par une grammaire générale si et seulement s'il est accepté par une machine de Turing (ou un automate à deux piles). Autre formulation : Les langages engendrés par les grammaires de type 0 sont les langages récursivement énumérables. La démonstration est constructive. Néanmoins (voir chapitre précédent), les machines peuvent boucler en si le mot testé n'est pas dans le langage. De plus, le passage entre les deux énoncés du théorème n'est pas constructif. Il s'ensuit que le problème de trouver si un mot est engendré par une grammaire générale est indécidable. Automates ch9 3 On a en fait un résultat beaucoup plus général : Théorème (Rice) : On désigne par une grammaire générale G. Tous les problèmes de la forme P(G) sont indécidables sauf les deux problèmes triviaux (les constantes vrai et faux). On peut formuler le même énoncé avec des machines de Turing au lieu des grammaires. La conséquence est que les grammaires de type 0 ne peuvent être utilisées dans la pratique. Enfin, les langages récursivement énumérables sont fermés par union, intersection, concaténation, substitution, homomorphisme inverse, mais pas par complémentation. Automates ch9 4

9.2 Les grammaires contextuelles On restreint les règles en obligeant le membre droit à être au moins aussi long que le membre de gauche. Ceci oblige à exclure le mot vide. Les grammaires contextuelles sont aussi appelées grammaires de type 1. Exemple : S TZ T 0U1 T 01 U 0U1C U 01C C1 1C CZ Z2 1Z 12 Cette grammaire engendre encore les mots de la forme 0 i 1 i 2 i. Automates ch9 5 Etant donnée une grammaire contextuelle et un mot de longueur n, il est possible de vérifier si ce mot est engendré par la grammaire : On fabrique toutes les dérivations à partir de l'axiome. Ces dérivations produisent des mots de longueur de plus en plus grande. On vérifie si le mot donné est obtenu. On vient de démontrer le théorème (constructif) suivant : Théorème : Tout langage engendré par une grammaire contextuelle est récursif. La réciproque est fausse : il existe des langages récursifs qui ne sont pas engendrables par une grammaire non contextuelle. La démonstration de ce fait utilise un "argument diagonal". Automates ch9 6

On peut énumérer les grammaires non contextuelles sur l'alphabet {0,1}. Pour chacune d'entre elles, on peut fabriquer une machine de Turing (= un programme) qui s'arrête sur toutes les entrées en acceptant les mots engendrés par cette grammaire (voir théorème précédent). On a donc fabriqué une suite de machines M i. Toute grammaire non contextuelle a une machine M i qui accepte le langage qu'elle engendre. Soit maintenant l'entier k. On l'écrit en base 2 ; on le garde s'il est rejeté par la machine M k et on rejette s'il est accepté par la machine M k. On définit ainsi un langage récursif L, avec l'algorithme permettant de tester si un mot appartient ou non à L. Si L était engendré par une grammaire, il existerait un programme n de la liste ci-dessus pour tester les mots. La contradiction vient de l'examen de l'écriture binaire de n par ce programme M n. Automates ch9 7 Il existe un dispositif mécanique de reconnaissance des langages dépendant du contexte, appelé automate borné linéairement. C'est une machine de Turing non déterministe qui n'utilise de sa mémoire infinie qu'une portion dépendant linéairement de la taille du mot testé. Théorème: Un langage est dépendant du contexte si et seulement s'il est accepté par un automate borné linéairement. La démonstration est constructive dans les deux sens. A noter qu'on ne sait pas si l'on peut se passer de l'hypothèse de non déterminisme. Automates ch9 8

Les autres problèmes sur les langages contextuels sont indécidables, y compris celui de savoir s'il est vide. Enfin, les langages contextuels sont fermés par les mêmes opérations que les langages récursivement énumérables. La fermeture par complémentation n'est pas connue (liée au déterminisme). Automates ch9 9 9.3 La classification des langages On peut dresser le tableau de la hiérarchie des langages, encore appelée hiérarchie de Chomsky. On dispose pour chaque classe de langages d'un dispositif de génération et d'un dispositif de reconnaissance. Le passage de l'un à l'autre est toujours constructif. Les inclusions sont toujours strictes. Automates ch9 10

Nom Langages récursivement énumérables Langages récursifs Langages contextuels Langages non contextuels Langages non contextuels déterministes Langages rationnels Dispositif de génération Grammaires générales = Grammaires de type 0? Grammaires contextuelles = Grammaires de type 1 Grammaires algébriques = Grammaires de type 2? Grammaires linéaires droites = Grammaires de type 3 Expressions régulières Dispositif de reconnaissance Machines de Turing = Automates à 2 piles (pouvant boucler) Machines de Turing = Automates à 2 piles (s'arrêtant toujours) Automates bornés linéairement Automates à pile non déterministes Automates à pile déterministes Automates finis Automates ch9 11