Automates et systèmes de transitions

Slides:



Advertisements
Présentations similaires
Mais vous comprenez qu’il s’agit d’une « tromperie ».
Advertisements

Le Nom L’adjectif Le verbe Objectif: Orthogram
ORTHOGRAM PM 3 ou 4 Ecrire: « a » ou « à » Référentiel page 6
LES NOMBRES PREMIERS ET COMPOSÉS
Ma surprise du Zoo.
1. Résumé 2 Présentation du créateur 3 Présentation du projet 4.
Vocabulaire 6.2 Français II Bon voyage ! 1.
Licence pro MPCQ : Cours
Additions soustractions
Distance inter-locuteur
1 Plus loin dans lutilisation de Windows Vista ©Yves Roger Cornil - 2 août
1. ami 2. compagnon 3. amant 4. frère 5. père 6. maître 7. éducateur 8
Les numéros
ACTIVITES Les fractions (10).
Les identités remarquables
Sirop de Liège « industriel »
Introduction à la logique
LES TRIANGLES 1. Définitions 2. Constructions 3. Propriétés.
Chap 1 Grammaires et dérivations.
1 7 Langues niveaux débutant à avancé. 2 Allemand.
Mr: Lamloum Med LES NOMBRES PREMIERS ET COMPOSÉS Mr: Lamloum Med.
SERABEC Simulation sauvetage aérien avec un Hercule C130. Départ de St-Honoré le 4 octobre Durée de vol 3 heures. Premier vol en Hercule pour les.
-17 Anticipations économiques en Europe Septembre 2013 Indicateur > +20 Indicateur 0 a +20 Indicateur 0 a -20 Indicateur < -20 Union européenne total:
Niveau 6ème Calcul mental Exercices Vrai / Faux Q. C. M.
1 5 octobre 2011 / paw Présentation du 7 octobre 2011.
Interagir avec un objet mixte Propriétés physiques et numériques Céline Coutrix, Laurence Nigay Équipe Ingénierie de lInteraction Homme-Machine (IIHM)
1 Cours numéro 3 Graphes et informatique Définitions Exemple de modélisation Utilisation de ce document strictement réservée aux étudiants de l IFSIC.
Application des algorithmes génétiques
1 Choisir une catégorie. Vous recevrez la réponse, vous devez donner la question. Cliquez pour commencer.
Cours de physique générale I Ph 11
1 Guide de lenseignant-concepteur Vincent Riff 27 mai 2003.
GRAM 1 CE2 Je sais transformer une phrase affirmative en phrase négative.
1.2 COMPOSANTES DES VECTEURS
Le Concours de Conaissance Francais I novembre 2012.
Si le Diaporama ne s'ouvre pas en plein écran Faites F5 sur votre clavier.
Titre : Implémentation des éléments finis sous Matlab
1 Journée de regroupement des correspondants "Egalité et genre" - 21 novembre 2011 Rectorat de Rouen - SAIO - CD-HD Résultats scolaires, appréciations.
Projet poker 1/56. Introduction Présentation de léquipe Cadre du projet Enjeux Choix du sujet 2.
LES NOMBRES PREMIERS ET COMPOSÉS
Comment rendre une femme heureuse…
1 INETOP
Calculs et écritures fractionnaires
RACINES CARREES Définition Développer avec la distributivité Produit 1
Représentation des systèmes dynamiques dans l’espace d’état
Systèmes mécaniques et électriques
Représentation des systèmes dynamiques dans l’espace d’état
Représentation des systèmes dynamiques dans l’espace d’état
DUMP GAUCHE INTERFERENCES AVEC BOITIERS IFS D.G. – Le – 1/56.

