change ActionSpace interface temporarily to quickly fit antWorld test and improve gui of walking ant
This commit is contained in:
@@ -1,9 +1,9 @@
|
||||
package core;
|
||||
|
||||
import java.util.Set;
|
||||
import java.util.List;
|
||||
|
||||
public interface ActionSpace<A extends Enum> {
|
||||
Set<Action> getAllActions();
|
||||
int getNumberOfAction();
|
||||
void addAction(DiscreteAction<A> a);
|
||||
void addActions(A[] as);
|
||||
}
|
||||
|
||||
@@ -1,13 +1,13 @@
|
||||
package core;
|
||||
|
||||
import java.util.HashSet;
|
||||
import java.util.Set;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
public class DiscreteActionSpace<A extends Enum> implements ActionSpace<A>{
|
||||
private Set<Action> actions;
|
||||
private List<DiscreteAction<A>> actions;
|
||||
|
||||
public DiscreteActionSpace(){
|
||||
actions = new HashSet<>();
|
||||
actions = new ArrayList<>();
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -15,14 +15,19 @@ public class DiscreteActionSpace<A extends Enum> implements ActionSpace<A>{
|
||||
actions.add(action);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void addActions(A[] as) {
|
||||
for(A a : as){
|
||||
actions.add(new DiscreteAction<>(a));
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getNumberOfAction(){
|
||||
return actions.size();
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public Set<Action> getAllActions(){
|
||||
public List<DiscreteAction<A>> getAllDiscreteActions(){
|
||||
return actions;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -58,9 +58,9 @@ public class StateActionHashTable<A extends Enum> implements StateActionTable {
|
||||
|
||||
private Map<Action, Double> createDefaultActionValues(){
|
||||
final Map<Action, Double> defaultActionValues = new HashMap<>();
|
||||
for(Action action: actionSpace.getAllActions()){
|
||||
defaultActionValues.put(action, DEFAULT_VALUE);
|
||||
}
|
||||
// for(Action action: actionSpace.getAllActions()){
|
||||
// defaultActionValues.put(action, DEFAULT_VALUE);
|
||||
//}
|
||||
return defaultActionValues;
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user