remove javaFX dependency in favour of org.javaTuples

- Pair<K,V> , .getValue0() .getValue1()
This commit is contained in:
2020-01-01 18:25:22 +01:00
parent b7d991cc92
commit 295a1f8af0
3 changed files with 10 additions and 10 deletions
@@ -3,7 +3,7 @@ package core.algo.mc;
import core.*;
import core.algo.EpisodicLearning;
import core.policy.EpsilonGreedyPolicy;
import javafx.util.Pair;
import org.javatuples.Pair;
import java.io.IOException;
import java.io.ObjectInputStream;
@@ -82,12 +82,13 @@ public class MonteCarloOnPolicyEGreedy<A extends Enum> extends EpisodicLearning<
for (StepResult<A> sr : episode) {
stateActionPairs.add(new Pair<>(sr.getState(), sr.getAction()));
}
//System.out.println("stateActionPairs " + stateActionPairs.size());
for (Pair<State, A> stateActionPair : stateActionPairs) {
int firstOccurenceIndex = 0;
// find first occurance of state action pair
for (StepResult<A> sr : episode) {
if (stateActionPair.getKey().equals(sr.getState()) && stateActionPair.getValue().equals(sr.getAction())) {
if (stateActionPair.getValue0().equals(sr.getState()) && stateActionPair.getValue1().equals(sr.getAction())) {
break;
}
firstOccurenceIndex++;
@@ -101,7 +102,7 @@ public class MonteCarloOnPolicyEGreedy<A extends Enum> extends EpisodicLearning<
// if the key does not exists, it will create a new entry with G as default value
returnSum.merge(stateActionPair, G, Double::sum);
returnCount.merge(stateActionPair, 1, Integer::sum);
stateActionTable.setValue(stateActionPair.getKey(), stateActionPair.getValue(), returnSum.get(stateActionPair) / returnCount.get(stateActionPair));
stateActionTable.setValue(stateActionPair.getValue0(), stateActionPair.getValue1(), returnSum.get(stateActionPair) / returnCount.get(stateActionPair));
}
}
+3 -3
View File
@@ -3,8 +3,8 @@ package core.gui;
import core.Environment;
import core.algo.Learning;
import core.listener.ViewListener;
import javafx.util.Pair;
import lombok.Getter;
import org.javatuples.Pair;
import org.knowm.xchart.QuickChart;
import org.knowm.xchart.XChartPanel;
import org.knowm.xchart.XYChart;
@@ -132,8 +132,8 @@ public class View<A extends Enum> implements LearningView{
}else{
if(learningInfoPanel.isSmoothenGraphSelected()){
Pair<List<Integer>, List<Double>> XYvalues = smoothenGraph(rewardHistory);
xValues = XYvalues.getKey();
yValues = XYvalues.getValue();
xValues = XYvalues.getValue0();
yValues = XYvalues.getValue1();
}else{
xValues = null;
yValues = rewardHistory;