# MesureRI-Projet

## Question 1) - lecture de fichier

- code disponible sur la forge
- la compilation du programme peut prendre plusieurs minutes

## Question 2) - Coefficient de clustering

- Noeud = 317080

- Liens = 1049866

- degré moyen = 6.62208890914917

- coefficient de clustering: 0.6324308280637396

- coefficient de clustering pour un réseau aléatoire de la même taille et du même degré moyen est : 
   2.2046464927514997E-5
   
## Question 3) - Connexe
Ces réponses concernent les tests effectués sur ma machine 

- le réseau est connexe

- Un réseau aléatoire de la même taille et degré moyen n'est pas connexe

- Le réseau aléatoire avec cette taille devient connexe à partir du degré moyen  
〈k〉> ln(N) (p>ln(N)/N) avec N le nombre de noeud et p la probabilité que deux voisins soient reliés.

## Question 4) - Distribution de données

- Le résultat de la distribution des dégrés est enregistré dans le fichier distDegre dans le dossier Ressources

- On observe une ligne droite en log-log. Cela nous indique que la distribution des degrés suit une loi de puissance.


## Question 5) - Calcul des distances
- la distance moyenne dans le réseau est sensiblement égale 6.8330530560111

- l'hypothèse des six degrés de séparation se confirme car la distance moyenne dans le reseau atteint 6

- Il s'agit bien d'un réseau petit monde car tout noeud du réseau peut être relié à n’importe quel autre noeud du réseau

- la distance moyenne dans un réseau aléatoire est sensiblement = 6.700611818856679

- La distance moyenne dans un réseau aléatoire avec les mêmes caractéristiques = ln(317080)/ln( 6.62208890914917) = 6.70061181886 (application numérique de la formule)

## Question 6) Barabasi-Albert et comparaisons
- Pour cette question, j'utilise le nombre de noeuds et le dégré moyen obtenus pour la première question pour générer les différents graphes 
Voici les résultats obtenus après les calculs :

   - Noeud du réseau aleatoire = 317087
   
   - Noeud du réseau Barabasi-Albert = 317082
   
   - Liens du réseau aleatoire = 1050343
   
   - Liens du réseau Barabasi-Albert = 1111345
   
   - degré moyen du réseau aléatoire = 6.624951362609863
   
   - degré moyen du réseau Barabasi-Albert= 7.009827136993408
   
   - coefficient de clustering du réseau aléatoire : 1.7888664723203912E-5
   
   - coefficient de clustering du réseau Barabasi-Albert : 3.74307630522483E-4
   
   - Le reseau aléatoire n'est pas connexe
   
   - Le reseau Barabasi-Albert est connexe
   
   - la distance moyenne dans le réseau aléatoire = 6.699092023939004
   
   - la distance moyenne dans le réseau de Barabasi-Albert  = 4.988951543219359
   
- Les résultats expérimentaux ne correspondent pas aux prédictions théoriques.

- Dans le reseau Barabasi-Albert , une arête a plus de probabilité de se lier à des sommets qui ont un plus haut degré pour être connexe et la distance moyenne dans ce réseau est faible par rapport aux réseaux de collaboration et aleatoire.

- Le reseau Barabasi-Albert et le reseau de colaboration sont connexes contrairement au resau aléatoire.

- Le réseau aléatoire a le plus petit coefficient de clusterisation.

## Question 7) 

 - Le generateur WattsStrogatzGenerator nous reproduit un coefficient de clustering plus petite avec un réseau connexe.
 - Le nombre d'arrêt dépend de la probabilité.
 
## Propagation dans un réseau
 
 - le taux de progation est calculé en faisant le rapport entre beta et mu. Dans notre cas, beta = 1/7 car un individu envoie un mail par semaine en moyenne et mu = 1/14 car la mise à jour de l'anti-virus est faite deux fois par mois donc 1 fo
 is toutes les deux semaines.
 
 - Taux de propagation = 2.0
 - Le seuil épidémique du réseau de collaboration = 0.04598472436222584
 - Le seuil épidémique du réseau aléatoire = 0.13124949621603624
 - Le seuil épidémique du réseau avec stratégies d'immunisation aleatoire = 0.08899190620434182
 - Le seuil épidémique du réseau avec stratégies d'immunisation seclective = 0.166312649273335
 
 ![Courbe de comparaison](src/main/resources/histogrammeDesCas.png)
 
 l'immunisation sélective est plus efficace que les deux autres. Vers les derniers jours, le nombre de contamination est beaucoup réduit
 
 
 ## Comparaison réseau aléatoire et celui de Barabasi albert sur les propagations
 
 - 1er Cas: Sans empechement 
    - 316645/317087 infectés pour le réseau aléatoire
    - 317082/317082 infectés pour le réseau BBA
    
- 2e Cas: Immunisation aléatoire
    - 151958/317082 infectés pour le réseau aléatoire
    - Le seuil épidémique du réseau avec stratégies d'immunisation aleatoire = 0.2243705316895631
    - 139607/317082 infectés pour le réseau BBA
    - Le seuil épidémique du réseau avec stratégies d'immunisation aleatoire = 0.0596716106803383
    
    
- 3e Cas : Immunisation Sélective

Un problème se pose quand on génère aléatoirement un graphe de taille 317082 avec un dégré moyen égale à 6, tous les noeuds ne sont pas liés et la méthode d'immunisation selective rencontre quelques problèmes d'exception.
Pour tester le 3e cas, jai créé un graphe aléatoire avec un dégré moyen de 50 et un graphe de barabasi avec un degré moyen de 6 (dégré moyen du premmier graphe)
  - 124736/317131 infectés pour le réseau aléatoire
     - Le seuil épidémique du réseau avec stratégies d'immunisation selective = 0.032536494292978474
  - 98442/173989 infectés pour le réseau BBA
     - Le seuil épidémique du réseau avec stratégies d'immunisation seclective = 0.24718842671967695
     
  SANS EMPECHEMENT  
  ![Courbe de comparaison sans empechement](src/main/resources/comparaison1.png)
  
  IMMUNISATION ALEATOIRE
  ![Courbe de comparaison immunisation aléatoire](src/main/resources/comparaison2.png)
  
  
  IMMUNISATION SELECTIVE  
  ![Courbe de comparaison immunisation séléctive](src/main/resources/comparaison3.png)
  
  
  L'immunisation aléatoire et selective marche mieux avec un réseau généré avec la méthode d'attachement préférentiel. 
  
  
 ##Conclusion
 Le test du programme peut prendre plusieurs minutes à cause des méthodes de génération aléatoire et barabasi-albert c'est pourquoi lla grande partie de la méthode main est en commentaire.
 Il faut donc tester partie par partie pour aller plus vite.



