RLPark 1.0.0
Reinforcement Learning Framework in Java

GraphState.java

Go to the documentation of this file.
00001 package rlpark.plugin.rltoys.problems.stategraph;
00002 
00003 import java.util.Collection;
00004 import java.util.LinkedHashMap;
00005 import java.util.Map;
00006 
00007 import rlpark.plugin.rltoys.envio.actions.Action;
00008 import rlpark.plugin.rltoys.math.vector.RealVector;
00009 
00010 
00011 public class GraphState {
00012 
00013   public final String name;
00014   public final Double reward;
00015 
00016   final private Map<Action, GraphState> transitions = new LinkedHashMap<Action, GraphState>();
00017   private RealVector vectorRepresentation;
00018 
00019   public GraphState(String name, double reward) {
00020     this.name = name;
00021     this.reward = reward;
00022   }
00023 
00024   public void connect(Action action, GraphState state) {
00025     transitions.put(action, state);
00026   }
00027 
00028   protected GraphState nextState(Action action) {
00029     return transitions.get(action);
00030   }
00031 
00032   public boolean hasNextState() {
00033     return !transitions.isEmpty();
00034   }
00035 
00036   @Override
00037   public String toString() {
00038     return name;
00039   }
00040 
00041   public Collection<GraphState> children() {
00042     return transitions.values();
00043   }
00044 
00045   public void setVectorRepresentation(RealVector vectorRepresentation) {
00046     this.vectorRepresentation = vectorRepresentation;
00047   }
00048 
00049   public RealVector v() {
00050     return vectorRepresentation;
00051   }
00052 }
 All Classes Namespaces Files Functions Variables Enumerations
Zephyr
RLPark