Author: mrogers
Date: 2006-10-11 06:34:02 +0000 (Wed, 11 Oct 2006)
New Revision: 10658

Modified:
   trunk/apps/load-balancing-sims/kleinberg-attack/Sim.java
   trunk/apps/load-balancing-sims/phase6/Sim.java
Log:
Kleinberg shortcuts should be added randomly with replacement

Modified: trunk/apps/load-balancing-sims/kleinberg-attack/Sim.java
===================================================================
--- trunk/apps/load-balancing-sims/kleinberg-attack/Sim.java    2006-10-10 
18:52:05 UTC (rev 10657)
+++ trunk/apps/load-balancing-sims/kleinberg-attack/Sim.java    2006-10-11 
06:34:02 UTC (rev 10658)
@@ -19,12 +19,10 @@
                        norm += 1.0 / latticeDistance (0, i);

                // Add DEGREE shortcuts per node, randomly with replacement
-               double outDegree = DEGREE * 0.5;
                for (int i = 0; i < NODES; i++) {
-                       for (int j = 0; j < NODES; j++) {
-                               if (i == j) continue;
+                       for (int j = 0; j < i; j++) {
                                double p = 1.0 / latticeDistance (i, j) / norm;
-                               for (int k = 0; k < outDegree; k++) {
+                               for (int k = 0; k < DEGREE; k++) {
                                        if (Math.random() < p) {
                                                nodes[i].connect (nodes[j]);
                                                nodes[j].connect (nodes[i]);

Modified: trunk/apps/load-balancing-sims/phase6/Sim.java
===================================================================
--- trunk/apps/load-balancing-sims/phase6/Sim.java      2006-10-10 18:52:05 UTC 
(rev 10657)
+++ trunk/apps/load-balancing-sims/phase6/Sim.java      2006-10-11 06:34:02 UTC 
(rev 10658)
@@ -47,12 +47,10 @@
                        norm += 1.0 / latticeDistance (0, i);

                // Add DEGREE shortcuts per node, randomly with replacement
-               double outDegree = DEGREE * 0.5;
                for (int i = 0; i < NODES; i++) {
-                       for (int j = 0; j < NODES; j++) {
-                               if (i == j) continue;
+                       for (int j = 0; j < i; j++) {
                                double p = 1.0 / latticeDistance (i, j) / norm;
-                               for (int k = 0; k < outDegree; k++) {
+                               for (int k = 0; k < DEGREE; k++) {
                                        if (Math.random() < p) {
                                                nodes[i].connectBothWays
                                                        (nodes[j], LATENCY);


Reply via email to