{ "info": { "author": "Stephen Offer", "author_email": "offercstephen@example.com", "bugtrack_url": null, "classifiers": [], "description": "![MDP Image](https://cdn-images-1.medium.com/max/1200/1*QuBOz2yQ5Fy6YnZyvSPXzw.png)\n\n## Markov: Simple Python Library for Markov Decision Processes\n#### Author: Stephen Offer\n\nMarkov is an easy to use collection of functions and objects to create MDP \nfunctions.\n\nMarkov allows for synchronous and asynchronous execution to experiment with \nthe performance advantages of distributed systems.\n\n#### States:\n\n- Reward, Terminal State, Actions, Value, Previous States, Next States, State \nPolicy Probabilities.\n\n#### Policies:\n\n- Greedy Policy\n- e-Greedy Policy\n- More to come...\n\n#### Algorithms:\n\n- Dynamic Programming\n- Linear coming soon\n\n#### Optimizers:\n\n- Value/Policy Iteration\n- More to come...\n\n#### Environments:\n\n- Gridworld (ASCII, PyGame coming soon)\n- Gym coming soon\n- More to come...\n\n### Example:\n```python\nimport numpy as np\nimport argparse\n\nfrom markov import GreedyPolicy\nfrom markov.envs.gridworld import GridWorld\n\n\ndef value_iteration(K=1,discount_factor=1.):\n\n env = GridWorld()\n\n P = GreedyPolicy(env)\n\n values = np.zeros(env.n_states)\n\n for k in range(K):\n for state in env.states:\n v = 0\n for i, action in enumerate(state.actions):\n policy = state.policy[i]\n next_state = action(env, state.action_args)\n r = next_state.reward\n v += policy * (r + discount_factor * next_state.value)\n\n values[state.index] = v\n\n for state in env.states:\n state.value = values[state.index]\n\n env.print()\n\n\ndef main():\n parser = argparse.ArgumentParser()\n parser.add_argument(\"--k\", help=\"number of k-iterations\",\n type=int,default=1)\n args = parser.parse_args()\n k = args.k\n\n value_iteration(k)\n\n\nif __name__ == \"__main__\":\n main()\n\n\n```\n\n#### Contributors Welcome\n\n\n\n", "description_content_type": "", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/rlzoo/Markov", "keywords": "", "license": "MIT", "maintainer": "", "maintainer_email": "", "name": "markov-rlzoo", "package_url": "https://pypi.org/project/markov-rlzoo/", "platform": "", "project_url": "https://pypi.org/project/markov-rlzoo/", "project_urls": { "Homepage": "https://github.com/rlzoo/Markov" }, "release_url": "https://pypi.org/project/markov-rlzoo/0.0.1/", "requires_dist": null, "requires_python": "", "summary": "Markov Decision Process Python Library", "version": "0.0.1" }, "last_serial": 5030192, "releases": { "0.0.1": [ { "comment_text": "", "digests": { "md5": "5bcf423620657ba829a6774a6823c084", "sha256": "f174ec5bb09f110c26d3f614ad39503ec939855430b6f4f9786151b17326bab6" }, "downloads": -1, "filename": "markov_rlzoo-0.0.1-py3-none-any.whl", "has_sig": false, "md5_digest": "5bcf423620657ba829a6774a6823c084", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 6027, "upload_time": "2019-04-01T16:10:14", "url": "https://files.pythonhosted.org/packages/5b/d6/b196aca969a72600091b860ffea01017f2509be2417d8131d7bcb334ae53/markov_rlzoo-0.0.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "4b1b7e4a7b91f296657557f16eae29ec", "sha256": "eec2f4855c4c9db2fda8fc2b24174a0a3aeddb2b3f86395ed6757224b8dbf3e5" }, "downloads": -1, "filename": "markov_rlzoo-0.0.1.tar.gz", "has_sig": false, "md5_digest": "4b1b7e4a7b91f296657557f16eae29ec", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3703, "upload_time": "2019-04-01T16:10:16", "url": "https://files.pythonhosted.org/packages/a1/f5/6cc85a5f78705ba4726839f4d1a2b19d342166dce832fb06dd72718dc6de/markov_rlzoo-0.0.1.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "5bcf423620657ba829a6774a6823c084", "sha256": "f174ec5bb09f110c26d3f614ad39503ec939855430b6f4f9786151b17326bab6" }, "downloads": -1, "filename": "markov_rlzoo-0.0.1-py3-none-any.whl", "has_sig": false, "md5_digest": "5bcf423620657ba829a6774a6823c084", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 6027, "upload_time": "2019-04-01T16:10:14", "url": "https://files.pythonhosted.org/packages/5b/d6/b196aca969a72600091b860ffea01017f2509be2417d8131d7bcb334ae53/markov_rlzoo-0.0.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "4b1b7e4a7b91f296657557f16eae29ec", "sha256": "eec2f4855c4c9db2fda8fc2b24174a0a3aeddb2b3f86395ed6757224b8dbf3e5" }, "downloads": -1, "filename": "markov_rlzoo-0.0.1.tar.gz", "has_sig": false, "md5_digest": "4b1b7e4a7b91f296657557f16eae29ec", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3703, "upload_time": "2019-04-01T16:10:16", "url": "https://files.pythonhosted.org/packages/a1/f5/6cc85a5f78705ba4726839f4d1a2b19d342166dce832fb06dd72718dc6de/markov_rlzoo-0.0.1.tar.gz" } ] }