1 Licence dinformatique Algorithmique des graphes Problèmes dordonnancement. Utilisation de ce document strictement réservée aux étudiants de l IFSIC dans.
Année universitaire Réalisé par: Dr. Aymen Ayari Cours Réseaux étendus LATRI 3 1.
Titre : Implémentation des éléments finis en Matlab
MAGIE Réalisé par Mons. RITTER J-P Le 24 octobre 2004.
1 INETOP
Équipe 2626 Octobre 2011 Jean Lavoie ing. M.Sc.A.
P.A. MARQUES S.A.S Z.I. de la Moussière F DROUE Tél.: + 33 (0) Fax + 33 (0)
ASI 3 Méthodes numériques pour l’ingénieur
MAGIE Réalisé par Mons. RITTER J-P Le 24 octobre 2004.
Mise en forme en Mathématiques
Elaboré par M. NUTH Sothan 1. 2 Soit x, y et z des coordonnées cartésiennes à 3 dimension. G un ensemble de points dans le plan (u, v). Déf. : On appelle.
Traitement de différentes préoccupations Le 28 octobre et 4 novembre 2010.
1/65 微距摄影 美丽的微距摄影 Encore une belle leçon de Macrophotographies venant du Soleil Levant Louis.
Leçons To attend Assister à 2. To fish.
Nom:____________ Prénom: ___________
LES PILES ET FILES.
Exercice de vérification 1 p
Commission paritaire de suivi des opérations de reclassement repositionnement dans le cadre du droit d’option Statistiques novembre 2010.
Les Chiffres Prêts?
Chapitre 3 :Algèbre de Boole
Transcription de la présentation:

Automates et systèmes de transitions Gérard Berry Collège de France Chaire Informatique et sciences numériques Cours 4, 16 décembre 2009

Agenda Systèmes d’états finis Expressions régulières Dérivées et traduction en automates Algorithme de Berry-Sethi Déterminisation et minimisation Des automates aux circuits Booléens Suites automatiques et nombres transcendants G. Berry, Collège de France, 16/12/2009

Systèmes d’états finis Principes généraux : le système n’a accès qu’à des ressources finies il procède par suite de transitions élémentaires Formalismes multiples machines : automates finis, circuits booléens expressions régulières (shell, lex, perl, etc). langages de haut niveau : automates hiérarchiques (Statecharts), langages synchrones (Esterel, SyncCharts, Lustre, Signal) sémantique : langages rationnels G. Berry, Collège de France, 16/12/2009

Champs d’applications Analyse de langages langues naturelles langages de programmation Circuits électroniques chemins de données / chemins de contrôle gestion mémoire, gestion des caches et de la cohérence réseaux sur puce, USB, SATA, etc. Protocoles de communication établissement et maintien des liens (Link Layer) gestion des erreurs et retransmissions Automatismes industriels automates programmables G. Berry, Collège de France, 16/12/2009

Champs d’applications Systèmes embarqués téléphones ABS, climatisation, contrôle train d’atterrissage signalisation ferroviaire, aiguillages, etc. contrôle de tâches, de robots, etc. Interfaces homme-machine interacteurs d’entrée (menus, joysticks d’avions, etc.) gestion d’écrans (cockpits d’avions) Mathématiques pures : théorie des nombres suites automatiques et nombres transcendants G. Berry, Collège de France, 16/12/2009

Automates : machines explicites compteur d’essieus gb db gh dh / gd db gb dh gh / dg dh gh gb db g d entrées : gb, gh, db, dh sorties :  gd,  dg G. Berry, Collège de France, 16/12/2009

Circuits booléens OK = REQ and GO PASS = not REQ and GO TRY or PASS GO GET_TOKEN PASS_TOKEN OK = REQ and GO PASS = not REQ and GO GO = TRY or GET_TOKEN PASS_TOKEN = reg(GET_TOKEN) G. Berry, Collège de France, 16/12/2009

Agenda Systèmes d’états finis Expressions régulières Dérivées et traduction en automates Algorithme de Berry-Sethi Déterminisation et minimisation Des automates aux circuits Booléens Suites automatiques et nombres transcendants G. Berry, Collège de France, 16/12/2009

Langages rationnels Alphabet : ensemble (fini) de lettres a, b, c, x, y... Mot : suite finie u, v, w de lettres ;   mot vide Concaténer deux mots : les mettre bout à bout ab · cd  abcd Langage L : ensemble de mots Langages rationnels : la plus petite famille de langages contenant les langages finis et fermée par union et concaténation G. Berry, Collège de France, 16/12/2009

