Merge branch 'antWorldRewardAnalysis'
# Conflicts: # src/main/java/core/algo/EpisodicLearning.java # src/main/java/core/controller/RLController.java # src/main/java/evironment/jumpingDino/DinoWorld.java # src/main/java/evironment/jumpingDino/DinoWorldAdvanced.java # src/main/java/example/JumpingDino.java
This commit is contained in:
@@ -7,7 +7,7 @@ import core.ListDiscreteActionSpace;
|
||||
import core.algo.EpisodicLearning;
|
||||
import core.algo.Learning;
|
||||
import core.algo.Method;
|
||||
import core.algo.mc.MonteCarloControlFirstVisitEGreedy;
|
||||
import core.algo.mc.MonteCarloControlEGreedy;
|
||||
import core.algo.td.QLearningOffPolicyTDControl;
|
||||
import core.algo.td.SARSA;
|
||||
import core.listener.LearningListener;
|
||||
@@ -49,9 +49,13 @@ public class RLController<A extends Enum> implements LearningListener {
|
||||
public void start() {
|
||||
switch(method) {
|
||||
case MC_CONTROL_FIRST_VISIT:
|
||||
learning = new MonteCarloControlFirstVisitEGreedy<>(environment, discreteActionSpace, discountFactor, epsilon, delay);
|
||||
learning = new MonteCarloControlEGreedy<>(environment, discreteActionSpace, discountFactor, epsilon, delay);
|
||||
break;
|
||||
case SARSA_EPISODIC:
|
||||
case MC_CONTROL_EVERY_VISIT:
|
||||
learning = new MonteCarloControlEGreedy<>(environment, discreteActionSpace, discountFactor, epsilon, delay, true);
|
||||
break;
|
||||
|
||||
case SARSA_ON_POLICY_CONTROL:
|
||||
learning = new SARSA<>(environment, discreteActionSpace, discountFactor, epsilon, learningRate, delay);
|
||||
break;
|
||||
case Q_LEARNING_OFF_POLICY_CONTROL:
|
||||
@@ -67,17 +71,17 @@ public class RLController<A extends Enum> implements LearningListener {
|
||||
}
|
||||
|
||||
protected void initListeners() {
|
||||
learning.addListener(this);
|
||||
new Thread(() -> {
|
||||
while(true) {
|
||||
printNextEpisode = true;
|
||||
try {
|
||||
Thread.sleep(30 * 1000);
|
||||
} catch (InterruptedException e) {
|
||||
e.printStackTrace();
|
||||
learning.addListener(this);
|
||||
new Thread(() -> {
|
||||
while(learning.isCurrentlyLearning()) {
|
||||
printNextEpisode = true;
|
||||
try {
|
||||
Thread.sleep(30 * 1000);
|
||||
} catch (InterruptedException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
}
|
||||
}
|
||||
}).start();
|
||||
}).start();
|
||||
}
|
||||
|
||||
private void initLearning() {
|
||||
|
||||
Reference in New Issue
Block a user