Skip to content

instance01/BRTDP-DS-MPI

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

BRTDP-DS-MPI

DS-MPI is also called Dijkstra Sweep for Monotone Pessimistic Initialization [1]. It is used for finding an efficient upper bound initialization for BRTDP. This repo includes an implementation of BRTDP and DS-MPI.

For all my homies out there struggling to implement DS-MPI.

Watch it visit only a small part of the whole state space!

States visited by BRTDP

[1] McMahan, H. Brendan, Maxim Likhachev, and Geoffrey J. Gordon. "Bounded real-time dynamic programming: RTDP with monotone upper bounds and performance guarantees." Proceedings of the 22nd international conference on Machine learning. ACM, 2005.

osmnx_mdp

This is basically a stripped down version of osmnx_mdp, which solves routing with uncertainty using Markov decision processes.

I decided to keep everything intact so it is clear how BRTDP is used. In this case, a single simulation of an agent trying to get from A to B on the Munich map using BRTDP.

Basically, BRTDP_DS_MPI/algorithm/cpp_brtdp.cpp has the main implementation and BRTDP_DS_MPI/simulation.pyx applies BRTDP.

Running/Development:

sudo docker build -t brtdp-ds-mpi -f Dockerfile .
sudo docker run -v $(pwd):/app -it brtdp-ds-mpi bash

To run the current simulation:

cd BRTDP_DS_MPI
setup
run