Le monoïde libre (Σ*,.) (Alphabet Σ, mot, langage)



Documents pareils
Structures algébriques

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

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.

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

Initiation à la programmation en Python

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 =

La circulation méconnue de l épargne règlementée en France!

Qu est-ce qu une probabilité?

Exercices - Nombres complexes : corrigé. Formes algébriques et trigonométriques, module et argument

Représentation d un entier en base b

Probabilités sur un univers fini

Logiciel de Base. I. Représentation des nombres

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

Chapitre 10 Arithmétique réelle

Algorithme. Table des matières

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

STAGE IREM 0- Premiers pas en Python

Corrigé du baccalauréat S Pondichéry 12 avril 2007

MATHÉMATIQUES DISCRÈTES (4) CRYPTOGRAPHIE CLASSIQUE

Théorie des Graphes Cours 3: Forêts et Arbres II / Modélisation

Exercice 6 Associer chaque expression de gauche à sa forme réduite (à droite) :

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

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

Activités numériques [13 Points]

Initiation à la Programmation en Logique avec SISCtus Prolog

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

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)

Architecture des ordinateurs TD1 - Portes logiques et premiers circuits

CHAPITRE IV. L axiome du choix

Les chaînes de caractères

Système binaire. Algèbre booléenne

I - PUISSANCE D UN POINT PAR RAPPORT A UN CERCLE CERCLES ORTHOGONAUX POLES ET POLAIRES

Objets Combinatoires élementaires

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

DOCM Solutions officielles = n 2 10.

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

Représentation géométrique d un nombre complexe

Continuité et dérivabilité d une fonction

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

MIS 102 Initiation à l Informatique

Algèbre binaire et Circuits logiques ( )

Cours Informatique 1. Monsieur SADOUNI Salheddine

SOLUTIONS TECHNOLOGIQUES Fiche activité élève

Les droites (d 1 ) et (d 2 ) sont sécantes en A Le point A est le point d intersection des 2 droites

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

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

Factorisation Factoriser en utilisant un facteur commun Fiche méthode

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

Module 16 : Les fonctions de recherche et de référence

Introduction à la Programmation par Contraintes (PPC) Ruslan Sadykov LIX, École Polytechnique

Arithmétique binaire. Chapitre. 5.1 Notions Bit Mot

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

M é ca n ism e Pr o lo g. Ex e m p le

Analyse Combinatoire

1 Introduction au codage

5 ème Chapitre 4 Triangles

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

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

CHAPITRE 1. Suites arithmetiques et géometriques. Rappel 1. On appelle suite réelle une application de

par Denis-Charles Cisinski & Georges Maltsiniotis

2.4 Représentation graphique, tableau de Karnaugh

chapitre 4 Nombres de Catalan

CORRIGE LES NOMBRES DECIMAUX RELATIFS. «Réfléchir avant d agir!»

Note de cours. Introduction à Excel 2007

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

Quelques tests de primalité

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

Chapitre 3: TESTS DE SPECIFICATION

Exercices Alternatifs. Une fonction continue mais dérivable nulle part

INF601 : Algorithme et Structure de données

La fonction exponentielle

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

Les intermédiaires privés dans les finances royales espagnoles sous Philippe V et Ferdinand VI

CONJUGUÉ D'UN POINT PAR RAPPORT À UN TRIANGLE

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

Nombre dérivé et tangente

Algorithmes récursifs

Cours d algorithmique pour la classe de 2nde

Chapitre 2. Matrices

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

!" #$#% #"& ' ( &)(*"% * $*' )#""*(+#%(' $#),")- '(*+.%#"'#/* "'") $'

L ARBORESCENCE. Qu est-ce qu un dossier? L arborescence?

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

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

Aide - mémoire gnuplot 4.0

Cours d Analyse. Fonctions de plusieurs variables

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

ALGORITHMIQUE ET PROGRAMMATION En C

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

Logique. Plan du chapitre

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

