Transducteurs d arbres et (peut-être un peu) apprentissage

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

Download "Transducteurs d arbres et (peut-être un peu) apprentissage"

Transcription

1 Transducteurs d arbres et (peut-être un peu) apprentissage A. Lemay 2006

2 Taxonomie des transducteurs d arbres Syntax Directed translation (Irons 60) Attributed Tree Transducers (Knuth 68, Fülop 81) Rational Tree Transductions à TATA (Tatcher Wright 70) Relabeling Tree Transducers (Engelfriet 75) Macro Tree Transducers (Engelfriet 80,...) Tree Walking Transducers (Aho/Ullman 80) Pebble Tree Transducers (Milo, Suciu, Vianu 2000) MSO Tree Transducers (Engelfriet 91, Courcelle 92) + variantes diverses (Pebble Macro Tree Transducer,...)

3 1 Taxonomie des transducteurs d arbres Syntax Directed Transducers Attributed Tree Transducer MSO Tree transducers Transductions rationnelles Macro Tree Transducers Tree Walking/Pebble Tree Transducers Récapitulatif 2 Apprentissage de transducteurs Principes Généraux

4 Plan 1 Taxonomie des transducteurs d arbres Syntax Directed Transducers Attributed Tree Transducer MSO Tree transducers Transductions rationnelles Macro Tree Transducers Tree Walking/Pebble Tree Transducers Récapitulatif 2 Apprentissage de transducteurs Principes Généraux

5 SD Transducers Plan 1 Taxonomie des transducteurs d arbres Syntax Directed Transducers Attributed Tree Transducer MSO Tree transducers Transductions rationnelles Macro Tree Transducers Tree Walking/Pebble Tree Transducers Récapitulatif 2 Apprentissage de transducteurs Principes Généraux

6 SD Transducers SD Transducers : définition Définition (informelle) basée sur une grammaire context-free ( Deux grammaires Context-Free en parallèle) Règles de la forme : X ay (1) Y (2) cz {Y (1) dezy (2) } tous les non-terminaux se retrouvent dans la production pas de contraintes sur les terminaux la production se fait en déroulant le parse. Provient des travaux sur les compilateurs (origine ALGOL 60)

7 SD Transducers SD Transducers : exemple Passage infixe vers Suffixe S E {E} T T P {TP } E E + T {ET +} T T /P {TP/} E E T {ET } T P {P} E T {T } P i P {ip }

8 SD Transducers SD Transducers : Conclusion Conclusion Intérêt historique (vient des la compilation d ALGOL 60) Sous-famille de transductions rationnels

9 Attributed Tree Transducer Plan 1 Taxonomie des transducteurs d arbres Syntax Directed Transducers Attributed Tree Transducer MSO Tree transducers Transductions rationnelles Macro Tree Transducers Tree Walking/Pebble Tree Transducers Récapitulatif 2 Apprentissage de transducteurs Principes Généraux

10 Attributed Tree Transducer Attributed Grammars : Principes Exemple : parcours dans l espace path ε step.path step N S O E Idée : associer des attributs (propriétés) aux non terminaux d une grammaire context-free Exemple : quelle est la longueur du chemin en nombre de pas? quel est le chemin parcouru sur la coordonnée x ou y?

11 Attributed Tree Transducer Attributed Grammar : Exemple 1 path.pos x : Coordonnée en x d un chemin step.dep x : Coordonnée en x d un pas Grammaire Grammaire Règle sémantique path ε path.pos x = 0 path step.path path.dep x = step.dep x + path.pos x step N S step.dep x = 0 step O step.dep x = 1 step E step.dep x = 1

12 Attributed Tree Transducer Attributed Grammar : Exemple 1 Chemin O. N. E. : path 0 step 1 path 1 O step 0 path 1 N step 1 path 0 E ε 0

13 Attributed Tree Transducer Attributed Grammar : Exemple 1 Chemin O. N. E. : path 0 + step 1 path O step 0 path N step 1 path E ε 0 Le calcul des attributs peut se voir comme une transformation

14 Attributed Tree Transducer Parenthèse ATT et requête Requête ATT : ATT dont l un des attributs est booléen même expressivité que MSO (Bloem Engelfriet 96)

15 Attributed Tree Transducer Attributed Grammars : attributs Deux types d attributs : attributs Synthétisés (Syn ) : valeur dépendante des descendants (ici Pos x et Dep x ) attributs hérités (Inh ) : valeur dépendante des parents ou des frères (du contexte).

16 Attributed Tree Transducer Attributed Grammar : exemple 2 Grammaire Infixe vers Suffixe Syn = {a S } Inh = {a I } Grammaire Règle sémantique S T S.a S = T.a S T.a I = ε T 1 T.a S = 1(T.a I ) T T 1 + T 2 T.a S = T 1.a S T 1.a I = T 2.a S T 2.a I = +(T.a I )

17 Attributed Tree Transducer Attributed Grammar : exemple 2 Règles S T S.a S = T.a S T T 1 + T 2 T.a S = T 1.a S T.a I = ε T 1.a I = T 2.a S T 1 T.a S = 1(T.a I ) T 2.a I = +(T.a I ) Exemple : (1 + 1) + 1 en A + B 1 C A.a S = B.a S, B.a I = C.a S, C.a I = +(A.a I ) 1 D 1 E

18 Attributed Tree Transducer Attributed Grammar : exemple 2 Règles S T S.a S = T.a S T T 1 + T 2 T.a S = T 1.a S T.a I = ε T 1.a I = T 2.a S T 1 T.a S = 1(T.a I ) T 2.a I = +(T.a I ) Exemple : (1 + 1) + 1 en A + B 1 C A.a S = D.a S, B.a I = C.a S, C.a I = +() 1 D 1 E

19 Attributed Tree Transducer Attributed Grammar : exemple 2 Règles S T S.a S = T.a S T T 1 + T 2 T.a S = T 1.a S T.a I = ε T 1.a I = T 2.a S T 1 T.a S = 1(T.a I ) T 2.a I = +(T.a I ) Exemple : (1 + 1) + 1 en A + B 1 D 1 E A.a S = D.a S, B.a I = C.a S, C.a I = +() 1 B.a S = D.a S, D.a I = E.a S, C E.a I = +(B.a I )

20 Attributed Tree Transducer Attributed Grammar : exemple 2 Règles S T S.a S = T.a S T T 1 + T 2 T.a S = T 1.a S T.a I = ε T 1.a I = T 2.a S T 1 T.a S = 1(T.a I ) T 2.a I = +(T.a I ) Exemple : (1 + 1) + 1 en A + B 1 D 1 E A.a S = D.a S, B.a I = C.a S, C.a I = +() 1 B.a S = D.a S, D.a I = E.a S, C E.a I = +(C.a S )

21 Attributed Tree Transducer Attributed Grammar : exemple 2 Règles S T S.a S = T.a S T T 1 + T 2 T.a S = T 1.a S T.a I = ε T 1.a I = T 2.a S T 1 T.a S = 1(T.a I ) T 2.a I = +(T.a I ) Exemple : (1 + 1) + 1 en A + B 1 D 1 E A.a S = D.a S, B.a I = C.a S, C.a I = +() 1 B.a S = D.a S, D.a I = E.a S, C E.a I = +(C.a S )

22 Attributed Tree Transducer Attributed Grammar : exemple 2 Règles S T S.a S = T.a S T T 1 + T 2 T.a S = T 1.a S T.a I = ε T 1.a I = T 2.a S T 1 T.a S = 1(T.a I ) T 2.a I = +(T.a I ) Exemple : (1 + 1) + 1 en A A.a S = D.a S, B.a I = C.a S, C.a I = +() B.a S = D.a S, D.a I = E.a S, + B 1 C E.a I = +(C.a S ) C.a S = 1(C.a I ) 1 D 1 E

23 Attributed Tree Transducer Attributed Grammar : exemple 2 Règles S T S.a S = T.a S T T 1 + T 2 T.a S = T 1.a S T.a I = ε T 1.a I = T 2.a S T 1 T.a S = 1(T.a I ) T 2.a I = +(T.a I ) Exemple : (1 + 1) + 1 en A A.a S = D.a S, B.a I = C.a S, C.a I = +() B.a S = D.a S, D.a I = E.a S, + B 1 C E.a I = +(C.a S ) C.a S = 1(+()) 1 D 1 E

24 Attributed Tree Transducer Attributed Grammar : exemple 2 Règles S T S.a S = T.a S T T 1 + T 2 T.a S = T 1.a S T.a I = ε T 1.a I = T 2.a S T 1 T.a S = 1(T.a I ) T 2.a I = +(T.a I ) Exemple : (1 + 1) + 1 en A A.a S = D.a S, B.a I = 1(+()), C.a I = +() B.a S = D.a S, D.a I = E.a S, + B 1 C E.a I = +(C.a S ) C.a S = 1(+()) 1 D 1 E

