flatland.envs.rail_env_shortest_paths module#
- flatland.envs.rail_env_shortest_paths.get_k_shortest_paths(env, source_position: Tuple[int, int], source_direction: int, target_position=typing.Tuple[int, int], k: int = 1, debug=False) List[Tuple[Waypoint]] [source]#
Computes the k shortest paths using modified Dijkstra following pseudo-code https://en.wikipedia.org/wiki/K_shortest_path_routing In contrast to the pseudo-code in wikipedia, we do not a allow for loopy paths.
Parameters#
env : RailEnv source_position: Tuple[int,int] source_direction: int target_position: Tuple[int,int] k : int
max number of shortest paths
- debug: bool
print debug statements
Returns#
- List[Tuple[WalkingElement]]
We use tuples since we need the path elements to be hashable. We use a list of paths in order to keep the order of length.
- flatland.envs.rail_env_shortest_paths.visualize_distance_map(distance_map: DistanceMap, agent_handle: int = 0)[source]#