Expression régulières a L(a)  {a} e  e’ L(e  e’ )  L(e ) U L(e’ ) e · e’ ou e e’ L(e · e’ )  {uu’ | u  L(e), u’  L(e’)} e* L(e* )  {u0u1...un | n  0, ui  L(e)} e  e’  e’ e e (e’ e’’)  (e e’)  e’’ e · (e’ e’’)  e · e’ e · e’’ (e  e’) · e’’  e · e’’ e’ · e’’ 0  e  e  0  e 0 · e  e · 0  0 1· e  e·1  1 G. Berry, Collège de France, 16/12/2009

Expression test : (ab b)* ba ba, abba, bba, abbabba, bbbbababbbbba,... G. Berry, Collège de France, 16/12/2009

Test du mot vide (L)  1 si L (L)  0 sinon (0)  0 (1)  1 (a)  0 (e  e’)  (e )  (e’ ) (e ·e’)  (e ) · (e’) (e* )  1 G. Berry, Collège de France, 16/12/2009

Agenda Systèmes d’états finis Expressions régulières Dérivées et traduction en automates Algorithme de Berry-Sethi Déterminisation Des automates aux circuits Booléens Suites automatiques et nombres transcendants G. Berry, Collège de France, 16/12/2009

Dérivées d’expressions régulières u-1(L)  { v | u v  L } ua-1(L)  a-1(u-1(L) ) ce qui reste à écrire quand on a déjà écrit u a-1(e) : expression régulière engendrant a-1(L(e)) a-1(0)  0 a-1(1)  0 a-1(a)  1 a-1(b)  0 si b  a a-1(e  e’ )  a-1(e )  a-1(e’ ) a-1(e · e’)  a-1(e ) · e’  (e) · a-1(e’) a-1(e* )  a-1(e ) · e* G. Berry, Collège de France, 16/12/2009

Expression test : (ab b)* ba ba, abba, bba, abbabba, bbbbababbbbba,... a-1((ab b)* ba)  a-1((ab b)* ) · ba  ((ab b)* ) · a-1(ba) a-1((ab b)* ba)  a-1(ab b) · (ab b)* · ba  0 a-1((ab b)* ba)  b ·(ab b)* · ba b-1((ab b)*ba)  b-1((ab b)* ) · ba  ((ab b)* ) · b-1(ba) a-1((ab b)*ba)  b-1(ab b) · (ab b)* · ba a-1((ab b)*ba)   a a-1((ab b)*ba)  (ab b)* ba  a G. Berry, Collège de France, 16/12/2009

Des dérivées aux automates Théorème (Brzozowski) : une expression régulière e n’a qu’un nombre fini de dérivées (simplifiées) distictes u-1(e) Corollaire : on construit un automate déterministe reconnaissant L(e) en prenant pour états les dérivées distinctes, avec une flèche étiquetée a de u-1(e) à ua-1(e) si les deux sont non vides; un état e’ est final si (e’)  1. G. Berry, Collège de France, 16/12/2009

Itération jusqu’à plus soif e  e0  ((ab  b)* ba) a-1(e0)  b (ab  b)* ba  e1 b-1(e0)  (ab  b)* ba  a  e2 a-1(e1)  0 b-1(e1)  (ab  b)* ba  e0 a-1(e2)  b (ab  b)* ba  1 e3 b-1(e2)  (ab  b)* ba  a  e2 a-1(e3)  0 b-1(e3)  (ab  b)* ba  e0 G. Berry, Collège de France, 16/12/2009

Construction d’un automate déterministe a-1(e0)  e1 b-1(e0)  e2 b e0 b e2 a-1(e1)  0 b-1(e1)  e0 b a b a a-1(e2)  e3 b-1(e2)  e2 e1 e3 a-1(e3)  0 b-1(e3)  e0 (e3)  1 automate déterministe (Brzozoswki) G. Berry, Collège de France, 16/12/2009

Autres résultats Corollaire : la classe des langages rationnels est fermée Corollaire : par complémentation et intersection preuve : négation par inversion des états terminaux et non-terminaux, intersection puisque union et négation Remarque : la dérivation marche pareil en incluant la négation et l’intersection dans les expressions : a-1(e)  a-1(e) a-1(e  e’ )  a-1(e)  a-1(e’ ) Théorème réciproque : tout langage reconnu par un automate Théorème réciproque : est rationnel preuve : par construction itérative d’une expression régulière preuve : (pas si facile – essayer le compteur d’essieus !) G. Berry, Collège de France, 16/12/2009

Danger d’explosion ! L’automate ainsi construit peut être exponentiellement plus grand que e Pour certaines expressions régulières, c’est vrai pour tout automate déterministe équivalent Pour certains automates, les expressions régulières équivalentes peuvent être toutes exponentiellement plus grandes G. Berry, Collège de France, 16/12/2009

Agenda Systèmes d’états finis Expressions régulières Dérivées et traduction en automates Algorithme de Berry-Sethi Déterminisation et minimisation Des automates aux circuits Booléens Suites automatiques et nombres transcendants G. Berry, Collège de France, 16/12/2009

Expression linéaires expression linéaire : chaque lettre n’apparaît qu’une seule fois linéarisation d’une expression : indexation des lettres b2 s0  (a0b1  b2)* b3a4 s0 b3 a0-1(s0)  b1(a0b1  b2)* b3a4  s1 b2-1(s0)  (a0b1  b2)* b3a4  s0 b3-1(s0)  a4  s2 b1-1(s1)  s0 a4-1(s0)    s3 s2 a0 b1 a4 s1 s3 G. Berry, Collège de France, 16/12/2009

Automate non-déterministe b2 s0 s1 s2 s3 a b effacement des indices b3 s0 s2 a0 b1 a4 s1 s3 automate non-déterministe reconnaissant L(e0) G. Berry, Collège de France, 16/12/2009

Algorithme de Berry-Sethi Théorème : si e est une expression linéaire, alors une dérivée non nulle est caractérisée par sa dernière lettre x : toutes les dérivées de la forme ux-1(e) sont nulles ou égales Preuve : par récurrence sur |e| (taille de e). Supposons ux-1(e) non nul. évident si e  x (dans ce cas |u|  0) si e  e1 + e2, alors x apparaît soit dans e1, soit dans e2 mais pas dans les deux. Si x apparaît dans e1, alors ux-1(e)  ux-1(e1) avec |e1| < |e| si e  e1· e2, preuve similiaire en calculant ux-1(e1· e2) comme une somme de termes dont un seul peut contenir x si e  e1*, preuve similaire de celle du cas 3 Preuve : par récurrence sur |e| (taille de e). Supposons ux-1(e) non nul. évident si e  x (dans ce cas |u|  0) si e  e1 + e2, alors x apparaît soit dans e1, soit dans e2 mais pas dans les deux. Si x apparaît dans e1, alors ux-1(e)  ux-1(e1) avec |e1| < |e| si e  e1· e2, preuve similiaire en calculant wa-1(e1· e2) comme une somme de termes dont un seul peut contenir a si e  e1*, preuve similaire de celle du cas 3 G. Berry, Collège de France, 16/12/2009

Algorithme de Berry-Sethi Construction de l’automate pour e linéaire : on construit un automate avec un état initial et un état par lettre x, qui représente ux-1(e) pour tout u on va de l’état initial à l’état de toute lettre x qui peut apparaître en première position : x-1(e)  0 on va de l’état de x à l’état de y par une flèche y ssi ux-1(e)  0 et uxy-1(e)  0, i.e. s’il existe un mot u xy v  L(e), i.e. si y peut suivre x dans L(e) 4. l’état de x est terminal s’il existe un mot u x  L(e) G. Berry, Collège de France, 16/12/2009

Algorithme de Berry-Sethi une flèche de i vers x ssi  u = xu  L(s0) s0  (a0b1  b2)* b3a4 i une flèche y de x vers y ssi  u xy v  L(s0) a0 b2 b3 b2 a0 b1 b3 a4 a0 b1 b2 b3 a4 G. Berry, Collège de France, 16/12/2009

Calcul de first et last first (0)  first(1)   first (a)  {a} first(e  e’ )  first(e ) U first(e’ ) first(e ·e’)  first(e ) si (e)  0 first(e ·e’)  first(e ) U first(e’ ) sinon first(e*)  first(e ) premières lettres que e peut écrire last (0)  last(1)   last (a)  {a} last(e e’)  last(e) U last(e’) last(e · e’)  last(e’) si (e’) 0 first(e ·e’)  last(e) U last(e’) sinon last(e*)  last(e) dernières lettres que e peut écrire G. Berry, Collège de France, 16/12/2009

Calcul de y peut suivre x dans L(e) follow(e, x, y)  vrai si  w xy w’  L(e) follow(0, x, y)  follow(1, x, y)  follow(a, x, y)  faux follow(e  e’, x, y)  follow(e, x, y)  follow(e’, x, y) follow(e ·e’, x, y)  follow(e, x, y) follow(e ·e’, x, y)   follow(e’, x, y) follow(e ·e’, x, y)   ( x  last(e)  y  first(e’) ) follow(e*, a)  follow(e, x, y) follow(e *, a)   ( x  last(e)  y  first(e’) ) Exercice : calculer plus efficacement ! G. Berry, Collège de France, 16/12/2009

Algorithme de Berry-Sethi s0  (a0b1  b2)* b3a4 i a0 b2 b3 b2 a0 b1 b3 a4 G. Berry, Collège de France, 16/12/2009

... et hop, on efface les indices ! e  (ab  b)* ba pour n occurrences de lettres max n+1 états max (n+1)2 transitions ! pas d’explosion ! mais non-déterministe.. a b i b b b b a a b a G. Berry, Collège de France, 16/12/2009

... et on optimise l’état initial ! e  (ab  b)* ba a b i b b b b a a b a G. Berry, Collège de France, 16/12/2009

Agenda Systèmes d’états finis Expressions régulières Dérivées et traduction en automates Algorithme de Berry-Sethi Déterminisation et minimisation Des automates aux circuits Booléens Suites automatiques et nombres transcendants G. Berry, Collège de France, 16/12/2009

Déterminisation e  (ab  b)* ba 00100 : initial b b b b a 1 2 3 4 a b 1 2 3 4 a b a G. Berry, Collège de France, 16/12/2009

Déterminisation 00100 : a  e  (ab  b)* ba 00100 : initial b b b b a 1 2 3 4 a b a G. Berry, Collège de France, 16/12/2009

Déterminisation 00100 : a  10000 e  (ab  b)* ba 00100 : initial b b 1 2 3 4 a b a G. Berry, Collège de France, 16/12/2009

Déterminisation 00100 : a  10000 e  (ab  b)* ba 0000 : b  00100 : initial b b b b a 1 2 3 4 a b a G. Berry, Collège de France, 16/12/2009

Déterminisation 00100 : a  10000 e  (ab  b)* ba 0000 : b  00110 00100 : initial b b b b a 1 2 3 4 a b a G. Berry, Collège de France, 16/12/2009

Déterminisation 00100 : a  10000 e  (ab  b)* ba 0000 : b  00110 00100 : initial 10000 : b  b b b b a 1 2 3 4 a b a G. Berry, Collège de France, 16/12/2009

Déterminisation 00100 : a  10000 e  (ab  b)* ba 0000 : b  00110 00100 : initial 10000 : b  01000 b b b b a 1 2 3 4 a b a G. Berry, Collège de France, 16/12/2009

Déterminisation 00100 : a  10000 e  (ab  b)* ba 0000 : b  00110 00100 : initial 10000 : b  01000 00110 : a  b b b b a 1 2 3 4 a b a G. Berry, Collège de France, 16/12/2009

Déterminisation 00100 : a  10000 e  (ab  b)* ba 0000 : b  00110 00100 : initial 10000 : b  01000 00110 : a  10001 b b b b a 1 2 3 4 a b a G. Berry, Collège de France, 16/12/2009

