Passage d une expression rationnelle àun automate fini non-déterministe

Dimension: px
Commencer à balayer dès la page:

Download "Passage d une expression rationnelle àun automate fini non-déterministe"

Transcription

1 Passage d une expression rationnelle àun automate fini non-déterministe Djelloul Ziadi Jean-Luc Ponty Jean-Marc Champarnaud Résumé Le but de cet article est de présenter un nouvel algorithme séquentiel en temps Ω(n 2 ) pour la conversion d une expression rationnelle simple, ayant n occurrences de symboles, en son automate de Glushkov (automate d états finis, non nécessairement déterministe, sans ε-transitions, ayant n + états, représenté par sa table de transitions) Les algorithmes produits par A Brüggemann-Klein et par CH Chang et R Paige évaluent les opérations de fermeture (étoile de Kleene) en unions (d ensembles de transitions) disjointes, selon les deux variantes suivantes : δ A =(δ\(δ A)) A = δ (A\(δ A)) A Brüggemann-Klein introduit la notion de Star Normal Form (forme normale de fermeture) et calcule au plus tard les transitions induites par un opérateur de fermeture Chang et Paige évaluent de façon paresseuse la fonction de transitions avec une structure de données appelée CNNFA (Compressed Normal NFA) à base de forêts d états Àcomplexité temporelle égale, notre algorithme est intéressant pour les raisons suivantes Tout d abord il repose sur une représentation originale de l automate de Glushkov, basée sur des forêts d états différentes de celles de Chang et Paige Le passage de l expression à cette représentation de l automate est en temps linéaire par rapport au nombre d occurrences de lettres n; la traduction en table de transitions est en Ω(n 2 ) L évaluation des opérations de fermeture sur cette représentation est réalisée en unions disjointes par un algorithme récursif original en temps linéaire par rapport à n Par ailleurs, cet algorithme séquentiel se prête bien à la parallélisation dans le modèle PRAM Received by the editors May 95 Communicated by M Boffa 99 Mathematics Subject Classification : 68-02, 68-06, 68P05, 68Q68 Key words and phrases : Automates, expressions rationnelles, automates de Glushkov Bull Belg Math Soc (997), 77 20

2 78 D Ziadi J-L Ponty J-M Champarnaud Introduction Dans le cadre du développement du logiciel AUTOMATE [7][8] nous cherchons à obtenir des algorithmes performants, notamment pour la conversion d une expression rationnelle en un automate fini B W Watson [] a établi une taxinomie des algorithmes de construction d un automate fini à partir d une expression rationnelle L automate obtenu, selon les algorithmes, est ou n est pas déterministe et contient ou non des ε-transitions Dans cet article nous nous intéresserons aux algorithmes de construction de l automate de Glushkov qui est une représentation naturelle d une expression rationnelle [] Soit E une expression rationnelle, on note s la taille de E (en notation postfixée) et n le nombre d occurrences de symboles dans E On peut sans perte de généralité (et sans modifier la complexité des algorithmes étudiés) considérer que deux opérateurs de fermeture ne peuvent apparaître dans la relation père-fils dans l arbre syntaxique de E Il est aisé de voir que, sous cette hypothèse, s et n sont du même ordre de grandeur Par conséquent, nous exprimerons les complexités des algorithmes en fonction de n La construction directe de l automate de Glushkov d une expression rationnelle E est en O(n ) [0] Récemment A Brüggemann-Klein [6] a montré que cette complexité peutêtre ramenée à O(n 2 ) Son algorithme consiste à transformer l expression E en une expression E appelée forme normale de fermeture de E à partir de laquelle l algorithme de Glushkov fournit l automate de E en O(n 2 ) La structurededonnées utilisée par A Brüggemann-Klein pour représenter un ensemble est une liste chaînée Plus récemment Chang et Paige [9] ont adopté une structure de données appelée CNNFA (compressed normal NFA) qu ils utilisent pour simuler la fonction de transition δ Ainsi une représentation de l automate de Glushkov peut être calculée en O(n) en utilisant un espace mémoire en O(n) En premier lieu nous présenterons la terminologie et les conventions d écriture utilisées dans ce rapport, ainsi que certaines définitions utiles Par la suite, nous verrons l algorithme tel qu il a été décrit par Glushkov [0] [6] En troisième lieu il s agit de présenter les améliorations apportées par A Brüggemann-Klein puis par Chang et Paige, d en fournir une interprétation, pour ensuite les comparer Enfin nous présenterons un nouvel algorithme qui utilise la structure de l arbre syntaxique de l expression E pour construire une représentation originale de l automate de Glushkov, basée sur des forêts d états L intérêt de cette structure de données est qu elle est calculée en temps O(n) grâce à un algorithme récursif adapté; la table de transitions s en déduit en Ω(n 2 ) 2 Définitions et conventions d écriture Dans cette section, nous introduisons la terminologie et les notations utilisées dans cet article A quelques exceptions près ces notations peuvent être trouvées dans [6] Soit Σ un ensemble fini non vide de symboles, appelé alphabet Σ représente l ensemble des mots sur Σ Le mot vide est noté ε Les symboles de l alphabet sont représentés par les premières lettres minuscules de l alphabet telles que a, b, c L union ( ), le produit ( ) etlafermeture( )sontlesopérations rationnelles classiques sur les parties de Σ

3 Passage d une expression rationnelle à un automate fini non-déterministe 79 Définition 2 [5] Les langages rationnels de Σ sont les éléments de la plus petite famille, fermée pour les trois opérations rationnelles, qui contient les singletons et le langage vide Définition 22 [2] Une expression rationnelle sur un alphabet Σ est définie récursivement comme suit : est une expression rationnelle qui représente l ensemble vide ε est une expression rationnelle qui représente le langage {ε} a Σ,a est une expression rationnelle qui représente le langage {a} Si F et G sont deux expressions rationnelles qui représentent respectivement les langages L(F )et L(G) alors: l expression rationnelle (F )+(G) représente le langage L(F ) L(G), l expression rationnelle (F ) (G) représente le langage L(F ) L(G), l expression rationnelle (F ) représente le langage i=0 L i (F ) Afin de préciser la position des symboles dans l expression, les symboles sont indicés dans l ordre de lecture Par exemple à partir de l expression (a + ε)ba on obtient l expression indicée (a + ε)b 2 a ; les indices sont appelés positions et sont représentés par les dernières lettres minuscules de l alphabet telles que x, y, z L ensemble des positions pour une expression E est noté Pos(E) Si F est une sousexpression de E, on note Pos E (F ) le sous-ensemble des positions de E qui sont positions de F 2 χ est l application qui fait correspondre à chaque position de Pos(E) le symbole de Σ qui apparaît à cette position dans E A toute expression E on associe bijectivement une expression indicée E Onnoteraσ = {α,, α n }, où n = Pos(E), l alphabet de E L automate de Glushkov Afin de construire un automate d états finis non déterministe (abbr AFN) reconnaissant L(E), Glushkov a établi trois fonctions que l on peut définir de la façon suivante sur l expression indicée E : Définition 2 First(E) ={x Pos(E) u σ : α x u L(E)} First(E) représente l ensemble des positions initiales des mots du langage L(E) Définition 2 Last(E) ={x Pos(E) u σ : uα x L(E)} Last(E) représente l ensemble des positions finales des mots du langage L(E) avec L 0 (F )={ε} 2 pour E = F + G et E = F G, Pos E (F ) Pos E (G) = ; poure, Pos(E )=Pos(E)

