From 740289ee2b98acc353f818bd00a2048088b94cb9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jan=20L=C3=B6wenstrom?= Date: Thu, 2 Apr 2020 14:01:37 +0200 Subject: [PATCH] add constant for default reward --- .idea/misc.xml | 2 +- AdvancedZ3B1MonteCarlo.png | Bin 18582 -> 0 bytes AntAnalysis05Disc.png | Bin 28556 -> 0 bytes AntAnalysis099Disc.png | Bin 34712 -> 0 bytes AntAnalysis09Disc.png | Bin 27974 -> 0 bytes src/main/java/core/algo/Learning.java | 4 +--- .../algo/td/QLearningOffPolicyTDControl.java | 3 +-- src/main/java/evironment/antGame/AntWorld.java | 2 +- src/main/java/evironment/antGame/Reward.java | 1 + .../java/evironment/jumpingDino/DinoWorld.java | 4 ++-- src/main/java/example/ContinuousAnt.java | 4 +--- src/main/java/example/DinoSampling.java | 13 ++++++------- 12 files changed, 14 insertions(+), 19 deletions(-) delete mode 100644 AdvancedZ3B1MonteCarlo.png delete mode 100644 AntAnalysis05Disc.png delete mode 100644 AntAnalysis099Disc.png delete mode 100644 AntAnalysis09Disc.png diff --git a/.idea/misc.xml b/.idea/misc.xml index 384e5d8..a19b0c6 100644 --- a/.idea/misc.xml +++ b/.idea/misc.xml @@ -11,7 +11,7 @@ - + \ No newline at end of file diff --git a/AdvancedZ3B1MonteCarlo.png b/AdvancedZ3B1MonteCarlo.png deleted file mode 100644 index 6d2eb8b76832f75743d40ffd470d176069408650..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 18582 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 biKey}hI+=gJJyR|)iXBSwJmw;fiwRHqy}}c diff --git a/AntAnalysis099Disc.png b/AntAnalysis099Disc.png deleted file mode 100644 index 1b42886c164af7e8d6ef68d08b14192261098ed0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 34712 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 bS-yR3Hps>4;Q;WQ7tiSvddDAYTK)N7<;0xc diff --git a/src/main/java/core/algo/Learning.java b/src/main/java/core/algo/Learning.java index 1bb5207..20a9ec1 100644 --- a/src/main/java/core/algo/Learning.java +++ b/src/main/java/core/algo/Learning.java @@ -16,8 +16,6 @@ import java.util.HashSet; import java.util.List; import java.util.Set; import java.util.concurrent.CopyOnWriteArrayList; -import java.util.concurrent.ExecutorService; -import java.util.concurrent.Executors; /** * @@ -99,7 +97,7 @@ public abstract class Learning{ public void save(ObjectOutputStream oos) throws IOException { oos.writeObject(rewardHistory); - oos.writeObject(stateActionTable); + // oos.writeObject(stateActionTable); } public void load(ObjectInputStream ois) throws IOException, ClassNotFoundException { diff --git a/src/main/java/core/algo/td/QLearningOffPolicyTDControl.java b/src/main/java/core/algo/td/QLearningOffPolicyTDControl.java index 89e0bc8..7375891 100644 --- a/src/main/java/core/algo/td/QLearningOffPolicyTDControl.java +++ b/src/main/java/core/algo/td/QLearningOffPolicyTDControl.java @@ -7,7 +7,6 @@ import core.policy.GreedyPolicy; import core.policy.Policy; import evironment.antGame.Reward; import example.ContinuousAnt; -import example.DinoSampling; import java.io.File; import java.io.IOException; @@ -77,7 +76,7 @@ public class QLearningOffPolicyTDControl extends EpisodicLearnin foodCollected++; foodTimestampsTotal += timestampTilFood; if(foodCollected % 1000 == 0){ - System.out.println(foodTimestampsTotal/1000f); + System.out.println(foodTimestampsTotal / 1000f + " " + timestampCurrentEpisode); File file = new File(ContinuousAnt.FILE_NAME); try { Files.writeString(Path.of(file.getPath()), foodTimestampsTotal/1000f +",", StandardOpenOption.APPEND); diff --git a/src/main/java/evironment/antGame/AntWorld.java b/src/main/java/evironment/antGame/AntWorld.java index 9f35bfc..0a71a31 100644 --- a/src/main/java/evironment/antGame/AntWorld.java +++ b/src/main/java/evironment/antGame/AntWorld.java @@ -54,7 +54,7 @@ public class AntWorld implements Environment, Visualizable { protected StepCalculation processStep(AntAction action) { StepCalculation sc = new StepCalculation(); - sc.reward = -1; + sc.reward = Reward.DEFAULT_REWARD; sc.info = ""; sc.done = false; Cell currentCell = grid.getCell(myAnt.getPos()); diff --git a/src/main/java/evironment/antGame/Reward.java b/src/main/java/evironment/antGame/Reward.java index 3a910b8..c2e008d 100644 --- a/src/main/java/evironment/antGame/Reward.java +++ b/src/main/java/evironment/antGame/Reward.java @@ -1,6 +1,7 @@ package evironment.antGame; public class Reward { + public static final double DEFAULT_REWARD = -1; public static final double FOOD_PICK_UP_SUCCESS = 0; public static final double FOOD_PICK_UP_FAIL_NO_FOOD = -1; public static final double FOOD_PICK_UP_FAIL_HAS_FOOD_ALREADY = -1; diff --git a/src/main/java/evironment/jumpingDino/DinoWorld.java b/src/main/java/evironment/jumpingDino/DinoWorld.java index 06bb60f..5b60cd7 100644 --- a/src/main/java/evironment/jumpingDino/DinoWorld.java +++ b/src/main/java/evironment/jumpingDino/DinoWorld.java @@ -44,7 +44,7 @@ public class DinoWorld implements Environment, Visualizable { @Override public StepResultEnvironment step(DinoAction action) { boolean done = false; - int reward = 0; + int reward = 1; if(action == DinoAction.JUMP){ dino.jump(); @@ -68,7 +68,7 @@ public class DinoWorld implements Environment, Visualizable { spawnNewObstacle(); } if(ranIntoObstacle()) { - reward = -1; + reward = 0; done = true; } diff --git a/src/main/java/example/ContinuousAnt.java b/src/main/java/example/ContinuousAnt.java index 08308fa..e6d89dd 100644 --- a/src/main/java/example/ContinuousAnt.java +++ b/src/main/java/example/ContinuousAnt.java @@ -3,10 +3,8 @@ package example; import core.RNG; import core.algo.Method; import core.controller.RLController; -import core.controller.RLControllerGUI; import evironment.antGame.AntAction; import evironment.antGame.AntWorldContinuous; -import evironment.antGame.AntWorldContinuousOriginalState; import java.io.File; import java.io.IOException; @@ -31,7 +29,7 @@ public class ContinuousAnt { rl.setNrOfEpisodes(1); //0.99 0.9 0.5 //0.99 0.95 0.9 0.7 0.5 0.3 0.1 - rl.setDiscountFactor(0.05f); + rl.setDiscountFactor(0.1f); // 0.1, 0.3, 0.5, 0.7 0.9 rl.setLearningRate(0.9f); rl.setEpsilon(0.2f); diff --git a/src/main/java/example/DinoSampling.java b/src/main/java/example/DinoSampling.java index 12fcdbc..c4bbde7 100644 --- a/src/main/java/example/DinoSampling.java +++ b/src/main/java/example/DinoSampling.java @@ -6,7 +6,6 @@ import core.controller.RLController; import core.controller.RLControllerGUI; import evironment.jumpingDino.DinoAction; import evironment.jumpingDino.DinoWorld; -import evironment.jumpingDino.DinoWorldAdvanced; import java.io.File; import java.io.IOException; @@ -34,13 +33,13 @@ public class DinoSampling { System.out.println("seed: " + i * 13); RNG.setSeed(i * 13); - RLController rl = new RLController<>( - new DinoWorldAdvanced(), - Method.Q_LEARNING_OFF_POLICY_CONTROL, + RLController rl = new RLControllerGUI<>( + new DinoWorld(), + Method.MC_CONTROL_FIRST_VISIT, DinoAction.values()); - rl.setDelay(0); - rl.setDiscountFactor(0.99f); - rl.setEpsilon(f); + rl.setDelay(300); + rl.setDiscountFactor(1f); + rl.setEpsilon(0.5f); rl.setLearningRate(0.9f); rl.setNrOfEpisodes(400000); rl.start();