You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Following our discussion from this past Monday, it will be a good idea to include additional facts in the representation of the environment:
speed
global time horizon
As ASPired Train-Setters proposed for speed, I would like to implement the fact format speed(ID,Inv), which has the ID of the train as well as its inverse speed. For example, if Train 2 has a speed of 1/3, then its fact would be speed(2,3).
We have not discussed specifics for the global time horizon, but I would like to implement the fact format global(T), which has the maximum allowable number of time steps. For example, if an environment has a global time horizon of 120 steps, then its fact would be global(120).
Input here is always welcome, but I will get to work on pushing this as soon as possible.
The text was updated successfully, but these errors were encountered:
@JonathanDrathjer Maybe your group was already aware of this, but since this is my first time working with speed, this was new to me. You, apparently, don't explicitly define the speed of each train, but rather a probability of various speeds that could be assigned to the trains, regardless of how many trains there are.
In this case, there would be a 50% chance that a train is assigned a speed of 1 and a 50% chance that a train is assigned a speed of 1/4. You can change the probabilities, but they have to add up to 1. We can see an example in the Flatland code.
Furthermore, there's some helpful information on the Speed Profiles page. There is this concept of a speed counter:
All actions chosen by the agent during its travels within a cell are ignored. Except STOP_MOVING, if stop action is provided then the agent’s speed counter is not updated.
When I read this, it sounds like you need to "spend" X number of time steps (if X is the inverse of your speed) moving through a single cell before you can reach another one. For example, if you have an inverse speed of 4, and you spend one time step moving in a cell and then pass a wait, presumably you would still owe it 3 more move actions before you could reach another cell. This would be something good to verify.
The documentation of the horizon can be found on Line 709 of flatland-rl/docs/specifications /railway.md, which demonstrates how the maximum number of time steps is calculated
The implementation can be shown here in Line 45 of flatland-rl/flatland/envs /timetable_generators.py, which indicates that we can access this information from RailEnv._max_episode_steps
After initial testing, this is what the new fact output looks like:
Following our discussion from this past Monday, it will be a good idea to include additional facts in the representation of the environment:
As ASPired Train-Setters proposed for speed, I would like to implement the fact format
speed(ID,Inv)
, which has the ID of the train as well as its inverse speed. For example, if Train 2 has a speed of 1/3, then its fact would bespeed(2,3)
.We have not discussed specifics for the global time horizon, but I would like to implement the fact format
global(T)
, which has the maximum allowable number of time steps. For example, if an environment has a global time horizon of 120 steps, then its fact would beglobal(120)
.Input here is always welcome, but I will get to work on pushing this as soon as possible.
The text was updated successfully, but these errors were encountered: