RdF Reconnaissance des Formes Semaine 12 : Chaînes, langages et grammaires



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

STAGE IREM 0- Premiers pas en Python

Initiation à la programmation en Python

Les chaînes de caractères

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

Théorie des Langages

Chapitre 1 : Introduction aux bases de données

Cours d algorithmique pour la classe de 2nde

Présentation du langage et premières fonctions

Pourquoi l apprentissage?

Représentation d un entier en base b

ÉCOLE SECONDAIRE PÈRE-RENÉ-DE-GALINÉE

I. Introduction aux fonctions : les fonctions standards

Chapitre 1 I:\ Soyez courageux!

1 Définition et Appel d une fonction. V. Phan Luong. Cours 4 : Fonctions

Algorithmes d'apprentissage

Compilation. Algorithmes d'analyse syntaxique

Initiation à l algorithmique

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

Vers l'ordinateur quantique

Recherche dans un tableau

Examen Médian - 1 heure 30

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

TP n 2 Concepts de la programmation Objets Master 1 mention IL, semestre 2 Le type Abstrait Pile

Déroulement. Evaluation. Préambule. Définition. Définition. Algorithmes et structures de données 28/09/2009

Big data et sciences du Vivant L'exemple du séquençage haut débit

Algorithmique et Programmation, IMA

LES OUTILS D ALIMENTATION DU REFERENTIEL DE DB-MAIN

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

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.

Cours 1 : Introduction. Langages objets. but du module. contrôle des connaissances. Pourquoi Java? présentation du module. Présentation de Java

Vecteurs. I Translation. 1. Définition :

TP 1. Prise en main du langage Python

MATHÉMATIQUES APPLIQUÉES S4 Exercices

Cours de Master Recherche

Intelligence Artificielle et Systèmes Multi-Agents. Badr Benmammar

1. Création d'un état Création d'un état Instantané Colonnes Création d'un état Instantané Tableau... 4

Structures algébriques

Exemples de problèmes et d applications. INF6953 Exemples de problèmes 1

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

MODE OPERATOIRE OPENOFFICE BASE

Plus courts chemins, programmation dynamique

Plan. Traitement de texte et PAO 4/10/06. Initiation à Word

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

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

Utilisation d objets : String et ArrayList

TD3 - Facturation avec archivage automatisé

Note de cours. Introduction à Excel 2007

1 CRÉER UN TABLEAU. IADE Outils et Méthodes de gestion de l information

2 Comment fonctionne un ordinateur, dans les grandes lignes

Théorie et Codage de l Information (IF01) exercices Paul Honeine Université de technologie de Troyes France

Cours d initiation à la programmation en C++ Johann Cuenin

FORMATIONS LINGUISTIQUES DIPLOMES, TESTS & EXAMENS D ESPAGNOL COCEF

Perl Orienté Objet BioPerl There is more than one way to do it

FAQ Conditions de candidature... 2 Procédure de candidature et remise de prix... 2 Le dossier de candidature... 3

Expression des contraintes. OCL : Object C o n t r a i n t L a n g u a g e

C est quoi un tableur?

Organigramme / Algorigramme Dossier élève 1 SI

Enseignement secondaire technique

Pour signifier qu'une classe fille hérite d'une classe mère, on utilise le mot clé extends class fille extends mère

Conditions Générales Location d équipements terminaux

Transmission d informations sur le réseau électrique

CHAPITRE 3 LA SYNTHESE DES PROTEINES

L ALGORITHMIQUE. Algorithme

Géométrie dans l espace Produit scalaire et équations

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)

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

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

1. LA GESTION DES BASES DE DONNEES RELATIONNELLES

Vision industrielle et télédétection - Détection d ellipses. Guillaume Martinez 17 décembre 2007

Bernard HAMM, Évelyne LAVOISIER

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

Algorithme. Table des matières

Utilisation des tableaux sémantiques dans les logiques de description

IMPORTATION, CRÉATION, MANIPULATION, EXPORTATION DE DONNÉES STATISTIQUES

Introduction au maillage pour le calcul scientifique

CAHIER DES CHARGES ETIQUETTES MP06-EU (FORMAT ODETTE)

MIS 102 Initiation à l Informatique

Guide méthodologique Utilisation de l état de contrôle de la participation aux bénéfices C22

Fig. 1 Le détecteur de LHCb. En bas à gauche : schématiquement ; En bas à droite: «Event Display» développé au LAL.

Diapo 1. Objet de l atelier. Classe visée. Travail en co-disciplinarité (identité et origine académique des IEN)

SOMMAIRE. Travailler avec les requêtes... 3

# 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>

1 de 46. Algorithmique. Trouver et Trier. Florent Hivert. Mél : Florent.Hivert@lri.fr Page personnelle : hivert

Les arbres binaires de recherche

modélisation solide et dessin technique

DOCM Solutions officielles = n 2 10.

GOL502 Industries de services

Manuel de l administrateur

Rappel. Analyse de Données Structurées - Cours 12. Un langage avec des déclaration locales. Exemple d'un programme

chapitre 4 Nombres de Catalan

PRODIGE V3. Manuel utilisateurs. Consultation des métadonnées

5 ème Chapitre 4 Triangles

Guide pratique : Les coûts d emprunt d argent

Guide d'utilisation. OpenOffice Calc. AUTEUR INITIAL : VINCENT MEUNIER Publié sous licence Creative Commons

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

Ebauche Rapport finale

DM 1 : Montre Autoquartz ETA

Cours 1 : La compilation

Transcription:

RdF Reconnaissance des Formes Semaine 12 : Chaînes, langages et grammaires Master ASE : http://master-ase.univ-lille1.fr/ Master Informatique : http://www.fil.univ-lille1.fr/ Spécialité IVI : http://master-ivi.univ-lille1.fr/

Plan du cours 1 Reconnaissance de chaînes correspondance, distance edit 2 Langages et grammaires exemples de grammaires, définition, types de grammaires 2

Reconnaissance de chaînes : introduction Définition une chaîne est une séquence ordonnée de symboles discrets tirés d'un alphabet 0,1, 0,1,2,...,9, a,b,c,..., z, A,G,C,T Exemple x =AGCTTCGAATC où chaque lettre représente un acide nucléique de l'adn (adénine, guanine, cytosine et thymine) en raison du caractère nominal des éléments, pas de notion évidente/intuitive de distance entre les chaînes les chaînes ne sont pas des vecteurs longueurs éventuellement différentes 3

Correspondance de chaînes Problème (probablement le plus important en RdF chaînes) étant donnés une chaîne x et un texte t, déterminer si x est une sous-chaîne de t, et à quelle position = lister tous les shifts valides (shift : décalage s requis pour aligner le 1er caractère de x avec le s+1ème caractère de t) Exemple t Aa Ga Ca Ta T C G A A T C A C A G T x s=5 C G A A 4

Algorithme naïf n = longueur(t), m = longueur(x) for i in 0..n-m if (x[1,m] = t[i+1,i+m]) print s return Correspondance de chaînes Algorithme de Boyer-Moore efficace, implémenté dans la plupart des éditeurs de texte 5

Correspondance de chaînes Puissance de l'algorithme de Boyer-Moore après un mismatch, deux heuristiques indépendantes et parallèles proposent des shifts sûrs, le plus grand est choisi - tous deux opèrent de droite à gauche à chaque position 1. Heuristique du «bon suffixe» aligne le suffixe courant de t avec le plus grand préfixe de x qui correspond, le cas échéant ==> construire la table des occurrences de tous les suffixes de x ex : «estimates» = s,2 ; es,1 ; tes,0 ; 0 pour tous les autres 6

Correspondance de chaînes Puissance de l'algorithme de Boyer-Moore après un mismatch, deux heuristiques indépendantes et parallèles proposent des shifts sûrs, le plus grand est choisi - tous deux opèrent de droite à gauche à chaque position 2. Heuristique du «mauvais caractère» utilise le caractère le plus à droite de t qui ne correspond pas avec le caractère aligné de x propose d'aligner ce mauvais caractère avec l'occurrence la plus à droite de ce caractère dans x s'il existe ==> construire la table des caractères de x contenant le rang de leur dernière occurrence (0 pour les autres) ex : «estimates» = a,6 ; e,8 ; i,4 ; m,5 ; s,9 ; t,7 ; 0 pour les autres 7

Correspondance de chaînes Exemple d'exécution de l'algorithme de Boyer-Moore 8

Distance de chaînes Problème étant données deux chaînes x et y, combien d'opérations fondamentales permettent de passer de l'une à l'autre? Opérations Substitution: un caractère de x est remplacé par un autre dans y Insertion: un caractère est inséré dans x (longueur: +1) Suppression: un caractère est supprimé dans x (longueur: -1) Algorithme «Edit Distance» for i in 0..m : c[i,0] = i for j in 0..n : c[0,j] = j for i in 0..m for j in 0..n c[i,j] = min(c[i-1,j]+1, // insertion c[i,j-1]+1, // suppression c[i-1,j-1]+1 (x[i]=y[j]?1:0) // substitution ou même car return c[m,n] 9

Alternatives de correspondance Correspondance avec erreurs étant donnés une chaîne x et un texte t, déterminer le shift s pour lequel la distance edit entre x et la sous-chaîne de t à la position s+1 est minimale algorithme similaire à la distance edit ==> minimiser distance(x,y), avec y une sous-chaîne de t Correspondance avec le symbole «don't-care» on a en plus le caractère ø, qui peut correspondre à tous formellement, pas de différence dans les algorithmes - mais ils deviennent moins efficaces 10

Langages et grammaires : introduction Théorie des langages à l'intersection de l'informatique théorique, de la logique, et de la linguistique Applications compilation (analyse syntaxique), programmation logique, traitement des langues naturelles 11

Langages et grammaires : un exemple Soit l'exemple suivant on se donne un alphabet de symboles composé de a et de b, et on étudie le langage L contenant l'ensemble des mots composés de la manière suivante : - un nombre arbitraire de a (au moins 1), suivis de - un nombre arbitraire de b (éventuellement 0) on peut décrire l'ensemble des mots corrects avec : a n b m,n 1,m 0 reconnaissance de chaînes exemples de mots bien formés (appartenant à L) a, aaaaab, abbbbb,ab,aaaaaaaaaaaaa exemples de mots mal formés (n'appartenant pas à L) bbb, aabbaa, abc, abab 12

Langages et grammaires : un exemple Suite de l'exemple l'ensemble des mots bien formés de L peut être généré par des règles de production R 1 :S A B R 2 : A a R 3 : A aa R 4 : B R 5 : B bb reconnaissance de chaînes R 1 :S A B R 2 : A aa a R 3 : B bb A, B et S sont des symboles non-terminaux (uniquement en partie droite des règles), S est l'axiome (point de départ) application d'une règle : remplacer dans un mot la partie gauche de la règle par la partie droite dérivation : application d'une séquences de règles de production en partant de l'axiome 13

Autre exemple Langue naturelle soient les règles suivantes R 1 : P S V C R 2 :S N R 3 :C N R 4 : N Art Nom R 5 : N Art Adj Nom R 6 : Art le R 7 : Nom chat R 8 : Nom rat R 9 : Adj vieux R 10 : Adj petit R 11 :V attrape exemples de phrases grammaticalement correctes : - «le chat attrape le petit chat» - «le vieux rat attrape le rat» on peut associer à chaque phrase un arbre de dérivation 14

Autre exemple Arbre de dérivation séquence des règles appliquées 15

améliorations Définition forêts aléatoires Définition formelle d'une grammaire : 4 objets suivants - un ensemble fini de symboles appelés symboles terminaux - un ensemble fini de symboles appelés non terminaux - un élément de l'ensemble des non-terminaux, appelé axiome - un ensemble de appelés règles de production, qui sont des paires formées d'une non-terminal et d'une suite de terminaux et de non-terminaux (axiome : postulat, proposition évidente, vérité indémontrable, qui est admise) 16

Hiérarchie de Chomsky Quatre types de grammaire - type 0 (libre) : aucune restriction dans les règles - type 1 (en contexte) : règles de la forme R i : I x alpha et beta sont le contexte (terminaux ou non-terminaux) - type 2 (algébrique, ou hors-contexte) : règles de la forme R i : I x pas de notion de contexte (x terminal ou non) - type 3 (régulière) : règles de la forme R i : z z Forme normale de Chomsky (CNF) toute grammaire hors-contexte peut être convertie en CNF R i : A AB z 17

Pour approfondir Duda, Hart, Stork, «Pattern Classification», 2ème édition, Wiley-Interscience, 2001. http://rii.ricoh.com/~stork/dhs.html Boyer, Moore, «A fast string searching algorithm», Communications of the ACM. 20:762-772, 1977. http://download-book.net/quinlan-c4.5-pdf-doc.html 18