Montpellier – 05/11/2009 – JGA'09


    Codage des voisinages et
parcours en largeur des graphes
 d'intervalles et de perm...
Plan

• Problème et définitions
• Encodage des voisinages dans les graphes
d'intervalles et les graphes de permutation
• R...
Plan

• Problème et définitions
• Encodage des voisinages dans les graphes
d'intervalles et les graphes de permutation
• R...
Contexte

Algorithmes sur les grands graphes
 • Stockage du graphe en mémoire   Encodage compact

 • Requêtes sur le graph...
Contexte

Algorithmes sur les grands graphes
 • Stockage du graphe en mémoire   Encodage compact

 • Requêtes sur le graph...
Contexte

Algorithmes sur les grands graphes
 • Stockage du graphe en mémoire           Encodage compact

 • Requêtes sur ...
Contexte

Algorithmes sur les grands graphes
 • Stockage du graphe en mémoire   Encodage compact

 • Requêtes sur le graph...
Contexte

Algorithmes sur les grands graphes
 • Stockage du graphe en mémoire          Encodage compact

 • Requêtes sur l...
Contexte

Algorithmes sur les grands graphes
 • Stockage du graphe en mémoire              Encodage compact

 • Requêtes s...
Plan

• Problème et définitions
• Encodage des voisinages dans les graphes
d'intervalles et les graphes de permutation
• R...
Une approche naturelle
                                                   N[x]
 • Graphes d'intervalles propres
          ...
Voisinages dans les graphes de permutation

Arbres cartésiens augmentés :
Max d'une fonction entière sur un intervalle :
 ...
Voisinages dans les graphes de permutation

Arbres cartésiens augmentés :
Max d'une fonction entière sur un intervalle :
 ...
Voisinages dans les graphes de permutation
              I                         π2(i)
     π1 :
                       ...
Voisinages dans les graphes de permutation
              I                         π2(i)
      π1 :
                      ...
Voisinages dans les graphes d'intervalles


   2 types de voisins :
   • recouvrement
   • inclusion
Voisinages dans les graphes d'intervalles


   2 types de voisins :
   • recouvrement
   • inclusion



  Recouvrements :
...
Plan

• Problème et définitions
• Encodage des voisinages dans les graphes
d'intervalles et les graphes de permutation
• R...
BFS dans les graphes d'intervalles
   Entrée : ordre des bornes :
            π : 2g 3g 1g 1d 6g 6d 5g 2d 4g 3d 7g 5d 4d 7...
BFS dans les graphes d'intervalles

         π : 2g 3g 1g 1d 6g 6d 5g 2d 4g 3d 7g 5d 4d 7d
                            1
 ...
BFS dans les graphes d'intervalles

         π : 2g 3g 1g 1d 6g 6d 5g 2d 4g 3d 7g 5d 4d 7d
                            1
 ...
BFS dans les graphes d'intervalles

         π : 2g 3g 1g 1d 6g 6d 5g 2d 4g 3d 7g 5d 4d 7d
                            1
 ...
BFS dans les graphes d'intervalles

         π : 2g 3g 1g 1d 6g 6d 5g 2d 4g 3d 7g 5d 4d 7d
                            1
 ...
BFS dans les graphes d'intervalles

         π : 2g 3g 1g 1d 6g 6d 5g 2d 4g 3d 7g 5d 4d 7d
                            1
 ...
BFS dans les graphes d'intervalles

         π : 2g 3g 1g 1d 6g 6d 5g 2d 4g 3d 7g 5d 4d 7d
                            1
 ...
BFS dans les graphes d'intervalles

         π : 2g 3g 1g 1d 6g 6d 5g 2d 4g 3d 7g 5d 4d 7d
                            1
 ...
BFS dans les graphes d'intervalles

         π : 2g 3g 1g 1d 6g 6d 5g 2d 4g 3d 7g 5d 4d 7d
                            1
 ...
BFS dans les graphes d'intervalles

         π : 2g 3g 1g 1d 6g 6d 5g 2d 4g 3d 7g 5d 4d 7d
                            1
 ...
BFS dans les graphes d'intervalles

         π : 2g 3g 1g 1d 6g 6d 5g 2d 4g 3d 7g 5d 4d 7d
                            1
 ...
BFS dans les graphes d'intervalles

     π : 2g 3g 1g 1d 6g 6d 5g 2d 4g 3d 7g 5d 4d 7d
                        1
         ...
BFS dans les graphes de permutation

 Extension de l'algorithme :

 • Exploration de π1 et π2 vers la gauche et vers la dr...
Des questions ?
Merci pour votre attention !


Plus de détails dans :

• Christophe Crespelle et Philippe Gambette. Effici...
BFS dans les graphes d'intervalles

         π : 2g 3g 1g 1d 6g 6d 5g 2d 4g 3d 7g 5d 4d 7d
                            1
 ...
Une approche naturelle
                                                   N[x]
 • Graphes d'intervalles propres
          ...
Des questions ?
Merci pour votre attention !


Plus de détails dans :

• Christophe Crespelle et Philippe Gambette. Effici...
Contexte

Algorithmes sur les grands graphes
 • Stockage du graphe en mémoire              Encodage compact

 • Requêtes s...
Prochain SlideShare
Chargement dans…5
×

Codage des voisinages et parcours en largeur en temps O(n) des graphes d'intervalles et de permutation

1 195 vues

Publié le

Présentation aux JGA 2009 (Journées Graphes et Algorithmes) à Montpellier

Publié dans : Formation
0 commentaire
0 j’aime
Statistiques
Remarques
  • Soyez le premier à commenter

  • Soyez le premier à aimer ceci

Aucun téléchargement
Vues
Nombre de vues
1 195
Sur SlideShare
0
Issues des intégrations
0
Intégrations
6
Actions
Partages
0
Téléchargements
8
Commentaires
0
J’aime
0
Intégrations 0
Aucune incorporation

Aucune remarque pour cette diapositive

Codage des voisinages et parcours en largeur en temps O(n) des graphes d'intervalles et de permutation

  1. 1. Montpellier – 05/11/2009 – JGA'09 Codage des voisinages et parcours en largeur des graphes d'intervalles et de permutation Christophe Crespelle, Philippe Gambette
  2. 2. Plan • Problème et définitions • Encodage des voisinages dans les graphes d'intervalles et les graphes de permutation • Recherche en largeur en O(n) dans les graphes d'intervalles et les graphes de permutation
  3. 3. Plan • Problème et définitions • Encodage des voisinages dans les graphes d'intervalles et les graphes de permutation • Recherche en largeur en O(n) dans les graphes d'intervalles et les graphes de permutation
  4. 4. Contexte Algorithmes sur les grands graphes • Stockage du graphe en mémoire Encodage compact • Requêtes sur le graphe Temps de réponse réduit 3216754 1562437
  5. 5. Contexte Algorithmes sur les grands graphes • Stockage du graphe en mémoire Encodage compact • Requêtes sur le graphe Temps de réponse réduit Bon encodage vis à vis des requêtes d'adjacence : Nombreuses classes de graphes d'intersection
  6. 6. Contexte Algorithmes sur les grands graphes • Stockage du graphe en mémoire Encodage compact • Requêtes sur le graphe Temps de réponse réduit Bon encodage vis à vis des requêtes d'adjacence : Nombreuses classes de graphes d'intersection Exemple : graphes d'intervalles : = {[0,2],[1,3],[3,4]} Encodage en O(n) v1 G v3 Requêtes d'adjacence en O(1) v2 I1 I3 I2 2 sommets adjacents ssi 1 ∈ [0,2] : une borne de l'intervalle de l'un est incluse dans l'intervalle de 1 et 2 adjacents l'autre.
  7. 7. Contexte Algorithmes sur les grands graphes • Stockage du graphe en mémoire Encodage compact • Requêtes sur le graphe Temps de réponse réduit Bon encodage vis à vis des requêtes d'adjacence : Nombreuses classes de graphes d'intersection Bon encodage vis à vis des requêtes de voisinage ?
  8. 8. Contexte Algorithmes sur les grands graphes • Stockage du graphe en mémoire Encodage compact • Requêtes sur le graphe Temps de réponse réduit Bon encodage vis à vis des requêtes d'adjacence : Nombreuses classes de graphes d'intersection Bon encodage vis à vis des requêtes de voisinage ? Exemple : graphes d'intervalles : = {[0,2],[1,3],[3,4]} Encodage en O(n) v1 G v3 Requêtes de voisinage en O(n) v2 I1 I3 I2 O(d) ?
  9. 9. Contexte Algorithmes sur les grands graphes • Stockage du graphe en mémoire Encodage compact • Requêtes sur le graphe Temps de réponse réduit Bon encodage vis à vis des requêtes d'adjacence : Nombreuses classes de graphes d'intersection Bon encodage vis à vis des requêtes de voisinage ? Encodage en O(n) avec requêtes de voisinage en O(d) pour graphes d'intervalles et graphes de permutation. → extension aux graphes quelconques par complétion → exploitation algorithmique de la structure des voisinages
  10. 10. Plan • Problème et définitions • Encodage des voisinages dans les graphes d'intervalles et les graphes de permutation • Recherche en largeur en O(n) dans les graphes d'intervalles et les graphes de permutation
  11. 11. Une approche naturelle N[x] • Graphes d'intervalles propres x N(x) • Graphes biconvexes x Généralisation, 2 paramètres : • autoriser plusieurs intervalles : contiguïté • autoriser plusieurs ordres : linéarité Paramètres non bornés pour graphes d'intervalles et graphes de permutation : • contiguïté : Ω(log n) • linéarité : Ω(log n / log log n)
  12. 12. Voisinages dans les graphes de permutation Arbres cartésiens augmentés : Max d'une fonction entière sur un intervalle : I f(x) T σ: a b x b max f(x)? a x∈I lca(a,b)?
  13. 13. Voisinages dans les graphes de permutation Arbres cartésiens augmentés : Max d'une fonction entière sur un intervalle : I f(x) T σ: a b x b max f(x)? a x∈I lca(a,b)? Précalcul de T en temps O(|T|) pour répondre aux requêtes lca en O(1) Harel & Tarjan 1984, Vuillemin 1980
  14. 14. Voisinages dans les graphes de permutation I π2(i) π1 : j x i max π2(i) x∈I Si π2(j) > π2(x) alors j est un voisin de x Ig Id récursion ! j x sinon x n'a pas de voisin dans I
  15. 15. Voisinages dans les graphes de permutation I π2(i) π1 : j x i max π2(i) x∈I Si π2(j) > π2(x) alors j est un voisin de x Ig Id récursion ! j x sinon x n'a pas de voisin dans I Au plus deux appels récursif par un appel réussi Chaque appel non réussi lancé par un appel réussi → complexité en temps en O(d)
  16. 16. Voisinages dans les graphes d'intervalles 2 types de voisins : • recouvrement • inclusion
  17. 17. Voisinages dans les graphes d'intervalles 2 types de voisins : • recouvrement • inclusion Recouvrements : Bornes gauches Bornes droites Inclusions : graphe de permutation
  18. 18. Plan • Problème et définitions • Encodage des voisinages dans les graphes d'intervalles et les graphes de permutation • Recherche en largeur en O(n) dans les graphes d'intervalles et les graphes de permutation
  19. 19. BFS dans les graphes d'intervalles Entrée : ordre des bornes : π : 2g 3g 1g 1d 6g 6d 5g 2d 4g 3d 7g 5d 4d 7d 1 1 2 3 2 7 6 4 3 6 5 4 5 ordre de priorité σ : 1 2 3 4 5 6 7 7 Sortie : arbre BFS respectant σ 1 2 3 6 5 4 7
  20. 20. BFS dans les graphes d'intervalles π : 2g 3g 1g 1d 6g 6d 5g 2d 4g 3d 7g 5d 4d 7d 1 2 7 3 6 5 4 1 2 3
  21. 21. BFS dans les graphes d'intervalles π : 2g 3g 1g 1d 6g 6d 5g 2d 4g 3d 7g 5d 4d 7d 1 2 7 3 6 5 4 1 2 3 père courant : 3 borne droite : 3 priorité' : 1
  22. 22. BFS dans les graphes d'intervalles π : 2g 3g 1g 1d 6g 6d 5g 2d 4g 3d 7g 5d 4d 7d 1 2 7 3 6 5 4 1 2 3 père courant : 3 borne droite : 4 4 priorité' : 1 3
  23. 23. BFS dans les graphes d'intervalles π : 2g 3g 1g 1d 6g 6d 5g 2d 4g 3d 7g 5d 4d 7d 1 2 7 3 6 5 4 1 2 3 père courant : 2 borne droite : 4 4 priorité' : 1 2 3
  24. 24. BFS dans les graphes d'intervalles π : 2g 3g 1g 1d 6g 6d 5g 2d 4g 3d 7g 5d 4d 7d 1 2 7 3 6 5 4 1 2 3 père courant : 2 borne droite : 4 5 4 priorité' : 1 2 3
  25. 25. BFS dans les graphes d'intervalles π : 2g 3g 1g 1d 6g 6d 5g 2d 4g 3d 7g 5d 4d 7d 1 2 7 3 6 5 4 1 2 3 père courant : 2 borne droite : 4 5 4 priorité' : 1 2 3
  26. 26. BFS dans les graphes d'intervalles π : 2g 3g 1g 1d 6g 6d 5g 2d 4g 3d 7g 5d 4d 7d 1 2 7 3 6 5 4 1 2 3 père courant : 2 borne droite : 4 6 5 4 priorité' : 1 2 3
  27. 27. BFS dans les graphes d'intervalles π : 2g 3g 1g 1d 6g 6d 5g 2d 4g 3d 7g 5d 4d 7d 1 2 7 3 6 5 4 1 2 3 père courant : 4 borne droite : 4 6 5 4 priorité' : 1 2 3 4
  28. 28. BFS dans les graphes d'intervalles π : 2g 3g 1g 1d 6g 6d 5g 2d 4g 3d 7g 5d 4d 7d 1 2 7 3 6 5 4 1 2 3 père courant : 5 borne droite : 4 6 5 4 priorité' : 1 2 3 5 4
  29. 29. BFS dans les graphes d'intervalles π : 2g 3g 1g 1d 6g 6d 5g 2d 4g 3d 7g 5d 4d 7d 1 2 7 3 6 5 4 1 2 3 père courant : 5 borne droite : 7 6 5 4 priorité' : 1 2 3 5 4 7
  30. 30. BFS dans les graphes d'intervalles π : 2g 3g 1g 1d 6g 6d 5g 2d 4g 3d 7g 5d 4d 7d 1 2 7 3 6 5 4 1 2 3 chaque borne visitée 6 4 une seule fois : 5 algorithme en O(n) 7
  31. 31. BFS dans les graphes de permutation Extension de l'algorithme : • Exploration de π1 et π2 vers la gauche et vers la droite • Gestion plus complexe de la liste des parents visités
  32. 32. Des questions ? Merci pour votre attention ! Plus de détails dans : • Christophe Crespelle et Philippe Gambette. Efficient Neighbourhood Encoding for Interval Graphs and Permutation Graphs and O(n) Breadth-First Search, Proceedings of the 20th International Workshop on Combinatorial Algorithms (IWOCA'09), LNCS 5874, p. 146-157. • Christophe Crespelle et Philippe Gambette. O(n) Breadth First Search of Some Intersection Graph Classes. En préparation. Slides available at http://www.lirmm.fr/~gambette/RePresentations.php
  33. 33. BFS dans les graphes d'intervalles π : 2g 3g 1g 1d 6g 6d 5g 2d 4g 3d 7g 5d 4d 7d 1 2 7 3 6 5 4 1 2 3 père courant : 3 borne droite : 3 priorité' : 1
  34. 34. Une approche naturelle N[x] • Graphes d'intervalles propres x N(x) • Graphes biconvexes x Généralisation, 2 paramètres : • autoriser plusieurs intervalles : contiguïté • autoriser plusieurs ordres : linéarité Paramètres non bornés pour graphes d'intervalles et graphes de permutation : • contiguïté : Ω(log n) • linéarité : Ω(log n / log log n)
  35. 35. Des questions ? Merci pour votre attention ! Plus de détails dans : • Christophe Crespelle et Philippe Gambette. Efficient Neighbourhood Encoding for Interval Graphs and Permutation Graphs and O(n) Breadth-First Search, Proceedings of the 20th International Workshop on Combinatorial Algorithms (IWOCA'09), LNCS 5874, p. 146-157. • Christophe Crespelle et Philippe Gambette. O(n) Breadth First Search of Some Intersection Graph Classes. En préparation. Slides available at http://www.lirmm.fr/~gambette/RePresentations.php
  36. 36. Contexte Algorithmes sur les grands graphes • Stockage du graphe en mémoire Encodage compact • Requêtes sur le graphe Temps de réponse réduit Bon encodage vis à vis des requêtes d'adjacence : Nombreuses classes de graphes d'intersection Bon encodage vis à vis des requêtes de voisinage ? Encodage en O(n) avec requêtes de voisinage en O(d) pour graphes d'intervalles et graphes de permutation. → extension aux graphes quelconques par complétion → exploitation algorithmique de la structure des voisinages

×