1. Trang chủ
  2. » Luận Văn - Báo Cáo

Luận văn extraction de sous trajectoires d’abeilles

48 1 0
Tài liệu được quét OCR, nội dung có thể không chính xác
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Extraction de sous-trajectoires d’abeilles
Tác giả Nguyen Van Tho
Người hướng dẫn Karell Bertet
Trường học Institut de la Francophonie pour l'Informatique
Chuyên ngành Informatique
Thể loại Mémoire
Năm xuất bản 2014
Thành phố La Rochelle
Định dạng
Số trang 48
Dung lượng 774,62 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

L’ Analyse Formelle de Concepts AFC est souvent ntilisée pour analyscr les donnécs décrivant la relation cntrc un cnscmble d’abjcts ct dun ensemble d’attributs, Les fondements mathémat

Trang 1

Promotion 17 - IFT

Encadrant :

Karell BERTET

La Rochelle, Avril — Octobre, 2014

Ce stage a été réalisé au Laboratoire Informatique, Image et Interaction L3i et a été

financé par la région Poitou-Charentes.

Trang 2

Remerciements

Je liens tout d°ahord à remercier Madame Karell Berlet, responsable de mon stage pour

Ie temps quelle ma consacré durant ce stage, ses conseils précieux pendant 6 mois de

mon stage

Je tiens & remercier également les professours et les personnels de Institut de la Francophonie pour I Informatique, des professeurs invités de m'avoir donné des cours

de haut qualité et pour leur soutien tout au long de mes études

Je ticns & remercicr Monsicur Bruno Lescalicr pour fe fournissement de données Mes remercicments yont aussi aux ma femme, ma famille et mes amis pour leur

encouragement.

Trang 3

Résumé

Lobjectif de ce stage est de rechercher les sous-trajcctoires manimales fré- quentes dabeilles L’ Analyse Formelle de Concepts (AFC) est souvent ntilisée

pour analyscr les donnécs décrivant la relation cntrc un cnscmble d’abjcts ct dun

ensemble d’attributs, Les fondements mathématiques derritres 1’ AFC, le treillis

de Galois et le systéme de fermeture permettent d’en étendre le cadre applicatif

dos descriptions plus sophistiquécs, tetles que les ssquences Dans cc stage nous

présentons une méthode d'analyse formelle de concepts séquentiels : une extension

de AVC et la recherche de concepts pertinents en utilisant les treillis de Galois lille

consisic d'abord 3 diserétiscr les trajectoircs d’ahcilles on séquences Ht puis, calcu-

ler le treillis de Galois du contexte séquentiel (une extension du contexte formel)

qui consiste a rechercher les sous-séquences communes maximales & l'ensemble

Ge séquences Des expérimentations et de nombreuses évaluulions ont éé eflectués

pour valider la faisabilité de l'approche et ilustreat la possibilité d'une application

des méthodes ¢” apprentissage supervisé ox non-supervisé

Mots-clés treillis de Galois, analyse formelie de concepts, trajectoire,données séquen- ticlies, fouille dc données

Abstruct

The uim of this thesis is to mine the frequent closed sub-trujectories of bees

The Formal Concept Analysis (FCA) is often used to analyze the data describing

the relationship hetween a set of objects and a set of attributes ‘The mathematical

foundution behind the FCA, the Gulois lattice und closure system allow to extend

the application of FCA to more sophisticated data descriptions, such as sequence

In this work, we present a formal analysis of sequential concepls; an extension of

the PCA and its application for mining relevant concepts Firstly, we discretize

the trajectories of bees to sequences Then, we construct the Galois lattice of

sequential context (an extension of the formal conical) which consists of scarching

the maximum common sub-sequences of a set of sequences Experiments were

conducted to validate the feasible of the propnsed approach, ax well as illustrate the

possibility of applying the supervised of unsupervised learning methods

Keywords Galois lattices, formal concept analysis, trajectory, sequential data, data

mining

ii

Trang 4

Table des matières

2 Construction de arbre des suffixes gếnêralsếs 12

243 AlgorihmepourcalculerleaXy) ¬

3.1.3 Calcul de treillis de Galois de contexte séquentiel

3.14 Recherche des concepts pertinents

iii

Trang 6

List of Figures

Arbre des suffixes de la chaine xabxac [Gus97]

Arbre des suffixes et arbre des suffixes implicites de la séquence xabxa Aubre des suifixcs pénéralisés dc “xabxa" ct "babxba"[Gus97], Ie premicr nombre indique la xếquenec, te deuxigme nombre indique la position du

Les feuilles en tectangle ayant identifieur i, les neeuds en cercle sont leas des feuilles deT, [Gus97] 0.0 eee eee

Les nombres de chemin d'un arbre binaire entier de 15 noeuds Les patitions des noeuds và cu co cà

Contexte séquentiel et treillis de Galois

Treillis de concepts du contexte de table 3.1 Integration de de méthode Ly a la bibllathbque Java, lattices

Les hordures et les concent pertnents avec min sup =30% et min Iong=3 3

Un veelcur vilesse aver ses trois composamls 6

Un exemple de lrajectoires en 3D el un exemple de contexte séquentiel

‘Angle entre deux vecteurs créés par trois points d'une fengtre Nombre des concepts pertinents et nombre total de concepts avec une

Ratio entre Ic nombre de concepts pertinents ol le nombre total de con~

Ratio entre le nombre de concepts pertinents et le nombre total de con-

cepts (pour des séquences de direction) cv va

‘Treillis des concepts đes séquences de diection .

Trang 7

List of Tables

La table binaire décrivant fa relation I du contexte (0,5.) « 5

Un exemple de concept formel 6 Base de données transactionnelles des clients a) Version séquenticlle de la base de đonnÉcs 9

Un exemple de contexte séquentiel 6 eee 25 Correspondant entre les vitesses e† les code 32 Correspondance entre les directions et les codes 34

Un exemple de contexte séquentiel des directions 34

vi

Trang 8

Chapter 1

Introduction

Labcille cst unc espéce bio-indicatrice (ou dite "sentinelle de l’cavironnement") Depuis

plusicurs années nous sommes foreés de conslaler que lo cheplel mondial des abeilles est en déclin Léquipe du projet APIALERTE ! du laboraloire 1.3i ? s"est rendu dans

les ruchers du domaine du Magneraud 4 plusieurs reprises pour capturer des vidéos de Vactivité des d’abeilles devant la ruche Les travaux réalisés dans le cadre de la thése

de Guillaume Chiron permettent de suivre individuellement en 3D chaque abeille en

vol devant la ruche, ct ainsi cxtraire les teajectoires des abcilles 4 partir d'une carte de

profondeur Tidée de ce slage est d’étudier 1a faisabilité des méthodes d'extraclion

de motifs séquentiels aux trajectoires dex abeilles Ces méthodes ent pour objectif d”extraire les sous-séquences fréquentes dans un contexte snpervisé ou non Ainsi une

telle extraction est envisageable A partir de l'ensemble des trajectoires des abeilles pour

en extraire les sous-séquences fréquentes, ou bien ä partir d'une base d’apprentissage de

trajectoires préalablement catégorisées (abeilles normales ou anormales par exemple),

permetlant ainsi identifier ou de caraclériser lex sous-lrajeeloires [r6quenles ou non

fréquentes par calégorie

Alors que los promicrs travaux Wextraction de motifs fréquonts visaienl & calculer tous les sous-ensembies de motifs pour en extraire les plus pertinents [AS+94], de récentes méthodes issues de l’analyse formelle des concepts (AFC) reposent sur l’extraction de motifs fermés L’AFC, outil de représentation et d’exteaction des connaissances sous

"http://13i.univ-larochelle.fiyAPIALERTE

“Laboratoire Informatique, Image et Interaction (L3i), Université de La Rochelle

Trang 9

é de classification dans

cx d'assnctation ou de concepts, ainsi la possibili

sé ct de segmentation dans le cas non suporvisé Malgré dex traitements souvent exponentials, les fondements mathématiques de I’ AFC, qui reposent sur la

théorie des treillis [Bir67| et des fermetures, garantissent des algorithmes efficaces et souvent optimanx La plupart de ces algorithmes sont implémentés dans la bibliothèque jave-lattices [Ber14] développée au laboratoire L3i ott ce stage est réalisé L’ATC

analyse les données décrit par la relation etre un ensemble d’ objets et d'un ensemble dattributs Alors que Tes objets sont classiquement décrits par des ensemblos dPattributs, les propriéiés d’un opérateur de fermeture permettent d’en étendre le cadre applicatif

a des descriptions plus sophistiquées, telles que les graphes [GKO1], les intervalles

[PolY8}, Jes formules logiques [J‘RO4], les séquences, et plus généralement anx patterns

[Kuz01] Plus formellement, ces extensions sont rendues possibles par la mise en place d’un opérateuc de fermeture dans l’espace de description considéré Dans le cas des

séquences, il est nécessaire de définir un opérateur de fermeture qui cortespond au calcul des sous-séquences communes maximales a un ensemble de séquences Les objets sont alors décrits par des séquences, formant ainsi un contexte séquentiel & partir duquel il est possible de générer le treillis de Galois de séquences

1/objectif de ce stage est donc d’implémenter le calcul des sous-séquences communes maximales qul posséde les propriétés d’un opérateur de fermetue Puis de I'intégrer an

sein de la bibliothéque java-lattices par la mise en place d'un opérateur de fermeture sur

I uences, cl d’un contexte séquenticl Des expérimentations seront menées sur des

trajectoires d'abeilles qu'il s'agira de discrétiser on séquencos

|Bor86| ou ['algorithme Next Closure [Gan84| déja implémentés au sein de la bibliotheque java-lattices

(3) Lxpérimentations sur 20 trajectoires d’abeilles et accompagnées de quelques mesures d’évaluation Bien que I’ apprentissage est non-traité dans le carde de ce projet, nos résultats montrent que l’apprentissage supervisé/non-supervisé suc les

trajectoires sont faisables.

Trang 10

1.4 Organisation du mémoire

Le mémoire est organisé de la maniére suivante :

Dans le chapitre 2, nous présentons un état de I’art sur analyse formelle de concepts

(AFC) et la recherche de sous-séquences comnmnes maximales

Dans le chapitre 3, nous décrivons la méthode proposée, le treillis de Galois du

contexte séquenticl ct la recherche des concepts pertinents

Le chapitre 4 préxente Ics expérimentations of sex résultats

Trang 11

Chapter 2

Etat đe Part

Nous présentons dans ce chapitre un tour d’horizon des travaux auxquels nous avons eu recours pour développer ce travail Nous introduisons dans un premier temps les notious

de P Analyse Formelle de Concepts ct les algorithimes proposés, puis nous évoquons les travaux cxistant pour la recherche de motifs s¢quenticls Nous rappelons ensuite on détail les algorithmes pour la recherche dex sous-séyuences communes maximales a l'ensemble des séquences

LỰ Analyse l'ormelle de Concepts (AIC) [Wil82; GWW99J a été présentée comme un

domaine de mathématiques appliquées qui consiste à restructurer la théorie des treillis

[Bir67] L’AFC analyse les données décrivant 1a relation entre un ensemble d’ objets

et un ensemble d’atiributs Ces données apparaisscut couramment dans de nombreux

domaines de T'activité humaine tels que lu psychologic, la saciologic, Panthropalogic,

Ja médecinc, lu biologic, Tinguistique, sctenves informatiques, malhémaliques ol génie industriel Nous présentons dans cette section les notions de base de l’ AFC et quelques

algorithmes pour l’extraction de motifs séquentiels

2.1.1 Contexte formel

Définition 2.1.1 (Contexte formel) Un contexte formel vst un triplet K = (0,5, 7) 01 O

estun ensemble dobjets, 5 cst un ensemble d'atuributs ct J est une relation binaire entre

OetS ie Te OxS (0,5) € I signifie que labjet o possade L'attribut s

Graphiquement, nous pouvens représenter un contexte formel par une table binaire

(cross-table) mettant en relation objets et attributs Les lignes de la table correspondent

aux objets, les colonnes de la table correspondent aux attributs (i,j) prend la valeur 1, vrai ou encore x si Pobjet i posséde Pattributj

4

Trang 12

Table 2.1 La table binaire décrivant la relation 7 du contexte (Ó Š, 7}

Exemple 2.1.1 Le contexte € décrit par la figure 2.1 consiste I’ensemble des objets

G@ = (1,2,3,4,5} ct l'ensemble des attributs § = {a,b,c dh

2.1.2 Structure de treillis

La notion de concept forme! est fondamentale pour AC Pour définir le concept formel d'un contexte forme] (O, 5, 7) nous avons besoins des cpérateurs de dérivation détinis

pour les sous-cnscmbles arbitraires AC Oct BCS:

Définition 2.1.2 Pour un contexte formel (0, 3,2) pour tout 4 € et BC S, on défini:

(LD) Ai =@(A) ={0 € 0 ols ¥s SÀI

Définition 2.1.3 (Concept formel) Un concep formel dans un conteate formel (0, 5, }

est une paite (A, B) avec AC O, ACS, a(A) = Het A(R) = A

Les ensembles A et B sont appelés respectivement extent et intent du concept formel

(A.B)

La zelation de sous-concept, de super-concept est définie comme ci-dessous:

(Ai, By) S (Ao, By) © At © Ay (By 2 Bo)

Fxemple 2.1.2 Dans le tableau 2.2, le rectangle surligné teprésente le concept formel {AL Bl} = ((y2.y3 94}, (22, 03))

Trang 13

Définition 2.1.4 (Trellis) Un treillis est une paire L = (S,<) ot:

© < est une relation d’ordre sur l'ensemble S, i.e, une relation binaire qui vérifie les

propriétés suivantes :

— réflexivité : pour tout.x € S, ona xix

— antisymétrie : pour tous x,y € S, x/y et y/x impliquent x = y

— transitivité : pour tous x,

2 € S, x/y et ylz impliquent x/z

© toute paire d’éléments x, y de S admet & la fois une borne inférieure et une borne

supérieure

= la borne inférieure de «et y, notée x A y, est unique élément maximal (plus grand élément) de l'ensemble des prédécesseurs (ou minorants) de x et y

(ensemble des éléments z € S tels que z < x et z < y)

— la borne supérieure de x et y, notée x V y, est l'unique élément minimal (i.e

plus petit élément) de l'ensemble des successeurs (ou majorants) de x et y

(ensemble des éléments z € S tels que z > xet zy)

Définition 2.1.5 (Treillis des concepts) Le trellis des concepts se défini pour une

relation binaire / entre un ensemble O d’objets et un ensemble S d’attributs, encore

appelé contexte Le treillis des concepts d’un contexte (O, S, /) est une paire (C, <) ot:

* Cest un ensemble de concepts défini sur P(O) x P(S) par :

(A,B) € C = ACO,BCS,B=a(A) et A=f(B)

avec

đ(A) = {b eS: alb pour tout a € A) B(B) = {a € O : alb pour tout b € BY

© <est une relation binaire définie sur l'ensemble des concepts C, pour (A1, B1) et (A2, B2) €

€:

(Al, Bl) < (A2, 82) C BI € B2 = AI 3A2

6

Trang 14

Ta figure 2.1 montre le diagramme de Hasse du treillis de Galois du contexte 2.1 Une éclipse représenie un concept el les arcs entre le ss malériatisent la relation ordre du plus général (en bas) vers le plus spécifique (en haut)

Figuee 2.1 — Le treillis des concepts du contexte forme! 2.1

Définition 2.1.6 (Treillis de Galois) Un teillis de Galois se définit & partir d'une

correspondance de Galois (2,8) entre deux ensembles Get S SoientAC Oet BL S,

on définit a@ ct 6 comune suit:

œ:P(2) — P(S) g(A) = lý cS/(G,3) c1 Ýo CAI Ql)

B: P(S) > PLO} a(B) = fe C O/(0,s) C I,Ýs G BỊ (2.2)

« aest une application isotone de P(G) vers P(S) +X ¢ ¥ imptique a(X) € a(Y),

® fest unc application antitone de (8) verx (2): X € Y implique A(X) 2 ACY),

» (Go a@) est une application extensive sur P(S) : X C Ø implique X € ( e ø)(X)

» (ao A) est une application extensive sur P(O) : X € S implique X & (a 0 A\(X)

gũ :

PỢ) cal Ï"ensemble des narlies de X

Trang 15

Tes deux compositions far 6 8) cl (8 0 a) sont des opérateurs de fermetures définis,

respeelivernent sur @ el S

Définition 2.1.7 (Opécatcur dc fermeturc} Un opératcur de fermeture sur ensemble X

esl un mapping C: P(X} P(X) salisfonl pour A, Ay, Az CX:

ACCA)

ACA > CAC CAD

C{A) = C(C(A))

Définition 2.1.8 (Syslème de fermeture) Un ensemble de fermés X avec son upérateur

de fermeture se compose un systéme de fermeture Par exemple (O a 0 8) est un système

de fermeture

2.13 Calcul du treillis

Plusieurs algorithmes ont été proposés pour calculer du teillis de Galois (on générer

les fermés) Un des premiers algorithmes proposés est l’algorithme de Chein [Che69], les concepts sont générés 2 partir de concept initial en utilisant un algorithme de calcul les sous-matrices Des algorithmes plus récents ent amélioré la performance en testant les concepts existant pour éviter de les régénérer [Nor78; Gan84; Bor86] L’algorithme

Next Closure [Gan84] génére les concepts selon 1’ ordre lectical entre eux Les concepts

peuvent étre générés de maniére incrémentale [Nor78; GMA 1: CR93] L’algorithme

de Rordat [Bor86| génère les concepts en calculant le diagramme de Llasse du treillis Conclusion: Toute description d’ objets pac une connexion (@,) qui vérifie les pro- priétés d’une connexion de Galois permet ainsi de maintenir le systtme de fermeture sur

Tensemble des objets, et donc de rendre possible la génération du treillis de Galois

Larecherche des motifs séquentiels cst un probléme fondamental ct esseuticl dans de

nombrouses applications (découverte des régles dassocialion, régles de classification

ou regrouper les abjets selon les motifs) d’ exploration de données qui sont ordonnées, telles que la base de données transactionnelies, la base de données des trajectaires

Plusietrs méthodes ont éé proposées pour la recherche des motifs séquentiels Les premiéres méthodes se basent sur I'algorithme Apriori [Agr+96| qui énumére tous les motifs séquentiels fréquents (i.e partagés par un nombre suffisant d’ objets} Puis d'autres solutions ont éé proposées pour limiter le nombre de motifs fréquents générés qui est

exponenticl, Cette énumération est un probléme exponenticlic I y a deux solutions la

recherche des motifs séquentiels La premiére solution est de recherche seulement les

motifs séquentiels maximaux [A895] La deuxiéme solution est de recherche seulement

Trang 16

les motifs séquentiels fermés en introduisant un systéme de Íermeture sur Í”ensemble dex

séquences [YHA03; WHOA]

2.2.1 Préliminaires

Soit J = tsi -++é, est un ensemble de n items distinctifs La base de données trans- actionnelles est noté D dont chaque tcansaction (sid, 7) a un unique identifiant tid et

contient un ensemble d’items encore appelé motif 7

Exemple 2.2.1 La table 2.3 est un exemple de base de données transactionnelles (sa version séquentielle est présentée dans Ia table 2.4)

Table 2.4 — Version séquentielle de la base de données

Définition 2.2.1 (motif) Un motif ou itemsel est un ensemble nan vide d’ilems

Définition 2.2.2 (séquence) Une séquence est une une liste ordonnée, non vide, de

motifs notée (i) (a) ob (i1;) est un motif

9

Trang 17

Déñnition 2.2.3 (suppor) T.c supporL d'un motif X noté supp(X) ext le nombre de transactions dont X us-ensemble,

NGid, Pye DIX CTI

Déiinition 2.2.5 (motif maximal) Un motif fréquent est dit maximal s’il n’est pas

sous-ensemble d’ancun d'autre motif fréquent

Détinition 2.2.6 (ensemble fermé) Un ensemble est dit fermé s*il n’a pas de super- ensemble avec la mame fréquence

2.2.2 Recherche des motifs séquentiels maximaux

La recherche des motifs séquentiels maximaux a été introduite dans les travaux de

R Agrawal et Srikant |AS95| Les anteurs présentait trois algorithmes dont deux permettaient I'extraction de motifs séquentiels maximaux & partir une base de données

des transactions des clients La base de données transactionnelles est transtormée en des séquences (voir exemple dans les tables 2.3 et 2.4) La définition d'un motif séquentiel

maximal est similaire celle des itemscts fréquents maximaux Ainsi, si unc sớqucncc s est fréquente cl qu'il n’cxiste pas de séquences fréquentes 8’ tells que ø” C #, alars le

motif séquentiel s est dit maximal

2.2.3 Recherche des motifs séquenticls fermés

Clospan (YHAO3] est une méthode basée sur le principe depth-first ct implémente

Palgorithme ProfixSpan En (ail, il s'agit d'une optimisation de ce dernier, destinge & élaguer V'expace de recherche en évilant de parcourir certaines branches dans le processus

de divisions récursives (en détectant par avance les motifs séquentiels non fermés) Le principe de CloSpan repose sur deux éléments essentiels : l’ordre lexicographique des séquences et la détection de liens systématiques entre deux items (i.e."B apparait toujours

avant y dans la base de données”)

BIDE (BI-Directional Extension) est proposée dans [WH04] dtendre les séquences

dans les deux directions, i.e en avant (forward extension) et en ariére (backward extension) Cette méthode est plus efficace que Clospan dans le cas de bases contenant

de trop nombreuses séquences fermées,

Trang 18

2.3 Arbre des suffixes généralisés

La principale caractéristique de l'arbre des suffixes est que pour toute feuille i, la

concaténation des aréte-étiquettes sur le chemin de la racine jusqu’a la feuille i définit

exactement le suffixe de « qui commence & la position i On Pappelle suf fi

Trang 19

2.3.2 Constructian de arhre des suffixes généralisés

Un arbre des suffixes peut Être construire en temps linéaire Le premier alaorithume lingaire algorithme est proposé par Weiner [Wei73] en 1973 McCreight [McC76] propose un autre algorithme linéaire mats plus clficace pour la gestion de mémuire

Fn 1995, Ukkonen [Ukk95] a présonté un algorithme qui est aussi efficace que celui

de McCreight mais plus simple, Nous allons donc représenter en détaille Palgorithme đïUkkonen,

2.3.2.1 Algorithme d°Ukkonen

Lalgorithme d’Ukkonen permet de construize un arbre des suffixes & temps linéaire

Tl traite les symboles de la chafne un par un ol de de gauche & droite (incrémental) T2algorithme se base sur Te concept de l'arbre des sulfises implicites,

Définition 2.3.2 (Arbre des suffixes implicites) Un arbre des sufixes implicites de

chaine @ est un arbre obtenu A partir de l’arbre des suffixes a$ en supprimant tons les

copies du terminal symbole $ a partir des étiquettes des arétes de I'arbre, puis en enlevant

Tes ardtes qui n“ont pas d’étiquetie, puis cnlever Lous les nocuds qui n’ont pas au mains

deux enfants

Un arbre des suffixes implicites pour un préfixe a|0 if de a est définie de facon similaire en prenant l'arbre des suffixes de a[0 i]$ et suppression les symboles $, des

arétes et des nceuds comme ci-dessus [Gus97]

L’arbre des suffixes implicites encode tous les suffixes de la séqhenee œ, mais les suffixes ne terminent pas forcément aux feuilles Nous n’utilisons arbre des suffixes

implicites que pour les résultats intermédiaires pendant la construction de arbre des

suffixes La Figure 2.3 représente I’ arbre des suitixes et l'arbre des suttixes implicites de

Ja séquence zabxa Nous constatons que les suffixes a et re ne terminent par aux feuilles dans l’arbre des suffixes implicites

Définition 2.3.3 Nous désiguons par Jj Ï'arbre đes suifixes implicites de a[0 /] pour i

de Ohn-1

Lalgorithme de Ukkanen [0kk95] construil un arbre des suflixes impliciles 7; pour chaque préfixe o[0 /] de œ Ces arbres de suffixes sont constmuits de facon incrémentale

de Jy jusqu’a f,-1

On associe a chaque necud interne le mot corresponds a l'étiquette depuis la racine

jusqu’d ce nozud Ainsi la racine est associée & e, On associe l’indice j à la feuille au bout

du chemin étiqueté par y[j 0] depuis la racine Nous présentons d'abord un premier

algorithme en O(n>) ct présenterens des optimisations pour avoir un algorithme en On)

Algorithme en ((7°) L’algorithme d’Ukkonen est divisé en n phases:

Trang 20

& Chague phước i + I est ensuite divisée on i + Í cxtensions

» APextension j, insére y[j.i+1] dans I’arbre en

~ recherchant la fin du chemin étiqueté par ylj i] depuis la racine de 7;

= rajoulant y[i+1] si nécesnaire

‘Algoritiim I Algorithme đ LIkEonen en bref: DEkonen(z),

Entrée: ơ : chaine entrée

Sortie: ‘I : arbre des suffixes

Durant l’extension j de la phase i+1, Palgorithme trouve la fin du chemin étiqueté

par y[j i] depuis la racine pour, éventucllement, ajouter yfi+1] Cet ajout se fait alors on