25 Attributed Tree Transducer Attributed Grammar : exemple 2 Règles S T S.a S = T.a S T T 1 + T 2 T.a S = T 1.a S T.a I = ε T 1.a I = T 2.a S T 1 T.a S = 1(T.a I ) T 2.a I = +(T.a I ) Exemple : (1 + 1) + 1 en A A.a S = D.a S, B.a I = 1(+()), C.a I = +() B.a S = D.a S, D.a I = E.a S, + B 1 C E.a I = +(C.a S ) C.a S = 1(+()) 1 D 1 E

26 Attributed Tree Transducer Attributed Grammar : exemple 2 Règles S T S.a S = T.a S T T 1 + T 2 T.a S = T 1.a S T.a I = ε T 1.a I = T 2.a S T 1 T.a S = 1(T.a I ) T 2.a I = +(T.a I ) Exemple : (1 + 1) + 1 en A A.a S = D.a S, B.a I = 1(+()), C.a I = +() B.a S = D.a S, D.a I = E.a S, + B 1 C E.a I = +(1(+())) C.a S = 1(+()) 1 D 1 E

27 Attributed Tree Transducer Attributed Grammar : exemple 2 Règles S T S.a S = T.a S T T 1 + T 2 T.a S = T 1.a S T.a I = ε T 1.a I = T 2.a S T 1 T.a S = 1(T.a I ) T 2.a I = +(T.a I ) Exemple : (1 + 1) + 1 en A A.a S = D.a S, B.a I = 1(+()), C.a I = +() B.a S = D.a S, D.a I = E.a S, + B 1 E.a I = +(1(+())) C C.a S = 1(+()) D.a S = 1(D.a I ) 1 D 1 E

28 Attributed Tree Transducer Attributed Grammar : exemple 2 Règles S T S.a S = T.a S T T 1 + T 2 T.a S = T 1.a S T.a I = ε T 1.a I = T 2.a S T 1 T.a S = 1(T.a I ) T 2.a I = +(T.a I ) Exemple : (1 + 1) + 1 en A A.a S = D.a S, B.a I = 1(+()), C.a I = +() B.a S = D.a S, D.a I = E.a S, + B 1 E.a I = +(1(+())) C C.a S = 1(+()) D.a S = 1(E.a S ) 1 D 1 E

29 Attributed Tree Transducer Attributed Grammar : exemple 2 Règles S T S.a S = T.a S T T 1 + T 2 T.a S = T 1.a S T.a I = ε T 1.a I = T 2.a S T 1 T.a S = 1(T.a I ) T 2.a I = +(T.a I ) Exemple : (1 + 1) + 1 en A A.a S = D.a S, B.a I = 1(+()), C.a I = +() B.a S = D.a S, D.a I = E.a S, + B 1 E.a I = +(1(+())) C C.a S = 1(+()) D.a S = 1(E.a S ) 1 D 1 E

30 Attributed Tree Transducer Attributed Grammar : exemple 2 Règles S T S.a S = T.a S T T 1 + T 2 T.a S = T 1.a S T.a I = ε T 1.a I = T 2.a S T 1 T.a S = 1(T.a I ) T 2.a I = +(T.a I ) Exemple : (1 + 1) + 1 en A A.a S = D.a S, B.a I = 1(+()), C.a I = +() B.a S = 1(E.a S ), D.a I = E.a S, + B 1 E.a I = +(1(+())) C C.a S = 1(+()) D.a S = 1(E.a S ) 1 D 1 E

31 Attributed Tree Transducer Attributed Grammar : exemple 2 Règles S T S.a S = T.a S T T 1 + T 2 T.a S = T 1.a S T.a I = ε T 1.a I = T 2.a S T 1 T.a S = 1(T.a I ) T 2.a I = +(T.a I ) Exemple : (1 + 1) + 1 en A A.a S = 1(E.a S ), B.a I = 1(+()), C.a I = +() B.a S = 1(E.a S ), D.a I = E.a S, + B 1 E.a I = +(1(+())) C C.a S = 1(+()) D.a S = 1(E.a S ) 1 D 1 E

32 Attributed Tree Transducer Attributed Grammar : exemple 2 Règles S T S.a S = T.a S T T 1 + T 2 T.a S = T 1.a S T.a I = ε T 1.a I = T 2.a S T 1 T.a S = 1(T.a I ) T 2.a I = +(T.a I ) Exemple : (1 + 1) + 1 en A A.a S = 1(E.a S ), B.a I = 1(+()), C.a I = +() B.a S = 1(E.a S ), D.a I = E.a S, + B 1 C E.a I = +(1(+())) C.a S = 1(+()) D.a S = 1(E.a S ) 1 D 1 E E.a S = 1(E.a I )

33 Attributed Tree Transducer Attributed Grammar : exemple 2 Règles S T S.a S = T.a S T T 1 + T 2 T.a S = T 1.a S T.a I = ε T 1.a I = T 2.a S T 1 T.a S = 1(T.a I ) T 2.a I = +(T.a I ) Exemple : (1 + 1) + 1 en A A.a S = 1(E.a S ), B.a I = 1(+()), C.a I = +() B.a S = 1(E.a S ), D.a I = E.a S, + B 1 C E.a I = +(1(+())) C.a S = 1(+()) D.a S = 1(E.a S ) 1 D 1 E E.a S = 1(+(1(+())))

34 Attributed Tree Transducer Attributed Grammar : exemple 2 Règles S T S.a S = T.a S T T 1 + T 2 T.a S = T 1.a S T.a I = ε T 1.a I = T 2.a S T 1 T.a S = 1(T.a I ) T 2.a I = +(T.a I ) Exemple : (1 + 1) + 1 en A A.a S = 1(E.a S ), B.a I = 1(+()), C.a I = +() B.a S = 1(E.a S ), D.a I = E.a S, + B 1 C E.a I = +(1(+())) C.a S = 1(+()) D.a S = 1(1(+(1(+())))) 1 D 1 E E.a S = 1(+(1(+())))

35 Attributed Tree Transducer Attributed Grammar : exemple 2 Règles S T S.a S = T.a S T T 1 + T 2 T.a S = T 1.a S T.a I = ε T 1.a I = T 2.a S T 1 T.a S = 1(T.a I ) T 2.a I = +(T.a I ) Exemple : (1 + 1) + 1 en A A.a S = 1(E.a S ), B.a I = 1(+()), C.a I = +() B.a S = 1(1(+(1(+())))), D.a I = E.a S, + B 1 C E.a I = +(1(+())) C.a S = 1(+()) D.a S = 1(1(+(1(+())))) 1 D 1 E E.a S = 1(+(1(+())))

36 Attributed Tree Transducer Attributed Grammar : exemple 2 Règles S T S.a S = T.a S T T 1 + T 2 T.a S = T 1.a S T.a I = ε T 1.a I = T 2.a S T 1 T.a S = 1(T.a I ) T 2.a I = +(T.a I ) Exemple : (1 + 1) + 1 en A A.a S = 1(1(+(1(+())))), B.a I = 1(+()), C.a I = +() B.a S = 1(1(+(1(+())))), D.a I = E.a S, + B 1 C E.a I = +(1(+())) C.a S = 1(+()) D.a S = 1(1(+(1(+())))) 1 D 1 E E.a S = 1(+(1(+())))

37 Attributed Tree Transducer ATT (1) M = Syn, Inh, Σ,, a 0,, R Idée : Syn : attributs synthétisées (par le bas) Inh : attributs hérités (par le haut) a 0 : attribut initial ( Syn ) : symbole initial R : règles les transformations sont des attributs des noeuds l arbre de sortie est un attribut de la racine Syn permet une transformation ascendante Inh permet une transformation descendante Note : pas d états

38 Attributed Tree Transducer ATT (2) Définition M = Syn, Inh, Σ,, a 0,, R Règles de la forme : σ a(π) ν pour a Syn, σ Σ { }, ν RHS { } σ b(π i ) ν pour b Inh, σ Σ { }, ν RHS { } RHS (Right Hand Side) défini sur Syn Inh {π, π 1,..., π k } : a Syn : a(π i ) RHS (l attribut a du i-ème fils) b Inh : b(π) RHS (l attribut b du père) σ : σ(ν 1,..., ν k ) RHS avec ν i RHS

39 Attributed Tree Transducer ATT : exemple Passage notation infixe vers suffixe Syn = a S, Inh = a I Grammaire ATT S T S.a S = T.a S a S (π) a S (π 1 ) T.a I = ε a I (π 1 ) end T 1 T.a S = 1(T.a I ) a S (π) 1(a I (π)) T T 1 + T 2 T.a S = T 1.a S a S (π) a S (π 1 ) T 1.a I = T 2.a S a I (π 1 ) a S (π 2 ) T 2.a I = +, T.a I + a I (π 2 ) +(a I (π)) 1 + +

40 Attributed Tree Transducer ATT : Conclusion Attributed Tree Transducer basé sur les attributed grammars : grammaires CFG avec propriété sur les non-terminaux. l arbre de sortie est un attribut particulier (parmi d autres). Note ATT top-down : sans attributs hérités. ATT top-down ATT n-att (n+1)-att Apprentissage : improbable

