From d544111b2e6c3247a4fafdfdb73f5ef2d706aa12 Mon Sep 17 00:00:00 2001 From: ac243219 Date: Mon, 6 Jan 2025 16:02:45 +0100 Subject: [PATCH 01/13] Restart --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 64f93f3..81f372e 100644 --- a/README.md +++ b/README.md @@ -70,3 +70,4 @@ une ligne droite est observée, cela indique une loi de puissance. - Comparaison avec la distribution de Poisson : Superposer la distribution de Poisson avec ⟨k⟩. ![Distribution des degrés](dd_dblp.png) +lol \ No newline at end of file -- GitLab From 2c21ec8f956f41708b2a570106d1697d5bf870b7 Mon Sep 17 00:00:00 2001 From: ac243219 Date: Thu, 9 Jan 2025 11:24:05 +0100 Subject: [PATCH 02/13] Restart --- src/main/java/org/example/DBLPNetworkAnalysis.java | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/src/main/java/org/example/DBLPNetworkAnalysis.java b/src/main/java/org/example/DBLPNetworkAnalysis.java index 83a6323..6c5f0a9 100644 --- a/src/main/java/org/example/DBLPNetworkAnalysis.java +++ b/src/main/java/org/example/DBLPNetworkAnalysis.java @@ -167,10 +167,10 @@ public class DBLPNetworkAnalysis { int edgesPerNode = (int) Math.round(averageDegree / 2); Graph baGraph = generateBarabasiAlbertGraph(nodeCount, edgesPerNode); - System.out.println("\nR\u00e9seau al\u00e9atoire :"); + System.out.println("\nRéseau aléatoire :"); printGraphMeasures(randomGraph); - System.out.println("\nR\u00e9seau Barabasi-Albert :"); + System.out.println("\nRéseau Barabasi-Albert :"); printGraphMeasures(baGraph); } @@ -246,10 +246,10 @@ public class DBLPNetworkAnalysis { // --- Affichage des mesures d'un graphe --- public static void printGraphMeasures(Graph graph) { - System.out.println("Nombre de n\u0153uds : " + graph.getNodeCount()); + System.out.println("Nombre de noeuds : " + graph.getNodeCount()); System.out.println("Nombre de liens : " + graph.getEdgeCount()); - System.out.println("Degr\u00e9 moyen : " + Toolkit.averageDegree(graph)); + System.out.println("Degré moyen : " + Toolkit.averageDegree(graph)); System.out.println("Coefficient de clustering : " + Toolkit.averageClusteringCoefficient(graph)); - System.out.println("Distance moyenne estim\u00e9e : " + estimateAverageDistance(graph, 100)); + System.out.println("Distance moyenne estimée : " + estimateAverageDistance(graph, 100)); } -} \ No newline at end of file +} -- GitLab From 2de0ac17cff882064c670450fe2d8c0caff0ac65 Mon Sep 17 00:00:00 2001 From: ac243219 Date: Sat, 11 Jan 2025 16:59:39 +0100 Subject: [PATCH 03/13] Suite --- README.md | 59 +++- degree_distribution.txt | 200 ------------ distance_distribution.txt | 44 +-- pom.xml | 12 + .../java/org/example/DBLPNetworkAnalysis.java | 298 ++++++++---------- src/main/java/org/example/Propagation.java | 66 ++++ 6 files changed, 294 insertions(+), 385 deletions(-) delete mode 100644 degree_distribution.txt create mode 100644 src/main/java/org/example/Propagation.java diff --git a/README.md b/README.md index 81f372e..b31ae12 100644 --- a/README.md +++ b/README.md @@ -36,10 +36,19 @@ double clusteringCoefficient = Toolkit.averageClusteringCoefficient(graph); ## 3- Autres mesures Voyons maintenant si le graphe est connexe : -- Le réseau est-il connexe ? : Toolkit.isConnected renvoie Oui +- Le réseau est-il connexe ? : Oui + +```java +boolean isConnected = Toolkit.isConnected(graph); +``` + - Degré moyen minimal pour qu'un graphe aléatoire soit connexe : 12.666909386951092 -## Distribution des Degrés +```java +double minAverageDegreeForConnectivity = Math.log(nodeCount); +``` + +## 4- Distribution des Degrés Exportation des données : Les degrés des nœuds sont exportés dans le fichier degree_distribution.txt. @@ -70,4 +79,48 @@ une ligne droite est observée, cela indique une loi de puissance. - Comparaison avec la distribution de Poisson : Superposer la distribution de Poisson avec ⟨k⟩. ![Distribution des degrés](dd_dblp.png) -lol \ No newline at end of file + + +## 5- Distance moyenne et distribution des distances + + +Distance moyenne de notre réseau: 6.700611818856679 + +```java +double degreeAverage = Toolkit.averageDegree(graph); +double NetworkDistance = Math.log(graph.getNodeCount()) / Math.log(degreeAverage); +System.out.println("Distance moyenne dans notre réseau : " + NetworkDistance); +``` + + +L'hypothèse des six degrés de séparation se confirme-t-elle ? + +![Distribution des degrés](distance_distribution.png) + + +Analyse de la courbe +Distance moyenne : + +- La courbe atteint son pic autour de 6. Cela suggère que la distance moyenne entre les paires de nœuds est proche de cette valeur. +- Cela soutient l'hypothèse des six degrés de séparation, car la majorité des distances sont à 6 ou moins. + + +Est-ce qu'il s'agit d'un réseau petit monde ? + +réseau montre des propriétés caractéristiques des réseaux "petit monde" : une distance moyenne faible et un clustering élevé. + +Quelle sera la distance moyenne dans un réseau aléatoire avec les mêmes caractéristiques ? + + +Tracez également la distribution des distances. + +Formulez une hypothèse sur la loi de cette distribution. + + + +Génération du réseau Barabási-Albert... +Réseau Barabási-Albert : +Nombre de nœuds : 317080 +Nombre de liens : 1108680 +Degré moyen : 6.993061542510986 +Coefficient de clustering : 4.235788849759945E-4 \ No newline at end of file diff --git a/degree_distribution.txt b/degree_distribution.txt deleted file mode 100644 index 2a0dc15..0000000 --- a/degree_distribution.txt +++ /dev/null @@ -1,200 +0,0 @@ -Degree Probability -1 0.13618329759051342 -2 0.18562507884445567 -3 0.1566071653841302 -4 0.11079222909045036 -5 0.08056011101299357 -6 0.05796013624321938 -7 0.04321937681342248 -8 0.032720449098019425 -9 0.026400277532483914 -10 0.020818090071906145 -11 0.01702409486564905 -12 0.014702914091081116 -13 0.012167276397123753 -14 0.010587233505739877 -15 0.009183802195029645 -16 0.00778352466254573 -17 0.007099154787435348 -18 0.005727261258988268 -19 0.00526680963794626 -20 0.004689668222530591 -21 0.004058912577267567 -22 0.0035038476094361045 -23 0.003264160464236155 -24 0.0029267061940204363 -25 0.0026964803834994325 -26 0.0023653336697363444 -27 0.0022391825406837393 -28 0.0021445691938942854 -29 0.002106723855178504 -30 0.001964803834994323 -31 0.0017282704680206887 -32 0.001684117572852277 -33 0.0014002775324839158 -34 0.001308817963920777 -35 0.00125520373407342 -36 0.0011258988267944998 -37 9.965939195155796E-4 -38 0.0010375930364576764 -39 9.303645767629621E-4 -40 7.569067743156302E-4 -41 7.600605525419453E-4 -42 7.632143307682603E-4 -43 8.515201211050839E-4 -44 6.52832092847231E-4 -45 5.992178629998738E-4 -46 5.26680963794626E-4 -47 5.992178629998738E-4 -48 5.172196291156806E-4 -49 3.721458307051848E-4 -50 4.162987258735966E-4 -51 4.099911694209663E-4 -52 3.8160716538413017E-4 -53 4.5099028636306295E-4 -54 3.437618266683487E-4 -55 3.6899205247886967E-4 -56 2.9014759682099154E-4 -57 2.996089314999369E-4 -58 3.090702661788823E-4 -59 2.617635927841554E-4 -60 2.1445691938942854E-4 -61 2.1445691938942854E-4 -62 3.4060804844203354E-4 -63 2.2707203229468904E-4 -64 2.1761069761574365E-4 -65 2.0184180648416804E-4 -66 1.8291913712627727E-4 -67 2.617635927841554E-4 -68 1.4192002018418066E-4 -69 1.6399646776838652E-4 -70 1.4507379841049577E-4 -71 1.2930490727892016E-4 -72 1.5138135486312602E-4 -73 1.2615112905260502E-4 -74 1.1668979437365965E-4 -75 1.0092090324208402E-4 -76 1.1668979437365965E-4 -77 5.676800807367226E-5 -78 9.77671250157689E-5 -79 9.77671250157689E-5 -80 1.0407468146839915E-4 -81 7.884445565787813E-5 -82 7.569067743156301E-5 -83 1.1353601614734452E-4 -84 7.253689920524788E-5 -85 6.938312097893276E-5 -86 4.4152895168411754E-5 -87 8.199823388419326E-5 -88 5.046045162104201E-5 -89 7.884445565787813E-5 -90 5.676800807367226E-5 -91 5.046045162104201E-5 -92 2.5230225810521005E-5 -93 3.7845338715781505E-5 -94 3.7845338715781505E-5 -95 5.046045162104201E-5 -96 3.469156048946638E-5 -97 4.4152895168411754E-5 -98 3.7845338715781505E-5 -99 3.1537782263151255E-5 -100 3.1537782263151255E-5 -101 1.7030402422101677E-4 -102 4.4152895168411754E-5 -103 6.622934275261763E-5 -104 4.4152895168411754E-5 -105 6.307556452630251E-5 -106 3.1537782263151255E-5 -107 2.838400403683613E-5 -108 2.5230225810521005E-5 -109 3.469156048946638E-5 -110 1.5768891131575628E-5 -111 4.4152895168411754E-5 -112 2.2076447584205877E-5 -113 1.0092090324208402E-4 -114 6.307556452630251E-5 -115 3.7845338715781505E-5 -116 5.046045162104201E-5 -117 1.8922669357890752E-5 -118 3.1537782263151255E-5 -119 3.469156048946638E-5 -120 2.5230225810521005E-5 -121 2.2076447584205877E-5 -122 2.5230225810521005E-5 -123 2.2076447584205877E-5 -124 1.5768891131575628E-5 -125 1.8922669357890752E-5 -126 1.8922669357890752E-5 -127 1.5768891131575628E-5 -128 1.8922669357890752E-5 -129 2.838400403683613E-5 -130 2.5230225810521005E-5 -131 1.2615112905260503E-5 -132 2.5230225810521005E-5 -133 1.2615112905260503E-5 -134 1.5768891131575628E-5 -135 9.461334678945376E-6 -136 1.8922669357890752E-5 -137 1.5768891131575628E-5 -138 1.2615112905260503E-5 -139 9.461334678945376E-6 -140 1.5768891131575628E-5 -141 6.307556452630251E-6 -142 9.461334678945376E-6 -143 6.307556452630251E-6 -144 9.461334678945376E-6 -145 1.8922669357890752E-5 -146 1.2615112905260503E-5 -147 1.2615112905260503E-5 -148 9.461334678945376E-6 -149 9.461334678945376E-6 -150 1.2615112905260503E-5 -151 9.461334678945376E-6 -152 9.461334678945376E-6 -153 1.5768891131575628E-5 -155 1.2615112905260503E-5 -156 1.5768891131575628E-5 -157 9.461334678945376E-6 -158 3.1537782263151257E-6 -159 3.1537782263151257E-6 -160 1.5768891131575628E-5 -161 9.461334678945376E-6 -162 6.307556452630251E-6 -163 9.461334678945376E-6 -164 9.461334678945376E-6 -165 3.1537782263151257E-6 -168 6.307556452630251E-6 -170 6.307556452630251E-6 -172 9.461334678945376E-6 -174 6.307556452630251E-6 -175 3.1537782263151257E-6 -176 3.1537782263151257E-6 -177 3.1537782263151257E-6 -178 3.1537782263151257E-6 -179 6.307556452630251E-6 -180 3.1537782263151257E-6 -181 3.1537782263151257E-6 -182 6.307556452630251E-6 -183 3.1537782263151257E-6 -184 3.1537782263151257E-6 -188 3.1537782263151257E-6 -190 3.1537782263151257E-6 -191 3.1537782263151257E-6 -195 3.1537782263151257E-6 -200 3.1537782263151257E-6 -201 9.461334678945376E-6 -207 3.1537782263151257E-6 -208 3.1537782263151257E-6 -215 9.461334678945376E-6 -218 6.307556452630251E-6 -219 3.1537782263151257E-6 -221 3.1537782263151257E-6 -225 3.1537782263151257E-6 -227 3.1537782263151257E-6 -230 3.1537782263151257E-6 -244 3.1537782263151257E-6 -264 3.1537782263151257E-6 -269 3.1537782263151257E-6 -290 3.1537782263151257E-6 -296 3.1537782263151257E-6 -343 3.1537782263151257E-6 diff --git a/distance_distribution.txt b/distance_distribution.txt index 6b0d1ba..b07eb32 100644 --- a/distance_distribution.txt +++ b/distance_distribution.txt @@ -1,22 +1,22 @@ -Distance Frequency -0 1000 -1 6586 -2 78287 -3 959632 -4 8613239 -5 41171567 -6 89177656 -7 90856123 -8 52934122 -9 22176664 -10 7738891 -11 2381840 -12 710135 -13 202360 -14 54352 -15 13569 -16 3211 -17 613 -18 131 -19 21 -20 1 +Distance Probability +0 3.1537782263151257E-6 +1 2.0553172700895673E-5 +2 2.5346915604894664E-4 +3 0.003046060930995332 +4 0.027171880913334175 +5 0.1290275419452504 +6 0.2779771540305286 +7 0.2868387693957361 +8 0.17 11496057777217 +9 0.07075135927841554 +10 0.02399099596316387 +11 0.007121215466128422 +12 0.00193723035196165 +13 5.232464993061688E-4 +14 1.41973634414028E-4 +15 3.599091711870821E-5 +16 7.979058912577268E-6 +17 1.510659770404945E-6 +18 2.6807114923678565E-7 +19 3.784533871578151E-8 +20 3.1537782263151255E-9 diff --git a/pom.xml b/pom.xml index 4c9df9c..63fb3ad 100644 --- a/pom.xml +++ b/pom.xml @@ -25,6 +25,18 @@ 2.0 + + + + org.apache.maven.plugins + maven-compiler-plugin + + 17 + 17 + + + + 11 diff --git a/src/main/java/org/example/DBLPNetworkAnalysis.java b/src/main/java/org/example/DBLPNetworkAnalysis.java index 6c5f0a9..9da0064 100644 --- a/src/main/java/org/example/DBLPNetworkAnalysis.java +++ b/src/main/java/org/example/DBLPNetworkAnalysis.java @@ -1,30 +1,32 @@ package org.example; import org.graphstream.algorithm.Toolkit; +import org.graphstream.algorithm.generator.Generator; +import org.graphstream.algorithm.generator.RandomGenerator; import org.graphstream.graph.*; import org.graphstream.graph.implementations.*; import org.graphstream.stream.file.FileSourceEdge; import org.graphstream.algorithm.generator.BarabasiAlbertGenerator; - import java.io.FileWriter; +import java.io.IOException; +import java.io.PrintWriter; import java.util.*; + public class DBLPNetworkAnalysis { public static void main(String[] args) throws Exception { String filePath = "C:/Users/celia/IdeaProjects/TP_RI/com-dblp.ungraph.txt/com-dblp.ungraph.txt"; // Chemin du fichier d'entrée Graph graph = new SingleGraph("DBLP Collaboration Network"); - // --- Chargement des données --- FileSourceEdge fileSource = new FileSourceEdge(); fileSource.addSink(graph); - try { fileSource.readAll(filePath); } finally { fileSource.removeSink(graph); } - // --- Mesures de base --- + int nodeCount = graph.getNodeCount(); int edgeCount = graph.getEdgeCount(); double averageDegree = Toolkit.averageDegree(graph); @@ -33,14 +35,65 @@ public class DBLPNetworkAnalysis { boolean isConnected = Toolkit.isConnected(graph); double minAverageDegreeForConnectivity = Math.log(nodeCount); - // --- Calcul de la distribution des degrés --- - calculateDegreeDistribution(graph, "degree_distribution.txt"); + // Estimation de la distance moyenne par échantillonnage + + int sampleSize = 1000; + List nodes = new ArrayList<>(); + graph.nodes().forEach(nodes::add); + + Random random = new Random(); + double totalDistance = 0; + int pairCount = 0; + Map distanceDistribution = new HashMap<>(); // Pour stocker les distances + + for (int i = 0; i < sampleSize; i++) { + Node startNode = nodes.get(random.nextInt(nodes.size())); + + // BFS à partir du nœud de départ + BreadthFirstIterator bfs = new BreadthFirstIterator(startNode, true); + Map distances = new HashMap<>(); + + while (bfs.hasNext()) { + Node node = bfs.next(); + int depth = bfs.getDepthOf(node); + distances.put(node, depth); + + // Enregistrer la distribution des distances + if (depth > 0) { + distanceDistribution.put(depth, distanceDistribution.getOrDefault(depth, 0) + 1); + } + } + + for (int distance : distances.values()) { + if (distance > 0) { + totalDistance += distance; + pairCount++; + } + } + } + + // Calculer la distance moyenne dans un réseau aléatoire - // --- Distance moyenne et distribution des distances --- - double averageDistance = estimateAverageDistance(graph, 1000); - exportDistanceDistribution(graph, "distance_distribution.txt", 1000); + double degreeAverage = Toolkit.averageDegree(graph); + double NetworkDistance = Math.log(graph.getNodeCount()) / Math.log(degreeAverage); + System.out.println("Distance moyenne dans notre réseau : " + NetworkDistance); - // --- Affichage des résultats --- + // Sauvegarder la distribution des distances dans un fichier + try (PrintWriter writer = new PrintWriter(new FileWriter("distance_distribution.dat"))) { + for (Map.Entry entry : distanceDistribution.entrySet()) { + writer.printf(Locale.US, "%d %f%n", entry.getKey(), + (double) entry.getValue() / pairCount); + } + System.out.println("Distribution des distances sauvegardée dans 'distance_distribution.dat'."); + } catch (IOException e) { + e.printStackTrace(); + } + + + //Calcul de la distribution des degrés + calculateDegreeDistribution(graph, "degree_distribution.txt"); + + // Résultats des mesures principales System.out.println("Nombre de noeuds : " + nodeCount); System.out.println("Nombre de liens : " + edgeCount); System.out.println("Degré moyen : " + averageDegree); @@ -48,208 +101,133 @@ public class DBLPNetworkAnalysis { System.out.println("Coefficient de clustering (aléatoire) : " + randomClusteringCoefficient); System.out.println("Le réseau est-il connexe ? : " + (isConnected ? "Oui" : "Non")); System.out.println("Degré moyen minimal pour qu'un graphe aléatoire soit connexe : " + minAverageDegreeForConnectivity); - System.out.println("Distance moyenne estimée : " + averageDistance); - // --- Génération et comparaison des réseaux aléatoires et Barabasi-Albert --- - compareWithGeneratedNetworks(nodeCount, edgeCount, averageDegree); + // Génération et comparaison des réseaux aléatoires et Barabasi-Albert + compareWithGeneratedNetworks(graph); + - // --- Génération d'un réseau selon la méthode de copie --- - Graph copyModelGraph = generateCopyModelGraph(nodeCount, averageDegree, 0.1); - System.out.println("\nRéseau généré avec la méthode de copie :"); - printGraphMeasures(copyModelGraph); } // --- Calcul de la distribution des degrés --- public static void calculateDegreeDistribution(Graph graph, String outputFile) throws Exception { Map degreeCounts = new HashMap<>(); + // Comptage des degrés for (Node node : graph) { - int degree = node.getDegree(); + int degree = node.getDegree(); // Calculer le degré du nœud degreeCounts.put(degree, degreeCounts.getOrDefault(degree, 0) + 1); } int totalNodes = graph.getNodeCount(); + // Exporter la distribution des degrés try (FileWriter writer = new FileWriter(outputFile)) { writer.write("Degree\tProbability\n"); - for (Map.Entry entry : degreeCounts.entrySet()) { - double probability = (double) entry.getValue() / totalNodes; - writer.write(entry.getKey() + "\t" + probability + "\n"); - } - } - - System.out.println("Distribution des degrés exportée dans : " + outputFile); - } - - // --- Estimation de la distance moyenne --- - public static double estimateAverageDistance(Graph graph, int sampleSize) { - List nodes = new ArrayList<>(); - graph.nodes().forEach(nodes::add); - Random random = new Random(); - double totalDistance = 0; - int count = 0; - - // Échantillonner au maximum 1000 nœuds ou la taille totale du graphe - int actualSampleSize = Math.min(sampleSize, nodes.size()); - - for (int i = 0; i < actualSampleSize; i++) { - Node start = nodes.get(random.nextInt(nodes.size())); - Map distances = bfsDistances(graph, start, 50); // Limite de profondeur - for (int distance : distances.values()) { - totalDistance += distance; - count++; - } - } - - return totalDistance / count; - } - - // --- Exportation de la distribution des distances --- - public static void exportDistanceDistribution(Graph graph, String outputFile, int sampleSize) throws Exception { - Map distanceCounts = new HashMap<>(); - List nodes = new ArrayList<>(); - graph.nodes().forEach(nodes::add); - Random random = new Random(); - - // Échantillonner au maximum 1000 nœuds ou la taille totale du graphe - int actualSampleSize = Math.min(sampleSize, nodes.size()); - - for (int i = 0; i < actualSampleSize; i++) { - Node start = nodes.get(random.nextInt(nodes.size())); - Map distances = bfsDistances(graph, start, 100); - for (int distance : distances.values()) { - distanceCounts.put(distance, distanceCounts.getOrDefault(distance, 0) + 1); - } - } - - try (FileWriter writer = new FileWriter(outputFile)) { - writer.write("Distance\tFrequency\n"); + for (Map.Entry entry : degreeCounts.entrySet()) { + int degree = entry.getKey(); + int count = entry.getValue(); + double probability = (double) count / totalNodes; - for (Map.Entry entry : distanceCounts.entrySet()) { - writer.write(entry.getKey() + "\t" + entry.getValue() + "\n"); + // Écrire dans le fichier + writer.write(degree + "\t" + probability + "\n"); } } - System.out.println("Distribution des distances exportée dans : " + outputFile); + System.out.println("Distribution des degrés exportée dans : " + outputFile); } - // --- BFS pour calculer les distances --- - public static Map bfsDistances(Graph graph, Node start, int maxDepth) { - Map distances = new HashMap<>(); - Queue queue = new LinkedList<>(); - distances.put(start, 0); - queue.add(start); + // --- Comparaison avec des réseaux générés --- + public static void compareWithGeneratedNetworks(Graph initialGraph) throws Exception { + // Extraire les caractéristiques du graphe initial + int nodeCount = initialGraph.getNodeCount(); + double averageDegree = Toolkit.averageDegree(initialGraph); + + // --- Générer un graphe aléatoire --- + System.out.println("\nGénération du réseau aléatoire..."); + Graph randomGraph = createRandomGraph(initialGraph); + System.out.println("Réseau aléatoire :"); + printGraphMeasures(randomGraph); + calculateDegreeDistribution(randomGraph, "random_degree_distribution.txt"); + // --- Générer un graphe Barabási-Albert --- + System.out.println("\nGénération du réseau Barabási-Albert..."); + Graph baGraph = generateBarabasiAlbertGraph(initialGraph); + System.out.println("Réseau Barabási-Albert :"); + printGraphMeasures(baGraph); + calculateDegreeDistribution(baGraph, "barabasi_degree_distribution.txt"); - while (!queue.isEmpty()) { - Node current = queue.poll(); - int currentDistance = distances.get(current); + // --- Sauvegarder les résultats --- + try (FileWriter writer = new FileWriter("comparison_results.txt")) { + writer.write("Comparaison des réseaux générés :\n"); - if (currentDistance >= maxDepth) continue; + writer.write("\nRéseau aléatoire :\n"); + writer.write(captureGraphMeasures(randomGraph)); - current.edges().forEach(edge -> { - Node neighbor = edge.getOpposite(current); - if (!distances.containsKey(neighbor)) { - distances.put(neighbor, currentDistance + 1); - queue.add(neighbor); - } - }); + writer.write("\nRéseau Barabási-Albert :\n"); + writer.write(captureGraphMeasures(baGraph)); } - - return distances; + System.out.println("\nLes résultats de la comparaison ont été sauvegardés dans 'comparison_results.txt'."); } - // --- Comparaison avec des réseaux générés --- - public static void compareWithGeneratedNetworks(int nodeCount, int edgeCount, double averageDegree) { - Graph randomGraph = createRandomGraph(nodeCount, edgeCount); - - // Générer un graphe Barabasi-Albert avec le même degré moyen - int edgesPerNode = (int) Math.round(averageDegree / 2); - Graph baGraph = generateBarabasiAlbertGraph(nodeCount, edgesPerNode); - - System.out.println("\nRéseau aléatoire :"); - printGraphMeasures(randomGraph); - - System.out.println("\nRéseau Barabasi-Albert :"); - printGraphMeasures(baGraph); + // Méthode pour capturer les métriques d'un graphe + public static String captureGraphMeasures(Graph graph) { + return String.format("Nombre de noeuds : %d\nNombre de liens : %d\nDegré moyen : %.4f\nCoefficient de clustering : %.4f\n", + graph.getNodeCount(), + graph.getEdgeCount(), + Toolkit.averageDegree(graph), + Toolkit.averageClusteringCoefficient(graph)); } // --- Génération d'un réseau aléatoire --- - public static Graph createRandomGraph(int nodeCount, int edgeCount) { - Graph randomGraph = new SingleGraph("Random Network"); - Random random = new Random(); - - for (int i = 0; i < nodeCount; i++) { - randomGraph.addNode(String.valueOf(i)); - } + public static Graph createRandomGraph(Graph initialGraph) { - Set edges = new HashSet<>(); + double averageDegree = Toolkit.averageDegree(initialGraph); - while (randomGraph.getEdgeCount() < edgeCount) { - int source = random.nextInt(nodeCount); - int target = random.nextInt(nodeCount); + Generator generator = new RandomGenerator(averageDegree, false); + Graph graphAlea = new SingleGraph("graphe aléatoire"); + int N = 317080; - if (source != target) { - String edge = source + "-" + target; - String reverseEdge = target + "-" + source; - - if (!edges.contains(edge) && !edges.contains(reverseEdge)) { - randomGraph.addEdge(edge, String.valueOf(source), String.valueOf(target)); - edges.add(edge); - } - } + // graphe aléatoire générer de taille N + generator.addSink(graphAlea); + generator.begin(); + while (graphAlea.getNodeCount() < N) { + generator.nextEvents(); + } + generator.end(); + if (graphAlea.getNodeCount() == N) { + System.out.println("Graph aléatoire générer !"); } - return randomGraph; + + return graphAlea; } + // --- Génération d'un réseau Barabasi-Albert --- - public static Graph generateBarabasiAlbertGraph(int nodeCount, double averageDegree) { - int edgesPerNode = (int) Math.round(averageDegree *2); // Calculez m correctement - Graph graph = new SingleGraph("Barabasi-Albert Network"); - BarabasiAlbertGenerator generator = new BarabasiAlbertGenerator(edgesPerNode); + public static Graph generateBarabasiAlbertGraph(Graph initialGraph) { + int nodeCount = initialGraph.getNodeCount(); + double averageDegree = Toolkit.averageDegree(initialGraph); - generator.addSink(graph); + Graph barabasiGraph = new SingleGraph("Barabasi-Albert Network"); + BarabasiAlbertGenerator generator = new BarabasiAlbertGenerator((int) averageDegree); + generator.addSink(barabasiGraph); generator.begin(); - - while (graph.getNodeCount() < nodeCount) { + while (barabasiGraph.getNodeCount() < nodeCount) { generator.nextEvents(); } - generator.end(); - return graph; + return barabasiGraph; } - // --- Génération d'un réseau selon la méthode de copie --- - public static Graph generateCopyModelGraph(int nodeCount, double averageDegree, double probability) { - Graph copyGraph = new SingleGraph("Copy Model Network"); - Random random = new Random(); - - copyGraph.addNode("0"); - - for (int i = 1; i < nodeCount; i++) { - copyGraph.addNode(String.valueOf(i)); - Node targetNode = copyGraph.getNode(String.valueOf(random.nextInt(i))); - - int finalI = i; - targetNode.neighborNodes().forEach(neighbor -> { - if (random.nextDouble() < probability) { - copyGraph.addEdge(finalI + "-" + neighbor.getId(), String.valueOf(finalI), neighbor.getId()); - } - }); - - copyGraph.addEdge(i + "-" + targetNode.getId(), String.valueOf(i), targetNode.getId()); - } - return copyGraph; - } // --- Affichage des mesures d'un graphe --- public static void printGraphMeasures(Graph graph) { - System.out.println("Nombre de noeuds : " + graph.getNodeCount()); + System.out.println("Nombre de nœuds : " + graph.getNodeCount()); System.out.println("Nombre de liens : " + graph.getEdgeCount()); System.out.println("Degré moyen : " + Toolkit.averageDegree(graph)); System.out.println("Coefficient de clustering : " + Toolkit.averageClusteringCoefficient(graph)); - System.out.println("Distance moyenne estimée : " + estimateAverageDistance(graph, 100)); } -} + + +} \ No newline at end of file diff --git a/src/main/java/org/example/Propagation.java b/src/main/java/org/example/Propagation.java new file mode 100644 index 0000000..c435176 --- /dev/null +++ b/src/main/java/org/example/Propagation.java @@ -0,0 +1,66 @@ +package org.example; + +import org.graphstream.graph.Graph; +import org.graphstream.graph.Node; +import org.graphstream.graph.implementations.SingleGraph; +import org.graphstream.stream.file.FileSourceEdge; + +public class Propagation { + + public static void main(String[] args) throws Exception { + String filePath = "C:/Users/celia/IdeaProjects/TP_RI/com-dblp.ungraph.txt/com-dblp.ungraph.txt"; + Graph graph = new SingleGraph("DBLP Collaboration Network"); + + // --- Chargement des données --- + FileSourceEdge fileSource = new FileSourceEdge(); + fileSource.addSink(graph); + try { + fileSource.readAll(filePath); + } finally { + fileSource.removeSink(graph); + } + + // --- Paramètres --- + double infectionProbability = 1.0; // β = 1 + double recoveryProbability = 0.5; // μ = 0.5 + + // --- Calcul et analyse --- + epidemicThresholdAnalysis(graph, infectionProbability, recoveryProbability); + } + + private static void epidemicThresholdAnalysis(Graph graph, double infectionRate, double recoveryRate) { + double avgDegree = calculateAverageDegree(graph); + double avgDegreeSquared = calculateAverageDegreeSquared(graph); + + // Calcul du taux de propagation et du seuil épidémique + double tau = infectionRate / recoveryRate; // Taux de propagation + double c = avgDegree / avgDegreeSquared; // Seuil épidémique + + // Affichage des résultats + System.out.println("Taux de propagation (τ) : " + tau); + System.out.println("Seuil épidémique (c) : " + c); + + // Prédiction + if (tau > c) { + System.out.println("La maladie persiste (τ > c)."); + } else { + System.out.println("La maladie disparaît (τ < c)."); + } + } + + private static double calculateAverageDegree(Graph graph) { + int totalDegree = 0; + for (Node node : graph) { + totalDegree += node.getDegree(); + } + return (double) totalDegree / graph.getNodeCount(); + } + + private static double calculateAverageDegreeSquared(Graph graph) { + double totalDegreeSquared = 0; + for (Node node : graph) { + totalDegreeSquared += Math.pow(node.getDegree(), 2); + } + return totalDegreeSquared / graph.getNodeCount(); + } +} -- GitLab From d88bac14541d9b115dabb6abb37f33ae71536fab Mon Sep 17 00:00:00 2001 From: ac243219 Date: Sun, 12 Jan 2025 15:35:26 +0100 Subject: [PATCH 04/13] Suite --- README.md | 6 +- .../java/org/example/DBLPNetworkAnalysis.java | 36 ++-- src/main/java/org/example/Propagation.java | 197 ++++++++++++++++-- 3 files changed, 194 insertions(+), 45 deletions(-) diff --git a/README.md b/README.md index b31ae12..47de9b6 100644 --- a/README.md +++ b/README.md @@ -123,4 +123,8 @@ Réseau Barabási-Albert : Nombre de nœuds : 317080 Nombre de liens : 1108680 Degré moyen : 6.993061542510986 -Coefficient de clustering : 4.235788849759945E-4 \ No newline at end of file +Coefficient de clustering : 4.235788849759945E-4 + + + +0.045984725428484516 \ No newline at end of file diff --git a/src/main/java/org/example/DBLPNetworkAnalysis.java b/src/main/java/org/example/DBLPNetworkAnalysis.java index 9da0064..80b9b0e 100644 --- a/src/main/java/org/example/DBLPNetworkAnalysis.java +++ b/src/main/java/org/example/DBLPNetworkAnalysis.java @@ -7,6 +7,8 @@ import org.graphstream.graph.*; import org.graphstream.graph.implementations.*; import org.graphstream.stream.file.FileSourceEdge; import org.graphstream.algorithm.generator.BarabasiAlbertGenerator; + +import java.io.BufferedWriter; import java.io.FileWriter; import java.io.IOException; import java.io.PrintWriter; @@ -109,32 +111,18 @@ public class DBLPNetworkAnalysis { } // --- Calcul de la distribution des degrés --- - public static void calculateDegreeDistribution(Graph graph, String outputFile) throws Exception { - Map degreeCounts = new HashMap<>(); - - // Comptage des degrés - for (Node node : graph) { - int degree = node.getDegree(); // Calculer le degré du nœud - degreeCounts.put(degree, degreeCounts.getOrDefault(degree, 0) + 1); - } - - int totalNodes = graph.getNodeCount(); - - // Exporter la distribution des degrés - try (FileWriter writer = new FileWriter(outputFile)) { - writer.write("Degree\tProbability\n"); - - for (Map.Entry entry : degreeCounts.entrySet()) { - int degree = entry.getKey(); - int count = entry.getValue(); - double probability = (double) count / totalNodes; - - // Écrire dans le fichier - writer.write(degree + "\t" + probability + "\n"); + public static void calculateDegreeDistribution(Graph graph, String outputFile) throws IOException { + int[] distribution = Toolkit.degreeDistribution(graph); + try (BufferedWriter writer = new BufferedWriter(new FileWriter(outputFile))) { + writer.write("# Degree\tProbability\n"); + for (int k = 0; k < distribution.length; k++) { + if (distribution[k] != 0) { + double probability = (double) distribution[k] / graph.getNodeCount(); + writer.write(k + "\t" + probability + "\n"); + } } } - - System.out.println("Distribution des degrés exportée dans : " + outputFile); + System.out.println("Distribution des degrés écrite dans : " + outputFile); } // --- Comparaison avec des réseaux générés --- diff --git a/src/main/java/org/example/Propagation.java b/src/main/java/org/example/Propagation.java index c435176..0619367 100644 --- a/src/main/java/org/example/Propagation.java +++ b/src/main/java/org/example/Propagation.java @@ -4,6 +4,12 @@ import org.graphstream.graph.Graph; import org.graphstream.graph.Node; import org.graphstream.graph.implementations.SingleGraph; import org.graphstream.stream.file.FileSourceEdge; +import org.graphstream.algorithm.Toolkit; +import java.io.BufferedWriter; +import java.io.FileWriter; +import java.io.IOException; + +import java.util.Random; public class Propagation { @@ -21,46 +27,197 @@ public class Propagation { } // --- Paramètres --- + int daysToSimulate = 90; // 3 months double infectionProbability = 1.0; // β = 1 double recoveryProbability = 0.5; // μ = 0.5 - // --- Calcul et analyse --- - epidemicThresholdAnalysis(graph, infectionProbability, recoveryProbability); + // Tableau pour stocker les résultats des scénarios + double[][] results = new double[3][daysToSimulate]; + String[] fileNames = {"scenario1_no_control.dat", "scenario2_random_immunization.dat", "scenario3_selective_immunization.dat"}; + + // --- Scenarios --- + System.out.println("Scenario 1: No Control"); + results[0] = simulateAndCaptureResults(graph, infectionProbability, recoveryProbability, daysToSimulate, 0, false); + + System.out.println("Scenario 2: Random Immunization"); + results[1] = simulateAndCaptureResults(graph, infectionProbability, recoveryProbability, daysToSimulate, 0.5, true); + + System.out.println("Scenario 3: Selective Immunization"); + results[2] = simulateAndCaptureResults(graph, infectionProbability, recoveryProbability, daysToSimulate, 0.5, false); + + // Sauvegarde des résultats dans des fichiers + saveResultsToFiles(results, fileNames); + + System.out.println("Les résultats ont été sauvegardés dans les fichiers pour Gnuplot."); + + // Calculer les degrés moyens des groupes 0 et 1 + calculateAverageDegreeSelectiveImmunization(graph); + epidemicThresholdAnalysis(graph,infectionProbability,recoveryProbability); } + + private static void epidemicThresholdAnalysis(Graph graph, double infectionRate, double recoveryRate) { - double avgDegree = calculateAverageDegree(graph); - double avgDegreeSquared = calculateAverageDegreeSquared(graph); + double avgDegree = Toolkit.averageDegree(graph); // Utilisation de Toolkit pour le degré moyen + double avgDegreeSquared = calculateSquaredAverageDegree(graph); // Calcul direct du carré moyen des degrés - // Calcul du taux de propagation et du seuil épidémique - double tau = infectionRate / recoveryRate; // Taux de propagation - double c = avgDegree / avgDegreeSquared; // Seuil épidémique + // Calcul des seuils + double tau = infectionRate / recoveryRate; // Taux de propagation + double cReal = avgDegree / avgDegreeSquared; // Seuil épidémique réel + double cTheoretical = 1.0 / (avgDegree + 1); // Seuil théorique pour un réseau aléatoire avec normalisation // Affichage des résultats System.out.println("Taux de propagation (τ) : " + tau); - System.out.println("Seuil épidémique (c) : " + c); + System.out.println("Seuil épidémique réel (c_réel) : " + cReal); + System.out.println("Seuil épidémique théorique (c_théorique) : " + cTheoretical); + + // Prédiction dans le réseau réel + if (tau > cReal) { + System.out.println("La maladie persiste dans le réseau réel (τ > c_réel).\n"); + } else { + System.out.println("La maladie disparaît dans le réseau réel (τ < c_réel).\n"); + } - // Prédiction - if (tau > c) { - System.out.println("La maladie persiste (τ > c)."); + // Comparaison avec le réseau aléatoire + if (cReal < cTheoretical) { + System.out.println("Le réseau réel est plus vulnérable que le réseau aléatoire (c_réel < c_théorique).\n"); } else { - System.out.println("La maladie disparaît (τ < c)."); + System.out.println("Le réseau réel est plus résistant que le réseau aléatoire (c_réel >= c_théorique).\n"); } } - private static double calculateAverageDegree(Graph graph) { - int totalDegree = 0; + + + + private static double calculateSquaredAverageDegree(Graph graph) { + double totalDegreeSquared = 0; for (Node node : graph) { - totalDegree += node.getDegree(); + totalDegreeSquared += Math.pow(node.getDegree(), 2); // Somme des carrés des degrés } - return (double) totalDegree / graph.getNodeCount(); + return totalDegreeSquared / graph.getNodeCount(); // Moyenne des carrés des degrés } - private static double calculateAverageDegreeSquared(Graph graph) { - double totalDegreeSquared = 0; + + + + private static void saveResultsToFiles(double[][] results, String[] fileNames) { + for (int i = 0; i < results.length; i++) { + try (BufferedWriter writer = new BufferedWriter(new FileWriter(fileNames[i]))) { + for (int day = 0; day < results[i].length; day++) { + writer.write((day + 1) + "\t" + results[i][day]); + writer.newLine(); + } + } catch (IOException e) { + System.err.println("Erreur lors de l'écriture dans le fichier : " + fileNames[i]); + e.printStackTrace(); + } + } + } + + + + + + private static double[] simulateAndCaptureResults(Graph graph, double infectionRate, double recoveryRate, int days, double immunizationFraction, boolean randomImmunization) { + double[] infectedFractions = new double[days]; + Random random = new Random(); + + // Reset states + for (Node node : graph) { + node.setAttribute("state", "susceptible"); + node.removeAttribute("immune"); + } + + // Immunization + if (immunizationFraction > 0) { + int immunizedCount = (int) (immunizationFraction * graph.getNodeCount()); + if (randomImmunization) { + // Immunisation aléatoire : immuniser des nœuds directement + for (int i = 0; i < immunizedCount; i++) { + Node node = graph.getNode(random.nextInt(graph.getNodeCount())); + node.setAttribute("immune", true); + } + } else { + // Immunisation sélective : immuniser un voisin + for (Node node : graph) { + if (random.nextDouble() < immunizationFraction && node.getDegree() > 0) { + Node neighbor = node.neighborNodes().toList().get(0); // Prendre un voisin + neighbor.setAttribute("immune", true); + } + } + } + + } + // Infect patient zero + Node patientZero = graph.getNode(new Random().nextInt(graph.getNodeCount())); + patientZero.setAttribute("state", "infected"); + + // Simulation + for (int day = 0; day < days; day++) { + int infectedCount = 0; + int totalNonImmune = 0; + + for (Node node : graph) { + if (!node.hasAttribute("immune")) { + totalNonImmune++; + if (node.getAttribute("state").equals("infected")) { + infectedCount++; + for (Node neighbor : node.neighborNodes().toList()) { + if (!neighbor.hasAttribute("immune") && neighbor.getAttribute("state").equals("susceptible") && random.nextDouble() < infectionRate) { + neighbor.setAttribute("nextState", "infected"); + } + } + if (random.nextDouble() < recoveryRate) { + node.setAttribute("nextState", "susceptible"); + } + } + } + } + + for (Node node : graph) { + if (node.hasAttribute("nextState")) { + node.setAttribute("state", node.getAttribute("nextState")); + node.removeAttribute("nextState"); + } + } + + infectedFractions[day] = (double) infectedCount / totalNonImmune; + } + + return infectedFractions; + } + + + + + private static void calculateAverageDegreeSelectiveImmunization(Graph graph) { + double totalDegreeGroup0 = 0; // Somme des degrés des nœuds du groupe 0 + double totalDegreeGroup1 = 0; // Somme des degrés des nœuds du groupe 1 + int countGroup0 = 0; // Nombre de nœuds dans le groupe 0 + int countGroup1 = 0; // Nombre de nœuds dans le groupe 1 + + // Parcourir tous les nœuds pour identifier les groupes for (Node node : graph) { - totalDegreeSquared += Math.pow(node.getDegree(), 2); + if (node.hasAttribute("selected")) { // Groupe 0 : nœuds choisis aléatoirement + totalDegreeGroup0 += node.getDegree(); + countGroup0++; + + // Groupe 1 : voisins immunisés de ces nœuds + for (Node neighbor : node.neighborNodes().toList()) { + if (neighbor.hasAttribute("immune")) { + totalDegreeGroup1 += neighbor.getDegree(); + countGroup1++; + } + } + } } - return totalDegreeSquared / graph.getNodeCount(); + + // Calcul des degrés moyens + double avgDegreeGroup0 = countGroup0 > 0 ? totalDegreeGroup0 / countGroup0 : 0; + double avgDegreeGroup1 = countGroup1 > 0 ? totalDegreeGroup1 / countGroup1 : 0; + + // Afficher les résultats + System.out.printf("Degré moyen (Groupe 0 - Nœuds sélectionnés aléatoirement) : %.9f%n", avgDegreeGroup0); + System.out.printf("Degré moyen (Groupe 1 - Voisins immunisés) : %.9f%n", avgDegreeGroup1); } } -- GitLab From 0977d153212a0073ae460bfed48dba92ab4fba87 Mon Sep 17 00:00:00 2001 From: ac243219 Date: Sun, 12 Jan 2025 15:35:36 +0100 Subject: [PATCH 05/13] Suite --- barabasi_degree_distribution.txt | 311 ++++++++++++++++++++++++++ comparison_results.txt | 13 ++ degree_distribution.txt | 200 +++++++++++++++++ degree_distribution_linear.png | Bin 0 -> 27943 bytes degree_distribution_linear_BA.png | Bin 0 -> 27971 bytes degree_distribution_linear_BddddA.png | Bin 0 -> 26477 bytes degree_distribution_linear_random.png | Bin 0 -> 27971 bytes degree_distribution_loglog_ba.png | Bin 0 -> 19902 bytes degree_distribution_loglog_random.png | Bin 0 -> 19657 bytes distance_distribution.dat | 21 ++ distance_distribution.png | Bin 0 -> 73446 bytes propagation_simulation.png | Bin 0 -> 25008 bytes propagation_simulation_2.png | Bin 0 -> 25069 bytes propagation_simulation_3.png | Bin 0 -> 19982 bytes random_degree_distribution.txt | 52 +++++ scenario1_no_control.dat | 90 ++++++++ scenario2_random_immunization.dat | 90 ++++++++ scenario3_selective_immunization.dat | 90 ++++++++ 18 files changed, 867 insertions(+) create mode 100644 barabasi_degree_distribution.txt create mode 100644 comparison_results.txt create mode 100644 degree_distribution.txt create mode 100644 degree_distribution_linear.png create mode 100644 degree_distribution_linear_BA.png create mode 100644 degree_distribution_linear_BddddA.png create mode 100644 degree_distribution_linear_random.png create mode 100644 degree_distribution_loglog_ba.png create mode 100644 degree_distribution_loglog_random.png create mode 100644 distance_distribution.dat create mode 100644 distance_distribution.png create mode 100644 propagation_simulation.png create mode 100644 propagation_simulation_2.png create mode 100644 propagation_simulation_3.png create mode 100644 random_degree_distribution.txt create mode 100644 scenario1_no_control.dat create mode 100644 scenario2_random_immunization.dat create mode 100644 scenario3_selective_immunization.dat diff --git a/barabasi_degree_distribution.txt b/barabasi_degree_distribution.txt new file mode 100644 index 0000000..dc75c9e --- /dev/null +++ b/barabasi_degree_distribution.txt @@ -0,0 +1,311 @@ +# Degree Probability +1 0.11086161221142929 +2 0.11126214204617131 +3 0.1107575375299609 +4 0.11011732055001892 +5 0.11166897943736596 +6 0.11164690298978176 +7 0.07328749842311089 +8 0.05175034691560489 +9 0.03789579916740255 +10 0.028368235145704555 +11 0.022035448467263782 +12 0.017219629115680587 +13 0.01345086413523401 +14 0.011514444304276523 +15 0.009404566670871705 +16 0.008016904251293049 +17 0.006380093351835499 +18 0.005437113662167276 +19 0.004686514444304277 +20 0.003948530339346537 +21 0.0034092342626466507 +22 0.0032263151255203736 +23 0.002617635927841554 +24 0.0024252554560363314 +25 0.0022171060930995332 +26 0.0018512678188469787 +27 0.0018039611454522518 +28 0.0014980446574996847 +29 0.0013151255203734074 +30 0.0010943610445313485 +31 0.001103822379210294 +32 0.0010281317017787309 +33 9.555948025734831E-4 +34 9.366721332155923E-4 +35 8.389050081998233E-4 +36 7.316765485051091E-4 +37 7.03292544468273E-4 +38 5.424498549262016E-4 +39 5.550649678314621E-4 +40 5.77141415415668E-4 +41 5.077582944367352E-4 +42 4.6360539926832344E-4 +43 4.478365081367478E-4 +44 4.226062823262268E-4 +45 4.162987258735966E-4 +46 4.3206761700517217E-4 +47 3.2799293553677304E-4 +48 2.933013750473067E-4 +49 3.059164879525672E-4 +50 2.4284092342626465E-4 +51 2.5230225810521004E-4 +52 2.365333669736344E-4 +53 1.8922669357890754E-4 +54 2.3022581052100415E-4 +55 2.5230225810521004E-4 +56 1.5768891131575627E-4 +57 2.0499558471048315E-4 +58 2.0499558471048315E-4 +59 1.5453513308944116E-4 +60 1.4192002018418066E-4 +61 1.3876624195786552E-4 +62 1.4507379841049577E-4 +63 1.5138135486312602E-4 +64 1.356124637315504E-4 +65 1.1353601614734452E-4 +66 1.2299735082628988E-4 +67 1.3876624195786552E-4 +68 1.3245868550523527E-4 +69 1.0092090324208402E-4 +70 1.0722845969471427E-4 +71 1.103822379210294E-4 +72 1.0722845969471427E-4 +73 1.0092090324208402E-4 +74 7.569067743156301E-5 +75 9.145956856313863E-5 +76 1.0722845969471427E-4 +77 7.569067743156301E-5 +78 6.938312097893276E-5 +79 9.461334678945377E-5 +80 2.838400403683613E-5 +81 8.199823388419326E-5 +82 7.884445565787813E-5 +83 5.676800807367226E-5 +84 7.253689920524788E-5 +85 5.3614229847357136E-5 +86 5.3614229847357136E-5 +87 6.307556452630251E-5 +88 6.622934275261763E-5 +89 4.099911694209663E-5 +90 6.622934275261763E-5 +91 3.469156048946638E-5 +92 5.9921786299987385E-5 +93 4.4152895168411754E-5 +94 4.099911694209663E-5 +95 4.7306673394726886E-5 +96 4.4152895168411754E-5 +97 2.838400403683613E-5 +98 4.099911694209663E-5 +99 3.7845338715781505E-5 +100 2.2076447584205877E-5 +101 5.046045162104201E-5 +102 4.099911694209663E-5 +103 2.5230225810521005E-5 +104 6.307556452630251E-6 +105 4.4152895168411754E-5 +106 3.469156048946638E-5 +107 1.5768891131575628E-5 +108 3.7845338715781505E-5 +109 4.099911694209663E-5 +110 2.5230225810521005E-5 +111 1.5768891131575628E-5 +112 2.2076447584205877E-5 +113 1.5768891131575628E-5 +114 2.5230225810521005E-5 +115 3.7845338715781505E-5 +116 2.2076447584205877E-5 +117 1.5768891131575628E-5 +118 2.5230225810521005E-5 +119 2.5230225810521005E-5 +120 9.461334678945376E-6 +121 2.2076447584205877E-5 +122 2.2076447584205877E-5 +123 2.5230225810521005E-5 +124 1.5768891131575628E-5 +125 3.1537782263151255E-5 +126 1.2615112905260503E-5 +127 1.5768891131575628E-5 +128 2.838400403683613E-5 +129 1.2615112905260503E-5 +130 3.1537782263151255E-5 +131 1.2615112905260503E-5 +132 2.2076447584205877E-5 +133 2.2076447584205877E-5 +134 3.1537782263151257E-6 +135 3.1537782263151257E-6 +136 1.8922669357890752E-5 +137 1.8922669357890752E-5 +138 1.5768891131575628E-5 +139 2.2076447584205877E-5 +140 1.2615112905260503E-5 +141 1.8922669357890752E-5 +142 9.461334678945376E-6 +143 6.307556452630251E-6 +144 2.5230225810521005E-5 +145 3.1537782263151257E-6 +146 9.461334678945376E-6 +147 1.8922669357890752E-5 +148 6.307556452630251E-6 +149 9.461334678945376E-6 +150 1.5768891131575628E-5 +151 3.1537782263151257E-6 +152 3.1537782263151257E-6 +153 1.2615112905260503E-5 +155 9.461334678945376E-6 +156 1.2615112905260503E-5 +157 1.2615112905260503E-5 +158 3.1537782263151257E-6 +159 1.2615112905260503E-5 +160 6.307556452630251E-6 +161 1.2615112905260503E-5 +162 1.2615112905260503E-5 +163 1.5768891131575628E-5 +164 1.8922669357890752E-5 +165 9.461334678945376E-6 +166 9.461334678945376E-6 +167 6.307556452630251E-6 +168 1.2615112905260503E-5 +169 3.1537782263151257E-6 +170 3.1537782263151257E-6 +171 9.461334678945376E-6 +172 3.1537782263151257E-6 +173 6.307556452630251E-6 +176 6.307556452630251E-6 +178 3.1537782263151257E-6 +179 3.1537782263151257E-6 +180 3.1537782263151257E-6 +181 3.1537782263151257E-6 +182 3.1537782263151257E-6 +183 3.1537782263151257E-6 +184 3.1537782263151257E-6 +185 6.307556452630251E-6 +186 3.1537782263151257E-6 +187 3.1537782263151257E-6 +188 6.307556452630251E-6 +189 3.1537782263151257E-6 +191 6.307556452630251E-6 +193 6.307556452630251E-6 +194 3.1537782263151257E-6 +195 3.1537782263151257E-6 +196 3.1537782263151257E-6 +197 3.1537782263151257E-6 +198 3.1537782263151257E-6 +200 6.307556452630251E-6 +201 3.1537782263151257E-6 +202 9.461334678945376E-6 +203 6.307556452630251E-6 +204 3.1537782263151257E-6 +205 3.1537782263151257E-6 +206 3.1537782263151257E-6 +208 3.1537782263151257E-6 +209 3.1537782263151257E-6 +211 3.1537782263151257E-6 +212 6.307556452630251E-6 +214 6.307556452630251E-6 +216 6.307556452630251E-6 +217 6.307556452630251E-6 +218 9.461334678945376E-6 +219 6.307556452630251E-6 +220 6.307556452630251E-6 +222 1.5768891131575628E-5 +223 3.1537782263151257E-6 +225 3.1537782263151257E-6 +228 6.307556452630251E-6 +229 3.1537782263151257E-6 +231 3.1537782263151257E-6 +232 6.307556452630251E-6 +233 3.1537782263151257E-6 +236 3.1537782263151257E-6 +237 3.1537782263151257E-6 +242 1.2615112905260503E-5 +243 3.1537782263151257E-6 +246 3.1537782263151257E-6 +249 3.1537782263151257E-6 +251 3.1537782263151257E-6 +252 3.1537782263151257E-6 +254 3.1537782263151257E-6 +255 6.307556452630251E-6 +257 3.1537782263151257E-6 +260 6.307556452630251E-6 +262 3.1537782263151257E-6 +263 3.1537782263151257E-6 +265 3.1537782263151257E-6 +266 3.1537782263151257E-6 +267 3.1537782263151257E-6 +268 3.1537782263151257E-6 +270 6.307556452630251E-6 +271 6.307556452630251E-6 +279 6.307556452630251E-6 +280 6.307556452630251E-6 +285 3.1537782263151257E-6 +287 3.1537782263151257E-6 +295 3.1537782263151257E-6 +297 6.307556452630251E-6 +299 6.307556452630251E-6 +300 3.1537782263151257E-6 +303 3.1537782263151257E-6 +304 3.1537782263151257E-6 +309 3.1537782263151257E-6 +314 3.1537782263151257E-6 +316 3.1537782263151257E-6 +317 9.461334678945376E-6 +318 6.307556452630251E-6 +323 3.1537782263151257E-6 +325 3.1537782263151257E-6 +328 3.1537782263151257E-6 +330 3.1537782263151257E-6 +348 3.1537782263151257E-6 +362 3.1537782263151257E-6 +364 3.1537782263151257E-6 +372 3.1537782263151257E-6 +373 3.1537782263151257E-6 +382 9.461334678945376E-6 +383 3.1537782263151257E-6 +399 3.1537782263151257E-6 +404 3.1537782263151257E-6 +411 3.1537782263151257E-6 +412 6.307556452630251E-6 +415 3.1537782263151257E-6 +421 3.1537782263151257E-6 +423 3.1537782263151257E-6 +426 3.1537782263151257E-6 +428 3.1537782263151257E-6 +429 3.1537782263151257E-6 +430 3.1537782263151257E-6 +439 3.1537782263151257E-6 +443 3.1537782263151257E-6 +446 3.1537782263151257E-6 +448 3.1537782263151257E-6 +462 3.1537782263151257E-6 +472 3.1537782263151257E-6 +491 6.307556452630251E-6 +495 3.1537782263151257E-6 +530 3.1537782263151257E-6 +533 3.1537782263151257E-6 +548 3.1537782263151257E-6 +551 3.1537782263151257E-6 +558 3.1537782263151257E-6 +559 3.1537782263151257E-6 +572 3.1537782263151257E-6 +576 3.1537782263151257E-6 +592 3.1537782263151257E-6 +608 3.1537782263151257E-6 +617 3.1537782263151257E-6 +621 3.1537782263151257E-6 +633 3.1537782263151257E-6 +660 3.1537782263151257E-6 +664 3.1537782263151257E-6 +698 3.1537782263151257E-6 +704 3.1537782263151257E-6 +721 3.1537782263151257E-6 +725 3.1537782263151257E-6 +754 3.1537782263151257E-6 +924 3.1537782263151257E-6 +932 3.1537782263151257E-6 +1061 3.1537782263151257E-6 +1086 3.1537782263151257E-6 +1264 3.1537782263151257E-6 +1274 3.1537782263151257E-6 +1453 3.1537782263151257E-6 +1995 3.1537782263151257E-6 diff --git a/comparison_results.txt b/comparison_results.txt new file mode 100644 index 0000000..e0ce27e --- /dev/null +++ b/comparison_results.txt @@ -0,0 +1,13 @@ +Comparaison des réseaux générés : + +Réseau aléatoire : +Nombre de noeuds : 317080 +Nombre de liens : 1050659 +Degré moyen : 6,6271 +Coefficient de clustering : 0,0000 + +Réseau Barabási-Albert : +Nombre de noeuds : 317080 +Nombre de liens : 1110033 +Degré moyen : 7,0016 +Coefficient de clustering : 0,0004 diff --git a/degree_distribution.txt b/degree_distribution.txt new file mode 100644 index 0000000..cc8161b --- /dev/null +++ b/degree_distribution.txt @@ -0,0 +1,200 @@ +# Degree Probability +1 0.13618329759051342 +2 0.18562507884445567 +3 0.1566071653841302 +4 0.11079222909045036 +5 0.08056011101299357 +6 0.05796013624321938 +7 0.04321937681342248 +8 0.032720449098019425 +9 0.026400277532483914 +10 0.020818090071906145 +11 0.01702409486564905 +12 0.014702914091081116 +13 0.012167276397123753 +14 0.010587233505739877 +15 0.009183802195029645 +16 0.00778352466254573 +17 0.007099154787435348 +18 0.005727261258988268 +19 0.00526680963794626 +20 0.004689668222530591 +21 0.004058912577267567 +22 0.0035038476094361045 +23 0.003264160464236155 +24 0.0029267061940204363 +25 0.0026964803834994325 +26 0.0023653336697363444 +27 0.0022391825406837393 +28 0.0021445691938942854 +29 0.002106723855178504 +30 0.001964803834994323 +31 0.0017282704680206887 +32 0.001684117572852277 +33 0.0014002775324839158 +34 0.001308817963920777 +35 0.00125520373407342 +36 0.0011258988267944998 +37 9.965939195155796E-4 +38 0.0010375930364576764 +39 9.303645767629621E-4 +40 7.569067743156302E-4 +41 7.600605525419453E-4 +42 7.632143307682603E-4 +43 8.515201211050839E-4 +44 6.52832092847231E-4 +45 5.992178629998738E-4 +46 5.26680963794626E-4 +47 5.992178629998738E-4 +48 5.172196291156806E-4 +49 3.721458307051848E-4 +50 4.162987258735966E-4 +51 4.099911694209663E-4 +52 3.8160716538413017E-4 +53 4.5099028636306295E-4 +54 3.437618266683487E-4 +55 3.6899205247886967E-4 +56 2.9014759682099154E-4 +57 2.996089314999369E-4 +58 3.090702661788823E-4 +59 2.617635927841554E-4 +60 2.1445691938942854E-4 +61 2.1445691938942854E-4 +62 3.4060804844203354E-4 +63 2.2707203229468904E-4 +64 2.1761069761574365E-4 +65 2.0184180648416804E-4 +66 1.8291913712627727E-4 +67 2.617635927841554E-4 +68 1.4192002018418066E-4 +69 1.6399646776838652E-4 +70 1.4507379841049577E-4 +71 1.2930490727892016E-4 +72 1.5138135486312602E-4 +73 1.2615112905260502E-4 +74 1.1668979437365965E-4 +75 1.0092090324208402E-4 +76 1.1668979437365965E-4 +77 5.676800807367226E-5 +78 9.77671250157689E-5 +79 9.77671250157689E-5 +80 1.0407468146839915E-4 +81 7.884445565787813E-5 +82 7.569067743156301E-5 +83 1.1353601614734452E-4 +84 7.253689920524788E-5 +85 6.938312097893276E-5 +86 4.4152895168411754E-5 +87 8.199823388419326E-5 +88 5.046045162104201E-5 +89 7.884445565787813E-5 +90 5.676800807367226E-5 +91 5.046045162104201E-5 +92 2.5230225810521005E-5 +93 3.7845338715781505E-5 +94 3.7845338715781505E-5 +95 5.046045162104201E-5 +96 3.469156048946638E-5 +97 4.4152895168411754E-5 +98 3.7845338715781505E-5 +99 3.1537782263151255E-5 +100 3.1537782263151255E-5 +101 1.7030402422101677E-4 +102 4.4152895168411754E-5 +103 6.622934275261763E-5 +104 4.4152895168411754E-5 +105 6.307556452630251E-5 +106 3.1537782263151255E-5 +107 2.838400403683613E-5 +108 2.5230225810521005E-5 +109 3.469156048946638E-5 +110 1.5768891131575628E-5 +111 4.4152895168411754E-5 +112 2.2076447584205877E-5 +113 1.0092090324208402E-4 +114 6.307556452630251E-5 +115 3.7845338715781505E-5 +116 5.046045162104201E-5 +117 1.8922669357890752E-5 +118 3.1537782263151255E-5 +119 3.469156048946638E-5 +120 2.5230225810521005E-5 +121 2.2076447584205877E-5 +122 2.5230225810521005E-5 +123 2.2076447584205877E-5 +124 1.5768891131575628E-5 +125 1.8922669357890752E-5 +126 1.8922669357890752E-5 +127 1.5768891131575628E-5 +128 1.8922669357890752E-5 +129 2.838400403683613E-5 +130 2.5230225810521005E-5 +131 1.2615112905260503E-5 +132 2.5230225810521005E-5 +133 1.2615112905260503E-5 +134 1.5768891131575628E-5 +135 9.461334678945376E-6 +136 1.8922669357890752E-5 +137 1.5768891131575628E-5 +138 1.2615112905260503E-5 +139 9.461334678945376E-6 +140 1.5768891131575628E-5 +141 6.307556452630251E-6 +142 9.461334678945376E-6 +143 6.307556452630251E-6 +144 9.461334678945376E-6 +145 1.8922669357890752E-5 +146 1.2615112905260503E-5 +147 1.2615112905260503E-5 +148 9.461334678945376E-6 +149 9.461334678945376E-6 +150 1.2615112905260503E-5 +151 9.461334678945376E-6 +152 9.461334678945376E-6 +153 1.5768891131575628E-5 +155 1.2615112905260503E-5 +156 1.5768891131575628E-5 +157 9.461334678945376E-6 +158 3.1537782263151257E-6 +159 3.1537782263151257E-6 +160 1.5768891131575628E-5 +161 9.461334678945376E-6 +162 6.307556452630251E-6 +163 9.461334678945376E-6 +164 9.461334678945376E-6 +165 3.1537782263151257E-6 +168 6.307556452630251E-6 +170 6.307556452630251E-6 +172 9.461334678945376E-6 +174 6.307556452630251E-6 +175 3.1537782263151257E-6 +176 3.1537782263151257E-6 +177 3.1537782263151257E-6 +178 3.1537782263151257E-6 +179 6.307556452630251E-6 +180 3.1537782263151257E-6 +181 3.1537782263151257E-6 +182 6.307556452630251E-6 +183 3.1537782263151257E-6 +184 3.1537782263151257E-6 +188 3.1537782263151257E-6 +190 3.1537782263151257E-6 +191 3.1537782263151257E-6 +195 3.1537782263151257E-6 +200 3.1537782263151257E-6 +201 9.461334678945376E-6 +207 3.1537782263151257E-6 +208 3.1537782263151257E-6 +215 9.461334678945376E-6 +218 6.307556452630251E-6 +219 3.1537782263151257E-6 +221 3.1537782263151257E-6 +225 3.1537782263151257E-6 +227 3.1537782263151257E-6 +230 3.1537782263151257E-6 +244 3.1537782263151257E-6 +264 3.1537782263151257E-6 +269 3.1537782263151257E-6 +290 3.1537782263151257E-6 +296 3.1537782263151257E-6 +343 3.1537782263151257E-6 diff --git a/degree_distribution_linear.png b/degree_distribution_linear.png new file mode 100644 index 0000000000000000000000000000000000000000..96ee9e53420ab947d8d4ae14e2771b8fda7f22ae GIT binary patch literal 27943 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 nu}W4apVe{^n4LOgO7q~|MqIPK#_(=7sq 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 P_aPUx3^j{1Y;XTRfu`S& literal 0 HcmV?d00001 diff --git a/degree_distribution_linear_BA.png b/degree_distribution_linear_BA.png new file mode 100644 index 0000000000000000000000000000000000000000..ad8f5777f7a05f0c6fb3e196472cc356aa9edc4c GIT binary patch literal 27971 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 literal 0 HcmV?d00001 diff --git a/degree_distribution_linear_random.png b/degree_distribution_linear_random.png new file mode 100644 index 0000000000000000000000000000000000000000..ad8f5777f7a05f0c6fb3e196472cc356aa9edc4c GIT binary patch literal 27971 zcma&O1z1(<_C34}QYi~*0YN2|ZWIZT?oDr{I|OME34<~S>5}g55*4LUxA`oY;ArPmL*r(wqmoHtu z0iSTJAE-Y;An-q<|34MNh);$GAtB9|K zr<5nbxB}la-pqxcDT{kzAP{kExJ>X(hyn^;p6Y-490GCI;1Uvk#E|&sTUy&otVYNz zOXD*$rRVP=j8;1M;A;CW$A{bJ&YcS)=e=u7i-QMA&B zVR@L@J2frsds~}s#ZwDK#UIHskxP~9vechL7}X*u9<7dl2?+@a5Ylh^xky#HnOGM7 zWV$seCB>>QKgp;qMx$Z;y0hzd=77GhtihL6+-a*1)|z0n(L6SvTn$%7>#ztY%@4oH z{!9=k+!z?U`%WzrdB^0($G5Z+zP`T28)fZ;7+3U728u1r%@^_wn%36Wjani?qN1di zef<0a0;-%h)4LUTLMV0f{TiYoBKD?*kNeu%77$p_PvQZ%iqHY2U7iA4OVgx#A$nFmU& zw%6A99G0}KtylDd1iPzTwqdqCj`v4Y3+8!wc}qszU5t&5;qjid2^tAm74e~T7or1xN!OMWm3|;Q7?kf&`=Gby@T~OhxzW7wzeEtjOD8Bm|fRINqMuC^z`%wN*5*u zhIF_6t?gl#Wq7)$a0^BPb-LmZB8KqF-KogK!$UniJ?1b=i|fT{R!WIueeKG>LP;sw zJ;TgtyW|8`MZ;LM4-O6z5)vq#XX0PKer>3mOh-oByZ$)RxxA~b(s)TidpE#Xp`3|A zz;UHL{=QPOw8=(?xZw8Slc93^_3iED?yLdf<6XJ+-KeN2m!+~4c$~%lBA1=97t9{B z3$H%MeB}JH#_F}G>w)D?NiMY(d`qc2TYF$8=&V*4j(pq7SiM9L<Zt%USewM%wow1*VXfks+qTS4R2o^c3p3QYruk?J$sf(x4Lr7EQ-(GR7-0RHYF}D zu3<|Ao%ih#ySnEXaQ{dy3kGK9Ls%_WH@6Y@eTxA}DDZ;^?Sfob2+V!k87%xl0rsa0 zy>(t#+?9%}Gl@as;^OWHs||E?bg&$Lfq^>Zc4-%0m6U9k+s_B<@_E&*Z2Xkt-q+5R zE)tY1cOHEx#Oy zlD*Z;BSr7z1&vuKHP%G&nNq0bG`YrSIOov#L2%-DSITr{h3gR8-W-sjLfoe|wo& z#Gjm3aW`Kkk}FXnNHvgvoJU?;J31=LyxMVNro+j}3C2*&juVJi4FP9w&v{+g%A&t8 zZ!e`as<&I>ruPRPn*{VNzZ-MJz?XfW`%x47mWH&p184YF-dPCH@$i%;Cnw9r3guL; zHC8&Ui~C>AGibWPzu$Oy%RlZRV#`BfK{~9fpf!s3;>C-4_W2zonZ3Qev=V`x-Q5u$ zAF|+hHn%4we;6 zey^>qh21o0-=jU>le0Wh;{oxA$>koCn5ZZRr>(yJ$1a22-Ccaq)Pu!h@~rzW@I_v} zdv{?{N>^8R{r>RqFy8zZU)m4#T%-XaFFns-MU2D=!8%im-n-`+Eop6TZ6HG}ATW5q z)I`)7AdlUVrzep?cKON`u1F-Ax$8)axu~VfT`ZmaMVG@#RuA-oIXjmJ1<5^p*!WTM zeFWa{!vfmW3(pQmi1>dRY-U1Sc=imzuba=7*%g!&UWdv(P~1&2>u?zKoG0s=$*Ex& z3A{qbd-LXl-K~49H*>EIZI5{9s;l$5?pSB6=jG*@b!YN=934Q?;I|&FRWC4f+w4+f zChc3(#h7e+vl~=ofY)jL>H9+@^25#u70;J1e#Aa*$6pzP8JUkwBPEnDg`Z6McOBOe zkg$pNhMjG|3a2AJFfz& z^~vP=Djb&2u~z0<4wcuxAgI|H_j4Guk+8Qfnp})<3vUTT@f*6tSn@uQ^5|S_djbz} zD0a6Vwcz^taKz??hls|-SBEe_9}Oh3SNRTZkEkcctZI%91qFrRqfg$+EITb$?gfv( z;8K5vOzKTIJiK*;WSFOTO~Lm<%@2g$s{&)%e-jf4UCNj6Pf~aoc~o9=dCb1I*Ea{9QGZ@6%-W}Ra0H8+g4wDyL^V6e!)YLc`PbE zyVRhdwirQ|W&(9eO;a~-RWC>&?0kIXfTD^oq9f}Ke)P~oA*3n=)AO#6%gV^KKooBl z3lU`fxrN>G)qH<8RCqn`Fm)hy8Uk)*r2yG|by6PdxS*h*Nh_NIjXes7of{uH-}bH# z*&Ps5J_L+ve)(otoV*gQI174fs@4v2aL3!or9zUk2RC zef|2c@h^V#?`J)+C?7~mL!L@XN`lNWRl*Za%2DRx;=;JR)R+6nYfYAFG9JR>*Uz7$ z;Dn~8-lU`Z($mvJ9x^!^Q0^Ep=9?y4Y!F~9jE@0!}C}^l#T#w)Mij+>?U#<}r5<2?!mR3CR4jr8s zc1MaF)srozivx|=Ar3^g}I*y64rrC9T~}Q(a-T{)mMg$^=I=I_EgV25&_d%Ttgdr*z+{GsS#diS)KD~ zs{(tvHF^Lxrgp_s6;)M3LqmFc`ql`}rq0nY%dLgJ!@W&2u6N=iV#Y?ll9M9`Blk8P z76!(U??R@~Z{ZA)EWL)yl=|J4qP?ewn}x-)G5D55Ao(3#)NapQ3-`!EPmZp1b+GQWp{6HX{2W4sb`V(*e6*1y}iA!4GlTEHN&pzke`2jfA97DISmbs zVOvaeM1<+ljTT$$rjGQC3}R-DOAzU9U%hbgBC|w6L2Y_gmUf}BLPH?MnbW72%IC99 zekQATM@WS-y$TB2-rSUV@W64*hq$@TlmRFGypE1e_QCf+e}7n|DF8jq$DJq03^2fu z$MGRN93;irj>H#}k)6Ni`RH_$IG{89nOdph)nGg_uItyY0|8)20;I8osCD%?b(% z0H*qj%+z3yz`iYoAeE(Af=|XJJzqLH_0^x`$$&*kmR6bK{M|tbQ`0$k>F!6Pp+~O> z(ZsCz{|8G$C{JC$PzAuSy)*>K*s5~%>rjQmK(!-$4;Vc_NLfLl0|36$`jq5LA_SsV zr=J)Z$!!(GZX~Orq2ca+^!e4r8`2-FfvF|42sv-ez_La-Z=|KfG`6;eUZe-kS5?TG zdxcd;03tn1AiIFTftAPpK&|JQFjn2+mHhJZa+M5KJPN+T>gwtao9ex}48W)_e0(GW ziGgyGkP;(d7WtkoAkjOx872>i941FFEHK5-5^Yh5=2Z#gX8V2^jqE&jEkIxyRDsa*Hp^B2V_JiH^s>(`I%RU&{ zXrq8#{#$ib$p@L&ud80Tz=-oI#QXC@8rr=6HuT0UB>^qr*?uWdvMQ!RivcbMhPkDR zWg(ZX%&w62sg`pD1jnllRGhDVQo=@Lt=f3k_5F&E8z4KQ7^mdErcd?tVa%FS4_+Ea zY{@KH-)PpB`aKroNHpfB5^$8~%}!6>gXaevC-6`^ z-@JbhGiU74>qpF*otbIAmCvY_UC76QL@OGl%)-JoaKIsN$b_>Q^ki#ukGK}t3UP65 z!Fu$6okB$WE`|fVjbLMAE5xr8e2YYnH#@Xfr^*?JdTnhjm^Bv2EgW3HY@16%`!ILx zx=(jj#uO68F|e>4<~nD)HLVV(BCVPUI5&fV!rq8+Oppp=ad&rz^G_hSAulH8v-YOz z^vG|0vd~x1pwGsP%)NH=rt!~Y z8JGtu*A-9Tr9d$)*uoz^eE8|prx^FW*&ja?6FYc-L_(xul(U+rM-%r=SF7a&m}rC|A^+NXh|$n)>%WzZzRR^Wd#QF%(>u)uni z0wFh@$E*jy7#SXJ!a-^=*c1IN6<46JH4av+1ZWo^jphC#MtXX2UUhl-(fN6^Y+-5o zpFpKUMCKswh`h|HIqEmPOC|?=V|8^E4K;S-zrVi`nQ_wvmx*7(ng{cVXGnB3vv)3& ztCEt^eG!qyrY0FY+)Q|6uKoT=b!PWBeC~<*${0*UrxAmVkiVOkX#gPXELwTEKu})n z&AX3nGg|98H#hg|m;U+}peU_PP5f?qcCkWkfKaR|7K?!aEyJot@17=;!@dmT@43IZGgq0sdato_{2nHRnB2f zhn@oJo=kSP;~3ZP17~s3ET)dnX8iMLo!7++7eZOINy*8Xyl?+S3m9`@z~`uezMnpG z2Dp=TkG4aWZcVkv@sW19okDrAxqukPtId3#^3jnJd00$kH#Ud;!S9#ubI3XH3^18ZK zLM*JTR*nsZ67q%gm`z0f;(E%;!M0O?C_g2Hng%c0aT)}uB_9$uT^)O*^qBFC{EIoi z!1B>NR&vCkW2~vfjBcI0ZE4R!UaVQ4O328OUrD+$MwE= zTrmm3Y#?bh?!r34$-oDWxtkB1>l`r)hcKg%Q1v5%&_$wVK_q?ydIE0=B5%k>5!Ni# z0qe)X#ZAx5E8i4($|159a3tUCh>ON_8bwbOfSsbY!SPk4MmIjO9yYzkwAROYm|F`Jf_ zhUO8Fb4Q$}qu~>)M&Y-%wl?uO^Fg(MW&aALD*c}rL2hIDtH}=kiRNkp$?^I5`Jhq} z5fMTD1i?Z(UtiMI6(lPw5s^>8s8H1lf56WlfHZ^GxnlAmpn7|IgBArJVcSeLh3)U{ zUAb~4LOS{R^XITFf%%AuiZ;gx@^f+)by$#^`=fS+L>nIS00_|1ih}TSbhrRSUz;?)I3&UK2jVEQhcWoshFdH_1h_}CF`SL&6uAP`f#q&is30k}9F|CYij z`(KL^fM_n?4l9j_J97ysfAR1XI=lWS31-m#R?FAhRj;Ej_Ut(&T2QBm13_tq;0@%* zziv$?Tc#H%y!;A%vAEyE!Md3nN56OG z`tRg^a(jv2O8!)Q)`OFaVF;o@58qu+49*U!YroU;$?f?>evADC7GeqLxw&~V`u0=6 zGhQ7b{u&D;^e&>`^#CVh#tZ0+-Mxn%{WE-d2t^xM5B?epyyI_Esg;6d7N9m&pDdb{ z2!Qg*$?(u~#h3e)QE8rVLF}L7dl}Sy%JF7X#CKQMCafOu4KC4*wVyX{!btJeOvG&2 zh-d4{T{CUjIE}Bnh5bxS0So8pm8SqwsXZSW>fgZNLkO?QG|a*+NXHFQbLX2hS|?d&A`XFpWCu|)F>4E{_RZ|R)N$8d z#&PQnPCdBcUAlj_a<@0+Uz3)U)YQOWH9~3B7D7xADisLJmim=W<84%%m~-y%YayFu zZtXMKCWi4(Vf^+EFZ>5CO+=+45Gyw=D+vDIAUxD4Tc?T-G!ho=^0SzjIv$6cfYW`O zQ7TF%nHf2EI5o9#s10M5>(0Y7^Ch@>76DoZnENp)X>xj64w&;NZ=8l8DyzA1$U?H= zY+vSnp%FM}5UwCeV_;y&32t^mcI?Sir{y)hd^Jc_bZgV!YoqFd#Fv$mibE&s>v z#D8vi(f!kAQ0jo-UB2GRUteE;yj4x#_5q9=D7T{* z>(SyE8y`q4+rBiYYO@Hb3yx2k=}SN$PO+({%v@M7rxt~O{ssHtXu_rF zu3yKdwte!X#RxtmCMJ4$d1-RAqA&OE9i)i$u@_WOk?W30apb(_{q5Vg+j6xJ1*=^% z*R(8D{bC|jY-TbD+-*h7$)7aeX&`^H@Uu|kMVN>RX6QckYtpAUPTE&cga z2~n5@P-doMEU=|A3py!7kWFL+2ufIXWdyvE%L_zphQ`2o7f z$Z@5vcx^X2F*upZ@rUAx=ps>L2qQ6z)>R6MDq!LOQUIlEIvF1w?1EZ>S7M%92qJGBxq*WD@z}s*bEjy-&d{Te$ZL}4x=@D>J6jmtqkoPLm;NyLE zqzHlA5`^Q^O?|IrRk3sjiUaEEEL!;RS8E(|MTXue|0|J%7Vr)}ODZ)quEjv_Z)=MU z6z{-T3T}VlhZy5Xx^nc|P>y*oH}XPMT-2<|g=_ z)w1mx%KcYDvrUiqvG-cn^nQ8aT>aT_NU617I=m*8i3x%|c#p@2bibC^M)lOYN7=B{ zaVv9ES>hp{H6>t4ZEF;q38kaYgC~M&vuxKMCX-LolJ6gR0vjV#iTB`6n`& z2||^su0(CVI49VTSyY^z#hl}jc=$>E z>rQkub`zj?2aH9)loNFeVp8dhbH$^71^Y>Xm=kz#k06xYqUJ`)K-Hrj8GHqULfB(e z0d3(=+3tmOKx{{Dpk@aq6GIj|9nZzn6lPedC}=0;$!488g?OfMGdJpE_7A(w>4;p* zti3nnj4Y)?HvutJTwHWOAbxuR{)rxB6S^svLXGQT?l@uYuB*@IXz^(YO>N3D1cuk- zEUb*+E)5QdeYtZAvBCkj{!ng3t$Z5|Jk1hnZ7+~Wc@JAu(d?7rRzHm=p!@jGnC^YL zNwU-JTs+BpNam&2oO7e%H>M+w&-1g>mQ>8q#ttG~w`%CVFY9LPeS;m0?VP*uQ2b2j za}vNET7(#(?B9%Q70)&lXXV@pne1u2I(X_|D1g_il7xv`w1N86Y_#kHQgYA~o>4Lx zL1O-{c|>usqe<@T=tvFfV2zcSii@uCD!iaXf*_Qot0&@heg>V2n#jw*`=_r5oCodX zz9(IDP)ksj6 zjES6cKMox4_>7vl?F)6w4l{Q<8Vql!rckoiPYwa(bATPr0uZ1pJ17&AiG5-_B;N{f z*n%kBx>Jz!lEc#MnxEMv{A z`Xe)oEPW13f#(9(L)>T)h{5x)C)Ybl$@}KLUT+X~=}1&g@s~-(cPdU2n~uB| z8jA{ggdb?3sja1}qC8F9{S~L=3iP*G5*l_T0A1_?2Rxpg>!)P{8k(>?KP{Dz zf6!lRJY5xVEkCEuF_@C+ADKuVC8_*0o@<3PrCRR2BzjYw5=36GAhmP;oIaE4d6aLZ zzqL!%>OgwAUC*%e=MpyJ*>Hzf5<6Py91Xvjd!3<1o@{jRwA6Z#Yx194TPpOSUbNMR zl9He>cB@A817*X`QwQ{Mu(0i<6!bL2Im~x>>7Cp3Qt2piu+mkv%86vx38JQ>$f4!6`~kTa-F`hP-_XnyZ6{$1#~zr44|c zV%Fg*my(*A^L0#hSC3c7fvFeyE?wP7?%(w^=EME<*G*_yxW;h3AXM}3ghs2RmVtrcg2-76jPSOb=*qsT znz)!)5$MC=d7M%iC4>=o&}hjQUYHKdbi==-Wd5sp@|Y&}<+q0i0VCWae#zw|?1ntY z$uZCVM!sx@9@8-~NnWaL1B zk=&%TrKP2vot?FHF2jV2le$A(q%^&Oljg3jcQ?7m=B~o>%ZT{LT8s@gJEd;I^>y}r zDeO;qcB`k35I0787K507&f~6H19plaU*}d0nefGUc8Q)i6zXs9-aS6D{q^lF)L~0( z4gss+VR{MDHo1?*%C@w)*F2bGHqQXR3o}R4?zW7aoWqff;HeWW?>G4ZVNA;bQwlrJ zxFZ23760n(YrMQpn{!>dz#^brP=w#eVz67}*`YDj&0QFv>lm5A+f`>%-CCKmCX6Ld z@qd@%8!s0`ioA4Lu5y@c3<3SaKQM3@&^h2j=k28|0S=ENS60>>Urnykmuu%ZPxTn@ zvWQTN?z{Wyo}7wvutRaEk2X?-qlMhc6B5QVa;iz$4gGfy&@LgiaFP4>nOWU`y_Hz# z`#OZf;XxeVp4v7vNQJQft*N3lQ)76DOkh>$TNtDqE7`6cCfGzi)<3`Wp`=28q>P`1r&aCb>BZpbpGj5u z$dCO}5dk*unZ%~1Npq?7e?>ck?1HA$lUd;bB*n0AtR*|rK%-}g^X^WmUUp1IpTJ!6 zM%0o9)@j5uMu?(VTGp71JjE9FHf|~k(cPXliS9$8WAoA0z|B>3#(yF_a?UPz- zsu-^zHNQr6@d4fx0Lj9X;jnBd^iv3 zVg>sW($uz&PNZP<_*GfdEjLD{e&z_~X&LW$j3oal(g652ZCo=ulc?xQ27 zACDgqWtWzk+6yEV3>rYQ{a(MOp{3P({1_-ZRP6hbWyp+tQ_u04+7cfRSZ+i-I(2e* zTuk*l@=8m0Knq8L-}KR=N1#+dqK2YAd<|71Sy@?q{a=YeLSRQ51UHBbjjGRFM%MCY zqmfl7tp~)qmm7kO+G5uRMo=??j3Vf*+8)F1oO`rCaty^$NZnsp;t)s8@oT0g6a(rBgw9{ESAQPsH8mN`%zLt&B2-!6urTp zN+*1~tW(>fWxsMG(kQ@T!C%Sj?hQxUwT6+yV3cvg{$&IrrZsIJ1pvWq^$T&R5n4lo zVzBvOslpKU;InFok#F`qdEuCs(x1zO`h5Ty_tH-};maamnk0ZiKqRMGH`p=@^7Esv z#t6+=zLI~i|IO&n6=uriGVi@@Ki3I0@uQ>d8gOsbbQm8%4Ft@w$4_T}doy>c9HXqB6`@(6& zwV>IaPYWnTO=o9kC^pxjuHHt~f^m?%bYU_~SN6dJY+T&Ak(%QMDv!Yh3bN{zZpV@V zIko%@W%733VgJ3ng~tKqddVp%8T{8S{jHdrV5t(9yHr>H7|WiqvL%wc4U9I-%uqA+ z7zbMby)=*efukRb%Vda}qLLE$nBT_63WEi2z_MboiM2+V`@z5lj~CquUpML0wKGox zrH!7Bt_rqIV_2ei0N_Eh9dR78Fg#KYfLmkH4#RhJc~P~`xQ89SwStbe9_e>IrdtBy(iQYdq6oQ)^%Nl3U`3e7<@cF zm==bz8k}QIkNy9lA|8gdz%hrCX)NGaD9-@e**n}G5eCf@eR<$vr#FfvyhOh0BrbH& z{9Sy1EV!9(+LaEKMlc^HfBbm<>g_lv%7K!0>eMMH0)cY&0-vI>v5^$)$54h9gz`rB zNOfxJ18ky8m-GRyh6M+E`}+1f^+7caj3(@lKAoM6hrI#TfTYd5zBHy9uG<=6?8wCn zhb&UPW|t5M4n>mlWLyidC~(bD*!|lJee0khLLCacIbS}1MtcD?ODubHADIq;O{2Pl z9h`<+x?E0czm{u`-AAh3z^F6;%Lijzo}b@uW^YTq{L#XB@T>M1S%0#{8;8E#h+5h7 zmfDsNckXA!qh9?DZJXq?U1ih%_J;bt{)iC3?t}7I4|(x%aPrpkm#g03NS&GAZN46tJ`ms&v@Ar($97dC z!9D<1VTdjpX9xstLoJ>9GZ;dYN8Fkef#p1W_J85=vCA05xm8Nj8>TuxxY-`nOUEbVAnUTK! z3OzB&|H-2vpGo-362cGzl*?p!+l(Pn}!f9z4( z+ml4fr60@}u;A5Y?e{c;9TJ@?H}>I=Wh|lyu??<+1E;iZ1;C`LnPJ#32&i=S&G6cc zFQl3=H09vnd+>~yDBleVAIqY8cz^k6OZDN;()M}R6Eu&v!Xgr;h}6*|)b6_kO#z7`bM!9xh;`&2?2KE6FD zHruPB_(m!5kRsStR5@?vUH#k@ySN z0JMutLzK?gJz7FzBQ!)!{pQ?p2V7tE1j6L(hSK0qjRnI96l)}qnKJNIipSAE8RMWPQ;60qWzyG&>!E27?zn&|GfP z`^&#FK569cDOz66dH5g#m;~?cioL>_piltqC$C%0loI`Vqigg>@o2Qjc51bDrq%nPSoK$}qr{>%Vd$N;0 z6qC?4J~W+ArZy6ki@mUR`?eH)%a^0~KW*o zk9~+wplbxDF!etS6*8(g==O}~80Wxl#ttS&$Y|gq0U;9nBbwOvUPNoU6UNgSTwr|a znv2#Q;-q9)_|U$h47Hr%s$mYCZobet4AK1c_xK9hNJtJW{mU_{L2eX02sgA;<5;`dA z(JA2Dt;3=^52hj82YjQ$g2;r+ZcBe?G)OfZuY|Nu&l6c3(DYx5O@F$h6bp$@zuPacuC8U9Q@6@lMMFULM`Kra z(AVh=x9e<%T5n!cmqoNCPksp`7)QU_QVz;uo99ExF3HJ`4)3FG1#>Z>EgaAp81ARTbE&4O4N1p#o)8!Cur1_FNk5%cvu zyI_+>MUhjBg7XzXQcje=zrV7qGn-sw-3c1nNck?-01nN^P}v6!bOB^p@bdv03X6)W zw4H1W56+o=ZPrq=wTsNq-7WDG%6ie zp`!(^qNAk54oL~za5&ViuCBx2?z5+Dr;zJC+aw+S`8CDJ!Bznr+05^BBH&3a8FtRd z&6USq{UOD=*jF$ORx1H$b_0v(^yd{Vg~>^c`}{#jnoA;fS7&tF-?fnb5#LRc<+1Vc zg`kNO6a?tVN>xaVy7=A?cA3x9^Yjru#h+4;kA@~8 zE)E483~>4tky43($=gA5b!?)AtA55xuIYS*87b2JC+Tbp#jIVvG2}3!4Z(Y7bpi{I z)NX&VBuAsj6bJ|SNo)*VS-w3fHjythF2MXZ9|wafbkA7W+y3|{3B<{k*48Pepd$-EI8sEi*L?sCQ$Bp-3xj=^i<7-0z88Hcox}st}bSMH!0fWljA?%H$;z}JyoVGL& z=@ihxS05dGuSwTj(Z_n<5AA>u?7-0a?9>_PeVwc|0DN&3`fch^Fa7+$@M^Xdh^Jc` z{jgQV=yR0yLfPKtvS$hlB}>V4pdK52_Oc{8-*6hIjAQ-X{?J zsQM;Uz~bTu`s!P-T~7Wk02BM)^4J-fR@CILU(yjA-{*dT-V*ZtdJ%M4ayx^GXrQ$T zIvacl!C+Ihzf=K!p5?OX80hE}-t1Ijz%=>J4ndxf0&|bJH&5N`g@^w;f&bHW<{rGq zQ2pKAn<-1lYx@xluMERzW)20hBacJDMw&8`^C8W+&K97s8I7Av>@ znwk=qkbtKC0Vj1}k3NK5U0qXtA-q|JaB$V5?}SS?t`)DV^gn8@bH4cT2mYC zFo(_`dx!CdpruMm-tpjt5*z%gWF{YaFJQBLpo)M77qFTxM)o_76<2v2N>1eAHpFB& zEZZHX&FF_Ln)RNQ`V@chkJ(0Gu8|}#Vwf`*$xY3&JG&}v{1&cJ^XevH)61S12XdfER&V{I@znH z_x(2JZQXP4_WaG{1dxML;t#Tyf4qGy<0UI>{;<$SMqJ!C{}bNd%5sda{G$gW&23|O zY{mh*-H?g61nr4LM2~jcb&uAF?Y-L11q~%W3Q#kw*Bd|^D`PUhziXLua}8BKt~8o{ zlBrr{_i^0MY4<&W?hV@O+DJ4VLb-O1BG5|vT~68PI$JM>hxU~GUIw${@wjNjVqUQM zs4aIqufkuW-0oX;78;@pup#`e+QN3w-?E8+jlTKe7}i8ncu)y@=9 zrY~ioD`lzm5O8zBl|t?9pqca3?R<@E{dHIw8Pkuor0Zq@F{{!cVP<%X0#)C&u{&&X zkH66W%My~ulI#0_Qpr?$cIU2d@#^D7Ie4a1#U*4Ih}!zHM;;-9JWFC?kplsVFT5dG#=K!?GjsF6ZfL>&Bn~P@zboVHWMTK#%Kx^2<2OL z4ix9>LwF?POBkWrJ5f>MoLV&h_HeN@qc|J63uQ(*h16t~P0;Vo_Mv2|(64fz{GkSh z9lf?2W)(}q9xX4Q#du)%pouKGC_$(plE(aDC+b+L5{fO)bQ5dy&q;a9zy|Enlo zaoeja7`DxqlytME`QHU>RGy`X)3<80G8$(kdVpM7L83+=qOUru*Dh7 z)cwF@M{Z%4eoc|l%*iO@JR$2_=&N86_1`kJt{un|HlgrwNmv#6E7^eGUv>RMUA_`n z=rmq{<}DS6mEn|wVQ@I67*y~jntOZjyAMjrem@jts zVfDQswu#SetC0aZ3E=ll#!|pkt5*!v?Io*Da3P6vZbY7yrMshC z{U(9LH~jC>3%g40`()>k?v z%Z~IS@`Jj{s#I3@SSbN1>wmi>0*!V5Up6X=iiO`zt*YDt5rY)yXj%K-WW=ir@C>A0 zC=My?+IFTY*x13qk0C$l`5ogu9+%|b2!9r*EaL*ZP zZ^HlczMcprE!L2W{)dlh)_{|f6Ah-I&f8!1#K@jjAG7HW#S6^fBQ2%9Cjlpub?QG| zuSdsIy#F;+f#(0;HrGr`N6w^8Fo5<354wjwd7XJ7{pHtle>HSu&_b&%6qrO_#>HJ* zCz&k$`0?{m6S_msb$1Q&+Wzit8X4tJwXBZC;r90nJh+IJ2k?%~&F%pO2BXTVs>RC8 z?Cd3I>i+=M(%eV&$^=0rgvFgu2ySjzv|7nw$z~K%$$BJUS3kHyUgo?x2Y-2|w--rPvbC1KlnHNj>IAt5QkqIpc~L3>oPU?J3I zqtpNvtV!3<Q9W!${kz5f<>7H~cEID;fo8bH^%C9NU#2U?uU2ep99MTuW` zXPcF@#*t$rhB5wuoLmWCLA=A(Wb;Fr=QcO+E}m2QZ}K9Ue6zKWI)v8o2!Q!ejs0z2 z|M}xbAUW@k3J0qOmI^SkLtj-^w-E9Lv9{^Nvf$|VEoNu2+>On5P}G>i6118KawG}&92oV6lavjegdFkPUX$h!1zyLQ4Pa^y zY>j)aO|b$TV3tSqDLR$4wg;Zhz-V?UM8OO!s8ne>-qvyWy%qfAmRL|uG0F!0W9>uZhu3(=a;&q`T>BmH@3`y`UFYnPDMU0(l#reL- zSA!K;GEfc*srr@RtOx&y9e6Kbb8hYEv{BS|e| zHC^=7IdZ_-rTj9te?WXR7M9WDMYPZZRyrxTR${HKwBOztBwZm@0P%m>HuSNPDyW&H zGo+uJ`9}Z9mV~BXGzec{{n4wFD9GlVOKLOOkS@2>dT61_ZRGnayw%Ni^M#5}i5qza z`slQQmF|76&9zG9r|>{wzVejy|p^2EHPWV%u2T+H`@ zgz3g(@DPt0!qY>~Kt1_9!OI%P>mG9I29KiWR!i~zo`&R6>fq|UD6->I)WJvC_6ePA zqT9U;7D1SHIKE@mSfU+G{_X{Y)5DIPD3co((Li_9W~R;-lQfrusK1LlS83p&%HRY~ z;NHy5%#*lpR+udO?2yzv?jPwrloOXJ>-qu9Lh}o{qRX2naMlbUwZ%ZzbhZZ%&C}B^ zY$l_A!n)XtQv*gi{3k0$2rCBM0dLd!w!r)*BkbanW3LLxSKPCUG;4vt*rBSfVMHnm zHHh=im2*!zc$@{DI9!-V0X@<=ShQ%H9vY(0AD1|6D=2i$Q`UN%p*?@*n;#*M|CtNV zKi%F+P_Cw-HdTn8dl{oB*PuD4qW_3kK*z>jkdj?S>Wa~|90@g=&v!OP1w{=$Nfy#b z(S9Kcan(EP`8I5f!rZsaW1&Cb8Fuq9_?v2CCrvHfT?(eh$jV~2+zs0VO=}i+rfN)e zS#ZdA-^Gpadznc$zRiL2dDbU@gy~K}$^`!))i1&!sU$xRx$4FB9dRqmdEf+Bxdv$} zv4niuMWkD>qTKfJX{Yl@u2!OOo*SI}H%Y{S+^*Fd%o6Rz4O&mb(^7*s-Io4PSKd$) zQ@!fgcz^BY^jlV(X8SHO;RxkbDhGNSZ2;=MLIPNR_N8LRbk}vZ2x@*kwXve@@j?85 zm7RAy)&1YcPw3c*G9p|@MnxqFCDbX&C=DyZDGk|)>`|m4S&-@C%QX-E9#4KRMu}U@J)m9 zwj{+W@6iT*ObBpB2ypO7_J%27nkKq}gAW~701A@|1y%F(qm?E+)-~8RyUTE zimwe$OdMeu86JLU_+%XG*IaW{urwgP$5P^#FJBTPuMz_{*)%YxZ{PG(%|E2quxrFN z_Qt>Wy}mpe+p1NP{+2n$?&@i+Z_dgY8n%&y4Nja`!^@j|{3$>n2ZID#v zB>i^r4|)4m=Vu##r$KRdw@ug5(9%g=mG+^2h53kx7K5Oz0AvGfb2u0tATQHdvE>3_%U?E#(hzRz|f;lGRF65N%3RpLKJlSD-$gxR3zIMT0gC1Vo` zLe1)e%azf`^OM71{&z}&z4FkPnf?MXiq2qa2EVFh`a-sIkYoK^%u++!iZ z+1W{GDD^l>NR~Xz$!Etc7dSKT>l7+!n)LK_Q*&qTrL2${iY@QI#GOo#g@r>F`$<)iL_J)Q0Oynff z1mr2f`xR>$GW#* zz4l36ssfSroQZx+vk1z_8!6bG|6nx!*)}5Kr6YZ)V7dA50(EPWqJrsYOmgHU(^b^1 z9^}f)3Cwvb6BCGVhROO>%ATU}+?7yUc|rF{FFlB^W|KFvq(+^sn_2N{;#vAGBeVVg zv^KF}B75*9{B(tR;&yUxeKTIVgY?|v5TIOL-xkNe~l+F?{y zbgk8~KeJk#wN0PEJZ!evG%57w%>*?O*@M?V(nmj@^Hg8WSFv0_PK;NSCF{Rr>&)9a zu)>vJ#{6Fs1a3#a>#27bNd7XaqO<+=Kc!FpH9P1e;pAN6F^VzdaS1Urs3%h)vEU~r2n3otelF~2!B;o=UfwL-%07?BMI49sQzJ^v`c>8 zN+a&-hm_wACSkTrSoHd5qQLT9bHeq_#;)M`$31?01>EGJ!Mpw0V(9hjPS;VI+DM-? z^I}dt%-w#L@%#Qdim6K1f_hhmTYmqO^9YqT9Q1OxqFUM__pMa-0TnWVE$LvkvAgv@n$#L25GvDJFq+N3@n>p zfVsekbhT$w`4%$Oe_oF-J^~NMF6f^ef-=F8Km9X^|qR52r5kOsT?m^u5N1Kc#k4|l&l{t z?xqqmQ0c6WE-#;_&O%8>Ma-j})bB1&tT7aNQ;@e6ZBQwI$Q~tLI!~Bk{f@f)e7=VL zzCna|+q=L!Z_l&JwufG&oV-Rq+?Y7|2;o&v!~+|ccg^2an=SH8qXvyRqSXsA2&*Fr zPR)2+e>6K=YgD>8EZL{`^7<)RM4?sBns|Fn{R!zm8o$dG9sVfs;J$MG4xLZyMqeL; z_DYuQ5V$(Zf1dC`Fg)z%ewO+2O4b?2YIPg$;SYV0+xV=S)nk187iUpLlZs=RB6fB% zlis}@|I{`nhrzvUe1x$*`-MHAL6n)ad)3}Lc|q`#8HwP_xq5gbx(KC$<9spt&MnoA zC1J_-8^_pAj*2{Q@w%fW*Ak96IR&SbuMe?9;Fy=bMqHm(WU<3V-XgI%nokmeuz)Nu zg=dISMtqK2EoLC+hi7A#jN65{zWy4+84EkJns=8?@7I;t|I_>)(inQpKBk?r&knSmfc#AjIeTaO*<)JvV~UK)NIo538vLKqLNH)&hQ^lLg8V4ifjV(5mMj7UjU zQurBfnnI>D z10}5Xswm6I(x)|E$52owJyoCl_B7movMpG73@wF)WTD5CRl_ry;O9m+VA*l9vkUc_zGB3C#nLw zgZK*tYYSEO3#*iiizMESKaC>{ZR4z)U*%&-j(=`bh8E(XhDBe@f^+S1HGgGKg;{`wboJ`h+1upA#u2Bw zx;hvi^q?@xwd5lBYIpD7GevP=q7xj%t-=F(UJyF2OZaggc zHP>aDPg|7dgwPSLTXC<(HBuZ87Rc|+r_8e_@-z7syMCmM%(;^x@?b9_+rG@sMthM} zd@Z?mbVKCNo7G)~0$xXt*rH|BIvM@!6y110RfrHRrSgN0fDBb zE_V#M6q~DqOV7!ApH9;5Z_+%NetED-lUVM4L{83CZ&Y^bw|zl;e7v{emoHOHYy<-( zx4^hpmHx9LAqg5)$AtD5a3~O*E)q)3UoC0B>F$nO{jRBLU)Ir1C}W1wB?&!eMwcW- zUDw&jwlPMHzYFjx4LMRaZhL}26_bpI7DItF0Bz~)8>qa_%5{`}taKj5jGm${FsbY6 zBWepXuvYT(Cr@sgZQ8u~_T9T8KMDmJxCunv!&{BKIgVTlpBfYQJFOzMZk>Vt=Ke+2 zNqcS{GBUceAFQ*$-ID;xEyEx|#Y17k2EVaKgx+G}Xpo!F)7>7w;rIcZf|afaKHyTlOYf8 z^g+y1fnov7-MaWDKP&g-x1c#L7QYS! z&`~NvYi4>{P)G<~DzVT*@`9Xg>R&sNUk0m7oaffOm}BmN|KpJ{=EHT$me8mu0RaIJ z;y=85N1xf>I&j>~?8rEodIyh9V*VA?)y>i@?|JYLWz+!bfnS9_2mZo z`sys$0wL89@)=&Xl{rDU+vH?*vC#EQdjESNe*FaTF2qMW7YD&_iO`bBsiRQK3e=7M=cDMI@-WwNP$+wTNY6MA*s!Xp zsfE|f!U)nN&32uf)+!iukja`A4_x*2^`OeVlQuOqZ6RLE>7wf@v2;;UaUlQHk!@l| z?BEb?idfvk#6&ZGl#((8EjJWoiH4A0Y&(^=H)@rE5vPH=`bv_xtZazcv5jkY$7SZ{ zM;AVFwSn9mfH7T7P42)+w}*m`=ikGH0-5QT@o{dM6NoVenWr>a+_2dItG7io)p^Xo zk4ANyIX|P$WSt1n(TGz4zJS&d3}YF9Mk(*nAW+Gq3L32sBJbpDUchQTF?~yvPA6(- zwXGq;;y27|RhXQ7{YA`=x7F3vot=e~yB*Ir(y@JPY)_i_m}+l=u%`3;_e{|Ls;kR2z$W9R0l|7e)n?W5i?dTG~<6$dEa?#IO) zHl>lNk>CpguJ{w{Hvp&iSo2@Y@h>X!x^Uq$E*qTK-qBI;U9%*??@dm|k`~EGTY!T| zehqq`x%d1zR3e~5nZ`Mz883Upbe5{v#>@i>3zbPpU=o=n=3-%_?&RTImR&nge=sjf z0#dB39BaIf%E5+RB>vLc#Ky+rrjY>AH#aYV@DuG_hRzstM$Tk<+7WGK^bvhgYB&PI ztJbzQw6`5X^m_$#m3-46E!i;JI73JBva|DG=0+j^2U`sP^D$n1iVD{b=~X$H&rI#X_Gvf6hab3v@RL0BQAF4hT`JNdp+)X4#w%2g)wG z(9Z`w+vbQjkcGJ?18u!~cT9Ph4Uc2)QIKTe=)}esVX?8=E{3SoAyleZ=<9`NSD`A& z0iBqfxR)9UNY$NrlV)_CxhSHKj}QIM6u$vmm1uZZRBdZ`4aklt2}xv7!fSw67>%UCJPn4R&NfvfU9REIwCrL(VeRWW%O-@Pq=Dv#0Q6v{Xa8aR<(EW?) z5e%zJqJo0P1_tjDXf8B}JTrO_8oCdGMki57h7ETK_7ye-p>G^uY>Z{4iZk06|4>8; z0iL9!qy#wF!;FkAQc^cQr2HLf!fUcI-Xl$P>wp}PS6~^2jXB!v`$(+ye{jPZGR4K; zB_U>6sjK!<%W=|am_IkKWrIizF$&9l#r!n6M}~gq$W*?@u{rpl5D>&dH%7dHBX6b% zF%RrUt>kw!8c9jX6}@DrFpACKtXy<}+cLr3Zty-eCTky#kIY8$gX+|e$h=_>5731D}8p6&${9RpLj|vsx!_^Cn z?ko02HBwgi&fUIqCrPz64dkutY`x^;ScJut>fTp=@FVwtiVwe- zcIM0{LNx@9)&MzRYNFG|Lh!tXD|V$|0UESioX8cXO9L3NdV1==%!BNVFi&^gT;(z; z@%DlT^zq|yO2w1-yk35hAg7FNb-qb7k1qGRqq9IROUfvIE2&ajzC%9HI5hxMR6Yu*dCjYs&7gBipWeHpFr%!bD z1=?X(*D0_=AqYKQEn||alXw)|NMsd3t6W3AhoPgkvJzttYzkKLF`${RIPy-LOeP;V zz_gfLSO^1i=V8fapfi(?k01;Wo6gP6UAb}vIV%o{6`0qf=+avj1!eM2(M{22sm;5T zlx(^SBFw>3FlSnWZ z_F*bivyIX?*%OPvXEde#ilhuw{9i2ZP>6O?ax1<7Nct|p#l~b zKAZvNW^?B~^am>o-|$(lZfpS|y_Rhz0{J-vOpM@g*=DuT-~=_!xbj0yoG|quY7DuY zfKp3&1qFpSgVP8}&FW-%hPJKv};FZVN>ot~Cct7>iz{~*vS4n?j*R%LFk!c#q~ z;zzAkXmoU~oA;u-dsQI3fsfk8Zv1Rs;agYAD?{iF$KZu{1lMLceOl-URioMcL1=0> zMeDqWVzC7{O8(YEb302lf2!meHrxvdnZkIsl1M}p|Fex2gdK?rb`w^w#f+;|$|}cL zGF)Zm?G9bl`6MG5RVbZ{#^CC`bosKiy?ug$ZH$o&nnsFCw0*2luecYN!N#@N31~d3Bm43%0mA;sYPklt!VFzzVYb^Vx0Sb7i_SL8BjCM6{Wojk9! zfz5~P5yZrc_V(LkWV$dcqAug&;s8V}fi)P?4cNQn<>ldUH81w;sLxC&nII}@e)L1R zK)c)R;sqBDW)cf9aRRcuKLfS{dbIbb`Nt5iPA4Kv`j(u(7d0?JpjzXI9eO2FmquD=RDP zK9P`Mo@I*sDtf1;re<_>w0{Uz8$8_HpmGkRtFwX+NQU1U19_)?4wekMs9svSwroZx zL3I)PW8pjNeo&)vX9;RcS8uHF$izh|kBj(rK*|9WPM4K41ezCeWcn*vJD{ z%eejpw5IUSLYPr&zKZaJ9SwguoJ#*S-`-CbW@8@y_w@VkKdDR1h24j*P%Pfx#JdDd M^&@fPm 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 literal 0 HcmV?d00001 diff --git a/degree_distribution_loglog_random.png b/degree_distribution_loglog_random.png new file mode 100644 index 0000000000000000000000000000000000000000..2887d6023aadae476641a6d04d5188ca9bff5cc3 GIT binary patch literal 19657 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 literal 0 HcmV?d00001 diff --git a/distance_distribution.dat b/distance_distribution.dat new file mode 100644 index 0000000..353e54c --- /dev/null +++ b/distance_distribution.dat @@ -0,0 +1,21 @@ +1 0.000022 +2 0.000273 +3 0.003323 +4 0.029051 +5 0.133444 +6 0.279545 +7 0.282477 +8 0.165846 +9 0.069503 +10 0.024423 +11 0.007762 +12 0.002824 +13 0.001075 +14 0.000327 +15 0.000081 +16 0.000019 +17 0.000004 +18 0.000001 +19 0.000000 +20 0.000000 +21 0.000000 diff --git a/distance_distribution.png b/distance_distribution.png new file mode 100644 index 0000000000000000000000000000000000000000..b65ee0ca1864821236af569bbc09e546ff970a5c GIT binary patch literal 73446 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%0A%R!@88lgGN`5tc7H-0FSjL%wn2N? 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 literal 0 HcmV?d00001 diff --git a/propagation_simulation_2.png b/propagation_simulation_2.png new file mode 100644 index 0000000000000000000000000000000000000000..eee56a31e553cea793986a39c8743012adf8a716 GIT binary patch literal 25069 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

JR*{j?|LRy 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 nu;Hm zR+_aNmL0hS^QSzS>o18{yR~j<=0=Omutc?0?Kya_4LJ~a*dkDKX5Aceu#a`>ctR5- zZx5-XOJK0;>P=-jyfF_kG)tpJSD~NW#qlCd?~yfn*6V)phF^23p01UIYlEj4Qj8Mq ze!;xCt}4!Z(U5-s{eNB6LVp(MTd@~UXu@5c!zK_=EaQBsNQ_y}t*RFcU6pL!8QbD` zczpb3^iKoS0Klp5T%r;QyP7#7&DDtrakv)S$>r?wx1(2=l*PT`aJ!gK42TjHm?Gmi zix}(Z{?cxvl7EMW0+#o|-}?N7)wmU0RA=&XobtiT5DI{M8LBpwedxYPihhR49bAxP zCzy0`+V_)`o?tXWbbDY-=M-&6vi_{#$9-cCtQ=4y@m`d z(V=d=Q({k~K>5|q%&@1RT`co{za>!c*sykD+~qzHVpF-s{kIRz@nnb>Fdt4RirF%- zN;qs9R7fK>o_Vw$mVum8rAyxWLD2()%@aTSvm`R0Jt~I!4Ux}&i7DcUK?S!vUwgLK zD7dSuToWMjEePn|1dmwQV=x)x74Zy)eH2GoLBHms`Zs+CTH_gB;a=kjR^t{HUE_ZB z(G(<@zb9(_Piy~uWE-1{c9RR)t3%PuV^s_q3CHO@R57+L3y7!CB0dg?oZwB4$lBM1 zZhD>(GPu_Toe<|L=JeGS4f?rPeQe!2nlNYCt z?gGZTf(26GtAcj5bY0Ye@RJ$^7)qiJvpU0Z8JQ)+DEJDK?eJdlsaFBPYSf0k8h@P4-f%Y9^o# zu26{#EO1VfnpiMNNh8!eq!*~6V(?>%?t4uVDWsdENO}|3=&fnay8!(-I$x@dXoQ<= zE`x0Rlac&xjLj|tIk|CV(A>;as+|kn>QIzIKHf(zI?Q(F6six3p8@-&T^$vhno^-A z3l2_c1T*3TQj>r3QKA=O>U2Fxulrf29$lSiKLTm&G|Ej9k9lMI;5p5A%>!JcrMLjR z!+9340bI)m!*s^ua^?Z{`Qw@r`)eWBuwo$9yG|8Q+s%S`-fP-M-BRe!7r!9$1Ud)Byn)kfO z1mR2gdHbf&6bHCd^Y;At&VS9nE@!4d^1}%9Ww9z(>XzbVjaqCX#|r@d{7$1and=9v z{U$%Y{|lu0|7HSTjP_ha<(_R$G@qjdF#yIuFfO2*MWj9am9EWfL_~OD7!;M}hQxqHDplIW*_bME5V=p9ZABjX=^;qC?yOdmGDs4tqqM9yU

l~T!1Cn* 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 literal 0 HcmV?d00001 diff --git a/propagation_simulation_3.png b/propagation_simulation_3.png new file mode 100644 index 0000000000000000000000000000000000000000..c6be5c473e1f8aecbff18dbd998e8822190e5487 GIT binary patch literal 19982 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 literal 0 HcmV?d00001 diff --git a/random_degree_distribution.txt b/random_degree_distribution.txt new file mode 100644 index 0000000..3f26233 --- /dev/null +++ b/random_degree_distribution.txt @@ -0,0 +1,52 @@ +# Degree Probability +0 0.008549892771540306 +1 0.03432572221521383 +2 0.07318342374164248 +3 0.10718115302131954 +4 0.12391194651192128 +5 0.12334426643118455 +6 0.1099028636306295 +7 0.09219439888987006 +8 0.07411063454017913 +9 0.05878011858206131 +10 0.04475526680963795 +11 0.03501639964677684 +12 0.027311719439888988 +13 0.020414406458937807 +14 0.0158887347041756 +15 0.011769900340608049 +16 0.009243723981329633 +17 0.006872082755140658 +18 0.005099659391951558 +19 0.004323829948278037 +20 0.00326731424246247 +21 0.002485177242336319 +22 0.0018260375930364576 +23 0.0014696606534628485 +24 0.0010848997098524033 +25 8.578276775577142E-4 +26 6.2760186703671E-4 +27 5.392960766998864E-4 +28 3.3745427021571845E-4 +29 3.059164879525672E-4 +30 2.1761069761574365E-4 +31 1.7976535889996216E-4 +32 1.3876624195786552E-4 +33 1.1353601614734452E-4 +34 7.884445565787813E-5 +35 5.9921786299987385E-5 +36 7.253689920524788E-5 +37 2.5230225810521005E-5 +38 2.838400403683613E-5 +39 2.838400403683613E-5 +40 1.5768891131575628E-5 +41 9.461334678945376E-6 +42 1.8922669357890752E-5 +43 6.307556452630251E-6 +44 6.307556452630251E-6 +45 3.1537782263151257E-6 +46 3.1537782263151257E-6 +47 3.1537782263151257E-6 +49 3.1537782263151257E-6 +51 3.1537782263151257E-6 +56 3.1537782263151257E-6 diff --git a/scenario1_no_control.dat b/scenario1_no_control.dat new file mode 100644 index 0000000..0a3e0f3 --- /dev/null +++ b/scenario1_no_control.dat @@ -0,0 +1,90 @@ +1 3.1537782263151257E-6 +2 1.2615112905260503E-5 +3 6.622934275261763E-5 +4 4.289138387788571E-4 +5 0.006925696984988016 +6 0.07021887220890627 +7 0.335908918884824 +8 0.5909455027122493 +9 0.6342121861990665 +10 0.6509272107985367 +11 0.6495017030402422 +12 0.6512804339598839 +13 0.6532515453513309 +14 0.6512173583953577 +15 0.6536363062949413 +16 0.6519332660527312 +17 0.6528415541819099 +18 0.6522013372019679 +19 0.6533051595811783 +20 0.6523306421092468 +21 0.6540494512425886 +22 0.6517156553551154 +23 0.6530843951053362 +24 0.6518828056011101 +25 0.6524662545729785 +26 0.6527280181657625 +27 0.6514160464236155 +28 0.6521193389680837 +29 0.6521666456414785 +30 0.6535038476094361 +31 0.65254194525041 +32 0.6515895042260629 +33 0.6535763845086413 +34 0.6534313107102309 +35 0.6521477229721206 +36 0.6533871578150624 +37 0.6534880787183045 +38 0.6522959505487574 +39 0.6529393213069257 +40 0.6512552037340734 +41 0.6532956982464994 +42 0.6531758546738994 +43 0.653232622681973 +44 0.6520878011858207 +45 0.6537876876498044 +46 0.6532452377948783 +47 0.6521445691938943 +48 0.6520688785164627 +49 0.6528447079601363 +50 0.6517282704680207 +51 0.6526491737101047 +52 0.6519774189478996 +53 0.6523243345527943 +54 0.6511195912703419 +55 0.6524094865649047 +56 0.6520026491737101 +57 0.6528384004036836 +58 0.653352466254573 +59 0.6516557335688155 +60 0.6524631007947521 +61 0.6527027879399521 +62 0.6517566544720576 +63 0.6527753248391573 +64 0.6529046297464363 +65 0.6532168537908414 +66 0.6522076447584206 +67 0.6519364198309575 +68 0.6526712501576889 +69 0.6532042386779362 +70 0.6523684874479626 +71 0.65236217989151 +72 0.6518544215970733 +73 0.6532515453513309 +74 0.6530087044279046 +75 0.6522864892140785 +76 0.6516841175728523 +77 0.6538034565409361 +78 0.6515390437744418 +79 0.6538570707707834 +80 0.6525167150245995 +81 0.6537971489844834 +82 0.6520909549640469 +83 0.6534439258231362 +84 0.6514728144316891 +85 0.651441276649426 +86 0.6524946385770153 +87 0.6527343257222152 +88 0.6526365585971995 +89 0.652021571843068 +90 0.6523968714519995 diff --git a/scenario2_random_immunization.dat b/scenario2_random_immunization.dat new file mode 100644 index 0000000..963f27e --- /dev/null +++ b/scenario2_random_immunization.dat @@ -0,0 +1,90 @@ +1 5.199045455254416E-6 +2 7.798568182881623E-5 +3 3.535350909573002E-4 +4 0.0021887981366621088 +5 0.018550194184347755 +6 0.10469837737791342 +7 0.30118070322288826 +8 0.44459637210608133 +9 0.4849669600661319 +10 0.49787618993152855 +11 0.500808451568292 +12 0.5023525680685026 +13 0.5012451713865335 +14 0.5031948134322538 +15 0.5018950520684402 +16 0.5042658167960362 +17 0.5012711666138097 +18 0.5020874167502847 +19 0.5047389299324644 +20 0.501115195250152 +21 0.5047233327960986 +22 0.5029816525685884 +23 0.5034599647504718 +24 0.5041982292051179 +25 0.502482544204884 +26 0.503423571432285 +27 0.5034755618868376 +28 0.5017546778411484 +29 0.5041774330232969 +30 0.5026125203412654 +31 0.5037615093868766 +32 0.5028984678413043 +33 0.5043074091596783 +34 0.5014375360683778 +35 0.5057267485689627 +36 0.502830880250386 +37 0.5028048850231097 +38 0.5043282053414992 +39 0.501910649204806 +40 0.5038134998414291 +41 0.5034807609322929 +42 0.5021342081593819 +43 0.5056175686144024 +44 0.5010060152955917 +45 0.5029244630685806 +46 0.5024045585230552 +47 0.5015987064774907 +48 0.5031584201140671 +49 0.5022589852503081 +50 0.5031272258413355 +51 0.5035379504323007 +52 0.5016506969320432 +53 0.502810084068565 +54 0.5029712544776779 +55 0.504260617750581 +56 0.5018898530229849 +57 0.5040942482960129 +58 0.5032260077049854 +59 0.5042034282505732 +60 0.502196596704845 +61 0.5025709279776233 +62 0.5033767800231878 +63 0.5032156096140749 +64 0.5047129347051881 +65 0.501869056841164 +66 0.5020354262957321 +67 0.5035743437504874 +68 0.503423571432285 +69 0.5038186988868844 +70 0.5016506969320432 +71 0.504588157614262 +72 0.5029036668867596 +73 0.5027320983867362 +74 0.5027320983867362 +75 0.5022537862048528 +76 0.5033091924322695 +77 0.5040058645232736 +78 0.5037043198868688 +79 0.5027580936140125 +80 0.504525769068799 +81 0.5032520029322617 +82 0.5046869394779119 +83 0.5035223532959349 +84 0.5035639456595769 +85 0.5037719074777871 +86 0.5029712544776779 +87 0.5036367322959505 +88 0.5030076477958647 +89 0.5034287704777403 +90 0.5034651637959271 diff --git a/scenario3_selective_immunization.dat b/scenario3_selective_immunization.dat new file mode 100644 index 0000000..cb53650 --- /dev/null +++ b/scenario3_selective_immunization.dat @@ -0,0 +1,90 @@ +1 3.741646773577987E-6 +2 1.1224940320733961E-5 +3 1.8708233867889936E-5 +4 2.619152741504591E-5 +5 9.354116933944968E-5 +6 1.3095763707522955E-4 +7 2.282404531882572E-4 +8 5.238305483009182E-4 +9 0.0016762577545629382 +10 0.004953940328217255 +11 0.014083558455747543 +12 0.038187246971136936 +13 0.08314313295567645 +14 0.14027433754143873 +15 0.19261249261024763 +16 0.2273424579625985 +17 0.24708338633999596 +18 0.2594495289266712 +19 0.26490110827577434 +20 0.26769237676886354 +21 0.2697764740217464 +22 0.2704462287942169 +23 0.2712469412037626 +24 0.2718717962149501 +25 0.27125442449730974 +26 0.27251535946000555 +27 0.270569703137745 +28 0.27085780993931047 +29 0.2706071196054808 +30 0.2704499704409905 +31 0.271651039055309 +32 0.2714527317763094 +33 0.27114217509410243 +34 0.2719428875036481 +35 0.27246297640517547 +36 0.2705884113716129 +37 0.27220480277779857 +38 0.27152756471178097 +39 0.2718456046875351 +40 0.2721486780761949 +41 0.2713666739005171 +42 0.27151259812468664 +43 0.27091767628768776 +44 0.27177825504561065 +45 0.2708241351183483 +46 0.27096631769574425 +47 0.27175206351819564 +48 0.271314290845687 +49 0.27164729740853544 +50 0.27181941316012004 +51 0.27113469180055527 +52 0.2720476536133083 +53 0.2713704155472907 +54 0.2721823528971571 +55 0.27094386781510277 +56 0.27183812139398794 +57 0.2715238230650074 +58 0.27047242032163193 +59 0.2705996363119336 +60 0.27193540421010093 +61 0.2717558051649692 +62 0.2704537120877641 +63 0.2717632884585164 +64 0.2711908165021589 +65 0.2713928654279321 +66 0.27223099430521364 +67 0.27201397879234607 +68 0.27140783201502644 +69 0.2719578540907424 +70 0.2709401261683292 +71 0.27153130635855455 +72 0.2720102371455725 +73 0.2721973194842514 +74 0.27103366733766865 +75 0.27239188511647744 +76 0.27210003666813837 +77 0.2710636005118573 +78 0.2716585223488562 +79 0.2709925092231593 +80 0.2717445802246485 +81 0.2712656494376305 +82 0.2710636005118573 +83 0.2714302818956679 +84 0.2725677425148356 +85 0.27076426876997106 +86 0.2715874310601582 +87 0.2718942460955916 +88 0.2707867186506125 +89 0.27194662915042167 +90 0.27159491435370536 -- GitLab From 01c729c31fa9c728bfed99bf5648edbf79f4ff6b Mon Sep 17 00:00:00 2001 From: ac243219 Date: Sun, 12 Jan 2025 15:36:11 +0100 Subject: [PATCH 06/13] Suite --- src/main/java/org/example/Propagation.java | 1 + 1 file changed, 1 insertion(+) diff --git a/src/main/java/org/example/Propagation.java b/src/main/java/org/example/Propagation.java index 0619367..53e73bb 100644 --- a/src/main/java/org/example/Propagation.java +++ b/src/main/java/org/example/Propagation.java @@ -100,6 +100,7 @@ public class Propagation { + private static void saveResultsToFiles(double[][] results, String[] fileNames) { for (int i = 0; i < results.length; i++) { try (BufferedWriter writer = new BufferedWriter(new FileWriter(fileNames[i]))) { -- GitLab From fd13214ed8bbe077979d846a54cb28b8d279ae4c Mon Sep 17 00:00:00 2001 From: ac243219 Date: Sun, 12 Jan 2025 15:36:43 +0100 Subject: [PATCH 07/13] Suite --- src/main/java/org/example/Propagation.java | 2 -- 1 file changed, 2 deletions(-) diff --git a/src/main/java/org/example/Propagation.java b/src/main/java/org/example/Propagation.java index 53e73bb..87f823e 100644 --- a/src/main/java/org/example/Propagation.java +++ b/src/main/java/org/example/Propagation.java @@ -99,8 +99,6 @@ public class Propagation { - - private static void saveResultsToFiles(double[][] results, String[] fileNames) { for (int i = 0; i < results.length; i++) { try (BufferedWriter writer = new BufferedWriter(new FileWriter(fileNames[i]))) { -- GitLab From d8233dbe51e84537d78adbaf85ce9a5791c92443 Mon Sep 17 00:00:00 2001 From: ac243219 Date: Sun, 12 Jan 2025 15:37:05 +0100 Subject: [PATCH 08/13] Suite --- src/main/java/org/example/Propagation.java | 1 + 1 file changed, 1 insertion(+) diff --git a/src/main/java/org/example/Propagation.java b/src/main/java/org/example/Propagation.java index 87f823e..0619367 100644 --- a/src/main/java/org/example/Propagation.java +++ b/src/main/java/org/example/Propagation.java @@ -99,6 +99,7 @@ public class Propagation { + private static void saveResultsToFiles(double[][] results, String[] fileNames) { for (int i = 0; i < results.length; i++) { try (BufferedWriter writer = new BufferedWriter(new FileWriter(fileNames[i]))) { -- GitLab From 4bfb1863d52f9ac1566da483062a6fe0ff005166 Mon Sep 17 00:00:00 2001 From: ac243219 Date: Sun, 12 Jan 2025 15:39:13 +0100 Subject: [PATCH 09/13] Suite --- src/main/java/org/example/Propagation.java | 1 - 1 file changed, 1 deletion(-) diff --git a/src/main/java/org/example/Propagation.java b/src/main/java/org/example/Propagation.java index 0619367..87f823e 100644 --- a/src/main/java/org/example/Propagation.java +++ b/src/main/java/org/example/Propagation.java @@ -99,7 +99,6 @@ public class Propagation { - private static void saveResultsToFiles(double[][] results, String[] fileNames) { for (int i = 0; i < results.length; i++) { try (BufferedWriter writer = new BufferedWriter(new FileWriter(fileNames[i]))) { -- GitLab From 6d845fee277ce3424ea96e0e8c84373e67919374 Mon Sep 17 00:00:00 2001 From: ac243219 Date: Sun, 12 Jan 2025 16:17:00 +0100 Subject: [PATCH 10/13] Suite --- README.md | 33 +++- scenario1_no_control.dat | 176 ++++++++++---------- scenario2_random_immunization.dat | 180 ++++++++++----------- scenario3_selective_immunization.dat | 180 ++++++++++----------- src/main/java/org/example/Propagation.java | 62 +++++++ 5 files changed, 362 insertions(+), 269 deletions(-) diff --git a/README.md b/README.md index 47de9b6..9239655 100644 --- a/README.md +++ b/README.md @@ -127,4 +127,35 @@ Coefficient de clustering : 4.235788849759945E-4 -0.045984725428484516 \ No newline at end of file +"C:\Program Files\Java\jdk-23\bin\java.exe" "-javaagent:C:\Users\celia\AppData\Local\Programs\IntelliJ IDEA Community Edition\lib\idea_rt.jar=49306:C:\Users\celia\AppData\Local\Programs\IntelliJ IDEA Community Edition\bin" -Dfile.encoding=UTF-8 -Dsun.stdout.encoding=UTF-8 -Dsun.stderr.encoding=UTF-8 -classpath C:\Users\celia\IdeaProjects\TP_RI\target\classes;C:\Users\celia\.m2\repository\org\graphstream\gs-core\2.0\gs-core-2.0.jar;C:\Users\celia\.m2\repository\org\graphstream\pherd\1.0\pherd-1.0.jar;C:\Users\celia\.m2\repository\org\graphstream\mbox2\1.0\mbox2-1.0.jar;C:\Users\celia\.m2\repository\org\graphstream\gs-algo\2.0\gs-algo-2.0.jar;C:\Users\celia\.m2\repository\org\apache\commons\commons-math\2.1\commons-math-2.1.jar;C:\Users\celia\.m2\repository\org\apache\commons\commons-math3\3.4.1\commons-math3-3.4.1.jar;C:\Users\celia\.m2\repository\org\jfree\jfreechart\1.0.14\jfreechart-1.0.14.jar;C:\Users\celia\.m2\repository\org\jfree\jcommon\1.0.17\jcommon-1.0.17.jar;C:\Users\celia\.m2\repository\xml-apis\xml-apis\1.3.04\xml-apis-1.3.04.jar;C:\Users\celia\.m2\repository\com\lowagie\itext\2.1.5\itext-2.1.5.jar;C:\Users\celia\.m2\repository\bouncycastle\bcmail-jdk14\138\bcmail-jdk14-138.jar;C:\Users\celia\.m2\repository\bouncycastle\bcprov-jdk14\138\bcprov-jdk14-138.jar;C:\Users\celia\.m2\repository\org\graphstream\gs-ui-swing\2.0\gs-ui-swing-2.0.jar org.example.Propagation +Scenario 1: No Control +Scenario 2: Random Immunization +Scenario 3: Selective Immunization +Les résultats ont été sauvegardés dans les fichiers pour Gnuplot. +Degré moyen (Groupe 0 - Nœuds sélectionnés aléatoirement) : 0,000000000 +Degré moyen (Groupe 1 - Voisins immunisés) : 0,000000000 +Taux de propagation (τ) : 2.0 +Seuil épidémique réel (c_réel) : 0.04598472436222584 +Seuil épidémique théorique (c_théorique) : 0.13119762993051035 +La maladie persiste dans le réseau réel (τ > c_réel). + +Le réseau réel est plus vulnérable que le réseau aléatoire (c_réel < c_théorique). + +Analyse après immunisation aléatoire : +Taux de propagation (τ) : 2.0 +Seuil épidémique réel (c_réel) : 0.08901721301662724 +Seuil épidémique théorique (c_théorique) : 0.23306206408564414 +La maladie persiste dans le réseau réel (τ > c_réel). + +Le réseau réel est plus vulnérable que le réseau aléatoire (c_réel < c_théorique). + +Analyse après immunisation sélective : +Taux de propagation (τ) : 2.0 +Seuil épidémique réel (c_réel) : 0.5542146555509032 +Seuil épidémique théorique (c_théorique) : 0.8352912559058712 +La maladie persiste dans le réseau réel (τ > c_réel). + +Le réseau réel est plus vulnérable que le réseau aléatoire (c_réel < c_théorique). + + +Process finished with exit code 0 \ No newline at end of file diff --git a/scenario1_no_control.dat b/scenario1_no_control.dat index 0a3e0f3..88182c3 100644 --- a/scenario1_no_control.dat +++ b/scenario1_no_control.dat @@ -1,90 +1,90 @@ 1 3.1537782263151257E-6 -2 1.2615112905260503E-5 +2 6.307556452630251E-6 3 6.622934275261763E-5 -4 4.289138387788571E-4 -5 0.006925696984988016 -6 0.07021887220890627 -7 0.335908918884824 -8 0.5909455027122493 -9 0.6342121861990665 -10 0.6509272107985367 -11 0.6495017030402422 -12 0.6512804339598839 -13 0.6532515453513309 -14 0.6512173583953577 -15 0.6536363062949413 -16 0.6519332660527312 -17 0.6528415541819099 -18 0.6522013372019679 -19 0.6533051595811783 -20 0.6523306421092468 -21 0.6540494512425886 -22 0.6517156553551154 -23 0.6530843951053362 -24 0.6518828056011101 -25 0.6524662545729785 -26 0.6527280181657625 -27 0.6514160464236155 -28 0.6521193389680837 -29 0.6521666456414785 -30 0.6535038476094361 -31 0.65254194525041 -32 0.6515895042260629 -33 0.6535763845086413 -34 0.6534313107102309 -35 0.6521477229721206 -36 0.6533871578150624 -37 0.6534880787183045 -38 0.6522959505487574 -39 0.6529393213069257 -40 0.6512552037340734 -41 0.6532956982464994 -42 0.6531758546738994 -43 0.653232622681973 -44 0.6520878011858207 -45 0.6537876876498044 -46 0.6532452377948783 -47 0.6521445691938943 -48 0.6520688785164627 -49 0.6528447079601363 -50 0.6517282704680207 -51 0.6526491737101047 -52 0.6519774189478996 -53 0.6523243345527943 -54 0.6511195912703419 -55 0.6524094865649047 -56 0.6520026491737101 -57 0.6528384004036836 -58 0.653352466254573 -59 0.6516557335688155 -60 0.6524631007947521 -61 0.6527027879399521 -62 0.6517566544720576 -63 0.6527753248391573 -64 0.6529046297464363 -65 0.6532168537908414 -66 0.6522076447584206 -67 0.6519364198309575 -68 0.6526712501576889 -69 0.6532042386779362 -70 0.6523684874479626 -71 0.65236217989151 -72 0.6518544215970733 -73 0.6532515453513309 -74 0.6530087044279046 -75 0.6522864892140785 -76 0.6516841175728523 -77 0.6538034565409361 -78 0.6515390437744418 -79 0.6538570707707834 -80 0.6525167150245995 -81 0.6537971489844834 -82 0.6520909549640469 -83 0.6534439258231362 -84 0.6514728144316891 -85 0.651441276649426 -86 0.6524946385770153 -87 0.6527343257222152 -88 0.6526365585971995 -89 0.652021571843068 -90 0.6523968714519995 +4 3.6268449602623945E-4 +5 0.0038223792102939323 +6 0.04695029645515327 +7 0.27714141541566795 +8 0.5657720449098019 +9 0.6284533871578151 +10 0.6487101047054371 +11 0.6492746310079475 +12 0.6528541692948152 +13 0.6515169673268576 +14 0.6521067238551785 +15 0.653182162230352 +16 0.6516746562381733 +17 0.650990286363063 +18 0.6534975400529834 +19 0.6515138135486312 +20 0.6518638829317522 +21 0.6506086791976788 +22 0.6537876876498044 +23 0.6516683486817207 +24 0.6535038476094361 +25 0.6526239434842942 +26 0.6512930490727892 +27 0.6524662545729785 +28 0.6510439005929103 +29 0.6541440645893781 +30 0.6521950296455153 +31 0.6518891131575627 +32 0.6537719187586729 +33 0.65218241453261 +34 0.6528636306294942 +35 0.6538318405449729 +36 0.6525797905891257 +37 0.6516494260123629 +38 0.6538917623312729 +39 0.6515169673268576 +40 0.6520751860729154 +41 0.651491737101047 +42 0.6521004162987258 +43 0.6534281569320045 +44 0.652251797653589 +45 0.6523211807745679 +46 0.6529897817585467 +47 0.6515895042260629 +48 0.6533871578150624 +49 0.6509682099154788 +50 0.6532483915731045 +51 0.65260186703671 +52 0.6527090954964047 +53 0.6534470796013624 +54 0.6526460199318784 +55 0.6521666456414785 +56 0.653232622681973 +57 0.6527753248391573 +58 0.6514980446574997 +59 0.6536173836255834 +60 0.6520562634035575 +61 0.6547558975652832 +62 0.6525198688028258 +63 0.6530055506496784 +64 0.65266178882301 +65 0.652311719439889 +66 0.6529393213069257 +67 0.6523968714519995 +68 0.6512142046171313 +69 0.6544152895168411 +70 0.6518165762583575 +71 0.6527154030528574 +72 0.6533903115932888 +73 0.6526586350447836 +74 0.6506969849880156 +75 0.6539106850006308 +76 0.6524284092342626 +77 0.6524694083512047 +78 0.652762709726252 +79 0.6517787309196418 +80 0.6527059417181784 +81 0.651952188722089 +82 0.6533871578150624 +83 0.6520878011858207 +84 0.6525514065850889 +85 0.6534660022707203 +86 0.6510092090324209 +87 0.6524946385770153 +88 0.6537782263151255 +89 0.6529897817585467 +90 0.6519174971615996 diff --git a/scenario2_random_immunization.dat b/scenario2_random_immunization.dat index 963f27e..9940309 100644 --- a/scenario2_random_immunization.dat +++ b/scenario2_random_immunization.dat @@ -1,90 +1,90 @@ -1 5.199045455254416E-6 -2 7.798568182881623E-5 -3 3.535350909573002E-4 -4 0.0021887981366621088 -5 0.018550194184347755 -6 0.10469837737791342 -7 0.30118070322288826 -8 0.44459637210608133 -9 0.4849669600661319 -10 0.49787618993152855 -11 0.500808451568292 -12 0.5023525680685026 -13 0.5012451713865335 -14 0.5031948134322538 -15 0.5018950520684402 -16 0.5042658167960362 -17 0.5012711666138097 -18 0.5020874167502847 -19 0.5047389299324644 -20 0.501115195250152 -21 0.5047233327960986 -22 0.5029816525685884 -23 0.5034599647504718 -24 0.5041982292051179 -25 0.502482544204884 -26 0.503423571432285 -27 0.5034755618868376 -28 0.5017546778411484 -29 0.5041774330232969 -30 0.5026125203412654 -31 0.5037615093868766 -32 0.5028984678413043 -33 0.5043074091596783 -34 0.5014375360683778 -35 0.5057267485689627 -36 0.502830880250386 -37 0.5028048850231097 -38 0.5043282053414992 -39 0.501910649204806 -40 0.5038134998414291 -41 0.5034807609322929 -42 0.5021342081593819 -43 0.5056175686144024 -44 0.5010060152955917 -45 0.5029244630685806 -46 0.5024045585230552 -47 0.5015987064774907 -48 0.5031584201140671 -49 0.5022589852503081 -50 0.5031272258413355 -51 0.5035379504323007 -52 0.5016506969320432 -53 0.502810084068565 -54 0.5029712544776779 -55 0.504260617750581 -56 0.5018898530229849 -57 0.5040942482960129 -58 0.5032260077049854 -59 0.5042034282505732 -60 0.502196596704845 -61 0.5025709279776233 -62 0.5033767800231878 -63 0.5032156096140749 -64 0.5047129347051881 -65 0.501869056841164 -66 0.5020354262957321 -67 0.5035743437504874 -68 0.503423571432285 -69 0.5038186988868844 -70 0.5016506969320432 -71 0.504588157614262 -72 0.5029036668867596 -73 0.5027320983867362 -74 0.5027320983867362 -75 0.5022537862048528 -76 0.5033091924322695 -77 0.5040058645232736 -78 0.5037043198868688 -79 0.5027580936140125 -80 0.504525769068799 -81 0.5032520029322617 -82 0.5046869394779119 -83 0.5035223532959349 -84 0.5035639456595769 -85 0.5037719074777871 -86 0.5029712544776779 -87 0.5036367322959505 -88 0.5030076477958647 -89 0.5034287704777403 -90 0.5034651637959271 +1 5.195317979436931E-6 +2 1.0390635958873862E-5 +3 3.636722585605852E-5 +4 8.31250876709909E-5 +5 4.1562543835495453E-4 +6 0.0026859793953688937 +7 0.018126464430255455 +8 0.10599487741647227 +9 0.30792130132324746 +10 0.4445685548183977 +11 0.4844218390386584 +12 0.4955969680124272 +13 0.5009481455312472 +14 0.5020911154867234 +15 0.5017222479101834 +16 0.5034574841153153 +17 0.5025534987868933 +18 0.5033847496636031 +19 0.5018988887214842 +20 0.5031561556725079 +21 0.5028963897735361 +22 0.5018521308596693 +23 0.5028444365937417 +24 0.5023716626576129 +25 0.5029951008151454 +26 0.5033639683916854 +27 0.5037692031940815 +28 0.5018053729978543 +29 0.5032133041702818 +30 0.5042523677661691 +31 0.5026781864183998 +32 0.5015767790067591 +33 0.5033068198939116 +34 0.5031769369444257 +35 0.5026574051464819 +36 0.5037172500142871 +37 0.5015300211449442 +38 0.5030626399488781 +39 0.5029015850915155 +40 0.5018053729978543 +41 0.5032652573500761 +42 0.5012754505639517 +43 0.5023768579755924 +44 0.5015715836887796 +45 0.5034211168894592 +46 0.502621037920626 +47 0.5019768184911757 +48 0.502085920168744 +49 0.5027717021420296 +50 0.5026989676903175 +51 0.501633927504533 +52 0.5035406092029863 +53 0.5020131857170318 +54 0.5031405697185696 +55 0.5019144746754225 +56 0.5039926018671973 +57 0.5031717416264463 +58 0.5022469750261065 +59 0.5039874065492178 +60 0.5015508024168619 +61 0.5030990071747341 +62 0.5036237342906572 +63 0.5020911154867234 +64 0.5038575235997319 +65 0.5018936934035048 +66 0.501254669292034 +67 0.5029379523173716 +68 0.5016962713202862 +69 0.5008546298076174 +70 0.5038263516918553 +71 0.5025067409250783 +72 0.5033016245759322 +73 0.5020495529428879 +74 0.5029119757274744 +75 0.5013845522415199 +76 0.5046576025685652 +77 0.5018988887214842 +78 0.5020599435788468 +79 0.5035977577007601 +80 0.5026729911004203 +81 0.5035042419771302 +82 0.5006312311345016 +83 0.5033535777557265 +84 0.5026574051464819 +85 0.5027301395981941 +86 0.5027820927779885 +87 0.5010208799829594 +88 0.503514632613089 +89 0.5023301001137774 +90 0.5042367818122309 diff --git a/scenario3_selective_immunization.dat b/scenario3_selective_immunization.dat index cb53650..1c2cb7d 100644 --- a/scenario3_selective_immunization.dat +++ b/scenario3_selective_immunization.dat @@ -1,90 +1,90 @@ -1 3.741646773577987E-6 -2 1.1224940320733961E-5 -3 1.8708233867889936E-5 -4 2.619152741504591E-5 -5 9.354116933944968E-5 -6 1.3095763707522955E-4 -7 2.282404531882572E-4 -8 5.238305483009182E-4 -9 0.0016762577545629382 -10 0.004953940328217255 -11 0.014083558455747543 -12 0.038187246971136936 -13 0.08314313295567645 -14 0.14027433754143873 -15 0.19261249261024763 -16 0.2273424579625985 -17 0.24708338633999596 -18 0.2594495289266712 -19 0.26490110827577434 -20 0.26769237676886354 -21 0.2697764740217464 -22 0.2704462287942169 -23 0.2712469412037626 -24 0.2718717962149501 -25 0.27125442449730974 -26 0.27251535946000555 -27 0.270569703137745 -28 0.27085780993931047 -29 0.2706071196054808 -30 0.2704499704409905 -31 0.271651039055309 -32 0.2714527317763094 -33 0.27114217509410243 -34 0.2719428875036481 -35 0.27246297640517547 -36 0.2705884113716129 -37 0.27220480277779857 -38 0.27152756471178097 -39 0.2718456046875351 -40 0.2721486780761949 -41 0.2713666739005171 -42 0.27151259812468664 -43 0.27091767628768776 -44 0.27177825504561065 -45 0.2708241351183483 -46 0.27096631769574425 -47 0.27175206351819564 -48 0.271314290845687 -49 0.27164729740853544 -50 0.27181941316012004 -51 0.27113469180055527 -52 0.2720476536133083 -53 0.2713704155472907 -54 0.2721823528971571 -55 0.27094386781510277 -56 0.27183812139398794 -57 0.2715238230650074 -58 0.27047242032163193 -59 0.2705996363119336 -60 0.27193540421010093 -61 0.2717558051649692 -62 0.2704537120877641 -63 0.2717632884585164 -64 0.2711908165021589 -65 0.2713928654279321 -66 0.27223099430521364 -67 0.27201397879234607 -68 0.27140783201502644 -69 0.2719578540907424 -70 0.2709401261683292 -71 0.27153130635855455 -72 0.2720102371455725 -73 0.2721973194842514 -74 0.27103366733766865 -75 0.27239188511647744 -76 0.27210003666813837 -77 0.2710636005118573 -78 0.2716585223488562 -79 0.2709925092231593 -80 0.2717445802246485 -81 0.2712656494376305 -82 0.2710636005118573 -83 0.2714302818956679 -84 0.2725677425148356 -85 0.27076426876997106 -86 0.2715874310601582 -87 0.2718942460955916 -88 0.2707867186506125 -89 0.27194662915042167 -90 0.27159491435370536 +1 3.741114852225963E-6 +2 3.741114852225963E-6 +3 2.9928918817807705E-5 +4 7.856341189674523E-5 +5 2.656191545080434E-4 +6 6.734006734006734E-4 +7 0.0011747100635989525 +8 0.0029405162738496073 +9 0.008383838383838384 +10 0.02288065843621399 +11 0.055331088664422 +12 0.10818930041152264 +13 0.1618294051627385 +14 0.20554059109614664 +15 0.233658810325477 +16 0.2511821922933034 +17 0.2611934156378601 +18 0.2668125701459035 +19 0.2697867564534231 +20 0.2715750093527871 +21 0.2726075570520015 +22 0.2728582117471006 +23 0.2731238309016087 +24 0.27268612046389823 +25 0.2728956228956229 +26 0.2733744855967078 +27 0.27363262252151144 +28 0.2722745978301534 +29 0.2725215114104003 +30 0.2731163486719042 +31 0.2728357650579873 +32 0.27353909465020576 +33 0.2728956228956229 +34 0.2740815563037785 +35 0.27255892255892256 +36 0.27353161242050134 +37 0.2731387953610176 +38 0.2736849981294426 +39 0.2735054246165357 +40 0.2736438458660681 +41 0.2729292929292929 +42 0.27335203890759446 +43 0.27361017583239805 +44 0.2731013842124953 +45 0.27330714552936775 +46 0.2728245417134306 +47 0.2726412270856715 +48 0.2723082678638234 +49 0.2740029928918818 +50 0.2732809577254022 +51 0.2733408155630378 +52 0.2740965207631874 +53 0.2733857089412645 +54 0.2727048260381594 +55 0.2731088664421998 +56 0.2728208005985784 +57 0.2725551814440703 +58 0.2732136176580621 +59 0.2740029928918818 +60 0.2720351664796109 +61 0.2729517396184063 +62 0.2734867190422746 +63 0.2726187803965582 +64 0.273460531238309 +65 0.27335203890759446 +66 0.2726225215114104 +67 0.27307893752338197 +68 0.27238683127572016 +69 0.27305649083426864 +70 0.27421623643845866 +71 0.2711934156378601 +72 0.2743396932285821 +73 0.2728731762065095 +74 0.2729255518144407 +75 0.27368125701459034 +76 0.2725215114104003 +77 0.27274597830153385 +78 0.27352413019079685 +79 0.2728432472876917 +80 0.27273101384212495 +81 0.2739618406285073 +82 0.27186681631126075 +83 0.273146277590722 +84 0.2742798353909465 +85 0.2728918817807707 +86 0.2732884399551066 +87 0.2731687242798354 +88 0.2734343434343434 +89 0.27287691732136177 +90 0.2743135054246165 diff --git a/src/main/java/org/example/Propagation.java b/src/main/java/org/example/Propagation.java index 87f823e..955620b 100644 --- a/src/main/java/org/example/Propagation.java +++ b/src/main/java/org/example/Propagation.java @@ -53,6 +53,68 @@ public class Propagation { // Calculer les degrés moyens des groupes 0 et 1 calculateAverageDegreeSelectiveImmunization(graph); epidemicThresholdAnalysis(graph,infectionProbability,recoveryProbability); + +// Réseau modifié après immunisation aléatoire + System.out.println("Analyse après immunisation aléatoire :"); + Graph randomImmunizedGraph = cloneGraph(graph); + applyRandomImmunization(randomImmunizedGraph, 0.5); // 50% des nœuds immunisés + epidemicThresholdAnalysis(randomImmunizedGraph, infectionProbability, recoveryProbability); + + // Réseau modifié après immunisation sélective + System.out.println("Analyse après immunisation sélective :"); + Graph selectiveImmunizedGraph = cloneGraph(graph); + applySelectiveImmunization(selectiveImmunizedGraph, 0.5); // 50% des voisins des hubs immunisés + epidemicThresholdAnalysis(selectiveImmunizedGraph, infectionProbability, recoveryProbability); + + + } + + private static Graph cloneGraph(Graph original) { + Graph clone = new SingleGraph("Clone"); + + // Ajouter tous les nœuds au clone + original.nodes().toList().forEach(node -> clone.addNode(node.getId())); + + // Ajouter toutes les arêtes au clone + original.edges().toList().forEach(edge -> { + String sourceId = edge.getSourceNode().getId(); + String targetId = edge.getTargetNode().getId(); + String edgeId = sourceId + "-" + targetId; + if (clone.getEdge(edgeId) == null) { + clone.addEdge(edgeId, sourceId, targetId); + } + }); + + return clone; + } + + private static void applyRandomImmunization(Graph graph, double fraction) { + Random random = new Random(); + int immunizedCount = (int) (fraction * graph.getNodeCount()); + for (int i = 0; i < immunizedCount; i++) { + Node node = graph.getNode(random.nextInt(graph.getNodeCount())); + if (node != null) { + graph.removeNode(node); + } + } + } + private static void applySelectiveImmunization(Graph graph, double fraction) { + Random random = new Random(); + + // Créer une liste des nœuds pour éviter les modifications concurrentes du graphe + var nodes = graph.nodes().toList(); + + for (Node node : nodes) { + if (node != null && random.nextDouble() < fraction) { + // Parcourir les voisins et les supprimer + var neighbors = node.neighborNodes().toList(); + for (Node neighbor : neighbors) { + if (graph.getNode(neighbor.getId()) != null) { // Vérifier que le voisin existe toujours + graph.removeNode(neighbor.getId()); + } + } + } + } } -- GitLab From 40b0734e7d5c18a653aad532254702f2d1a1f0f4 Mon Sep 17 00:00:00 2001 From: ac243219 Date: Sun, 12 Jan 2025 16:18:05 +0100 Subject: [PATCH 11/13] Suite --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 9239655..6c20201 100644 --- a/README.md +++ b/README.md @@ -158,4 +158,5 @@ La maladie persiste dans le réseau réel (τ > c_réel). Le réseau réel est plus vulnérable que le réseau aléatoire (c_réel < c_théorique). + Process finished with exit code 0 \ No newline at end of file -- GitLab From 5f73451d56bd72755084b217b5136118194f5bad Mon Sep 17 00:00:00 2001 From: ac243219 Date: Sun, 12 Jan 2025 23:49:34 +0100 Subject: [PATCH 12/13] Suite --- README.md | 144 ++++- barabasi_degree_distribution.txt | 552 +++++++++--------- comparison_results.txt | 8 +- degree_distribution_linear.png | Bin 27943 -> 0 bytes degree_distribution_linear_BA.png | Bin 27971 -> 0 bytes degree_distribution_linear_BddddA.png | Bin 26477 -> 0 bytes degree_distribution_loglog_ba.png | Bin 19902 -> 21351 bytes degree_distribution_loglog_random.png | Bin 19657 -> 19690 bytes distance_distribution.dat | 31 +- distance_distribution.txt | 22 - random_degree_distribution.txt | 92 ++- .../java/org/example/DBLPNetworkAnalysis.java | 52 +- src/main/java/org/example/Propagation.java | 3 +- 13 files changed, 511 insertions(+), 393 deletions(-) delete mode 100644 degree_distribution_linear.png delete mode 100644 degree_distribution_linear_BA.png delete mode 100644 degree_distribution_linear_BddddA.png delete mode 100644 distance_distribution.txt diff --git a/README.md b/README.md index 6c20201..07eb506 100644 --- a/README.md +++ b/README.md @@ -78,7 +78,7 @@ nous observons une ligne droite ce qui nous dit que la distribution suit une loi une ligne droite est observée, cela indique une loi de puissance. - Comparaison avec la distribution de Poisson : Superposer la distribution de Poisson avec ⟨k⟩. -![Distribution des degrés](dd_dblp.png) +![Dblp](dd_dblp.png) ## 5- Distance moyenne et distribution des distances @@ -93,41 +93,154 @@ System.out.println("Distance moyenne dans notre réseau : " + NetworkDistance); ``` -L'hypothèse des six degrés de séparation se confirme-t-elle ? +- L'hypothèse des six degrés de séparation se confirme-t-elle ? -![Distribution des degrés](distance_distribution.png) +Oui, l'hypothèse des six degrés de séparation est confirmée : la distance moyenne entre les nœuds est proche de 6. +- Est-ce qu'il s'agit d'un réseau petit monde ? -Analyse de la courbe -Distance moyenne : +Le réseau montre des propriétés caractéristiques des réseaux "petit monde" : une distance moyenne faible et un clustering élevé. -- La courbe atteint son pic autour de 6. Cela suggère que la distance moyenne entre les paires de nœuds est proche de cette valeur. -- Cela soutient l'hypothèse des six degrés de séparation, car la majorité des distances sont à 6 ou moins. +- Quelle sera la distance moyenne dans un réseau aléatoire avec les mêmes caractéristiques ? +J'ai calculé la distance moyenne d'un réseau aléatoire de même taille et de même degré moyen que j'ai généré avec randomGenerator de graphstream et ça nous donne à peu prés la même chose -Est-ce qu'il s'agit d'un réseau petit monde ? +Distance moyenne du réseau Aléatoire : 6.70193902051403 + +```java +double degreeAverage = Toolkit.averageDegree(randomGraph); +double NetworkDistance = Math.log(randomGraph.getNodeCount()) / Math.log(degreeAverage); +System.out.println("Distance moyenne du réseau Aléatoire : " + NetworkDistance); +``` +Tracer les distributions des distances : + + +![Distribution des distances](distance_distribution.png) + + +- Analyse de la courbe des distances moyennes : + +Forme en cloche avec une décroissance symétrique de chaque côté. + +La courbe montre un pic central autour de 6. Cela suggère que la distance moyenne entre +les paires de nœuds est proche de cette valeur. Cela soutient l'hypothèse des six degrés de séparation, car la majorité des distances sont à 6 ou moins. + +Décroissance rapide : Les distances très petites et très grandes sont rares, tandis que les distances proches de la moyenne sont les plus fréquentes. + + +- Formulez une hypothèse sur la loi de cette distribution. + +On conclut donc que la forme de la distribution est proche d'une loi normale, ce qui est souvent observé dans les réseaux petits mondes. -réseau montre des propriétés caractéristiques des réseaux "petit monde" : une distance moyenne faible et un clustering élevé. -Quelle sera la distance moyenne dans un réseau aléatoire avec les mêmes caractéristiques ? +## 6- Générer deux graphes de même taille et de même degré : +1 - le graphe aléatoire: + +Cette méthode génère un graphe aléatoire basé sur les propriétés d'un graphe d'entrée initialGraph, à l'aide d'un générateur de graphes aléatoires de GraphStream. +Le graphe généré a un nombre total de nœuds fixé (N = 317080) et un degré moyen similaire à celui de initialGraph. + + + + +```java +public static Graph createRandomGraph(Graph initialGraph) { + + double averageDegree = Toolkit.averageDegree(initialGraph); + + Generator generator = new RandomGenerator(averageDegree, false); + Graph graphAlea = new SingleGraph("graphe aléatoire"); + int N = 317080; + + // graphe aléatoire générer de taille N + generator.addSink(graphAlea); + generator.begin(); + while (graphAlea.getNodeCount() < N) { + generator.nextEvents(); + } + generator.end(); + if (graphAlea.getNodeCount() == N) { + System.out.println("Graph aléatoire générer !"); + } + + + return graphAlea; + } + +``` -Tracez également la distribution des distances. +Les caractéristiques de ce graphe sont : -Formulez une hypothèse sur la loi de cette distribution. +Réseau aléatoire : +- Nombre de nœuds : 317080 +- Nombre de liens : 1049473 +- Degré moyen : 6.61961030960083 +- Coefficient de clustering : 4.364833098823207E-5 +j'ai aussi calculé les degrés de distribution à l'échelle linéaire et à l'échelle log-log +- Linéaire : + +![Distribution des degrés](degree_distribution_random.png) + +- Log-log : + + ![Distribution des degrés](degree_distribution_loglog_random.png) + + +2 - Le graphe Barabàsi-Albert: + +Cette méthode génère un graphe Barabási-Albert en utilisant le graphe d'entrée initialGraph comme référence. +Le modèle Barabási-Albert est un modèle de croissance qui suit le principe de l'attachement préférentiel : +les nouveaux nœuds ont une probabilité plus élevée de se connecter aux nœuds déjà fortement connectés (hubs). +Ce modèle permet de générer des graphes sans échelle, +où la distribution des degrés suit une loi de puissance. + + + +```java + +public static Graph generateBarabasiAlbertGraph(Graph initialGraph) { + int nodeCount = initialGraph.getNodeCount(); + double averageDegree = Toolkit.averageDegree(initialGraph); + + Graph barabasiGraph = new SingleGraph("Barabasi-Albert Network"); + BarabasiAlbertGenerator generator = new BarabasiAlbertGenerator((int) averageDegree); + generator.addSink(barabasiGraph); + generator.begin(); + while (barabasiGraph.getNodeCount() < nodeCount) { + generator.nextEvents(); + } + generator.end(); + return barabasiGraph; +} + + +``` + + +Les caractéristiques de ce graphe sont : -Génération du réseau Barabási-Albert... -Réseau Barabási-Albert : Nombre de nœuds : 317080 Nombre de liens : 1108680 Degré moyen : 6.993061542510986 Coefficient de clustering : 4.235788849759945E-4 +j'ai aussi calculé les degrés de distribution à l'échelle linéaire et à l'échelle log-log + +- Linéaire : + +![Distribution des degrés](degree_distribution_ba.png) + +- Log-log : + + ![Distribution des degrés](degree_distribution_loglog_BA.png) + + + + -"C:\Program Files\Java\jdk-23\bin\java.exe" "-javaagent:C:\Users\celia\AppData\Local\Programs\IntelliJ IDEA Community Edition\lib\idea_rt.jar=49306:C:\Users\celia\AppData\Local\Programs\IntelliJ IDEA Community Edition\bin" -Dfile.encoding=UTF-8 -Dsun.stdout.encoding=UTF-8 -Dsun.stderr.encoding=UTF-8 -classpath C:\Users\celia\IdeaProjects\TP_RI\target\classes;C:\Users\celia\.m2\repository\org\graphstream\gs-core\2.0\gs-core-2.0.jar;C:\Users\celia\.m2\repository\org\graphstream\pherd\1.0\pherd-1.0.jar;C:\Users\celia\.m2\repository\org\graphstream\mbox2\1.0\mbox2-1.0.jar;C:\Users\celia\.m2\repository\org\graphstream\gs-algo\2.0\gs-algo-2.0.jar;C:\Users\celia\.m2\repository\org\apache\commons\commons-math\2.1\commons-math-2.1.jar;C:\Users\celia\.m2\repository\org\apache\commons\commons-math3\3.4.1\commons-math3-3.4.1.jar;C:\Users\celia\.m2\repository\org\jfree\jfreechart\1.0.14\jfreechart-1.0.14.jar;C:\Users\celia\.m2\repository\org\jfree\jcommon\1.0.17\jcommon-1.0.17.jar;C:\Users\celia\.m2\repository\xml-apis\xml-apis\1.3.04\xml-apis-1.3.04.jar;C:\Users\celia\.m2\repository\com\lowagie\itext\2.1.5\itext-2.1.5.jar;C:\Users\celia\.m2\repository\bouncycastle\bcmail-jdk14\138\bcmail-jdk14-138.jar;C:\Users\celia\.m2\repository\bouncycastle\bcprov-jdk14\138\bcprov-jdk14-138.jar;C:\Users\celia\.m2\repository\org\graphstream\gs-ui-swing\2.0\gs-ui-swing-2.0.jar org.example.Propagation Scenario 1: No Control Scenario 2: Random Immunization Scenario 3: Selective Immunization @@ -159,4 +272,3 @@ Le réseau réel est plus vulnérable que le réseau aléatoire (c_réel < c_th -Process finished with exit code 0 \ No newline at end of file diff --git a/barabasi_degree_distribution.txt b/barabasi_degree_distribution.txt index dc75c9e..93f5072 100644 --- a/barabasi_degree_distribution.txt +++ b/barabasi_degree_distribution.txt @@ -1,311 +1,305 @@ # Degree Probability -1 0.11086161221142929 -2 0.11126214204617131 -3 0.1107575375299609 -4 0.11011732055001892 -5 0.11166897943736596 -6 0.11164690298978176 -7 0.07328749842311089 -8 0.05175034691560489 -9 0.03789579916740255 -10 0.028368235145704555 -11 0.022035448467263782 -12 0.017219629115680587 -13 0.01345086413523401 -14 0.011514444304276523 -15 0.009404566670871705 -16 0.008016904251293049 -17 0.006380093351835499 -18 0.005437113662167276 -19 0.004686514444304277 -20 0.003948530339346537 -21 0.0034092342626466507 -22 0.0032263151255203736 -23 0.002617635927841554 -24 0.0024252554560363314 -25 0.0022171060930995332 -26 0.0018512678188469787 -27 0.0018039611454522518 -28 0.0014980446574996847 -29 0.0013151255203734074 -30 0.0010943610445313485 -31 0.001103822379210294 -32 0.0010281317017787309 -33 9.555948025734831E-4 -34 9.366721332155923E-4 -35 8.389050081998233E-4 -36 7.316765485051091E-4 -37 7.03292544468273E-4 -38 5.424498549262016E-4 -39 5.550649678314621E-4 -40 5.77141415415668E-4 -41 5.077582944367352E-4 -42 4.6360539926832344E-4 -43 4.478365081367478E-4 -44 4.226062823262268E-4 -45 4.162987258735966E-4 -46 4.3206761700517217E-4 -47 3.2799293553677304E-4 -48 2.933013750473067E-4 -49 3.059164879525672E-4 -50 2.4284092342626465E-4 -51 2.5230225810521004E-4 -52 2.365333669736344E-4 -53 1.8922669357890754E-4 -54 2.3022581052100415E-4 -55 2.5230225810521004E-4 -56 1.5768891131575627E-4 -57 2.0499558471048315E-4 -58 2.0499558471048315E-4 -59 1.5453513308944116E-4 -60 1.4192002018418066E-4 -61 1.3876624195786552E-4 -62 1.4507379841049577E-4 -63 1.5138135486312602E-4 -64 1.356124637315504E-4 -65 1.1353601614734452E-4 -66 1.2299735082628988E-4 -67 1.3876624195786552E-4 -68 1.3245868550523527E-4 -69 1.0092090324208402E-4 -70 1.0722845969471427E-4 -71 1.103822379210294E-4 +1 0.11160275009461335 +2 0.11175413144947648 +3 0.11101299356629242 +4 0.1116532105462344 +5 0.11083638198561876 +6 0.11004162987258737 +7 0.07412009587485809 +8 0.05203103317774694 +9 0.03712312350195534 +10 0.02815693200454144 +11 0.02191245111643749 +12 0.016894789958370127 +13 0.01405954333291283 +14 0.01116752869938186 +15 0.00892203860224549 +16 0.007578529077835247 +17 0.006518859593793364 +18 0.005304654976662041 +19 0.0047622051217358395 +20 0.003980068121609688 +21 0.0035763845086413523 +22 0.003125394222278289 +23 0.002712249274631008 +24 0.0023558723350573987 +25 0.001986880282578529 +26 0.0019017282704680207 +27 0.0017471931373785796 +28 0.001510659770404945 +29 0.0014128926453891761 +30 0.0012741264034313107 +31 0.0010848997098524033 +32 0.00113220638324713 +33 0.0010155165888734703 +34 9.398259114419074E-4 +35 7.569067743156302E-4 +36 7.222152138261637E-4 +37 7.096001009209033E-4 +38 6.2760186703671E-4 +39 6.244480888103949E-4 +40 5.456036331525167E-4 +41 4.951431815314747E-4 +42 3.7529960893149995E-4 +43 4.1945250409991167E-4 +44 4.162987258735966E-4 +45 3.847609436104453E-4 +46 3.784533871578151E-4 +47 3.563769395736092E-4 +48 2.9014759682099154E-4 +49 2.806862621420462E-4 +50 3.1222404440519745E-4 +51 2.586098145578403E-4 +52 2.680711492367857E-4 +53 2.3968714519994954E-4 +54 1.955342500315378E-4 +55 2.0184180648416804E-4 +56 1.6399646776838652E-4 +57 2.1445691938942854E-4 +58 1.6715024599470166E-4 +59 1.7661158067364702E-4 +60 1.8291913712627727E-4 +61 1.7030402422101677E-4 +62 1.734578024473319E-4 +63 1.608426895420714E-4 +64 1.3876624195786552E-4 +65 1.2299735082628988E-4 +66 1.1668979437365965E-4 +67 1.103822379210294E-4 +68 1.7030402422101677E-4 +69 1.3245868550523527E-4 +70 9.461334678945377E-5 +71 1.1353601614734452E-4 72 1.0722845969471427E-4 -73 1.0092090324208402E-4 -74 7.569067743156301E-5 -75 9.145956856313863E-5 -76 1.0722845969471427E-4 -77 7.569067743156301E-5 -78 6.938312097893276E-5 -79 9.461334678945377E-5 -80 2.838400403683613E-5 -81 8.199823388419326E-5 +73 9.461334678945377E-5 +74 9.145956856313863E-5 +75 6.307556452630251E-5 +76 1.1668979437365965E-4 +77 7.253689920524788E-5 +78 7.569067743156301E-5 +79 6.307556452630251E-5 +80 5.3614229847357136E-5 +81 4.4152895168411754E-5 82 7.884445565787813E-5 -83 5.676800807367226E-5 -84 7.253689920524788E-5 -85 5.3614229847357136E-5 -86 5.3614229847357136E-5 -87 6.307556452630251E-5 -88 6.622934275261763E-5 -89 4.099911694209663E-5 -90 6.622934275261763E-5 -91 3.469156048946638E-5 -92 5.9921786299987385E-5 -93 4.4152895168411754E-5 -94 4.099911694209663E-5 -95 4.7306673394726886E-5 -96 4.4152895168411754E-5 -97 2.838400403683613E-5 -98 4.099911694209663E-5 -99 3.7845338715781505E-5 -100 2.2076447584205877E-5 +83 7.569067743156301E-5 +84 7.569067743156301E-5 +85 4.7306673394726886E-5 +86 5.9921786299987385E-5 +87 5.676800807367226E-5 +88 4.099911694209663E-5 +89 3.7845338715781505E-5 +90 5.3614229847357136E-5 +91 5.9921786299987385E-5 +92 3.7845338715781505E-5 +93 3.469156048946638E-5 +94 4.4152895168411754E-5 +95 3.1537782263151255E-5 +96 2.5230225810521005E-5 +97 5.3614229847357136E-5 +98 3.469156048946638E-5 +99 1.8922669357890752E-5 +100 4.4152895168411754E-5 101 5.046045162104201E-5 -102 4.099911694209663E-5 -103 2.5230225810521005E-5 -104 6.307556452630251E-6 -105 4.4152895168411754E-5 -106 3.469156048946638E-5 -107 1.5768891131575628E-5 -108 3.7845338715781505E-5 -109 4.099911694209663E-5 +102 3.7845338715781505E-5 +103 3.1537782263151255E-5 +104 3.1537782263151255E-5 +105 2.5230225810521005E-5 +106 1.8922669357890752E-5 +107 2.5230225810521005E-5 +108 1.8922669357890752E-5 +109 3.7845338715781505E-5 110 2.5230225810521005E-5 -111 1.5768891131575628E-5 -112 2.2076447584205877E-5 -113 1.5768891131575628E-5 -114 2.5230225810521005E-5 -115 3.7845338715781505E-5 -116 2.2076447584205877E-5 -117 1.5768891131575628E-5 -118 2.5230225810521005E-5 +111 1.8922669357890752E-5 +112 2.838400403683613E-5 +113 2.2076447584205877E-5 +114 2.838400403683613E-5 +115 3.1537782263151255E-5 +116 2.5230225810521005E-5 +117 9.461334678945376E-6 +118 2.838400403683613E-5 119 2.5230225810521005E-5 -120 9.461334678945376E-6 -121 2.2076447584205877E-5 -122 2.2076447584205877E-5 +120 2.5230225810521005E-5 +121 4.099911694209663E-5 +122 2.5230225810521005E-5 123 2.5230225810521005E-5 -124 1.5768891131575628E-5 -125 3.1537782263151255E-5 +124 2.2076447584205877E-5 +125 2.5230225810521005E-5 126 1.2615112905260503E-5 127 1.5768891131575628E-5 -128 2.838400403683613E-5 -129 1.2615112905260503E-5 -130 3.1537782263151255E-5 +128 1.2615112905260503E-5 +129 9.461334678945376E-6 +130 2.2076447584205877E-5 131 1.2615112905260503E-5 -132 2.2076447584205877E-5 -133 2.2076447584205877E-5 -134 3.1537782263151257E-6 -135 3.1537782263151257E-6 -136 1.8922669357890752E-5 -137 1.8922669357890752E-5 -138 1.5768891131575628E-5 -139 2.2076447584205877E-5 -140 1.2615112905260503E-5 -141 1.8922669357890752E-5 -142 9.461334678945376E-6 -143 6.307556452630251E-6 -144 2.5230225810521005E-5 -145 3.1537782263151257E-6 -146 9.461334678945376E-6 -147 1.8922669357890752E-5 -148 6.307556452630251E-6 -149 9.461334678945376E-6 +132 2.5230225810521005E-5 +133 9.461334678945376E-6 +134 6.307556452630251E-6 +135 9.461334678945376E-6 +136 6.307556452630251E-6 +137 6.307556452630251E-6 +138 2.838400403683613E-5 +139 6.307556452630251E-6 +140 3.1537782263151257E-6 +141 1.2615112905260503E-5 +142 6.307556452630251E-6 +143 9.461334678945376E-6 +144 1.2615112905260503E-5 +145 1.8922669357890752E-5 +146 1.8922669357890752E-5 +147 1.2615112905260503E-5 +148 1.2615112905260503E-5 +149 1.5768891131575628E-5 150 1.5768891131575628E-5 -151 3.1537782263151257E-6 -152 3.1537782263151257E-6 -153 1.2615112905260503E-5 -155 9.461334678945376E-6 -156 1.2615112905260503E-5 -157 1.2615112905260503E-5 -158 3.1537782263151257E-6 -159 1.2615112905260503E-5 -160 6.307556452630251E-6 -161 1.2615112905260503E-5 -162 1.2615112905260503E-5 -163 1.5768891131575628E-5 -164 1.8922669357890752E-5 -165 9.461334678945376E-6 -166 9.461334678945376E-6 -167 6.307556452630251E-6 -168 1.2615112905260503E-5 -169 3.1537782263151257E-6 +151 1.2615112905260503E-5 +152 1.5768891131575628E-5 +153 1.8922669357890752E-5 +154 9.461334678945376E-6 +155 1.5768891131575628E-5 +156 2.2076447584205877E-5 +158 1.5768891131575628E-5 +159 3.1537782263151257E-6 +160 1.5768891131575628E-5 +161 9.461334678945376E-6 +162 3.1537782263151257E-6 +163 6.307556452630251E-6 +164 9.461334678945376E-6 +165 1.2615112905260503E-5 +166 6.307556452630251E-6 +167 9.461334678945376E-6 +168 3.1537782263151257E-6 +169 6.307556452630251E-6 170 3.1537782263151257E-6 -171 9.461334678945376E-6 -172 3.1537782263151257E-6 +171 1.5768891131575628E-5 +172 6.307556452630251E-6 173 6.307556452630251E-6 -176 6.307556452630251E-6 -178 3.1537782263151257E-6 -179 3.1537782263151257E-6 -180 3.1537782263151257E-6 +174 9.461334678945376E-6 +175 3.1537782263151257E-6 +176 3.1537782263151257E-6 +177 6.307556452630251E-6 +178 6.307556452630251E-6 +179 1.2615112905260503E-5 +180 1.8922669357890752E-5 181 3.1537782263151257E-6 182 3.1537782263151257E-6 -183 3.1537782263151257E-6 -184 3.1537782263151257E-6 -185 6.307556452630251E-6 +183 9.461334678945376E-6 +185 9.461334678945376E-6 186 3.1537782263151257E-6 -187 3.1537782263151257E-6 -188 6.307556452630251E-6 -189 3.1537782263151257E-6 -191 6.307556452630251E-6 -193 6.307556452630251E-6 -194 3.1537782263151257E-6 -195 3.1537782263151257E-6 -196 3.1537782263151257E-6 -197 3.1537782263151257E-6 -198 3.1537782263151257E-6 -200 6.307556452630251E-6 -201 3.1537782263151257E-6 +187 1.2615112905260503E-5 +188 3.1537782263151257E-6 +192 9.461334678945376E-6 +194 6.307556452630251E-6 +195 6.307556452630251E-6 +196 6.307556452630251E-6 +197 9.461334678945376E-6 +198 6.307556452630251E-6 +199 9.461334678945376E-6 +201 6.307556452630251E-6 202 9.461334678945376E-6 -203 6.307556452630251E-6 +203 3.1537782263151257E-6 204 3.1537782263151257E-6 -205 3.1537782263151257E-6 -206 3.1537782263151257E-6 -208 3.1537782263151257E-6 +205 9.461334678945376E-6 +208 9.461334678945376E-6 209 3.1537782263151257E-6 -211 3.1537782263151257E-6 +210 3.1537782263151257E-6 +211 6.307556452630251E-6 212 6.307556452630251E-6 -214 6.307556452630251E-6 -216 6.307556452630251E-6 -217 6.307556452630251E-6 -218 9.461334678945376E-6 +214 3.1537782263151257E-6 +215 9.461334678945376E-6 +216 3.1537782263151257E-6 +218 6.307556452630251E-6 219 6.307556452630251E-6 -220 6.307556452630251E-6 -222 1.5768891131575628E-5 +222 3.1537782263151257E-6 223 3.1537782263151257E-6 -225 3.1537782263151257E-6 -228 6.307556452630251E-6 -229 3.1537782263151257E-6 -231 3.1537782263151257E-6 -232 6.307556452630251E-6 -233 3.1537782263151257E-6 -236 3.1537782263151257E-6 +224 9.461334678945376E-6 +225 6.307556452630251E-6 +228 3.1537782263151257E-6 +230 3.1537782263151257E-6 +234 3.1537782263151257E-6 +235 3.1537782263151257E-6 +236 6.307556452630251E-6 237 3.1537782263151257E-6 -242 1.2615112905260503E-5 -243 3.1537782263151257E-6 +239 6.307556452630251E-6 +241 3.1537782263151257E-6 +242 3.1537782263151257E-6 +243 6.307556452630251E-6 246 3.1537782263151257E-6 -249 3.1537782263151257E-6 -251 3.1537782263151257E-6 -252 3.1537782263151257E-6 -254 3.1537782263151257E-6 -255 6.307556452630251E-6 -257 3.1537782263151257E-6 -260 6.307556452630251E-6 -262 3.1537782263151257E-6 -263 3.1537782263151257E-6 +248 3.1537782263151257E-6 +249 6.307556452630251E-6 +253 3.1537782263151257E-6 +254 6.307556452630251E-6 +256 6.307556452630251E-6 +257 6.307556452630251E-6 +259 3.1537782263151257E-6 +260 3.1537782263151257E-6 +261 3.1537782263151257E-6 +264 3.1537782263151257E-6 265 3.1537782263151257E-6 -266 3.1537782263151257E-6 -267 3.1537782263151257E-6 268 3.1537782263151257E-6 -270 6.307556452630251E-6 -271 6.307556452630251E-6 -279 6.307556452630251E-6 -280 6.307556452630251E-6 +269 3.1537782263151257E-6 +274 3.1537782263151257E-6 +278 3.1537782263151257E-6 +283 6.307556452630251E-6 +284 3.1537782263151257E-6 285 3.1537782263151257E-6 -287 3.1537782263151257E-6 -295 3.1537782263151257E-6 -297 6.307556452630251E-6 -299 6.307556452630251E-6 -300 3.1537782263151257E-6 -303 3.1537782263151257E-6 -304 3.1537782263151257E-6 -309 3.1537782263151257E-6 -314 3.1537782263151257E-6 -316 3.1537782263151257E-6 -317 9.461334678945376E-6 -318 6.307556452630251E-6 +287 6.307556452630251E-6 +288 3.1537782263151257E-6 +289 3.1537782263151257E-6 +296 3.1537782263151257E-6 +307 3.1537782263151257E-6 +310 3.1537782263151257E-6 +314 6.307556452630251E-6 +318 3.1537782263151257E-6 +319 3.1537782263151257E-6 323 3.1537782263151257E-6 -325 3.1537782263151257E-6 -328 3.1537782263151257E-6 -330 3.1537782263151257E-6 -348 3.1537782263151257E-6 -362 3.1537782263151257E-6 -364 3.1537782263151257E-6 -372 3.1537782263151257E-6 -373 3.1537782263151257E-6 -382 9.461334678945376E-6 +335 3.1537782263151257E-6 +339 3.1537782263151257E-6 +351 6.307556452630251E-6 +353 3.1537782263151257E-6 +367 3.1537782263151257E-6 +370 3.1537782263151257E-6 +375 3.1537782263151257E-6 +376 3.1537782263151257E-6 +382 3.1537782263151257E-6 383 3.1537782263151257E-6 -399 3.1537782263151257E-6 +384 3.1537782263151257E-6 +388 3.1537782263151257E-6 +389 3.1537782263151257E-6 +398 3.1537782263151257E-6 404 3.1537782263151257E-6 -411 3.1537782263151257E-6 -412 6.307556452630251E-6 +414 3.1537782263151257E-6 415 3.1537782263151257E-6 -421 3.1537782263151257E-6 -423 3.1537782263151257E-6 -426 3.1537782263151257E-6 -428 3.1537782263151257E-6 -429 3.1537782263151257E-6 -430 3.1537782263151257E-6 -439 3.1537782263151257E-6 -443 3.1537782263151257E-6 -446 3.1537782263151257E-6 -448 3.1537782263151257E-6 -462 3.1537782263151257E-6 -472 3.1537782263151257E-6 -491 6.307556452630251E-6 +423 6.307556452630251E-6 +450 3.1537782263151257E-6 +453 3.1537782263151257E-6 +454 3.1537782263151257E-6 +461 3.1537782263151257E-6 +473 3.1537782263151257E-6 +485 3.1537782263151257E-6 495 3.1537782263151257E-6 -530 3.1537782263151257E-6 -533 3.1537782263151257E-6 -548 3.1537782263151257E-6 -551 3.1537782263151257E-6 -558 3.1537782263151257E-6 -559 3.1537782263151257E-6 -572 3.1537782263151257E-6 -576 3.1537782263151257E-6 -592 3.1537782263151257E-6 -608 3.1537782263151257E-6 -617 3.1537782263151257E-6 -621 3.1537782263151257E-6 -633 3.1537782263151257E-6 -660 3.1537782263151257E-6 -664 3.1537782263151257E-6 -698 3.1537782263151257E-6 -704 3.1537782263151257E-6 -721 3.1537782263151257E-6 -725 3.1537782263151257E-6 -754 3.1537782263151257E-6 -924 3.1537782263151257E-6 -932 3.1537782263151257E-6 -1061 3.1537782263151257E-6 -1086 3.1537782263151257E-6 -1264 3.1537782263151257E-6 -1274 3.1537782263151257E-6 -1453 3.1537782263151257E-6 -1995 3.1537782263151257E-6 +502 3.1537782263151257E-6 +504 3.1537782263151257E-6 +509 3.1537782263151257E-6 +512 3.1537782263151257E-6 +513 3.1537782263151257E-6 +515 3.1537782263151257E-6 +541 3.1537782263151257E-6 +542 3.1537782263151257E-6 +573 3.1537782263151257E-6 +574 3.1537782263151257E-6 +596 3.1537782263151257E-6 +613 3.1537782263151257E-6 +718 3.1537782263151257E-6 +775 3.1537782263151257E-6 +877 3.1537782263151257E-6 +913 3.1537782263151257E-6 +914 3.1537782263151257E-6 +974 3.1537782263151257E-6 +987 3.1537782263151257E-6 +999 3.1537782263151257E-6 +1031 3.1537782263151257E-6 +1070 3.1537782263151257E-6 +1101 3.1537782263151257E-6 +1107 3.1537782263151257E-6 +1178 3.1537782263151257E-6 +1232 3.1537782263151257E-6 +1299 3.1537782263151257E-6 +1657 3.1537782263151257E-6 diff --git a/comparison_results.txt b/comparison_results.txt index e0ce27e..12170f7 100644 --- a/comparison_results.txt +++ b/comparison_results.txt @@ -2,12 +2,12 @@ Comparaison des réseaux générés : Réseau aléatoire : Nombre de noeuds : 317080 -Nombre de liens : 1050659 -Degré moyen : 6,6271 +Nombre de liens : 1049907 +Degré moyen : 6,6223 Coefficient de clustering : 0,0000 Réseau Barabási-Albert : Nombre de noeuds : 317080 -Nombre de liens : 1110033 -Degré moyen : 7,0016 +Nombre de liens : 1108082 +Degré moyen : 6,9893 Coefficient de clustering : 0,0004 diff --git a/degree_distribution_linear.png b/degree_distribution_linear.png deleted file mode 100644 index 96ee9e53420ab947d8d4ae14e2771b8fda7f22ae..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 27943 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 nu}W4apVe{^n4LOgO7q~|MqIPK#_(=7sq z%Y&DN$||q@`?N}MT12s(EF+?~rBa2te@dHhu<^52z=Z3rCoQom2C^&Obqfx7GPw>u zSHzUa59Dw1XN3q#p(obmmX@LH4$G*kkP5^Mt!pCqlpkQlk$bNM<037bQ9ltQ=$`>b2kRToqDL!V+A24#EA@qr^<{CU`uFLwkF)pb* z=PmqH;(C0PDeU7{QN3$z7c>$4;OLc-c=MqyNdfg{P9-=yJ%vS~(zlM4!;d8!G+a*2 z2$I~ZZyb2{*-?5MG)GvCVC)VP?Z<59<6WN|0to3qIoGETtHT};ASeSFr9>=F&2qUc z?1&1p=w76zZAukRsNqDri#kH@a8z555cEaQ_L*4s3s}__gF7X z?Kq7h95@=A3eZvZYy4hVQpNVq2;UnY8`GznnxxoqLho$2W|9E{@_ojENV`Kwt~^C9 zh2Xj?L5^^uXSwvh8O-P=a;vIFdU|Z(LrSc$N6jr>`zQ@?V%`nhfwO5_Vzht8#6sQ8 z|8=;-C=rG10D;`R|AQ`gogGo^OG|(d3GgOVhh7?dh{<5SUd}%j`;Gat6f?(S)L`|G zkB@+80A2=yC*-N}Qb02{mRw-)O`5{k$0Rynxx1POsfK3iT!57D5@?{A4~5Z*3SPUG zS(`X8G=%!B1l#(PvJW3vMsK=avSGyJxw_bf?i+!cbC%hGkEbcIyo@gmEl_CWRSW9C zNAdg}yH_M}1QjO#b>tTkMwZk~^e}U{N4N8kc}tr6-$$;g>xZE;1_S<;&MWGcmiZE* zm76N1mOj~;r6`MgFA+TZ)LK>+O&H+igsF)_9*1J6kVE<&oG{YC%pBM)7w?DfsuYis z7-8!57i#tBn^CJbhpBM=%|$7-|IA}|1NaXO4TY&un*?9c8)r_Bg+N}3V}Wdk6zjl? z`DZd)w)#I~*_FdE<_jNw1D|Fi4J?6KURik(KIlV^x#Qb6K~IZEe1WgPP`HK^qv_Pj zHvT|Q`*h;~H3*@lSEgK({`Ir)CE^$=t-+dEB{5ACkIEKIU;CX8=8M2?+}sY}^RM{1 zbrQ2054zz~o+@uCHZ#-@9&bjDWe<78AJp_Fz@aY?;_9}IAm(kRsE*kX^h*7bxLPG< z-=7oG)cu)Hgb%<0G_POhc}q~RtU1x1>blt!^|5?VL@8Pr+13SbG6c;cizau?|0?Uu z!=e2C|9_)F_DaZD(_-gsC$eNKyOD&3H)YF~eK(?13Y923B_vxy_907(>|`A!GL|ga zxB0!M&*%63nkP~CV**vK$5hBTyU*!&%lI@g-}1|e7{##U73Q#Zu^&K}MN zh413mh!AYBa=hUP<{6w(cN_{SRA)}SKQ?Bb9BzJmL(3nN&Wh+G`xeLy6G)dt|IY1> z|3;LfpyN3)9ZtM&%jD1Ga=w#>mJ#EIC?;P0`_PVxV)BBF2^Ix@Ykws%-)=)w_sOFE z!WuSuEo>>%YivkG-%lIKq=eQxLn~`BLpK$PP)0zZ-DoVz2Uc9 zK$btn_{yGs^k$D5GO*+je@q>6{dtXc)a;E&|BQA)DsHA?9Pv`XV7i5vD= z7wFZT;%!TrP!_4+`m?QJw0+wxI(daGyJ4&0e3Np?y}z2Vg1pz>9l=Gf_8fwE5oFlo zZf!i)sWb2tM<$cmFe0oD6rPNbDFYR|x;F>!Ar?_L@n?LOmU@kpJR=I0^rWi!DR9oV z_u_r?Jb#I@VsS#F`2P92cMZkLq_C{^ue92KV^L6vMbsbHJKU~g;YZc3dhsr*MlVPKRpdQn>dz^$Qyp{XA*mu zC=i9Vd7)^SBc2KzZ&!Vp%}tM#pboQHC2Y1-%k1h^&A6o> zCgv;DDAdJ>D4bw?y~*<}^JEU*Z!g+??9XgGf3@Ud5F&Ps-tAb~ph0e5&#Rhat=je- zor2VL6}KLrXnFtAFyxe7Z?-*43(HGW^~a`}4=Qy{Hsg+o$Vi|JZ@rldQT;M7-(PfL zfO)XkpA@uYvnUln8cFq>n@%~sG$42sQL+=p2^iZd!rXkOr;Dakl{WLNQ8*7Kw0?T) z3HlNZr5dEE6+g%3c^nY`aD+!zULc@w1tNjPuU(V2iCy*yOoxmmf=aBlTO1!nlv=(K zK{lUlnSP2|7dTHVT$r1WcnYvuFx_$vUYz|E`7D-lQ+*1RdWxp$?5^?^p3U|Ik!hN_ zXR%t3Qcp2XItZ5hbiB!a<6P$o>2qKw!jmA^?fq}y-u9-;SN9J&KBCBVHRi-U@h}T3 z-#5;!ByM8n5Y1$(VV(7WZS8LJSKS;c3bQC4(INZ+A1*AVBrKrcx?#LM=^3P8amKdo z9jn)FVs2P%U9S)CMs){J{OXAK;24?y?L^f@jA>}S7SY12QLzsxilx+ZNU9i!4U3o- zL8zo;E>`v@1_Y>U4U5;aP zF(;negz(<-?WMLK>DDJ1C%ptquJ?rv`EA?ljg_%lAlKPshe#RcIgZ-Uy(kH5rioymf8_rx7Nxd1+xVodVp;DG>Fl6mRMNxZ!$_S|;Y~u? z+T#1pBPQPa@Fq_;xDlbLa9M_6GaX-)t)w%RGFxI>MtJee!dah+WMpuWy|4u{@|tGnb~F?{Epf zvo_{REQo40&CSe975!%6<5G)tv{$i=$j+P5w8or@=Ek@~o+h!gjoEn4yt=q>`Dwz* zyQD~L;uR`f*yt;v`^k&E90h6b{;`H?y`u57rY~QtuFrDF(07`AH@nknt+^%@aP+mISJ z5PeIH3d#Mm{ovA<>A{CaFUgO_&-I8>(yGz?$JY7$B19oq2>tPCVzg^-LISBA3pX*4 zg`ZQc=V=@0381L#ipU#2&~v;0i)2kMCCC02);)vT_z=omwOqE`=A1F_E`4kR<>bO_ z2n{u_ip9Q97{+NmiR(^@+81POGa~m)a;5Ks%XAo56c%(vs4?ykSr7 z>#Ez$##FBydx|k$lzDi6!u$8--(6z|;Jo!8M{ z%c`cFoKyJ2?a4*=_PoeAHbpJC#wv4#@+XqEbXx{z59N1`?`$kF%Qq`?XTlTaLn{#| zhI=9hN;U(m*e z0Ad+t)xB=@TZ!%k1_9*$?;iWrUyWKW2NI>bTU$SW{Q|~R?ZM8xQd$wb*{Bkd4}hJ? zPzkQc%K8^_+)8QUAVAubUnEEzsCTy{j#Py0@gX0wZ)OZm-}^Ikz7XyTU&>{|Bt-am zF#9s@bxuy*?(dr3kIsFswRCj+uaztk$(si{+S(vV_n4>+?8N|#fdDg$z(5aDTLJH) z>lIR2kxxqC*Km%VH4HL2HyaW?>izM|CP)V$!}k8Y%&u-w&`x6{4ewqBAeBa3<$`@r zM@e!pXus@nDgTUiA*BnB#~`{5t)tSias}zvy#tK_5wf;@(dob+m64GV zs##qGa>+I~je9^EVP|E%e&a?v`WJbK38^U?4TSt^0uu$D01Zzn+Q0rOwdWy;8-#jD ze2*SsW{wLR^IM-A0Ll=2fx74m+L2f>a`ya#giTore7VoqiT5@V<)?*NnI`*Lv5ml8 zII00j++m$p^Ee!?egbU8ioiz$j1O$B1V+}btBUcY+c`g+5h$#;f@ItROrKliAK^R2GQO?_%9+0McY>Ibt8D z0^q|mj@ry1E=IzdcX4rvHToST?uVT7C8ggC2aB?OL_)Hu4gJ%^awKW$Zkr4( zKQ?rI0Gt~Qd(#r-<>d{#<4cf{2jb+P$x2x{IoPT226Y!R_S$;;v%Tu*^yQb;lt_(X z=#^fV#LhDd1y_-TV)RT`Mn+oN{%4V5AagB%Eh0117Iu$%F_7&Wbdu@4%Ahh{adW5$ zHpzh8859`kYyEqE<4|;%AarSb<++;tBKjO-w3nK8k(I+^c(~J*w8vL)F%e<|gJ~-_ zNV|Sbd{I%2Nhv8`+R84+a(S{0jmW_8e@{$sF*6fWgfp%lH# zOuCB2*S9`3iV=UbC^BuV{rgxr6zJaaym*jY=aU?-2_u-53>L@5apN+U$;Z8}8y|=0>!qgt74zRB-DLJRV}yqcYF{ zV#ejZi$U1MHTLDp7xc;VP{zVF_`d&%L?pLT9shINU*FWb3{nRiI?G_9#G=6Uh@Fon zHQvl}e^K@+i`~=LnmfO`{h>Z+SuN5^Lr@5vrHfv|!D0T_4ZKH`40)9d!~ebcsP`5{ z=mlnTN2@jVuxsa9F}Wvx#v=&#aBzuxnsa?g`9{-Va%qf4t2iAKckUG>nGfio60YB) z0 zR9U>!^2lDfRuM`Zqv5s;V1ZfM>%NS4u1QsUY9EiC6FAOr7_1?6K29rzy_qy$OvK%! zO)octsUahd~O5pt$%NJ z_O!@HvDmZsgwjXb#u&5iA0(Dn?ek7dZiyhqj}4Na6h$r^e{)R5;vI1-w=DslZ-=tD`IkThFwa%Qe@Y2VcLmBS3cs1rshNr|E5#MYQ z^-ts!%x!YrVl6CqNX=hA@kj9FV(YinjfpTRx>3_n$X3wX(|9_+jwZ&#pBnkbXwVBU zl?u7{19o+Onf36gS57~>@bs=`*Lqy?ysFH_Tpyh02^Yf2v4yLvz2lmXM%Y(Dit+|# zlOt-biS(XntThIE$gr&Sc@%fsmF3dKKURw{Rg>3hKx%|vVMo~uh z1K0Y7EtF&_Ua9?hTNu`O_;tdPfr{QDKOaZk18`+qBC#$6H+6M;7b=qZ$mdAg-E?#z24W^^qM5U z@lLK=AmmBcz5D0CKMlFi%48y^t8lwIsAPelT&{l##{FK|lphG9Gv6P1qiRg}xYe_> zXmou8`h2^8vnFr;&sDB$6G=ngA6%lt3O|evBWgxL&R!mcH;a{r1IkJ+3Rh_y_5FS< zR9k=baK`M^CQGy{BQ>4qu(7Q=?PK6(jd^zoaibD6nbZ_)ILDOwtgn9a`Ewm}lZBDvAV+=8)PrxF2CZ(hPLmd;Nn>IEG4mQkl< z*?*g*yVi!i&zfb#6y)qrd`^ser`}|kL$CPOR$akn3PsJUh zDdB6M{zcIvlZi^}wpW+F>F1^xXm!5sgO`E9nF2FcMx&nS*r8pt0<{KhtaJPk6dQsU zTc7wj;Zl03#e9G`W2M#UCMM?`dNTk@)hcGj5bN1mWN4-VV^mH)BLJ1?Dpl&K6 zIzIW=W5mDz%Y_$5`h}7!=JGa7{9_1EGV>M3Y?<)tdiV-Tx2d`R* zEvB{JVNp%6A(t4(e~s=P)0C>2!-IoXDvbyfg6!y{Cwuxf`8S$_+Rhxun%?mHh5bI@ z;_OjB;83+Uwbj{lX4lBAH$j&@u8?tEK42GJyU#FjK<#l>qQR^h)5^w=Ap3Go87IeH z30<||A=uVhdAPbsP87)FvC^jETj|7`^8~L&wa}#)Y%FaYC6J;N@(Q&g@HPXJ_(h25X*>B?eDMoy4}Ot$I8)9}Qm=AEVmS;7XXMgC+{( zVhaMGrU0RondB+Bj+eL%*$I4@AB3_C0@RU>*QKtCvQ6Ix3;dgzRaD}zE1L$u3CT0v z>T0DHJNW$^{N6k`IJi=Phew=L0L_qndiAm{V6s`V^Yh!!pS(tM=#U`WF$6J|Pa=so z0U?k-s>exRS2te!f9AMLs(C$5Ts&Nl!kRrUY-+xR$&kUo81=!!z;m{Y6c16 zBIspKojFs#zcDK9&|$1}5#Ew z@Td!0Z(T7F1~-7Y7a9@*-{H6jES!pwW_SfKYd*#tu4JgP2CNexA;Rhj+Xx`IA^KFu zMs_f`^to|LO6LL2T-(cQ6(qUSGPo*=vVhfg`V(Y5j1JAkseAogv zljIRRdG6dfDJfI(qylJ%a_(cZAQC)!w3iru^~H()mr3M%jRd+We>3P@76bt2C(Xgo zTmBFeQC&d`YUuydDg?9Pi2>K1Tq2OHVy^rqDtzt86jsTJfTE)RF77G<|I7@7L?yDv z>Ahv)sv&AlxCFEgQ7qtV*fFG;L5zF{`X~FNKqWa|D`f zIY89?OymlXdwxx?`#XwCOXpoOa^`z}qJIulU0|$EPf!0(xg8E=EKOZqUC^*VA0otd zj5=+=r7mD4J0pVtcwzU6T5>JQ6GFUU33sUt6^%Y065!`Z7_75sD;&h6wP4 zz!B8=osZ|P7yi`<&L{tKKfY%bX<(+6Ra8<^QWlwksA+6!x(Ynb+SSh@AY-DVrp}R+ zR)fdV3y)g*?-#oSR`h2&UB7H70H+W0gJy9-pw|~HCU*Zc9@bA&f;G@O5Q`y=c|%e< z)2f5vcOeK#0DB7xCfHu-y;lo0Pxtn}z2bcw$D`JJ_h`ez!>4cGUbVEejA8)|7A)8W zBVSOA+c|jJL-&N<4W6Fu?QQTw^=AI3faT?7keCSQ#D3F>l6$7f@qyqtRKy9Skhc!n{BL0V*5P&$Ft~zT)btkG?ZPQ7Py(onD-%v&!uw ze^vDwF9RhV z#6IMO3HgUl56OX8&4C=w5viAdJM;+{ei2-UAj~F^>)PbOg-;s(#n1%^UCF_ss zR|1Cu71!tq)p}-C%$f0H@b<=sr|5M3jt!wcI*F1sUQkVh-s4S4qKO4wZ+) zYWybxbp{cN4;=78imn6G7}T#5l^z*u%SPcleV`TsG;=&KBp|5tg^iLOTZNXg0C)p{ zFc`UtEz5<4gf0esCJ@2_zy?A$Xx`usxFsRc+YYwO`n}aJkoz#4GB5B2! zTS{6QtVIwTMW-Z~@Gakfg=dhiJY28!?Xh{mwF+0rzK}(P&=X;E?Y{wQzy)l2{NrUn z8;)!=wy47sRh}B8#L}5k6ZBPxpS52UM3svk?J`zd8 z>{ktNc_k5%g5m}#q_Poa66}2w6XH>VqM~rXN*XBrLPK`eh#;aSz%_E-$|P{%&}1AscR@6N{?)N4IX3nYod_?AE+Zg8wd z47h+)`u@X*wIB^#Goj_)PN{$^wO30*Vs-f=vp=V+lhg9b z3Q@sMh7+y~!mv7rPR`)Cq-KbWu5z2}l~j{*7LAmXm&i0`I7}mO^=D=#AAd94k&@UK zqvw+RCr@TWx~rmM@Bm}VKX4gpez7ynA|FC)IZ`kSb(`^IlwC;R$8KSs73v3r4=Rzw@AegUT9hp()QQ zNZB>h0#6iT1?)-#ygPFW1Mbk-_ZhTmm!V^RKnex`y*xnJn~{gG2wi?)ejTEjHEf9j zg}EB^udq7|9uxp*{|oqa7(T!*X9>DdbMrw6VqoWl6ly53_cU{y`|BDk_SJkROl)jG z(K)mNJ(RTIs0vMU5wO><9>dTC$s=FaMaoP$m^gc4VHoanlF^_oG)Esf@;Eu!5`eC7 z{*g)z*m6N?3zcSWW~Qm5Lxvz0m=``t{|q(p`7_vY5~HIbO{(qS;9w;7tFBh}EJ&7p z{QNcmkqU8mn3xYA7=j^WAE#$#==dSd$bf$Udf4Yx9c1!>j9iKVkpotApi<3;+#zUO zop8m{Aby7g;#;fAqRmk_dPoYy^t%((_(!E$wD@te%a;R#g5Y?cuXd#}a&loHA%OTb zHxfO;>`}YY3Q;ylHG7|2X#mlNUO;`|hgh>i2=teR{tuq-u#I6yke-6z>l^$TrU7s; ziOlkq^ndK(lV}5XSYi`gstyq3q2E)5pF@gb#5BkOw)FP@51s!z+LCyaem+Uawb0Rl P_aPUx3^j{1Y;XTRfu`S& diff --git a/degree_distribution_linear_BA.png b/degree_distribution_linear_BA.png deleted file mode 100644 index ad8f5777f7a05f0c6fb3e196472cc356aa9edc4c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 27971 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 diff --git a/degree_distribution_loglog_ba.png b/degree_distribution_loglog_ba.png index 8b565bce6081842dcda0882788c152dbb97bff06..b227f7a66d18ed61ec4663ea985deb79bdc0f72c 100644 GIT binary patch literal 21351 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 Qf%=T1oU&|zw1Myc16(yAp8x;= literal 19902 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 diff --git a/degree_distribution_loglog_random.png b/degree_distribution_loglog_random.png index 2887d6023aadae476641a6d04d5188ca9bff5cc3..7f204c92b52510d160261b87f343f6cc6943bb12 100644 GIT binary patch literal 19690 zcmb7s2RxPi`~Pi4grlsGRTT#19lziI|L^sBPCcA+pZl|}>wUf7@9TbWSwoqUoQWJk5K5H`idPVXh#f%) z^~ea}Cv>!Q-0;_ahYR{n2txG{{f{7$kBS*V*bx;)d2P42?*qQhwBu#J7P+tOj}@z+ zBqq8a&3DfXr+qJZ>&xR)mxV41KJK=-H(P|iLQEW6qdk?Gsx9wBLfm-u5;Y&4)00Qq zl7qBPWLN65InQ70xT4O%!1M7G7r{Xv%L?C%&lUy;=H}++8{uWs<(I`t*#!5yxlboQ zEPG8nW5hQchnssI-|e6ae^*+Q<-lL3l&~c5LlHuL_@Bo#W&{Xg6^u|Ih@1tn9{h;u zXeErSg^_?BL9jLd{t;}?fbZ@$wal;KNIu zR^hYlk*O-WtGv2XO3|H7QOl9c2Dk&t}J7BclVL3NAjGDM@bEC1~S+CbGd$8 z@ZH@UC~@`OS)W{rp*gC=a>kiwCHzIxOh@`ljrcQ`jnQLcV-8)%J!s6Tf?-YuvrQ{t zLK9?teZIs=9^$&lzE(Z9@pIO7x-HeAtNL=-uP}9!$=uxBKnjM{sn(hn4*>Wl7)x6eapUMbzyHUYPq<$R;Sx1`-XN_mD#+H z1w@~|Gn!>w@+Ljq!rUCb@hQx>+u|qz(Y}qmzNTE@V@JKxKp3)jZA|A zRg;BQQ6cJA?zHnJy^onCbTSPh@puL{wnRLBt=A^|bI{AQv@HER%lZi32M->&4!TcL z`~Lc1)0O4!+X%1H+bivd4E~%9V>5yl?-MQv+ggvGdTNg zbabLQalx_Z%9SfR8G0j*MZLYf@b4%A!@KKC<7sJW&qQyoe(%%mb)WhA`qQURZH@{G zegk&0K3i_a#>QG&PrVBBRmk3&e|k7EF%f^(^$bf0%)e^v++EM}=L5Y~4~tsX6*vm@ zm*t}un(44Kk2;|=)t_Cu@;3~M#a_B^HmEfjbeZ5^G?Dt}UD zX6DJJSnhzj=H`W^>ic>hA|hyGo8H~-Il1o2VJaO+k^aMG=~Y7QbU(HBuV3?}6bD9+ z^2OP#&h@OXuP6F!On0Q~t}P5DMn%2zT6e5qYmbjP=$DS&bTwI*;2ffv5yA(-R)+=Y z_g2@`Y{k(WEnSP?H^}Famfqf88?v{t>8tSdwX~d|5GrNwI3_OsE;si|@$}r?&D*H#kOPrXDRUKd5bB5cBLAuK+2NS^OCnRkF7?8tB)bz)?&| zNm*UJd+U98_`$Uqci)&lh>Y!!WdeGiWfxIm;(h9h=-$8(LH?bT%` zYF3hci(zzBw`^?kdT#fRm|$(8bSS%+#q4#d5i2=4`NWs_ z+48hkuU<9y+-rY%NkT%R@Af-NW^p(C)9~<;{WnW+z&| zer6C~VIt??x|F~##6V9kE+*y;(bY#NgD`NYfImF>NJ~oZ+bSdp%I>0tv6keyDt&Z=vv8h(9T{ zMy&XE$QQoD_ekf9CRx`?iCtmr<*FK&F0FNchdGk}dU>PoyNN-zNm&5K*4DNy6y|Cv zt-D)q!L7A~xTsfMU0ne;@*${!`qd>^U$WNj?pI5k#JYv23ZKNpoM0O_@p~smtFSUZ z(DzNTsj2DTh9BAd^99@XtLM+n8lnWmV>9#fogtw3@GVr?|83|qOXCexLFdMmqaObJ zWl%qNw`4Q4O`V~|UJADzIC^}^^U}1Y83Z70!fHQ+BJJ+z#|P=U*&$3~^%mX`ZpCeT zo#*?DzSV|Ov&nct@_-o6MtGv9?CO&p^LpQeehc;mDsF0CUf$8wA@k30j01|rO*p?# z@8}u|s-Gw=FCYBo`-56~<;i7N8b3ZMQBj!K_U$UqHR`GD#dEKdFv&$l`X*6tdee1< zDj39{n`%85qu!_#l+CT?VDtGk(pzA|$Hy1SBAE-@h*vAksKRGp+u27pZRlXcY{rDc zngZeWoAin=a0fFl2o~yJNhxl_*z9rD$FCH=^jU8(trv+??)7vasgH?`?FhKjvY&wd zqV2bu$IqTUd&;H0RPaHfeDN_vC<>19U!xQpinlX*v-7{M3HIdOyku!4hBwDQ3{)&vd3SV}PG)3ez#%$8 zJ8t*u$B1}r)3)F$U(1jiW(X6gmf~(>}d-{M7*r;pyyY*nmYs&!wF+P z%M(o-8ymT~Cu5tqWJ!+RY@P4PtF_Gg-u?DPSy@?X>W!VPbr>~+ppiq7(eBQ|ZbD+> z(ATfdkW&Hzh}Z8h<8{M5Z{N;XaTt1M+m}MRouUr6@}<6hV{5tD(7-@dO$`l)21N{m z<5~ge_P3B(;#wO>Ie4Gy$jo*RBozF!XGM^AAfNyuMta#B-M6>xBR*Jp}MyD>IA(&vB8q-Vd&&)2?s zRg#5j-8ISK8l8_iYsd0%LPN%n#Q}E)#*fOYE_E*xeXR3(65J=AHQD6f{F{7z}r)ynO&*;~waE;;JD7fDGiH;S@K_SRpb`I0DGp_^^uxi()0=nzu1 zkIzn=q?3_}#6W+MQ_z9Kqwl$lWzN6Koyf{!-B>PHBwveQB~g{6hEM!-A)k7TP*{%0 zP%$zv;N#$tftt2Q(6-p2f!>VPJ3_t|S;o zW{V~hm_;ow8W|aBXndK?t`J=4?Cw4d7$qPe04A)+X)-D@^0Ru3=g54jafOdJ07=L# zcT1#YWrxa6MG|yEw8IM;_m;TY2YnE+?ak*-aI2Q?G%ELU*U->_%i7t^!$BK=;bly$ zPHt~+k2k=ttgOHZz(+*XsmIp_Qog+pC+w2U`gKiBO@K|6_lO4AqOTO@kXLa1B#2UI z+M8dU)7K$iL8PP#Iw~RYK0kjY6>swJ(IXo>JDr{Ad0N#cvi1&i4!d9Yc9m!e`6Ij5 z;X-h50QN<8{Zb{u6Q;#V*vss0EyMk{8E*ligYgWcGMe#zO=&>XZZr*0YZmU!tX)s; zc@OrkF5c%7CaVW3D;M^$*TJ zWRzd_tbb7nnSz0VLHYBiQ{0X@h+DDSqWOEf0eDMWZ?DIAePpKLdpHp{A@+@AG4R{L zwvUXAjEeIzTJ}^esywP3;(vI?J}93q0oXlzcdi?zc&OYPmfTohe;r_M z2#e&&{-1uI9<#~rv?{Y@zIsLGdOrW{fCLmggvsMOu*!+lCvF#!Q}j>;1}JbL+7VO!s#MJz18#2x01 zg`&<#5P#=f04WuV+q}5xrctTe;@Ib>fq{WbG0Dlv5EgOW#83o_2v#zkb};ky-VQ&m zc3V6)+Z)QC;{kP_KZkW)zi~qhfZMxwF}_;D3{aHng*EFbJHf2^tU=zSQ8;$&Se;GE z_`7%F%l4xMF;JqKXWe2tbM|bB(IIALn;rEX85RV=(NB<50GbZK0Lp+^E6L0Ic`NqR zuPrEf4+b-HYQwhEC2MVId4k7tXWp{10xWa!;>AZSnBrvicFX)GZM=12TNWRZYz#VQL+~g#&ikZ{CEbEjpiOSvr+4 zG4wSx$7l?9NMDyXxS(V6D^nDkho(Fp^YI?Rk%RiCT@DX2(m$%(Uewfd(F&5SJRu-J zrvL}L&gKLkAD~M>x-CiP*5(IheKOW1+#h9BoE$l*ulu0lQw=TMRo_RM+__l?B??5& zpYKpVqGDV~Q(yKiES*wM?mDFp!H@G@`+AKe^>jWBnIlM}l3o1Ix~h|1rzjC5U^Gmb z^}(I?GS9W(;9%eFF5m50)7_c3lYS%=SG2TbH|O$lzG^-G_3IblHqVR$uX_Jf?i3Xz zsZjnI6`hPeQ7r-6mR)#7CAJ@sJJpdh#{^7E?m{B5fU-I6)U7KJD&c6Q{Dl95BDw)e z(J@I^PKDwtKIutzG8==eq{@kW#*k z+<@U3VV9Y&0Pt_QPc%M*{MHNLM@_AP*}nAJ`##8e0=B9uD*A8D1M}maJTZIU7s@7U zqO05W^=pcQNs}#YV&QK4G{14%i`2C5T}L1sGS(cew6?b&f^ev#6P2I)_N|DZphk$S zkzf}<<5ansf7D>KuN*EI8pZ-DdS@G3dTV24+L1PutMZDzLW|22q71E<8v8l=ckM63 zWg;TJ4i3&Qk>>!VGP0Iu^W|vq$ny={?#0?T0jl)@bI{e zN9xk^>j}dyG%mUOTIB@(H9yD7nYp0~Q!-5>BmQh&K|wnko3lP!g|3;7j*eRiy4yFk zKXm0h5Bm@pbF}iLpI3TN2`6$&jwa+5~&(BZ5@Ll)qcWrHLP}A)*Fcdo;U=kD+MbCkT z`_eR6Dg_+G(1rN+wzjWvU4+iI@%wXvhX?oXM}%vz1Vn?t=-t16|MOFBHR_?%loT?K znb}!sB_~#oDGmnpRF zdQYsv3&u1Z2|Wn+vOU;kCC!RyzrVad-r z3|GRE1Y(XV1?TkK?&#=Pq7o|qW$x&>1RPm^=thl1`CGtS93L4>y^;sc6Z6 z(ApB^KKVSSl7dhe2oy{C&rU-?Q^2Quf#5RaxlqQZo8|SRij+?$gNKi=AiBm(fZ!*&KaqX*xej^ddZ~FL4N*q%&A*# z*$`7@ch{RUGc!?sa$JS8pBK+gQA`C{4}#S8=FsjS5HIlEfZ@F1J5itpRdCH?X7pb# zl&J&NUOJcv_=xH-sNR?QI?PE#|KSv+W#{-QN?7e9kZ=tQdZF;L8!RpIT3?Ebiz_TF z?C|J~08*61)-i5)eeNp|gsL zdd3|gO#@LP&B4JTAYcpl=f;g2#v1L!;+_8DXXdXWuINE zJyh6>AUxf)S~vBqQf-LTv8iWK6eKJvZD1YVPrxqR=uc89w8vkIc%+`aPeuU0L|+k3 z1k!~Y1Bco1F*AbB=Qgvq+h1IEGlN)w)91!pKI7lh5rhkZb=?kv#cErrmBmZmTm>sdDBPmjO z+d2MoJcq*3LOTlA^N1Ceg};*N_lbqOIi=+BWWKJ75UFg8CI!l#oe*P2AZG?Y8D@a{ z1it>KzUXq&P1R|dO52C8pHf9I z@ZWcbNxgA-=O@sWrh0mXb^~XoYk^d?ym`}eHw;d5Cjfn@NWS0ogg?s4K{0R(pBcjY zGmr5<8zvWd$VJ!k&WmVi@k7Wl*Gh9vvCrE;fx}Jk^Yce^(bCaf)z$S}a38L`H)*G( z@24Wp!4$xEs9)FFy!zE~)wUvB7JR)T7IHW*hoXi?NGTT|UpmxP1qB@z&G(2%JG;7s z^m9L2=Dp^xIu`3!$dBV6p*&J*!Atofos4`KVZXviV^)x#PsVZZ;K4DmHb=fBbh8DM<@|x^>8o?($D^-5t*7=Q zyOGc$UtyBkLUg)mc`=jrDFIGgNpT*w59IvgFUMFul!_=pH?m z7riB^h;C3AOk`{z6lJSw@bF>5vF?Dxt@rUKh{@YzI)a( z;l{YLVC1;-y6`=BnWGK-c`VZn#^UucqE`Fv0f7ybUN%S?8?6g-`)0ecg@lA$6Vv3A zU|dUqx0v{kGI6oDDDphjpOWSd86Oo7@ZD-|jg$e*$RIkH>G5c5Ej(FHMy>YavPd39UCT#r5xobj0%9+8 zi=Ei|$E}I#In8kxtk_hqoM;7>rr+W^5~d;f{h(Y*%kQLW#(9yCx{?W)ZgQ@;S+bFX z8~IBfzVU7W7_8}-*>uP)rij3$3$huuS{IFRNpz;%i1k$Km3IFd#KtdAKC&{_;5{4_ zQyHMJP}nv-t4Kv}Mp^vs3$dOO`{y#Xawb`Ge&T!Chp=*CV^j#2!d`sAu-0#rubg3L z_lifNDIpNoRV}5(nVhpbNof9~>%pHuX6r#qPJP`J!k)O}Y=(01rvrq=7BTxsj6()m zyaR^=mR!iqRmqU3q`h=N$baLa5iupnqRS{V8TR+_e=WaDa4KbIme%MczI}R3UZGMo z+KM*nyfX=9;6XV2q{z<;juL)x(#pE@W(3ZrkO*emw}VZlLpT&F1GesJwWgCRQbWFw zV@|pl|4Hhffe0qo0*4V6urw!PXXGSCY~5?G$X|>nK?bLcT8~KUVb@>Boq43MLZD`z z+=?69q2A7ISxO%e7x}YZ$VTwyWu#Ko-b^Az_NTFd$I~mWWBx$QSTw_V*g}S z8w){{NhuqDFOSTAHFd;_@44hqDoHheWx$vTwKS)|eKMDk*|)Z=llzkIt;K&SqgG@_ zV{UN!w03v>ZZ<+j$S*C-&4D1AA&8o1qY9Z`AH+~E+tFQJ*pCNER7F`Kr0<3Y)P@(LQX}URJBLx~N31$BL#|rE8Et zoIoHC9mAXjMURa~U&_n86fgH&ABbT(Y z_s=SQ0$f4KcI-NrEBo9Oq`CA(X5&R84$OnS-y?n>N}Lgk7RcJIey-C94bX51;h|9} zJ?kHWN7&o`XyTCGKYjdI*I;Ce_^f|V<2+2!5|BlCiXdwKf+H!0Cy?>c6nP7a$~=Pc z*$0UY=M1-Nc4lueIZ5`mlAPjHC>HYcZ!ds@_80$8MnB|mD^{;>ZMrC9N!V%07Y~Vs z5yr5?3|BV~v+zf@Ud7uW0TeJDimaBLBo{-_dlLnj)Ipa3+XJ^I7oa(xmVAgpm#2A_EQM5Q*}0qvzV~a|My5&S@?Uj zvb=a-g)@|fEmH*q3iQ)K<^R#%>bO8l1qtJWJ!DhqcHN3#1_d`iLfr@N<%kMaI-ZFq z+IIjK8p)&I+A?P9RhW9lsrM_*@aS3pl+d5j{{A62@oQe z`bK-=4(&%f;0x}ks65zs5!_FVSXN3cU=K4!usZK~^<1Vc?g z`En%ygolgzv{`SAaRC;3MnljE1yTS;Qc`j$26*zCnwri|ou4I?ET?nI%Y8nF9~X~R zAJC{X46y4Af$lL4T*%gYgJcAXJTxu`}-;=>rf`?8t5As zoCvVGbxU)wDIP>eFZgJ&B9^353ZSVyoMVX4U%VagC`mO&MYGXlee*d+6PT))b&}v= z)}usng*>&F6m@apzcUep2D0zvgl5O!7~nWd&yx!8gOuYOe~SoP6>-y2M7F}d^%~(7 z#r?*HH; z4}J$22&*{I(m>Gzk{c1m?C`x~u83t?zxsJ@`iy#VA07hXzHN3E6W%U%Bml16OI2(ReT{SH`~vHs(0O_CQwNa}8vi#t0z1Doaw zBsC=^CCHxB)6>AUgA0Wb6b9hwf-^XwE}`XOPi3RP7*o*zWebemU4X{$2i^&1b^reT z@bAgyM6gLXgMyuW{t;Ln664}nqL`FfAlK@JD%_+apyv#sk<_bLZ?cEq%38HN2gd}Q zNz_m=Z@9bqzT$gN-XutnKlKT= zyFfgE6b~BO<-NC=iDdep|$vPk1>QBN4qhD>TdXt%X)u~&eVqHC%@8_7LI4&Ow zy#2R<@L$UB2<&cT-~9+TvwkG)SQ|?PUJ8KoY zl|CK5K?UAcqIEGK{~8EpQyK2b<2ibjFJp z-##&zetoHmU~wPkUSJzVE6)Je2trO*rlBhk27=V5;V&WI^#&jp?%&_Hoqm%> zDbTvYjw-|GZBVD%eocnP&n*ar0i1Rul=Q&%s}gj{)m-;YB9X$|gCzUHGeW(GVlI5lc(Yt>{E z&br#QJeLQCs5e3E4V-qIL8&Y$O%;wM1GM=1)<{e;7z7{#_a+=fIGH5%W_Z!qm?I34 z4lU!GWkeQCPAU~Dd?X>pj2E-;02G)2NNu}pGA@0-q&B9v*T9yK0LjUDX|&$xA87UM zaPDJP>D~nqusAI^r-zcj>CrooUB916wCF=z@KhD28zC|kFh$<#|AlSkf~fZC(oK-d%GL&h*nITJ!k#@_hp@nO zRRj^{b<9!tNI_0R35$Tb0S(-ineJIg4n&6{Q}Zn* z*ypedC4IJjm6n#?Xo&J&D;c7*TRyi1=he8-VI*;PYx0M-_(>6Jdc;l3O`b#4qRLFE z(Z2v}B*3v66+6FH4rPTn2NuVm%?H^=Md1kvgRQMew#PG23|TxTO-(Oq!NCszPdbPU zIOXx;;xinI5LnaG)1}{ae*FqXtF<8!M2#`CTjRXC<+KVa6pg_oe2ZQT;CnEw@KM0I zLtIUe-dt{$O%%T7hZ%(l>IWSiNHzHLIO`}FO7Q(jBOF=kSMJrPiCfpd_ZD9MMkB&@;$iQeXLg{{QhbvAz+3zY*jgjm(a;J_SVb5{Om6RnZ|CTse4 zH`(tmC@27nUJNaxsu-fjylgfd^z5zKk*r;tPY>yq{DiV9zxNllk2uWr7v=4h>rlF9 zWeGkX*otz1A+M}Bmkh9a+)L8_5W9AMAEp)jYfz&r20k7=WV%~zET;FERltQ|fpcqP zHanHXRODIyIl1|Y-JR;{YT$2FWJ8Xe6+e5nZ`1c4c?s|Bf8%sYHqV7r(J}UOnL^^m zvi~sRIAHM+lf)wB{oU~SBx<(=#vQz-<6`H}pC4Qp(d6I$5Qr$@6t*VkL$zJ1%)R$W6wCok4F?~E zV8!#yr5Pyzuzfz+;dKZl6rZ?L(cFE7nUefVbWL}Zh&=vEHhUtL_6AmP^#!xXqyqd@A z<&A7%l+BTESn~hC^*Xcwf9M?!OsBxRsdX=fVa%USnrd;_l6y+)hdjTrprlW|PrY3j zd}gDgqaeqr$Zo_8$X$~VJDy=$Q4TZVjS(#*JeP5wH0>6`U!xN48U19HDt@Z%ij7R3 z4jzae;IToyJth0{!^o7Qk4E6Y*NDrSnj<2uRt_Zh^(d+D8(&9q#M4*c!3M7cXZC^?jwS^4$$Bz=B!abi^Ir`k6^OO2j-rFLGXesI73~* zY~UPBTJN2qJ7P_Qqdh=#pW<9VOH>wR{>|``xkz0TULm1GFw1~?2i!gAMr(6DqOS8s zcg`vwn4!`Ai*4yGX=cp;qpc@slUivP@0f!A`P*9onc4JIc2FS7=NL@q9(pv-7jPjo zs`usturKx0L8u?i6j7%Del$7i=$}w8DM<1l2StDJd%p^?q!0)V%5E z{zi(Kj=tS2?L2y#GEZY~>7|B_s%Df);TAINM~t=zGnG4S+{*d-?(dfqywc72Rdx`5m&N8eR|< zCOhmW5t0X2y@#zcnOrw|4RUL{oJAA-#@{W5Vd=bAsJ+A^GISO8(FXN(5*T>1_Ut z{!qzLG8Bv@az-5E;)3)u0YWc$>|i!KR{Md?sq4yNcQUVXQxz?;@6DgiDw(hU@&z1z zK~7Fi3+0=33GoC-aW*Vs9_j4=yvM897!d5b@Y}N&KTSUWHsCr`21+1Ue+sj`02QDz zYsJ>M(EYDXoS=E|gO<}iI?zlOk|g8_l{~YAU0iKF)F1#Zb^f_+kss7hWy%m`XueP? z+n7mbX?Tz8e_4tO(+#E99X1cJl{bx2H13`7~&FHj+YaeM)s zbETz5p&p&luh}@~8qK2iC;))0W4;lP=_p(JI;1y!iP}JgYtFkd0|B|y#oX~#3KXEm(Tr<5s-wz zKh8=`2jgCa?Ed1#xjt3B*v$i$iUx=oBiG%alb|FeO6tMU0|fO`&mB&NNtwqjLw~DE z#TTfyl$Dv+jLd!pL*M8F?ss+r9*d)&4By)sm%6o1JIjC}4-QW!oE!{qoW{+!1tl zH&0SiBG!Xd1*{9NZJ`j+m`_<RHIYa{WJ_1q*~(!*?CF{ z4qm{uv=$|!y7Z$F;{f`abAhc7Q1x?Vbl^?_Z(7J8KXK5XI%#53;z_bZLp91ovrA3Y zE6AZc3PkK1(kJ}6&G}ye5scvO9@v$4`lA>N%l<6WQnctqbz7wP@?mirV|i2^Kt)p> zsK+T$hWZCJI2Y)u`8kDODesB8*b5&s=3C)J#=J9iMQf}g@lRiA4D?N|a~GYB{{qcD zA8Tu=nZ+}}41yc*>pS*3GxKq1sKkU3lJS@& zP=RzDql`^mFY-c5?aD>~I*%DS!8iDK91LcU8CUo!%qWlt%>!v`MUX3x!DfWEse=m8 zid1Icnc!f@x}6+udXjwsMY-w;JzOgC(%9L)J#%o4ozru^C#F3jJ2p5 z3{NZYh;p91prS&fkpKRD0~ixiQjSHIki6$DJaNlM5Rpq+o-c&$To2+Wn0f*+0GpO# zz*y7R*a+^Pf4-ALF_?iPpnW<*R8r6K**KZO-9gLnjhu|N+-yBn6Z>$F+ziK}1|@x` zed;IC28q9b>t3~Cxbw;yT@3WlgSQO$@O^O&M50AR^xvG%96la=f;|4}0a^opP%9@6 z$vVIOi@sG^b^>pQ;N+xsw?LtKE(n&P?l~)G@uVLFPa<+oz~1`o29|`7MgCv($?*Y& zo@0wtzdwpnuT~%RqFySiHBCj%_mjF7^QwDX0Z5@HtG9_qPr$|QfwpwYU4YM&q5_fGZ;=-Q01{BI zD?vA)tBD#?P!~w?*by}vwcYYV37x3E>O4PXvouXd}wqNv-7-HWw)pm1J4=}LS} z>*A55NJ*5Xl1qWCaKbrj3MdP>RPf&{DyZ7%^G~ra4Bq|kULN^#OHvD^n?2^>DMFBI z!$%BMC@$h}Q2q(jSkm#G6XyK>e}vENBLg57Vq;q6%=w8x_IwIz`XAZzPe%WpPHHrt zHEMkEOtHXS{_X$i7g4klN0;EA9wH7!AJ3Ol<+-R;1_@5XD9{+|6a7hh!wqTCXLyst z8O)?6svcfIS0(!JZ&n|`*AlmDsmVM=b5t6bUhm#c_D zKn}oE-@xtlA;PQpo-kzhz6*q*{Md=uW84~X7cN}_!7fSn0|Odg5HddqEAqC!(3b_$ zz!+O?@L^HtH^km;_iBeu1c}?-(C7e_s}y0zF!>5v%^{-gkW zsFDr@BMn<&82{hpy-4)l$wYv#hu)UsYEfX6Y)Pm28VG~#ysn7tXlvsPxNzaZldcO5 zP<@_oZTEVL;oR#wCFsx@CnYem&9iJGccsJhKsJ5$hGnX1!WaJp`r_^uafyrTjN8T7 zlV`oFq9a4Fic}9$0wE@i2#{`w{FhX5tDLv6cb_i%@55fTIPXB7MWLGR_?!>)#Xl5? zf9c=(k3W~@3BWCK1~{CFUrM|crEmG{MpS0m9N#{W5*eZ#lil}nMH!d<-vmAu@H5}N z`)*6KV=ir-s|Q?}U^O~>=8QtdeWB7v802}&XWAAdQD?j|9u@{P83kOb8XjfXr&^Lg z`RRsQ5X?%T!LYRabA&j{`g3j&akXod3?hk+TFK-^2|*78RPlF9yy1f&LPY9BMMaTw zK<Wolrc}g#8&>eQW8b((mHw@7_P2ic$h_HvrO_n3NGC z%Dx*yhMsOHV-a}^OU-TJR;%l1zQV9n#9#fW7xTMNfV{$ZuIV!ShrqNyzB#3A=UNDA z?3W2#)I}~ca)MW}*Jl8wQ^@@4!76aVs@QufvKv7T1fb6a5N|;}>Mr2(Ae1A5BZztx zFQTFH@ayTABR#BxjJ+Xhwp|F0I&n}PiehL zK~4_OD>$}$8tnUEcixvD8y1V2mal!-7xW=4Dr$np?DZD=JWThak+gmMN};j6IF4%Q zo=A{#&&|oXYy!PG+Q!D2J`zVI_H$6Noc_^oEANGYOgauI{J*psz3FeNgWU0V|0Btw zJc7tYh;mk1|7+7xWXa(o6|%6fuvXw6p39Q?VGbQSG=GAa{ond^!hTW)lZCmc6uo}T zd*Y3qHAM5jJRrZnF3ETAhHwY|wM$85943c++aK~X&rP%j`KxMxCrY&ay>K{O#JfU0 zDlm5>l7<7idWgttXm9iq1pZ6U(RcMsN%-QD`C>j<*^0EZ3B#d{sC;;|0Ca(0*xvgh zH-|+|Km*B-|EIzL=H^dfpzVX+b5n4vU^X;_La(>od+H-+fT1jFtB3Y*4n;M!M@x1! z_Tg@%de$KjcQgfSJ|SqWoEB{gVMOj94-+}5u(wePZ3x(p84uQhK3|C?09FAS%+fP6 zDb+q9uV|-?S?Vb@u&E^|;Rt0Fcz`kCg7#zZ42heArS9OlN1x3BE+TIAn3b2Z+r0c8 zM8mqzUGLx|POHqH`8VYS+_cJtHpJ{^Ar8iF?*bNCK z0{t!om}90AOP?MwfYVoBPmd>?_r!@eSy|$xe#jQts36t$KJLo4*1y%8hea%85b0mV zVVC~1sg23_Jo3=5@X@)7s$0KYBErIG!2L-Unay03ntGlr?8y^$@cs1l_J%)w`uH_7 zBDVL|=_*33ne!gFh^k1JyMFoi71qxoNY%fVo+&vU`{mea=SN%Y9ncu4WM`L!Nlr?V zH))4fH(*&oGAUOjAj4K0vuwcJk|0%uvsooe%gaFbi~;42%1+lZ4q~x9{hyMChEd|= zNtB>5D%^u(M6)ipMG1*YIEzBJ9rW-n-k&_6DuI| zgH|ilA4!No0!vPRWR3%h3N@^w6vlr(M&|$R$uoNOz@J;#%?_4r0`VnzXY?a#^my4W zpqIlgCiW8qq~(%6pgRLG&^XfO7X*(Ss8}2HEY_xxI}MRKCkA-nBIr|W=m5SSI<=rx z29!J4Q_9PS;w7Cdp-l?O9lahl$>VZ`JoxPtGD-!%MpSAwDxP5 z0aX)PVRW*L*2@;W?SW?0%`$3zw*~DE#>LLlAX_Fzx6hzGsbjHhcs09jcWssKK84LIvq`*Pj|;NlBl``!G_Q7pqG z8v;E7ZBeP}|Issc85aZ(EIA_M1;^#1#WwV&vU<+F1%d?Hmo6B4TPtWsIqc8gFQvUcgO30>>+!y`V3~~KOXXd7e9XN7`!PpfE?lRb$X0z0&vHgq1*DzHeo{Q$%ZF!o8;Kl{7J!3zQ`&!dMA zQ+~q38=m5i18!~eQ{Wh!%*@ViuCI4A)za68)N>!KBKF?1hOB3A-n_^vZ5r)evLi?F%Pz_J18u+;(ah5W9st_^I$?9l;q=^g`TT<8xLqH1x)~M6-3N( zXjz<(g)a96kpwb!1%L`U89>T!|IGIFUhTPwibfS6jzBQ~zqCq0ph!U5nWCb0;4wVE zpuuV98{6(L@Hm7%{yrL-0*i2#fsPKgbGPR^zM65zz!ECNObNtOcoG3LW!d1ygIOdU+fr22qWCojZ9&+8FY$3D!qA|8 zJ&phn`u|%SdF@$hX)^FIWoKk)CnRszg&j48_Hoe1&dDA@M4>AQJ_=7QLLb8ekq3G> z``{?S)`2G>xPs{|2`>c^4XkVV$;k@W5`hziDw>;{JILn@Vp)l@E7%&8N&2r3@_M^V Z>d@Hyg3;N48d5c)a$Z9*OToXw;gChN|~%8G805VB?6Q6V#%?3L1>BFQLZZz3bBNF+1L$le** z+wZv5=kt8V^ZWk3fBd|jN8Ik~zRv5s&ht3l$NT+0uDhD*7bwY?$Pfgfyr_I$3qc6j z5Cq?V6dzupqow19e-1e+8#*Hh)d$@Fcv1XR#}I@Kxp@AZjz`?wfR78^*RqXY@u<2_ z!VAQK)C!-Y7R|$o@fAHaI4QfxpQ>`YdJ^=w3chCK`6il*ao~MTwnUE-(l;?-&WQ;z zPH9?7jfrA=wxstuEaOTh?-+hmOv4HJI-4&Gk9e1*Wd)so+?e?MdDAz#Sycl!m#VRb4r%p?nLX1G zv*EE%PX>Lr?dbY~P(q5N1kXjSwG> zDh7A$7k<1;^xev+wEP?+eCIGLRrQ2bk^MmVa}i7R7$J5pF0Kx{yQYK&LPcfzyjzXl_!zmLeBqIL+!ha~4tqHxoy)iK{B9>oHaB-b7DR)^MsvA0oR^n({}=22t?3S~p5)n{JXTRF&BU`l z^Y7Mw^qAhh^kZT5M7r+g*DU>K0w%G~pMNiP7`(vZd2PDm_4_-ApHY>?e-kp|iT`wm z#ft~d4P(pIE+ymc?s@ddW|?;5W*L7TUFc#Io%*VV@6r=kt`!=IXW_JR8?}eaD=Kz< zFX@ws5iVW#c{ecUZo09p`z$x?rTVih_;6N9r<9bG53`r^x^qpWt=e7&2M3=EBHmqk zR{eAxhPZ{huY*-S4%NGB+zB3at4ZW3Tmf;SX0+;&bz-j-L*TCVmDnwBy+Gp6;8`$A z*!QPgd?K^{@#Dv5QBjidU%I-w;JT#azrYv#9L2A1TJDnZ=FOYpVwW0!Jgs3^9rO$g zs(p9w-W7i_2Ycqhg9mUsm-=2SV8YABe!T0mFLn4{s3>)<=zC^n=9osJh~>k6 zzMdu%8~#(L=6dpAh}*q=eP*8HbT3*;><6UEVp?u&f6eoCg-P7qUhkV*n@qUm za}jQC?#XWj7N<^~TAplWz%;U6F*JN06Y~~sxau>3x&AVdvuF3B^i40HJv6K@;FIz5 z=TC(@R4`z)@mo#O$i&2j)eoWH>)>kMzI_W9)Fel~`I9%!AcXaa(Q^OUFRKs8%m$+@ zL)g8qhqT5@IGFnS?tNtS^B!-CA|RnkNlVMS@}_B_$AwOr@|9T4s=MhXH-{N@K%#&| zID;UItXJ`DLQ+zautkGM^i#B9;R#O8(RlYC(?5U8I1b6{>2-^=%5c6pAue80UVf!~ z%2vD&HtOykt+9qH8+Xft9r_UM6vs=}m#^B`*x1_sguUkDLs$$EFL{v;OUWpNUHkc6 z{aN+U9jfC;FqQjz+X*29_}Q?%8}IbvXY*>OHr{D!ZZ0Y;Oqs(HWNW9XA7U?Y7!;^} zos`5ODOr}4rOKzLr8Uwk)4K4jtLsE?dPYX1>5sR!I3*Y5B#Kh_w8s_`Uw0(PI*ZW7Au%Ecacj!}7Q_B;c+`D)0{{8#MB&3tSvevho8qN3?XBK5?x1Kr)Qu1YbfZ}FR%VJT3Xs`*RRV$l$P86-U|Czj;B&W zLZYYV)yRmsXGMPg;?CxB#|hD=WFV0;Nn; zEHXU7F+x`ZR|@s>OrM;*^tj~kaVeL%-Z!|J4&lBO>jL+qRc>FV<_YS``1bn3!t``x zMXBjKuQFHHrMr~XA($`-OwD~EAtA6YZ~=CZCQE*JQb60P%;{i}l|nExsrG&M^5swn zgQ-EWRXc1W2-GxK)3Os0Ogh%`LvoRb#xc$*cb@`~K+) zULKx^QaJhGj~^^Ls)2T8YQwaf?^27?aZ^)P_I)8uo)aQ>@e2uuk~eQ)71g*-+LaEt zK^!zJy76vjso89Qs|OOLeNQE!{`B;8)y*%BjgI_odpnz`D?Gb%ZaFz-)xMapFJIKB zuX}q}dh>{jcZ-;=WS_Hlv$4rSnXgQ>FHz3G9j3=XOeOR4~i`{-r070q!fETRb(T|TF!5)Rns@~sS2+I8aMn7WDyvZ-Y z*n+JUk6R)mBV(j{(EJmFnKwKB>?oJk#h&V3Cp)e2OP4O$?+5w~1(2M_adC-FxF$<-K_{o}5xc0-t66c3$d5yKJ zcg6+B8NZyGlPxB@Zf9o~5PYkR6px<5t~vUYp`l@C>ZN7fAse&p-g4L3U=$8kp*Y0F z+sv%3f0`6J3|3`lXG3N<#Qyln6O(;)F>&#xK2!c@fz`deS3EV~^UTdh!l*g%Z9hQ* zFt@OnotYVv?WjyZnFAVt-H{t5xBasSGNHZ3HD_svtb0R2ha2ka=LW0I&W@GO@$Jx; z>zeB8L)sAYSj3LgWGz~dY5Jc!y!jy4%y9UW*5f#t!>%wl79SseI;YEKrd>u{ZKvm3 zF}vVxRXr1sI0pRK^Vrl}@}sk4)tK*_ z%agK}Ca+kzu@t!%=V3;zZr;pHPY(+Zf3gr5S!A_7*T(?i1LhdM*4EYv3k%1_#ssT2 z>ZV=xwyXDV`}+FY*v!6GeRhO~X1vcXj^*NfK|w)Bi;uM1&j|aKCsZvjBm||Uw>vfD z>>L~f1qB~Hdi2a_{7P9*1*x>O^y@zFF@@av6egvI%+s3#3d}Sv2N4w#Dx?${35j*cWDpj{$Hy^Yfr0p&Kg$wu zU|~RUVya&}&}cqDt$c%DdmBlh$-)7ZkXD+I=VlTm&gFiUs|0umZ$H&curmMobBU%!4G z?nYK#UbWM>iiL#*WI2e4@hl7jfkfm=_Zf#vxl9*0DDubE9VB)=6F5R_RKm$#$KBc5 z@-kz^%b~{B@)%FzjgF2wJ2|PSs6c=}$>6wKv6*GId-FpWHQ)iaig)?>ngVW1W1r&U z;x;xmf=CYYkr-&m?XCnLq8WiBot@2mH?Nl&sH!&q{9Z&uL(|#W$$&P{ynLD6-8vVC z+91%5H$Q_M(q~(;v*X>=2UoSxz&v5_L*cbzu{NlyC{a+8@SWIl}*2d@~20A(}ZtlZJPk&eq->`8>G@A? z4%G(1DgvMywZ5T3@C-i{@*-ey4rytl@_P{br(r=#(h;CTqCF_{@omdyjs5||`br(1 z**C7PQnxW3zD+zdc>kyf>{K(KRo$;P>Z+<)+1cJR8EHCsM^i=Ietxs=Og&{(g6^Pf z51Q$DY7_!tO;AAK;o~RPYGYVDNB7~n5XeCAmh9x@QK)?Kpez80MUOT>O}o{O=;d6| zH8HXKRR2-8I`t{PjMvJPWulLso?fcfGBp{LRr9AsMBL|kbZL)B5`Q)vMh` zuz4T2RA6sGb>q7+d?zb2lVbq2n&EqiSKk1@zFnVq!V0sY8Z}gG>G!Gs-{l!pbQ~zG zn5gK96DN3R9nUbs5>Z!HW)!=r12s+=6;yUpyXZO^ZuM)|u6?r=HzRUe_+eMt=f3a* z0740@+!rm~-@aKzD?r(%F3Y;+J=*X9b}lT8l@*r|B|1o&Wh$ zbdQ}S>kxvRXt*G+Z77OVaM8wAO1y9Y)JYHAs`}FBkgIr48 zIthYAzZ|5!%C@w$6pU(VX#xBiwI(VdVR`*J0QRH%5qW}iG&IS*hhUzW9HruC^sKUx z*@x2ejjgSDSy|iNrBz&W8ChBUe0-sGREw%kr8CYL=} zf_RnQdAD5YUfGu;3~$cr9^Fi$s=B;4Rf!JnoX*b7)G{E+N=OUwg*+v+bH8=tIJoe^g>WR66r?F0R4fFz;yu1x2}Nu3aAxQuZ@F)-*}Wh6kC9fQWW4!Fh$WN zka6t9`vCPHJ9f;-$cXN&zN^uP3%UE&E4-%G?b@B|HV=VTav7z^y1Kf4?dgF$q$+K6 zF40j@7X!LpDclK00mD>f6hh_zb>98(aNw2hcw0eb;6zKO><@Jtd+9l< zeD!!Ku3*RA(sNMdI5{~1SnA}giG@;la3NQ!bV_BCQ8hdvmKTHgzh;(nI$ssuW?w3| zHI;l=Zf6mqcQ6WSzH&&3K(~z5K`kP6d+q0BqMxazW<*rf>f-yu`#&w^w%@bvu`y_R zsKVU>YJ;4N%+zBzL@}KH0jr#EYl3XRiKu4$Z1x>-U~uF~FB==97kB|dKzZuB^VSlV zLU(=bhX#dFRjEX)aRNFA3t3gRgA(s0zEeJhI!o==N~gxh`$wNVd$#^rq!o&nL+n?K zj6zUA-9+!B;S@%s?HwIXeRic#DOq)A8wytMEcI0Htpc@S)TE{55sn(UAh&h-+__p{ zq((i2Xo0}KCx`xK#G3QhAoj;xZzvpIhi7)ZTrcbhI0u2So@r=jfP^IT`FbeSf z-SF_NoSZ0fncukinV^}QPft(P+8fu|?nCTnw||O+l!}Up9bz9lT8tx=q}|l0GI8jf zAhtnCFd)#0vM{0#b!>ax)VKfbEevT76Kqjfu@?ZFE%y_7m)ETXi^z>7E8*DC{6Z2I zk0F48{qJtC&*oM8PR6@`0cvh@X&lG>0EQa$Ss#E1q_3mX@78CBEA@cy+XpCI0bhU; z$|e&4pbDVTIv(M)ezrd<;n3#&b-(>}z)60;>KT@lzZP3}`tHt}?N4j?%}h;g09T0? zJTk0OMr_zvnN2kQ}{P$?b(F(g|(9i2)DKn#MW-m72rOKraw0%!wDiYHDgq*Zs6 z+roADS|cYa?plqxL27Mdr9h`6P%P{Up+K?V&Ih30;LS~4dwY9tZ*Nmm-2ECeuipBa z2jDa^CdR6?kDQ$R5x~wleUD~O=yXJKI&v=%cJNl~!>On*ntN*r@nQd;UlPu%R>p*TAP zp|yQr-F2$Cqd4efO$Re4(AbR6>1D+(&Lb%1?ppjIhTmj%%)1U|?O^!hQQUXrq`d!Y zk_1IkgF})A{$f_W(jToa^Y#Phi}<%UzAK^^rk_3+%Si$}H|N3k8bV;h+0FpqTMYlr zey5OFKV$~fb^ku@J3_-&gYQ2S5kyoY*j?KZR9Qpp90F$xP9^t$!jdBC1YEk%Y20^2 z%^yA>P=Sgbss6*Tdqqq%*5V^IjkxcK5FUU+QYuLUWQXH79skdvbS9&HwVtXe$MEHeU})VhtrygO)Ab!eq8H!{h*EW1Nyz=p{;>A4 z%Fb{Eg1v_Oj>I4^ON4jeN__uN{3~oNkwHX=er7JhD-b4NSWl}{?7#z%~#qs}`vESlC&$C#Lo965rYSIc$>`O14iQt4s9{eE$zEmj?``-MYQ85E$f;~@(80s;Z_ zvOUVWKb5rzxW_xc&>v1IVnE6b^uapZKqsZZ(g`nzM4rXMVY*5~6Ef=g3%6@&>g za&p*-Jn!Pp+%i{Je>lmS0VI-rUrA13VaJUk$cwJ-?j%}4=cqO@k1L|ipP(^jSGxQf zZ>Bp>;jHh6$T2E|`-V^Y1&!Z20_Lcz!+2_3zI@rvF30i{VEwZ`s{Ue(W2mHaDW_|F z6uF7-Ur9OFT4&M0bVyY zLV-PwK1TJL0!gcZO8r#Rc|2w$CWHk~@AmBq6o;_zI}$0;mD9h#QvLbGBUUtSExo?r|FyGo)K$aQ_GMzOCR`ZNh9Xw0;n4Bo zW4dH={@SvvgDS#D{jHKOT>B63KHLMN!Skh#dD>mNbo9=-s_@zcg%h|14j1F;>4^!O zn7HAo0c9_gT3T9K8!(gzr)>)vQg&vlJ2LGxCBI7P&R5zseAiQ-B+F;Xlb~UolrC%$ z@4GR$*2|lvo<>I)dYIMJ*tpVd?#lG*!LO9!cD*`=hSTM0K^VB5W8}@E21=r6`Iq+` z>5JODE|KY;F-XPBr@!QNGfm*;&6~F3MnGhN?ggCloZD>+i)74ZW+vZ@7J4l1@Nj$X zqf*~E&N}T1cC-i=w|#lkcT{}h`;RK0+bJ&)`Ab(;y0%t#zkdA+Rgm}#yRpW|)z#IG zFH1{K?B`*+jjpyL&H9v~Qe$*@(W{J^MWshVrkbpT=@I^Rh!Sfm&bd!2;_T#~^QMyG z83d&s7o8=asufcr#=13GKSMraaOs`gKOns@yAn^|4MEw(aC9-dQxlupsBzNBM}&B@ znx9W-pse}%k1h84J_~gf;W4+Ohs6GER_)p%is>Ymo}CsE%TrZRO5qY>(@iCMv+;m~ zggl@4(rrt8v~0xKd{lxg2ZGouJCPtt&KQQr_NZh;QUFtVlN zWE9u&=xcBcf9#Ke)}K)mF&u;xjSE6_$(iyiScqC()L&F=vvHyPcVH5}{aO-c@x3{h zI1&huQS+H4TG53_o{l2d>LE3{W+Tw##nUqs`A6uP#JGAYU==K!$X$PCCpMl5VCe#~$G$vH@xPl-75&^} zuQ|%E8NVA>nb@Ocj!ByoV4TWX2iN{H~Ai@|%`;>7E{T0YBsj zK6-_fE8iegJ^aN8s0)OTREC5HL2f+^5Z#!R5P$ zgOGe6hax5gjJznygVSEk4XQU!kr&0i461aqsFlFU&?gi%@jV&xp?UscZLrV@VM_hq zgyGp(I4U~d$KuhCI-b#~jMVfL)+4-_7Hx97oADLtqc#MNhy|MxjF(A#Q3O z$AJt_DafEg(r^tz%x3R(Ac5Sd{k^78u}Dv?`6&-JHQ385yRjgyqo_hQ?nWu&=>kwd z-aj=2{PNoi5SivorRU!s)gy~=;1MpMIv46CC^wD!m@6jk#GAX$$;4L#TYH)`u2kEO?XnYtAqlw*x-%uRp^~r7)n} zs4_1f!w7)mt@gv*w;8A~Qeu74kEHbeVMFJnlf{~;SPVhW(R%1=o-vFJYSNeY}ylD1bH zAZ2|6gSWRvm8Qo(+@%46Q)ZtoUGwKe%L@=ofr=~sZfjyR92Du=dZJaewc|S#Q zfbjO?Nqqc3M@L6{JGDmvKwzi~aQvQtfItn5izkJKpyuiQ#2_NJkrmQ>5K2Q(z^^W` zSXUGki7c9fR_wFAMw#g(dzi>e0Fl346`H|Vh3}I5S1Pk5t;f$ZZdD*VMTiv+z0xr7 zOr9m>{iP6pw~-x&Lq-Rs6G(%QD?whpqlsQ@T9p}FU`G6Zq=Yri2Dyy2sq|v6k!!}Y zC$vQh~`<96rv|1hQSj`04I}HZWjfW>)RDzc(>40YVOF z&A`5b_^K8o^a>Ng;oQU#Sw{YsA;+?kL7X#`9v{Jgx+K~@L%&%D=4 zp5N{)P%x&xo8zr#w{79$2RFaCciBDQg5aFbLeCZwHARiRlpy0dQ0}@u=vTee2lU*P z%a?!sxV@0k$D|5n6Z#}sqTci|n2(|Sg6cb>XL{0-x<8H6dAD8p3tekxP z%rrAQ`zKJW^Yh(Fyn0}*L2O3nF){JE0$YDtYxQz6H-z=@9^qKxTtW zVt%l?x_B}pEkUc4x*O;VHkEug0yULK2)IF77H;D_Os>bS+7Uux$X5#z1m&9dl-JF5 zW^^DoB2W6XsJE;W)gD?)*CHGU#|i}!J?XG`9tsq$@jI`t3w>ak0sYg^^#!D8Eag02 z_xB>pI}}F?f#-3a{Nm~JzRY>jceB}SVtiaoLc(THCOoW+>ww_uu3f6{5u$sqFLV;7 zSkS_}dV64jkB{#mv*c+Yt#PXW))WX^@80c#Vs+sm^Cqw(K!z3F{F?dc3Aar<+bqsM9qtVlY)qWQ*UId~#+px&gZ+A7Um;%A#RhjdeqYYkc$9!8He&5{G zR0Z<4s-WLiXJYr)ugA}NpE+VzM2fp*BJ>{ve@#aQMMXrkb$3TcM6kV+ai8zczxp1^ zuddy$bQl=hO&tDc2&A5h400WBqLVB?g6a31#F4l&z9*0vCP{+;?T3kBx!9|wkNcsP zM^UW{3%6cAedBH2heL#@@k({t)80g*0G1vu_m7vIujoq%4JCFxhKJr-(m!vKf8sYzKs@Rz*(m}o zsbjU&)b3Zdd?!W@Jzoerb4l7N+PW=hIa*nQ(4WkJgx_06jzsA%W+IhT4985o9odu= zVv=Qv8l8q2f5x%~T+nq_xnod_d-zf%1!&Ki8d*bu+3b(n(YdU&*XP1F3mD{h(r6fcQ9ztZcmdlvWN7gTX z1e$uF!d(M`2lz370^gZ;ujV(NIO(_DHz;6QxuM~=rG1UbMjb$%zkb3jw%{~92j-D$ zKK-dH#gO=6L#=_uBqwLCq|e@Ycc}T9pyjn|F7EDGeWW%x_axDh%6#_y5ao8xPrI9w zi4L~5v=|CTp_e5k-E&p|Wc2i+%TFPQGvH>Erp`b$hPssgL`9xp#xssDQRbi}E>E;< z1L>Ql_M9VlV`sS))b&!B8>su<^#N$Y@~K#u%WZzr0NK@Xu2*dOIyim+1WDNSrs(&f z56Y8ItA6;Y4O!cw9%$ak5EQ`GcLkKy#ViLQ%GbtzMG!|AY z>pG)TnhY8&SQDyo*Hz>EfY`Ho?*U%jq%XrTNCkG{FIsNUV7~1|4%oAT&I2AR&USS~ zh%7WubmXWiwMlKI_rtrF;-yyo_9p#Y>>qFmLqb0nso#LV@@n>dg6^YS7y%$Unj=S) z9x#1vYeQj#s{wxEWXyD}t7lpetX+1{Yq8d;dtdXhXTSIrd#&E|e9vIH__y*UqYfMm z{0avr=ldH)A!hIai({UT@nU*`ALkqh<|$P49@{cYc|l+U`FU*#T?ZnQO79}wlZ!-w zPC)F^(bIz{e%VVB5^m=VeKnCx5!K{!aRIE^iqZD7U z&mG@tv$&^8l~A>G>RanuAd4V?0i`;QGhrpP4qxU;HGU7IXkr!D4w-^IF(R)hBSVrp zQKhE9M*e0W990xEA_tO2V@pfa`ZY_-QZNO&xPTr-sHIjG`Wwcs&h_=={CcI!=p+&- z#f^LpcLk1RoCSc3-j{(sRl4P0dPPi-1Mf2LS-)|ERCL6A?2C3Qqxfidy6|Lc0b zIUwjw*FQ8g5F4OtnDFVRQTgYbQX?QMn!a;srQ-9zTAJ zj|OTaz%O^^&eK+T2r7LnX`Q?Sw|RE8W9&-4i?^3}kLI82wfJfma%U2#8`~FNeMQ>c z!F`34kTjP<1=+KS!E$J3YAR42Cv+79GJ$42e#WcJ%qF|z*=>9jMMv#rG)^Phz(2}v zULgq=D|pEPxh{TdFE*CxMT?%cHfK(&b!p$b+|~?DbOe(O!JngW)u@{ND>~Ij7?a3D z`Cyszf#?B#zmUy~|5t{_Nx1sXi3B{oM!L{W3JE}5FX>CC0BL1HB-Xo9?gDa2mR`;l zcu!KE5fD=V{~jgkcekeO%PJpKoi~QD$FoU?t1#)RfK_BanXJ{33qoWQ0CEr1H?WO? zDHGH-qkL?@+bGV^8ftxDb48sNvK4zPTB)-u=F4rstpq#HabObyWDdBLTmANmX6EvR zfcHj*m$!qNi3?DtVFD7xQd3eu@~$|g=?hB4{reQB=sDjA0T9+C(hhD5V>x^~`oS@Y z`FaL3mp;hnU%*(E)fZ^>n~{(wS^|z)?NaBD@3JH|pd)oCfsO#{8loN0hDu6G;P!(s z1Y#Op<9o89#s4kf&%G6=iPDo27prOji(wo$}t-*EwzDH zVCv;vjVzcB<-DXfanASNoXN`Tvcp4S$R!PwhK`zSzH33XJ!y5#2OuJ0`%P0{-yM>q zwFZ3Y>-T_-AlLL=rv5S-lhA*ihaA!2#$hQ=BhrXeiNsCjTCb%~+;CV#WaO{C?FG;r z*Fhcv#;u^>*4Iqk-Zu@I#tfq*ST}TuEl&c0KE-u*d8j1L5@bUXS@>Qw`9R_aBg`>4 zrM6xS?xdELZMI)v1qA#x={SNAHtVAm?}vmfAH{-;_oAxl14iKy@W)}oAPUMsiUI`p zHP02n%0RYRY_{|l0|N-4Kyr4_U)&al&RJV3DTNl(ApVW8FU?Wpk>esb4f6}YAu~W5 zV6?!QQo&u_0h(;IpxIe$4I+H<|Du0SwZ{DnW;Np6X7$WoS4%QXk&YI}fs*skU|}sLG*K$1_cA(04v;L5Q61wr2HD=i0$ByJp18g(X|1xsdnb~dc=VKByZ zbany{4N8Yp_=^WLrX!X@rON}BBu4`&1V zkrA|0)vLJ?Q)Fa-2%Ta1!N>Kxf!@9hGdEMh#`K{d2lEmC>ds>KwWHX7UEJ!{p6-Mp zmefEVE=FD5WJ)#PATtHJ3eq0fGEI9S0OzEqr-R``KmdH3QwLt-8t4h&X`URf*FRx8W8ZuX1Z@W$%8b@#%Q_y=2@wc~sEAM|?1ekQwxCy@y)|+k zmYGZW<4eJCSRFTD`I@i_*HGXUY~+rOY1>>d@V z*~;68|8`pUVfwE6`1pX$3}_SZm+562)SAyDNz8u4cpKx+TND)3yMux_V9gvg!pKVP>|OQtpXbj+X1djfmPurLMOUB$&+u9jd=0D1I{ z106J|EZ$Ey@Tc8cd>*t4rU+Vkda&3Y2k7+f9pow>&~CxF(NX3@UjrctMcp*28*CT> zm}NU#n2T#1cnEO!=&mm(p@8~4f1ZsdFxU_!B`6vj8F>q$hN~O}g7$}dL@G3JFB@(3 z!IG*Q#2ly+YhiyuO`MvRR>88>{>V4Q=RJbpRE?b)3v@%lOQ}Q)b9;Vl*+@X!Ih^jr z!LiuRi=WMtW<&M6x`@Qw50RhR&9_YFn)r>38*5KTBJWQoWlg16FZ|@H@!H#*1e6y0 z`0>&Ms61LE2D?VIlPUSj2;@^_hCg%r2I@oPnYS>9wiaB};#P}sY?WOX6&Gibbh`HO z;qk%kAM3>%KY3~)gfa&A995_jgpxtbdt(s{nG1gV+a1k`dn;)mB0(>M-nw=&8B7A> z9i#g|Wxvw!|DS3QpoNBGq}}aPi~{oWMG1_jBgcIIyA(kp;gfR8?${=rVbm-(l0 z>d#=+YG-xW-s`u+$0A5Ez+73lfq3MvuKvYQA9xw`-Ft;5 z4EbGeBNKJ82JN_n`452^c>Om8Q#?B7;N&&?ACrG=+#)Cjg$AT? zzIf5^hZ$u&95I->^vlUiOiUOa`d;>n3JMAsOyJo>qMF{u+Iz&N7HHn`UZzgv7^3~S z@^9~Mmk!tuzPs)ITeq?kH-b2#S&xxE0eJU3WTTcFox?>k({7LPrYrz{MB3x86oL4# zJGfk}EJ2wG+Ecgn-Bj=*r0(Kf0 z$QiKQtb^@}y@?LL?s>!H?>JpkbTPEJ9Eh0V-HEUQ*xLV|(Zv?DQ5|9rr8wHr)m02O zh_`Rg7~&&)^DV{kO>j~@cT%4%v)!379KG#)+qTm*_kM5G9e+vmi1$6E0b zgTu|{?4lqf{tEyuR(K_LakUj6D}0~~{T=GHx`VNKJOjfM5(~Lr;9`GB?L5#df`S^P z?fw1e1#r)Nf$LULA??V-E*SFp%X=Yi%6huG<0VwlZi(YcrB5j2S+j#+ zk?u7;1`gJBW*exG10C`~@!7Ni`}Oj(X&9KHPe8xUoo%LsrGqHl7(tq+UG((zCnqML zc!}h^(B0FcD&73YO4w9iCwbx*MSk%%8V6#3yDP%)+kA0#dR9bf;QxMjNC`vA4ix9( zN&B0ic-`6yXR`$(0G4ZME2)F{YV^fVV5sn%zYo+Wq*ebY50iKCjLlu2x6l{_$*%1w zx@Ek+yu(b2BVMB`W2uI2{K*7iSAf=RbK@03`~?Di7Da@kYayllu~XEX#)LgrZasY# zN8bL^RG}wIe)Y_~yLD6N!QTOYsW~lUfgVo}=f%9|AZhN$87x$tOg@=hjk$+3Z~Q~r zBtqy@WeAjAu9E@XD?bL7hokLu-orqsBEf;y=Xh{xQJ@GgGs+Tp{_QxQLQfyf83-nn zz6@qqRP%=D+{>fj`uIb7G}Z=Ut%+6Jirr8CR<5*zV=bN&Bl&!JG$9mbG7L9lGK zxib%^YKQJkfYyR;7f8^|-aqmdu*Zo1A)un=9pRGy;ek;;+`&8x^fXpJJLtOC zfmeePe)kVJu&u!KLx*Q%&}&Js&43x@AkzJ(??o18v*_~=`Qz1KYudb*p5Qn!+keDE z5$88KnJi>luNfUejh$xyXQIOl?SyK6FrbD+_gQ7$3n#H6$?Yy&?tfe==hJE~q$xMt z!+8P_A(EslooHkQP(h8@$Ay_NlWPaXsue#?NF4uv? zJTR%el$W%9oXr0&HYkk!_YL?Hmy;g!+{F;*QiS8;vRaKuG)MV8@jnNlNF^W0279|j zw-+L~0?A(wLzR<4+3@aj_#ZC}DdBUY$RtILOM`imJ(eyw=Zh(?8u<|mYoL>3nbH4} zOlp`!=i(2+)r1L+XS+H5XbI!R9QbJ#!+GmS&2j!0bVxgImid1sgqoFpOct9$1pU-H}NCzag@_(y-zu$fB z#tkS&B+|QyHxv@OpaE|yR`~1TknY|#K0-u3fceVB zW9XmulwRkFfug{K0W;+Js5l;YqrcvU6&}N$Q#>dx4THc-13eI^q_Q%@AD#XEaZyoG zPoL8M^UbuF4<0BC2)LWAqL44Zt#bM89Dg+AZ^mCGh90;?Ar;T^L;^tH$jAsdi&X@< z)#GBGJmK{FDt|A-SGfeb89sw&f7LttTo ztsETm1ybAD?^^oP-3YOVT0Z>yZ+}ZTTlr~HpdN1IiB3wDHRC+z!;bk{1Uj{}SFc(B z*2!R#`U?U+N#c(O2w&t+gCNwSILgqF;I|-_&zMU3DkMkvL9iZfU*>#NnUApayjzSQ zrqm|W8p(9|d!~{mRoyr(``^rU50~B_L*#KA1#7UxK_!FN>w=4o+2A@b@M$-uXlX+D{z!V@ z3-GTYI$}X>l7ab8ocYhtAcU$;)`o0=57~i}$C-%_K`1P6&jkRN2nr1*LK;bfR2(Ts z+5!Q9H|ep&ONfPFaydvA|1`7FGXWeD!u!`u;SyK=wU&PbKJdQMe7p(gsW&(lvi2&3 zoqyQ-n9(f{^|MU{E z)b^fG%cEvQJ9-a=BFAziaRW=Qb6A1;-mL61lu8J{K9995T9gcl1Op6DTq;{93f7cuLio}e;7mm z#Vz!|voZeLij@7$M`+^x|2L!l$?E?rYvsR<>5m1qL$Jo_-&=(gNb6T*PFP!6DJv_J z&V>Wem>Tb@pC720bK8dR(6FVKYiwQgo$1)IAimT|_D@g%fW;hOD5=?pC|vYFg5@D- zq*Yb_d&dy5u3D=C_#eMjdKL}X1A*sGo{zu7k&6o(!%4(wrSR}8k9h0I83f{FJPV=S z?T5CGj*gMhF%Mzc!-v?ReRyN#6uUPyNMPd-#Q%maCp3UFV8Z^*^bsrwK|d+(zf6q8 zzuyZ^M$n=|cN9^9;A&QuU?-)v&FN;%G2b25r*ooYuWUE24oJo3YBwq7Xy{&cy*x{e zUHvN;$Q};aSA^8~w3G9+@}*037#CO9Pq$O%fC)pw!ELg0aCYOkeU7UDxM?uJ!a~op zPVc|Q{)5kuQS^S8lw{`3!Gn;F9Oxjy~Mk*(onC zckr1t>PUbeK=`creWH%jF^9aSPsq0dl#I&!S%BtI}_x@dDd1&wgAygRVquR&k29ucP*!cJ%b`Vm= zWkL0a&L2>vBW-B?*?5fWhs}m?G4r1E{98__A9Hine`rICp^gr1?MXb+dv&_ZdqnDB zsR_0M?jK~VW0Fo|(DecY>k?4n4t*u3Iv(Jo2w^Cn$>SjKVOAPBA3@^?w3c?l+nZZk z2Z0NRCXZv&N_eD!@Odz?D)YGXcwn9X?+3;F@18A#zP_{ZOSlx8%(mfSA&KDMy1no& zt^Feiu{`h~izgaqe;L`rb5Ss1#l@o5?_2&nyX8_WDccbU83rvt`o^iJbxwm(L&|r@ z5 zMgb8t`YT)^NEo?>MH9g9ciy8PawM}qwP&QkFJE5WG)mtPJR3Fz5@PF~#eKr+-o zGjnrW16l6Ml`HfD#yr8$<@k(>>*Psb2B7g(0v@GNQo^S*as#du*MnpR52gTxrFYr| z+%2PS6}upBEWPUPhDK4~lGZa_P9o>QiI1rM`sV{RK)3q!>la90kJmwsz&#&f+C}`I zPrc~%1KhDGgHuR6G8#i6>=F` zJ};2o0$mQM@=MQ8EB=tP?nr?ycV8e@fxw1mML^H#*z*dFvS=mho1kJ%U)x!!(1k15%xpogE$KK8tK` zjy!PWq6*KVqfah;ZftZs^&}xdz>Y^}Nn?LS!(Lj@r2JZGpUFA|b!dKuzD`J2jgqF1 zKYaKA?ka5cafHAeY+bAIXKvx1AOsh#ic1k-NGzkAkXx)FfQ<~%02-5{b_94MmQpnD z_SD%6cY>lY2o8|`{(hL2w{-S4HqPNQNDM8^^K4(?byaxq2}H_<`$uUQ81#*d_*uQy zzFTT*X$hEB?fm>QVL`ry3Z1))?U(bUioEDL5T zxA(Sss-fYmSL_X#-++~=!TEYvq3t9%?9rpvrY0s?uN7FU;0xe7K2YfiR{w4=oP9}< zeevW;k$L?+*flD5AdqQ6r;@QT^RZ*w(6|S;ctb@}ANCNKc0db(mCj0hz```QU^?&__XtgGFB^@ppKeS;^7 zgolUk(i33GpeFD~VIX(mY;z#P&Q49e1rtYBURAln;MrE06;$?>H<|EI8qd3Hu#J4- z{(uo~*pC_E#F?GhgF%$zU=rVn1;Z;mYvnN9DBhFM8KvjeNR!Aep?3RZSp`aSRn{@v5O*7lL9ZJHDp{d5%w(8xta_4BzHY~cR^$R=_R diff --git a/distance_distribution.dat b/distance_distribution.dat index 353e54c..69e9a86 100644 --- a/distance_distribution.dat +++ b/distance_distribution.dat @@ -1,21 +1,20 @@ 1 0.000022 2 0.000273 -3 0.003323 -4 0.029051 -5 0.133444 -6 0.279545 -7 0.282477 -8 0.165846 -9 0.069503 -10 0.024423 -11 0.007762 -12 0.002824 -13 0.001075 -14 0.000327 -15 0.000081 -16 0.000019 -17 0.000004 +3 0.003284 +4 0.029183 +5 0.134336 +6 0.277267 +7 0.281540 +8 0.166383 +9 0.069370 +10 0.025137 +11 0.009075 +12 0.002996 +13 0.000842 +14 0.000220 +15 0.000055 +16 0.000012 +17 0.000003 18 0.000001 19 0.000000 20 0.000000 -21 0.000000 diff --git a/distance_distribution.txt b/distance_distribution.txt deleted file mode 100644 index b07eb32..0000000 --- a/distance_distribution.txt +++ /dev/null @@ -1,22 +0,0 @@ -Distance Probability -0 3.1537782263151257E-6 -1 2.0553172700895673E-5 -2 2.5346915604894664E-4 -3 0.003046060930995332 -4 0.027171880913334175 -5 0.1290275419452504 -6 0.2779771540305286 -7 0.2868387693957361 -8 0.17 11496057777217 -9 0.07075135927841554 -10 0.02399099596316387 -11 0.007121215466128422 -12 0.00193723035196165 -13 5.232464993061688E-4 -14 1.41973634414028E-4 -15 3.599091711870821E-5 -16 7.979058912577268E-6 -17 1.510659770404945E-6 -18 2.6807114923678565E-7 -19 3.784533871578151E-8 -20 3.1537782263151255E-9 diff --git a/random_degree_distribution.txt b/random_degree_distribution.txt index 3f26233..67d6768 100644 --- a/random_degree_distribution.txt +++ b/random_degree_distribution.txt @@ -1,52 +1,50 @@ # Degree Probability -0 0.008549892771540306 -1 0.03432572221521383 -2 0.07318342374164248 -3 0.10718115302131954 -4 0.12391194651192128 -5 0.12334426643118455 -6 0.1099028636306295 -7 0.09219439888987006 -8 0.07411063454017913 -9 0.05878011858206131 -10 0.04475526680963795 -11 0.03501639964677684 -12 0.027311719439888988 -13 0.020414406458937807 -14 0.0158887347041756 -15 0.011769900340608049 -16 0.009243723981329633 -17 0.006872082755140658 -18 0.005099659391951558 -19 0.004323829948278037 -20 0.00326731424246247 -21 0.002485177242336319 -22 0.0018260375930364576 -23 0.0014696606534628485 -24 0.0010848997098524033 -25 8.578276775577142E-4 -26 6.2760186703671E-4 -27 5.392960766998864E-4 -28 3.3745427021571845E-4 -29 3.059164879525672E-4 -30 2.1761069761574365E-4 -31 1.7976535889996216E-4 -32 1.3876624195786552E-4 -33 1.1353601614734452E-4 -34 7.884445565787813E-5 +0 0.008420587864261385 +1 0.03389680837643497 +2 0.07322126908035827 +3 0.10709600100920903 +4 0.12482023464110004 +5 0.12359026113283714 +6 0.11028762457423993 +7 0.09281569320045414 +8 0.07422417055632648 +9 0.057874984231108866 +10 0.04484357259997477 +11 0.034726252049955844 +12 0.02650750599217863 +13 0.020496404692822 +14 0.015466128421849376 +15 0.012107354610823767 +16 0.00926580042891384 +17 0.007177999243093226 +18 0.005292039863756781 +19 0.0041125268071149235 +20 0.0033083133594045667 +21 0.002384256339094235 +22 0.0018039611454522518 +23 0.0014759682099154787 +24 0.001103822379210294 +25 8.515201211050839E-4 +26 6.339094234893403E-4 +27 4.572978428156932E-4 +28 4.352213952314873E-4 +29 3.216853790841428E-4 +30 2.1445691938942854E-4 +31 1.986880282578529E-4 +32 1.3245868550523527E-4 +33 1.103822379210294E-4 +34 7.253689920524788E-5 35 5.9921786299987385E-5 -36 7.253689920524788E-5 -37 2.5230225810521005E-5 -38 2.838400403683613E-5 -39 2.838400403683613E-5 -40 1.5768891131575628E-5 -41 9.461334678945376E-6 -42 1.8922669357890752E-5 +36 2.5230225810521005E-5 +37 3.1537782263151255E-5 +38 2.2076447584205877E-5 +39 5.3614229847357136E-5 +40 2.2076447584205877E-5 +41 6.307556452630251E-6 +42 3.1537782263151257E-6 43 6.307556452630251E-6 -44 6.307556452630251E-6 +44 9.461334678945376E-6 45 3.1537782263151257E-6 -46 3.1537782263151257E-6 47 3.1537782263151257E-6 -49 3.1537782263151257E-6 -51 3.1537782263151257E-6 -56 3.1537782263151257E-6 +48 3.1537782263151257E-6 +53 3.1537782263151257E-6 diff --git a/src/main/java/org/example/DBLPNetworkAnalysis.java b/src/main/java/org/example/DBLPNetworkAnalysis.java index 80b9b0e..e665850 100644 --- a/src/main/java/org/example/DBLPNetworkAnalysis.java +++ b/src/main/java/org/example/DBLPNetworkAnalysis.java @@ -107,11 +107,13 @@ public class DBLPNetworkAnalysis { // Génération et comparaison des réseaux aléatoires et Barabasi-Albert compareWithGeneratedNetworks(graph); - + System.out.println("Analyse du réseau généré par la méthode de copie :"); + Graph grapheCopie = genererGrapheCopie(nodeCount, 0.125); + printGraphMeasures(grapheCopie); } // --- Calcul de la distribution des degrés --- - public static void calculateDegreeDistribution(Graph graph, String outputFile) throws IOException { + public static void calculateDegreeDistribution(Graph graph, String outputFile) throws IOException { int[] distribution = Toolkit.degreeDistribution(graph); try (BufferedWriter writer = new BufferedWriter(new FileWriter(outputFile))) { writer.write("# Degree\tProbability\n"); @@ -127,9 +129,6 @@ public class DBLPNetworkAnalysis { // --- Comparaison avec des réseaux générés --- public static void compareWithGeneratedNetworks(Graph initialGraph) throws Exception { - // Extraire les caractéristiques du graphe initial - int nodeCount = initialGraph.getNodeCount(); - double averageDegree = Toolkit.averageDegree(initialGraph); // --- Générer un graphe aléatoire --- System.out.println("\nGénération du réseau aléatoire..."); @@ -137,6 +136,11 @@ public class DBLPNetworkAnalysis { System.out.println("Réseau aléatoire :"); printGraphMeasures(randomGraph); calculateDegreeDistribution(randomGraph, "random_degree_distribution.txt"); + double degreeAverage = Toolkit.averageDegree(randomGraph); + double NetworkDistance = Math.log(randomGraph.getNodeCount()) / Math.log(degreeAverage); + System.out.println("Distance moyenne du réseau Aléatoire : " + NetworkDistance); + + // --- Générer un graphe Barabási-Albert --- System.out.println("\nGénération du réseau Barabási-Albert..."); Graph baGraph = generateBarabasiAlbertGraph(initialGraph); @@ -144,6 +148,7 @@ public class DBLPNetworkAnalysis { printGraphMeasures(baGraph); calculateDegreeDistribution(baGraph, "barabasi_degree_distribution.txt"); + // --- Sauvegarder les résultats --- try (FileWriter writer = new FileWriter("comparison_results.txt")) { writer.write("Comparaison des réseaux générés :\n"); @@ -206,6 +211,41 @@ public class DBLPNetworkAnalysis { generator.end(); return barabasiGraph; } + public static Graph genererGrapheCopie(int nombreNoeuds, double probabilitéCopie) { + Graph grapheCopie = new SingleGraph("GrapheCopie"); + Random aleatoire = new Random(); + + // Ajouter un premier nœud pour démarrer le réseau + grapheCopie.addNode("0"); + + for (int i = 1; i < nombreNoeuds; i++) { + Node nouveauNoeud = grapheCopie.addNode(String.valueOf(i)); + + // Choisir un nœud aléatoire existant + Node noeudCible = grapheCopie.getNode(aleatoire.nextInt(grapheCopie.getNodeCount())); + + // Parcourir les voisins de noeudCible + noeudCible.edges().forEach(edge -> { + if (edge != null) { // Vérifier que l'arête n'est pas null + Node voisin = edge.getOpposite(noeudCible); + + // Connecter au voisin avec probabilité p + String edgeIdVoisin = nouveauNoeud.getId() + "-" + voisin.getId(); + if (aleatoire.nextDouble() < probabilitéCopie && grapheCopie.getEdge(edgeIdVoisin) == null) { + grapheCopie.addEdge(edgeIdVoisin, nouveauNoeud, voisin); + } + } + }); + + // Connecter le nouveau nœud au nœud cible + String edgeIdCible = nouveauNoeud.getId() + "-" + noeudCible.getId(); + if (grapheCopie.getEdge(edgeIdCible) == null) { + grapheCopie.addEdge(edgeIdCible, nouveauNoeud, noeudCible); + } + } + + return grapheCopie; + } @@ -216,6 +256,4 @@ public class DBLPNetworkAnalysis { System.out.println("Degré moyen : " + Toolkit.averageDegree(graph)); System.out.println("Coefficient de clustering : " + Toolkit.averageClusteringCoefficient(graph)); } - - } \ No newline at end of file diff --git a/src/main/java/org/example/Propagation.java b/src/main/java/org/example/Propagation.java index 955620b..fe77c9a 100644 --- a/src/main/java/org/example/Propagation.java +++ b/src/main/java/org/example/Propagation.java @@ -65,8 +65,7 @@ public class Propagation { Graph selectiveImmunizedGraph = cloneGraph(graph); applySelectiveImmunization(selectiveImmunizedGraph, 0.5); // 50% des voisins des hubs immunisés epidemicThresholdAnalysis(selectiveImmunizedGraph, infectionProbability, recoveryProbability); - - + } private static Graph cloneGraph(Graph original) { -- GitLab From e9de0e0968a2607afdcae6a9be6b9546ada38c3e Mon Sep 17 00:00:00 2001 From: ac243219 Date: Mon, 13 Jan 2025 15:19:22 +0100 Subject: [PATCH 13/13] Suite --- README.md | 448 +++++++++++++- barabasi_degree_distribution.txt | 556 +++++++++--------- comparison_results.txt | 8 +- degree_distribution_ba.png | Bin 0 -> 19295 bytes degree_distribution_linear_BA.png | Bin 0 -> 28245 bytes degree_distribution_random.png | Bin 0 -> 21287 bytes distance_distribution.dat | 36 +- propagationsimulation.png | Bin 0 -> 22255 bytes random_degree_distribution.txt | 93 ++- scenario1_no_control.dat | 178 +++--- scenario2_random_immunization.dat | 180 +++--- scenario3_selective_immunization.dat | 180 +++--- .../java/org/example/DBLPNetworkAnalysis.java | 2 +- src/main/java/org/example/Propagation.java | 153 +++-- 14 files changed, 1163 insertions(+), 671 deletions(-) create mode 100644 degree_distribution_ba.png create mode 100644 degree_distribution_linear_BA.png create mode 100644 degree_distribution_random.png create mode 100644 propagationsimulation.png diff --git a/README.md b/README.md index 07eb506..f5b831d 100644 --- a/README.md +++ b/README.md @@ -5,6 +5,7 @@ Le réseau est extrait de DBLP et disponible sur SNAP. GraphStream permet de mesurer de nombreuses caractéristiques d'un réseau. La plupart de ces mesures sont implantées comme des méthodes statiques dans la classe Toolkit. Elles vous seront très utiles par la suite. +# TP 1: ## 1- Tout d'abord : @@ -185,7 +186,7 @@ j'ai aussi calculé les degrés de distribution à l'échelle linéaire et à l' - Log-log : - ![Distribution des degrés](degree_distribution_loglog_random.png) +![Distribution des degrés](degree_distribution_loglog_random.png) 2 - Le graphe Barabàsi-Albert: @@ -235,40 +236,437 @@ j'ai aussi calculé les degrés de distribution à l'échelle linéaire et à l' - Log-log : - ![Distribution des degrés](degree_distribution_loglog_BA.png) +![Distribution des degrés](degree_distribution_loglog_BA.png) +Comparaison des réseaux générés +En théorie, les deux modèles de réseaux, aléatoire +(Erdős-Rényi) et Barabási-Albert, se distinguent +par leur structure et leur comportement. +En théorie : -Scenario 1: No Control -Scenario 2: Random Immunization -Scenario 3: Selective Immunization -Les résultats ont été sauvegardés dans les fichiers pour Gnuplot. -Degré moyen (Groupe 0 - Nœuds sélectionnés aléatoirement) : 0,000000000 -Degré moyen (Groupe 1 - Voisins immunisés) : 0,000000000 -Taux de propagation (τ) : 2.0 -Seuil épidémique réel (c_réel) : 0.04598472436222584 -Seuil épidémique théorique (c_théorique) : 0.13119762993051035 -La maladie persiste dans le réseau réel (τ > c_réel). +- Réseau aléatoire : -Le réseau réel est plus vulnérable que le réseau aléatoire (c_réel < c_théorique). +Les liens sont créés de manière totalement aléatoire entre les nœuds. +Le degré moyen suit une distribution de Poisson : +la plupart des nœuds ont un degré proche de +la moyenne, et il y a très peu de nœuds avec un +degré beaucoup plus élevé ou plus faible. -Analyse après immunisation aléatoire : -Taux de propagation (τ) : 2.0 -Seuil épidémique réel (c_réel) : 0.08901721301662724 -Seuil épidémique théorique (c_théorique) : 0.23306206408564414 -La maladie persiste dans le réseau réel (τ > c_réel). +Le coefficient de clustering est très faible car les +triangles (groupes de trois nœuds connectés entre +eux) sont rares dans ce type de réseau. -Le réseau réel est plus vulnérable que le réseau aléatoire (c_réel < c_théorique). -Analyse après immunisation sélective : -Taux de propagation (τ) : 2.0 -Seuil épidémique réel (c_réel) : 0.5542146555509032 -Seuil épidémique théorique (c_théorique) : 0.8352912559058712 -La maladie persiste dans le réseau réel (τ > c_réel). +- Réseau Barabási-Albert : -Le réseau réel est plus vulnérable que le réseau aléatoire (c_réel < c_théorique). +Ce modèle suit une loi de puissance : quelques +nœuds, appelés hubs, ont un très grand nombre de +connexions, tandis que la majorité des nœuds sont +faiblement connectés. +Le coefficient de clustering est plus élevé que +dans un réseau aléatoire, car les hubs favorisent +la connexion entre plusieurs nœuds, augmentant la +probabilité de former des triangles. + +Les résultats expérimentaux correspondent à ces prédictions théoriques comme le démontre le tableau ci-dessous : + + +| Propriété | Réseau Aléatoire | Réseau Barabási-Albert | +|---------------------------|-----------------------------|-------------------| +| **Nombre de nœuds** | 317 080 | 317 080 | +| **Nombre de liens** | 1 049 907 | 1 108 082 | +| **Degré moyen** | 6,6223 | 6,9893 | +| **Clustering** | 3.57 × 10⁻⁵ | 3.82 × 10⁻⁴ | + +Le faible clustering du réseau random et le clustering un peu plus élevé du réseau BA sont conformes à ce qu'on attend. +En résumé, ces expériences confirment que le modèle Barabási-Albert est plus adapté pour modéliser des réseaux où les hubs +jouent un rôle important. + +## 7- La méthode Copie : +La méthode de copie modifiée sert à générer un réseau en imitant des caractéristiques des réseaux réels, comme la formation +de triangles et un haut coefficient de clustering. + +Comment ça fonctionne ? + +- On commence par choisir un nœud au hasard. + +À chaque étape : + +- Un nouveau nœud est ajouté au réseau. + +- Ce nouveau nœud choisit au hasard un nœud existant dans le réseau, qu’on appelle nœud cible. + +- Il parcourt les voisins du nœud cible. Pour chaque voisin, il a une probabilité p (par exemple, p=0,5) de se connecter à ce voisin. + +- À la fin, il se connecte obligatoirement au nœud cible. + +Pourquoi c'est intéressant ? + +La probabilité p permet de créer des connexions locales, ce qui augmente le coefficient de clustering. + +ATTENTION : Le nouveau nœud ne se connecte pas à tous les voisins du nœud cible, mais seulement à certains d’entre eux, +en fonction de la probabilité p. +Cette méthode garde le réseau connexe grâce à la connexion obligatoire au nœud cible. + +Voici comment je m'y suis prise : + +```java + +public static Graph genererGrapheCopie(int nombreNoeuds, double probabilitéCopie) { +Graph grapheCopie = new SingleGraph("GrapheCopie"); +Random aleatoire = new Random(); + + // Ajouter un premier nœud pour démarrer le réseau + grapheCopie.addNode("0"); + + for (int i = 1; i < nombreNoeuds; i++) { + Node nouveauNoeud = grapheCopie.addNode(String.valueOf(i)); + + // Choisir un nœud aléatoire existant + Node noeudCible = grapheCopie.getNode(aleatoire.nextInt(grapheCopie.getNodeCount())); + + // Parcourir les voisins de noeudCible + noeudCible.edges().forEach(edge -> { + if (edge != null) { // Vérifier que l'arête n'est pas null + Node voisin = edge.getOpposite(noeudCible); + + // Connecter au voisin avec probabilité p + String edgeIdVoisin = nouveauNoeud.getId() + "-" + voisin.getId(); + if (aleatoire.nextDouble() < probabilitéCopie && grapheCopie.getEdge(edgeIdVoisin) == null) { + grapheCopie.addEdge(edgeIdVoisin, nouveauNoeud, voisin); + } + } + }); + + // Connecter le nouveau nœud au nœud cible + String edgeIdCible = nouveauNoeud.getId() + "-" + noeudCible.getId(); + if (grapheCopie.getEdge(edgeIdCible) == null) { + grapheCopie.addEdge(edgeIdCible, nouveauNoeud, noeudCible); + } + } + + return grapheCopie; + } + + +``` +Voici les résultats après éxecution du code : + +- Nombre de nœuds : 317080 +- Nombre de liens : 3392116 +- Degré moyen : 21.395963668823242 +- Coefficient de clustering : 0.44452828185775123 + +On remarque bien que le degré moyen est très élevé, mais aussi le coeff de clustring. + + + + + +# TP 2 : + +## 1 - Taux de propagation et seuil épidémique du réseau ainsi que le seuil théorique d'un réseau aléatoire du même degré moyen : + +Avant de commencer, il faut savoir que ce modèle est un SIS (Susceptible-Infected-Susceptible) +##### Dans un modèle SIS: + +chaque individu de la population peut être dans l’un des deux états suivants : + +- Susceptible (S) : +L'individu est en bonne santé mais peut être infecté. +- Infecté (I) : +L'individu est malade et peut transmettre l'infection. + +##### Dynamique des transitions +- Un individu susceptible (S) peut devenir infecté (I) après un contact avec une personne infectée, avec une probabilité appelée taux d'infection (β). +- Un individu infecté (I) peut se rétablir et redevenir susceptible (S) avec une probabilité appelée taux de récupération (μ). + +La principale caractéristique du modèle SIS est que les individus infectés ne développent pas d'immunité après récupération, ce qui signifie qu'ils peuvent être réinfectés. + + +- Taux de propagation : + +###### τ = β/μ + +avec β = 1 (une personne est infécté a partir du moment où elle reçoit un mail) + +et μ = 0.5 ( il mettent à jour leurs anti-virus 2 fois par mois donc 2 semaines sur 4) + + +ce qui nous donne un taux de propagation (τ) : 2.0 que j'ai calculé comme suit : + + +```java +double infectionProbability = 1.0; // β = 1 +double recoveryProbability = 0.5; // μ = 0.5 + + double tau = infectionRate / recoveryRate; // Taux de propagation +``` + +- Seuil épidémique : + +###### c = < k > / + +avec : degré moyen (le nombre moyen de connexions par nœud) + +et : moyenne des carrés des degrés des nœuds. + +ce qui nous donne un seuil épidémique réel (c_réel) de 0.04598472436222584 que j'ai calculé comme suit : + + +```java +double cReal = avgDegree / avgDegreeSquared; +``` +```java + +private static double calculateSquaredAverageDegree(Graph graph) { +double totalDegreeSquared = 0; +for (Node node : graph) { +totalDegreeSquared += Math.pow(node.getDegree(), 2); // Somme des carrés des degrés +} +return totalDegreeSquared / graph.getNodeCount(); // Moyenne des carrés des degrés +} +``` + +enfin, le seuil théorique : + +```java +double cTheoretical = 1.0 / (avgDegree + 1); // Seuil théorique pour un réseau aléatoire avec normalisation +``` +ce qui nous donne un seuil théorique de 0.13119762993051035. + +on constate que la maladie persiste La maladie persiste dans le réseau réel (τ > c_réel) et que le réseau réel est plus vulnérable que le réseau aléatoire (c_réel < c_théorique). + +## 2 - Simulation des 3 scénario : + +Voici les paramètres de ma méthode de simulation : il y'en a 6 : + +- Graph graph : Le graphe +- double infectionRate : La probabilité qu'un nœud infecté transmette la maladie à un voisin susceptible. +- double recoveryRate : La probabilité qu'un nœud infecté se rétablisse et redevienne susceptible. +- int days : Le nombre total de jours pendant lesquels la simulation est exécutée. +- double immunizationFraction : La fraction de nœuds ou voisins à immuniser avant le début de la simulation. +- boolean randomImmunization : Détermine la stratégie d'immunisation : + +true : Immunisation aléatoire. + +false : Immunisation sélective (immuniser un voisin d'un nœud sélectionné). + +Cette partie là concerne les deux scénario où il y'a des gens à immuniser (scénario 2 et 3) +ceci est assuré grâce au premier if, et le deuxième if nous permet de savoir si c'est une random immunisation donc le scénario 2 (on convint 50% des gens à mettre à jour leurs anti-virus) où la condition nous retournera true car c'est un boolean +ou non et on passera au else donc le scénario 3 (on convint 50% des gens à convaincre un de leurs voisins). + +```java +// Immunization + if (immunizationFraction > 0) { + int immunizedCount = (int) (immunizationFraction * graph.getNodeCount()); + if (randomImmunization) { + // Immunisation aléatoire : immuniser des nœuds directement + for (int i = 0; i < immunizedCount; i++) { + Node node = graph.getNode(random.nextInt(graph.getNodeCount())); + node.setAttribute("immune", true); + } + } else { + // Immunisation sélective : immuniser un voisin pour 50% des nœuds existants + List nodes = new ArrayList<>( graph.nodes().toList()); + + // Calculer le nombre de nœuds à immuniser (50% des nœuds existants) + int nodesToImmunize = (int) (immunizationFraction * nodes.size()); + + // Mélanger les nœuds pour garantir une sélection aléatoire + Collections.shuffle(nodes, random); + + // Sélectionner les premiers `nodesToImmunize` nœuds et immuniser un voisin pour chacun + for (int i = 0; i < nodesToImmunize; i++) { + Node node = nodes.get(i); + + // Vérifier que le nœud a des voisins + if (node.getDegree() > 0) { + // Prendre un voisin aléatoire + List neighbors = node.neighborNodes().toList(); + Node neighbor = neighbors.get(random.nextInt(neighbors.size())); + + // Immuniser ce voisin + neighbor.setAttribute("immune", true); + } + } + + } + + } +``` + +viens maintenant la simulation (c'est un peu là ou tout se déroule y compris le scénario 1) + +On commence par infecter un patient qu'on appellera patient 0. + +- infectedCount : Nombre de nœuds infectés au cours de la journée actuelle. +- totalNonImmune : Nombre total de nœuds non immunisés dans le graphe +(c'est-à-dire les nœuds susceptibles ou infectés). + +- Exclusion des nœuds immunisés : Les nœuds avec l'attribut immune ne participent pas à la propagation. + +###### Propagation (S→I) : +- Les nœuds infectés propagent l'infection à leurs voisins susceptibles avec une probabilité définie par infectionRate. +- Les nœuds susceptibles infectés reçoivent un état futur "infected" stocké dans nextState. +###### Récupération (I→S) : +- Les nœuds infectés peuvent récupérer avec une probabilité définie par recoveryRate et sont marqués comme "susceptible" dans nextState. + + +On fait ensuite une mise à jour des états des nœuds, Les changements d’état sont appliqués après chaque jour. + +Résultats : La fraction de nœuds infectés est calculée chaque jour et retournée à la fin. + +```java +// Infect patient zero +Node patientZero = graph.getNode(new Random().nextInt(graph.getNodeCount())); + patientZero.setAttribute("state", "infected"); + + +// Simulation +for (int day = 0; day < days; day++) { +int infectedCount = 0; +int totalNonImmune = 0; + + for (Node node : graph) { + if (!node.hasAttribute("immune")) { + totalNonImmune++; + if (node.getAttribute("state").equals("infected")) { + infectedCount++; + for (Node neighbor : node.neighborNodes().toList()) { + if (!neighbor.hasAttribute("immune") && neighbor.getAttribute("state").equals("susceptible") && random.nextDouble() < infectionRate) { + neighbor.setAttribute("nextState", "infected"); + } + } + if (random.nextDouble() < recoveryRate) { + node.setAttribute("nextState", "susceptible"); + } + } + } + } + + // mise à jour de l'état des noeuds + for (Node node : graph) { + if (node.hasAttribute("nextState")) { + node.setAttribute("state", node.getAttribute("nextState")); + node.removeAttribute("nextState"); + } + } + infectedFractions[day] = (double) infectedCount / totalNonImmune; + } + + return infectedFractions; + } +``` +#### on obtient ces courbes qui montrent bien l'efficacité de l'immunisation séléctive. + +![propagation simulation](propagationsimulation.png) + + +## 3 - Le degré moyen des groupes 0 et 1 : + +Il faut savoir que le groupe 0 sont les nœuds choisis aléatoirement et le groupe un de leurs voisins. + +Resumé : +- Groupe 0 => 50% des nœuds [non immunisé] +- Groupe 1 => 1 voisin de ces nœuds [immunisés] + +voici comment j'ai procédé : + +```java +// Appliquer une immunisation aléatoire (immuniser 50 % des nœuds) + Set immune = new HashSet<>(); + Random random = new Random(); + int immuneCount = (int) (0.5 * graph.getNodeCount()); // Immuniser 50 % des nœuds + List nodes = new ArrayList<>(graph.nodes().toList()); + Collections.shuffle(nodes, random); + for (int i = 0; i < immuneCount; i++) { + Node node = nodes.get(i); + node.setAttribute("immune", true); // Marquer comme immunisé + immune.add(node); + } + + // Groupes + Set group0 = new HashSet<>(); // Groupe 0 : 50 % des nœuds non immunisés + Set group1 = new HashSet<>(); // Groupe 1 : Un voisin immunisé de chaque nœud du Groupe 0 + + // Sélectionner 50 % des nœuds non immunisés pour le Groupe 0 + List nonImmuneNodes = new ArrayList<>(); + for (Node node : graph) { + if (!immune.contains(node)) { // Nœuds non immunisés + nonImmuneNodes.add(node); + } + } + Collections.shuffle(nonImmuneNodes, random); // Mélanger les nœuds non immunisés + int targetCount = (int) (0.5 * nonImmuneNodes.size()); // 50 % des nœuds non immunisés + for (int i = 0; i < targetCount; i++) { + group0.add(nonImmuneNodes.get(i)); // Ajouter au groupe 0 + } + + // Pour chaque nœud du Groupe 0, ajouter un voisin immunisé au Groupe 1 + for (Node node : group0) { + List neighbors = node.neighborNodes().toList(); + for (Node neighbor : neighbors) { + if (immune.contains(neighbor)) { // Vérifier si le voisin est immunisé + group1.add(neighbor); // Ajouter un seul voisin immunisé au groupe 1 + break; // Sortir de la boucle après avoir trouvé un voisin immunisé + } + } + } + + // Calcul du degré moyen pour le Groupe 0 (non immunisé) + double totalDegreeGroup0 = 0; + for (Node node : group0) { + totalDegreeGroup0 += node.getDegree(); + } + double averageDegreeGroup0 = group0.isEmpty() ? 0 : totalDegreeGroup0 / group0.size(); + System.out.printf("Degré moyen (Groupe 0 - Non immunisé) : %.9f%n", averageDegreeGroup0); + + // Calcul du degré moyen pour le Groupe 1 (voisins immunisés) + double totalDegreeGroup1 = 0; + for (Node node : group1) { + totalDegreeGroup1 += node.getDegree(); + } + double averageDegreeGroup1 = group1.isEmpty() ? 0 : totalDegreeGroup1 / group1.size(); + System.out.printf("Degré moyen (Groupe 1 - Voisins immunisés) : %.9f%n", averageDegreeGroup1); +``` + +Immunisation aléatoire : + +50 % des nœuds du graphe sont sélectionnés de manière aléatoire pour être immunisés. + +Ces nœuds sont marqués avec l'attribut "immune" et ajoutés à un ensemble immune. + + +###### Groupe 0 (non immunisé) : + +les nœuds non immunisés forment le groupe 0. + +Ces nœuds représentent une population aléatoire non immunisée dans le graphe. + +###### Groupe 1 (voisins immunisés) : + +Pour chaque nœud du Groupe 0, on cherche un voisin immunisé (parmi ceux marqués "immune"). +Ce voisin immunisé est ajouté au Groupe 1. + +Chaque nœud du Groupe 0 est associé à un seul voisin immunisé. + + +Voici les résultats : + +- Degré moyen (Groupe 0 - Non immunisé) : 6,601652580 +- Degré moyen (Groupe 1 - Voisins immunisés) : 14,067850086 + +La différence entre les degrés moyens reflète l’efficacité de l’immunisation sélective : + +###### Immunisation aléatoire : +Le degré moyen est similaire au degré moyen global du graphe. +###### Immunisation sélective : +Le degré moyen est nettement plus élevé, car les voisins des hubs +(nœuds critiques) sont ciblés, ce qui fragmente davantage le réseau. \ No newline at end of file diff --git a/barabasi_degree_distribution.txt b/barabasi_degree_distribution.txt index 93f5072..f71e80d 100644 --- a/barabasi_degree_distribution.txt +++ b/barabasi_degree_distribution.txt @@ -1,305 +1,321 @@ # Degree Probability -1 0.11160275009461335 -2 0.11175413144947648 -3 0.11101299356629242 -4 0.1116532105462344 -5 0.11083638198561876 -6 0.11004162987258737 -7 0.07412009587485809 -8 0.05203103317774694 -9 0.03712312350195534 -10 0.02815693200454144 -11 0.02191245111643749 -12 0.016894789958370127 -13 0.01405954333291283 -14 0.01116752869938186 -15 0.00892203860224549 -16 0.007578529077835247 -17 0.006518859593793364 -18 0.005304654976662041 -19 0.0047622051217358395 -20 0.003980068121609688 -21 0.0035763845086413523 -22 0.003125394222278289 -23 0.002712249274631008 -24 0.0023558723350573987 +1 0.11089945755014508 +2 0.11121798915100291 +3 0.11159959631638704 +4 0.11104768512678188 +5 0.11085845843320298 +6 0.11048631260249779 +7 0.0743944745805475 +8 0.05184496026239435 +9 0.03817333165131828 +10 0.028141163113409865 +11 0.021619149741390186 +12 0.017200706446322694 +13 0.013725242840923427 +14 0.011113914469534502 +15 0.009294184432950674 +16 0.007584836634287877 +17 0.006354863126024978 +18 0.005364576762962029 +19 0.0045982086539674534 +20 0.004197678819225432 +21 0.0035038476094361045 +22 0.0031001639964677685 +23 0.0027595559480257346 +24 0.0022770278793995207 25 0.001986880282578529 -26 0.0019017282704680207 -27 0.0017471931373785796 +26 0.0018008073672259367 +27 0.0016368108994575502 28 0.001510659770404945 -29 0.0014128926453891761 -30 0.0012741264034313107 -31 0.0010848997098524033 -32 0.00113220638324713 -33 0.0010155165888734703 -34 9.398259114419074E-4 -35 7.569067743156302E-4 -36 7.222152138261637E-4 -37 7.096001009209033E-4 -38 6.2760186703671E-4 -39 6.244480888103949E-4 -40 5.456036331525167E-4 -41 4.951431815314747E-4 -42 3.7529960893149995E-4 -43 4.1945250409991167E-4 -44 4.162987258735966E-4 -45 3.847609436104453E-4 -46 3.784533871578151E-4 -47 3.563769395736092E-4 -48 2.9014759682099154E-4 -49 2.806862621420462E-4 -50 3.1222404440519745E-4 -51 2.586098145578403E-4 -52 2.680711492367857E-4 -53 2.3968714519994954E-4 -54 1.955342500315378E-4 -55 2.0184180648416804E-4 -56 1.6399646776838652E-4 -57 2.1445691938942854E-4 -58 1.6715024599470166E-4 -59 1.7661158067364702E-4 -60 1.8291913712627727E-4 -61 1.7030402422101677E-4 -62 1.734578024473319E-4 -63 1.608426895420714E-4 -64 1.3876624195786552E-4 -65 1.2299735082628988E-4 -66 1.1668979437365965E-4 -67 1.103822379210294E-4 -68 1.7030402422101677E-4 -69 1.3245868550523527E-4 -70 9.461334678945377E-5 -71 1.1353601614734452E-4 -72 1.0722845969471427E-4 +29 0.0014412766494260123 +30 0.00125520373407342 +31 0.0011984357259997476 +32 0.0010722845969471427 +33 0.001006055254194525 +34 8.672890122366595E-4 +35 8.199823388419326E-4 +36 7.915983348050965E-4 +37 6.843698751103823E-4 +38 6.812160968840671E-4 +39 6.2760186703671E-4 +40 5.172196291156806E-4 +41 4.478365081367478E-4 +42 5.01450737984105E-4 +43 3.847609436104453E-4 +44 4.1314494764728145E-4 +45 3.8160716538413017E-4 +46 3.595307177999243E-4 +47 3.343004919894033E-4 +48 3.469156048946638E-4 +49 2.6491737101047054E-4 +50 2.996089314999369E-4 +51 2.4599470165257976E-4 +52 2.712249274631008E-4 +53 2.239182540683739E-4 +54 2.2707203229468904E-4 +55 2.2707203229468904E-4 +56 2.0184180648416804E-4 +57 1.860729153525924E-4 +58 1.9238047180522266E-4 +59 1.8291913712627727E-4 +60 1.8922669357890754E-4 +61 1.5453513308944116E-4 +62 1.5768891131575627E-4 +63 1.4507379841049577E-4 +64 1.5453513308944116E-4 +65 1.2615112905260502E-4 +66 1.0092090324208402E-4 +67 1.2615112905260502E-4 +68 9.461334678945377E-5 +69 1.103822379210294E-4 +70 7.569067743156301E-5 +71 1.0407468146839915E-4 +72 7.884445565787813E-5 73 9.461334678945377E-5 -74 9.145956856313863E-5 -75 6.307556452630251E-5 -76 1.1668979437365965E-4 -77 7.253689920524788E-5 -78 7.569067743156301E-5 +74 9.461334678945377E-5 +75 8.830579033682351E-5 +76 8.199823388419326E-5 +77 6.307556452630251E-5 +78 7.884445565787813E-5 79 6.307556452630251E-5 -80 5.3614229847357136E-5 -81 4.4152895168411754E-5 -82 7.884445565787813E-5 -83 7.569067743156301E-5 -84 7.569067743156301E-5 -85 4.7306673394726886E-5 +80 7.253689920524788E-5 +81 6.307556452630251E-5 +82 4.4152895168411754E-5 +83 6.307556452630251E-5 +84 6.307556452630251E-5 +85 6.307556452630251E-5 86 5.9921786299987385E-5 -87 5.676800807367226E-5 +87 5.3614229847357136E-5 88 4.099911694209663E-5 -89 3.7845338715781505E-5 -90 5.3614229847357136E-5 -91 5.9921786299987385E-5 -92 3.7845338715781505E-5 -93 3.469156048946638E-5 -94 4.4152895168411754E-5 -95 3.1537782263151255E-5 -96 2.5230225810521005E-5 -97 5.3614229847357136E-5 -98 3.469156048946638E-5 -99 1.8922669357890752E-5 -100 4.4152895168411754E-5 -101 5.046045162104201E-5 -102 3.7845338715781505E-5 -103 3.1537782263151255E-5 +89 5.046045162104201E-5 +90 4.7306673394726886E-5 +91 4.7306673394726886E-5 +92 6.938312097893276E-5 +93 4.099911694209663E-5 +94 2.5230225810521005E-5 +95 5.676800807367226E-5 +96 2.838400403683613E-5 +97 3.469156048946638E-5 +98 4.4152895168411754E-5 +99 3.7845338715781505E-5 +100 4.7306673394726886E-5 +101 1.5768891131575628E-5 +102 4.7306673394726886E-5 +103 4.099911694209663E-5 104 3.1537782263151255E-5 -105 2.5230225810521005E-5 -106 1.8922669357890752E-5 -107 2.5230225810521005E-5 -108 1.8922669357890752E-5 -109 3.7845338715781505E-5 -110 2.5230225810521005E-5 -111 1.8922669357890752E-5 +105 2.838400403683613E-5 +106 1.5768891131575628E-5 +107 2.2076447584205877E-5 +108 3.7845338715781505E-5 +109 2.5230225810521005E-5 +110 3.1537782263151255E-5 +111 2.838400403683613E-5 112 2.838400403683613E-5 113 2.2076447584205877E-5 -114 2.838400403683613E-5 -115 3.1537782263151255E-5 -116 2.5230225810521005E-5 -117 9.461334678945376E-6 -118 2.838400403683613E-5 -119 2.5230225810521005E-5 -120 2.5230225810521005E-5 -121 4.099911694209663E-5 -122 2.5230225810521005E-5 -123 2.5230225810521005E-5 -124 2.2076447584205877E-5 -125 2.5230225810521005E-5 -126 1.2615112905260503E-5 +114 1.5768891131575628E-5 +115 2.5230225810521005E-5 +116 1.8922669357890752E-5 +117 2.5230225810521005E-5 +118 1.5768891131575628E-5 +119 1.8922669357890752E-5 +120 6.307556452630251E-6 +121 1.8922669357890752E-5 +122 2.838400403683613E-5 +123 1.8922669357890752E-5 +124 2.5230225810521005E-5 +125 1.8922669357890752E-5 +126 6.307556452630251E-6 127 1.5768891131575628E-5 -128 1.2615112905260503E-5 -129 9.461334678945376E-6 -130 2.2076447584205877E-5 -131 1.2615112905260503E-5 -132 2.5230225810521005E-5 -133 9.461334678945376E-6 -134 6.307556452630251E-6 -135 9.461334678945376E-6 -136 6.307556452630251E-6 -137 6.307556452630251E-6 -138 2.838400403683613E-5 -139 6.307556452630251E-6 -140 3.1537782263151257E-6 -141 1.2615112905260503E-5 +128 9.461334678945376E-6 +129 1.5768891131575628E-5 +130 2.5230225810521005E-5 +131 2.2076447584205877E-5 +132 1.5768891131575628E-5 +133 1.2615112905260503E-5 +134 1.5768891131575628E-5 +135 1.5768891131575628E-5 +136 1.2615112905260503E-5 +137 1.2615112905260503E-5 +138 9.461334678945376E-6 +139 3.1537782263151255E-5 +140 9.461334678945376E-6 +141 2.838400403683613E-5 142 6.307556452630251E-6 -143 9.461334678945376E-6 -144 1.2615112905260503E-5 -145 1.8922669357890752E-5 -146 1.8922669357890752E-5 -147 1.2615112905260503E-5 -148 1.2615112905260503E-5 -149 1.5768891131575628E-5 -150 1.5768891131575628E-5 -151 1.2615112905260503E-5 -152 1.5768891131575628E-5 -153 1.8922669357890752E-5 -154 9.461334678945376E-6 -155 1.5768891131575628E-5 -156 2.2076447584205877E-5 +143 1.2615112905260503E-5 +144 1.5768891131575628E-5 +145 1.5768891131575628E-5 +146 6.307556452630251E-6 +147 9.461334678945376E-6 +148 3.1537782263151257E-6 +149 6.307556452630251E-6 +150 9.461334678945376E-6 +151 9.461334678945376E-6 +152 9.461334678945376E-6 +153 9.461334678945376E-6 +154 1.8922669357890752E-5 +155 3.1537782263151257E-6 +156 6.307556452630251E-6 +157 6.307556452630251E-6 158 1.5768891131575628E-5 -159 3.1537782263151257E-6 -160 1.5768891131575628E-5 +159 6.307556452630251E-6 +160 6.307556452630251E-6 161 9.461334678945376E-6 -162 3.1537782263151257E-6 -163 6.307556452630251E-6 -164 9.461334678945376E-6 +162 6.307556452630251E-6 +163 9.461334678945376E-6 +164 3.1537782263151257E-6 165 1.2615112905260503E-5 -166 6.307556452630251E-6 -167 9.461334678945376E-6 +166 3.1537782263151257E-6 +167 6.307556452630251E-6 168 3.1537782263151257E-6 -169 6.307556452630251E-6 -170 3.1537782263151257E-6 -171 1.5768891131575628E-5 -172 6.307556452630251E-6 -173 6.307556452630251E-6 -174 9.461334678945376E-6 -175 3.1537782263151257E-6 -176 3.1537782263151257E-6 -177 6.307556452630251E-6 -178 6.307556452630251E-6 -179 1.2615112905260503E-5 -180 1.8922669357890752E-5 -181 3.1537782263151257E-6 -182 3.1537782263151257E-6 -183 9.461334678945376E-6 -185 9.461334678945376E-6 -186 3.1537782263151257E-6 -187 1.2615112905260503E-5 -188 3.1537782263151257E-6 -192 9.461334678945376E-6 -194 6.307556452630251E-6 +169 3.1537782263151257E-6 +170 9.461334678945376E-6 +171 3.1537782263151257E-6 +172 3.1537782263151257E-6 +173 2.2076447584205877E-5 +174 1.8922669357890752E-5 +175 6.307556452630251E-6 +176 9.461334678945376E-6 +177 3.1537782263151257E-6 +178 3.1537782263151257E-6 +180 1.2615112905260503E-5 +181 9.461334678945376E-6 +182 1.2615112905260503E-5 +183 6.307556452630251E-6 +184 1.2615112905260503E-5 +185 3.1537782263151257E-6 +186 9.461334678945376E-6 +188 6.307556452630251E-6 +190 6.307556452630251E-6 +191 9.461334678945376E-6 +192 3.1537782263151257E-6 +193 6.307556452630251E-6 195 6.307556452630251E-6 -196 6.307556452630251E-6 -197 9.461334678945376E-6 -198 6.307556452630251E-6 -199 9.461334678945376E-6 -201 6.307556452630251E-6 -202 9.461334678945376E-6 +196 3.1537782263151257E-6 +197 3.1537782263151257E-6 +198 3.1537782263151257E-6 +199 6.307556452630251E-6 +200 3.1537782263151257E-6 +202 6.307556452630251E-6 203 3.1537782263151257E-6 -204 3.1537782263151257E-6 -205 9.461334678945376E-6 -208 9.461334678945376E-6 -209 3.1537782263151257E-6 -210 3.1537782263151257E-6 +204 1.2615112905260503E-5 +205 3.1537782263151257E-6 +206 3.1537782263151257E-6 +207 3.1537782263151257E-6 +208 3.1537782263151257E-6 +209 6.307556452630251E-6 +210 6.307556452630251E-6 211 6.307556452630251E-6 -212 6.307556452630251E-6 -214 3.1537782263151257E-6 -215 9.461334678945376E-6 -216 3.1537782263151257E-6 -218 6.307556452630251E-6 -219 6.307556452630251E-6 -222 3.1537782263151257E-6 +213 6.307556452630251E-6 +214 6.307556452630251E-6 +215 6.307556452630251E-6 +217 6.307556452630251E-6 +221 3.1537782263151257E-6 +222 6.307556452630251E-6 223 3.1537782263151257E-6 -224 9.461334678945376E-6 -225 6.307556452630251E-6 +226 3.1537782263151257E-6 228 3.1537782263151257E-6 -230 3.1537782263151257E-6 +230 9.461334678945376E-6 +231 9.461334678945376E-6 +232 3.1537782263151257E-6 +233 3.1537782263151257E-6 234 3.1537782263151257E-6 235 3.1537782263151257E-6 -236 6.307556452630251E-6 -237 3.1537782263151257E-6 -239 6.307556452630251E-6 -241 3.1537782263151257E-6 -242 3.1537782263151257E-6 -243 6.307556452630251E-6 -246 3.1537782263151257E-6 -248 3.1537782263151257E-6 -249 6.307556452630251E-6 -253 3.1537782263151257E-6 -254 6.307556452630251E-6 -256 6.307556452630251E-6 -257 6.307556452630251E-6 -259 3.1537782263151257E-6 -260 3.1537782263151257E-6 -261 3.1537782263151257E-6 +236 3.1537782263151257E-6 +238 3.1537782263151257E-6 +240 3.1537782263151257E-6 +242 1.2615112905260503E-5 +243 3.1537782263151257E-6 +244 6.307556452630251E-6 +247 3.1537782263151257E-6 +249 3.1537782263151257E-6 +250 6.307556452630251E-6 +254 9.461334678945376E-6 +255 3.1537782263151257E-6 +256 3.1537782263151257E-6 +259 6.307556452630251E-6 +263 3.1537782263151257E-6 264 3.1537782263151257E-6 -265 3.1537782263151257E-6 -268 3.1537782263151257E-6 +265 6.307556452630251E-6 +266 3.1537782263151257E-6 +267 6.307556452630251E-6 269 3.1537782263151257E-6 -274 3.1537782263151257E-6 -278 3.1537782263151257E-6 -283 6.307556452630251E-6 +270 3.1537782263151257E-6 +272 3.1537782263151257E-6 +273 6.307556452630251E-6 +278 9.461334678945376E-6 +281 3.1537782263151257E-6 +283 3.1537782263151257E-6 284 3.1537782263151257E-6 -285 3.1537782263151257E-6 -287 6.307556452630251E-6 -288 3.1537782263151257E-6 -289 3.1537782263151257E-6 -296 3.1537782263151257E-6 -307 3.1537782263151257E-6 +285 6.307556452630251E-6 +286 3.1537782263151257E-6 +288 6.307556452630251E-6 +292 3.1537782263151257E-6 +293 9.461334678945376E-6 +294 3.1537782263151257E-6 +295 6.307556452630251E-6 +298 3.1537782263151257E-6 +299 3.1537782263151257E-6 +300 3.1537782263151257E-6 +303 3.1537782263151257E-6 +304 3.1537782263151257E-6 +306 6.307556452630251E-6 310 3.1537782263151257E-6 -314 6.307556452630251E-6 +317 3.1537782263151257E-6 318 3.1537782263151257E-6 -319 3.1537782263151257E-6 -323 3.1537782263151257E-6 -335 3.1537782263151257E-6 -339 3.1537782263151257E-6 -351 6.307556452630251E-6 -353 3.1537782263151257E-6 -367 3.1537782263151257E-6 -370 3.1537782263151257E-6 +326 3.1537782263151257E-6 +334 3.1537782263151257E-6 +336 3.1537782263151257E-6 +338 3.1537782263151257E-6 +341 3.1537782263151257E-6 +342 3.1537782263151257E-6 +345 6.307556452630251E-6 +347 3.1537782263151257E-6 +348 3.1537782263151257E-6 +349 3.1537782263151257E-6 +358 3.1537782263151257E-6 +368 3.1537782263151257E-6 +373 3.1537782263151257E-6 375 3.1537782263151257E-6 376 3.1537782263151257E-6 -382 3.1537782263151257E-6 -383 3.1537782263151257E-6 -384 3.1537782263151257E-6 -388 3.1537782263151257E-6 -389 3.1537782263151257E-6 -398 3.1537782263151257E-6 -404 3.1537782263151257E-6 -414 3.1537782263151257E-6 -415 3.1537782263151257E-6 -423 6.307556452630251E-6 -450 3.1537782263151257E-6 +378 3.1537782263151257E-6 +391 3.1537782263151257E-6 +411 3.1537782263151257E-6 +420 3.1537782263151257E-6 +428 6.307556452630251E-6 +430 6.307556452630251E-6 +432 3.1537782263151257E-6 +444 3.1537782263151257E-6 453 3.1537782263151257E-6 -454 3.1537782263151257E-6 -461 3.1537782263151257E-6 +460 3.1537782263151257E-6 +468 3.1537782263151257E-6 473 3.1537782263151257E-6 -485 3.1537782263151257E-6 -495 3.1537782263151257E-6 -502 3.1537782263151257E-6 -504 3.1537782263151257E-6 -509 3.1537782263151257E-6 -512 3.1537782263151257E-6 -513 3.1537782263151257E-6 -515 3.1537782263151257E-6 -541 3.1537782263151257E-6 -542 3.1537782263151257E-6 -573 3.1537782263151257E-6 -574 3.1537782263151257E-6 +481 3.1537782263151257E-6 +488 3.1537782263151257E-6 +490 3.1537782263151257E-6 +562 3.1537782263151257E-6 +591 3.1537782263151257E-6 596 3.1537782263151257E-6 -613 3.1537782263151257E-6 -718 3.1537782263151257E-6 -775 3.1537782263151257E-6 -877 3.1537782263151257E-6 -913 3.1537782263151257E-6 -914 3.1537782263151257E-6 +597 3.1537782263151257E-6 +601 3.1537782263151257E-6 +639 3.1537782263151257E-6 +644 3.1537782263151257E-6 +648 3.1537782263151257E-6 +654 3.1537782263151257E-6 +666 3.1537782263151257E-6 +672 3.1537782263151257E-6 +676 3.1537782263151257E-6 +697 3.1537782263151257E-6 +701 3.1537782263151257E-6 +702 3.1537782263151257E-6 +771 3.1537782263151257E-6 +846 3.1537782263151257E-6 +961 3.1537782263151257E-6 974 3.1537782263151257E-6 -987 3.1537782263151257E-6 -999 3.1537782263151257E-6 -1031 3.1537782263151257E-6 -1070 3.1537782263151257E-6 -1101 3.1537782263151257E-6 +1074 3.1537782263151257E-6 +1097 3.1537782263151257E-6 1107 3.1537782263151257E-6 -1178 3.1537782263151257E-6 -1232 3.1537782263151257E-6 -1299 3.1537782263151257E-6 -1657 3.1537782263151257E-6 +1159 3.1537782263151257E-6 +1166 3.1537782263151257E-6 +1303 3.1537782263151257E-6 +1329 3.1537782263151257E-6 +1527 3.1537782263151257E-6 diff --git a/comparison_results.txt b/comparison_results.txt index 12170f7..c922100 100644 --- a/comparison_results.txt +++ b/comparison_results.txt @@ -2,12 +2,12 @@ Comparaison des réseaux générés : Réseau aléatoire : Nombre de noeuds : 317080 -Nombre de liens : 1049907 -Degré moyen : 6,6223 +Nombre de liens : 1049119 +Degré moyen : 6,6174 Coefficient de clustering : 0,0000 Réseau Barabási-Albert : Nombre de noeuds : 317080 -Nombre de liens : 1108082 -Degré moyen : 6,9893 +Nombre de liens : 1110120 +Degré moyen : 7,0021 Coefficient de clustering : 0,0004 diff --git a/degree_distribution_ba.png b/degree_distribution_ba.png new file mode 100644 index 0000000000000000000000000000000000000000..883079fea5fc3e3a51416601508896acf92bc3d9 GIT binary patch literal 19295 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 c=n6(3dZDNI!DPa89IeW^R2)PyrqO?VQ| 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 gKQWc(|Q`lgx7xnQiktMTE>l=6M#% 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 l17N2EV7c9~=f5**D`_L_-E-G#x immune = new HashSet<>(); + Random random = new Random(); + int immuneCount = (int) (0.5 * graph.getNodeCount()); // Immuniser 50 % des nœuds + List nodes = new ArrayList<>(graph.nodes().toList()); + Collections.shuffle(nodes, random); + for (int i = 0; i < immuneCount; i++) { + Node node = nodes.get(i); + node.setAttribute("immune", true); // Marquer comme immunisé + immune.add(node); + } + + // Groupes + Set group0 = new HashSet<>(); // Groupe 0 : 50 % des nœuds non immunisés + Set group1 = new HashSet<>(); // Groupe 1 : Un voisin immunisé de chaque nœud du Groupe 0 + + // Sélectionner 50 % des nœuds non immunisés pour le Groupe 0 + List nonImmuneNodes = new ArrayList<>(); + for (Node node : graph) { + if (!immune.contains(node)) { // Nœuds non immunisés + nonImmuneNodes.add(node); + } + } + Collections.shuffle(nonImmuneNodes, random); // Mélanger les nœuds non immunisés + int targetCount = (int) (0.5 * nonImmuneNodes.size()); // 50 % des nœuds non immunisés + for (int i = 0; i < targetCount; i++) { + group0.add(nonImmuneNodes.get(i)); // Ajouter au groupe 0 + } + + // Pour chaque nœud du Groupe 0, ajouter un voisin immunisé au Groupe 1 + for (Node node : group0) { + List neighbors = node.neighborNodes().toList(); + for (Node neighbor : neighbors) { + if (immune.contains(neighbor)) { // Vérifier si le voisin est immunisé + group1.add(neighbor); // Ajouter un seul voisin immunisé au groupe 1 + break; // Sortir de la boucle après avoir trouvé un voisin immunisé + } + } + } + + // Calcul du degré moyen pour le Groupe 0 (non immunisé) + double totalDegreeGroup0 = 0; + for (Node node : group0) { + totalDegreeGroup0 += node.getDegree(); + } + double averageDegreeGroup0 = group0.isEmpty() ? 0 : totalDegreeGroup0 / group0.size(); + System.out.printf("Degré moyen (Groupe 0 - Non immunisé) : %.9f%n", averageDegreeGroup0); + + // Calcul du degré moyen pour le Groupe 1 (voisins immunisés) + double totalDegreeGroup1 = 0; + for (Node node : group1) { + totalDegreeGroup1 += node.getDegree(); + } + double averageDegreeGroup1 = group1.isEmpty() ? 0 : totalDegreeGroup1 / group1.size(); + System.out.printf("Degré moyen (Groupe 1 - Voisins immunisés) : %.9f%n", averageDegreeGroup1); // --- Paramètres --- - int daysToSimulate = 90; // 3 months + int daysToSimulate = 90; // 3 mois double infectionProbability = 1.0; // β = 1 double recoveryProbability = 0.5; // μ = 0.5 @@ -51,10 +106,14 @@ public class Propagation { System.out.println("Les résultats ont été sauvegardés dans les fichiers pour Gnuplot."); // Calculer les degrés moyens des groupes 0 et 1 - calculateAverageDegreeSelectiveImmunization(graph); + + + + + epidemicThresholdAnalysis(graph,infectionProbability,recoveryProbability); -// Réseau modifié après immunisation aléatoire + // Réseau modifié après immunisation aléatoire System.out.println("Analyse après immunisation aléatoire :"); Graph randomImmunizedGraph = cloneGraph(graph); applyRandomImmunization(randomImmunizedGraph, 0.5); // 50% des nœuds immunisés @@ -65,7 +124,7 @@ public class Propagation { Graph selectiveImmunizedGraph = cloneGraph(graph); applySelectiveImmunization(selectiveImmunizedGraph, 0.5); // 50% des voisins des hubs immunisés epidemicThresholdAnalysis(selectiveImmunizedGraph, infectionProbability, recoveryProbability); - + } private static Graph cloneGraph(Graph original) { @@ -182,7 +241,7 @@ public class Propagation { double[] infectedFractions = new double[days]; Random random = new Random(); - // Reset states + // initialisation for (Node node : graph) { node.setAttribute("state", "susceptible"); node.removeAttribute("immune"); @@ -198,13 +257,30 @@ public class Propagation { node.setAttribute("immune", true); } } else { - // Immunisation sélective : immuniser un voisin - for (Node node : graph) { - if (random.nextDouble() < immunizationFraction && node.getDegree() > 0) { - Node neighbor = node.neighborNodes().toList().get(0); // Prendre un voisin + // Immunisation sélective : immuniser un voisin pour 50% des nœuds existants + List nodes = new ArrayList<>( graph.nodes().toList()); + + // Calculer le nombre de nœuds à immuniser (50% des nœuds existants) + int nodesToImmunize = (int) (immunizationFraction * nodes.size()); + + // Mélanger les nœuds pour garantir une sélection aléatoire + Collections.shuffle(nodes, random); + + // Sélectionner les premiers `nodesToImmunize` nœuds et immuniser un voisin pour chacun + for (int i = 0; i < nodesToImmunize; i++) { + Node node = nodes.get(i); + + // Vérifier que le nœud a des voisins + if (node.getDegree() > 0) { + // Prendre un voisin aléatoire + List neighbors = node.neighborNodes().toList(); + Node neighbor = neighbors.get(random.nextInt(neighbors.size())); + + // Immuniser ce voisin neighbor.setAttribute("immune", true); } } + } } @@ -233,7 +309,7 @@ public class Propagation { } } } - + // mise à jour de l'état des noeuds for (Node node : graph) { if (node.hasAttribute("nextState")) { node.setAttribute("state", node.getAttribute("nextState")); @@ -247,37 +323,40 @@ public class Propagation { return infectedFractions; } + public static void calculateAverageDegrees(Graph graph, Set immune) { + // Groupes 0 (non immunisés) et 1 (immunisés) + Set group0 = new HashSet<>(); + Set group1 = immune; // Groupe 1 est directement le set 'immune' (les nœuds immunisés) + // Ajouter 50 % des nœuds au groupe 0 + Random random = new Random(); + List nodes = new ArrayList<>(); + for (Node node : graph) { + nodes.add(node); + } + Collections.shuffle(nodes); // Mélanger les nœuds pour une sélection aléatoire + int targetConvincers = graph.getNodeCount() / 2; // 50 % des nœuds + for (int i = 0; i < targetConvincers; i++) { + group0.add(nodes.get(i)); // Ajouter au groupe 0 + } - private static void calculateAverageDegreeSelectiveImmunization(Graph graph) { - double totalDegreeGroup0 = 0; // Somme des degrés des nœuds du groupe 0 - double totalDegreeGroup1 = 0; // Somme des degrés des nœuds du groupe 1 - int countGroup0 = 0; // Nombre de nœuds dans le groupe 0 - int countGroup1 = 0; // Nombre de nœuds dans le groupe 1 + // Calcul du degré moyen pour le groupe 0 (non immunisé) + double totalDegreeGroup0 = 0; + for (Node node : group0) { + totalDegreeGroup0 += node.getDegree(); + } + double averageDegreeGroup0 = group0.isEmpty() ? 0 : totalDegreeGroup0 / group0.size(); + System.out.println("Degré moyen du groupe 0 (non immunisé) : " + averageDegreeGroup0); - // Parcourir tous les nœuds pour identifier les groupes - for (Node node : graph) { - if (node.hasAttribute("selected")) { // Groupe 0 : nœuds choisis aléatoirement - totalDegreeGroup0 += node.getDegree(); - countGroup0++; - - // Groupe 1 : voisins immunisés de ces nœuds - for (Node neighbor : node.neighborNodes().toList()) { - if (neighbor.hasAttribute("immune")) { - totalDegreeGroup1 += neighbor.getDegree(); - countGroup1++; - } - } - } + // Calcul du degré moyen pour le groupe 1 (immunisé) + double totalDegreeGroup1 = 0; + for (Node node : group1) { + totalDegreeGroup1 += node.getDegree(); } + double averageDegreeGroup1 = group1.isEmpty() ? 0 : totalDegreeGroup1 / group1.size(); + System.out.println("Degré moyen du groupe 1 (immunisé) : " + averageDegreeGroup1); + } - // Calcul des degrés moyens - double avgDegreeGroup0 = countGroup0 > 0 ? totalDegreeGroup0 / countGroup0 : 0; - double avgDegreeGroup1 = countGroup1 > 0 ? totalDegreeGroup1 / countGroup1 : 0; - // Afficher les résultats - System.out.printf("Degré moyen (Groupe 0 - Nœuds sélectionnés aléatoirement) : %.9f%n", avgDegreeGroup0); - System.out.printf("Degré moyen (Groupe 1 - Voisins immunisés) : %.9f%n", avgDegreeGroup1); - } } -- GitLab