accord avee 3 régles

5 Règle 1 Si le chemin étiqueté par y[ j.i] depuis la racine se termine sur une feuille,

alors y[i+1] est ajouté a la fin de étiquelic de 1a branche menant 4 la cette feuitte

ø Règlc 2 Si le chemin étiqueté par y| j i] depuis 1a racine ne se termine pas sur une feuille et qu’aucun chemin étiqueté par yfi+ 1] ne commence aprés ce chemin

1+I] Sĩ le chemin éliqueté par yf j i] depuis !a racine no se termine pas sur un

Lemme 2.3.1 Si un nouveau nud interne av est ajouté a Varbre pendant l'extension

j de ka phase i+? alors soit ily a d déja wn necud interne v dans arbre, soit um necud

interne v va étre créé dans V extension j+1 de la phase i+!

Cet algorithme est basé sur le principe d’accélération avec lien suffixe et la notion d'arbre de suffixes implicites Figure 2.3

13

Trang 21

xabxa

2 Ligure 2.3 Arbre des suffixes et arbre des suffixes implicites de la séquence xabxa

2.3.3 Arbre des suffixes généralisés (GST)

Cest un arbre des des suffixes pour un ensemble de chaine A = {01,03 ta} Pour construire l'arbre des suffixes généralisés T de A, d'abord, on ajoute & la fin de chaque chaine ø; une sentinelle $, tel que j <=> $; #$, Puis, arbre des suffixes généralisé pout étre construil sur la concaténation de ces chatnes

Trang 22

Algorithm 2 Algorithme pour construire Ì'arbre đes suffixes généralisés : GSI(Ä)

Entée: A nn ensemble des séquences

Sortie: L’arbre des suffixes généralisés T

1) § @ une séquence vide

2: for alla € Adu

3 S OS +a -+une sentinelle unique $

Déinition 2.4.2 (Sous-séquence commune) Une sous-séquence commune S de A est

tune séquence qui est sous-séquence de toutes les séquences a; de A: ¥a;¢ A: 5 a;

Définition 2.4.3 (Sous-séquence commune maximale) Une sous-séquence commune

maximale S$ de A est une sous-séquence commune de A qui n’est pas sous-séquence

aucune autres sous-séquences de A Autrement dit, soit X = {y¡, x2 „Ì Ïensemble

de sous-séquenee communc de A, X est l'ensemble des sous-séquences communes

maximales ssi y; Z yj; avee Vit fetlsifsm

La recherche des sous:

d'un arbre dos suffixes général jucnces communes maximales peut Ge résoluc & aide

avec une complexité en OCE lan):

(1) Construire Marbre des suffixes généralisés de Ponsemble des séquences A = {et1, 0%, « ,)en ulilisanl Valgorithme de Ukkonen [UkK95]

(2) Rechercher lex sous-séquerees communes maximales on identifiant les neouds intemnes qui contient au moins une feuille de chaque chaine, Les sous-séquences communes sont Jes chemins de la racine & ces noruds internes La complexité de Talgorithme est de O(n) avec n = ZIsil

