Flatland issueshttps://gitlab.aicrowd.com/flatland/flatland/-/issues2019-11-19T18:28:35Zhttps://gitlab.aicrowd.com/flatland/flatland/-/issues/305Remove unused parameters and Variables2019-11-19T18:28:35ZErik NygrenRemove unused parameters and VariablesClean up the project from unused parameters and variables.Clean up the project from unused parameters and variables.https://gitlab.aicrowd.com/flatland/flatland/-/issues/302unify k_shortest_path and shortest_path2019-11-13T15:54:08ZChristian Eichenbergerunify k_shortest_path and shortest_path### Story
As a developer, I want unify k_shortest_path and shortest_path so that we remove code duplication and unify interface.
### Acceptance Criteria
- call k_shortest_path from shortest_path to remove duplication
- unify interface (...### Story
As a developer, I want unify k_shortest_path and shortest_path so that we remove code duplication and unify interface.
### Acceptance Criteria
- call k_shortest_path from shortest_path to remove duplication
- unify interface (dictionary or per agent)
- ensure performance is not affectedhttps://gitlab.aicrowd.com/flatland/flatland/-/issues/300Re-consider convention agent_id (key in dictionary over agents) and agent_han...2019-11-13T13:18:33ZChristian EichenbergerRe-consider convention agent_id (key in dictionary over agents) and agent_handle (attribute of agent objects).https://gitlab.aicrowd.com/flatland/flatland/-/issues/299use get_new_position_for_action, get_new_position_for_action, get_valid_move_...2019-11-13T01:20:40ZChristian Eichenbergeruse get_new_position_for_action, get_new_position_for_action, get_valid_move_actions_ in the flatland coreThis would reduce Clean Code SLA (http://principles-wiki.net/principles:single_level_of_abstraction) violations in the core.This would reduce Clean Code SLA (http://principles-wiki.net/principles:single_level_of_abstraction) violations in the core.https://gitlab.aicrowd.com/flatland/flatland/-/issues/285Cython and static typing for speed-up?2019-11-20T19:07:04ZChristian EichenbergerCython and static typing for speed-up?**Links**
- https://insights.dice.com/2018/06/28/4-fast-python-compilers-better-performance/
- https://cython.readthedocs.io/en/latest/src/tutorial/cython_tutorial.html**Links**
- https://insights.dice.com/2018/06/28/4-fast-python-compilers-better-performance/
- https://cython.readthedocs.io/en/latest/src/tutorial/cython_tutorial.htmlhttps://gitlab.aicrowd.com/flatland/flatland/-/issues/284Remove unnamed Dicts and TypeAliases2019-11-06T14:19:12ZChristian EichenbergerRemove unnamed Dicts and TypeAliases### Story
As a developer, I want all members of data structures to be named so that code has better readability (see #254).
### Acceptance Criteria
- Structured Dicts, Arrays, TypeAliases with unnamed members should be refactored.### Story
As a developer, I want all members of data structures to be named so that code has better readability (see #254).
### Acceptance Criteria
- Structured Dicts, Arrays, TypeAliases with unnamed members should be refactored.https://gitlab.aicrowd.com/flatland/flatland/-/issues/283Remove currying from generators2019-11-06T14:19:27ZChristian EichenbergerRemove currying from generators### Story
As a developer, I want to remove currying from generators so that generators can have multiple methods (and not only one implicit generate, see #254).
### Acceptance Criteria
- Refactoring### Story
As a developer, I want to remove currying from generators so that generators can have multiple methods (and not only one implicit generate, see #254).
### Acceptance Criteria
- Refactoringhttps://gitlab.aicrowd.com/flatland/flatland/-/issues/280set self.direction = None in EnvAgent.reset()2019-11-22T15:38:52ZChristian Baumbergerset self.direction = None in EnvAgent.reset()This should be consistent with self.position = NoneThis should be consistent with self.position = Nonehttps://gitlab.aicrowd.com/flatland/flatland/-/issues/248Refactor catch of illegal sparse_rail_generator.py parameters2019-10-25T13:06:01ZErik NygrenRefactor catch of illegal sparse_rail_generator.py parametersWhen paramters are chosen such that less than 2 cities are built we catch this by aborting the construction.
We should refactor how this exception is handled and document it clearly.
[Catch error](https://gitlab.aicrowd.com/flatland/fla...When paramters are chosen such that less than 2 cities are built we catch this by aborting the construction.
We should refactor how this exception is handled and document it clearly.
[Catch error](https://gitlab.aicrowd.com/flatland/flatland/blob/master/flatland/envs/rail_generators.py#L587)https://gitlab.aicrowd.com/flatland/flatland/-/issues/212seed distribution2019-10-22T18:46:42ZErik Nygrenseed distributionAll rail and schedule generators need to get their seed in the same manner as imported rails and schedule from file.
This is to guarantee that to envs do not diverge over time. Important for scoringAll rail and schedule generators need to get their seed in the same manner as imported rails and schedule from file.
This is to guarantee that to envs do not diverge over time. Important for scoringmohantymohantyhttps://gitlab.aicrowd.com/flatland/flatland/-/issues/200Refactoring: move everything pertaining to RailEnv in separate submodule2020-06-11T20:34:32ZChristian EichenbergerRefactoring: move everything pertaining to RailEnv in separate submodulev3https://gitlab.aicrowd.com/flatland/flatland/-/issues/199Refactoring: move generators into separate files2019-11-27T15:08:26ZChristian EichenbergerRefactoring: move generators into separate fileshttps://gitlab.aicrowd.com/flatland/flatland/-/issues/193Provide Information for to make reward shaping2019-10-22T19:34:21ZErik NygrenProvide Information for to make reward shapingI think the environment should return a dict with all (reward) relevant information, such as
agent tried to perform an illeagal move
agent tried to move to an occupied cell
agent reached goal
I think it would also be useful to provide s...I think the environment should return a dict with all (reward) relevant information, such as
agent tried to perform an illeagal move
agent tried to move to an occupied cell
agent reached goal
I think it would also be useful to provide some of the checks in env.step() as functions. for example
def is_valid_move(agent, action) --> boolv3https://gitlab.aicrowd.com/flatland/flatland/-/issues/184Introduce GridPosition based on Vec2DInt to replace Tuple[int,int], type hint...2019-11-06T15:55:48ZChristian EichenbergerIntroduce GridPosition based on Vec2DInt to replace Tuple[int,int], type hints for all rc_pos / rcPos / rc etc.v3https://gitlab.aicrowd.com/flatland/flatland/-/issues/183get rid of old_position etc. in RailEnv.2019-11-06T15:55:48ZChristian Eichenbergerget rid of old_position etc. in RailEnv.v3https://gitlab.aicrowd.com/flatland/flatland/-/issues/181Refactoring: we should understand every line in step() and reset() function i...2019-11-06T15:14:14ZChristian EichenbergerRefactoring: we should understand every line in step() and reset() function in RailEnv!v3https://gitlab.aicrowd.com/flatland/flatland/-/issues/180Refactoring: realize structural simplifications of FLATland2019-11-06T15:20:47ZChristian EichenbergerRefactoring: realize structural simplifications of FLATland![image](/uploads/e9edc8fcaa719653e29e69c14f4a87a9/image.png)
http://flatland-rl-docs.s3-website.eu-central-1.amazonaws.com/specifications/specifications.html![image](/uploads/e9edc8fcaa719653e29e69c14f4a87a9/image.png)
http://flatland-rl-docs.s3-website.eu-central-1.amazonaws.com/specifications/specifications.htmlv3MasterScratMasterScrathttps://gitlab.aicrowd.com/flatland/flatland/-/issues/172Refactoring: put 'self.rail_generator(..)' into 'if regen_rail or self.rail i...2019-11-06T15:55:48ZChristian EichenbergerRefactoring: put 'self.rail_generator(..)' into 'if regen_rail or self.rail is None' condition in RailEnv.step()v3https://gitlab.aicrowd.com/flatland/flatland/-/issues/148Refactoring: Incoming Transition Function for Rail env.2019-11-06T15:55:48ZErik NygrenRefactoring: Incoming Transition Function for Rail env.We need:
- Get incoming transitions for a cellWe need:
- Get incoming transitions for a cellv3