Déterminisation 00100 : a  10000 e  (ab  b)* ba 0000 : b  00110 00100 : initial 10000 : b  01000 00110 : a  10001 00110 : b  b b b b a 1 2 3 4 a b a G. Berry, Collège de France, 16/12/2009

Déterminisation 00100 : a  10000 e  (ab  b)* ba 0000 : b  00110 00100 : initial 10000 : b  01000 00110 : a  10001 00110 : b  00110 b b b b a 1 2 3 4 a b a G. Berry, Collège de France, 16/12/2009

Déterminisation 00100 : a  10000 e  (ab  b)* ba 0000 : b  00110 00100 : initial 10000 : b  01000 00110 : a  10001 00110 : b  00110 01000 : a b b b b a 1 2 3 4 a b a G. Berry, Collège de France, 16/12/2009

Déterminisation 00100 : a  10000 e  (ab  b)* ba 0000 : b  00110 00100 : initial 10000 : b  01000 00110 : a  10001 00110 : b  00110 01000 : a  10000 b b b b a 1 2 3 4 a b a G. Berry, Collège de France, 16/12/2009

Déterminisation 00100 : a  10000 e  (ab  b)* ba 0000 : b  00110 00100 : initial 10000 : b  01000 00110 : a  10001 00110 : b  00110 01000 : a  10000 01000 : b  00110 b b b b a 1 2 3 4 a b a G. Berry, Collège de France, 16/12/2009

Déterminisation 00100 : a  10000 e  (ab  b)* ba 0000 : b  00110 00100 : initial 10000 : b  01000 00110 : a  10001 00110 : b  00110 01000 : a  10000 01000 : b  00110 b 10001 : b b b b a 1 2 3 4 a b a G. Berry, Collège de France, 16/12/2009

Déterminisation 00100 : a  10000 e  (ab  b)* ba 0000 : b  00110 00100 : initial 10000 : b  01000 00110 : a  10001 00110 : b  00110 01000 : a  10000 01000 : b  00110 b 10001 : b  01000 b b b a 1 2 3 4 a b a G. Berry, Collège de France, 16/12/2009

Déterminisation b e  (ab  b)* ba b s0 s2 s0  00100 a s1  10000 a 1 2 3 4 a b a G. Berry, Collège de France, 16/12/2009

Minimisation d’automates déterministes b s0 s3 s2 s4 a s1 s0 s1 s2 s4 a b L(s0)  L(s3) Théorème : pour tout langage rationnel L, il existe un automate déterministe minimal reconnaissant L. Idée : états = u-1(L) non vides Bonus : il existe un algorithme rapide pour minimiser un automate déterministe G. Berry, Collège de France, 16/12/2009

Faisons le point ! Un langage rationnel est engendré (ou reconnu) par une expression régulière ou par un automate fini On peut construire directement un automate déterministe à partir d’une expression régulière, mais avec explosion exponentielle possible On peut construire efficacement un automate non-déterministe de taille maximale n2 si l’expression est de taille n On peut déterminiser cet automate, mais avec explosion exponentielle possible On peut minimiser efficacement un automate déterministe (si on n’a pas explosé avant) G. Berry, Collège de France, 16/12/2009

Autres résultats Il n’y a en général pas d’automate non-déterministe minimal reconnaissant un langage rationnel On peut nettement améliorer la construction de Berry-Sethi (cf. Antimirov, Champarnaud, Razet) Antimirov Champarnaud- Ziadi Berry-Sethi G. Berry, Collège de France, 16/12/2009

Agenda Systèmes d’états finis Expressions régulières Dérivées et traduction en automates Algorithme de Berry-Sethi Déterminisation et minimisation Des automates aux circuits Booléens Suites automatiques et nombres transcendants G. Berry, Collège de France, 16/12/2009

Implémentation par circuit booléen 1 ok G. Berry, Collège de France, 16/12/2009

