Arbres. Alphabet Σ = Σ 0 Σ k. Exemples



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

Les structures de données. Rajae El Ouazzani

Théorie des Langages

LES OUTILS D ALIMENTATION DU REFERENTIEL DE DB-MAIN

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

Limites finies en un point

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

Cours de Master Recherche

Problèmes de Mathématiques Filtres et ultrafiltres

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

Raisonnement probabiliste

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

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

Algorithmique et Programmation Fonctionnelle

Exercices - Polynômes : corrigé. Opérations sur les polynômes

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

DOCM Solutions officielles = n 2 10.

Continuité et dérivabilité d une fonction

Initiation à LabView : Les exemples d applications :

Cours 1 : Introduction Ordinateurs - Langages de haut niveau - Application

Réalisabilité et extraction de programmes

Conception. Génie Logiciel. Renaud Marlet. LaBRI / INRIA (d'après A.-M. Hugues) màj 17/04/2007

Chapitre 7. Récurrences

IFT785 Approches Orientées Objets. FINAL Été Remise : Jeudi 19 août 2002 à 9h00 am

ARBRES BINAIRES DE RECHERCHE

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

Polynômes à plusieurs variables. Résultant

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

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

Rappels sur les suites - Algorithme

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

Arbres binaires de recherche

Section «Maturité fédérale» EXAMENS D'ADMISSION Session de février 2014 RÉCAPITULATIFS DES MATIÈRES EXAMINÉES. Formation visée

Objets Combinatoires élementaires

Calculabilité Cours 3 : Problèmes non-calculables.

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

données en connaissance et en actions?

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

Quelques Algorithmes simples

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

Calculs de probabilités

Algorithmes d'apprentissage

Model checking temporisé

VÉRIFICATION DES SYSTÈMES À PILE AU MOYEN DES ALGÈBRES DE KLEENE

Module BDWEB. Maîtrise d informatique Cours 9 - Xquery. Anne Doucet. anne.doucet@lip6.fr

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

chapitre 4 Nombres de Catalan

I. Polynômes de Tchebychev

Représentation d un entier en base b

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

Architecture des ordinateurs TD1 - Portes logiques et premiers circuits

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

Les arbres binaires de recherche

Algorithme. Table des matières

ET 24 : Modèle de comportement d un système Boucles de programmation avec Labview.

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

Introduction à MATLAB R

ALGORITHMIQUE ET PROGRAMMATION En C

MIS 102 Initiation à l Informatique

Chapitre 10 Arithmétique réelle

Arbres binaires de décision

Algorithmique et Programmation, IMA

Table des matières. I Mise à niveau 11. Préface

INITIATION AU LANGAGE C SUR PIC DE MICROSHIP

par Denis-Charles Cisinski & Georges Maltsiniotis

Analyse de sécurité de logiciels système par typage statique

Manuel d utilisation 26 juin Tâche à effectuer : écrire un algorithme 2

Salle de technologie

Mesurer les performances (CPU) sous Linux

Cours de Programmation 2

Développement décimal d un réel

Algorithmique et Programmation

Bases de données Cours 5 : Base de données déductives

Initiation à la Programmation en Logique avec SISCtus Prolog

Initiation à l algorithmique

Cours d Informatique

6. Les différents types de démonstrations

Introduction à l étude des Corps Finis

Arithmétique binaire. Chapitre. 5.1 Notions Bit Mot

1/24. I passer d un problème exprimé en français à la réalisation d un. I expressions arithmétiques. I structures de contrôle (tests, boucles)

La fonction exponentielle

Modèles de Calcul. Yassine Lakhnech. 2007/08 Université Joseph Fourier Lab.: VERIMAG. Modèles de Calcul Start p.

Complexité. Licence Informatique - Semestre 2 - Algorithmique et Programmation

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

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.

FICHE UE Licence/Master Sciences, Technologies, Santé Mention Informatique

CONFIGURATION DE L AUTOMATE SIEMENS

Programmation par contraintes. Laurent Beaudou

Chp. 4. Minimisation d une fonction d une variable

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

Simulation centrée individus

Projet d informatique M1BI : Compression et décompression de texte. 1 Généralités sur la compression/décompression de texte

Présentation du langage et premières fonctions

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

1.1 Rappels sur le produit cartésien Relations Graphes dirigés Arbres Exercices Motivation...

Cours d arithmétique Première partie

Logique. Plan du chapitre

STAGE IREM 0- Premiers pas en Python

Chapitre 5 : Flot maximal dans un graphe

Transcription:

Arbres Alphabet Σ = Σ 0 Σ k Σ i : alphabet fini de symboles de rang i (Σ i Σ j possible). Un arbre t de rang k est défini par un ensemble (fini) dom(t) {1,..., k} clos par préfixe (domaine de t) : si v, vi dom(t), alors vi est le i-ème enfant de v. Un arbre t étiqueté dans Σ est une fonction l(t) : dom(t) Σ telle que si v a i enfants, alors l(v) Σ i. On écrit aussi t à la place de l(t). T(Σ) : ensemble des arbres étiquetés dans Σ. Racine, feuilles, nœuds internes, hauteur, prédécesseur, descendant, sous-arbre. Frontière fr(t) : séquence des étiquettes des feuilles de t, lues de gauche à droite. Exemples Arbres binaires : Σ = Σ 0 Σ 2. Termes LISP. Arbres des expressions arithmétiques (rang 2). Arbres de codes préfixe. 1/9

Automates d arbre Automates d arbre montants (angl. bottom-up NTA - non-deterministic tree automaton) Un automate d arbre A = Q, Σ, δ, F sur l alphabet Σ = k i=0 Σ i est composé d un ensemble fini d états Q, de relations de transitions δ 0,..., δ k, δ i Q i Σ i Q, et d un ensemble F Q d états finaux (ou terminaux). Si tous les δ i : Q i Σ i Q sont des fonctions (partielles), on parle d un automate déterministe (bottom-up DTA). 1 Contrairement aux NFA, on ne peut pas représenter les NTA par des graphes étiquetés... 2 Un calcul du NTA A sur un arbre t représente un étiquetage ρ : dom(t) Q de t par des états (définition inductive) : (Base : arbre réduit à une feuille a) Si t = a Σ 0 et (a, q) δ 0, alors ρ(ɛ) = q. (Induction) Supposons que t = a(t 1,..., t j) et (q 1,..., q j, a, q) δ j. Pour chaque 1 i j, on considère un calcul ρ i : dom(t i) Q sur t i, qui étiquete la racine de t i par q i. Alors la fonction ρ : dom(t) Q définie par ρ(ɛ) = q et ρ(iv) = ρ i(v) pour chaque 1 i j, est un calcul de A sur t. 2/9

Definition, notations 1 Calcul acceptant : ρ(ɛ) F. Langage reconnu L(A) : ensemble des arbres ayant un calcul acceptant. 2 Rec(T(Σ)) ensemble des langages reconnaissables d arbre. 3 NTA complet : pour tout a Σ i et q 1,..., q i Q il existe un q Q tel que (q 1,..., q i, a, q) δ i. 4 Soit t un arbre, q un état. On note par t q l existence d un calcul ρ sur t tel que ρ(ɛ) = q. 5 NTA réduit : pour tout état q il existe un arbre t tel que t q. Proposition Tout NTA A peut être transformé en un NTA équivalent, qui est complet et réduit. La construction préserve le déterminisme. Proposition Tout NTA peut être transformé en un DTA équivalent (déterminisation). 3/9

Automates Automates d arbre descendants (angl. top-down NTA) Un automate d arbre descendant A = Q, Σ, δ, I sur l alphabet Σ = k i=0 Σ i est composé d un ensemble fini d états Q, de relations de transitions δ 0,..., δ k, δ i Q Σ i Q i, et d un ensemble I d états initiaux. Si tous les δ i : Q Σ i Q i sont des fonctions (partielles) et I = 1, on parle d un automate déterministe (top-down DTA). Calcul Un calcul de A sur t est un étiquetage ρ : dom(t) Q tel que : ρ(ɛ) I Soit v dom(t) un nœud d étiquette a Σ j et enfants v1,..., vj. Alors ρ(v) = q et ρ(vi) = q i, pour q, q i Q (1 i j) tels que (q, a, q 1,..., q j ) δ. Un calcul ρ est acceptant, si pour toute feuille v dom(t) d étiquette a, on a (ρ(v), a) δ 0. 4/9

Proposition Les DTA descendants sont strictement plus faibles que les NTA descendants. Tout NTA descendant peut être transformé en un NTA montant équivalent. Exemple Le langage d arbres (fini!) {c(a, b), c(b, a)} est reconnu par un NTA descendant, mais pas par un DTA descendant. Proposition Rec(T(Σ)) est fermé par les opérations booléennes et contient les singletons {t}, t T(Σ). 5/9

Expressions rationnelles Produit, itération Soient L, K T(Σ) et a Σ 0. On définit L a K comme l ensemble des arbres t L, dans lesquels on remplace chaque feuille d étiquette a par un arbre de K. Soit L T(Σ), a Σ 0. On définit inductivement (pour k 0) : L,a = k 0 L k,a L 0,a = {ɛ} (ɛ = arbre vide), L k+1,a = L k,a a L Definition L ensemble Rat(T(Σ)) des expressions rationnelles sur T(Σ) est défini par : et t (pour tout t T(Σ)) appartiennent à Rat(T(Σ)) Si E, F sont dans Rat(T(Σ)) et a Σ 0, alors (E + F), (E a F) et E,a aussi. On identifie une expression rationnelle E et le langage L(E) décrit par E. 6/9

Kleene Proposition Pour tout alphabet Σ = Σ 0 Σ k, on a Rec(T(Σ)) = Rat(T(Σ)). Remarque Une expression rationelle E peut utiliser plus de symboles que l ensemble des étiquettes des arbres de L(E). Exemple : Soit L = {f (a, f (a,... (f (a, a )...) n pair}. } {{ } n On utilise l alphabet Σ = Σ 0 Σ 2, où Σ 0 = {a, c, d}, Σ 2 = {f }. Expression rationnelle pour L : f (a, f (d, c)),c c a d a. NB : f (a, f (d, c)),c peut se réecrire sans étoile (comme (ab) sur les mots!) 7/9

Logique Syntaxe Soit Var 1 = {x, y, z,...}, Var 2 = {X, Y, Z,...} les ensembles de variables du premier et du second ordre, et Σ = Σ 0 S k l alphabet. Les formules de MSOL sur les arbres de T(Σ) sont définies inductivement : (Base) a(x), y = S i (x) (1 i k), x y, x X sont des formules. (Ind.) Si ϕ 1, ϕ 2, ϕ sont des formules, alors sont des formules aussi. ϕ 1 ϕ 2, ϕ, x. ϕ, X. ϕ Sémantique Les variables de Var 1 sont interprétées par des nœuds, celles de Var 2 par des ensembles de nœuds. La formule y = S i (x) est interprétée par y est le i-ème enfant de x. La formule x y est interprétée par y est descendant de x. 8/9

Logique et automates Théorème de Thatcher/Wright Pour tout NTA montant A il existe une formule MSOL ψ A telle que L(A) = L(ψ A ), et réciproquement. Algorithmes 1 Il existe un algorithme polynomial qui, étant donné un NTA A, vérifie si L(A). 2 Il existe un algorithme polynomial qui, étant donné un NTA A, vérifie si l ensemble L(A) est infini. 9/9