Théorie des langages. Automates à pile. Elise Bonzon bonzon/
|
|
- Laurence Bernard
- il y a 8 ans
- Total affichages :
Transcription
1 Automates à pile Elise Bonzon bonzon/ 1 / 62
2 Automates à pile Introduction Rappels sur les piles Automates à pile : définition Automates à pile : configurations Les critères d acceptation Automates à pile déterministes Automates à pile et langages algébriques Grammaire algébrique vers automate à pile Automate à pile vers grammaire algébrique Cloture des langages algébriques 2 / 62
3 Automates à pile Introduction Rappels sur les piles Automates à pile : définition Automates à pile : configurations Les critères d acceptation Automates à pile déterministes Automates à pile et langages algébriques Grammaire algébrique vers automate à pile Automate à pile vers grammaire algébrique Cloture des langages algébriques 3 / 62
4 Introduction Grammaires hors contexte : génèrent des langages algébriques Les automates finis acceptent (exactement) les langages réguliers Langages réguliers : sous-ensemble strict des langages algébriques Comment obtenir des automates qui acceptent les langages algébriques non réguliers? Un automate fini dispose par définition d une mémoire finie L ajout d une pile permet d étendre les possibilités de mémorisation Garder en mémoire les étapes de calculs passées Conditionner les étapes de calculs à venir c b a 4 / 62
5 Introduction Automate fini : défini principalement à partir de sa fonction de transition Automate à pile : enrichi la fonction de transition par 1. un nouvel alphabet fini qui contient les symboles qui peuvent être empilés et dépilés 2. des transitions conditionnées par le symbole en haut de la pile 3. lors d une transition dans l automate, il est possible d empiler ou de dépiler un symbole dans la pile 5 / 62
6 Automate à pile : un exemple introductif Soit l automate suivant qui reconnaît le langage {a n b m n, m > 0} a b a b Cet automate ne peut pas reconnaitre le langage {a n b m n = m > 0} : impossible de compter le nombre de a vus. Automate à pile : Empiler un symbole (T ) à chaque passage dans la boucle de l état 1 Dépiler un symbole à chaque passage dans la boucle de l état 2 Calcul réussi : pile vide 6 / 62
7 Automate à pile : un exemple introductif a a b b Trace du calcul pour w = aaabbb Entrée Etat Pile 7 / 62
8 Automate à pile : un exemple introductif a a b b Trace du calcul pour w = aaabbb Entrée Etat Pile aaabbb 0 Pile vide 7 / 62
9 Automate à pile : un exemple introductif a a b b Trace du calcul pour w = aaabbb Entrée Etat Pile aaabbb 0 Pile vide aabbb 1 Pile vide 7 / 62
10 Automate à pile : un exemple introductif a a b b Trace du calcul pour w = aaabbb Entrée Etat Pile aaabbb 0 Pile vide aabbb 1 Pile vide abbb 1 T 7 / 62
11 Automate à pile : un exemple introductif a a b b Trace du calcul pour w = aaabbb Entrée Etat Pile aaabbb 0 Pile vide aabbb 1 Pile vide abbb 1 T bbb 1 TT 7 / 62
12 Automate à pile : un exemple introductif a a b b Trace du calcul pour w = aaabbb Entrée Etat Pile aaabbb 0 Pile vide aabbb 1 Pile vide abbb 1 T bbb 1 TT bb 2 TT 7 / 62
13 Automate à pile : un exemple introductif a a b b Trace du calcul pour w = aaabbb Entrée Etat Pile aaabbb 0 Pile vide aabbb 1 Pile vide abbb 1 T bbb 1 TT bb 2 TT b 2 T 7 / 62
14 Automate à pile : un exemple introductif a a b b Trace du calcul pour w = aaabbb Entrée Etat Pile aaabbb 0 Pile vide aabbb 1 Pile vide abbb 1 T bbb 1 TT bb 2 TT b 2 T ɛ 2 Pile vide 7 / 62
15 Automate à pile De manière imagée, un automate à pile est composé de trois unités : Une unité centrale, dont la configuration est symbolisée par un état Un canal de lecture qui contient un mot à analyser Un canal de lecture-écriture qui est organisé en pile, et qui sert à contenir de l information auxiliaire, en quantité non bornée. 8 / 62
16 Automates à pile Introduction Rappels sur les piles Automates à pile : définition Automates à pile : configurations Les critères d acceptation Automates à pile déterministes Automates à pile et langages algébriques Grammaire algébrique vers automate à pile Automate à pile vers grammaire algébrique Cloture des langages algébriques 9 / 62
17 Rappels sur les piles Pile : Type P LIFO (Last In First Out) constante pilevide P empiler: E P P depiler: P \ {pilevide} P sommet: P \ {pilevide} E est vide: P IB e p. e 2 e 1 10 / 62
18 Piles et automates à pile On introduit un alphabet de pile Γ Une pile p est un mot p Γ Opérations sur les piles : Tester si la pile est vide : déterminer si p = ɛ Empiler un élément x Γ dans une pile p Γ : p xp Si la pile est non vide, elle est de la forme xp, où x Γ et p Γ. Dépiler l élément x : xp p On peut étendre ces notions à des mots. Ainsi, empiler un mot u = u 1 u 2... u l revient à empiler successivement les lettres u 1,..., u l Γ. Partant de la pile p Γ, on obtient p u 1 p u 2 u 1 p... u l... u 2 u 1 p = u R p Attention : On obtient le miroir du mot u dans la pile 11 / 62
19 Automates à pile Introduction Rappels sur les piles Automates à pile : définition Automates à pile : configurations Les critères d acceptation Automates à pile déterministes Automates à pile et langages algébriques Grammaire algébrique vers automate à pile Automate à pile vers grammaire algébrique Cloture des langages algébriques 12 / 62
20 Automate à pile Automate à pile Un automate à pile non déterministe (en anglais pushdown automaton) est un septuplet M = (Σ, Γ, Z 0, Q, q 0, F, δ), où Σ est l alphabet d entrée Γ est l alphabet de pile Z 0 Γ est le symbole initial de la pile Q est un ensemble fini d états q 0 Q est l état initial de l automate F Q est l ensemble des état finaux (on peut avoir F = ) δ est une fonction de Q (Σ {ɛ}) (Γ {ɛ}) vers l ensemble des parties de Q (Γ {ɛ}) 13 / 62
21 Automate à pile Automate à pile : automate fini non-déterministe, à la différence près que la fonction de transition δ comporte trois arguments l état courant le symbole d entrée courant le symbole courant en haut de la pile, appartenant à l alphabet de pile. Si (r, T ) δ(q, a, Y ) (on peut écrire aussi (q, a, Y, r, T ) δ ou (q, a, Y ) (r, T )), alors l utilisation de cette transition conduira à : dépiler Y Si Y = ɛ la transition a lieu indépendamment du symbole en haut de pile, qui reste inchangée empiler T Si T = ɛ, aucun symbole n est empilé lire le symbole a transiter dans l état r Automate fini traditionnel est un automate à pile particulier, défini sur un alphabet de pile vide (Γ = ) et dont toutes les transitions laissent la pile inchangée. 14 / 62
22 Automate à pile Transition (r, T ) δ(q, a, Y ) dépiler Y Si Y = ɛ la transition a lieu indépendamment du symbole en haut de pile, qui reste inchangée empiler T Si T = ɛ, aucun symbole n est empilé lire le symbole a transiter dans l état r q a,y /T r 15 / 62
23 Automate à pile : exemple Soit l automate à pile suivant qui reconnaît le langage {a n b n n > 0} a, ɛ/t b, T /ɛ a, ɛ/ɛ b, ɛ/ɛ / 62
24 Automate à pile : exemple Soit l automate à pile suivant qui reconnaît le langage {w Σ w est un palindrome} a, ɛ/t a b, ɛ/ɛ a, T a /ɛ a, ɛ/ɛ 0 1 b, ɛ/t b ɛ, ɛ/ɛ b, T b /ɛ 17 / 62
25 Automates à pile Introduction Rappels sur les piles Automates à pile : définition Automates à pile : configurations Les critères d acceptation Automates à pile déterministes Automates à pile et langages algébriques Grammaire algébrique vers automate à pile Automate à pile vers grammaire algébrique Cloture des langages algébriques 18 / 62
26 Exécution et configurations Une exécution est une suite de configurations. Pour un automate fini, une configuration est : mot restant à lire m Σ état courant q Q Exemple : (abbb, q) Pour un automate à pile, une configuration est définie par : le mot restant à lire m Σ l état courant q Q le contenu de la pile, l élément le plus à gauche étant le sommet de pile Exemple : (abbb, q, T A T B T B Z 0 ) 19 / 62
27 Configurations Configuration La pile contient, à tout moment, un mot h sur Γ. L automate se trouve dans un état q, et doit lire encore le mot m Σ Le couple (m, q, h) est appelé une configuration de l automate. L ensemble des configurations est Σ Q Γ. La configuration initiale (m, q 0, Z 0) Σ Q Γ est formée de l état initial et du symbole initial de la pile 20 / 62
28 Configurations Configuration La pile contient, à tout moment, un mot h sur Γ. L automate se trouve dans un état q, et doit lire encore le mot m Σ Le couple (m, q, h) est appelé une configuration de l automate. L ensemble des configurations est Σ Q Γ. La configuration initiale (m, q 0, Z 0) Σ Q Γ est formée de l état initial et du symbole initial de la pile Un mouvement de l automate représente le passage d une configuration à une autre. 20 / 62
29 Passage d une configuration à une autre Le passage d une configuration c 1 à une configuration c 2 dans un automate M s écrit : c 1 M c 2 On note M la clôture réflexive et transitive de M Il y a deux modes de transition pour changer de configuration : Sur une Σ-transition Sur une ɛ-transition 21 / 62
30 Σ-transition : exemple Transition (q 1, b, T A ) (q 1, T B ) Configuration (bba, q 1, T A Z 0) On aura alors : (bba, q 1, T A Z 0) M (ba, q 1, T B Z 0) 22 / 62
31 ɛ-transition : exemple Transition (q 1, ɛ, T A ) (q 2, T B ) Configuration (bba, q 1, T A Z 0) On aura alors : (bba, q 1, T A Z 0) M (bba, q 2, T B Z 0) On ne touche pas à la tête de lecture 23 / 62
32 Transitions : exemple Soit l automate à pile suivant qui reconnaît le langage {a n b n n > 0} a, ɛ/t b, T /ɛ a, ɛ/ɛ b, ɛ/ɛ (aabb, 0, Z 0 ) 24 / 62
33 Transitions : exemple Soit l automate à pile suivant qui reconnaît le langage {a n b n n > 0} a, ɛ/t b, T /ɛ a, ɛ/ɛ b, ɛ/ɛ (aabb, 0, Z 0 ) M (abb, 1, Z 0 ) 24 / 62
34 Transitions : exemple Soit l automate à pile suivant qui reconnaît le langage {a n b n n > 0} a, ɛ/t b, T /ɛ a, ɛ/ɛ b, ɛ/ɛ (aabb, 0, Z 0 ) M (abb, 1, Z 0 ) M (bb, 1, TZ 0 ) 24 / 62
35 Transitions : exemple Soit l automate à pile suivant qui reconnaît le langage {a n b n n > 0} a, ɛ/t b, T /ɛ a, ɛ/ɛ b, ɛ/ɛ (aabb, 0, Z 0 ) M (abb, 1, Z 0 ) M (bb, 1, TZ 0 ) M (b, 2, TZ 0 ) 24 / 62
36 Transitions : exemple Soit l automate à pile suivant qui reconnaît le langage {a n b n n > 0} a, ɛ/t b, T /ɛ a, ɛ/ɛ b, ɛ/ɛ (aabb, 0, Z 0 ) M (abb, 1, Z 0 ) M (bb, 1, TZ 0 ) M (b, 2, TZ 0 ) M (ɛ, 2, Z 0 ) 24 / 62
37 Transitions : exemple Soit l automate à pile suivant qui reconnaît le langage {w Σ w est un palindrome} a, ɛ/t a b, ɛ/ɛ a, T a /ɛ a, ɛ/ɛ 0 1 b, ɛ/t b ɛ, ɛ/ɛ b, T b /ɛ (baaab, 0, Z 0 ) 25 / 62
38 Transitions : exemple Soit l automate à pile suivant qui reconnaît le langage {w Σ w est un palindrome} a, ɛ/t a b, ɛ/ɛ a, T a /ɛ a, ɛ/ɛ 0 1 b, ɛ/t b ɛ, ɛ/ɛ b, T b /ɛ (baaab, 0, Z 0 ) M (aaab, 0, T b Z 0 ) 25 / 62
39 Transitions : exemple Soit l automate à pile suivant qui reconnaît le langage {w Σ w est un palindrome} a, ɛ/t a b, ɛ/ɛ a, T a /ɛ a, ɛ/ɛ 0 1 b, ɛ/t b ɛ, ɛ/ɛ b, T b /ɛ (baaab, 0, Z 0 ) M (aaab, 0, T b Z 0 ) M (aab, 0, T a T b Z 0 ) 25 / 62
40 Transitions : exemple Soit l automate à pile suivant qui reconnaît le langage {w Σ w est un palindrome} a, ɛ/t a b, ɛ/ɛ a, T a /ɛ a, ɛ/ɛ 0 1 b, ɛ/t b ɛ, ɛ/ɛ b, T b /ɛ (baaab, 0, Z 0 ) M (aaab, 0, T b Z 0 ) M (aab, 0, T a T b Z 0 ) M (ab, 1, T a T b Z 0 ) 25 / 62
41 Transitions : exemple Soit l automate à pile suivant qui reconnaît le langage {w Σ w est un palindrome} a, ɛ/t a b, ɛ/ɛ a, T a /ɛ a, ɛ/ɛ 0 1 b, ɛ/t b ɛ, ɛ/ɛ b, T b /ɛ (baaab, 0, Z 0 ) M (aaab, 0, T b Z 0 ) M (aab, 0, T a T b Z 0 ) M (ab, 1, T a T b Z 0 ) M (b, 1, T b Z 0 ) 25 / 62
42 Transitions : exemple Soit l automate à pile suivant qui reconnaît le langage {w Σ w est un palindrome} a, ɛ/t a b, ɛ/ɛ a, T a /ɛ a, ɛ/ɛ 0 1 b, ɛ/t b ɛ, ɛ/ɛ b, T b /ɛ (baaab, 0, Z 0 ) M (aaab, 0, T b Z 0 ) M (aab, 0, T a T b Z 0 ) M (ab, 1, T a T b Z 0 ) M (b, 1, T b Z 0 ) M (ɛ, 1, Z 0 ) 25 / 62
43 Automates à pile Introduction Rappels sur les piles Automates à pile : définition Automates à pile : configurations Les critères d acceptation Automates à pile déterministes Automates à pile et langages algébriques Grammaire algébrique vers automate à pile Automate à pile vers grammaire algébrique Cloture des langages algébriques 26 / 62
44 Les critères d acceptation Dans nos exemples, on accepte un mot si le ruban vide, on est sur l état final et la pile vide Ce sont des cas particuliers Il y a deux critères d acceptation possibles : Acceptation par état final (quelle que soit la pile quand on s arrête) Acceptation par pile vide (quel que soit l état dans lequel on s arrête) Mais le ruban doit toujours être vide! Ces deux critères sont équivalents 27 / 62
45 Acceptation par état final Acceptation par état final Un mot m Σ est accepté par état final par un automate à pile M = (Σ, Γ, Z 0, Q, q 0, F, δ) si pour la configuration (m, q 0, Z 0 ), il existe un état q f F et un mot z Γ tel que (m, q 0, Z 0 ) M (ɛ, q f, z) 28 / 62
46 Acceptation par état final Acceptation par état final Un mot m Σ est accepté par état final par un automate à pile M = (Σ, Γ, Z 0, Q, q 0, F, δ) si pour la configuration (m, q 0, Z 0 ), il existe un état q f F et un mot z Γ tel que (m, q 0, Z 0 ) M (ɛ, q f, z) Langage accepté par état final Le langage accepté par état final par un automate à pile est l ensemble des mots acceptés par cet automate. L F (M) = {m Σ (m, q 0, Z 0 ) M (ɛ, q f, z)} 28 / 62
47 Acceptation par état final : exemple Soit l automate à pile suivant qui reconnaît le langage {a n b n n 0} b, T /ɛ b, T /ɛ 1 a, ɛ/t 0 ɛ, Z 0 /Z 0 ɛ, Z 0 /Z 0 F 29 / 62
48 Acceptation par pile vide Acceptation par pile vide Un mot m Σ est accepté par pile vide par un automate à pile M = (Σ, Γ, Z 0, Q, q 0, F, δ) si pour la configuration (m, q 0, Z 0 ), il existe un état q Q tel que (m, q 0, Z 0 ) M (ɛ, q, ɛ) 30 / 62
49 Acceptation par pile vide Acceptation par pile vide Un mot m Σ est accepté par pile vide par un automate à pile M = (Σ, Γ, Z 0, Q, q 0, F, δ) si pour la configuration (m, q 0, Z 0 ), il existe un état q Q tel que (m, q 0, Z 0 ) M (ɛ, q, ɛ) Langage accepté par pile vide Le langage accepté par pile vide par un automate à pile est l ensemble des mots acceptés par cet automate. L V (M) = {m Σ (m, q 0, Z 0 ) M (ɛ, q, ɛ)} 30 / 62
50 Acceptation par pile vide : exemple Soit l automate à pile suivant qui reconnaît le langage {a n b n n 0} ɛ, Z 0 /ɛ b, T /ɛ b, T /ɛ 0 1 a, Z 0 /T a, T /TT 31 / 62
51 Critères d acceptation Les deux critères d acceptation (par état final et par pile vide) sont équivalents Théorème Un langage est accepté par un automate à pile avec le critère d acceptation sur pile vide si et seulement si il est accepté par un automate à pile avec acceptation par état final. 32 / 62
52 Critères d acceptation Les deux critères d acceptation (par état final et par pile vide) sont équivalents Théorème Un langage est accepté par un automate à pile avec le critère d acceptation sur pile vide si et seulement si il est accepté par un automate à pile avec acceptation par état final. Chaque transition dans laquelle Z 0 est dépilé est remplacée par une transition vers un nouvel état final Après avoir atteint un état final, on vide entièrement la pile 32 / 62
53 Automates à pile Introduction Rappels sur les piles Automates à pile : définition Automates à pile : configurations Les critères d acceptation Automates à pile déterministes Automates à pile et langages algébriques Grammaire algébrique vers automate à pile Automate à pile vers grammaire algébrique Cloture des langages algébriques 33 / 62
54 Automates déterministes Les automates à pile que nous avons défini jusqu à maintenant sont indéterministes Un mot est accepté s il existe au moins une suite de configurations qui conduit à l acceptation Mais il peut y en avoir plusieurs Et il peut il y avoir plusieurs suites de configuration qui mènent à l échec Automate à pile déterministe? 34 / 62
55 Automates déterministes Les automates à pile M est déterministe à 2 conditions : Première condition pour un état q donné pour un symbole d entrée x donné pour un sommet de pile z donné il existe au plus une transition partant de (q, x, z) Seconde condition pour un état q donné pour un sommet de pile z donné s il existe une transition partant de (q, ɛ, z), elle est unique et pour toute lettre x, il n en existe pas partant de (q, x, z). Dans une configuration donnée, on ne peut pas avoir le choix sur la transition à appliquer 35 / 62
56 Automates à pile Introduction Rappels sur les piles Automates à pile : définition Automates à pile : configurations Les critères d acceptation Automates à pile déterministes Automates à pile et langages algébriques Grammaire algébrique vers automate à pile Automate à pile vers grammaire algébrique Cloture des langages algébriques 36 / 62
57 Automates à pile et langages algébriques (hors-contextes) Théorème Un langage est algébrique si et seulement si il est reconnu par un automate à pile 37 / 62
58 Automates à pile et langages algébriques (hors-contextes) Théorème Un langage est algébrique si et seulement si il est reconnu par un automate à pile Théorème Tout langage algébrique n est pas reconnu par un automate à pile déterministe 37 / 62
59 Automates à pile et langages algébriques (hors-contextes) Langages algébriques non déterministes Langages algébriques déterministes 38 / 62
60 Langage algébrique déterministe Langage algébrique déterministe Un langage algébrique L est déterministe s il existe un automate à pile M acceptant par état final déterministe tel que L F (M) = L 39 / 62
61 Langage algébrique déterministe Langage algébrique déterministe Un langage algébrique L est déterministe s il existe un automate à pile M acceptant par état final déterministe tel que L F (M) = L Par exemple, {m (a + b) m est un palindrome} est un langage algébrique non déterministe. Intuitivement, on ne sait pas deviner où est le milieu du mot. 39 / 62
62 Langage algébrique déterministe Langage algébrique déterministe Un langage algébrique L est déterministe s il existe un automate à pile M acceptant par état final déterministe tel que L F (M) = L Par exemple, {m (a + b) m est un palindrome} est un langage algébrique non déterministe. Intuitivement, on ne sait pas deviner où est le milieu du mot. {m 1 cm 2 m 1 m 2 (a + b) est un palindrome} est un langage algébrique déterministe. 39 / 62
63 Automates à pile et grammaires algébriques Les automates à pile sont nécessaires pour reconnaître les langages algébriques Mais ils ne sont pas si faciles à concevoir Le lien entre dérivations d une grammaire et exécution d un automate à pile n est pas évident à voir? Est-il possible de dériver automatiquement un automate à pile à partir d une grammaire algébrique? 40 / 62
64 Automates à pile Introduction Rappels sur les piles Automates à pile : définition Automates à pile : configurations Les critères d acceptation Automates à pile déterministes Automates à pile et langages algébriques Grammaire algébrique vers automate à pile Automate à pile vers grammaire algébrique Cloture des langages algébriques 41 / 62
65 Rappel : Forme normale de Greibach Forme normale de Greibach Une grammaire algébrique G = V, Σ, P, S est sous la forme normale de Greibach si toute production est de la forme : avec A, A i V \ Σ, et a Σ A aa 1... A n A a 42 / 62
66 Grammaire algébrique vers automate à pile On présente un algorithme de passage d une grammaire algébrique sous forme normale de Greibach vers un automate à pile non déterministe Idée : Empiler l axiome A chaque symbole lu de la chaîne d entrée, remplacer la partie gauche de la production concernée par le reste de la partie droite 43 / 62
67 Grammaire algébrique vers automate à pile Grammaire algébrique vers automate à pile Soit L = L \ ɛ le langage engendré par G = V, Σ, P, S sous forme normale de Greibach. On construit l automate à pile M = (Σ, Γ, S, Q, q 0, F, δ) tel que Γ = V \ Σ Q = {q 0} F = (reconnaissance sur pile vide) S le symbole initial de la pile On construit δ itérativement de la façon suivante : 1. δ 2. Pour toute règle A aa 1 A 2... A n, δ δ {(q 0, a, A) (q 0, A 1 A 2... A n)} On lit a, on dépile A et on empile A 1 A 2... A n (A 1 est en sommet de la pile) 44 / 62
68 Grammaire algébrique vers automate à pile : exemple Soit G = V, Σ, P, S avec V = {a, b, S, B} Σ = {a, b} P = {S asb ab; B b} 45 / 62
69 Grammaire algébrique vers automate à pile : exemple Soit G = V, Σ, P, S avec V = {a, b, S, B} Σ = {a, b} P = {S asb ab; B b} On construit l automate M = (Σ, Γ, S, Q, q 0, F, δ) tel que Γ = {S, B} Q = {q 0}, F = δ contient (q 0, a, S) (q 0, SB) (q 0, a, S) (q 0, B) (q 0, b, B) (q 0, ɛ) 45 / 62
70 Grammaire algébrique vers automate à pile : exemple Soit G = V, Σ, P, S avec V = {a, +,, (, ), S, A, B, C}, Σ = {a, b, +,, (, )} S a S (SC S aas A + S (SCAS B S abs C ) S (SCBS 46 / 62
71 Grammaire algébrique vers automate à pile : exemple Soit G = V, Σ, P, S avec V = {a, +,, (, ), S, A, B, C}, Σ = {a, b, +,, (, )} S a S (SC S aas A + S (SCAS B S abs C ) S (SCBS On construit l automate M = (Σ, Γ, S, Q, q 0, F, δ) tel que Γ = {S, A, B, C}, Q = {q 0 }, F = et δ contient (q 0, a, S) (q 0, ɛ) (q 0, (, S) (q 0, SC) (q 0, a, S) (q 0, AS) (q 0, +, A) (q 0, ɛ) (q 0, (, S) (q 0, SCAS) (q 0,, B) (q 0, ɛ) (q 0, a, S) (q 0, BS) (q 0, ), C) (q 0, ɛ) (q 0, (, S) (q 0, SCBS) 46 / 62
72 Automates à pile Introduction Rappels sur les piles Automates à pile : définition Automates à pile : configurations Les critères d acceptation Automates à pile déterministes Automates à pile et langages algébriques Grammaire algébrique vers automate à pile Automate à pile vers grammaire algébrique Cloture des langages algébriques 47 / 62
73 Automate à pile vers grammaire algébrique On présente un algorithme de passage d un automate à pile à une grammaire algébrique A tout couple (p, q) d états de l automate, et à tout X de la pile, on associe un non terminal de la forme p, X, q On associe toutes les lectures possibles dans l automate pour obtenir la grammaire sans savoir a priori lesquelles vont vider la pile A la fin, on nettoie la grammaire obtenue 48 / 62
74 Automate à pile vers grammaire algébrique : algorithme Soit M = (Σ, Γ, Z 0, Q, q 0, F, δ). On veut construire G = V, Σ, P, S équivalente. 1. V = { q, X, p p et q Q, X Γ} {S} 2. P 3. Pour tout état q Q, P P {S q 0, Z 0, q } 4. Pour toute transition (q, a, X ) (p, ɛ) de δ faire P P { q, X, p a} 5. Pour toute transition (q, a, X ) (p, B m... B 1) de δ faire Pour tout m-uplet d états q 1,..., q m de Q faire P P { q, X, q m a p, B m, q 1 q 1, B m 1, q 2... q m 1, B 1, q m } 49 / 62
75 Automate à pile vers grammaire algébrique : exemple ɛ, Z 0 /ɛ b, T /ɛ b, T /ɛ 0 1 a, Z 0 /T a, T /TT 50 / 62
76 Automate à pile vers grammaire algébrique : exemple ɛ, Z 0 /ɛ b, T /ɛ b, T /ɛ 0 1 a, Z 0 /T a, T /TT 1. V = { q, X, p p et q Q, X Γ} {S} V = {S, q 0, Z 0, q 0, q 0, Z 0, q 1, q 1, Z 0, q 0, q 1, Z 0, q 1, q 0, T, q 0, q 0, T, q 1, q 1, T, q 0, q 1, T, q 1 } 50 / 62
77 Automate à pile vers grammaire algébrique : exemple ɛ, Z 0 /ɛ b, T /ɛ b, T /ɛ 0 1 a, Z 0 /T a, T /TT 2. P 3. Pour tout état q Q, P P {S q 0, Z 0, q } P reçoit S q 0, Z 0, q 0 S q 0, Z 0, q 1 50 / 62
78 Automate à pile vers grammaire algébrique : exemple ɛ, Z 0 /ɛ b, T /ɛ b, T /ɛ 0 1 a, Z 0 /T a, T /TT 4. Pour toute transition (q, a, X ) (p, ɛ) de δ faire P P { q, X, p a} P reçoit q 0, Z 0, q 0 ɛ q 0, T, q 1 b q 1, T, q 1 b 50 / 62
79 Automate à pile vers grammaire algébrique : exemple ɛ, Z 0 /ɛ b, T /ɛ b, T /ɛ 0 1 a, Z 0 /T a, T /TT 5. Pour toute transition (q, a, X ) (p, B m... B 1) de δ faire Pour tout m-uplet d états q 1,..., q m de Q faire P P { q, X, q m a p, B 1, q 1 q 1, B 2, q 2... q m 1, B m, q m } 50 / 62
80 Automate à pile vers grammaire algébrique : exemple ɛ, Z 0 /ɛ b, T /ɛ b, T /ɛ 0 1 a, Z 0 /T a, T /TT 5. Pour toute transition (q, a, X ) (p, B m... B 1) de δ faire Pour tout m-uplet d états q 1,..., q m de Q faire P P { q, X, q m a p, B 1, q 1 q 1, B 2, q 2... q m 1, B m, q m } q 0, Z 0, q 0 a q 0, T, q 0 q 0, Z 0, q 1 a q 0, T, q 1 50 / 62
81 Automate à pile vers grammaire algébrique : exemple ɛ, Z 0 /ɛ b, T /ɛ b, T /ɛ 0 1 a, Z 0 /T a, T /TT 5. Pour toute transition (q, a, X ) (p, B m... B 1) de δ faire Pour tout m-uplet d états q 1,..., q m de Q faire P P { q, X, q m a p, B 1, q 1 q 1, B 2, q 2... q m 1, B m, q m } q 0, T, q 0 a q 0, T, q 0 q 0, T, q 0 q 0, T, q 0 a q 0, T, q 1 q 1, T, q 0 q 0, T, q 1 a q 0, T, q 0 q 0, T, q 1 q 0, T, q 1 a q 0, T, q 1 q 1, T, q 1 50 / 62
82 Automate à pile vers grammaire algébrique : exemple On récapitule : V = {S, q 0, Z 0, q 0, q 0, Z 0, q 1, q 1, Z 0, q 0, q 1, Z 0, q 1, q 0, T, q 0, q 0, T, q 1, q 1, T, q 0, q 1, T, q 1 } S q 0, Z 0, q 0 S q 0, Z 0, q 1 q 0, Z 0, q 0 ɛ q 0, T, q 1 b q 1, T, q 1 b q 0, Z 0, q 0 a q 0, T, q 0 q 0, Z 0, q 1 a q 0, T, q 1 q 0, T, q 0 a q 0, T, q 0 q 0, T, q 0 q 0, T, q 0 a q 0, T, q 1 q 1, T, q 0 q 0, T, q 1 a q 0, T, q 0 q 0, T, q 1 q 0, T, q 1 a q 0, T, q 1 q 1, T, q 1 51 / 62
83 On renomme : Automates à pile Automate à pile vers grammaire algébrique : exemple V = {S, q 0, Z 0, q 0, q 0, Z 0, q 1, q 1, Z 0, q 0, q 1, Z 0, q 1, q 0, T, q 0, q 0, T, q 1, q 1, T, q 0, q 1, T, q 1 } S q 0, Z 0, q 0 S q 0, Z 0, q 1 q 0, Z 0, q 0 ɛ q 0, T, q 1 b q 1, T, q 1 b q 0, Z 0, q 0 a q 0, T, q 0 q 0, Z 0, q 1 a q 0, T, q 1 q 0, T, q 0 a q 0, T, q 0 q 0, T, q 0 q 0, T, q 0 a q 0, T, q 1 q 1, T, q 0 q 0, T, q 1 a q 0, T, q 0 q 0, T, q 1 q 0, T, q 1 a q 0, T, q 1 q 1, T, q 1 52 / 62
84 On renomme : Automates à pile Automate à pile vers grammaire algébrique : exemple V = {S, A, q 0, Z 0, q 1, q 1, Z 0, q 0, q 1, Z 0, q 1, q 0, T, q 0, q 0, T, q 1, q 1, T, q 0, q 1, T, q 1 } S A S q 0, Z 0, q 1 A ɛ q 0, T, q 1 b q 1, T, q 1 b A a q 0, T, q 0 q 0, Z 0, q 1 a q 0, T, q 1 q 0, T, q 0 a q 0, T, q 0 q 0, T, q 0 q 0, T, q 0 a q 0, T, q 1 q 1, T, q 0 q 0, T, q 1 a q 0, T, q 0 q 0, T, q 1 q 0, T, q 1 a q 0, T, q 1 q 1, T, q 1 52 / 62
85 On renomme : Automates à pile Automate à pile vers grammaire algébrique : exemple V = {S, A, B, C, D, E, F, G, H} S A B af S B E aee A ɛ E afg F b F aef H b F afh A ae 52 / 62
86 Automate à pile vers grammaire algébrique : exemple On nettoie : V = {S, A, B, C, D, E, F, G, H} S A B af S B E aee A ɛ E afg F b F aef H b F afh A ae 53 / 62
87 Automate à pile vers grammaire algébrique : exemple On nettoie : V = {S, A, B, C, D, E, F, G, H} S A B af S B E aee A ɛ E afg F b F aef H b F afh A ae Symboles productifs : {A, F, H, S, B} 53 / 62
88 Automate à pile vers grammaire algébrique : exemple On nettoie : V = {S, A, B, C, D, E, F, G, H} S A B af S B E aee A ɛ E afg F b F aef H b F afh A ae Symboles productifs : {A, F, H, S, B} On supprime C, D, E, G 53 / 62
89 Automate à pile vers grammaire algébrique : exemple On nettoie : V = {S, A, B, F, H} S A B af S B A ɛ F b H b F afh Symboles productifs : {A, F, H, S, B} On supprime C, D, E, G 53 / 62
90 Automate à pile vers grammaire algébrique : exemple On nettoie : V = {S, A, B, F, H} S A B af S B F b A ɛ F afh H b Symboles productifs : {A, F, H, S, B} On supprime C, D, E, G Symboles accessibles : {S, A, B, F, H} 53 / 62
91 Automate à pile vers grammaire algébrique : exemple On nettoie : V = {S, A, B, F, H} S A B af S B F b A ɛ F afh H b Symboles productifs : {A, F, H, S, B} On supprime C, D, E, G Symboles accessibles : {S, A, B, F, H} Suppression des règles unitaires 53 / 62
92 Automate à pile vers grammaire algébrique : exemple On nettoie : V = {S, A, B, F, H} S ɛ S af F b F afb Symboles productifs : {A, F, H, S, B} On supprime C, D, E, G Symboles accessibles : {S, A, B, F, H} Suppression des règles unitaires 53 / 62
93 Automate à pile vers grammaire algébrique : exemple ɛ, Z 0 /ɛ b, T /ɛ b, T /ɛ 0 1 a, Z 0 /T a, T /TT On obtient : S ɛ S af F b F afb 54 / 62
94 Automates à pile Introduction Rappels sur les piles Automates à pile : définition Automates à pile : configurations Les critères d acceptation Automates à pile déterministes Automates à pile et langages algébriques Grammaire algébrique vers automate à pile Automate à pile vers grammaire algébrique Cloture des langages algébriques 55 / 62
95 Clôture par union Clôture par union Soient L 1 et L 2 deux langages algébriques. Alors L 1 L 2 est un langage algébrique. 56 / 62
96 Clôture par union Clôture par union Soient L 1 et L 2 deux langages algébriques. Alors L 1 L 2 est un langage algébrique. Preuve par construction : Soient G 1 = V 1, Σ 1, P 1, S 1 et G 1 = V 2, Σ 2, P 2, S 2 engendrant L 1 et L 2 et tels que (V 1 \ Σ 1) (V 2 \ Σ 2) = et S V 1 V 2 (et sinon on renomme) On construit G = V, Σ, P, S telle que : V = V 1 V 2 {S} Σ = Σ 1 Σ 2 P = P 1 P 2 {S S 1 S 2 } 56 / 62
97 Clôture par concaténation Clôture par concaténation Soient L 1 et L 2 deux langages algébriques. Alors L 1.L 2 est un langage algébrique. 57 / 62
98 Clôture par concaténation Clôture par concaténation Soient L 1 et L 2 deux langages algébriques. Alors L 1.L 2 est un langage algébrique. Preuve par construction : Soient G 1 = V 1, Σ 1, P 1, S 1 et G 1 = V 2, Σ 2, P 2, S 2 engendrant L 1 et L 2 et tels que (V 1 \ Σ 1) (V 2 \ Σ 2) = et S V 1 V 2 (et sinon on renomme) On construit G = V, Σ, P, S telle que : V = V 1 V 2 {S} Σ = Σ 1 Σ 2 P = P 1 P 2 {S S 1 S 2 } 57 / 62
99 Clôture par opération étoile Clôture par opération étoile Soit L un langage algébrique. Alors L est un langage algébrique. 58 / 62
100 Clôture par opération étoile Clôture par opération étoile Soit L un langage algébrique. Alors L est un langage algébrique. Preuve par construction : Soit G 1 = V 1, Σ 1, P 1, S 1 engendrant le langage L On construit G = V, Σ, P, S engendrant le langage L telle que : V = V 1 {S} Σ = Σ 1 P = P 1 {S ɛ S 1 S} 58 / 62
101 Exemple Peut-on trouver une grammaire algébrique pour L = {a i b j c k i = j ou j = k}? L se décompose en l union de L 1 = {a i b j c k i = j, k 0} L 2 = {a i b j c k i 0, j = k} L 1 = {a i b j c k i = j, k 0} est la concaténation de {a i b j i = j} et {c k k 0} L 2 = {a i b j c k i 0, j = k} est la concaténation de {a i i 0} et {b j c k j = k} 59 / 62
102 Exemple Peut-on trouver une grammaire algébrique pour L = {a i b j c k i = j ou j = k}? L se décompose en l union de L 1 = {a i b j c k i = j, k 0} L 2 = {a i b j c k i 0, j = k} L 1 = {a i b j c k i = j, k 0} est la concaténation de {a i b j i = j} et {c k k 0} L 2 = {a i b j c k i 0, j = k} est la concaténation de {a i i 0} et {b j c k j = k} 59 / 62
103 Exemple Peut-on trouver une grammaire algébrique pour L = {a i b j c k i = j ou j = k}? L se décompose en l union de L 1 = {a i b j c k i = j, k 0} L 2 = {a i b j c k i 0, j = k} L 1 = {a i b j c k i = j, k 0} est la concaténation de {a i b j i = j} et {c k k 0} L 2 = {a i b j c k i 0, j = k} est la concaténation de {a i i 0} et {b j c k j = k} 59 / 62
104 Exemple Peut-on trouver une grammaire algébrique pour L = {a i b j c k i = j ou j = k}? L se décompose en l union de L 1 = {a i b j c k i = j, k 0} L 2 = {a i b j c k i 0, j = k} L 1 = {a i b j c k i = j, k 0} est la concaténation de {a i b j i = j} et {c k k 0} L 2 = {a i b j c k i 0, j = k} est la concaténation de {a i i 0} et {b j c k j = k} 59 / 62
105 Exemple, suite {a i b j i = j} S 1 ɛ as 1 b {c k k 0} S 2 ɛ cs 2 L 1 = {a i b j c k i = j, k 0} S 1 ɛ as 1 b S 2 ɛ cs 2 S L1 S 1 S 2 L 2 = {a i b j c k i 0, j = k} S 3 ɛ as 3 S 4 ɛ bs 4 c S L2 S 3 S 4 60 / 62
106 Exemple, suite {a i b j i = j} S 1 ɛ as 1 b {c k k 0} S 2 ɛ cs 2 L 1 = {a i b j c k i = j, k 0} S 1 ɛ as 1 b S 2 ɛ cs 2 S L1 S 1 S 2 L 2 = {a i b j c k i 0, j = k} S 3 ɛ as 3 S 4 ɛ bs 4 c S L2 S 3 S 4 60 / 62
107 Exemple, suite {a i b j i = j} S 1 ɛ as 1 b {c k k 0} S 2 ɛ cs 2 L 1 = {a i b j c k i = j, k 0} S 1 ɛ as 1 b S 2 ɛ cs 2 S L1 S 1 S 2 L 2 = {a i b j c k i 0, j = k} S 3 ɛ as 3 S 4 ɛ bs 4 c S L2 S 3 S 4 60 / 62
108 Exemple, suite {a i b j i = j} S 1 ɛ as 1 b {c k k 0} S 2 ɛ cs 2 L 1 = {a i b j c k i = j, k 0} S 1 ɛ as 1 b S 2 ɛ cs 2 S L1 S 1 S 2 L 2 = {a i b j c k i 0, j = k} S 3 ɛ as 3 S 4 ɛ bs 4 c S L2 S 3 S 4 60 / 62
109 Exemple, suite L = {a i b j c k i = j ou j = k} G = V, Σ, S, P V = {S 1, S 2, S 3, S 4, S L1, S L2, S} Σ = {a, b, c} P : S 1 ɛ as 1b S 2 ɛ cs 2 S L1 S 1S 2 S 3 ɛ as 3 S 4 ɛ bs 4c S L2 S 3S 4 S S L1 S L2 61 / 62
110 Exemple, suite L = {a i b j c k i = j ou j = k} G = V, Σ, S, P V = {S 1, S 2, S 3, S 4, S L1, S L2, S} Σ = {a, b, c} P : S 1 ɛ as 1b S 2 ɛ cs 2 S L1 S 1S 2 S 3 ɛ as 3 S 4 ɛ bs 4c S L2 S 3S 4 S S L1 S L2 61 / 62
111 Exemple, suite L = {a i b j c k i = j ou j = k} G = V, Σ, S, P V = {S 1, S 2, S 3, S 4, S L1, S L2, S} Σ = {a, b, c} P : S 1 ɛ as 1b S 2 ɛ cs 2 S L1 S 1S 2 S 3 ɛ as 3 S 4 ɛ bs 4c S L2 S 3S 4 S S L1 S L2 61 / 62
112 Exemple, suite L = {a i b j c k i = j ou j = k} G = V, Σ, S, P V = {S 1, S 2, S 3, S 4, S L1, S L2, S} Σ = {a, b, c} P : S 1 ɛ as 1b S 2 ɛ cs 2 S L1 S 1S 2 S 3 ɛ as 3 S 4 ɛ bs 4c S L2 S 3S 4 S S L1 S L2 61 / 62
113 Exemple, suite L = {a i b j c k i = j ou j = k} G = V, Σ, S, P V = {S 1, S 2, S 3, S 4, S L1, S L2, S} Σ = {a, b, c} P : S 1 ɛ as 1b S 2 ɛ cs 2 S L1 S 1S 2 S 3 ɛ as 3 S 4 ɛ bs 4c S L2 S 3S 4 S S L1 S L2 61 / 62
114 Clôture par intersection et complémentation Clôture par intersection La classe des langages algébriques n est pas close par intersection 62 / 62
115 Clôture par intersection et complémentation Clôture par intersection La classe des langages algébriques n est pas close par intersection Clôture par complémentation La classe des langages algébriques n est pas close par complémentation 62 / 62
Théorie des Langages
Théorie des Langages Analyse syntaxique descendante Claude Moulin Université de Technologie de Compiègne Printemps 2010 Sommaire 1 Principe 2 Premiers 3 Suivants 4 Analyse 5 Grammaire LL(1) Exemple : Grammaire
Plus en détailChap 4: Analyse syntaxique. Prof. M.D. RAHMANI Compilation SMI- S5 2013/14 1
Chap 4: Analyse syntaxique 1 III- L'analyse syntaxique: 1- Le rôle d'un analyseur syntaxique 2- Grammaires non contextuelles 3- Ecriture d'une grammaire 4- Les méthodes d'analyse 5- L'analyse LL(1) 6-
Plus en détailINF 232: Langages et Automates. Travaux Dirigés. Université Joseph Fourier, Université Grenoble 1 Licence Sciences et Technologies
INF 232: Langages et Automates Travaux Dirigés Université Joseph Fourier, Université Grenoble 1 Licence Sciences et Technologies Année Académique 2013-2014 Année Académique 2013-2014 UNIVERSITÉ JOSEPH
Plus en détailCH.6 Propriétés des langages non contextuels
CH.6 Propriétés des langages non contetuels 6.1 Le lemme de pompage 6.2 Les propriétés de fermeture 6.3 Les problèmes de décidabilité 6.4 Les langages non contetuels déterministes utomates ch6 1 6.1 Le
Plus en détailTP n 2 Concepts de la programmation Objets Master 1 mention IL, semestre 2 Le type Abstrait Pile
TP n 2 Concepts de la programmation Objets Master 1 mention IL, semestre 2 Le type Abstrait Pile Dans ce TP, vous apprendrez à définir le type abstrait Pile, à le programmer en Java à l aide d une interface
Plus en détailRappels sur les suites - Algorithme
DERNIÈRE IMPRESSION LE 14 septembre 2015 à 12:36 Rappels sur les suites - Algorithme Table des matières 1 Suite : généralités 2 1.1 Déition................................. 2 1.2 Exemples de suites............................
Plus en détailLa NP-complétude. Johanne Cohen. PRISM/CNRS, Versailles, France.
La NP-complétude Johanne Cohen PRISM/CNRS, Versailles, France. Références 1. Algorithm Design, Jon Kleinberg, Eva Tardos, Addison-Wesley, 2006. 2. Computers and Intractability : A Guide to the Theory of
Plus en détailDéfinitions. Numéro à préciser. (Durée : )
Numéro à préciser (Durée : ) On étudie dans ce problème l ordre lexicographique pour les mots sur un alphabet fini et plusieurs constructions des cycles de De Bruijn. Les trois parties sont largement indépendantes.
Plus en détailReprésentation d un entier en base b
Représentation d un entier en base b 13 octobre 2012 1 Prérequis Les bases de la programmation en langage sont supposées avoir été travaillées L écriture en base b d un entier est ainsi défini à partir
Plus en détailManuel d utilisation 26 juin 2011. 1 Tâche à effectuer : écrire un algorithme 2
éducalgo Manuel d utilisation 26 juin 2011 Table des matières 1 Tâche à effectuer : écrire un algorithme 2 2 Comment écrire un algorithme? 3 2.1 Avec quoi écrit-on? Avec les boutons d écriture........
Plus en détailCours 1 : Qu est-ce que la programmation?
1/65 Introduction à la programmation Cours 1 : Qu est-ce que la programmation? Yann Régis-Gianas yrg@pps.univ-paris-diderot.fr Université Paris Diderot Paris 7 2/65 1. Sortez un appareil qui peut se rendre
Plus en détailCalculs de probabilités
Calculs de probabilités Mathématiques Générales B Université de Genève Sylvain Sardy 13 mars 2008 1. Définitions et notations 1 L origine des probabilités est l analyse de jeux de hasard, tels que pile
Plus en détailBien lire l énoncé 2 fois avant de continuer - Méthodes et/ou Explications Réponses. Antécédents d un nombre par une fonction
Antécédents d un nombre par une fonction 1) Par lecture graphique Méthode / Explications : Pour déterminer le ou les antécédents d un nombre a donné, on trace la droite (d) d équation. On lit les abscisses
Plus en détailContinuité et dérivabilité d une fonction
DERNIÈRE IMPRESSIN LE 7 novembre 014 à 10:3 Continuité et dérivabilité d une fonction Table des matières 1 Continuité d une fonction 1.1 Limite finie en un point.......................... 1. Continuité
Plus en détailCours Fonctions de deux variables
Cours Fonctions de deux variables par Pierre Veuillez 1 Support théorique 1.1 Représentation Plan et espace : Grâce à un repère cartésien ( ) O, i, j du plan, les couples (x, y) de R 2 peuvent être représenté
Plus en détailAlgorithme. Table des matières
1 Algorithme Table des matières 1 Codage 2 1.1 Système binaire.............................. 2 1.2 La numérotation de position en base décimale............ 2 1.3 La numérotation de position en base binaire..............
Plus en détailRésolution de systèmes linéaires par des méthodes directes
Résolution de systèmes linéaires par des méthodes directes J. Erhel Janvier 2014 1 Inverse d une matrice carrée et systèmes linéaires Ce paragraphe a pour objet les matrices carrées et les systèmes linéaires.
Plus en détailInitiation à la Programmation en Logique avec SISCtus Prolog
Initiation à la Programmation en Logique avec SISCtus Prolog Identificateurs Ils sont représentés par une suite de caractères alphanumériques commençant par une lettre minuscule (les lettres accentuées
Plus en détailLE PROCESSUS ( la machine) la fonction f. ( On lit : «fonction f qui à x associe f (x)» )
SYNTHESE ( THEME ) FONCTIONS () : NOTIONS de FONCTIONS FONCTION LINEAIRE () : REPRESENTATIONS GRAPHIQUES * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
Plus en détailInformatique Théorique : Théorie des Langages, Analyse Lexicale, Analyse Syntaxique Jean-Pierre Jouannaud Professeur
Université Paris-Sud Licence d Informatique Informatique Théorique : Théorie des Langages, Analyse Lexicale, Analyse Syntaxique Jean-Pierre Jouannaud Professeur Adresse de l auteur : LIX École Polytechnique
Plus en détailArchitecture des ordinateurs TD1 - Portes logiques et premiers circuits
Architecture des ordinateurs TD1 - Portes logiques et premiers circuits 1 Rappel : un peu de logique Exercice 1.1 Remplir la table de vérité suivante : a b a + b ab a + b ab a b 0 0 0 1 1 0 1 1 Exercice
Plus en détailChapitre 5 : Flot maximal dans un graphe
Graphes et RO TELECOM Nancy A Chapitre 5 : Flot maximal dans un graphe J.-F. Scheid 1 Plan du chapitre I. Définitions 1 Graphe Graphe valué 3 Représentation d un graphe (matrice d incidence, matrice d
Plus en détailProgrammation linéaire
1 Programmation linéaire 1. Le problème, un exemple. 2. Le cas b = 0 3. Théorème de dualité 4. L algorithme du simplexe 5. Problèmes équivalents 6. Complexité de l Algorithme 2 Position du problème Soit
Plus en détailLimites finies en un point
8 Limites finies en un point Pour ce chapitre, sauf précision contraire, I désigne une partie non vide de R et f une fonction définie sur I et à valeurs réelles ou complees. Là encore, les fonctions usuelles,
Plus en détailRésolution d équations non linéaires
Analyse Numérique Résolution d équations non linéaires Said EL HAJJI et Touria GHEMIRES Université Mohammed V - Agdal. Faculté des Sciences Département de Mathématiques. Laboratoire de Mathématiques, Informatique
Plus en détailArchitecture des ordinateurs
Architecture des ordinateurs Cours 4 5 novembre 2012 Archi 1/22 Micro-architecture Archi 2/22 Intro Comment assembler les différents circuits vus dans les cours précédents pour fabriquer un processeur?
Plus en détailProblèmes de Mathématiques Filtres et ultrafiltres
Énoncé Soit E un ensemble non vide. On dit qu un sous-ensemble F de P(E) est un filtre sur E si (P 0 ) F. (P 1 ) (X, Y ) F 2, X Y F. (P 2 ) X F, Y P(E) : X Y Y F. (P 3 ) / F. Première Partie 1. Que dire
Plus en détailGénie Logiciel avec Ada. 4 février 2013
Génie Logiciel 4 février 2013 Plan I. Généralités II. Structures linéaires III. Exceptions IV. Structures arborescentes V. Dictionnaires I. Principes II. Notions propres à la POO I. Principes Chapitre
Plus en détailUniversité Paris-Dauphine DUMI2E 1ère année, 2009-2010. Applications
Université Paris-Dauphine DUMI2E 1ère année, 2009-2010 Applications 1 Introduction Une fonction f (plus précisément, une fonction réelle d une variable réelle) est une règle qui associe à tout réel x au
Plus en détailReprésentation géométrique d un nombre complexe
CHAPITRE 1 NOMBRES COMPLEXES 1 Représentation géométrique d un nombre complexe 1. Ensemble des nombres complexes Soit i le nombre tel que i = 1 L ensemble des nombres complexes est l ensemble des nombres
Plus en détailCorrection TD algorithmique
Affectation Correction TD algorithmique Exercice 1 algo affect1b b 5 a b+1 b 2 Il vaut faire passer la notion de variable et la notion de stockage mémoire. Une variable n a donc pas d historique et à un
Plus en détailActivités numériques [13 Points]
N du candidat L emploi de la calculatrice est autorisé. Le soin, la qualité de la présentation entrent pour 2 points dans l appréciation des copies. Les résultats seront soulignés. La correction est disponible
Plus en détailExercices - Polynômes : corrigé. Opérations sur les polynômes
Opérations sur les polynômes Exercice 1 - Carré - L1/Math Sup - Si P = Q est le carré d un polynôme, alors Q est nécessairement de degré, et son coefficient dominant est égal à 1. On peut donc écrire Q(X)
Plus en détailArithmétique binaire. Chapitre. 5.1 Notions. 5.1.1 Bit. 5.1.2 Mot
Chapitre 5 Arithmétique binaire L es codes sont manipulés au quotidien sans qu on s en rende compte, et leur compréhension est quasi instinctive. Le seul fait de lire fait appel au codage alphabétique,
Plus en détailLa fonction exponentielle
DERNIÈRE IMPRESSION LE 2 novembre 204 à :07 La fonction exponentielle Table des matières La fonction exponentielle 2. Définition et théorèmes.......................... 2.2 Approche graphique de la fonction
Plus en détailAlgorithmes récursifs
Licence 1 MASS - Algorithmique et Calcul Formel S. Verel, M.-E. Voge www.i3s.unice.fr/ verel 23 mars 2007 Objectifs de la séance 3 écrire des algorithmes récursifs avec un seul test rechercher un élément
Plus en détailCalcul 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.
1 Définitions, notations 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. On utilise aussi la notation m n pour le
Plus en détailDéroulement. Evaluation. Préambule. Définition. Définition. Algorithmes et structures de données 28/09/2009
Déroulement Algorithmes et structures de données Cours 1 et 2 Patrick Reuter http://www.labri.fr/~preuter/asd2009 CM mercredi de 8h00 à 9h00 (Amphi Bât. E, 3 ème étage) ED - Groupe 3 : mercredi, 10h30
Plus en détailProjet d informatique M1BI : Compression et décompression de texte. 1 Généralités sur la compression/décompression de texte
Projet d informatique M1BI : Compression et décompression de texte Le but de ce projet est de coder un programme réalisant de la compression et décompression de texte. On se proposera de coder deux algorithmes
Plus en détail1/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)
1/4 Objectif de ce cours /4 Objectifs de ce cours Introduction au langage C - Cours Girardot/Roelens Septembre 013 Du problème au programme I passer d un problème exprimé en français à la réalisation d
Plus en détailLes algorithmes de base du graphisme
Les algorithmes de base du graphisme Table des matières 1 Traçage 2 1.1 Segments de droites......................... 2 1.1.1 Algorithmes simples.................... 3 1.1.2 Algorithmes de Bresenham (1965).............
Plus en détailExercices types Algorithmique et simulation numérique Oral Mathématiques et algorithmique Banque PT
Exercices types Algorithmique et simulation numérique Oral Mathématiques et algorithmique Banque PT Ces exercices portent sur les items 2, 3 et 5 du programme d informatique des classes préparatoires,
Plus en détailDe 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
Introduction. On suppose connus les ensembles N (des entiers naturels), Z des entiers relatifs et Q (des nombres rationnels). On s est rendu compte, depuis l antiquité, que l on ne peut pas tout mesurer
Plus en détailSouad EL Bernoussi. Groupe d Analyse Numérique et Optimisation Rabat http ://www.fsr.ac.ma/ano/
Recherche opérationnelle Les démonstrations et les exemples seront traités en cours Souad EL Bernoussi Groupe d Analyse Numérique et Optimisation Rabat http ://www.fsr.ac.ma/ano/ Table des matières 1 Programmation
Plus en détailInitiation à LabView : Les exemples d applications :
Initiation à LabView : Les exemples d applications : c) Type de variables : Créer un programme : Exemple 1 : Calcul de c= 2(a+b)(a-3b) ou a, b et c seront des réels. «Exemple1» nom du programme : «Exemple
Plus en détail2.4 Représentation graphique, tableau de Karnaugh
2 Fonctions binaires 45 2.4 Représentation graphique, tableau de Karnaugh On peut définir complètement une fonction binaire en dressant son tableau de Karnaugh, table de vérité à 2 n cases pour n variables
Plus en détailIntroduction à l étude des Corps Finis
Introduction à l étude des Corps Finis Robert Rolland (Résumé) 1 Introduction La structure de corps fini intervient dans divers domaines des mathématiques, en particulier dans la théorie de Galois sur
Plus en détailAlgèbre binaire et Circuits logiques (2007-2008)
Université Mohammed V Faculté des Sciences Département de Mathématiques et Informatique Filière : SMI Algèbre binaire et Circuits logiques (27-28) Prof. Abdelhakim El Imrani Plan. Algèbre de Boole 2. Circuits
Plus en détailIntroduction à la théorie des graphes. Solutions des exercices
CAHIERS DE LA CRM Introduction à la théorie des graphes Solutions des exercices Didier Müller CAHIER N O 6 COMMISSION ROMANDE DE MATHÉMATIQUE 1 Graphes non orientés Exercice 1 On obtient le graphe biparti
Plus en détailCours d Analyse. Fonctions de plusieurs variables
Cours d Analyse Fonctions de plusieurs variables Licence 1ère année 2007/2008 Nicolas Prioux Université de Marne-la-Vallée Table des matières 1 Notions de géométrie dans l espace et fonctions à deux variables........
Plus en détaila et b étant deux nombres relatifs donnés, une fonction affine est une fonction qui a un nombre x associe le nombre ax + b
I Définition d une fonction affine Faire l activité 1 «une nouvelle fonction» 1. définition générale a et b étant deux nombres relatifs donnés, une fonction affine est une fonction qui a un nombre x associe
Plus en détailUtilisation des tableaux sémantiques dans les logiques de description
Utilisation des tableaux sémantiques dans les logiques de description IFT6281 Web Sémantique Jacques Bergeron Département d informatique et de recherche opérationnelle Université de Montréal bergerja@iro.umontreal.ca
Plus en détailAlgorithmique et Programmation Fonctionnelle
Algorithmique et Programmation Fonctionnelle RICM3 Cours 9 : Lambda-calcul Benjamin Wack Polytech 2014-2015 1 / 35 La dernière fois Typage Polymorphisme Inférence de type 2 / 35 Plan Contexte λ-termes
Plus en détailIntroduction à MATLAB R
Introduction à MATLAB R Romain Tavenard 10 septembre 2009 MATLAB R est un environnement de calcul numérique propriétaire orienté vers le calcul matriciel. Il se compose d un langage de programmation, d
Plus en détailModel checking temporisé
Model checking temporisé Béatrice Bérard LAMSADE Université Paris-Dauphine & CNRS berard@lamsade.dauphine.fr ETR 07, 5 septembre 2007 1/44 Nécessité de vérifier des systèmes... 2/44 Nécessité de vérifier
Plus en détailAC 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 =
LE NOMBRE D OR Présentation et calcul du nombre d or Euclide avait trouvé un moyen de partager en deu un segment selon en «etrême et moyenne raison» Soit un segment [AB]. Le partage d Euclide consiste
Plus en détailVision industrielle et télédétection - Détection d ellipses. Guillaume Martinez 17 décembre 2007
Vision industrielle et télédétection - Détection d ellipses Guillaume Martinez 17 décembre 2007 1 Table des matières 1 Le projet 3 1.1 Objectif................................ 3 1.2 Les choix techniques.........................
Plus en détailTSTI 2D CH X : Exemples de lois à densité 1
TSTI 2D CH X : Exemples de lois à densité I Loi uniforme sur ab ; ) Introduction Dans cette activité, on s intéresse à la modélisation du tirage au hasard d un nombre réel de l intervalle [0 ;], chacun
Plus en détail1 Recherche en table par balayage
1 Recherche en table par balayage 1.1 Problème de la recherche en table Une table désigne une liste ou un tableau d éléments. Le problème de la recherche en table est celui de la recherche d un élément
Plus en détailUEO11 COURS/TD 1. nombres entiers et réels codés en mémoire centrale. Caractères alphabétiques et caractères spéciaux.
UEO11 COURS/TD 1 Contenu du semestre Cours et TDs sont intégrés L objectif de ce cours équivalent a 6h de cours, 10h de TD et 8h de TP est le suivant : - initiation à l algorithmique - notions de bases
Plus en détailCompter à Babylone. L écriture des nombres
Compter à Babylone d après l article de Christine Proust «Le calcul sexagésimal en Mésopotamie : enseignement dans les écoles de scribes» disponible sur http://www.dma.ens.fr/culturemath/ Les mathématiciens
Plus en détailt 100. = 8 ; le pourcentage de réduction est : 8 % 1 t Le pourcentage d'évolution (appelé aussi taux d'évolution) est le nombre :
Terminale STSS 2 012 2 013 Pourcentages Synthèse 1) Définition : Calculer t % d'un nombre, c'est multiplier ce nombre par t 100. 2) Exemples de calcul : a) Calcul d un pourcentage : Un article coûtant
Plus en détailchapitre 4 Nombres de Catalan
chapitre 4 Nombres de Catalan I Dénitions Dénition 1 La suite de Catalan (C n ) n est la suite dénie par C 0 = 1 et, pour tout n N, C n+1 = C k C n k. Exemple 2 On trouve rapidement C 0 = 1, C 1 = 1, C
Plus en détailTS 35 Numériser. Activité introductive - Exercice et démarche expérimentale en fin d activité Notions et contenus du programme de Terminale S
FICHE Fiche à destination des enseignants TS 35 Numériser Type d'activité Activité introductive - Exercice et démarche expérimentale en fin d activité Notions et contenus du programme de Terminale S Compétences
Plus en détailDécision Markovienne appliquée à un jeu de stop ou encore : Pickomino (Heckmeck Am Bratwurmeck)
Décision Markovienne appliquée à un jeu de stop ou encore : Pickomino (Heckmeck Am Bratwurmeck) Stéphane Cardon Nathalie Chetcuti-Sperandio Fabien Delorme Sylvain agrue CRI - Université d Artois {cardon,chetcuti,delorme,lagrue}@cril.univ-artois.fr
Plus en détailLogique. Plan du chapitre
Logique Ce chapitre est assez abstrait en première lecture, mais est (avec le chapitre suivant «Ensembles») probablement le plus important de l année car il est à la base de tous les raisonnements usuels
Plus en détailVers l'ordinateur quantique
Cours A&G Vers l'ordinateur quantique Données innies On a vu dans les chapîtres précédents qu'un automate permet de représenter de manière nie (et même compacte) une innité de données. En eet, un automate
Plus en détailProbabilité. Table des matières. 1 Loi de probabilité 2 1.1 Conditions préalables... 2 1.2 Définitions... 2 1.3 Loi équirépartie...
1 Probabilité Table des matières 1 Loi de probabilité 2 1.1 Conditions préalables........................... 2 1.2 Définitions................................. 2 1.3 Loi équirépartie..............................
Plus en détailSTATIQUE GRAPHIQUE ET STATIQUE ANALYTIQUE
ÉCOLE D'INGÉNIEURS DE FRIBOURG (E.I.F.) SECTION DE MÉCANIQUE G.R. Nicolet, revu en 2006 STATIQUE GRAPHIQUE ET STATIQUE ANALYTIQUE Eléments de calcul vectoriel Opérations avec les forces Equilibre du point
Plus en détailBaccalauréat S Antilles-Guyane 11 septembre 2014 Corrigé
Baccalauréat S ntilles-guyane 11 septembre 14 Corrigé EXERCICE 1 6 points Commun à tous les candidats Une entreprise de jouets en peluche souhaite commercialiser un nouveau produit et à cette fin, effectue
Plus en détailCryptographie et fonctions à sens unique
Cryptographie et fonctions à sens unique Pierre Rouchon Centre Automatique et Systèmes Mines ParisTech pierre.rouchon@mines-paristech.fr Octobre 2012 P.Rouchon (Mines ParisTech) Cryptographie et fonctions
Plus en détailImage d un intervalle par une fonction continue
DOCUMENT 27 Image d un intervalle par une fonction continue La continuité d une fonction en un point est une propriété locale : une fonction est continue en un point x 0 si et seulement si sa restriction
Plus en détailFondements de l informatique Logique, modèles, et calculs
Fondements de l informatique Logique, modèles, et calculs Cours INF423 de l Ecole Polytechnique Olivier Bournez Version du 20 septembre 2013 2 Table des matières 1 Introduction 9 1.1 Concepts mathématiques........................
Plus en détailFonctions linéaires et affines. 1 Fonctions linéaires. 1.1 Vocabulaire. 1.2 Représentation graphique. 3eme
Fonctions linéaires et affines 3eme 1 Fonctions linéaires 1.1 Vocabulaire Définition 1 Soit a un nombre quelconque «fixe». Une fonction linéaire associe à un nombre x quelconque le nombre a x. a s appelle
Plus en détailLogique : ENSIIE 1A - contrôle final
1 Logique : ENSIIE 1A - contrôle final - CORRIGÉ Mardi 11 mai 2010 - Sans documents - Sans calculatrice ni ordinateur Durée : 1h30 Les exercices sont indépendants. Exercice 1 (Logique du premier ordre
Plus en détailLicence Bio Informatique Année 2004-2005. Premiers pas. Exercice 1 Hello World parce qu il faut bien commencer par quelque chose...
Université Paris 7 Programmation Objet Licence Bio Informatique Année 2004-2005 TD n 1 - Correction Premiers pas Exercice 1 Hello World parce qu il faut bien commencer par quelque chose... 1. Enregistrez
Plus en détailIntégration et probabilités TD1 Espaces mesurés
Intégration et probabilités TD1 Espaces mesurés 2012-2013 1 Petites questions 1) Est-ce que l ensemble des ouverts de R est une tribu? 2) Si F et G sont deux tribus, est-ce que F G est toujours une tribu?
Plus en détailInitiation à la programmation en Python
I-Conventions Initiation à la programmation en Python Nom : Prénom : Une commande Python sera écrite en caractère gras. Exemples : print 'Bonjour' max=input("nombre maximum autorisé :") Le résultat de
Plus en détailSoit la fonction affine qui, pour représentant le nombre de mois écoulés, renvoie la somme économisée.
ANALYSE 5 points Exercice 1 : Léonie souhaite acheter un lecteur MP3. Le prix affiché (49 ) dépasse largement la somme dont elle dispose. Elle décide donc d économiser régulièrement. Elle a relevé qu elle
Plus en détailStructures algébriques
Structures algébriques 1. Lois de composition s Soit E un ensemble. Une loi de composition interne sur E est une application de E E dans E. Soient E et F deux ensembles. Une loi de composition externe
Plus en détailProbabilités. I Petits rappels sur le vocabulaire des ensembles 2 I.1 Définitions... 2 I.2 Propriétés... 2
Probabilités Table des matières I Petits rappels sur le vocabulaire des ensembles 2 I.1 s................................................... 2 I.2 Propriétés...................................................
Plus en détailModule 16 : Les fonctions de recherche et de référence
Module 16 : Les fonctions de recherche et de référence 16.0 Introduction L une des fonctions les plus importantes d Excel, c est la possibilité de chercher une valeur spécifique dans un grand nombre de
Plus en détailTravaux pratiques. Compression en codage de Huffman. 1.3. Organisation d un projet de programmation
Université de Savoie Module ETRS711 Travaux pratiques Compression en codage de Huffman 1. Organisation du projet 1.1. Objectifs Le but de ce projet est d'écrire un programme permettant de compresser des
Plus en détailAlgorithmique et programmation : les bases (VBA) Corrigé
PAD INPT ALGORITHMIQUE ET PROGRAMMATION 1 Cours VBA, Semaine 1 mai juin 2006 Corrigé Résumé Ce document décrit l écriture dans le langage VBA des éléments vus en algorithmique. Table des matières 1 Pourquoi
Plus en détailCours de Probabilités et de Statistique
Cours de Probabilités et de Statistique Licence 1ère année 2007/2008 Nicolas Prioux Université Paris-Est Cours de Proba-Stat 2 L1.2 Science-Éco Chapitre Notions de théorie des ensembles 1 1.1 Ensembles
Plus en détailItems étudiés dans le CHAPITRE N5. 7 et 9 p 129 D14 Déterminer par le calcul l'antécédent d'un nombre par une fonction linéaire
CHAPITRE N5 FONCTIONS LINEAIRES NOTION DE FONCTION FONCTIONS LINEAIRES NOTION DE FONCTION FONCTIONS LINEAIRES NOTION DE FONCTION Code item D0 D2 N30[S] Items étudiés dans le CHAPITRE N5 Déterminer l'image
Plus en détailExcel 2007 Niveau 3 Page 1 www.admexcel.com
Excel 2007 Niveau 3 Page 1 TABLE DES MATIERES UTILISATION DE LISTES DE DONNEES... 4 REMARQUES PREALABLES SUR LES LISTES DE DONNEES... 4 METTRE EN FORME LE TABLEAU... 6 METTRE LA LISTE A JOUR... 7 a/ Directement
Plus en détailpoint On obtient ainsi le ou les points d inter- entre deux objets».
Déplacer un objet Cliquer sur le bouton «Déplacer». On peut ainsi rendre la figure dynamique. Attraper l objet à déplacer avec la souris. Ici, on veut déplacer le point A du triangle point ABC. A du triangle
Plus en détailINITIATION AU LANGAGE C SUR PIC DE MICROSHIP
COURS PROGRAMMATION INITIATION AU LANGAGE C SUR MICROCONTROLEUR PIC page 1 / 7 INITIATION AU LANGAGE C SUR PIC DE MICROSHIP I. Historique du langage C 1972 : naissance du C dans les laboratoires BELL par
Plus en détailBaccalauréat L spécialité, Métropole et Réunion, 19 juin 2009 Corrigé.
Baccalauréat L spécialité, Métropole et Réunion, 19 juin 2009 Corrigé. L usage d une calculatrice est autorisé Durée : 3heures Deux annexes sont à rendre avec la copie. Exercice 1 5 points 1_ Soit f la
Plus en détailGéométrie dans l espace Produit scalaire et équations
Chapitre 11. 2ème partie Géométrie dans l espace Produit scalaire et équations Terminale S Ce que dit le programme : CONTENUS CAPACITÉS ATTENDUES COMMENTAIRES 2ème partie Produit scalaire Produit scalaire
Plus en détailPremiers exercices d Algèbre. Anne-Marie Simon
Premiers exercices d Algèbre Anne-Marie Simon première version: 17 août 2005 version corrigée et complétée le 12 octobre 2010 ii Table des matières 1 Quelques structures ensemblistes 1 1.0 Ensembles, relations,
Plus en détailANALYSE GÉNÉRALE - PROPOSITION DE CORRIGÉ. Exercice 1
ANALYSE GÉNÉRALE - PROPOSITION DE CORRIGÉ OLIVIER COLLIER Exercice 1 Le calcul de la banque. 1 Au bout de deux ans, la banque aurait pu, en prêtant la somme S 1 au taux d intérêt r pendant un an, obtenir
Plus en détailI - PUISSANCE D UN POINT PAR RAPPORT A UN CERCLE CERCLES ORTHOGONAUX POLES ET POLAIRES
I - PUISSANCE D UN POINT PAR RAPPORT A UN CERCLE CERCLES ORTHOGONAUX POLES ET POLAIRES Théorème - Définition Soit un cercle (O,R) et un point. Une droite passant par coupe le cercle en deux points A et
Plus en détailCapacité d un canal Second Théorème de Shannon. Théorie de l information 1/34
Capacité d un canal Second Théorème de Shannon Théorie de l information 1/34 Plan du cours 1. Canaux discrets sans mémoire, exemples ; 2. Capacité ; 3. Canaux symétriques ; 4. Codage de canal ; 5. Second
Plus en détailThéorie de la mesure. S. Nicolay
Théorie de la mesure S. Nicolay Année académique 2011 2012 ii Table des matières Introduction v 1 Mesures 1 1.1 Sigma-algèbres................................. 1 1.2 Mesures.....................................
Plus en détailLe théorème de Perron-Frobenius, les chaines de Markov et un célèbre moteur de recherche
Le théorème de Perron-Frobenius, les chaines de Markov et un célèbre moteur de recherche Bachir Bekka Février 2007 Le théorème de Perron-Frobenius a d importantes applications en probabilités (chaines
Plus en détailPlus courts chemins, programmation dynamique
1 Plus courts chemins, programmation dynamique 1. Plus courts chemins à partir d un sommet 2. Plus courts chemins entre tous les sommets 3. Semi-anneau 4. Programmation dynamique 5. Applications à la bio-informatique
Plus en détailÉquations non linéaires
Équations non linéaires Objectif : trouver les zéros de fonctions (ou systèmes) non linéaires, c-à-d les valeurs α R telles que f(α) = 0. y f(x) α 1 α 2 α 3 x Equations non lineaires p. 1/49 Exemples et
Plus en détail