41 MSO Tree transducers Plan 1 Taxonomie des transducteurs d arbres Syntax Directed Transducers Attributed Tree Transducer MSO Tree transducers Transductions rationnelles Macro Tree Transducers Tree Walking/Pebble Tree Transducers Récapitulatif 2 Apprentissage de transducteurs Principes Généraux

42 MSO Tree transducers MSO dans les arbres formules atomiques : label σ (x) edge(x, y) x X leaf (x) root(x) MSO1 formules MSO avec une variable libre définit des propriétés sur les noeuds utile pour les requêtes unaires Exemple : Φ(x) = {lab f (x) x, edge(y, x), leaf (x)} Les noeuds étiquetés f dont l un des fils est une feuille. MSO2 Deux variables libres Φ(x, y) : définit des relations entre deux noeuds

43 MSO Tree transducers MSO Graph Transducers Définit une fonction partielle τ M : g = (E, V ) h = (E, V ) Definition (Courcelle 94) M = Copy, Φ, Ψ n, Ψ a avec : Copy : l ensemble de copie Φ : formule MSO1 sur Σ (le domaine) Ψ n c,σ : formule MSO1 (formule des noeuds) dépendante de c Copy et σ Ψ a c,c : formule MSO2 (formule des arcs) dépendante de c, c Copy

44 MSO Tree transducers MSO Graph Transducers Définit une fonction partielle τ M : g = (E, V ) h = (E, V ) défini si g Φ E = {(c, u) c Copy, u V, ψc,σ(u)} n V = {((c, u), (c, u )) c, c Copy, u V, ψc,c a (u, u )} Idées Φ est le domaine de la fonction Copy détermine le type des noeuds de h ψ n c,σ définit quels sont les noeuds de g copiés de type c et relabellés par σ ψ a c,c définit quels sont les relations entre noeuds de h nécessaires pour créer une arête dans h

45 MSO Tree transducers MSO Tree Transducers MSO Tree Transducer MSO Tree Transducer = MSO Graph Transducer sur les arbres (en entrées/sortie)

46 MSO Tree transducers MSO-Tree Transducer : Exemple HTML RACINE BODY ID ID Id TABLE... TEXTE TEXTE... TR TR TR TD TD TEXTE TEXTE Copy = {racine, id, nom, prenom}

47 MSO Tree transducers MSO-Tree Transducer : Exemple HTML BODY TABLE TR TR TR TD TEXTE TD TEXTE ID... RACINE ID TEXTE TEXTE Id... Ψ n racine,racine (x) = (root(x)) Ψ n id,id (x) = label TR(x) Ψ n nom,texte (x) = (fils d un TD premier fils d un TR) (x) = (fils d un TD second fils d un TR) Ψ n prenom,texte

48 MSO Tree transducers MSO-Tree Transducer : Exemple HTML BODY TABLE TR TR TR TD TEXTE TD TEXTE ID... RACINE ID TEXTE TEXTE Id... Ψ a racine,id Ψ a id,nom Ψ a id,prenom (x, y) = (true) (x, y) = x est le petit-fils de y (x, y) = x est le petit-fils de y

49 Transductions rationnelles Plan 1 Taxonomie des transducteurs d arbres Syntax Directed Transducers Attributed Tree Transducer MSO Tree transducers Transductions rationnelles Macro Tree Transducers Tree Walking/Pebble Tree Transducers Récapitulatif 2 Apprentissage de transducteurs Principes Généraux

50 Transductions rationnelles Automate d Arbres : Notations M = Q, Σ, F, δ Q : ensemble fini d états Σ : alphabet ranked (d entrée) F : ensemble des états finaux (ou initiaux) δ : règles de la forme a q(a) f (q 1 (x 1 ),..., q n (x n )) q(f (x 1,..., x n )) (pour un ascendant) Pour les transductions : est l alphabet de sortie

51 Transductions rationnelles Relabeling Tree Transducers Transducteurs qui changent l étiquetage de l arbre de Σ vers. Équivalent aux transducteurs shape-preserving [Fulop & Gazdag 03 / Gazdag 04] Formes des règles a q(b) f (q 1 (x 1 ),..., q n (x n )) q(g(x 1,..., x k )) (souvent noté (f (q 1,..., q n )) q(g)) Node Selecting Tree Transducers : Relabeling fonctionnels avec Bool comme alphabet de sortie. Permettent de représenter les requêtes monadiques régulières (MSO, etc...)

52 Transductions rationnelles Relabeling : Exemple a q 1 (1) a q 2 (0) f (q 1, q 1 ) q 2 (0) f (q 2, q 2 ) q 1 (0) Final = {q 2 } f a f a a f a =

53 Transductions rationnelles Relabeling : Conclusion Avantages Permettent de représenter les requêtes monadiques régulières (via les NSTT) Apprenables [ICGI 04] Limitations Aucun changement de structure!

54 Transductions rationnelles Transducteurs d arbres à TATA Formes des règles a q(u) f (q 1 (x 1 ),..., q n (x n )) q(u) (noté (f (q 1,..., q n )) q(u)) avec u T X Peuvent être déterministes top-down ou bottom-up (en fonction de l automate d arbres support)

55 Transductions rationnelles Tree Transducers : Exemple D(+(x 1, x 2 )) +(D(x 1 ), D(x 2 )) D( (x 1, x 2 )) +( (D(x 1 ), I(x 2 )), (I(x 1 ), D(x 2 ))) I( (x 1, x 2 )) (I(x 1 ), I(x 2 )) D(sin(x 1 )) (cos(i(x 1 )), D(x 1 )) I(a) a I(y) y D(a) 0 D(y) 1... a D sin y Calcul de la dérivée d une fonction Alphabet : 0, 1, a, y, +,, sin, cos États : D (dérive), I (identité)

56 Transductions rationnelles Tree Transducers : Exemple D(+(x 1, x 2 )) +(D(x 1 ), D(x 2 )) D( (x 1, x 2 )) +( (D(x 1 ), I(x 2 )), (I(x 1 ), D(x 2 ))) I( (x 1, x 2 )) (I(x 1 ), I(x 2 )) D(sin(x 1 )) (cos(i(x 1 )), D(x 1 )) I(a) a I(y) y D(a) 0 D(y) 1... a cos I a y D y Calcul de la dérivée d une fonction Alphabet : 0, 1, a, y, +,, sin, cos États : D (dérive), I (identité)

57 Transductions rationnelles Tree Transducers : Exemple D(+(x 1, x 2 )) +(D(x 1 ), D(x 2 )) D( (x 1, x 2 )) +( (D(x 1 ), I(x 2 )), (I(x 1 ), D(x 2 ))) I( (x 1, x 2 )) (I(x 1 ), I(x 2 )) D(sin(x 1 )) (cos(i(x 1 )), D(x 1 )) I(a) a I(y) y D(a) 0 D(y) 1... a cos y D a I y + I a D y Calcul de la dérivée d une fonction Alphabet : 0, 1, a, y, +,, sin, cos États : D (dérive), I (identité)

58 Transductions rationnelles Tree Transducers : Exemple D(+(x 1, x 2 )) +(D(x 1 ), D(x 2 )) D( (x 1, x 2 )) +( (D(x 1 ), I(x 2 )), (I(x 1 ), D(x 2 ))) I( (x 1, x 2 )) (I(x 1 ), I(x 2 )) D(sin(x 1 )) (cos(i(x 1 )), D(x 1 )) I(a) a I(y) y D(a) 0 D(y) 1... a cos y 0 y + a 1 Calcul de la dérivée d une fonction Alphabet : 0, 1, a, y, +,, sin, cos États : D (dérive), I (identité)

59 Transductions rationnelles Tree Transducers : Conclusion avantages changements de structure possible non-linearité (copie), effacement de branches, permutation,... Inconvénients reste limité : difficile de remonter des branches

60 Transductions rationnelles Variante : avec look-ahead Composition avec un automate d arbre 1 L arbre est lu par un automate d arbre ascendant 2 les noeuds sont étiquetés par les états du run 3 le nouvel arbre est transformé par un transducteur descendant Le processus peut alors être déterministe

61 Transductions rationnelles Variante : avec algèbre de substitution l algèbre YIELD (ou SUBST) n symboles spéciaux α i Un symbole de substitution SUBST les α i sont substituées par les arguments de SUBST SUBST f b c YIELD f a c b a α 2 α 1 Transduction vers les trees avec SUBST puis YIELD : possibilité de déplacer des branches

62 Macro Tree Transducers Plan 1 Taxonomie des transducteurs d arbres Syntax Directed Transducers Attributed Tree Transducer MSO Tree transducers Transductions rationnelles Macro Tree Transducers Tree Walking/Pebble Tree Transducers Récapitulatif 2 Apprentissage de transducteurs Principes Généraux

63 Macro Tree Transducers Macro Tree Transducers : Principes Même idée général qu un transducteur d arbres mais, utilisation de paramètres ( accumulateurs ) : bouts d arbres collectés lors du run dans une règle : possibilité de stocker un bout d arbre (passer en paramètre) possibilité d utiliser les arbres stockés dans les arbres de sortie Grosso-Modo la même chose qu un transducteur avec algèbre de YIELD

