SlideShare uma empresa Scribd logo
1 de 19
PRÉSENTATION DU
QUAD-TREE ET KD-TREE

Cours de
Bases de
données
Avancées

Aymeric OLIVIER & Patricia MARQUES

27/12/2013

Quad-Tree et KD-Tree– Bases de Données Avancées

1
SOMMAIRE
 Historique des arbres
 Présentation du Quad-Tree
 Présentation du Kd-Tree

27/12/2013

Quad-Tree et KD-Tree– Bases de Données Avancées

2
HISTORIQUE DES ARBRES
 Œuvre de beaucoup de recherches :
 Mathématiques et Programmation informatique
 But : trouver un algorithme optimal de segmentation

 Point de vue mathématique :
 James N. Morgan & John A. Sonquist
 1963

 Point de vue informatique :
 J. Quinlan
 1983

 Aucun historique trouvé propres à nos arbres.

27/12/2013

Quad-Tree et KD-Tree– Bases de Données Avancées

3
LE QUAD-TREE
Source :
https://www.enseignement.polytechnique.fr
http://fr.openclassrooms.com

27/12/2013

Quad-Tree et KD-Tree– Bases de Données Avancées

4
SOUS-SOMMAIRE
 Principe d’utilisation
 Définition du Quad-Tree
 Méthodologie
 Découpage
 Collision

 Exemple

 Inconvénients de la méthode

27/12/2013

Quad-Tree et KD-Tree– Bases de Données Avancées

5
PRINCIPE D’UTILISATION
 Méthode d’indexation spatiale
 Gestion d’objet à deux dimensions
 Compression d’objet
 Manipulation d’objet

27/12/2013

Quad-Tree et KD-Tree– Bases de Données Avancées

6
DÉFINITION DU QUAD-TREE
 Arbre ordonné (indexé) qui possède:
 Des feuilles : aucun fils
 Des sommets internes: 4 fils uniquement
 Une profondeur

 Si l'image fait une taille NxN, alors le nombre de découpage
(le nombre de niveaux dans l'arbre) est de N+1 .

27/12/2013

Quad-Tree et KD-Tree– Bases de Données Avancées

7
MÉTHODOLOGIE
 Décomposition récursive d’une image
 Construction de l’arbre

On obtient le Quadtree ci-contre

27/12/2013

Quad-Tree et KD-Tree– Bases de Données Avancées

8
MÉTHODOLOGIE
 Découpage
 Quand arrêter le découpage?
 En fonction du nombre max du segment /feuille(fixé)
 En fonction de la profondeur max de l’arbre

 A quelle branche appartient un segment ?
y
P(x,y): Point
quelconque de A

Py

Algorithme
•Si Px < Cx et Py > Cy alors fils 1
•Si Px > Cx et Py > Cy alors fils 2
•Si Px < Cx et Py < Cy alors fils 3
•Si Px > Cx et Py < Cy alors fils 4

Cy

C(x,y): Point
central de la
découpe
Cx
27/12/2013

Px

x

Quad-Tree et KD-Tree– Bases de Données Avancées

9
MÉTHODOLOGIE
 Collision
 Détermination de la trajectoire de chaque segment
 Parcours de l’arbre

27/12/2013

Quad-Tree et KD-Tree– Bases de Données Avancées

10
EXEMPLE
 Programme de découpage de Quad -Tree
http://donar.umiacs.umd.edu/quadtree/points/pointquad.html

27/12/2013

Quad-Tree et KD-Tree– Bases de Données Avancées

11
INCONVÉNIENTS
 Notion d’équilibrage de l’arbre
 Zone dense / zone vides

 Exemple de la cabane en plein désert

27/12/2013

Quad-Tree et KD-Tree– Bases de Données Avancées

12
AUTRES EXEMPLE

27/12/2013

Quad-Tree et KD-Tree– Bases de Données Avancées

13
K-D-TREE
Source:
http://www.irisa.fr/prive/kadi/DIIC/SDI -2annee/Expose_KdTree.pdf
http://courses.cs.washington.edu/courses/cse373/02au/lect
ures/lecture22l.pdf

27/12/2013

Quad-Tree et KD-Tree– Bases de Données Avancées

14
SOUS-SOMMAIRE
 Définition du KD-tree
 Cas particulier des BSP -Trees
 Construction du KD-tree
 Cas particulier de construction

27/12/2013

Quad-Tree et KD-Tree– Bases de Données Avancées

15
DEFINITION DU KD-TREE
 Une méthode de subdivision spatiale
 Un Kd-tree est une structure de données dans un espace à k dimensions
 Un rôle double :
 Organiser l’espace pour accélérer le traitement de données
(Recherche des plus proche voisins)
 Structurer les données sous forme d’un arbre binaire

27/12/2013

Quad-Tree et KD-Tree– Bases de Données Avancées

16
CAS PARTICULIERS DES BSP TREES
 Cas particulier des BSP trees
 Décompose l’espace en volumes englobants (voxels)
 Découpe chaque voxel en deux sous-voxels grace à un plan
séparateur
 Est réprésenté sous la forme d’un arbre binaire

 Particularité du kd-Tree : plans séparateurs toujours
perpendiculaires aux axes du repère de l’espace
 Simplifie la construction mais aussi le parcours de l’arbre

 Plusieurs possibilités de constructions

27/12/2013

Quad-Tree et KD-Tree– Bases de Données Avancées

17
CONSTRUCTION DU KD-TREE

27/12/2013

Quad-Tree et KD-Tree– Bases de Données Avancées

18
CAS PARTICULIER
 Cas particulier de la construction
 Répétition de l’objet lorsque celui-ci est coupé

27/12/2013

Quad-Tree et KD-Tree– Bases de Données Avancées

19

Mais conteúdo relacionado

Destaque

TRIES_data_structure
TRIES_data_structureTRIES_data_structure
TRIES_data_structureddewithaman10
 
Markov analysis
Markov analysisMarkov analysis
Markov analysisganith2k13
 
Engagement des sociétés d'Ingénierie dans la contribution open source : un ce...
Engagement des sociétés d'Ingénierie dans la contribution open source : un ce...Engagement des sociétés d'Ingénierie dans la contribution open source : un ce...
Engagement des sociétés d'Ingénierie dans la contribution open source : un ce...lyonjug
 
Documento expertos REDEPOC
Documento expertos REDEPOCDocumento expertos REDEPOC
Documento expertos REDEPOCMiguel Solís
 
Brochure ultraeverdry-tap.com
Brochure ultraeverdry-tap.comBrochure ultraeverdry-tap.com
Brochure ultraeverdry-tap.comtap-france
 
J5 JOURNEE MANAGER OFFICE DE TOURISME / CDT
J5  JOURNEE MANAGER OFFICE DE TOURISME / CDTJ5  JOURNEE MANAGER OFFICE DE TOURISME / CDT
J5 JOURNEE MANAGER OFFICE DE TOURISME / CDTSalon e-tourisme #VeM
 
Maria i Ona
Maria i OnaMaria i Ona
Maria i Onaggracia2
 
E-Book Cuentanos Tu Fitur
E-Book Cuentanos Tu FiturE-Book Cuentanos Tu Fitur
E-Book Cuentanos Tu FiturHosteltur
 
Changements climatiques en Grèce
Changements climatiques en GrèceChangements climatiques en Grèce
Changements climatiques en Grèceiodinou
 
La planete mars
La planete marsLa planete mars
La planete marsAliSou0154
 

Destaque (18)

B tree long
B tree longB tree long
B tree long
 
TRIES_data_structure
TRIES_data_structureTRIES_data_structure
TRIES_data_structure
 
B-tree & R-tree
B-tree & R-treeB-tree & R-tree
B-tree & R-tree
 
Knapsack
KnapsackKnapsack
Knapsack
 
Markov analysis
Markov analysisMarkov analysis
Markov analysis
 
Knapsack Problem
Knapsack ProblemKnapsack Problem
Knapsack Problem
 
Engagement des sociétés d'Ingénierie dans la contribution open source : un ce...
Engagement des sociétés d'Ingénierie dans la contribution open source : un ce...Engagement des sociétés d'Ingénierie dans la contribution open source : un ce...
Engagement des sociétés d'Ingénierie dans la contribution open source : un ce...
 
Documento expertos REDEPOC
Documento expertos REDEPOCDocumento expertos REDEPOC
Documento expertos REDEPOC
 
Brochure ultraeverdry-tap.com
Brochure ultraeverdry-tap.comBrochure ultraeverdry-tap.com
Brochure ultraeverdry-tap.com
 
J5 JOURNEE MANAGER OFFICE DE TOURISME / CDT
J5  JOURNEE MANAGER OFFICE DE TOURISME / CDTJ5  JOURNEE MANAGER OFFICE DE TOURISME / CDT
J5 JOURNEE MANAGER OFFICE DE TOURISME / CDT
 
Maria i Ona
Maria i OnaMaria i Ona
Maria i Ona
 
Utc data publica1
Utc data publica1Utc data publica1
Utc data publica1
 
Code de commerce Maroc
Code de commerce MarocCode de commerce Maroc
Code de commerce Maroc
 
Votado Co..
Votado Co..Votado Co..
Votado Co..
 
E-Book Cuentanos Tu Fitur
E-Book Cuentanos Tu FiturE-Book Cuentanos Tu Fitur
E-Book Cuentanos Tu Fitur
 
Changements climatiques en Grèce
Changements climatiques en GrèceChangements climatiques en Grèce
Changements climatiques en Grèce
 
Belen
BelenBelen
Belen
 
La planete mars
La planete marsLa planete mars
La planete mars
 

Mais de rchbeir

Web ontologie language (par RAFEH Aya et VAILLEUX Arnaud)
Web ontologie language (par RAFEH Aya et VAILLEUX Arnaud)Web ontologie language (par RAFEH Aya et VAILLEUX Arnaud)
Web ontologie language (par RAFEH Aya et VAILLEUX Arnaud)rchbeir
 
SS tree (par SYLLA Demba et TALBI Rachid)
SS tree (par SYLLA Demba et TALBI Rachid)SS tree (par SYLLA Demba et TALBI Rachid)
SS tree (par SYLLA Demba et TALBI Rachid)rchbeir
 
Ranking (par IBRAHIM Sirine et TANIOS Dany)
Ranking (par IBRAHIM Sirine et TANIOS	 Dany)Ranking (par IBRAHIM Sirine et TANIOS	 Dany)
Ranking (par IBRAHIM Sirine et TANIOS Dany)rchbeir
 
Crawlers (par DE COURCHELLE Inès et JACOB Sophie)
Crawlers (par DE COURCHELLE Inès et JACOB Sophie)Crawlers (par DE COURCHELLE Inès et JACOB Sophie)
Crawlers (par DE COURCHELLE Inès et JACOB Sophie)rchbeir
 
NoSQL (par HEGUY Xabier)
NoSQL (par HEGUY Xabier)NoSQL (par HEGUY Xabier)
NoSQL (par HEGUY Xabier)rchbeir
 
Mpeg7 et comm ontology (par MOHIBE Amine et BENSLIMANE Mohamed-Amine)
Mpeg7 et comm ontology (par MOHIBE Amine et BENSLIMANE Mohamed-Amine)Mpeg7 et comm ontology (par MOHIBE Amine et BENSLIMANE Mohamed-Amine)
Mpeg7 et comm ontology (par MOHIBE Amine et BENSLIMANE Mohamed-Amine)rchbeir
 
LSI latent (par HATOUM Saria et DONGO ESCALANTE Irvin Franco)
LSI latent (par HATOUM Saria et DONGO ESCALANTE Irvin Franco)LSI latent (par HATOUM Saria et DONGO ESCALANTE Irvin Franco)
LSI latent (par HATOUM Saria et DONGO ESCALANTE Irvin Franco)rchbeir
 
Arbre b (par EL HACHEM Marwan et RICHA Elias)
Arbre b (par EL HACHEM Marwan et RICHA Elias)Arbre b (par EL HACHEM Marwan et RICHA Elias)
Arbre b (par EL HACHEM Marwan et RICHA Elias)rchbeir
 
Adaptative hypermedia (par MALKI Sara et MAKSIMOVICH Aleksandra)
Adaptative hypermedia (par MALKI Sara et MAKSIMOVICH Aleksandra)Adaptative hypermedia (par MALKI Sara et MAKSIMOVICH Aleksandra)
Adaptative hypermedia (par MALKI Sara et MAKSIMOVICH Aleksandra)rchbeir
 
Information Retrieval
Information RetrievalInformation Retrieval
Information Retrievalrchbeir
 

Mais de rchbeir (13)

Web ontologie language (par RAFEH Aya et VAILLEUX Arnaud)
Web ontologie language (par RAFEH Aya et VAILLEUX Arnaud)Web ontologie language (par RAFEH Aya et VAILLEUX Arnaud)
Web ontologie language (par RAFEH Aya et VAILLEUX Arnaud)
 
SS tree (par SYLLA Demba et TALBI Rachid)
SS tree (par SYLLA Demba et TALBI Rachid)SS tree (par SYLLA Demba et TALBI Rachid)
SS tree (par SYLLA Demba et TALBI Rachid)
 
Ranking (par IBRAHIM Sirine et TANIOS Dany)
Ranking (par IBRAHIM Sirine et TANIOS	 Dany)Ranking (par IBRAHIM Sirine et TANIOS	 Dany)
Ranking (par IBRAHIM Sirine et TANIOS Dany)
 
Crawlers (par DE COURCHELLE Inès et JACOB Sophie)
Crawlers (par DE COURCHELLE Inès et JACOB Sophie)Crawlers (par DE COURCHELLE Inès et JACOB Sophie)
Crawlers (par DE COURCHELLE Inès et JACOB Sophie)
 
NoSQL (par HEGUY Xabier)
NoSQL (par HEGUY Xabier)NoSQL (par HEGUY Xabier)
NoSQL (par HEGUY Xabier)
 
Mpeg7 et comm ontology (par MOHIBE Amine et BENSLIMANE Mohamed-Amine)
Mpeg7 et comm ontology (par MOHIBE Amine et BENSLIMANE Mohamed-Amine)Mpeg7 et comm ontology (par MOHIBE Amine et BENSLIMANE Mohamed-Amine)
Mpeg7 et comm ontology (par MOHIBE Amine et BENSLIMANE Mohamed-Amine)
 
LSI latent (par HATOUM Saria et DONGO ESCALANTE Irvin Franco)
LSI latent (par HATOUM Saria et DONGO ESCALANTE Irvin Franco)LSI latent (par HATOUM Saria et DONGO ESCALANTE Irvin Franco)
LSI latent (par HATOUM Saria et DONGO ESCALANTE Irvin Franco)
 
Arbre b (par EL HACHEM Marwan et RICHA Elias)
Arbre b (par EL HACHEM Marwan et RICHA Elias)Arbre b (par EL HACHEM Marwan et RICHA Elias)
Arbre b (par EL HACHEM Marwan et RICHA Elias)
 
Adaptative hypermedia (par MALKI Sara et MAKSIMOVICH Aleksandra)
Adaptative hypermedia (par MALKI Sara et MAKSIMOVICH Aleksandra)Adaptative hypermedia (par MALKI Sara et MAKSIMOVICH Aleksandra)
Adaptative hypermedia (par MALKI Sara et MAKSIMOVICH Aleksandra)
 
Information Retrieval
Information RetrievalInformation Retrieval
Information Retrieval
 
Plsql2
Plsql2Plsql2
Plsql2
 
Plsql
PlsqlPlsql
Plsql
 
Sql3
Sql3Sql3
Sql3
 

Quad-Tree et Kd-Tree (par MARQUES Patricia et OLIVIER Aymeric)

  • 1. PRÉSENTATION DU QUAD-TREE ET KD-TREE Cours de Bases de données Avancées Aymeric OLIVIER & Patricia MARQUES 27/12/2013 Quad-Tree et KD-Tree– Bases de Données Avancées 1
  • 2. SOMMAIRE  Historique des arbres  Présentation du Quad-Tree  Présentation du Kd-Tree 27/12/2013 Quad-Tree et KD-Tree– Bases de Données Avancées 2
  • 3. HISTORIQUE DES ARBRES  Œuvre de beaucoup de recherches :  Mathématiques et Programmation informatique  But : trouver un algorithme optimal de segmentation  Point de vue mathématique :  James N. Morgan & John A. Sonquist  1963  Point de vue informatique :  J. Quinlan  1983  Aucun historique trouvé propres à nos arbres. 27/12/2013 Quad-Tree et KD-Tree– Bases de Données Avancées 3
  • 5. SOUS-SOMMAIRE  Principe d’utilisation  Définition du Quad-Tree  Méthodologie  Découpage  Collision  Exemple  Inconvénients de la méthode 27/12/2013 Quad-Tree et KD-Tree– Bases de Données Avancées 5
  • 6. PRINCIPE D’UTILISATION  Méthode d’indexation spatiale  Gestion d’objet à deux dimensions  Compression d’objet  Manipulation d’objet 27/12/2013 Quad-Tree et KD-Tree– Bases de Données Avancées 6
  • 7. DÉFINITION DU QUAD-TREE  Arbre ordonné (indexé) qui possède:  Des feuilles : aucun fils  Des sommets internes: 4 fils uniquement  Une profondeur  Si l'image fait une taille NxN, alors le nombre de découpage (le nombre de niveaux dans l'arbre) est de N+1 . 27/12/2013 Quad-Tree et KD-Tree– Bases de Données Avancées 7
  • 8. MÉTHODOLOGIE  Décomposition récursive d’une image  Construction de l’arbre On obtient le Quadtree ci-contre 27/12/2013 Quad-Tree et KD-Tree– Bases de Données Avancées 8
  • 9. MÉTHODOLOGIE  Découpage  Quand arrêter le découpage?  En fonction du nombre max du segment /feuille(fixé)  En fonction de la profondeur max de l’arbre  A quelle branche appartient un segment ? y P(x,y): Point quelconque de A Py Algorithme •Si Px < Cx et Py > Cy alors fils 1 •Si Px > Cx et Py > Cy alors fils 2 •Si Px < Cx et Py < Cy alors fils 3 •Si Px > Cx et Py < Cy alors fils 4 Cy C(x,y): Point central de la découpe Cx 27/12/2013 Px x Quad-Tree et KD-Tree– Bases de Données Avancées 9
  • 10. MÉTHODOLOGIE  Collision  Détermination de la trajectoire de chaque segment  Parcours de l’arbre 27/12/2013 Quad-Tree et KD-Tree– Bases de Données Avancées 10
  • 11. EXEMPLE  Programme de découpage de Quad -Tree http://donar.umiacs.umd.edu/quadtree/points/pointquad.html 27/12/2013 Quad-Tree et KD-Tree– Bases de Données Avancées 11
  • 12. INCONVÉNIENTS  Notion d’équilibrage de l’arbre  Zone dense / zone vides  Exemple de la cabane en plein désert 27/12/2013 Quad-Tree et KD-Tree– Bases de Données Avancées 12
  • 13. AUTRES EXEMPLE 27/12/2013 Quad-Tree et KD-Tree– Bases de Données Avancées 13
  • 15. SOUS-SOMMAIRE  Définition du KD-tree  Cas particulier des BSP -Trees  Construction du KD-tree  Cas particulier de construction 27/12/2013 Quad-Tree et KD-Tree– Bases de Données Avancées 15
  • 16. DEFINITION DU KD-TREE  Une méthode de subdivision spatiale  Un Kd-tree est une structure de données dans un espace à k dimensions  Un rôle double :  Organiser l’espace pour accélérer le traitement de données (Recherche des plus proche voisins)  Structurer les données sous forme d’un arbre binaire 27/12/2013 Quad-Tree et KD-Tree– Bases de Données Avancées 16
  • 17. CAS PARTICULIERS DES BSP TREES  Cas particulier des BSP trees  Décompose l’espace en volumes englobants (voxels)  Découpe chaque voxel en deux sous-voxels grace à un plan séparateur  Est réprésenté sous la forme d’un arbre binaire  Particularité du kd-Tree : plans séparateurs toujours perpendiculaires aux axes du repère de l’espace  Simplifie la construction mais aussi le parcours de l’arbre  Plusieurs possibilités de constructions 27/12/2013 Quad-Tree et KD-Tree– Bases de Données Avancées 17
  • 18. CONSTRUCTION DU KD-TREE 27/12/2013 Quad-Tree et KD-Tree– Bases de Données Avancées 18
  • 19. CAS PARTICULIER  Cas particulier de la construction  Répétition de l’objet lorsque celui-ci est coupé 27/12/2013 Quad-Tree et KD-Tree– Bases de Données Avancées 19