big data et graphes : quelques pistes de recherche · en retirant ns et toutes leurs arêtes...

40
Laboratoire d'InfoRmatique en Image et Systèmes d'information LIRIS UMR 5205 CNRS/INSA de Lyon/Université Claude Bernard Lyon 1/Université Lumière Lyon 2/Ecole Centrale de Lyon http://liris.cnrs.fr Big Data et Graphes : Quelques pistes de recherche Hamamache Kheddouci http://liris.cnrs.fr/hamamache.kheddouci

Upload: others

Post on 17-Jul-2020

1 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Big Data et Graphes : Quelques pistes de recherche · en retirant Ns et toutes leurs arêtes incidentes donne 2 composantes connexes de tailles égales, N: N1 and N2 G = (N, E), sommets

Laboratoire d'InfoRmatique en Image et Systèmes d'informationLIRIS UMR 5205 CNRS/INSA de Lyon/Université Claude Bernard Lyon 1/Université Lumière Lyon 2/Ecole Centrale de Lyon

http://liris.cnrs.fr

Big Data et Graphes : Quelques pistes de recherche

Hamamache Kheddoucihttp://liris.cnrs.fr/hamamache.kheddouci

Page 2: Big Data et Graphes : Quelques pistes de recherche · en retirant Ns et toutes leurs arêtes incidentes donne 2 composantes connexes de tailles égales, N: N1 and N2 G = (N, E), sommets

Big Data : Grandes Masses de Données

Age du Big Data !

H. Kheddouci BDF 2014

Page 3: Big Data et Graphes : Quelques pistes de recherche · en retirant Ns et toutes leurs arêtes incidentes donne 2 composantes connexes de tailles égales, N: N1 and N2 G = (N, E), sommets

Nouveau modèle de données

Le Modèle de Génération/Consommation de la donnéea changé

Ancien modèle : Quelques compagnies génèrent des données, les autres sont des consommateurs de données

Nouveau Modèle : nous sommes tous des générateurs de données, et nous sommes tous des consommateurs de données

H. Kheddouci BDF 2014

Page 4: Big Data et Graphes : Quelques pistes de recherche · en retirant Ns et toutes leurs arêtes incidentes donne 2 composantes connexes de tailles égales, N: N1 and N2 G = (N, E), sommets

Générateurs des Big Data

Média et réseaux sociaux(tous des générateurs de données)

Instruments scientifiques(collecter toute sorte de données)

Mobiles(tracer tous les objets tout le temps)

Réseaux de capteurs(mesurer tout type de données)

H. Kheddouci BDF 2014

Page 5: Big Data et Graphes : Quelques pistes de recherche · en retirant Ns et toutes leurs arêtes incidentes donne 2 composantes connexes de tailles égales, N: N1 and N2 G = (N, E), sommets

Générateurs des Big Data

Média et réseaux sociaux(tous des générateurs de données)

Instruments scientifiques(collecter toute sorte de données)

Mobiles(tracer tous les objets tout le temps)

Réseaux de capteurs(mesurer tout type de données)

H. Kheddouci BDF 2014

Page 6: Big Data et Graphes : Quelques pistes de recherche · en retirant Ns et toutes leurs arêtes incidentes donne 2 composantes connexes de tailles égales, N: N1 and N2 G = (N, E), sommets

Age du Big Data

“Data is a new class of economic asset, like currency and gold.”Source: World Economic Forum 2012

H. Kheddouci BDF 2014

Page 7: Big Data et Graphes : Quelques pistes de recherche · en retirant Ns et toutes leurs arêtes incidentes donne 2 composantes connexes de tailles égales, N: N1 and N2 G = (N, E), sommets

Big Data

Un enjeu scientifique important :

H. Kheddouci BDF 2014

Page 8: Big Data et Graphes : Quelques pistes de recherche · en retirant Ns et toutes leurs arêtes incidentes donne 2 composantes connexes de tailles égales, N: N1 and N2 G = (N, E), sommets

Big DataDéfinitions …

“Big Data” is a massive volume of both structured andunstructured data that is so large that it's difficult to process withtraditional database and software techniques.”

“Big Data” is data whose scale, diversity, and complexity requirenew architectures, models, techniques, algorithms, and analyticsto manage it and extract value and hidden knowledge from it…

Avec quels modèles ?

H. Kheddouci BDF 2014

Page 9: Big Data et Graphes : Quelques pistes de recherche · en retirant Ns et toutes leurs arêtes incidentes donne 2 composantes connexes de tailles égales, N: N1 and N2 G = (N, E), sommets

Big Data & Graphs ?

temps Emetteur Récepteur Type de mess.

1 S1 S2 A

2 S1 S3 C

3 S2 S4 B

4 S4 S2 A

5 S3 S5 C

…. …. …. ….

Base de données

Données

D1

D2

D3

D4

D5

….

Attribut n.

3444

2112

5858

600

2333

….

….….

….

….….….

….

Naturellement, les graphes et les données sont liés :

- Linked open Data (graphe d’interaction entre données)- Des objets du Web sont des graphes (XML, RDF, …) - Graphes des amis de Facebook- Graphe de connaissances de Google - Graphes extraits de grandes base de données

H. Kheddouci BDF 2014

Page 10: Big Data et Graphes : Quelques pistes de recherche · en retirant Ns et toutes leurs arêtes incidentes donne 2 composantes connexes de tailles égales, N: N1 and N2 G = (N, E), sommets

Big Graphs Big Data

Big Data Graphs

+

Big Data & Big Graphs

H. Kheddouci BDF 2014

Page 11: Big Data et Graphes : Quelques pistes de recherche · en retirant Ns et toutes leurs arêtes incidentes donne 2 composantes connexes de tailles égales, N: N1 and N2 G = (N, E), sommets

Big Graphs for Big Data

Verrous Big Data Solutions à base de graphes

Indexation et stockage Partitionnement de graphes

Flux de données (Vélocité) Analyse de flux de graphes

Visualisation des données Visualisation de graphes

H. Kheddouci BDF 2014

Page 12: Big Data et Graphes : Quelques pistes de recherche · en retirant Ns et toutes leurs arêtes incidentes donne 2 composantes connexes de tailles égales, N: N1 and N2 G = (N, E), sommets

Big Graphs for Big Data

Verrous Big Data Solution à base de graphes

Indexation et stockage Partitionnement de graphes

Analyse de flux de données Analyse de flux de graphes

Visualisation des données Visualisation de graphes

H. Kheddouci BDF 2014

Page 13: Big Data et Graphes : Quelques pistes de recherche · en retirant Ns et toutes leurs arêtes incidentes donne 2 composantes connexes de tailles égales, N: N1 and N2 G = (N, E), sommets

Big Graphs for Big Data

Partitionnement de graphes de données

Big Graphs (Milliards de nœuds et arêtes)

1 machine ?Combien de :

- RAM?- Disque ?

possible ?

H. Kheddouci BDF 2014

Page 14: Big Data et Graphes : Quelques pistes de recherche · en retirant Ns et toutes leurs arêtes incidentes donne 2 composantes connexes de tailles égales, N: N1 and N2 G = (N, E), sommets

Big Graphs for Big Data

Partitionnement de graphes de données

Big Graphs (Milliards de nœuds et arêtes)

1 machine ?k machines

possible ?

H. Kheddouci BDF 2014

Page 15: Big Data et Graphes : Quelques pistes de recherche · en retirant Ns et toutes leurs arêtes incidentes donne 2 composantes connexes de tailles égales, N: N1 and N2 G = (N, E), sommets

Big Graphs for Big Data

Partitionnement de graphes de données

Big Graphs (Milliards de nœuds et arêtes)

1 machine ?k machines

possible ?

OUI

H. Kheddouci BDF 2014

Page 16: Big Data et Graphes : Quelques pistes de recherche · en retirant Ns et toutes leurs arêtes incidentes donne 2 composantes connexes de tailles égales, N: N1 and N2 G = (N, E), sommets

Big Graphs for Big Data

Partitionnement de graphes de données

Big Graphs (Milliards de nœuds et arêtes)

1 machine ?k clusters

possible ?

OUI

Comment découper le grand graphe ?

H. Kheddouci BDF 2014

Page 17: Big Data et Graphes : Quelques pistes de recherche · en retirant Ns et toutes leurs arêtes incidentes donne 2 composantes connexes de tailles égales, N: N1 and N2 G = (N, E), sommets

Big Graphs for Big Data

Partitionnement de graphes de données

Comment découper le grand graphe en k partitions ?

H. Kheddouci BDF 2014

Page 18: Big Data et Graphes : Quelques pistes de recherche · en retirant Ns et toutes leurs arêtes incidentes donne 2 composantes connexes de tailles égales, N: N1 and N2 G = (N, E), sommets

Etant donné un graphe G = (N, E, WN, WE)�N = sommets,�WN = poids sur les sommets�E = arêtes�WE = poids des arêtes

Ex: N = {données}, WN = {vecteurs d’attributs de données},arête (j,k) dans E : j envoie WE(j,k) mots au k

Choisir une partition N = N1 U N2 U … U NP telle que� La somme des poids des nœuds dans chaque Nj est “presque le même”� La somme des poids des arêtes connectant toutes les différentes paires Nj et Nk est

minimiséeEx: équilibrage des chargements de données, en minimisant la communication entre lesmachinesCas particulier, N = N1 U N2

1 (2)

2 (2) 3 (1)

4 (3)

5 (1)

6 (2) 7 (3)

8 (1)5

4

6

12

1

212 3

Big Graphs for Big DataPartitionnement de graphes de données

H. Kheddouci BDF 2014

Page 19: Big Data et Graphes : Quelques pistes de recherche · en retirant Ns et toutes leurs arêtes incidentes donne 2 composantes connexes de tailles égales, N: N1 and N2 G = (N, E), sommets

Big Graphs for Big DataPartitionnement de graphes de données

1 (2)2 (2) 3 (1)

4 (3)

5 (1)

6 (2) 7 (3)

8 (1)

4

6

12

1

212 3

5

Etant donné un graphe G = (N, E, WN, WE)�N = sommets,�WN = poids sur les sommets�E = arêtes�WE = poids des arêtes

Ex: N = {données}, WN = {vecteurs d’attributs de données},arête (j,k) dans E : j envoie WE(j,k) mots au k

Choisir une partition N = N1 U N2 U … U NP telle que� La somme des poids des nœuds dans chaque Nj est “presque le même”� La somme des poids des arêtes connectant toutes les différentes paires Nj et Nk est

minimiséeEx: équilibrage des chargements de données, en minimisant la communication entre lesmachinesCas particulier, N = N1 U N2

H. Kheddouci BDF 2014

Page 20: Big Data et Graphes : Quelques pistes de recherche · en retirant Ns et toutes leurs arêtes incidentes donne 2 composantes connexes de tailles égales, N: N1 and N2 G = (N, E), sommets

Big Graphs for Big DataPartitionnement de graphes de données

NP-completPlusieurs algorithmes existent :� partitionnement spectral� partitionnement géométrique� partitionnement en graphes Multi-niveaux

H. Kheddouci BDF 2014

Page 21: Big Data et Graphes : Quelques pistes de recherche · en retirant Ns et toutes leurs arêtes incidentes donne 2 composantes connexes de tailles égales, N: N1 and N2 G = (N, E), sommets

Big Graphs for Big DataPartitionnement de graphes de données

NP-completPlusieurs algorithmes existent :� partitionnement spectral� partitionnement géométrique� partitionnement en graphes Multi-niveaux

3 Phases

�compresser

�Partitionner

�Décompresser

H. Kheddouci BDF 2014

Page 22: Big Data et Graphes : Quelques pistes de recherche · en retirant Ns et toutes leurs arêtes incidentes donne 2 composantes connexes de tailles égales, N: N1 and N2 G = (N, E), sommets

Compresser

(couplagemaximum)

partitionnement équilibré

décompresser

Big Graphs for Big DataPartitionnement de graphes de données

Partitionnement en graphes Multi-niveaux

H. Kheddouci BDF 2014

Page 23: Big Data et Graphes : Quelques pistes de recherche · en retirant Ns et toutes leurs arêtes incidentes donne 2 composantes connexes de tailles égales, N: N1 and N2 G = (N, E), sommets

Big Graphs for Big DataPartitionnement de graphes de données

Partitionnement à base du Lemme de régularité ( Gastineau et Kheddouci 2014)

H. Kheddouci BDF 2014

Page 24: Big Data et Graphes : Quelques pistes de recherche · en retirant Ns et toutes leurs arêtes incidentes donne 2 composantes connexes de tailles égales, N: N1 and N2 G = (N, E), sommets

Big Graphs for Big DataPartitionnement de graphes de données

Partitionnement à base du Lemme de régularité ( Gastineau et Kheddouci 2014)

H. Kheddouci BDF 2014

Page 25: Big Data et Graphes : Quelques pistes de recherche · en retirant Ns et toutes leurs arêtes incidentes donne 2 composantes connexes de tailles égales, N: N1 and N2 G = (N, E), sommets

Big Graphs for Big DataPartitionnement de graphes de données

21

3

Graphes de données

Graphes résumé

DensitéAutres propriétés

?

Partitionnement à base du Lemme de régularité ( Gastineau et Kheddouci 2014)

H. Kheddouci BDF 2014

Page 26: Big Data et Graphes : Quelques pistes de recherche · en retirant Ns et toutes leurs arêtes incidentes donne 2 composantes connexes de tailles égales, N: N1 and N2 G = (N, E), sommets

Big Graphs for Big DataPartitionnement de graphes de données

21

3

Graphes de données

Graphes résumé

DensitéAutres propriétés

Approximer :- La recherche de motifs- Construction de communautés- ….

?

Partitionnement à base du Lemme de régularité ( Gastineau et Kheddouci 2014)

H. Kheddouci BDF 2014

Page 27: Big Data et Graphes : Quelques pistes de recherche · en retirant Ns et toutes leurs arêtes incidentes donne 2 composantes connexes de tailles égales, N: N1 and N2 G = (N, E), sommets

Ensemble d’arêtes Séparateur : Es (sous-ensemble de E) sépare G si enretirant Es de E donne 2 composantes connexes de tailles égales, N: N1and N2

Ensemble de sommets Séparateur : Ns (sous-ensemble de N) sépare G sien retirant Ns et toutes leurs arêtes incidentes donne 2 composantesconnexes de tailles égales, N: N1 and N2

G = (N, E), sommets N et arêtes ENs = sommets verts

Big Graphs for Big DataPartitionnement de graphes de données

Quelques paramètres de graphes liés au partitionnement

H. Kheddouci BDF 2014

Page 28: Big Data et Graphes : Quelques pistes de recherche · en retirant Ns et toutes leurs arêtes incidentes donne 2 composantes connexes de tailles égales, N: N1 and N2 G = (N, E), sommets

Big Graphs for Big Data

Verrous Big Data Solution à base de graphes

Indexation et stockage Partitionnement de graphes

Analyse de flux de données Analyse de flux de graphes

Visualisation des données Visualisation de graphes

H. Kheddouci BDF 2014

Page 29: Big Data et Graphes : Quelques pistes de recherche · en retirant Ns et toutes leurs arêtes incidentes donne 2 composantes connexes de tailles égales, N: N1 and N2 G = (N, E), sommets

Big Graphs for Big Data

Analyse de graphes de données en flux

Flux de données :

Un flux de données est une séquence de données : a1, a2, …, an .�Flux de prix�Flux de paquets IP

Les données ont différentes formes dans différentes applications.�Valeur scalaire�Tuple�…

La sémantique des données est également différente dans différentesapplications.

H. Kheddouci BDF 2014

Page 30: Big Data et Graphes : Quelques pistes de recherche · en retirant Ns et toutes leurs arêtes incidentes donne 2 composantes connexes de tailles égales, N: N1 and N2 G = (N, E), sommets

Big Graphs for Big Data

Analyse de graphes en flux

Modèle de traitement de flux :

Accès séquentiel au flux de données

Ordre des données dans le flux n’est pas contrôlé par l’algorithme et peut être artificiel.

Petit espace de travail comparé à la longueur du flux n :� Polylog n� nε

Petit nombre de passes sur le flux :� Une passe� Un nombre constant de passes

Temps de traitement d’une donnée est court

30

Page 31: Big Data et Graphes : Quelques pistes de recherche · en retirant Ns et toutes leurs arêtes incidentes donne 2 composantes connexes de tailles égales, N: N1 and N2 G = (N, E), sommets

Big Graphs for Big Data

Analyse de graphes en flux

� �

� �

� �

Graphe en flux

PartitionnerGraphe est ordonné :• aléatoire• Parcours en largeur d’abord• Parcours en profondeur

d’abord

Toute machine possède �

noeuds

� � �1 � �����

Buffer possible de taille �

31

Page 32: Big Data et Graphes : Quelques pistes de recherche · en retirant Ns et toutes leurs arêtes incidentes donne 2 composantes connexes de tailles égales, N: N1 and N2 G = (N, E), sommets

Des travaux existent :�Tester la connectivité,� Tester la planarité,� construction d’arbre couvrant,� …

Re-penser les problèmes de graphes classiques dans le modèlestreaming, notamment pour l’organisation des données : clustering,détection de propriétés structurelles, etc

Big Graphs for Big Data

Analyse de graphes en flux

32H. Kheddouci BDF 2014

Page 33: Big Data et Graphes : Quelques pistes de recherche · en retirant Ns et toutes leurs arêtes incidentes donne 2 composantes connexes de tailles égales, N: N1 and N2 G = (N, E), sommets

Heuristiques pour le partitionnement de graphes en flux :� Linear Deterministic Greedy LDG (Stanton and Kliot 2012)� FENNEL (Tsourakakis et al. 2013)� Restreaming graph partitioning (Nishimura et al. 2013)

Big Graphs for Big Data

Analyse de graphes en flux

33H. Kheddouci BDF 2014

Page 34: Big Data et Graphes : Quelques pistes de recherche · en retirant Ns et toutes leurs arêtes incidentes donne 2 composantes connexes de tailles égales, N: N1 and N2 G = (N, E), sommets

Nouvelle Méthode : Partial Restreaming Model

Modèle du Restreaming partiel (Echbarthi et Kheddouci 2014)

Ce modèle consiste en 2 phases :

Ø 1ère phase: Restreaming d’une portion du graphe, d’unefenêtre de taille choisie.

Ø2ème phase: Le reste du graphe est traité en une seule passe dustream.

H. Kheddouci BDF 2014

Page 35: Big Data et Graphes : Quelques pistes de recherche · en retirant Ns et toutes leurs arêtes incidentes donne 2 composantes connexes de tailles égales, N: N1 and N2 G = (N, E), sommets

ØDans le modèle du restreaming partiel, onsélectionne des portions du graphe de taille n/k* quivérifient des propriétés pertinentes dans le graphe :

• Densité de la portion >= psi* densité du graphe• Degré moyen de la portion >= eta * degré moyen du graphe• ….

Méthode proposée: Restreaming partiel

H. Kheddouci BDF 2014

Page 36: Big Data et Graphes : Quelques pistes de recherche · en retirant Ns et toutes leurs arêtes incidentes donne 2 composantes connexes de tailles égales, N: N1 and N2 G = (N, E), sommets

Big Graphs for Big Data

Verrous Big Data Solution à base de graphes

Indexation et stockage Partitionnement de graphes

Analyse de flux de données Analyse de flux de graphes

Visualisation des données Visualisation de graphes

H. Kheddouci BDF 2014

Page 37: Big Data et Graphes : Quelques pistes de recherche · en retirant Ns et toutes leurs arêtes incidentes donne 2 composantes connexes de tailles égales, N: N1 and N2 G = (N, E), sommets

Big Graphs for Big DataVisualisation des grands graphes

H. Kheddouci BDF 2014

Page 38: Big Data et Graphes : Quelques pistes de recherche · en retirant Ns et toutes leurs arêtes incidentes donne 2 composantes connexes de tailles égales, N: N1 and N2 G = (N, E), sommets

Big Graphs for Big DataVisualisation de grands graphes

• Comment visualiser les grands graphes de données ?• Quels algorithmes et techniques pour explorer visuellement le grand graphe ?

H. Kheddouci BDF 2014

Page 39: Big Data et Graphes : Quelques pistes de recherche · en retirant Ns et toutes leurs arêtes incidentes donne 2 composantes connexes de tailles égales, N: N1 and N2 G = (N, E), sommets

Big Graphs for Big DataVisualisation de grands graphes

• Communautés/clustering/classification • Recherche de motifs fréquents • Visualisation d’échantillons

représentatifs, de sous-graphes, etc• Visualisation 2D, 3D• Combiner la fouille visuelle avec

l’exploration algorithmique des grands graphes.

H. Kheddouci BDF 2014

Page 40: Big Data et Graphes : Quelques pistes de recherche · en retirant Ns et toutes leurs arêtes incidentes donne 2 composantes connexes de tailles égales, N: N1 and N2 G = (N, E), sommets

Big Data et Graphes,

Ce n’est que le début de l’histoire …. !!

H. Kheddouci BDF 2014