64 Macro Tree Transducers Macro Tree Transducers : Definition M = Q, Σ,, I, δ Formes des règles q(a, y 1,..., y m ) ξ q(f (x 1,..., x k ), y 1,..., y m ) ξ ξ : arbres tel que σ(t 1,..., t l ) ξ, pour tout σ, t j ξ arbre sur l alphabet de sortie q(x i, t 1,..., t l ), pour q Q, x i X, t j ξ copie de sous arbre d entrée, + accumulation y i ξ, pour tout y i Y copie de paramètre Attention : vision top-down Note : MTT sans paramètre = transducteur d arbre top-down

65 Macro Tree Transducers Macro Tree Transducers : Exemple Exemple : retirer les multiplications q 0 (+(x 1, x 2 )) +(q 0 (x 1 ), q 0 (x 2 )) q 0 (1) 1 q 0 ( (x 1, x 2 )) q(x 1, q 0 (x 2 )) q(+(x 1, x 2 ), y 1 ) +(q(x 1, y 1 ), q(x 2, y 1 )) q(1, y 1 ) y 1 q 0 ( (x 1, x 2 ), y 1 ) q(x 1, q(x 2, y 1 )) q

66 Macro Tree Transducers Macro Tree Transducers : Exemple Exemple : retirer les multiplications q 0 (+(x 1, x 2 )) +(q 0 (x 1 ), q 0 (x 2 )) q 0 (1) 1 q 0 ( (x 1, x 2 )) q(x 1, q 0 (x 2 )) q(+(x 1, x 2 ), y 1 ) +(q(x 1, y 1 ), q(x 2, y 1 )) q(1, y 1 ) y 1 q 0 ( (x 1, x 2 ), y 1 ) q(x 1, q(x 2, y 1 )) q q q 0 1

67 Macro Tree Transducers Macro Tree Transducers : Exemple Exemple : retirer les multiplications q 0 (+(x 1, x 2 )) +(q 0 (x 1 ), q 0 (x 2 )) q 0 (1) 1 q 0 ( (x 1, x 2 )) q(x 1, q 0 (x 2 )) q(+(x 1, x 2 ), y 1 ) +(q(x 1, y 1 ), q(x 2, y 1 )) q(1, y 1 ) y 1 q 0 ( (x 1, x 2 ), y 1 ) q(x 1, q(x 2, y 1 )) q q

68 Macro Tree Transducers Macro Tree Transducers : Exemple Exemple : retirer les multiplications q 0 (+(x 1, x 2 )) +(q 0 (x 1 ), q 0 (x 2 )) q 0 (1) 1 q 0 ( (x 1, x 2 )) q(x 1, q 0 (x 2 )) q(+(x 1, x 2 ), y 1 ) +(q(x 1, y 1 ), q(x 2, y 1 )) q(1, y 1 ) y 1 q 0 ( (x 1, x 2 ), y 1 ) q(x 1, q(x 2, y 1 ))

69 Macro Tree Transducers MTT with regular look-ahead MTT R M = Q, P, Σ,, I, δ,h Q, Σ,, I, δ, est un MTT particulier P, Σ, h est un automate d arbre (l automate look-ahead de M) Fonctionnement On fait un run avec le look-ahead automaton (les noeuds sont étiquetés par les états de P) Les règles du MTT dépendent des états des fils de l états courants. Règles de la forme : q, σ(p 1 (x 1 ),..., p n (x n )) ξ Note : MTT R = MTT (Engelfriet Vogler, 85)

70 Tree Walking et Pebble Tr. Tr. Plan 1 Taxonomie des transducteurs d arbres Syntax Directed Transducers Attributed Tree Transducer MSO Tree transducers Transductions rationnelles Macro Tree Transducers Tree Walking/Pebble Tree Transducers Récapitulatif 2 Apprentissage de transducteurs Principes Généraux

71 Tree Walking et Pebble Tr. Tr. Tree Walking Transducer (1) Principes : Basé sur la notion de Tree Walking Automaton les règles impliquent un mouvement dans l arbre d entrée (up / down / stay ) (idem Tree Walking Automata) les règles produisent des bouts d arbres dans lesquelles il peut y avoir des branchements multiples (branching)

72 Tree Walking et Pebble Tr. Tr. Tree Walking Transducer (2) M = Q, Σ,, I, R Règles de la forme q, f ξ avec ξ : q, stay q, up (sauf si racine) q, down i (i : numéro du fils) σ( q 1, stay,..., q k, stay ) (relabeling + branching)

73 Tree Walking et Pebble Tr. Tr. TWT : exemple Exemple : explosion en largeur M = Q = {q}, Σ = {a 1, e 0 }, = {σ 2, e 0 }, I = {q}, R} avec R : q, a σ( q, down 1, q, down 1 ) q, e e a σ a a e

74 Tree Walking et Pebble Tr. Tr. TWT : exemple Exemple : explosion en largeur M = Q = {q}, Σ = {a 1, e 0 }, = {σ 2, e 0 }, I = {q}, R} avec R : q, a σ( q, down 1, q, down 1 ) q, e e a σ a σ σ a e

75 Tree Walking et Pebble Tr. Tr. TWT : exemple Exemple : explosion en largeur M = Q = {q}, Σ = {a 1, e 0 }, = {σ 2, e 0 }, I = {q}, R} avec R : q, a σ( q, down 1, q, down 1 ) q, e e a σ a σ σ a σ σ σ a e

76 Tree Walking et Pebble Tr. Tr. TWT : exemple Exemple : explosion en largeur M = Q = {q}, Σ = {a 1, e 0 }, = {σ 2, e 0 }, I = {q}, R} avec R : q, a σ( q, down 1, q, down 1 ) q, e e a a a σ σ a σ σ σ σ e e e e e e e e e

77 Tree Walking et Pebble Tr. Tr. Pebble Tree Transducer (1) Pebble = caillou Pebble Tree Transducer à n cailloux : n ptt Principe : on a n cailloux différents qui peuvent être déposés sur les noeuds (un de chaque type par noeud au max.) un vecteur de booléen sur chaque noeud les règles peuvent dépendre de la présence de cailloux les règles impliquent un mouvement dans l arbre d entrée (up / down / stay ) (idem Tree Walking Automata) les règles peuvent déposer (drop ) ou retirer (lift ) des cailloux

78 Tree Walking et Pebble Tr. Tr. Pebble Tree Transducer (2) M = Q, Σ,, I, R Règles de la forme q, f, b ξ avec b vecteur de cailloux (b {0, 1} n ) et ξ : σ( q 1, stay,..., q k, stay ) (relabeling + branching) q, stay q, up (sauf si racine) q, down i (i : numéro du fils) q, lift l (l : type de caillou) q, drop l (l : type de caillou, si présent)

79 Tree Walking et Pebble Tr. Tr. Pebble Tree Transducer (3) M = Q, Σ,, I, R Forme généralisée (Engelfriet & Maneth) q, f, b ξ avec b vecteur de cailloux (b {0, 1} n ), ξ T (Q {stay, up, down i, lift, drop })

80 Tree Walking et Pebble Tr. Tr. PTT : exemple

81 Tree Walking et Pebble Tr. Tr. Pebble Tree Transducer Notes 0-PTT : appelés Tree Walking Transducers n-ptt (n + 1)-PTT n-ptt = composition de n PTT n-dptt (deterministe) n-ptt (non-circulaires) 0-DPTT = ATT Inconvénients Apprentissage : Improbable (lien entre arbre d entrée et de sortie peu clair)

82 Récapitulatif Plan 1 Taxonomie des transducteurs d arbres Syntax Directed Transducers Attributed Tree Transducer MSO Tree transducers Transductions rationnelles Macro Tree Transducers Tree Walking/Pebble Tree Transducers Récapitulatif 2 Apprentissage de transducteurs Principes Généraux

83 Récapitulatif Récapitulatif Compilation Automates d arbres Tree Walking MSO SD Transducers Transducteurs d arbres attribués Relabeling Transductions rationnelles Macro Tree Transducers Tree Walking Transducers Pebble Tree Transducers MSO Tree Transducers

84 Récapitulatif Récapitulatif : Expressivité Expressivité des différents modèles RTT SDT TT MTTsur R MSO TT ATTsur R ATT MTT = MTT R 0 PTT = TWT MTT n+1 n PTT = TWT n+1 MTT PTT ATT : Attributed Tree Transducer RTT : Relabeling Tree Transducer SDT : Syntax Directed Transducer PTT : Pebble tree transducer TWT : Tree Walking Tree Transducer MTT : Macro tree Transducers MSO-TT : Monadic Second Order Tree Transducer

85 Plan 1 Taxonomie des transducteurs d arbres Syntax Directed Transducers Attributed Tree Transducer MSO Tree transducers Transductions rationnelles Macro Tree Transducers Tree Walking/Pebble Tree Transducers Récapitulatif 2 Apprentissage de transducteurs Principes Généraux

86 Principes Généraux Plan 1 Taxonomie des transducteurs d arbres Syntax Directed Transducers Attributed Tree Transducer MSO Tree transducers Transductions rationnelles Macro Tree Transducers Tree Walking/Pebble Tree Transducers Récapitulatif 2 Apprentissage de transducteurs Principes Généraux

