Aller au contenu

« Distance d'édition sur les arbres » : différence entre les versions

Un article de Wikipédia, l'encyclopédie libre.
Contenu supprimé Contenu ajouté
ManiacParisien (discuter | contributions)
Je continue encore un peu la bibliographie, mais le tout ne me semble pas passionnant
ManiacParisien (discuter | contributions)
Aucun résumé des modifications
Ligne 1 : Ligne 1 :
{{en travaux|13 janvier}}
{{en travaux|13 janvier}}
{{Ébauche|informatique}}
{{Ébauche|informatique}}
En [[informatique théorique]], la '''distance d'édition d'arbres''' (en anglais '''''tree edit distance''''' est une mesure qui évalue, en termes de nombre de transformations élémentaires, le nombre d'opérations nécessaires et leur coût pour passer d'un arbre à un autre. C'est une notion qui étend, aux arbres, la [[distance d'édition]] (ou [[distance de Levenshtein]]) entre chaînes de caractères.
En [[informatique théorique]], en [[biochimie]] et aussi dans des applications en [[vision par ordinateur]] la '''distance d'édition d'arbres''' (en anglais '''''tree edit distance''''' est une mesure qui évalue, en termes de nombre de transformations élémentaires, le nombre d'opérations nécessaires et leur coût pour passer d'un arbre à un autre. C'est une notion qui étend, aux arbres, la [[distance d'édition]] (ou [[distance de Levenshtein]]) entre chaînes de caractères.

Plusieurs variantes de cette notion existent, en fonction e la nature des arbres que l'on considère. En toute généralité, ce sont des arbres abstraits ; de façon plus restrictive, on considère des arbres plans, c'est-à-dire tels que les sommets voisins d'un sommet sont ordonnés. Plus particulier encore est le cas des arbres plans enracinés : un tel arbre est composé d'une racine et d'une suite ordonnée de sous-arbres. C'est ce cas qui est détaillé ci-dessous. Un exposé de synthèse est donné par un article de Benjamin Paaßen sur arxiv<ref>{{harvsp|Paaßen|2018}}.</ref>


Les opérations élémentaires de transformations d'arbres sont, comme pour les chaînes de caractères, la '''suppression''', l''''insertion''' et le '''renommage''', appliqués à un nœud d'un arbre.
Les opérations élémentaires de transformations d'arbres sont, comme pour les chaînes de caractères, la '''suppression''', l''''insertion''' et le '''renommage''', appliqués à un nœud d'un arbre.
Ligne 74 : Ligne 76 :


== Bibliographie ==
== Bibliographie ==
* {{article
|titre= Revisiting the tree edit distance and its backtracing: A tutorial
|auteur= Benjamin Paaßen
|jour= 26 |mois = octobre
|année =2018
|site=
|journal = Supplementary material for the ICML 2018 paper: Tree Edit Distance Learning via Adaptive Symbol Embeddings
|page=
|arxiv = https://arxiv.org/abs/1805.06869
|en ligne le=
|consulté le=13 janvier 2019
|id=
}}.
* {{chapitre
* {{chapitre
|langue=
|langue=
Ligne 84 : Ligne 99 :
|date= 2003
|date= 2003
|passage= 83-95
|passage= 83-95
|issn=0302-9743|doi=10.1007/3-540-44888-8_7
|issn=
|présentation en ligne= http://www.cs.ucr.edu/~stelo/cpm/cpm03/Touzet.pdf
|présentation en ligne= http://www.cs.ucr.edu/~stelo/cpm/cpm03/Touzet.pdf
|consulté le=13 janvier 2019
|consulté le=13 janvier 2019
Ligne 99 : Ligne 114 :
|issn=
|issn=
|lire en ligne=
|lire en ligne=
|consulté le=13 janvier 2019
}}.
* {{article
|langue=
|auteur1= Philip N. Klein
|titre=Computing the edit-distance between unrooted ordered trees
|périodique=Proceedings of 6th European Symposium on Algorithms,
|collection = LNCS 1461
|date=1998
|pages= 91-102
|issn=
|lire en ligne= http://128.148.32.110/research/pubs/pdfs/1998/Klein-1998-CED.pdf
|consulté le=13 janvier 2019
|consulté le=13 janvier 2019
}}.
}}.

Version du 13 janvier 2019 à 15:44

En informatique théorique, en biochimie et aussi dans des applications en vision par ordinateur la distance d'édition d'arbres (en anglais tree edit distance est une mesure qui évalue, en termes de nombre de transformations élémentaires, le nombre d'opérations nécessaires et leur coût pour passer d'un arbre à un autre. C'est une notion qui étend, aux arbres, la distance d'édition (ou distance de Levenshtein) entre chaînes de caractères.

Plusieurs variantes de cette notion existent, en fonction e la nature des arbres que l'on considère. En toute généralité, ce sont des arbres abstraits ; de façon plus restrictive, on considère des arbres plans, c'est-à-dire tels que les sommets voisins d'un sommet sont ordonnés. Plus particulier encore est le cas des arbres plans enracinés : un tel arbre est composé d'une racine et d'une suite ordonnée de sous-arbres. C'est ce cas qui est détaillé ci-dessous. Un exposé de synthèse est donné par un article de Benjamin Paaßen sur arxiv[1]

Les opérations élémentaires de transformations d'arbres sont, comme pour les chaînes de caractères, la suppression, l'insertion et le renommage, appliqués à un nœud d'un arbre.

Notations

On considère les arbres comme des structures récursives : un arbre est composé d'un nœud racine , et d'une forêt qui est une suite d'arbres. La distance d'édition de deux arbres et est le nombre minimum d'insertions, suppressions ou renommages de nœuds, noté , nécessaires pour transformer en .


Le calcul d'une distance d'édition sur arbre est similaire au calcul sur les chaînes. Cependant le choix de l'ordre des récursions peut changer la complexité temporelle du calcul de manière significative.

Stratégie de décomposition

Soient et deux arbres non vides. Le calcul de se fait comme suit :

Le coût du calcul de la distance d'édition sur les arbres se fait grâce à une distance d'édition sur les forêts, toujours notée . Le calcul de la distance d'édition sur les forêts peut se faire deux manières, en privilégiant la gauche ou la droite : le calcul s'applique à deux suite d'arbres, notées et , où et sont des arbres et et les restes de suites. En posant et , les stratégies sont :

  • à gauche :
  • à droite :

Une stratégie de décomposition est une succession de choix entre une décomposition à gauche ou une décomposition à droite. Chaque algorithme basé sur une décomposition a dans le pire des cas une complexité en temps au moins en . Des algorithmes de programmation dynamique peuvent être étudiés avec la stratégie de décomposition. Deux stratégies parmi les plus utilisées sont celles de Zhang-Shasha (1989) et celle de Klein (1998) :

Zhang-Shasha

La stratégie de décomposition de {Zhang-Shasha}} consiste à utiliser systématiquement la décomposition à gauche.

Zhang et Shasha ont montré que la complexité en temps de leur algorithme pour le calcul de la distance d’édition de deux arbres et de taille est en .

D’autre part, la complexité en place de cet algorithme est en .

Klein

La stratégie de décomposition de Klein utilise une notion de chemin lourd[2]. Le choix de la décomposition est « à gauche » si le premier fils droit de A est sur le chemin lourd et « à droite » dans les autres cas.

La complexité en temps de cet algorithme est en .

Développement

Un algorithme pour calculer une distance d'édition sur les arbres basée sur la stratégie de décomposition de Dulucq et Touzet a été proposé par Demaine et ses coauteurs[2]: Cet algorithme a une complexité en temps dans le pire des cas en et en pour la complexité en espace.

Notes et références

  1. Paaßen 2018.
  2. a et b Erik D. Demaine, Shay Mozes, Benjamin Rossmann et Oren Weimann, « An optimal decomposition algorithm for tree edit distance », ACM Transactions on Algorithms, vol. 6, no 1,‎ (DOI 10.1145/1644015.1644017).

Bibliographie

  • Benjamin Paaßen, « Revisiting the tree edit distance and its backtracing: A tutorial », Supplementary material for the ICML 2018 paper: Tree Edit Distance Learning via Adaptive Symbol Embeddings,‎ (arXiv https://arxiv.org/abs/1805.06869).
  • Serge Dulucq et Hélène Touzet, « Tree edit diatance analysis », dans Combinatorial Pattern Matching CPM 2003, Springer, coll. « Lecture Notes in Computer Science 2676 », (ISSN 0302-9743, DOI 10.1007/3-540-44888-8_7, présentation en ligne), p. 83-95.
  • K. Zhang et D. Shasha, « Simple fast algorithms for the editing distance between trees and related problems », SIAM Journal of Computing, vol. 18, no 4,‎ , p. 1245–1262.
  • Philip N. Klein, « Computing the edit-distance between unrooted ordered trees », Proceedings of 6th European Symposium on Algorithms,,‎ , p. 91-102 (lire en ligne, consulté le ).