From 36da6a754624f93e555bcaba8b3d0cdc28c17a0b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Magdalena=20Grodzi=C5=84ska?= Date: Sat, 11 Jan 2020 10:56:26 +0100 Subject: Make exp increases in good direction --- .../cloudatlas/agent/modules/GossipGirlStrategies.java | 13 ++++++------- .../cloudatlas/agent/modules/GossipGirlStrategyTest.java | 1 + 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/src/main/java/pl/edu/mimuw/cloudatlas/agent/modules/GossipGirlStrategies.java b/src/main/java/pl/edu/mimuw/cloudatlas/agent/modules/GossipGirlStrategies.java index 4cd534e..79efe39 100644 --- a/src/main/java/pl/edu/mimuw/cloudatlas/agent/modules/GossipGirlStrategies.java +++ b/src/main/java/pl/edu/mimuw/cloudatlas/agent/modules/GossipGirlStrategies.java @@ -34,7 +34,6 @@ public class GossipGirlStrategies { ArrayList> zoneProbabilities; zoneProbabilities = new ArrayList<>(fullPathLength); - // TODO check if we decrease in good direction for (int i = 0; i < fullPathLength; i++) { Pair probPair = new Pair(fullPathComponents.get(i), Math.exp((double) i+1)); zoneProbabilities.add(probPair); @@ -48,7 +47,6 @@ public class GossipGirlStrategies { zoneProbabilities = new ArrayList<>(fullPathLength); Double uniformProb = 1.0/fullPathLength; - // TODO good direction for (int i = 0; i < fullPathLength; i++) { Pair probPair = new Pair(fullPathComponents.get(i), uniformProb); zoneProbabilities.add(probPair); @@ -72,10 +70,9 @@ public class GossipGirlStrategies { } private String updateRoundRobinExpFreqs() { - // TODO good direction - for (int i = roundRobinExpFreqs.size() - 1; i > 0; i--) { + for (int i = 0; i < roundRobinExpFreqs.size() - 1; i++) { Pair p = roundRobinExpFreqs.get(i); - Pair nextP = roundRobinExpFreqs.get(i-1); + Pair nextP = roundRobinExpFreqs.get(i+1); if (2 * p.getSecond() < nextP.getSecond()) { roundRobinExpFreqs.set(i, new Pair(p.getFirst(), p.getSecond() + 1)); @@ -83,8 +80,10 @@ public class GossipGirlStrategies { } } - Pair rootPath = roundRobinExpFreqs.get(0); - roundRobinExpFreqs.set(0, new Pair(rootPath.getFirst(), rootPath.getSecond() + 1)); + Pair rootPath = roundRobinExpFreqs.get(roundRobinExpFreqs.size() - 1); + roundRobinExpFreqs.set( + roundRobinExpFreqs.size() - 1, + new Pair(rootPath.getFirst(), rootPath.getSecond() + 1)); return rootPath.getFirst(); } diff --git a/src/test/java/pl/edu/mimuw/cloudatlas/agent/modules/GossipGirlStrategyTest.java b/src/test/java/pl/edu/mimuw/cloudatlas/agent/modules/GossipGirlStrategyTest.java index 681483d..8fba76e 100644 --- a/src/test/java/pl/edu/mimuw/cloudatlas/agent/modules/GossipGirlStrategyTest.java +++ b/src/test/java/pl/edu/mimuw/cloudatlas/agent/modules/GossipGirlStrategyTest.java @@ -26,6 +26,7 @@ public class GossipGirlStrategyTest { gossipGirlStrategies.selectStrategy(GossipGirlStrategies.ZoneSelectionStrategy.ROUND_ROBIN_EXP_FREQ); freqs.put(selectedPath, freqs.get(selectedPath) + 1); System.out.println(selectedPath); + System.out.println(freqs); } } } -- cgit v1.2.3