Fiche TP 07 : Réseaux Sociaux
Licence 3 informatique semestre 6, 2011-2012
Exercice 1 : Réseaux aléatoires
Le but est de construire un réseau aléatoire non orienté selon le modèle de Gilbert : chaque noeud est relié à un autre selon un tauxp∈[0,1]. Autrement dit, la probabilité que2 noeuds soient reliés par un arc est dep. Un noeud du réseau est représenté par une turtle.
a - Ecrire une méthode setup initialisant l'espace en vidant le monde.
b - Ecrire une méthode go qui ajoute une turtle et qui crée des liens depuis cet turtle avec les turtles déjà présents selon le taux p. Le taux pest déni à l'aide d'un curseur (slider).
c - Ajouter la procédure layout vue en cours pour mettre en forme le réseau.
d - Tracer l'histogramme de la distribution des degrés.
e - Les prodédures suivantes permettent de compter le nombre de groupes et la taille du plus grand groupe :
to grouper
ask turtles [ set grp -1 ] set nb-grp 0
set taille-max 0 ask turtles [
if grp = -1 [ set grp nb-grp ask link-neighbors [
propager self
]let m count turtles with [ grp = nb-grp ] if taille-max < m [ set taille-max m ] set nb-grp nb-grp + 1
] ] end
1
to propager [ a ] ask a [
if grp = -1 [ set grp nb-grp ask link-neighbors [
propager self ] ]
end]
Ajouter les variables propres, les variables globales et les éléments graphiques nécessaires pour observer le nombre de groupes ainsi que la taille du plus grand groupe.
f - Pour un taux p= 0.01, quel nombre moyen de turtles permet d'obtenir1seul groupe ?
Exercice 2 : Réseau petit monde
a - A l'aide du code smallWorldNetwork-curves.nlogo, étudier le coecient d'agglomération et la distance moyenne en fonction du nombre de noeudsnpour k= 4, r= 1.0 etq= 1.
b - Réaliser la même étude en changeant la valeur der= 4.0.
Exercice 3 : Réseau sans échelle caractéristique
a - A l'aide du code scaleFreeNetwork-curves.nlogo, étudier la distribution des degrés pour les diérents types d'attachement proposés.
Exercice 4 : Modèle de Shelling
Le but est d'étudier le modèle de Shelling sur les réseau petit-monde et sans échelle caractéristique.
a - Rappeler le modèle de Shelling classique, puis le modèle éloge de la fuite (EF) vu dans le cours 04.
b - Chaque tortue simule un lieu où un individus peut résider. Ajouter une variable propre residant à chaque tortue. Lorsque cette variable est égale à 0 aucun individus ne réside sur le lieu. La variable est égale à ilorsque un individus de typei6= 0y réside.
c - Ajouter les variables propres satisfait? et toleranceRequise à chaque tortue.
d - Initialiser le modèle EF à l'aide des procédures suivantes:
to setup-EF ask turtles [
set residant 0 set satisfait? true ]
let i 0
ask n-of (densite * count turtles) turtles [ 2
ifelse i mod 2 = 0 [ set residant 1 ] [ set residant 2 ] set i i + 1
]colorier end
to colorier ask turtles [
ifelse residant = 0 [ set color grey
set shape "square"
][
ifelse residant = 1 [ set color red ] [set color blue ]
ifelse satisfait? [set shape "circle"] [set shape "x"]
] ] end
e - Adapter le modèle EF de l'exercice 2 du TP 04 dans le cas des réseaux.
f - Ajouter les graphiques d'observation similaires à l'exercice 2 du TP 04 : to-report aggregateIndex
let s mean [ 1 - toleranceRequise ] of turtles with [ residant != 0 ] let sRand 0.5
ifelse (s >= sRand) [report (s - sRand) / (1 - sRand)] [report (s - sRand)/(sRand)]
end
to tracer-EF
set-current-plot "plots"
;----
set-current-plot-pen "tauxSatisfait"
plot (count turtles with [ residant != 0 and satisfait?]) / count turtles with [ residant != 0 ]
;----
set-current-plot-pen "meanToleranceRequise"
plot mean [toleranceRequise] of turtles with [ residant != 0 ]
;----
set-current-plot-pen "aggregateIndex"
plot aggregateIndex
;----
set-current-plot-pen "tolerance"
plot tolerance
;; ---
set-current-plot "nb-neighbors Distribution"
set-current-plot-pen "histogram"
3
histogram [count link-neighbors with [ residant != 0 ] ] of turtles end
g - Etudier les diérences de dynamique du modèle EF entre les deux types de réseau avec des paramètres égaux.
4