4 80 D Ziadi J-L Ponty J-M Champarnaud Définition 25 Follow (E,x)={y Pos(E) v σ, w σ : vα x α y w L(E)} Follow (E,x) représente l ensemble des positions qui suivent immédiatement la position x dans l expression E Par abus de langage, on notera First(E) pour First(E), Last(E) pour Last(E) et Follow (E,x) pourfollow (E,x) Définition 26 On définit par récurrence la fonction Null E qui vaut {ε} si ε appartient au langage L(E) et sinon Null = (26) Null ε = {ε} (262) Null a = (26) Null F +G = Null F Null G (26) Null F G = Null F Null G (265) Null F = {ε} (266) Notation 27 Pour tout ensemble X, onnotei X la fonction de X dans {{ε}, } telle que : { si x / X I X (x) = {ε} si x X Proposition 28 First peut être calculée récursivement comme suit : First( ) = (28) First(ε) = (282) First(α x ) = {x} (28) First(F + G) = First(F ) First(G) (28) First(F G) = First(F ) Null F First(G) (285) First(F ) = First(F ) (286) Proposition 29 Last peut être calculée récursivement comme suit : Last( ) = (29) Last(ε) = (292) Last(α x ) = {x} (29) Last(F + G) = Last(F ) Last(G) (29) Last(F G) = Last(G) Null G Last(F ) (295) Last(F ) = Last(F ) (296) x/ Pos(E) Follow(E,x)=

5 Passage d une expression rationnelle à un automate fini non-déterministe 8 Proposition 20 Follow (E,x) peut être calculée récursivement comme suit : Follow (,x) = (20) Follow (ε, x) = (202) Follow (a, x) = (20) Follow (F + G, x) = I Pos(F ) (x) Follow (F, x) I Pos(G) (x) Follow (G, x) (20) Follow (F G, x) = I Pos(F ) (x) Follow (F, x) I Pos(G) (x) Follow (G, x) I Last (F ) (x) First(G) (205) Follow (F,x) = Follow (F, x) I Last (F ) (x) First(F ) (206) Ces fonctions permettent de définir l automate M qui reconnaît le langage L(E) On a : M =(Q, σ, δ, s I,F) Q = Pos(E) {s I } 2 x First(E), δ(s I,α x )={x} x Pos(E), y Follow (E,x), δ(x, α y )={y} F = Last(E) Null E {s I } A partir de M on construit l automate M E =(Q, Σ,δ,s I,F) de la façonsuivante:lesarcsdem E se déduisent de ceux de M en remplaçant leur étiquette α x par χ(x) On a donc : δ = {(q,a,q ) q Q, q Q, a Σ, α x (q,α x,q ) δ et χ(x) =a} Proposition 2 Dans l automate M E, tous les arcs arrivant en un même état ont la même étiquette : } (p, a, q) δ (p a = b,b,q) δ Preuve On remarque que par construction les arcs de M sont de la forme (x, α y,y) Il s en suit que les arcs de M sont de la forme (x, χ(y),y) Proposition 22 Si l automate M reconnaît le langage L(E) alors l automate M E reconnaît le langage L(E)

6 82 D Ziadi J-L Ponty J-M Champarnaud Preuve Soit L(M) le langage reconnu par l automate M et L(M E ) le langage reconnu par l automate M E Par construction, L(M) =L(E) Montrons que L(M E )=L(E) L(M E ) L(E) : Soit u = u u 2 u p L(M E ), avec u j Σ Il existe un chemin réussi dans M E, (s I,i,i 2,,i p ), d étiquette u u 2 u p Le même chemin est également réussi dans M, oùsonétiquette est α i α i2 α ip, avec χ(α ij )=u j, j [,p] Comme L(M) =L(E), on a : α i α ip L(E) On en déduit χ(α i ) χ(α ip ) L(E), soit u L(E) 2 L(E) L(M E ): Soit u = u u 2 u p L(E), avec u j Σ Il existe une suite de positions (i,i 2,,i p ) telles que χ(α ij )=u j, j [,p] et α i α i2 α ip L(E) Comme L(E) =L(M), on a α i α i2 α ip L(M) Le chemin (s I,i,i 2,,i p ) est donc réussi dans M Il l est également dans M E,parconséquent χ(α i ) χ(α ip ) L(M E ), soit u L(M E ) L automate M E est appelé automate de Glushkov de l expression E Il peut être défini directement comme suit : avec, Q = Pos(E) {s I } M E =(Q, Σ,δ,s I,F) 2 a Σ,δ(s I,a)={x First(E)/χ(x) =a} x Q, a Σ,δ(x, a)={y/y Follow (E,x) etχ(y) =a} F E = Last(E) Null E {s I } Remarquons que Berstel et Pin [] présentent le calcul récursif des fonctions First, Last et Follow dans le cadre plus général des langages locaux Algorithme de Glushkov Une implémentation de base de l algorithme de Glushkov, rappelée dans [6] est la suivante : On construit l arbre syntaxique T (E) correspondant à l expression E Chaque nœud de cet arbre représente une sous-expression E de E et àchaquenœud on associe les variables suivantes : First() : liste qui représente l ensemble First(E ) Last() : liste qui représente l ensemble Last(E ) Follow (, x) : liste qui représente l ensemble Follow(E,x) Null :vaut{ε} si L(E ) reconnaît le mot vide, sinon

7 Passage d une expression rationnelle à un automate fini non-déterministe 8 Ces variables sont calculées lors d un parcours postfixé de l arbre T (E) g et d désignent respectivement le fils gauche et le fils droit d un nœud étiqueté + ou et f désigne le fils d un nœud étiqueté Lecodeincrémental suivant permet de calculer ces variables en chaque nœud Selon que vaut : First() = ; Last() = ; Null = ; ε : First() = ; Last() = ; Null = {ε}; x : First() ={x}; Last() ={x}; Null = ; Follow(, x)= ; +:First() =First( g ) First( d ); Last() = Last( g ) Last( d ); Null = Null g Null d ; : First() =First( g ) Null g First( d ); Last() = Last( d ) Null d Last( g ); Null = Null g Null d ; pour tout x Last( g ) faire Follow(, x) =Follow( g,x) First( d ); finpour : First() =First( f ); Last() = Last( f ); Null = {ε}; pour tout x Last( f ) faire Follow(, x) =Follow( f,x) First( f ); [] finpour finselonque Toutes les unions d ensembles, mise à part l union [], sont disjointes et peuvent être implémentées en O(), ceci en concaténant les listes représentant les ensembles en question Il est possible de réaliser l union [] en temps constant en calculant Follow (, x) pour tout x de Last f, par l une des deux formules suivantes : Follow(, x) =[Follow( f,x) \ First f ] First f () Follow(, x) =Follow( f,x) [First f \ Follow( f,x)] (2) Ces deux approches ont donné lieu à deux algorithmes : l algorithme de Brüggemann-Klein [6] basé sur la formule (); l algorithme de Chang et Paige [9] basé sur la formule (2)

8 8 D Ziadi J-L Ponty J-M Champarnaud Algorithme de A Brüggemann-Klein On dit qu une expression E est sous forme normale de fermeture (FNF) si ellevérifie, pour toute expression H telle que H soit une sous-expression de E, la condition suivante : x Last(H), Follow (H, x) First(H) = L intérêt de travailler sur une expression sous forme normale de fermeture est que l opération fermeture yestréalisée à l aide d unions disjointes L algorithme de Brüggemann-Klein consiste à construire, à partir d une expression E, une expression E telle que : E est sous forme normale de fermeture 2 M E = M E E peut être calculée à partir de E en temps linéaire Afin de calculer E, toute expression H telle que H est une sous-expression de E est remplacée par une expression H telle que : H vérifie la condition FNF First(H )=First(H) Last(H )=Last(H) Follow (H,x)=Follow (H,x) x Pos(H) Définition [6] H est définie récursivement de la façon suivante : [H = ε ou ] H = [H = a] H = a [H = F + G] H = F + G FG si Null F = et Null G = [H = FG] H F = G si Null F = et Null G = {ε} FG si Null F = {ε} et Null G = F + G si Null F = {ε} et Null G = {ε} [H = F ] H = F Remarque 2 Si Null F = et Null G = {ε} alors F = F et (FG) = FG En effet, si Null F = alors il n existe pas de transition allant d un état de Last(F ) àunétat de First(F ) De même, si Null F = {ε} et Null G = alors G = G et (FG) = FG Proposition Follow (H,x) = Ainsi définie, H vérifie la propriété suivante: I Last (H) (x) [Follow (H, x)\first(h)] I Pos (H)\Last(H) (x) Follow (H, x)

9 Passage d une expression rationnelle à un automate fini non-déterministe 85 Preuve La preuve se fait par récurrence sur la taille de l expression H La proposition est évidente pour les expressions de taille 0 et Supposons qu elle soit vraie pour les expressions de taille inférieure à n Soit H une expression de taille n, montrons que la proposition est vraie pour H : Nous distinguons trois cas : [H = F + G],avec F n et G n Pour tout x de Pos(H), on a : Follow (H,x)=I Pos(F ) (x) Follow (F,x) I Pos(G) (x) Follow (G,x), par hypothèse de récurrence on a : Follow (F,x) = I Last (F ) (x) [Follow (F, x)\first(f )] I Pos(F )\Last (F ) (x) Follow (F, x) et Follow (G,x) = I Last (G) (x) [Follow (G, x)\first(g)] I Pos(G)\Last (G) (x) Follow (G, x) d où Follow (H,x) = I Last (F ) (x) [Follow (F, x)\first(f )] I Last (G) (x) [Follow (G, x)\first(g)] I Pos(F )\Last (F ) (x) Follow (F, x) I Pos(G)\Last (G) (x) Follow (G, x) donc Follow (H,x) = I Last (H) (x) [Follow (H, x)\first(h)] I Pos(H)\Last(H) (x) Follow (H, x) 2 [H = FG],avec F n et G n Sur le modèle précédent, on effectue une démonstration par récurrence Quatre cas sont à envisager : Null F = et Null G = entraîne Follow (H,x)=Follow (FG, x) Null F = et Null G = {ε} entraîne Follow (H,x)=Follow (F G, x) Null F = {ε} et Null G = entraîne Follow (H,x)=Follow (FG,x) Null F = ε et Null G = ε entraîne Follow (H,x)=Follow (F + G,x), traité en [H = F ],avec F = H Comme précédemment, la démonstration se fait par récurrence à partir de l égalité suivante: Follow (H,x)=Follow (F,x) Définition On définit E récursivement de la façon suivante : [E = ε a] E = E [E = F + G] E = F + G [E = FG] E = F G [E = F ] E = F Exemple 5 Calcul de E pour E =(a b ) ab (voir Figure )

