Newer
Older
| Mesure | Resultat|
|-----------------|:-------------|
| Le nombre de noeud (N) :| 317080 |
| Le nombre de lien (L) : | 1049866 |
| Le Degré moyen (K) :| 6.62208890914917 |
| Le coefficient de clustering : | 0.6324308280637396 |
Le coefficient de clustering pour un réseau aléatoire de la même taille et du même degré moyen est
****
Oui, le reseau est connexe car il posséde une seule composante connexe (il suffit d'executer ce code)
if(isConnected(graph))
System.out.println("Le graphe est connexe");
else
System.out.println("Le graphe est non connexe");
Un réseau aléatoire de la même taille et degré moyen ne sera pas connexe car dans un régime connecté cette condition doit etre verifiée :
****
et là dans notre cas : ****
Donc un réseau aléatoire avec cette taille sera connexe à partir d'un degré
moyen ****
En traçant la distribution de degrés avec [le fichier obtenu][dd-degres-distribution] en échelle log-log on observe une ligne droite
pendant plusieurs ordres de grandeur. Cela nous indique une loi de puissance :
****
Tracer la distribution et estimer l'exposant de la loi de puissance:
 |
La loi de puissance ici signifie que ce reseau n'a pas d'échelle, comme
on a pu le remarquer lors du calcul de la distribution le degré typique
des noeuds est k ± ∞.
### 5.La distance moyenne dans le réseau
Voici le programme utilisé pour obtenir la distribution des distances:
```java
public static HashMap<Integer, Double> getDistancesDistribution(Graph g, int nn) {
List<Node> sample = Toolkit.randomNodeSet(g, nn);
HashMap<Integer, Double> dist_distances = new HashMap<>();
int i = 0;
for (Node n : sample) {
BreadthFirstIterator<Node> iter = (BreadthFirstIterator<Node>) n.getBreadthFirstIterator();
while (iter.hasNext()) {
int depth = iter.getDepthOf(iter.next());
Double depthSum = dist_distances.get(depth);
if (depthSum == null)
dist_distances.put(depth, 1.0);
else
dist_distances.put(depth, depthSum + 1);
}
i++;
}
Double measuresCount = dist_distances.values().stream().reduce(0.0, Double::sum);
dist_distances.forEach((k, v) -> dist_distances.put(k, v / measuresCount));
return dist_distances;
}
```
Puis j'ai mets les resultat dans ce [fichier][dd-distances-distribution]
- La courbe obtenue en exécutant avec gnuplot est:

La courbe obtenue correspond à une **loi de poisson** de parametre **γ= la distance moyenne**
la cloche dans la courbe(**γ**) indique la valeur du plus grand nombre de noeuds
partageant une distance avec un autre noeud.
La distance moyenne obtenue avec un échantillon de 1000 est **6,76** par conséquant
L'hypothèse des 6 degrés de séparation semble se confirmer.
Vérifiant si les propriétés d'un réseau **petit monde** sont réunies :
- Six degrés de séparation :heavy_check_mark: :heavy_check_mark:
- ****
Par un simple calcul ****, vu que notre programme n'est pas très précis alors on peut les considérés comme égaux
**** :heavy_check_mark: :heavy_check_mark:
Les propriétés sont vérifiées donc c'est un réseau **petit monde**
Un réseau aléatoire avec les mêmes caractéristiques aura la
même distance moyenne, car d'après le cours, c'est la seule caractéristique en
commun entre un réseau de terrain et réseau aléatoire.
### 6-Refaire les mesures de base
En utilisant GraphStream, on génere un réseau aléatoire et un
un réseau avec la méthode d'attachement préférentiel (Barabasi-Albert)
(même taille et même degré), et on refait les mesures précédentes :
1. Un réseau avec la méthode d'attachement préférentiel (Barabasi-Albert) :
| Mesure | Resultat|
|-----------------|:-------------|
| Le nombre de noeud (N) :| 100000 |
| Le nombre de lien (L) : | 349539 |
| Le Degré moyen (K) :| 6.990779876708984 |
| Le coefficient de clustering : | 0.0012226869597521156 |
| tracer la distribution de degres |
:--------------------------:|
 |
| tracer la distribution de distances |
:--------------------------:|
 |
| Mesure | Resultats |
|-----------------|:-------------:|
| Le nombre de noeud (N) | 100000 |
| Le nombre de lien (L) | 348924 |
| Le Degré moyen (K) | 6.978549 |
| Le coefficient de clustering | 6.771E-5 |
| Distance moyenne | ≈6.4 |
| Connectivité | NON |
| tracer la distribution de degres |
:--------------------------:|

| tracer la distribution de distances |
:--------------------------:|
 |
Les résultats expérimentaux ne correspondent pas totalement aux prédictions théoriques
La distribution de distances des trois réseaux suit un loi de Poisson.
## Propagation
1-Le taux de propagation noté λ est le nombre moyen de cas secondaires provoqués par
une seule personne infectée au cours de sa période contagieuse, il se calcule avec cette formule :
****.
β est la probabilité de transmettre dans une unité d temps ****.
μ est le taux de guérison ****.
Donc λ=2.
Le seuil épidémique calculé à l'aide d'un programe est ****
Le seuil épidémique d'un réseau aléatoire qui a le meme degré serait ****

- Scénario 1: autour de 85%
- Scénario 2 (immunisation aléatoire): autour de 30%
- Scénario 3 (immunisation sélective): autour de 10%
- Le degre moyen du groupe 0 est : ****
- Le degre moyen du groupe 1 est : ****
La difference s'explique par une présence nettement superieur de hubs dans le groupe 1,
donc une grande probabilité d'etre immunisé par les voisins.
### 4-Une nouvelle stratégie
En adaptant une nouvelle stratégie **l'immunisation d'un nœud est équivalente à sa suppression du réseau**
- Immunisation aléatoire : 
- Immunisation sélective : 
Pour le réseau aléatoire, le seuil épidémique est approximativement égal à celui du réseau initial car la taille du réseau n'a pas d'influence sur son seuil épidémique.
Alors que le réseau sélectif a un seuil épidémique environ deux fois plus grand que les autres. On peut justifier cela par le fait qu'un grand nombre de hub soient retirés
du réseau et donc limite la propagation.

- **Un réseau généré avec la méthode d'attachement préférentiel**

Dans les 2 réseaux :
- Scénario 1: Les 2 réseaux se stabilisent presque à la meme valeur, cette
valeur est atteinte plus rapidement dans le graphe générer avec la méthode d'attachement préférentiel
- Scénario 2 et 3:
1. Réseau aléatoire: courbes normales et logiques
2. Réseau généré avec la méthode d'attachement préférentiel: les 2 courbes se stabilisent à la meme valeur
[dd-degres-distribution]: https://www-apps.univ-lehavre.fr/forge/ic194665/tp2-ri-chaourar_imine/-/blob/master/src/main/resources/distribution_degres/degreedistribution.txt
[dd-distances-distribution]: https://www-apps.univ-lehavre.fr/forge/ic194665/tp2-ri-chaourar_imine/-/blob/master/src/main/resources/distribution_distances/distancedistribution