15

Trang 23

Ju a Paide d'un arbre des suffixes géncrali

Laonque Tarbre d énGralivés est comstruil, im pout trouver Tes sous-séquonces

‘communes en identifiant les naeuds internes qui cantient au moins une feuile de chaque chafne Les sous-séquences communes sont les chemins de la racine anx ces nœuds interes, La complexité de l’algorithme est de O(n) avec n = 2s)

Soit F l'arbre des suffixes généralisés de Ì"ensemble des séquences Á = đi, đa, đ„} (x > 2) Pour chaque feuille de 7, assigner un identiieur Z(ƒ) = í pour indiquer que la séquonce axsneié ä feuille est sullixe do la nốqucneo đi Par exomple, L(f) = 1, le suflixe terming par f est commencé par la sequence 1 Pour un noeud arhitraire v de 7, nous définissons:

(1) Cv) est te nombre des identifieurs distinctifs des feuilles du snus-arbre issu de v (2) S(v) est le nombre des feuilles du sous-arbre issu de v

(3) (+) est le nombre des suffixes commencés par la mame séquence

(4) nav) est le nombre des feuilles ayant identifieur i dans le sous-arbre issn de v Les sous-séquence communede A correspondent aua noeuds v tel que C(v) = a

Le lemme 2.4.1 permet đ'exprier £(v) en fonction de S(v) et UG) 5{v) se calcule simplement en parcourant les feuilles du sous-arbre issu de v La difficulté consiste done

