Propriétés structurelles

Transcription

Propriétés structurelles
Cours 4 :
Propriétés structurelles
●
Introduction
●
Graphes du web (généralités)
✓ Quelques Caractéristiques
✓ Quelques modèles structurels
✓ PageRank
●
Graphes petit-monde (généralités)
✓ Facteur de clusterisation
✓ Navigabilité
✓ Problèmes d'infections - gossiping
Expérience de Milgram (1/2)
●
Expérience de Milgram (1967)
‣ Select some people randomly from Omaha (Nebraska)
‣ Explain them the study
‣ Ask them to send a letter to a person in Boston
(Massachussets) with only the name and the profession
●
Quel est la distance entre les gens dans un réseau
social ?
‣ Un réseau social peut être vu comme un système
complexe
Expérience de Milgram (2/2)
●
Résultat de l'expérience
‣ Quelques lettres (1/4) arrivent à la bonne
personne !
‣ La lettre passe en moyenne par 5.2
personnes
‣ Le diamètre d'un réseau social est petite
✓ Même expérience avec des e-mail (Dodds 2003)
●
Critiques
‣ La motivation des gens rentrent en jeux
‣ Les classes sociales jouent un rôle
✓ Les gens d'une même classe ont plus de chance
d'être reliés entre eux
●
Dessinez moi la société !
Une petite expérience
●
Écrivez sur une feuille une liste de vos 4 ou 5
chanteurs préférés
‣ Ne regardez pas la liste du voisin
●
Dessinez le graphe G=(V,E)
‣ V : les chanteurs
‣ E : deux chanteurs sont reliés par une arête s'ils
apparaissent dans la même liste
Six degrees of separation
●
John Guare 1990 (citation)
‣ I read somewhere that everybody on this planet is separated by only six
other people. Six degrees of separation between us and everyone else on
this planet. The President of the United States, a gondolier in Venice,
just fill in the names. I find it A) extremely comforting that we're so
close, and B) like Chinese water torture that we're so close because you
have to find the right six people to make the right connection... I am
bound to everyone on this planet by a trail of six people.
Graphe des co-authors
●
The Erdös number
‣ My Erdös number is 3
Graphe du Web
●
Qu'est ce que s'est ?
‣ Sommets : pages webs
‣ Arcs : liens hypertexes d'une page vers une
autre
●
À quelle structure obéit le graphe du web ?
‣ Explorer le graphe : crawl
‣ Diamètre
‣ Distribution des degrés
‣ Niveau de connexité
Tentative de définition (1/2)
●
La notion d'ensemble de pages web est floue !
‣ Impossible de découvrir par une simple exploration
toutes les pages web
✓ Mots de passe
✓ Pas de références
✓ Pages dynamiques
‣ Grande taille
✓ Pendant le temps nécessaires à la découverte d'une
page, d'autres se créent
‣ Exploration exhaustive impossible
Tentative de définition (2/2)
●
Identification unique d'une page web
‣ Pages = url ?
‣ Plusieurs noms de domaines = plusieurs url pour une
même page
‣ Étude de contenu !
●
Deux techniques
‣ R : ensemble des URLs obtenues par des moteurs de
recherche (Robots)
✓URL de bases + crawl à partir de ses URLs
‣ B : ensemble des URLs obtenues par un Browser
(presonnes naviguantes, fichiers log)
R Vs B (intermède : web local)
●
Robot local d'exploration
‣ R : 15160 pages
●
Fichiers de logs
‣ B : 15340 pages
●
1600 pages de R non dans B
●
1780 pages de B non dans R
●
Les nombres de pages trouvées sont comprables à
condition de partir d'un bon ensemble de départ
Structure macroscopique du web
●
Broder, Kumar et al (1999)
Structure microscopique du web
●
Propriétés locales (zoom)
‣ Notion de communautés
✓ Quel définition donner ?
✓ Comment les détecter ?
●
Une première approche : fans/stars
‣ Notion d'autorité
●
Une deuxième approche
‣ Collection de pages possédant plus de connexions
entre elles que vers l'extérieur
✓ Partitionnement de graphe
Autres propriétés
●
Propriétés statistiques :
‣ Distance moyenne faible
✓ Graphe du web : 19
‣ Fort coefficient de clustérisation
✓ La probabilité que deux voisins d'un même sommet
soient eux mêmes voisins est elevée (mes amis se
connaissent très probablement)
‣ Distribution des degrès en loi de puissance
✓ Prob(degré(v)=d) = ϴ( d-α), avec α >1
✓ Peu de sommets de forts degrés et beaucoup de
sommets de faible degré
Autres Contextes
●
Exemples d'autres systèmes complexes :
‣
‣
‣
‣
●
●
Graphe de l'internet
Graphes des acteurs
Graphes des co-auteurs
Graphes des dépendances des espèces
En général, on retrouve dans ces graphes : une
distance moyenne faible, un fort coefficient de
clusterisation et une distribution des degrés en loi
de puissance
Quel(s) modèle(s) peut-on donner à ces graphes
pour pouvoir les comprendre et les appréhender ?
‣ Est ce vraiment le fruit du hasard ? Quel hasard ?
Modèle de Erdös et Renyi (1959)
●
Graphe Gn,m et Gn,p
‣ Seule la propriété de faible distance est vérifiée
‣ Faible clustérisation : la probabilité que deux de
mes voisins soient voisins n'est pas forte pour
n'importe quel paire de sommets
‣ La distribution des degrés suit une loi de Poisson
✓ Les degrés sont concentrés autour de la valeur moyenne
✓ Tous les sommets jouent le même rôle
‣ Modèle simple et historiquement intéressant
Modèle de Watts et Strogats
(1998)
●
Prise en compte de la forte clustérisation
‣ On part d'un anneau où chaque sommet est relié à ses k
voisins les plus proches
‣ Pour chaque arête, une des extrémités est remplacée avec
une probabilité p par une nouvelle extrémité choisie
aléatoirement
‣ Pour p = 0
✓ Forte clustérisation
✓ Distance moyenne elevée
‣ Pour p=1 → Erdös-Reyni
‣ On choisit donc une probabilité p intermédaire
✓ Ne capture pas la distribution en loi de puissance des degrés
Modèle d'Albert et Barabasi (1999)
●
Prise en compte des distribution des degrés
‣ Attachement préférentiel
✓ Un nouveau sommet est relié plus facilement à un sommet
déjà reliés à beaucoup d'autres sommets
✓ La probabilité d'être relié à un sommet croit avec son degré
✓ Une personne créant une nouvelle page pointe plus souvent
vers une page déjà bien connue (à fort degré donc)
‣ Distribution des degrés en loi de puissance
‣ Distance moyenne faible
‣ Mais facteur de clustérisation faible !
Modèle de Guillaume et Latapy
(2004)
●
Projection d'un graphe bipartie G=(V,V',E)
‣ On construit un graphe G'=(V',E') telque deux
sommet dans G' sont relié s'ils ont un voisin
commun dans V
‣ Génération du graphe bipartie de départ
✓ Aléatoire en faisant attention à la distribution des degrés
✓ Attachement préférentiel
‣ On peut vérifier les trois propriétés
Moteurs de recherche web
●
Analyse du graphe du web ↔ Amélioration des performances
des moteurs de recherches
●
1997-1998 : AltaVista
‣ Classification automatique selon la pertinence : contenu, balises html
‣ Tri par pertinence
✓ Contenu sémantique (nombre d'occurences des termes, leurs places, etc)
‣ Facile à biaiser (populariser une page sans réelle pertinence)
‣ Un terme peu précis peut entrainer vers une page au contenu
ambigu
●
Trouver d'autres critères indépendants du contenu
‣ Pages populaires
‣ Pages faisant autorités
PageRank (1/5)
●
Cette méthode a donné naissance à Google
‣ Simuler le parcours aléatoire du graphe du web
‣ Naviguer de page en page : trouver des
routes/chemins
✓ En combien de click ma page est atteignable depuis
une autre page ?
✓ Juger l'importance d'une page par les routes qui y
mènent !
✓ La probabilité qu'un surfer aléatoire tombe dessus
PageRank (2/5)
●
Le rang d'une page :
‣ Indice représentant le nombre de liens pointants sur
une page et leur importance
‣ Les liens qui proviennent de pages importantes ont
plus de valeurs
‣ Tri indépendant du contenu à priori
‣ Mise à jour continue des rangs
✓ Stockage des urls et des liens (sous graphe du web)
✓ mise à jour
PageRank (3/5)
●
Soit G=(V,U) le sous-graphe orienté du web à
notre disposition
●
Soit u une page web
‣ Su : l'ensemble des pages pointées par u
‣ Tu : l'ensemble des pages pointants sur u
●
Défintion simple :
‣ R(u) = c . ∑v
Tu
R(v) / |Sv|
✓ c : constante de normalisation
‣ Pourquoi cette formulation ?
PageRank (4/5)
●
On va prendre en fait qu'un internaute peut à tout
moment 'zapper'
‣ Aller voir une autre page au lieu de suivre un lien existant
‣ E(u) : la probablité de zapper lorsque on est sur la page u
✓ ∑u E(u) = 1
✓ E(u) suit souvent une loi uniforme E(u) = 1/n
●
Le rang devient :
‣ R(u) = c . ( d . ∑v
Tu
R(v) / |Sv| + (1-d) . E(u) )
‣ d : un facteur d'ammortissement
PageRank (5/5)
●
Pour calculer le PageRank de la page u il faut calculer celui de
toutes les pages pointants sur u !
‣ On initialise avec une même valeur arbitraire, e.g., 1
‣ On procède de façon itérative en mettant à jour le page rank
‣ En pratique l'algo converge assez rapidement
✓ 332 millions de liens
✓ Une cinquantaine d'itérations pour obtenir une bonne approxiamtion
●
Forme vectorielle :
‣ R et E les vecteurs colonnes formés respectivement des R(u) et
E(u)
‣ Soit A la matrice telque A[u,v] = 0 s'il n'existe pas de liens sortant
de u vers v et sinon A[u,v] = 1/|Su|
✓ R = c ( d . At . R +(1-d) . E)
Retour sur les petit-mondes
●
Le monde est petit !
‣ Deux connaissances d'un même
individu, a priori sans rapport, se
connaissent entre elles
‣ Sociométrie (1930) : mesure des
relations sociales au sein d'un
groupe
‣ Expérience de Milgram
✓ Routage décentralisé de la lettre
✓ Vue locale du réseau
✓ Découverte décentralisée des
chemins : peu couteuse
–
Bonne naviguabilité/routage
Modèles
●
Une définition du facteur de clustérisation :
‣ cc(v) = e(N(v)) / deg+(v) (deg+(v)-1)
‣ e(N(v)) : nombre d'arêtes dans le voisinage de v
●
Intermède sur nos modèles
‣ Erdös-Reyni
✓ Petit diamètre mais une faible clusterisation
D
D random
CC
CC Random
Actors graph
3.65
2.99
0.79 0.00027
Power grid
18.7
12.4
0.08 0.005
‣ Watts et Strogats
✓ Petit diamètre / forte clusterisation
✓ Mauvaise naviguabilité/routage locale
Routage dans le modèle de
Kleinberg (Nature 2000)
●
On considère une grille carrée de
dimension d et de côté n
‣ On ajoute a tout u un nombre k d'arc
aléatoires tirés indépendamment
✓ P(u → v) = c / (u,v)
●
Pour α = d , on peut trouver un
algorithme de routage décentralisé
qui trouve des chemins de
longueur en moyenne O(log2(n) / k)
pour tout couple de sommets
‣ Cependant la distribution des degrés
ne suit pas une loi de puissance
Problème d'infection (1/2)
●
Un noeud peut être dans trois états
‣ Sain, infecté, mort
●
À chaque itération :
‣ Un élément infecté peut infecter chaque voisin
sain avec une probabilité p
‣ Un élément infecté reste vivant une itération
avant de mourir
‣ (Au début un seul élément est infecté)
Problème d'infection (2/2)
●
On s'interesse à :
‣ Fs : la proportion des individus non infectés
après que le virus aura passé sa route
‣ T : le temps après lequel toute la population est
infectée
●
Existe-t-il un lien entre Fs, T et la notion de
naviguabilité et/ou de facteur de clustérisation ?
‣ Oui en fonction de p, et la structure du graphe !
FIN