Skip to main content

A lightweight library for defining navigation grid world

Project description

Navigation MDP

A simple library for experimenting with Markov Decision Process (MDP). Designed specifically for studying Navigation problems.

MDP is defined by states S, dynamics T, actions A, and rewards R. The design philosophy of this library is that each entity in the MDP is a separate object. State is the central entity. Everything else is optional, and can be defined and attached to the states as per the need.


To install current release with pip:

pip install navigation-mdp

To install from source:

python install


If you're curious what it can do:

1. View examples in the notebook

Navigation MDP

2. Play with it on Google Colab

Open In Colab

3. Play with it on MyBinder



Create a 3 x 3 state space:

S = DiscreteStateSpace(3,3)

Attach indicator features:


Visualize the world:

p = NavGridView(S.features(key="ind", gridded=True)[..., np.newaxis, np.newaxis]).render().ticks().grid()


For visualizations:


  • Thanks to Prof. Michael L. Littman, Dr. Lucas Lehnert, and Dr. David Abel for all the discussions which were very helpful in developing concepts.
  • State class is inspired from Dr. Abel's Simple RL framework:

Project details

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

navigation_mdp-1.0.tar.gz (11.4 kB view hashes)

Uploaded source

Built Distribution

navigation_mdp-1.0-py3-none-any.whl (17.5 kB view hashes)

Uploaded py3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page