87 Principes Généraux Idées les langages d arbres réguliers sont apprenables par RPNI par exemples positifs et négatifs. on se ramène donc à des langages d arbres. Utilisation de la fonctionnalité. Utilisation d exemples enrichis.

88 Principes Généraux Correspondance des noeuds : Principe HTML BODY TABLE TR TD TD = RACINE ID Jean Dupont Jean Dupont

89 Principes Généraux Correspondance des noeuds : Principe HTML BODY TABLE TR TD TD = RACINE ID TEXTE TEXTE TEXTE TEXTE Réduction du vocabulaire

90 Principes Généraux Correspondance des noeuds : Principe HTML BODY TABLE TR TD TD = RACINE ID TEXTE TEXTE TEXTE TEXTE Correspondance des noeuds

91 Principes Généraux Correspondance des noeuds : Principe HTML BODY RACINE TABLE TR = ID TD TD TEXTE Jean TEXTE Dupo TEXTE Jean TEXTE Dupont Correspondance des noeuds

92 Principes Généraux Correspondance des noeuds : Principe HTML BODY RACINE TABLE TR = ID TD TD TEXTE Jean TEXTE Dupo TEXTE Jean TEXTE Dupont Correspondance des noeuds

93 Principes Généraux Correspondance des noeuds : Principe Idées générales Tous les formalismes de transductions présentés ici peuvent générer une fonction de correspondance de noeuds. On peut obtenir facilement cette fonction sur les exemples (au moins en transformation de document).

94 Principes Généraux Correspondance des noeuds : Entrées/Sorties f h g c c h h a b a c

95 Principes Généraux Correspondance des noeuds : Entrées/Sorties f h f /h(x 2, x 1, h(x 2 )) g c c h h g/h(x 1 ) c/c a b a c a/a b/ε Transformation en langage d arbres

96 Principes Généraux Passage des transductions aux langages d arbres Notes : Règle d un transducteur d arbres : q(f (x 1, x 2 )) h(q 1 (x 2 ), q 2 (x 1 ), h(q 1 (x 2 ))) Règle correspondante dans l automate d arbres : q(f /h(x 2, x 1, h(x 2 ))(x 1, x 2 )) (f /h(x 2, h(x 1 ), x 2 ) )(q 2 (x 1 ), q 1 (x 2 )) Alphabet apparemment infini (Σ T X ), en réalité fini (limité à ce qui apparaît dans le transducteur cible) Restriction : même état lors des copies

97 Principes Généraux Apprentissage Exemple enrichi Exemple du langage d arbre Inférence Langage d arbres Transducteur d arbres

98 Principes Généraux Avec des exemples moins enrichis? f h a g b c c h h a c La fonction de correspondance n est connue que pour les feuilles (et la racine) 1 Complétion par défaut (le plus bas possible) 2 Lors d une fusion, possibilité de relever la fonction de correspondance

99 Principes Généraux Étendre l expressivité a f f b f c d a f f d f c b

100 Principes Généraux Étendre l expressivité a f f b f c d a f f d f c b Avec YIELD SUBST f a α 1 α 2 f f b c d

101 Principes Généraux Étendre l expressivité f f f d f b f c f c a b a d Avec MTT d et c sont stockés dans les paramètres ils sont utilisés lors du passage à b (A préciser...)

102 Classes apprenables à partir d exemples enrichis Affirmations gratuites Classe Apprenable? RTT OUI (copy-safe) TT OUI (très probablement) (copy-safe) MTT J y crois SDT OUI (sans doute?) ATT NON (sans doute) (copy-safe) MSO-TT Possible??

103 Bibliographie très succinte TATA 1997 Models of tree translations, S. Maneth, PhD thesis A Comparaison of Pebble Tree Transducers with Macro Tree Transducers, J. englefriet and S. Maneth, 2002 characterization of Properties and Relations defined in Monadic Second Order Logic on the nodes of Trees, R. Bloem and J. Engelfriet, 1997 Attribute Grammars and Monadic Second Order Logic, R. Bloem, 1996 Syntax-Directed Semantics - Formal Models based on Tree Transducers (Fülop/Vogler) Macro Tree Transducers in TREEBAG, K. Azab, 2005

Université Laval Faculté des sciences et de génie Département d'informatique et de génie logiciel IFT-3101. Travail pratique #2

Université Laval Faculté des sciences et de génie Département d'informatique et de génie logiciel IFT-3101. Travail pratique #2 Université Laval Faculté des sciences et de génie Département d'informatique et de génie logiciel IFT-3101 Danny Dubé Hiver 2014 Version : 11 avril Questions Travail pratique #2 Traduction orientée-syntaxe

Plus en détail

Structures de données non linéaires

Structures de données non linéaires Structures de données non linéaires I. Graphes Définition Un graphe (simple) orienté G est un couple (S, A), où : S est un ensemble dont les éléments sont appelés les sommets. A est un ensemble de couples

Plus en détail

Structures de données, IMA S6

Structures de données, IMA S6 Structures de données, IMA S6 Arbres Binaires d après un cours de N. Devésa, Polytech Lille. Laure Gonnord http://laure.gonnord.org/pro/teaching/ Laure.Gonnord@polytech-lille.fr Université Lille 1 - Polytech

Plus en détail

Bases de Données Avancées

Bases de Données Avancées Bases de Données Avancées Enseignant / chargé de TD : Dario COLAZZO www.lri.fr/~colazzo Chargée de TP : Jesús CAMACHO-RODRIGUEZ www.lri.fr/~camacho Plan Tuning d index Concurrence Reprise sur panne Données

Plus en détail

Cours de compilation

Cours de compilation Cours de compilation 1 Introduction Un compilateur est un logiciel de traduction d un langage source vers un langage cible. D ordinaire le langage source est un langage de programmation évolué, comme C++

Plus en détail

Théorie des Langages

Théorie des Langages Théorie des Langages AntLR - Générateur d analyseurs Claude Moulin Université de Technologie de Compiègne Printemps 2015 Sommaire 1 Introduction 2 AntLR ANTLR : ANother Tool for Language Recognition URL

Plus en détail

Arbres binaires de recherche (ABR) Binary Search Trees (BST)

Arbres binaires de recherche (ABR) Binary Search Trees (BST) LSVIII-BIM Algorithmie, 2015 Arbres binaires de recherche (ABR) Binary Search Trees (BST) I. Arbres binaires 1. Structure 2. Parcours II. Arbres binaires de recherche 1. Définition 2. Opérations sur les

Plus en détail

Arbres binaires et codage de Huffman

Arbres binaires et codage de Huffman MP Option Informatique Premier TP Caml Jeudi 8 octobre 2009 Arbres baires et codage de Huffman 1 Arbres baires Soit E un ensemble non vide. On défit la notion d arbre baire étiqueté (aux feuilles) par

Plus en détail

Arbres binaires de recherche

Arbres binaires de recherche Chapitre 1 Arbres binaires de recherche 1 Les arbre sont très utilisés en informatique, d une part parce que les informations sont souvent hiérarchisées, et peuvent être représentées naturellement sous

Plus en détail

Arbres Binaire. PSI DAKHLA Prof Youssef El marzak. 1 Prof Youssef Elmarzak

Arbres Binaire. PSI DAKHLA Prof Youssef El marzak. 1 Prof Youssef Elmarzak Arbres Binaire PSI DAKHLA Prof Youssef El marzak 1 Prof Youssef Elmarzak 1.introduction: Les arbre sont très utilisées en informatique, d une part parce que les informations sont souvent hiérarchisées,

Plus en détail

Grammaires d unification

Grammaires d unification Cours sur le traitement automatique des langues (IV) Violaine Prince Université de Montpellier 2 LIRMM-CNRS Grammaires d unification Grammaire catégorielle Grammaire syntagmatique généralisée (GPSG) Les

Plus en détail

Techniques de compilation

Techniques de compilation Département d Informatique Université de Nice Sophia Antipolis Master 1 Informatique Techniques de compilation XI. Générateurs de générateurs de code Jacques Farré email : Jacques.Farre@unice.fr 1 Introduction

Plus en détail

Théorie des langages. compilation. Elise Bonzon http://web.mi.parisdescartes.fr/ bonzon/ elise.bonzon@parisdescartes.fr 1 / 59

Théorie des langages. compilation. Elise Bonzon http://web.mi.parisdescartes.fr/ bonzon/ elise.bonzon@parisdescartes.fr 1 / 59 et compilation Elise Bonzon http://web.mi.parisdescartes.fr/ bonzon/ elise.bonzon@parisdescartes.fr 1 / 59 et compilation et compilation Structure d un compilateur Analyse lexicale Analyse syntaxique Analyse

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

Projet de Programmation Fonctionnelle

Projet de Programmation Fonctionnelle Projet de Programmation Fonctionnelle L objectif de ce projet est de concevoir, en Objective Caml, un évaluateur pour le langage mini-ml (un sous ensemble du langage Objective Caml). Votre programme devra

Plus en détail