Implémentation en Esterel v7 module Autom : input a, b ; output ok; local {r0, r1, r2, r3} : reg; refine r0 : init true; sustain { next r0 <= (r1 or r3) and b, next r1 <= r0 and a, next r2 <= (r0 or r2) and b, next r3 <= r2 and a, ok <= next r3 } end module s0 s1 s2 s3 a b Compilé en C, C++, VHDL, Verilog, etc. G. Berry, Collège de France, 16/12/2009

Déterminisation électrique au vol ! module NonDet : input a, b ; output ok; local {r0, r1, r2, r3 , r4} : reg,; refine r2 : init true; sustain { next r0 <= (r1 or r2) and a, next r1 <= r0 and b, next r2 <= (r1 or r2) and b, next r3 <= (r1 or r2) and b, next r4 <= r3 and a ok <= next r4 } end module b a 1 2 3 4 G. Berry, Collège de France, 16/12/2009

Déterminisation électrique au vol ! module NonDet : input a, b ; output ok; local {r0, r1, r2, r3 , r4} : reg; refine r2 : init true; sustain { next r0 <= (r1 or r2) and a, next r1 <= r0 and b, next r2 <= (r1 or r2) and b, next r3 <= (r1 or r2) and b, next r4 <= r3 and a ok <= next r4 } end module 00110 : a  10001 r2  r3  1 r0  r3  r4  0 a  1, b  0 b a 1 2 3 4 G. Berry, Collège de France, 16/12/2009

Déterminisation électrique au vol ! module NonDet : input a, b ; output ok; local {r0, r1, r2, r3 , r4} : reg; refine r2 : init true; sustain { next r0 <= (r1 or r2) and a, next r1 <= r0 and b, next r2 <= (r1 or r2) and b, next r3 <= (r1 or r2) and b, next r4 <= r3 and a ok <= next r4 } end module 00110 : a  10001 r2  r3  1 r0  r3  r4  0 a  1, b  0 next r0  next r4  1 next r1  next r2  next r3  0 ok  1 b a 1 2 3 4 G. Berry, Collège de France, 16/12/2009

Résultat fondamental en pratique Toute expression régulière de taille n est reconnue par un circuit à n+1 registres et au plus n2 portes Garantit le passage à la grande échelle Presque toujours préférable à la déterminisation S’étend aux automates hiérarchiques et aux langages synchrones, cf cours 6 (13/01/2010) Prochaine question : comment optimiser le circuit ? G. Berry, Collège de France, 16/12/2009

Agenda Systèmes d’états finis Expressions régulières Dérivées et traduction en automates Algorithme de Berry-Sethi Déterminisation et minimisation Des automates aux circuits Booléens Suites automatiques et nombres transcendants G. Berry, Collège de France, 16/12/2009

Suite automatique du pliage de papier Plier un papier, toujours dans le même sens Le déplier et compter la suite des virages Jouer les décimales de n de gauche à droite g d 1 1000 : g 1001 : g 1010 : g 1011 : d 1100 : d 1101 : g 1110 : d 1111 : d 1 : g 10 : g 11 : d 100 : g 101 : g 110 : d 111 : d suite automatique G. Berry, Collège de France, 16/12/2009

Transcendance du pliage de papier Si une suite est automatique, construire le réel 0,s1s2...sn... Théorème (Van der Poorten) : ce nombre est soit rationnel soit transcendant 1000 : g 1001 : g 1010 : g 1011 : d 1100 : d 1101 : g 1110 : d 1111 : d g1, d0 1 : g 10 : g 11 : d 100 : g 101 : g 110 : d 111 : d PP  0,110110011100100... est transcendant ! cf. Allouche, Mendès-France, Rauzy, etc. G. Berry, Collège de France, 16/12/2009

Références Eléments de théorie des automates Jacques Sakarovitch Vuibert Informatique, 2003 From Regular Expressions to Deterministic Automata Gérard Berry et Ravi Sethi Theoretical Computer Science 48 (1986) 117-126. Automatic Sequences: Theory, Applications, Generalizations Jean-Paul Allouche et Jeffrey Shallit Cambridge University Press (21 juillet 2003) G. Berry, Collège de France, 16/12/2009