10 86 D Ziadi J-L Ponty J-M Champarnaud T(E) T(E ) 0 0 b 9 b 7 2 a 8 2 a a b 2 5 a b a a a b 0 b a b 2 a b a Figure : E =(a b ) ab; E =(a + b) ab; M E = M E E =((a b ) ab) =((a b ) a) b =((a b ) ) a b =(a b ) ab =((a ) (b ) ) ab =(a b ) ab =(a b ) ab =(a + b ) ab =(a + b ) ab E =(a + b) ab A Brüggemann-Klein démontre dans [6] que E ainsi définie vérifie les trois propriétés : E est sous forme normale de fermeture 2 M E = M E E peut être calculée à partir de E en temps linéaire ce qui permet d énoncer le théorème suivant : Théorème 6 [6] L automate de Glushkov M d une expression rationnelle E peut être calculé entempsω(n 2 ), en passant par la forme normale de fermeture de E

11 Passage d une expression rationnelle à un automate fini non-déterministe 87 5 Algorithme de Chang et Paige L algorithme de Glushkov permet de construire la fonction de transition δ selon la définition suivante : Définition 5 δ = 5 δ ε = 52 δ a = 5 δ F +G = δ F δ G 5 δ FG = δ F δ G ( Last(F ) First(G) ) 55 δ F = δ F ( Last(F ) First(F ) ) 56 Toutes les unions qui figurent dans la définition 5 sont disjointes, exceptée la dernière : δ F Last(F ) First(F ) (56) Pour se ramener à une union disjointe, Chang et Paige [9] définissent l ensemble suivant : et remplacent la formule (56) par : Nred(F )= [ Last(F ) First(F ) ] \δ F δ F = δ F Nred(F ) D autre part, ils proposent de calculer Nred(F ) de façon récursive, selon les formules suivantes : Définition 52 Nred( ) = Nred(ε) = Nred(a) = Last(a) First(a) Nred(G + H) = Nred(G) Nred(H) Last(H) First(G) Last(G) First(H) Nred(GH) = Null H Nred(G) Null G Nred(H) Last(H) First(G) Nred(G ) = Afin de pouvoir comparer les approches de Chang et Paige et de A Brüggemann- Klein, nous désignons par δ la fonction de transition calculée par l algorithme de Chang et Paige et par d celle qui est calculée par l algorithme de A Brüggemann- Klein

12 88 D Ziadi J-L Ponty J-M Champarnaud E=H δ = d = d H \ Last(H) x First(H) U Last(H) x First(H) δ = U δ H Last(H) x First(H) \ δ H Figure 2: d = δ Définition 5 d est calculée récursivement comme suit : d = d ε = d a = d F +G = d F d G d FG = d F d G Last(F ) First(G) d F = d F Last(F ) First(F ) (F est remplacée par (F ) ) où d F = d F \[Last(F ) First(F )] Proposition 5 Pour toute expression rationnelle E nous avons d = δ Preuve d et δ correspondent aux deux variantes possibles pour calculer une union en union disjointe (cf fig2) La preuve se fait par récurrence sur la taille de E E =0, E = la proposition 5 est évidente 2 E = n + (a) [E = F + G] sachantqued F = δ F et d G = δ G d F d G = δ F δ G d = δ (b) [E = FG] sachantqued F = δ F et d G = δ G d F d G = δ F δ G d = δ (c) [E = F ]sachantqued F = d F = δ E Posons R = First(F )etl = Last(F ), d = d F L R = [ δ F \(L R) ] L R fig 2 (d) d = δ F L R = δ F [ ] (L R)\δ F fig 2 (δ) d = δ F Nred(F )=δ Chang et Paige utilisent une structure de données leur permettant de calculer une représentation de δ en temps O(n) etenespaceo(s); et de passer àlamatrice de transition en O(n 2 )

13 Passage d une expression rationnelle à un automate fini non-déterministe i Pos( i )) 0 {,2,} {,2} 2 {} {2} {} Figure : Ensembles Pos( i ) des feuilles associées aux nœuds i 6 Un nouvel algorithme Nous présentons dans cette section un algorithme original qui calcule une représentation de l automate de Glushkov M E d une expression rationnelle E en temps et en espace O(n) Dans cet algorithme, le calcul des First est effectué sur une forêt déduite de l arbre T (E), de même pour le calcul des Last La fonction de transitions δ de l automate M E est représentée par un ensemble de liens entre ces deux forêts, un lien correspondant à un produit cartésien L F où L est un ensemble Last et F un ensemble First 6 Calcul des First Soit T (E) l arbre syntaxique associé à l expression E A chaque nœud est associé le sous-arbre de racine et l ensemble des feuilles de ce sous-arbre, que l on notera Pos() par abus d écriture Cet ensemble peut être représenté par une liste Chaque nœud, y compris une feuille, dispose d un pointeur vers la feuille la plus à gauche et d un pointeur vers la feuille la plus à droite, ce qui permet d accéder en temps constant à l ensemble Pos() associé à un nœud (voir figure ) A partir de l arbre T (E), on construit la forêt TF(E) qui représente l ensemble des First définis par Glushkov, de la manière suivante : TF(E) est initialisée par une copie de T (E); chaque nœud de T (E) est rebaptisé dans TF(E) pour chaque nœud étiqueté, on supprime le lien avec son fils droit d si L(E g ) ne reconnaît pas le mot vide (voir figure ) On respecte ainsi la définition : First(FG) =First(F ) Null F First(G) pour chaque nœud : on met à jour le pointeur le plus à gauche et le pointeur le plus àdroite on relie la feuille la plus à droite de son fils gauche à la feuille la plus à gauche de son fils droit

14 90 D Ziadi J-L Ponty J-M Champarnaud g + d g d g d g d 2 (a) ε L(E g ), le lien (, d ) est supprimé g d g d g d (b) ε L(E g ), le lien (, d ) est conservé Figure : Mise à jour des liens pour le calcul de First Remarque 6 Par la proposition 28 on a : First(F +G) =First(F ) First(G)etFirst(F )= First(F ) Par conséquent l initialisation de TF(E) par une copie de T (E) assure que les liens relatifs aux nœuds étiquetés autrement que par sont corrects 2 L arbre syntaxique inchangé permet d accéder aux différents arbres de la forêt TF(E) une fois les liens supprimés Après élimination de ces liens et mise à jour des pointeurs, on obtient la forêt TF(E), pour chaque nœud de laquellel ensemblepos()est exactementl ensemble First de la sous-expression E A l intérieur d un arbre de TF(E) les feuilles sont chaînées On accède en temps constant à First(E ) En particulier First(E) = Pos( 0 ) Sur l exemple de la figure 6, pour l expression E =(a b 2)a (b + a 5 )(b 6 a 7 ), First(E) est l ensemble associé à la racine de l arbre A 0 de la forêt TF(E) 62 Calcul des Last De la même façon qu on construit la forêt des First, on construit la forêt des Last TL(E) (chaque nœud de T (E) est rebaptisé dans TL(E)), en respectant la définition 29 Dans TL(E), on supprime pour chaque nœud étiqueté le lien avec son fils gauche g si le langage L(E d ) ne reconnaît pas le mot vide (voir figure 5) On respecte ainsi la définition : Last(FG) =Last(G) Null G Last(F )

15 Passage d une expression rationnelle à un automate fini non-déterministe 9 g + d g + d + g d g d + (a) ε L(E d ), le lien (, g ) est supprimé g + d + + g d g d (b) ε L(E d ) le lien (, g ) est conservé Figure 5: Mise à jour des liens pour le calcul de Last De même que pour la forêt TF(E), pour chaque nœud de TL(E) onmetàjour les différents pointeurs A chaque nœud de la forêt TL(E) est associé un ensemble Pos() qui est exactement l ensemble Last de la sous-expression E A l intérieur d un arbre de TL(E) les feuilles sont chaînées On accède en temps constant à Last(E ) En particulier, Last(E) =Pos( 0 ) Sur l exemple de la figure 6, pour l expression E =(a b 2)a (b + a 5 )(b 6 a 7 ), Last(E) est l ensemble associé àlaracine de l arbre A de la forêt TL(E) 6 Calcul de First(E) et de Last(E) Rappelons que si 0 est la racine de l arbre T (E), First(E) est l ensemble Pos( 0 ) dans la forêt TF(E) etlast(e) est l ensemble Pos( 0 ) dans la forêt TL(E) Lemme 62 Pour toute expression rationnelle E de taille s, nous pouvons calculer First(E) en un temps O(n) en utilisant un espace mémoire en O(n) Preuve La construction de l arbre T (E) à partir d une expression rationnelle E s effectue en temps linéaire sur la taille de E En effet les expressions rationnelles peuvent être décrites par des grammaires LL() [] D autre part, le calcul récursif des pointeurs vers la feuille la plus à gauche et la feuille la plus à droite dans l arbre T (E) s effectue en O(n) La mise à jour de ces pointeurs dans la forêt TF(E) et le chaînage des feuilles est également en O(n) Par conséquent, la forêt des First TF(E) peutêtre calculée en O(n) en utilisant un espace mémoire en O(n) De même, Lemme 6 Pour toute expression rationnelle E dont le nombre d occurrences de lettres est n, nous pouvons calculer Last(E) en un temps O(n) en utilisant un espace mémoire en O(s)

16 92 D Ziadi J-L Ponty J-M Champarnaud 0 T(E) TF(E) TL(E) Liens supprimes lors de la construction des forets Figure 6: Les forêts TF(E) ettl(e) de l expression E =(a b 2 )a (b + a 5 )(b 6 a 7 )

17 Passage d une expression rationnelle à un automate fini non-déterministe 9 6 Calcul de δ 6 Représentation de δ Il s agit d une représentation de δ par un ensemble de liens entre les forêts TL(E) et TF(E) δ est l ensemble des arcs de l automate de Glushkov de l expression E δ peut être calculé récursivement sur l arbre T (E) à partir des deux ensembles suivants : est l ensemble des arcs calculés lors de l évaluation du nœud D est l ensemble des arcs calculés avant l évaluation du nœud On a les formules suivantes : Last(E g ) First(E d ) si est étiqueté = Last(E f ) First(E f ) si est étiqueté sinon si est une feuille D = D f si est étiqueté D g D d sinon δ = D 0 ({s I } First(E)) Proposition 6 ( ) δ = T (E) ( {s I } First(E) ) Preuve Pour toute expression rationnelle de taille on a : = et D = Supposons que pour toute expression E, telle que < E <n,onait: D = T (E) Montrons que la propriété est vraie pour toute expression de taille inférieure ou égale à n :SoitE telle que E = n { Df On a D = si est étiqueté D g D d sinon Par hypothèse de récurrence, on a : D f =, T (E f ) D g =, T (E g ) D d = T (E d ) Par conséquent on a :

18 9 D Ziadi J-L Ponty J-M Champarnaud TL(E) 0 TF(E) i ig if id Last First {} {} {} {} {(,)} {2} {2} {2} {2} {(2,2)} 2 - {,2} {,2} {(,2)} {,2} {,2} {(,),(,2),(2,),(2,2)} Figure 7: Calcul des pour l expression E =(a b 2 ) ( ) si est étiqueté D = T (E f ) ( ) ( ) sinon T (E g ) T (E g ) soit D = T (E ) La propriété est donc vraie pour toute expression, en particulier : D 0 = ( T (E) ) D où :δ = ( {s I } First(E) ) T (E) Représentation de δ :chaque non vide est un produit cartésien de la forme Last(E ) First(E ) représenté par un lien (, ) entre le nœud de la forêt TL(E) correspondant à et le nœud de la forêt TF(E) correspondant à ; δ est donc représenté par l ensemble L de tous ces liens Complexité ducalculdel : ajouter un lien à L se fait en temps constant; on obtient tous les liens en faisant le parcours récursif de T (E) L est donc calculé en temps O(s) 62 Elimination des liens redondants Soit S il existe tel que, on dit que le lien représentant est redondant Sur l exemple de la figure 7 on a : 0, 2 0 et 0, 2 et sont donc redondants Eliminer les liens redondants permettra d exprimer δ sous forme d union d ensembles disjoints Les deux propositions suivantes permettent de caractériser les

19 Passage d une expression rationnelle à un automate fini non-déterministe 95 T(E) TL(E) TF(E) φ F( ) φ F( ) Figure 8: Correspondance entre les nœuds de T (E), T L(E) et T F(E) liens redondants Rappel : Soient deux nœuds s et s d une forêt Le nœud s est descendant du nœud s si et seulement si s appartient à l arbre de racine s Proposition 65 Soient et deux nœuds dans T (E), et et les nœuds correspondants dans TF(E) Alors : { si est descendant de : First(E ) First(E ) sinon : First(E ) First(E )= Preuve Rappelons que l ensemble des feuilles de l arbre de racine, Pos(), est égal à First(E ) Si est descendant de, alors l arbre de racine est un sous-arbre de l arbre de racine Parconséquent Pos( ) est inclus dans Pos() Donc First(E ) est inclus dans First(E ) Si n est pas descendant de, alors les arbres de racine et sont disjoints Par conséquent Pos()etPos( )sontdisjointsetdoncfirst(e )etfirst(e ) sont disjoints Soit un nœud de T (E), (resp ) le nœud correspondant dans TL(E) (resp TF(E)) Supposons Désignons par le nœud de TL(E) correspondant au fils de si est étiqueté, ou au fils gauche de si est étiqueté Désignons par F ( )lenœuddetf(e) correspondant au fils de si est étiqueté,ouau fils droit de si est étiqueté est donc l ensemble Pos( ) Pos(F ( )) Sur la structure de données utilisée, est représenté par un lien entre dans TL(E) et F ( )danstf(e) (voir figure 8) Proposition 66 Soient et 2 deux nœuds de T (E) Soient et 2 les nœuds correspondants dans TL(E) Soient et 2 définis comme précédemment Soient

20 96 D Ziadi J-L Ponty J-M Champarnaud TL(E) TF(E) F( ) F( 2 ) Figure 9: 2 F( )etf( 2)définis{ comme précédemment On a : 2 2 est descendant de dans TL(E) F ( 2) est descendant de F ( ) dans TF(E) Preuve = Pos( ) Pos(F ( )) 2 = Pos( 2) Pos(F ( 2)) 2 { Pos( ) Pos( 2 ) Pos(F ( )) Pos(F ( 2)) 2 prop65 { 2 est descendant de dans TL(E) F ( 2 ) est descendant de F ( )danstf(e) L algorithme éliminer décrit ci-dessous met en œuvre la proposition 66 pour éliminer les liens redondants Précisons quelques points utiles àlacompréhension de l algorithme : Les liens (,F( )) et ( 2,F( 2)) de la propriété 66 sont les liens (a, F (a)) et (b, F (b)) de l algorithme; a et b sont des nœuds de TL(E) oubiennesont pas définis (nil) La fonction D(x, y) testesix est descendant de y dans la forêt TF(E); x et y sont des nœuds de TF(E) ou bien ne sont pas définis On a : D(nil, nil) = D(nil,y) = D(x, nil) = faux Les fonctions g(a),d(a),f(a) fournissent le fils gauche, le fils droit, ou le fils (cas de la fermeture) du nœud a de TL(E) L algorithme permet d éliminer les liens redondants dans un arbre de la forêt TL(E) Le parcours de cet arbre est tel que b est toujours descendant de a L algorithme est appelé sur chaque arbre de la forêt TL(E), b prenant pour valeur la racine de l arbre, et a la valeur nil

21 Passage d une expression rationnelle à un automate fini non-déterministe 97 Appel b a F (b) F (a) D(F (b),f(a)) Action(s) 0 nil nil nil faux Eliminer(,nil) (2) 2 nil nil faux Eliminer( 2, )() Eliminer(, )(7) 2 vrai Supp le lien ( 2, ) Eliminer(, )() vrai Supp le lien (, ) Eliminer(nil, )(5) Eliminer(nil, )(6) 5 nil nil nil faux Eliminer( 5, )(8) vrai Supp le lien ( 5, 5 ) Eliminer(nil, )(9) Eliminer(nil, ) (0) 9 nil nil Figure 0: Déroulement de l algorithme Eliminer sur l exemple de la figure 7 Algorithme Eliminer Eliminer(b,a) begin if b nilthen if D(F(b),F(a)) then F(b) nil (supp du lien (b,f(b))) switch (b) case, +,x: Eliminer(g(b),a) Eliminer(d(b),a) case : else if F(b) nilthen switch (b) case, +,x: case : else switch (b) case, +,x: case : endif endif endif end Eliminer(f(b),a) Eliminer(g(b),b) Eliminer(d(b),b) Eliminer(f(b),b) Eliminer(g(b),a) Eliminer(d(b),a) Eliminer(f(b),a) b a b a b = b = Complexité de l algorithme d élimination : L algorithme est exécuté sur chaque arbre de la forêt TL(E) Au cours de son exécution chaque nœud de T (E) est visité une fois et une seule La suppression d un lien (F (b) nil) est en temps constant, sous réserve que : Dans TF(E) les arbres sont indexés de manière distincte Un nœud de TF(E) estnuméroté par un triplet formé par

22 98 D Ziadi J-L Ponty J-M Champarnaud T(E) 0 9 b 2 8 a 6 5 a 7 b 2 LPar RPar ( ( ( ( ( ( ) ) ( ( ) ) ) ) ( ) ) ( ) ) nœud LPar RPar Figure : Exemple de parenthésage pour E =(a b 2) a b le numéro d arbre dans la forêt TF(E) 2 le numérodelaparenthèse ouvrante (Lpar( i )) qui lui est associée dans l arbre T (E) (cf fig ) le numéro de la parenthèse fermante (Rpar( i )) qui lui est associée dans l arbre T (E) (cf fig ) Remarque 67 La numérotation des parenthèses (fig ) est réalisée en temps linéaire lors de la construction de l arbre T (E) Ainsi l indexation de l ensemble des nœuds de la forêt TF(E) par un triplet est réalisée en temps linéaire F (b) est indexé par le triplet (Arb(b), Lpar(b), Rpar(b)) et F (a) est indexé par le triplet (Arb(a), Lpar(a), Rpar(a)); le test de descendance D(F (b), F(a)) s écrit donc : D ( F (b),f(a) ) = ( { }} { (Arb(a) =Arb(b) ) ((Lpar(b) Lpar(a)) (Rpar(b) Rpar(a))) ) } {{ } A A est vrai si a et b sont dans le même arbre dans la forêt TF(E) B est vrai si b est descendant de a dans la forêt TF(E) B

23 Passage d une expression rationnelle à un automate fini non-déterministe 99 Par conséquent, ce test peut être fait en temps constant Lemme 68 La représentation de δ par un ensemble de liens non redondants peut être calculée en temps O(n) Cette représentation permet de calculer δ comme une union d ensembles disjoints La relation entre la forme normale de fermeture et notre algorithme d élimination des liens redondants est fournie par la proposition suivante : Proposition 69 si E est sous forme normale de fermeture, alors : ( ) δ = ( {s I } First(E) ) Preuve T (E) D une part, la propriété 66 nous permet d affirmer qu après terminaison de l algorithme d élimination, la condition suivante est vérifiée : Pour tout et tout 2 dans TL(E), tels que F ( )etf ( 2 )existentdans TL(E) ona: ( 2 est descendant de ) (F ( 2 ) n est pas descendant de F ( )) D autre part, si E est sous forme normale de fermeture, pour toute expression H telle que H soit une sous-expression de E, ona: x Last(H), Follow (H, x) First(H) = Soit le nœud de TL(E) correspondant à la sous-expression H Comme x Last(H), on a : x est descendant de Soit un descendant de dans TL(E) telquex soit descendant de et tel que F ( )existe On a : First(E ) Follow (H, x) Supposons que F ( ) soit descendant de F () Alors First(E ) First(H) On en déduit que Follow (H, x) First(H), ce qui est en contradiction avec la condition FNF Parconséquent, F ( )nepeutêtre descendant de F () 6 De la représentation par forêts à l automate de Glushkov Il s agit de construire la table de transitions de l automate M L ensemble First( 0 ) permet de trouver les arcs issus de l état initial s I On parcourt l arbre T (E); chaque fois que l on rencontre un lien Last() First( ), M[i, j]reçoit j, i Last(), j First( ) Les liens étant non redondants, on fait cette opération exactement une fois pour chaque arc D où une étape réalisée en temps proportionnel au nombre de transitions, c est àdireenω(n 2 ) Lemme 60 Le passage de la représentation de δ par un ensemble de liens non redondants à la table de transitions est en Ω(n 2 )

24 200 D Ziadi J-L Ponty J-M Champarnaud 65 Algorithme Nous présentons ci-dessous les étapes importantes de l algorithme général pour le passage d une expression rationnelle à son automate de Glushkov Construction de l arbre T (E) et initialisation de ses nœuds O(n) 2 Construction des forêts TL(E) ettf(e) O(n) Calcul des ensembles O(n) Suppression des liens redondants O(n) 5 Passage à la matrice de transitions O(n 2 ) Théorème 6 Nous pouvons calculer l automate de Glushkov M E associé à une expression rationnelle E en temps Ω(n 2 ) en utilisant un espace mémoire de l ordre de O(n 2 ) Preuve 60 La preuve de ce théorème est une déduction des lemmes 62, 6, 68 et 66 Exemple de construction L exemple suivant (figure 2) donne les principales étapes de construction de l automate de Glushkov L ensemble des arcs de l automate (figure ) est donné par l union des ensembles i disjoints, à laquelle on ajoute les arcs menant d un état initial unique aux éléments de l ensemble First( 0 ) δ = 2 0 ({s I } First( 0 )) δ = {(0, ), (0, 2), (0, ), (, ), (, 2), (2, ), (2, 2), (, ), (2, ), (, )} Les états finaux de l automate sont les éléments de l ensemble Last( 0 ), auxquels on ajoute l état initial si E reconnaît le mot vide 7 Conclusion L algorithme de A Brüggemann-Klein commence par une phase de prétraitement qui consiste à transformer l expression en forme normale de fermeture Le calcul de δ se fait alors en unions disjointes Notre algorithme calcule une représentation de δ comme un ensemble de produits cartésiens (non évalués) dont seule une union disjointe est finalement calculée Il fournit une représentation par forêts de l automate de Glushkov de E en temps linéaire en la taille de E Un algorithme naïf permet d en déduire la table de M E en temps proportionnel au nombre de transitions, donc avec la même complexité que l algorithme de A Brüggemann-Klein De plus, la nature même de cette structure de données intermédiaire semble intéressante D Ziadi en a tiré parti pour construire un algorithme parallèle optimal dans le modèle CREW-PRAM [] [2]

25 Passage d une expression rationnelle à un automate fini non-déterministe 20 T(E) TL(E) TF(E) b 9 b 9 b 9 2 a 8 2 a 8 2 a a b a b a b i Last ( i ) First( i ) i 5 {} {} = {} {} Last ( 5 ) First( 5 )={} {} = {(,)} 7 {2} {2} = 6 {2} {2} Last ( 7 ) First( 7 )={2} {2} = {(2,2)} {,2} {,2} Last ( ) First( 6 )={} {2} = {(,2)} 2 {,2} {,2} Last ( ) First( )={, 2} {, 2} = {(,),(,2),(2,),(2,2)} 8 {} {} = {} {,2,} Last ( 2 ) First( 8 )={, 2} {} = {(,),(2,)} 9 {} {} = 0 {} {,2,} Last ( ) First( 9 )={} {} = {(,)} Figure 2: exemple de construction sur l expression E =(a b 2) a b

26 202 D Ziadi J-L Ponty J-M Champarnaud a a a b 0 b a b 2 a b a Figure : L automate de Glushkov de l expression E =(a b 2) a b Références [] AAho,RSethietJ-DUllman,Compilateurs : Principes, techniques et outils, InterEditions, Paris (99) [2] A Aho et JD Ullman, Concepts fondamentaux de l Informatique, Dunod, Paris (992) [] J Berstel et J-E Pin, Local languages and the Berry-Sethi algorithm, rapport LITP 95/, IBP (995) [] G Berry et R Sethi, From Regular Expression to Deterministic Automata, Theoret Comput Sci 8 (996) 7 26 [5] D Beauquier, J Berstel et Ph Chrétienne, Eléments d algorithmique, Masson, Paris (992) [6]ABrüggemann-Klein, Regular Expressions into Finite Automata, Theoret Comput Sci 20 (99) 97 2 [7] J-M Champarnaud, AUT : un langage pour la manipulation des automates et des semi-groupes finis, Théorie des automates et applications, ed D Krob, Deuxièmes journées franco-belges, Publication de l Université derouen76 (99) 29 [8] J-M Champarnaud et G Hansel, AUTOMATE, a computing package for automata and finite semigroups, Journ Symbolic Computation 2 (99) [9] CH Chang et R Paige, From regular expressions to dfa s using compressed nfa s Lecture Notes Comput Sci 6 (992) [0] V-M Glushkov, The abstract theory of automata, Russian Mathematical Surveys 6 (96) 5 [] BW Watson, Taxonomies and Toolkits of Regular Language Algorithms, CIP- DATA Koninklijke Bibliotheek, Den Haag, Ph D, Eindhoven University of Technology (995) [2] D Ziadi, Algorithmique parallèle et séquentielle des automates, Thèsededoctorat, Université de Rouen, 996, rapport LIR àparaître

27 Passage d une expression rationnelle à un automate fini non-déterministe 20 [] D Ziadi et J-M Champarnaud, Algorithme parallèle efficace de passage d une expression rationnelle à un automate, LIR950 Informatique Fondamentale, Université de Rouen (995), soumis Djelloul Ziadi, Jean Luc Ponty et Jean-Marc Champarnaud Laboratoire d Informatique de Rouen Université derouen Place E Blondel F-7682 Mont-Saint Aignan Cédex (France) {ziadi,ponty,jmc}@diruniv-rouenfr

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

Université 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étail

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

Travaux 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étail

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

Chap 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étail

Les structures de données. Rajae El Ouazzani

Les structures de données. Rajae El Ouazzani Les structures de données Rajae El Ouazzani Les arbres 2 1- Définition de l arborescence Une arborescence est une collection de nœuds reliés entre eux par des arcs. La collection peut être vide, cad l

Plus en détail

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

Ré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étail

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

Dé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étail

La mesure de Lebesgue sur la droite réelle

La mesure de Lebesgue sur la droite réelle Chapitre 1 La mesure de Lebesgue sur la droite réelle 1.1 Ensemble mesurable au sens de Lebesgue 1.1.1 Mesure extérieure Définition 1.1.1. Un intervalle est une partie convexe de R. L ensemble vide et

Plus en détail

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

CH.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étail

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

Exercices - Fonctions de plusieurs variables : corrigé. Pour commencer Pour commencer Exercice 1 - Ensembles de définition - Première année - 1. Le logarithme est défini si x + y > 0. On trouve donc le demi-plan supérieur délimité par la droite d équation x + y = 0.. 1 xy

Plus en détail

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

* très facile ** facile *** difficulté moyenne **** difficile ***** très difficile I : Incontournable T : pour travailler et mémoriser le cours Exo7 Continuité (étude globale). Diverses fonctions Exercices de Jean-Louis Rouget. Retrouver aussi cette fiche sur www.maths-france.fr * très facile ** facile *** difficulté moyenne **** difficile *****

Plus en détail

Groupe symétrique. Chapitre II. 1 Définitions et généralités

Groupe symétrique. Chapitre II. 1 Définitions et généralités Chapitre II Groupe symétrique 1 Définitions et généralités Définition. Soient n et X l ensemble 1,..., n. On appelle permutation de X toute application bijective f : X X. On note S n l ensemble des permutations

Plus en détail

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

Théorème du point fixe - Théorème de l inversion locale Chapitre 7 Théorème du point fixe - Théorème de l inversion locale Dans ce chapitre et le suivant, on montre deux applications importantes de la notion de différentiabilité : le théorème de l inversion

Plus en détail

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

Intégration et probabilités TD1 Espaces mesurés Corrigé Intégration et probabilités TD1 Espaces mesurés Corrigé 2012-2013 1 Petites questions 1 Est-ce que l ensemble des ouverts de R est une tribu? Réponse : Non, car le complémentaire de ], 0[ n est pas ouvert.

Plus en détail

Calcul différentiel. Chapitre 1. 1.1 Différentiabilité

Calcul différentiel. Chapitre 1. 1.1 Différentiabilité Chapitre 1 Calcul différentiel L idée du calcul différentiel est d approcher au voisinage d un point une fonction f par une fonction plus simple (ou d approcher localement le graphe de f par un espace

Plus en détail

Quelques Algorithmes simples

Quelques Algorithmes simples Quelques Algorithmes simples Irène Guessarian ig@liafa.jussieu.fr 10 janvier 2012 Je remercie Patrick Cegielski de son aide efficace pour la programmation Java ; la section sur le codage de Huffman a été

Plus en détail

1 Définition et premières propriétés des congruences

1 Définition et premières propriétés des congruences Université Paris 13, Institut Galilée Département de Mathématiques Licence 2ème année Informatique 2013-2014 Cours de Mathématiques pour l Informatique Des nombres aux structures Sylviane R. Schwer Leçon

Plus en détail

Cours d Analyse. Fonctions de plusieurs variables

Cours 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étail

Théorèmes de Point Fixe et Applications 1

Théorèmes de Point Fixe et Applications 1 Théorèmes de Point Fixe et Applications 1 Victor Ginsburgh Université Libre de Bruxelles et CORE, Louvain-la-Neuve Janvier 1999 Published in C. Jessua, C. Labrousse et D. Vitry, eds., Dictionnaire des

Plus en détail

chapitre 4 Nombres de Catalan

chapitre 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étail

Chapitre 7. Récurrences

Chapitre 7. Récurrences Chapitre 7 Récurrences 333 Plan 1. Introduction 2. Applications 3. Classification des récurrences 4. Résolution de récurrences 5. Résumé et comparaisons Lectures conseillées : I MCS, chapitre 20. I Rosen,

Plus en détail

Exercices 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 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étail

Relation d ordre. Manipulation des relations d ordre. Lycée Pierre de Fermat 2012/2013 Feuille d exercices

Relation d ordre. Manipulation des relations d ordre. Lycée Pierre de Fermat 2012/2013 Feuille d exercices Lycée Pierre de Fermat 2012/2013 MPSI 1 Feuille d exercices Manipulation des relations d ordre. Relation d ordre Exercice 1. Soit E un ensemble fixé contenant au moins deux éléments. On considère la relation

Plus en détail

Résolution d équations non linéaires

Ré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étail

3 Approximation de solutions d équations

3 Approximation de solutions d équations 3 Approximation de solutions d équations Une équation scalaire a la forme générale f(x) =0où f est une fonction de IR dans IR. Un système de n équations à n inconnues peut aussi se mettre sous une telle

Plus en détail

Calcul fonctionnel holomorphe dans les algèbres de Banach

Calcul fonctionnel holomorphe dans les algèbres de Banach Chapitre 7 Calcul fonctionnel holomorphe dans les algèbres de Banach L objet de ce chapitre est de définir un calcul fonctionnel holomorphe qui prolonge le calcul fonctionnel polynômial et qui respecte

Plus en détail

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

Fondements 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étail

Cours d introduction à l informatique. Partie 2 : Comment écrire un algorithme? Qu est-ce qu une variable? Expressions et instructions

Cours d introduction à l informatique. Partie 2 : Comment écrire un algorithme? Qu est-ce qu une variable? Expressions et instructions Cours d introduction à l informatique Partie 2 : Comment écrire un algorithme? Qu est-ce qu une variable? Expressions et instructions Qu est-ce qu un Une recette de cuisine algorithme? Protocole expérimental

Plus en détail

Continuité en un point

Continuité en un point DOCUMENT 4 Continuité en un point En général, D f désigne l ensemble de définition de la fonction f et on supposera toujours que cet ensemble est inclus dans R. Toutes les fonctions considérées sont à

Plus en détail

Une forme générale de la conjecture abc

Une forme générale de la conjecture abc Une forme générale de la conjecture abc Nicolas Billerey avec l aide de Manuel Pégourié-Gonnard 6 août 2009 Dans [Lan99a], M Langevin montre que la conjecture abc est équivalente à la conjecture suivante

Plus en détail

MIS 102 Initiation à l Informatique

MIS 102 Initiation à l Informatique MIS 102 Initiation à l Informatique Responsables et cours : Cyril Gavoille Catherine Pannier Matthias Robine Marc Zeitoun Planning : 6 séances de cours 5 séances de TD (2h40) 4 séances de TP (2h40) + environ

Plus en détail

Limites finies en un point

Limites 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étail

1 Recherche en table par balayage

1 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étail

ARBRES BINAIRES DE RECHERCHE

ARBRES BINAIRES DE RECHERCHE ARBRES BINAIRES DE RECHERCHE Table de symboles Recherche : opération fondamentale données : éléments avec clés Type abstrait d une table de symboles (symbol table) ou dictionnaire Objets : ensembles d

Plus en détail

Problèmes de Mathématiques Filtres et ultrafiltres

Problè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étail

LES OUTILS D ALIMENTATION DU REFERENTIEL DE DB-MAIN

LES OUTILS D ALIMENTATION DU REFERENTIEL DE DB-MAIN LES OUTILS D ALIMENTATION DU REFERENTIEL DE DB-MAIN Les contenues de ce document sont la propriété exclusive de la société REVER. Ils ne sont transmis qu à titre d information et ne peuvent en aucun cas

Plus en détail

Sur certaines séries entières particulières

Sur certaines séries entières particulières ACTA ARITHMETICA XCII. 2) Sur certaines séries entières particulières par Hubert Delange Orsay). Introduction. Dans un exposé à la Conférence Internationale de Théorie des Nombres organisée à Zakopane

Plus en détail

Arbres binaires de recherche

Arbres binaires de recherche 1 arbre des comparaisons 2 recherche dichotomique l'arbre est recalculé à chaque recherche 2 5 3 4 7 9 1 6 1 2 3 4 5 6 7 9 10 conserver la structure d'arbre au lieu de la reconstruire arbre binaire de

Plus en détail

Image d un intervalle par une fonction continue

Image 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étail

Le produit semi-direct

Le produit semi-direct Le produit semi-direct Préparation à l agrégation de mathématiques Université de Nice - Sophia Antipolis Antoine Ducros Octobre 2007 Ce texte est consacré, comme son titre l indique, au produit semi-direct.

Plus en détail

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

Dualité dans les espaces de Lebesgue et mesures de Radon finies Chapitre 6 Dualité dans les espaces de Lebesgue et mesures de Radon finies Nous allons maintenant revenir sur les espaces L p du Chapitre 4, à la lumière de certains résultats du Chapitre 5. Sauf mention

Plus en détail

Initiation à la Programmation en Logique avec SISCtus Prolog

Initiation à 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étail

LE PROBLEME DU PLUS COURT CHEMIN

LE PROBLEME DU PLUS COURT CHEMIN LE PROBLEME DU PLUS COURT CHEMIN Dans cette leçon nous définissons le modèle de plus court chemin, présentons des exemples d'application et proposons un algorithme de résolution dans le cas où les longueurs

Plus en détail

Simulation centrée individus

Simulation centrée individus Simulation centrée individus Théorie des jeux Bruno BEAUFILS Université de Lille Année 4/5 Ce document est mis à disposition selon les termes de la Licence Creative Commons Attribution - Partage dans les

Plus en détail

Exemple 4.4. Continuons l exemple précédent. Maintenant on travaille sur les quaternions et on a alors les décompositions

Exemple 4.4. Continuons l exemple précédent. Maintenant on travaille sur les quaternions et on a alors les décompositions Exemple 4.4. Continuons l exemple précédent. Maintenant on travaille sur les quaternions et on a alors les décompositions HQ = He 1 He 2 He 3 He 4 HQ e 5 comme anneaux (avec centre Re 1 Re 2 Re 3 Re 4

Plus en détail

Utilisation des tableaux sémantiques dans les logiques de description

Utilisation 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étail

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

Informatique 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étail

Logique. Plan du chapitre

Logique. 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étail

La fonction exponentielle

La 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étail

Initiation à l algorithmique

Initiation à l algorithmique Informatique S1 Initiation à l algorithmique procédures et fonctions 2. Appel d une fonction Jacques TISSEAU Ecole Nationale d Ingénieurs de Brest Technopôle Brest-Iroise CS 73862-29238 Brest cedex 3 -

Plus en détail

www.h-k.fr/publications/objectif-agregation

www.h-k.fr/publications/objectif-agregation «Sur C, tout est connexe!» www.h-k.fr/publications/objectif-agregation L idée de cette note est de montrer que, contrairement à ce qui se passe sur R, «sur C, tout est connexe». Cet abus de langage se

Plus en détail

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

Optimisation non linéaire Irène Charon, Olivier Hudry École nationale supérieure des télécommunications Optimisation non linéaire Irène Charon, Olivier Hudry École nationale supérieure des télécommunications A. Optimisation sans contrainte.... Généralités.... Condition nécessaire et condition suffisante

Plus en détail

Calcul différentiel sur R n Première partie

Calcul différentiel sur R n Première partie Calcul différentiel sur R n Première partie Université De Metz 2006-2007 1 Définitions générales On note L(R n, R m ) l espace vectoriel des applications linéaires de R n dans R m. Définition 1.1 (différentiabilité

Plus en détail

Les indices à surplus constant

Les indices à surplus constant Les indices à surplus constant Une tentative de généralisation des indices à utilité constante On cherche ici en s inspirant des indices à utilité constante à définir un indice de prix de référence adapté

Plus en détail

INF 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 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étail

Cours de mathématiques

Cours de mathématiques DEUG MIAS premier niveau Cours de mathématiques année 2003/2004 Guillaume Legendre (version révisée du 3 avril 2015) Table des matières 1 Éléments de logique 1 1.1 Assertions...............................................

Plus en détail

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

De même, le périmètre P d un cercle de rayon 1 vaut P = 2π (par définition de π). Mais, on peut démontrer (difficilement!) que 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étail

Simulation de variables aléatoires

Simulation de variables aléatoires Chapter 1 Simulation de variables aléatoires Références: [F] Fishman, A first course in Monte Carlo, chap 3. [B] Bouleau, Probabilités de l ingénieur, chap 4. [R] Rubinstein, Simulation and Monte Carlo

Plus en détail

Théorie de la mesure. S. Nicolay

Thé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étail

DOCM 2013 http://docm.math.ca/ Solutions officielles. 1 2 10 + 1 2 9 + 1 2 8 = n 2 10.

DOCM 2013 http://docm.math.ca/ Solutions officielles. 1 2 10 + 1 2 9 + 1 2 8 = n 2 10. A1 Trouvez l entier positif n qui satisfait l équation suivante: Solution 1 2 10 + 1 2 9 + 1 2 8 = n 2 10. En additionnant les termes du côté gauche de l équation en les mettant sur le même dénominateur

Plus en détail

Structures algébriques

Structures 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étail

Algorithmique, Structures de données et langage C

Algorithmique, Structures de données et langage C UNIVERSITE PAUL SABATIER TOULOUSE III Algorithmique, Structures de données et langage C L3 IUP AISEM/ICM Janvier 2005 J.M. ENJALBERT Chapitre 1 Rappels et compléments de C 1.1 Structures Une structure

Plus en détail

INITIATION AU LANGAGE C SUR PIC DE MICROSHIP

INITIATION 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étail

Arithmétique binaire. Chapitre. 5.1 Notions. 5.1.1 Bit. 5.1.2 Mot

Arithmé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étail

Correction du baccalauréat S Liban juin 2007

Correction du baccalauréat S Liban juin 2007 Correction du baccalauréat S Liban juin 07 Exercice. a. Signe de lnx lnx) : on fait un tableau de signes : x 0 e + ln x 0 + + lnx + + 0 lnx lnx) 0 + 0 b. On afx) gx) lnx lnx) lnx lnx). On déduit du tableau

Plus en détail

Théorie des Langages

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étail

Introduction à la théorie des graphes. Solutions des exercices

Introduction à 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étail

Capes 2002 - Première épreuve

Capes 2002 - Première épreuve Cette correction a été rédigée par Frédéric Bayart. Si vous avez des remarques à faire, ou pour signaler des erreurs, n hésitez pas à écrire à : mathweb@free.fr Mots-clés : équation fonctionnelle, série

Plus en détail

I - 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 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étail

# let rec concat l1 l2 = match l1 with [] -> l2 x::l 1 -> x::(concat l 1 l2);; val concat : a list -> a list -> a list = <fun>

# let rec concat l1 l2 = match l1 with [] -> l2 x::l 1 -> x::(concat l 1 l2);; val concat : a list -> a list -> a list = <fun> 94 Programmation en OCaml 5.4.8. Concaténation de deux listes Définissons maintenant la fonction concat qui met bout à bout deux listes. Ainsi, si l1 et l2 sont deux listes quelconques, concat l1 l2 constitue

Plus en détail

Recherche dans un tableau

Recherche dans un tableau Chapitre 3 Recherche dans un tableau 3.1 Introduction 3.1.1 Tranche On appelle tranche de tableau, la donnée d'un tableau t et de deux indices a et b. On note cette tranche t.(a..b). Exemple 3.1 : 3 6