Glossaire des nombres

Vers l'ordinateur quantique

Systèmes de communications numériques 2

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

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

Raisonnement par récurrence Suites numériques

introduction Chapitre 5 Récursivité Exemples mathématiques Fonction factorielle ø est un arbre (vide) Images récursives

Liste de nos biens immobiliers

ARBRES BINAIRES DE RECHERCHE

Transcription:

Le monoïde libre (Σ*,.) (Alphabet Σ, mot, langage)

Alphabet Σ Un alphabet, noté Σ, est un ensemble fini de symboles. Chaque symbole de Σ est appelé lettre (ou caractère). Ex. {0, 1}, {carreau, cœur, pique, trèfle}, {a,b}, {0,1, 2, 3, 4, 5, 6, 7, 8, 9}, Mot Un mot est une suite finie de lettres de Σ. (un mot est la concaténation des lettres) On écrit a.b.c ou abc pour le même mot. L opération concaténation est appelée produit Longueur d un mot = nombre de ses lettres Longueur d une lettre (considéré comme un mot) = 1 u désigne la longueur du mot u. Un mot u de longueur n est une application de {1,2, n} dans Σ où u(i) désigne la ième lettre de u.

Le mot vide est noté ε, il est de longueur 0 Σ* = n 0 Σ n où Σ n = Σ.Σ Σ (produit n fois) et Σ 0 = {ε} u Σ n (n > 0) a 1, a 2,,a Σ : n u = a 1 a 2 a n Σ n est l ensemble des mots de longueur n Σ* = {ε} Σ + où Σ + = n 1 Σ n u Σ* ou bien u = ε ou bien n >0, a 1, a 2,,a Σ : u = a n 1 a 2 a n Σ* est l ensemble de tous les mots que l on peut construire sur l alphabet Σ. (Σ*,.) est un monoïde libre.

Soit u un mot sur Σ. (u Σ*) On note par : u 0 = ε u i+1 = u i u = u u i i 0. Soient u et v deux mots sur Σ. v est dit facteur (ss mot) de u si u 1, u 2 Σ* t.q. u = u 1 v u 2 de plus si u 1 u 2 ε,v est un facteur propre de u v est un facteur gauche ( ou préfixe) de u si w Σ* t.q u = v w v est un facteur droit (ou suffixe) de u si w Σ* t.q u = w v

Morphisme de monoïde Soient Σ et Σ deux alphabets. ϕ : Σ* Σ * est un homomorphisme si : ϕ(ε) = ε u, v Σ* ϕ(u v) = ϕ(u) ϕ(v) Tout homomorphisme est entièrement défini par l image des lettres de l alphabet. i. e on définit ϕ pour les lettres de Σ ϕ : Σ Σ * puis on le prolonge aux mots de Σ* ϕ : Σ* Σ * par : ϕ (ε) = ε et ϕ (ua) = ϕ (u) ϕ(a) u Σ*, a Σ

Langage sur un alphabet Un langage est ensemble de mots L est un langage sur Σ SSi L Σ* (L (Σ*)) Opérations sur les langages Sur (Σ*), on définit les opérations suivantes: les opérations booléennes : union, intersection, complément le produit L 1 L 2 = {u v Σ* / u L 1, v L 2 } l étoile (ou itéré) L* = i 0 L i = {ε} L + où L + = i 1 L i Remarque. - Le langage vide vérifie : L = L = L (Σ*) - * = {ε} - L n n est pas l ensemble des mots de longueur n sauf si L est un ensemble de lettres c.à d. alphabet - A ne pas confondre le mot vide et l ensemble vide - Le produit est distributif par rapport à l union mais pas (en général) pour l intersection Σ* est un ensemble infini dénombrable (Σ*) n est pas dénombrable.

Représentation finie des langages langages réguliers et expressions régulières