Arbres de décision. Intelligence Artificielle et Systèmes Formels Master 1 I2L

Arbres de décision. Intelligence Artificielle et Systèmes Formels Master 1 I2L Arbres de décision Intelligence Artificielle et Systèmes Formels Master 1 I2L Sébastien Verel verel@lisic.univ-littoral.fr http://www-lisic.univ-littoral.fr/ verel Université du Littoral Côte d Opale Laboratoire

Plus en détail

Partie 3. Gilles Lebrun (gilles.lebrun@unicaen.fr)

Partie 3. Gilles Lebrun (gilles.lebrun@unicaen.fr) Partie 3 Gilles Lebrun (gilles.lebrun@unicaen.fr) Les arbres binaires Définition : C est une structure arborescente ou hiérarchique ou récursive Chaque élément (nœud) constituant la structure de l arbre

Plus en détail

Compilation. Introduction à la compilation. Termes Phases d'un compilateur Importance des grammaires Méthodes d'analyse. Termes. Termes.

Compilation. Introduction à la compilation. Termes Phases d'un compilateur Importance des grammaires Méthodes d'analyse. Termes. Termes. Compilation Enseignants : Stéphane Talbot Miguel Tomasena Volume horaire : 10.5 C / 12 TD / 12 TP langage source Traduction langage cible Contenu : Introduction à la compilation Analyse Lexicale Analyse

Plus en détail

Apprentissage de langages formels : théorie et pratique Stage de fin de licence

Apprentissage de langages formels : théorie et pratique Stage de fin de licence Apprentissage de langages formels : théorie et pratique Stage de fin de licence Jean-Marie Madiot sous la direction de Rémi Eyraud Juin, juillet 2009 LIF de Marseille, équipe BDAA CMI Remerciements Je

Plus en détail

λ-calcul et typage Qu est-ce qu une fonction?

λ-calcul et typage Qu est-ce qu une fonction? λ-calcul et typage Nicolas Barnier, Pascal Brisset ENAC Avril 2009 Nicolas Barnier, Pascal Brisset (ENAC) λ-calcul et typage Avril 2009 1 / 1 Qu est-ce qu une fonction? Classiquement Pas de notation uniforme/standard

Plus en détail

1 Modélisation d être mauvais payeur

1 Modélisation d être mauvais payeur 1 Modélisation d être mauvais payeur 1.1 Description Cet exercice est très largement inspiré d un document que M. Grégoire de Lassence de la société SAS m a transmis. Il est intitulé Guide de démarrage

Plus en détail

TD 1 - Structures de Traits et Unification

TD 1 - Structures de Traits et Unification TD 1 - Structures de Traits et Unification 1 Définitions Un trait (en: feature) est un couple attribut-valeur. Une structure de traits (en: feature structure) est un ensemble de traits. On peut les représenter

Plus en détail

L2 - Algorithmique et structures de données (Année 2010/2011) Examen (2 heures)

L2 - Algorithmique et structures de données (Année 2010/2011) Examen (2 heures) L2 - lgorithmique et structures de données (nnée 2010/2011) Delacourt, Phan Luong, Poupet xamen (2 heures) Les documents (cours, TD, TP) sont autorisés. Les quatre exercices sont indépendants. À la fin

Plus en détail

Langages de spécification cours 4

Langages de spécification cours 4 Langages de spécification cours 4 Diagrammes de décision binaire(bdd) Catalin Dima Arbres de décision binaire Étant donnée une formule logique, on peut lui associer un arbre qui permet d évaluer la valeur

Plus en détail

Systèmes d information et bases de données (niveau 1)

Systèmes d information et bases de données (niveau 1) Systèmes d information et bases de données (niveau 1) Cours N 1 Violaine Prince Plan du cours 1. Bibliographie 2. Introduction aux bases de données 3. Les modèles 1. Hiérarchique 2. Réseau 3. Relationnel

Plus en détail

Les principaux domaines de l informatique

Les principaux domaines de l informatique Les principaux domaines de l informatique... abordés dans le cadre de ce cours: La Programmation Les Systèmes d Exploitation Les Systèmes d Information La Conception d Interfaces Le Calcul Scientifique

Plus en détail

Tableaux (introduction) et types de base

Tableaux (introduction) et types de base Tableaux (introduction) et types de base A. Motivation..................................................... 4 B. Les tableaux.................................................... 5 C. Construction des tableaux.......................................

Plus en détail

Les automates. Fabrice EUDES, Pascal EVRARD, Philippe MARQUET, François RECHER & Yann SECQ

Les automates. Fabrice EUDES, Pascal EVRARD, Philippe MARQUET, François RECHER & Yann SECQ Les automates Fabrice EUDES, Pascal EVRARD, Philippe MARQUET, François RECHER & Yann SECQ Avril 2015 Retour sur l île et le barman Deux problèmes similaires: Des îles, des bateaux et un trésor à trouver

Plus en détail

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

Chapitre 3. Quelques fonctions usuelles. 1 Fonctions logarithme et exponentielle. 1.1 La fonction logarithme Chapitre 3 Quelques fonctions usuelles 1 Fonctions logarithme et eponentielle 1.1 La fonction logarithme Définition 1.1 La fonction 7! 1/ est continue sur ]0, +1[. Elle admet donc des primitives sur cet

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

x n = x x n 1 Exercice 3 Le but de cet exercice est de modéliser les suites définies par récurrence de la façon suivante :

x n = x x n 1 Exercice 3 Le but de cet exercice est de modéliser les suites définies par récurrence de la façon suivante : Ocaml - Exercices Exercice Définir en Ocaml les fonctions suivantes:. f : x sin x + cos x. g : x x 3x+ x x 5 3. Fonction h calculant la moyenne géométrique de deux float positifs ( xy) Exercice Ecrire

Plus en détail

TP 4 -Arbres Binaires -

TP 4 -Arbres Binaires - L3 Informatique Programmation fonctionnelle OCaml Année 2013/2014 TP 4 -Arbres Binaires - Un arbre binaire est une structure de données qui peut se représenter sous la forme d une hiérarchie dont chaque

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

Algèbre relationnelle

Algèbre relationnelle Algèbre relationnelle Concepts Descriptifs : Bilan RELATION ou TABLE ATTRIBUT ou COLONNE DOMAINE ou TYPE CLE CLE ETRANGERE Langages de manipulation Langages formels : base théorique solide Langages utilisateurs

Plus en détail

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

Langage SQL (1) 4 septembre 2007. IUT Orléans. Introduction Le langage SQL : données Le langage SQL : requêtes Langage SQL (1) Sébastien Limet Denys Duchier IUT Orléans 4 septembre 2007 Notions de base qu est-ce qu une base de données? SGBD différents type de bases de données quelques systèmes existants Définition

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

3. SPÉCIFICATIONS DU LOGICIEL. de l'expression des besoins à la conception. Spécifications fonctionnelles Analyse fonctionnelle et méthodes

3. SPÉCIFICATIONS DU LOGICIEL. de l'expression des besoins à la conception. Spécifications fonctionnelles Analyse fonctionnelle et méthodes PLAN CYCLE DE VIE D'UN LOGICIEL EXPRESSION DES BESOINS SPÉCIFICATIONS DU LOGICIEL CONCEPTION DU LOGICIEL LA PROGRAMMATION TESTS ET MISE AU POINT DOCUMENTATION CONCLUSION C.Crochepeyre Génie Logiciel Diapason

Plus en détail

Chapitre 3 Structures de données linéaires : listes, piles et files

Chapitre 3 Structures de données linéaires : listes, piles et files Chapitre 3 Structures de données linéaires : listes, piles et files 1. Introduction Le but de ce chapitre est de décrire des représentations des structures de données de base telles les listes en général

Plus en détail

XML par la pratique Bases indispensables, concepts et cas pratiques (3ième édition)

XML par la pratique Bases indispensables, concepts et cas pratiques (3ième édition) Présentation du langage XML 1. De SGML à XML 17 2. Les bases de XML 18 2.1 Rappel sur HTML 18 2.2 Votre premier document XML 19 2.3 Les avantages de XML 21 3. La syntaxe XML 21 3.1 La première ligne du

Plus en détail

Informatique CM5 Synthèse :

Informatique CM5 Synthèse : Informatique CM5 Synthèse : 1. Tuples et enregistrements : Un enregistrement a une étiquette, des champs et des noms de champs - L étiquette et les noms des champs sont des atomes ou des entiers - L opération

Plus en détail

INF601 : Algorithme et Structure de données

INF601 : Algorithme et Structure de données Cours 2 : TDA Arbre Binaire B. Jacob IC2/LIUM 27 février 2010 Plan 1 Introuction 2 Primitives u TDA Arbin 3 Réalisations u TDA Arbin par cellules chaînées par cellules contiguës par curseurs (faux pointeurs)

Plus en détail

Les arbres binaires. Terminologie avancée (1) TAD arbre binaire. Terminologie avancée (2) Terminologie avancée (3)

Les arbres binaires. Terminologie avancée (1) TAD arbre binaire. Terminologie avancée (2) Terminologie avancée (3) Les arbres Structures les plus importantes et les plus utilisées en informatique Liste = cas dégénéré d arbre Eemples: Arbres généalogiques Arbres de classification Arbres d epression / - Traduction de

Plus en détail

Master d Informatique Examen janvier 2011

Master d Informatique Examen janvier 2011 Université de Provence Technologies XML Master d Informatique Examen janvier 2011 Année 2010-11 Notes de cours autorisées Vous rendrez vos réponses sur les copies anonymes que l on vous a distribuées.

Plus en détail

BAZIN Danil et PRIEZ Jean-Baptiste. LEX & YACC : Calculatrice Évoluée

BAZIN Danil et PRIEZ Jean-Baptiste. LEX & YACC : Calculatrice Évoluée BAZIN Danil et PRIEZ Jean-Baptiste LEX & YACC : Calculatrice Évoluée Table des matières 1 Introduction 3 2 Description 4 3 La grammaire utilisée 6 4 Lexèmes et FLEX 8 5 Analyse syntaxique et YACC 8 5.1

Plus en détail

Fiche de TD-TP no. 4

Fiche de TD-TP no. 4 Master 1 Informatique Programmation Fonctionnelle, p. 1 Fiche de TD-TP no. 4 Exercice 1. Voici trois façons différentes de définir le type Image : type Image = [[ Int ]] data Image = Image [[ Int ]] newtype

Plus en détail

Exercices «Programmation récursive» Deuxième saison UPMC Cycle L Revision: 1.21

Exercices «Programmation récursive» Deuxième saison UPMC Cycle L Revision: 1.21 Exercices «Programmation récursive» Deuxième saison UPMC Cycle L Revision: 1.21 Anne Brygoo, Maryse Pelletier, Christian Queinnec, Michèle Soria Université Paris 6 Pierre et Marie Curie septembre 2005

Plus en détail

ANALYSE IV 29-06-2009. Informations. (5) Pour rendre l examen il faut signer une feuille de présence disponible avec les assistants responsables.

ANALYSE IV 29-06-2009. Informations. (5) Pour rendre l examen il faut signer une feuille de présence disponible avec les assistants responsables. EXAMEN CORRIGE ANALYSE IV 9-6-9 informations: http://cag.epfl.ch sections IN + SC Prénom : Nom : Sciper : Section : Informations () L épreuve a une durée de 3 heures et 45 minutes. () Les feuilles jaunes

Plus en détail

1 Généralités sur les arbres

1 Généralités sur les arbres 1 Généralités sur les arbres 1.1 Graphes et arbres Définition 1.1. On appelle graphe un couple G = (V, E) d un ensemble fini V (les sommets ou noeuds) et d une partie E de V V (les arêtes). Si x, y V,

Plus en détail

Définition formelle des ASM

Définition formelle des ASM Chapitre 5 Définition formelle des ASM Nous avons vu, dans le chapitre un, l intérêt d un langage algorithmiquement complet. Nous avons ensuite présenté des exemples de programmes en AsmL, implémentation

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

F411 - Courbes Paramétrées, Polaires

F411 - Courbes Paramétrées, Polaires 1/43 Courbes Paramétrées Courbes polaires Longueur d un arc, Courbure F411 - Courbes Paramétrées, Polaires Michel Fournié michel.fournie@iut-tlse3.fr http://www.math.univ-toulouse.fr/ fournie/ Année 2012/2013

Plus en détail

C12. Les structures arborescentes. Août 2006

C12. Les structures arborescentes. Août 2006 Les structures arborescentes Août 2006 Objectifs du C12 Connaître le principe de la structure d arbre binaire Connaître les détails d implémentation de la structure d arbre binaire de recherche Les structures

Plus en détail

Introduction à MATLAB R

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

Notation fonctionnelle : Union (R,S) ou OR (R, S) Chapitre 4 : Algèbre Relationnelle

Notation fonctionnelle : Union (R,S) ou OR (R, S) Chapitre 4 : Algèbre Relationnelle Chapitre 4 : IV. Qu est-ce que l algèbre relationnelle? Une collections d opérations, chacune agissant sur une ou deux relations et produisant une relation en résultat. Un langage pour combiner ces opérations.

Plus en détail

Ingénierie Dirigée par les Modèles. Editeurs de modèles. (Eclipse Modeling Tools) Jean-Philippe Babau

Ingénierie Dirigée par les Modèles. Editeurs de modèles. (Eclipse Modeling Tools) Jean-Philippe Babau labsticc.univ-brest.fr/pages_perso/babau/ Ingénierie Dirigée par les Modèles Editeurs de modèles (Eclipse Modeling Tools) Jean-Philippe Babau Département Informatique, UFR Sciences, Laboratoire Lab-STICC

Plus en détail

Algorithmique et Programmation, IMA

Algorithmique et Programmation, IMA Algorithmique et Programmation, IMA Cours 2 : C Premier Niveau / Algorithmique Université Lille 1 - Polytech Lille Notations, identificateurs Variables et Types de base Expressions Constantes Instructions

Plus en détail

LES DIFFERENTS PAS EN STEP. Variantes

LES DIFFERENTS PAS EN STEP. Variantes LES DIFFERENTS PAS EN STEP Type de pas Pas en temps sans changement de pied directeur Pas en temps avec changement de pied directeur Pas en 8 temps sans changement de pied directeur Pas en 8 temps avec

Plus en détail

Cours de Master Recherche

Cours de Master Recherche Cours de Master Recherche Spécialité CODE : Résolution de problèmes combinatoires Christine Solnon LIRIS, UMR 5205 CNRS / Université Lyon 1 2007 Rappel du plan du cours 16 heures de cours 1 - Introduction

Plus en détail

Héritage en java : Calculatrice SDC

Héritage en java : Calculatrice SDC Programmation orientée objet L3 MIAGE Héritage en java : Calculatrice SDC Travail à rendre : le code complet du projet SDC sous forme d une archive tar.gz. L archive comportera trois répertoires : un répertoire

Plus en détail

1 Programmation Client/Serveur basée sur TCP/IP

1 Programmation Client/Serveur basée sur TCP/IP Outils Informatique pour l ingénieur TD 1 Réseau et Web IP, Client/serveur 1 Programmation Client/Serveur basée sur TCP/IP 1.1 Buts de cette réalisation Ce TP sur la programmation client/serveur a pour

Plus en détail

NVU, Notepad++ (ou le bloc-note), MySQL, PhpMyAdmin. HTML, PHP, cas d utilisation, maquettage, programmation connaissances en HTML, PHP et SQL

NVU, Notepad++ (ou le bloc-note), MySQL, PhpMyAdmin. HTML, PHP, cas d utilisation, maquettage, programmation connaissances en HTML, PHP et SQL Prise en main de NVU et Notepad++ (conception d application web avec PHP et MySql) Propriétés Intitulé long Formation concernée Matière Présentation Description Conception de pages web dynamiques à l aide

Plus en détail

Cours de Programmation 2

Cours de Programmation 2 Cours de Programmation 2 Programmation à moyenne et large échelle 1. Programmation modulaire 2. Programmation orientée objet 3. Programmation concurrente, distribuée 4. Programmation monadique 5. Les programmes

Plus en détail

Compilation. Algorithmes d'analyse syntaxique

Compilation. Algorithmes d'analyse syntaxique Compilation Algorithmes d'analyse syntaxique Préliminaires Si A est un non-terminal et γ une suite de terminaux et de non-terminaux, on note : A γ si en partant de A on peut arriver à γ par dérivations

Plus en détail

EXCEL. Chapitre 4 : Le langage Visual Basic Application. Claude Duvallet

EXCEL. Chapitre 4 : Le langage Visual Basic Application. Claude Duvallet Chapitre 4 : Le langage Visual Basic Application Claude Duvallet Université du Havre UFR des Sciences et Techniques 25 rue Philippe Lebon BP 540 76058 Le Havre Cedex Courriel : Claude.Duvallet@gmail.com

Plus en détail

Programmation Web. Madalina Croitoru IUT Montpellier

Programmation Web. Madalina Croitoru IUT Montpellier Programmation Web Madalina Croitoru IUT Montpellier Organisation du cours 4 semaines 4 ½ h / semaine: 2heures cours 3 ½ heures TP Notation: continue interrogation cours + rendu à la fin de chaque séance

Plus en détail

ALGORITHMIQUE ET PROGRAMMATION En C

ALGORITHMIQUE ET PROGRAMMATION En C Objectifs ALGORITHMIQUE ET PROGRAMMATION Une façon de raisonner Automatiser la résolution de problèmes Maîtriser les concepts de l algorithmique Pas faire des spécialistes d un langage Pierre TELLIER 2

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

Utiliser les propriétés Savoir réduire un radical savoir +,-,x,: Utiliser les propriétés des puissances Calculer avec des puissances

Utiliser les propriétés Savoir réduire un radical savoir +,-,x,: Utiliser les propriétés des puissances Calculer avec des puissances ARITHMETIQUE 1 C B A Numération Ecrire en lettres et en chiffres Poser des questions fermées autour d un document simple (message, consigne, planning ) Connaître le système décimal Déterminer la position

Plus en détail

Ricco Rakotomalala http://eric.univ-lyon2.fr/~ricco/cours/cours_programmation_r.html. R.R. Université Lyon 2

Ricco Rakotomalala http://eric.univ-lyon2.fr/~ricco/cours/cours_programmation_r.html. R.R. Université Lyon 2 Ricco Rakotomalala http://eric.univ-lyon2.fr/~ricco/cours/cours_programmation_r.html 1 R est un langage de programmation. L objet de base est un vecteur de données. C est un «vrai» langage c.-à-d. types

Plus en détail

Les Fonctions Processus FONCTIONS PROCESSUS CURRYFICATION

Les Fonctions Processus FONCTIONS PROCESSUS CURRYFICATION FONCTIONS PROCESSUS CURRYFICATION Patrick Bellot Télécom ParisTech Les Fonctions Processus Fonction processus vs. Fonction graphe Fonctions en extension Fonctions en intension Egalité extensionnelle 1

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

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

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

Travaux dirigés n o 6

Travaux dirigés n o 6 Travaux dirigés n o 6 Lycée Kléber MPSI, Option Info 2014/2015 Exercice 1 (Indexation d un arbre binaire) Ecrire une fonction Caml indexation : ( f, n) arbre_binaire -> (string,string) arbre_binaire qui

Plus en détail

Dans ce chapitre nous allons étudier une méthode pratique d anti-phishing, ce qui consiste à un système de classification automatique.

Dans ce chapitre nous allons étudier une méthode pratique d anti-phishing, ce qui consiste à un système de classification automatique. I INTRODUCTION Les pages de phishing sont l un des problèmes majeurs de sécurité sur internet. La majorité des attaques utilisent des méthodes sophistiquées comme les fausses pages pour tromper les utilisateurs

Plus en détail

Induction sur les arbres

Induction sur les arbres Induction sur les arbres Planning Motivations Comment définir les arbres? Équations récursives sur les arbres Complexité de fonctions sur les arbres Recherche dans un arbre binaire de recherche Recherche

Plus en détail

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

Traitement de Langages et Dialogues Naturels par Ordinateur

Traitement de Langages et Dialogues Naturels par Ordinateur Traitement de Langages et Dialogues Naturels par Ordinateur Une introduction Philippe Muller muller@irit.fr Institut de Recherche en Informatique de Toulouse CNRS-Université Paul Sabatier http://www.irit.fr/

Plus en détail

I. Polynômes de Tchebychev

I. Polynômes de Tchebychev Première épreuve CCP filière MP I. Polynômes de Tchebychev ( ) 1.a) Tout réel θ vérifie cos(nθ) = Re ((cos θ + i sin θ) n ) = Re Cn k (cos θ) n k i k (sin θ) k Or i k est réel quand k est pair et imaginaire

Plus en détail

Machines virtuelles Cours 1 : Introduction

Machines virtuelles Cours 1 : Introduction Machines virtuelles Cours 1 : Introduction Pierre Letouzey 1 pierre.letouzey@inria.fr PPS - Université Denis Diderot Paris 7 janvier 2012 1. Merci à Y. Régis-Gianas pour les transparents Qu est-ce qu une

Plus en détail

Automatisation de l administration système

Automatisation de l administration système Automatisation de l administration système Plan Problèmatique : trop de systèmes, trop de solutions Typage des solutions Puppet : gestion de configuration de systèmes Capistrano : déploiement d applications

Plus en détail

Université Paris Diderot Paris 7. TD n 2. Arbres Binaire de Recherche

Université Paris Diderot Paris 7. TD n 2. Arbres Binaire de Recherche Université Paris Diderot Paris L Informatique Algorithmique Année 00-0, er semestre TD n Arbres Binaire de Recherche Le type de donné arbre" sera utilisé pour indiquer l ensemble de toutes les Arbres Binaires

Plus en détail

Intégration de la dimension sémantique dans les réseaux sociaux

Intégration de la dimension sémantique dans les réseaux sociaux Intégration de la dimension sémantique dans les réseaux sociaux Application : systèmes de recommandation Maria Malek LARIS-EISTI maria.malek@eisti.fr 1 Contexte : Recommandation dans les réseaux sociaux

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

Document Object Model (DOM)

Document Object Model (DOM) Document Object Model (DOM) Jean-Claude Charr Maître de conférences IUT de Belfort Montbéliard Université de Franche Comté Description générale Définit un standard pour accéder aux documents structurés

Plus en détail

Notes du cours MTH1101 Calcul I Partie II: fonctions de plusieurs variables

Notes du cours MTH1101 Calcul I Partie II: fonctions de plusieurs variables Notes du cours MTH1101 Calcul I Partie II: fonctions de plusieurs variables Guy Desaulniers Département de mathématiques et de génie industriel École Polytechnique de Montréal Automne 2014 Table des matières

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

1ère partie Nadine Cullot. Bases de données déductives. Bases de données déductives Introduction et Motivation

1ère partie Nadine Cullot. Bases de données déductives. Bases de données déductives Introduction et Motivation Master STIC «Image Informatique et Ingénierie» Module Informatique Modèles de représentation - 10h CM Nadine Cullot Kokou Yétongnon nadine.cullot@u-bourgogne.fr kokou.yetongnon@u-bourgogne.fr 1ère partie

Plus en détail

Compilateurs : Analyse lexicale. Vous êtes ici 2. Analyse lexicale 4. Matthieu Amiguet. En entrée d un compilateur, on a généralement un fichier

Compilateurs : Analyse lexicale. Vous êtes ici 2. Analyse lexicale 4. Matthieu Amiguet. En entrée d un compilateur, on a généralement un fichier Compilateurs : Matthieu Amiguet 2009 2010 Vous êtes ici 2 Partie Avant Analyse syntaxique Analyse sémantique Arbre syntaxique abstrait (AST) Partie Arrière Optimisation de l AST Génération de code Optimisation

Plus en détail

Mathématiques I Section Architecture, EPFL

Mathématiques I Section Architecture, EPFL Examen, semestre d hiver 2011 2012 Mathématiques I Section Architecture, EPFL Chargé de cours: Gavin Seal Instructions: Mettez votre nom et votre numéro Sciper sur chaque page de l examen. Faites de même

Plus en détail

Fonctions de plusieurs variables

Fonctions de plusieurs variables Maths MP Exercices Fonctions de plusieurs variables Les indications ne sont ici que pour être consultées après le T (pour les exercices non traités). Avant et pendant le T, tenez bon et n allez pas les

Plus en détail

Dossier spécifications «Webservice de suivi» Version v011

Dossier spécifications «Webservice de suivi» Version v011 Dossier spécifications «Webservice de suivi» Version v011 01 Décembre 2014 LISTE DE DIFFUSION Organisme ou Noms des Nombre de Pour Entreprise Destinataires copies Action Information ASPONE Dany SALMON

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

Logique : ENSIIE 1A - contrôle final

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

Une calculatrice qui manipule les régions cubiques

Une calculatrice qui manipule les régions cubiques Une calculatrice qui manipule les régions cubiques Emmanuel Haucourt 1 Introduction Alors qu une calculatrice usuelle effectue des opérations numériques (addition, multiplication, soustraction, division,

Plus en détail

Comment créer et administrer une campagne?

Comment créer et administrer une campagne? Comment créer et administrer une campagne? TS Evaluation Auteur(s)/Intervenant(s) : 2012 TalentSoft IDENTIFIER ÉVALUER DÉVELOPPER PLANIFIER www.talentsoft.com Objectifs Cette formation doit permettre au

Plus en détail

TROISI` EME PARTIE L ALG` EBRE

TROISI` EME PARTIE L ALG` EBRE TROISIÈME PARTIE L ALGÈBRE Chapitre 8 L algèbre babylonienne Sommaire 8.1 Présentation..................... 135 8.2 Résolution d équations du second degré..... 135 8.3 Bibliographie.....................

Plus en détail

Mini-Projet : Tournoi de Dames

Mini-Projet : Tournoi de Dames Mini-Projet : Tournoi de Dames L objectif du projet est de programmer un jeu de dames de façon à ce que votre programme puisse jouer une partie de dames avec les programmes des autres étudiants. 1 Organisation

Plus en détail

COMMANDES SQL... 2 COMMANDES DE DEFINITION DE DONNEES... 2

COMMANDES SQL... 2 COMMANDES DE DEFINITION DE DONNEES... 2 SQL Sommaire : COMMANDES SQL... 2 COMMANDES DE DEFINITION DE DONNEES... 2 COMMANDES DE MANIPULATION DE DONNEES... 2 COMMANDES DE CONTROLE TRANSACTIONNEL... 2 COMMANDES DE REQUETE DE DONNEES... 2 COMMANDES

Plus en détail

Initiation aux algorithmes des arbres binaires

Initiation aux algorithmes des arbres binaires Initiation aux algorithmes des arbres binaires Plan I. Les arbres biniaires I. Définition II. Représentation graphique d un arbre III. Terminologie IV. Représentation en mémoire des arbres binaires V.

Plus en détail