Plus en détail

Première partie. Préliminaires : noyaux itérés. MPSI B 6 juin 2015

Première partie. Préliminaires : noyaux itérés. MPSI B 6 juin 2015 Énoncé Soit V un espace vectoriel réel. L espace vectoriel des endomorphismes de V est désigné par L(V ). Lorsque f L(V ) et k N, on désigne par f 0 = Id V, f k = f k f la composée de f avec lui même k

Plus en détail

Suites numériques 3. 1 Convergence et limite d une suite

Suites numériques 3. 1 Convergence et limite d une suite Suites numériques 3 1 Convergence et limite d une suite Nous savons que les termes de certaines suites s approchent de plus en plus d une certaine valeur quand n augmente : par exemple, les nombres u n

Plus en détail

LES TYPES DE DONNÉES DU LANGAGE PASCAL

LES TYPES DE DONNÉES DU LANGAGE PASCAL LES TYPES DE DONNÉES DU LANGAGE PASCAL 75 LES TYPES DE DONNÉES DU LANGAGE PASCAL CHAPITRE 4 OBJECTIFS PRÉSENTER LES NOTIONS D ÉTIQUETTE, DE CONS- TANTE ET DE IABLE DANS LE CONTEXTE DU LAN- GAGE PASCAL.

Plus en détail

Continuité et dérivabilité d une fonction

Continuité 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étail

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

Chapitre 2 Le problème de l unicité des solutions Université Joseph Fourier UE MAT 127 Mathématiques année 2011-2012 Chapitre 2 Le problème de l unicité des solutions Ce que nous verrons dans ce chapitre : un exemple d équation différentielle y = f(y)

Plus en détail

Développement décimal d un réel

Développement décimal d un réel 4 Développement décimal d un réel On rappelle que le corps R des nombres réels est archimédien, ce qui permet d y définir la fonction partie entière. En utilisant cette partie entière on verra dans ce

Plus en détail

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

Fonctions de plusieurs variables, intégrales multiples, et intégrales dépendant d un paramètre IUFM du Limousin 2009-10 PLC1 Mathématiques S. Vinatier Rappels de cours Fonctions de plusieurs variables, intégrales multiples, et intégrales dépendant d un paramètre 1 Fonctions de plusieurs variables

Plus en détail

La classification automatique de données quantitatives

La classification automatique de données quantitatives La classification automatique de données quantitatives 1 Introduction Parmi les méthodes de statistique exploratoire multidimensionnelle, dont l objectif est d extraire d une masse de données des informations

Plus en détail

Correction du Baccalauréat S Amérique du Nord mai 2007

Correction du Baccalauréat S Amérique du Nord mai 2007 Correction du Baccalauréat S Amérique du Nord mai 7 EXERCICE points. Le plan (P) a une pour équation cartésienne : x+y z+ =. Les coordonnées de H vérifient cette équation donc H appartient à (P) et A n

Plus en détail

Pourquoi l apprentissage?

Pourquoi l apprentissage? Pourquoi l apprentissage? Les SE sont basés sur la possibilité d extraire la connaissance d un expert sous forme de règles. Dépend fortement de la capacité à extraire et formaliser ces connaissances. Apprentissage

Plus en détail

Calculabilité Cours 3 : Problèmes non-calculables. http://www.irisa.fr/lande/pichardie/l3/log/

Calculabilité Cours 3 : Problèmes non-calculables. http://www.irisa.fr/lande/pichardie/l3/log/ Calculabilité Cours 3 : Problèmes non-calculables http://www.irisa.fr/lande/pichardie/l3/log/ Problèmes et classes de décidabilité Problèmes et classes de décidabilité Nous nous intéressons aux problèmes

Plus en détail

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.

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. 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étail

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

Développements limités. Notion de développement limité MT12 - ch2 Page 1/8 Développements limités Dans tout ce chapitre, I désigne un intervalle de R non vide et non réduit à un point. I Notion de développement limité Dans tout ce paragraphe, a désigne un

Plus en détail

Théorie de la Mesure et Intégration

Théorie de la Mesure et Intégration Université Pierre & Marie Curie (Paris 6) Licence de Mathématiques L3 UE LM364 Intégration 1 & UE LM365 Intégration 2 Année 2010 11 Théorie de la Mesure et Intégration Responsable des cours : Amaury LAMBERT

Plus en détail

TP 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 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étail

Plus courts chemins, programmation dynamique

Plus 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

Projet 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. 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étail

Les arbres binaires de recherche

Les arbres binaires de recherche Institut Galilée Année 2010-2011 Algorithmique et arbres L2 TD 6 Les arbres binaires de recherche Type en C des arbres binaires (également utilisé pour les ABR) : typedef struct noeud_s { struct noeud_s

Plus en détail

Prénom : Matricule : Sigle et titre du cours Groupe Trimestre INF1101 Algorithmes et structures de données Tous H2004. Loc Jeudi 29/4/2004

Prénom : Matricule : Sigle et titre du cours Groupe Trimestre INF1101 Algorithmes et structures de données Tous H2004. Loc Jeudi 29/4/2004 Questionnaire d'examen final INF1101 Sigle du cours Nom : Signature : Prénom : Matricule : Sigle et titre du cours Groupe Trimestre INF1101 Algorithmes et structures de données Tous H2004 Professeur(s)

Plus en détail

Proposition. Si G est un groupe simple d ordre 60 alors G est isomorphe à A 5.

Proposition. Si G est un groupe simple d ordre 60 alors G est isomorphe à A 5. DÉVELOPPEMENT 32 A 5 EST LE SEUL GROUPE SIMPLE D ORDRE 60 Proposition. Si G est un groupe simple d ordre 60 alors G est isomorphe à A 5. Démonstration. On considère un groupe G d ordre 60 = 2 2 3 5 et

Plus en détail

FONCTIONS DE PLUSIEURS VARIABLES (Outils Mathématiques 4)

FONCTIONS DE PLUSIEURS VARIABLES (Outils Mathématiques 4) FONCTIONS DE PLUSIEURS VARIABLES (Outils Mathématiques 4) Bernard Le Stum Université de Rennes 1 Version du 13 mars 2009 Table des matières 1 Fonctions partielles, courbes de niveau 1 2 Limites et continuité

Plus en détail

Algorithmes d'apprentissage

Algorithmes d'apprentissage Algorithmes d'apprentissage 1 Agents qui apprennent à partir d'exemples La problématique : prise de décision automatisée à partir d'un ensemble d'exemples Diagnostic médical Réponse à une demande de prêt

Plus en détail

Tâche complexe produite par l académie de Clermont-Ferrand. Mai 2012 LE TIR A L ARC. (d après une idée du collège des Portes du Midi de Maurs)

Tâche complexe produite par l académie de Clermont-Ferrand. Mai 2012 LE TIR A L ARC. (d après une idée du collège des Portes du Midi de Maurs) (d après une idée du collège des Portes du Midi de Maurs) Table des matières Fiche professeur... 2 Fiche élève... 5 1 Fiche professeur Niveaux et objectifs pédagogiques 5 e : introduction ou utilisation

Plus en détail

Fonctions de plusieurs variables : dérivés partielles, diérentielle. Fonctions composées. Fonctions de classe C 1. Exemples

Fonctions de plusieurs variables : dérivés partielles, diérentielle. Fonctions composées. Fonctions de classe C 1. Exemples 45 Fonctions de plusieurs variables : dérivés partielles, diérentielle. Fonctions composées. Fonctions de classe C 1. Exemples Les espaces vectoriels considérés sont réels, non réduits au vecteur nul et

Plus en détail

Jade. Projet Intelligence Artificielle «Devine à quoi je pense»

Jade. Projet Intelligence Artificielle «Devine à quoi je pense» Jade Projet Intelligence Artificielle «Devine à quoi je pense» Réalisé par Djénéba Djikiné, Alexandre Bernard et Julien Lafont EPSI CSII2-2011 TABLE DES MATIÈRES 1. Analyse du besoin a. Cahier des charges

Plus en détail

Correction de l examen de la première session

Correction de l examen de la première session de l examen de la première session Julian Tugaut, Franck Licini, Didier Vincent Si vous trouvez des erreurs de Français ou de mathématiques ou bien si vous avez des questions et/ou des suggestions, envoyez-moi

Plus en détail

Sujet proposé par Yves M. LEROY. Cet examen se compose d un exercice et de deux problèmes. Ces trois parties sont indépendantes.

Sujet proposé par Yves M. LEROY. Cet examen se compose d un exercice et de deux problèmes. Ces trois parties sont indépendantes. Promotion X 004 COURS D ANALYSE DES STRUCTURES MÉCANIQUES PAR LA MÉTHODE DES ELEMENTS FINIS (MEC 568) contrôle non classant (7 mars 007, heures) Documents autorisés : polycopié ; documents et notes de

Plus en détail

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

Cours 02 : Problème général de la programmation linéaire Cours 02 : Problème général de la programmation linéaire Cours 02 : Problème général de la Programmation Linéaire. 5 . Introduction Un programme linéaire s'écrit sous la forme suivante. MinZ(ou maxw) =

Plus en détail

Programmation linéaire et Optimisation. Didier Smets

Programmation linéaire et Optimisation. Didier Smets Programmation linéaire et Optimisation Didier Smets Chapitre 1 Un problème d optimisation linéaire en dimension 2 On considère le cas d un fabricant d automobiles qui propose deux modèles à la vente, des

Plus en détail