acalculer UW)

Lemme 2.4.1 L(y) = (adv) — 1) ef Cv) = Sv) - Ufv) [Gus97]

rite 0

2.4.2 Calcul de U(v) pour chaque noeud interne v

Le calcul de U'{v) repose sur la notion de plus proche ancétre commun:

Définition 2.4.4 (Ancétre) Dans un arbre enraciné 7, un noeud u est un ancétre d'un neeud y si a est sur le chemin unique de la racine 4 ¥ Avec cette définition, un noeud est

un ancétre de Iui-méme Un ancétre propre de v se référe a un ancétre qui n’est pas v

Définition 2.4.5 Dans un arbre enraciné 7, le plus proche ancétre commun(lea) de deux noeuds w et r est le ngud Ie plus profond de 7 qui est un ancétre de w et de v

Soit F; est la liste des fenilies ayant pour identifieur i Les valeurs de I, sont le

nombre de dfs (nombre assigné par P’ordre d’un parcours en protondeur) Soit I, (v)

toutes les feuilles ayant pour identifieur i dans le sous-arbre issu de v [; (v) est un

intervalle consécutif de T; (Conséquence du numérotage DFS)

Soil (ve) est le nombre de fois att w ost lea pour Lous les paires de feuitles consécutives

de T; Le calcul de (1) se déduit du lemme 2.4.2 et Péquation 2.3

16

Trang 24

Lemme 2.4.2 Si nous calculuns le lea pour chague puire de feuilles consécutives en T;

alors pour tout noend v, exactement n{v)— | des leas calculés se situe dans le sous-arbre

Cet algotithme utilise le calcul du lea décrit đang la scction suivante

2.4.3 Algorithme pour calculer lea(x,y)

Baruch Schicher et Uai Vishkin [3V88] onl proposé un algorithms pour trouver le plus proche ancétre communde deux noeuds u et v (Ica(u,v)) en temps constant, aprés une étape de prétraitement en temps linéaire, L’algorithme se base sur deux observations [HT84]:

Ngày đăng: 21/05/2025, 18:48

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm