navigation-mdp


Namenavigation-mdp JSON
Version 1.2 PyPI version JSON
download
home_pagehttps://github.com/yrevar/navigation_mdp
SummaryA lightweight library for defining navigation grid world
upload_time2024-02-09 19:30:09
maintainer
docs_urlNone
authorYagnesh Revar
requires_python>=3.6
license
keywords markov decision process mdp navigation
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # 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.

## Installation

To install current release with [pip](https://pypi.python.org/pypi/pip):

    pip install navigation-mdp


To install from source:

    python setup.py install



## Usage
If you're curious what it can do:

### 1. View examples in the notebook
[Navigation MDP](https://github.com/yrevar/navigation_mdp/blob/master/navigation_mdp.ipynb)

### 2. Play with it on Google Colab
[![Open In Colab](https://colab.research.google.com/assets/colab-badge.svg)](https://colab.research.google.com/github/yrevar/navigation_mdp/blob/master/navigation_mdp.ipynb)
    

### 3. Play with it on MyBinder
[![Binder](https://mybinder.org/badge_logo.svg)](https://mybinder.org/v2/gh/yrevar/navigation_mdp/master?urlpath=https%3A%2F%2Fgithub.com%2Fyrevar%2Fnavigation_mdp%2Fblob%2Fmaster%2Fnavigation_mdp.ipynb)

## Example
Create a 3 x 3 state space:

    S = DiscreteStateSpace(3,3)


Attach indicator features:

    S.attach_feature_spec(FeatureStateIndicatorOneHot("ind"))

Visualize the world:

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

## Dependency
For visualizations: https://github.com/yrevar/navigation_vis

# Acknowledgements
- 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: https://github.com/david-abel/simple_rl 



            

Raw data

            {
    "_id": null,
    "home_page": "https://github.com/yrevar/navigation_mdp",
    "name": "navigation-mdp",
    "maintainer": "",
    "docs_url": null,
    "requires_python": ">=3.6",
    "maintainer_email": "",
    "keywords": "Markov Decision Process,MDP,Navigation",
    "author": "Yagnesh Revar",
    "author_email": "mailto.yagnesh+github@gmail.com",
    "download_url": "",
    "platform": null,
    "description": "# Navigation MDP\n\nA simple library for experimenting with Markov Decision Process (MDP). Designed specifically for studying Navigation problems.\n\nMDP 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.\n\n## Installation\n\nTo install current release with [pip](https://pypi.python.org/pypi/pip):\n\n    pip install navigation-mdp\n\n\nTo install from source:\n\n    python setup.py install\n\n\n\n## Usage\nIf you're curious what it can do:\n\n### 1. View examples in the notebook\n[Navigation MDP](https://github.com/yrevar/navigation_mdp/blob/master/navigation_mdp.ipynb)\n\n### 2. Play with it on Google Colab\n[![Open In Colab](https://colab.research.google.com/assets/colab-badge.svg)](https://colab.research.google.com/github/yrevar/navigation_mdp/blob/master/navigation_mdp.ipynb)\n    \n\n### 3. Play with it on MyBinder\n[![Binder](https://mybinder.org/badge_logo.svg)](https://mybinder.org/v2/gh/yrevar/navigation_mdp/master?urlpath=https%3A%2F%2Fgithub.com%2Fyrevar%2Fnavigation_mdp%2Fblob%2Fmaster%2Fnavigation_mdp.ipynb)\n\n## Example\nCreate a 3 x 3 state space:\n\n    S = DiscreteStateSpace(3,3)\n\n\nAttach indicator features:\n\n    S.attach_feature_spec(FeatureStateIndicatorOneHot(\"ind\"))\n\nVisualize the world:\n\n    p = NavGridView(S.features(key=\"ind\", gridded=True)[..., np.newaxis, np.newaxis]).render().ticks().grid()\n    plt.colorbar(p.im)\n\n## Dependency\nFor visualizations: https://github.com/yrevar/navigation_vis\n\n# Acknowledgements\n- Thanks to Prof. Michael L. Littman, Dr. Lucas Lehnert, and Dr. David Abel for all the discussions which were very helpful in developing concepts.       \n- State class is inspired from Dr. Abel's Simple RL framework: https://github.com/david-abel/simple_rl \n\n\n",
    "bugtrack_url": null,
    "license": "",
    "summary": "A lightweight library for defining navigation grid world",
    "version": "1.2",
    "project_urls": {
        "Homepage": "https://github.com/yrevar/navigation_mdp"
    },
    "split_keywords": [
        "markov decision process",
        "mdp",
        "navigation"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "bd114b1349deddb0fea75ae0490b2a7747749246d7d02b341dd53fb736b88b30",
                "md5": "e754ec823f1da7c8335b13d05c2d8604",
                "sha256": "9d6e7cfcd493ee8867e8b0ea1619dd08820546e13a5a3974ad84489f1061c2a1"
            },
            "downloads": -1,
            "filename": "navigation_mdp-1.2-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "e754ec823f1da7c8335b13d05c2d8604",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.6",
            "size": 18083,
            "upload_time": "2024-02-09T19:30:09",
            "upload_time_iso_8601": "2024-02-09T19:30:09.884396Z",
            "url": "https://files.pythonhosted.org/packages/bd/11/4b1349deddb0fea75ae0490b2a7747749246d7d02b341dd53fb736b88b30/navigation_mdp-1.2-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2024-02-09 19:30:09",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "yrevar",
    "github_project": "navigation_mdp",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": false,
    "lcname": "navigation-mdp"
}
        
Elapsed time: 0.19737s