Langages réguliers Définition Un langage L sur Σ est régulier s il peut être construit à partir du et des singletons {a} (a Σ) en appliquant un nombre fini les opérations union, produit et étoile. Autrement dit : - est un langage régulier - {a} est un langage régulier a Σ - A, B sont réguliers - (A B) est régulier - (A B) est régulier - (A*) est régulier

Ex. - {ε} est régulier du fait que {ε} = * - {0,1,2,,9} = {0} {1} {2} {9} ( Tout ensemble fini est régulier, en part. Σ) - Ensemble des entiers naturels (sans les zéros inutiles en tête) est régulier sur Σ = {0,1,2,,9}, ce langage est défini comme: {0} {1,2,,9} {0,1,2,,9}* - Ensemble des entiers relatifs : {0} {+,-,ε} {1,2,,9} {0,1,,9}* - ensemble des mots binaires qui sont pairs : {0,1}* {0} - ensemble des mots sur {a,b} ayant aba comme facteur: {a,b}* {aba} {a,b}*

Remarque Si on désigne par Reg(Σ) la classe des langages réguliers sur Σ alors Reg(Σ) est la plus petite classe de langages qui contient et {a} ( a Σ) et qui fermé (ou stable) par union, produit et étoile.

Expression régulière Les expressions régulières définissent un système de formules qui simplifient la notation des langages réguliers. Définition Une expression régulière (sur Σ ) est une formule qui s obtient, à partir de, ε et des lettres de Σ, par un nombre fini d opérations +, produit et étoile. En d autres termes : - ε et sont des exp. rég. - a Σ, a est exp. reg. - si e et e sont des exp. reg. alors (e), (e ), (e + e ), (e e ) et (e)* sont des exp. reg. Ex. ((a (b)*) + ((a) + (b))(a)*) Précédence des opérateurs: + < produit < étoile pour enlever les parenthèses. L exp. reg. précédente s écrit: ab* + (a + b)a*.

Chaque expression régulière définit un langage régulier par l interprétation suivante : (ER(Σ) désigne l ensemble des expressions régulières) : ER(Σ) Reg(Σ) α (α) Vérifiant : ( ) =, (ε) = {ε}, (a) = {a} a Σ α, β ER(Σ), (α + β) = (α) (β) (α β) = (α) (β) (α*) = ( (α))*

Tout langage régulier est défini par une expression régulière; i.e. L Reg(Σ), α ER(Σ) t.q. L = (α) (la démonstration se fait par induction structurelle des réguliers) Théorème Un langage est régulier il est défini par une expression régulière ; i.e. L Reg(Σ) α ER(Σ) t.q. L = (α)

Ex. α = (a + b)*a est une exp. rég. (α) = ((a +b)*a) = ((a + b)*) (a) = ( (a + b))* (a) = ( (a) (b))* (a) = ({a} {b})* {a} Remarques: On identifie (souvent) langage régulier et expression régulière qui le définit en identifiant : {a} avec a et avec + et on écrit (α) = α Deux expressions régulières sont équivalentes si elles définissent le même langage.

Ex. 1. bb*(a*b* + ε)b = b(b*a*b* + b*)b = b(b*a* + ε)b*b = b( b*a*) b*b = b + a* b + 2. a* = Σ i 0 a i = ε + a + a 2 + a 3 + = ε + Σ i 1 a i = ε + a + 3. aa* = a*a = a + 4. (a + b) 2 = (a + b)(a + b) = a 2 + ab + ba + b 2 (a + b) 2 est l ens. des mots de longueur 2 Σ = {a,b} Σ* = {a,b}* = ({a} {b})* (a + b)*

Identités régulières (équivalences rég.) - e = e = ε e = e ε = e - + e = e e + e = e - e(f + g) = ef + eg (e + f)g = eg + ef - e* = (e*)* (ef)*e = e(fe)* - (e + f)* = e* (e +f)* = (e* + f)* = (e* f)* = (e* f*)* (Idem pour les langages réguliers en prenant à la place de +)