{ "info": { "author": "Paul Sinclair", "author_email": "pbsinclair42@gmail.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 4 - Beta", "Intended Audience :: Developers", "Intended Audience :: Education", "Intended Audience :: Science/Research", "License :: OSI Approved :: MIT License", "Operating System :: OS Independent", "Programming Language :: Python :: 2", "Programming Language :: Python :: 3", "Topic :: Scientific/Engineering", "Topic :: Scientific/Engineering :: Artificial Intelligence", "Topic :: Software Development", "Topic :: Software Development :: Libraries", "Topic :: Software Development :: Libraries :: Python Modules" ], "description": "# MCTS\n\nThis package provides a simple way of using Monte Carlo Tree Search in any perfect information domain. \n\n## Installation \n\nWith pip: `pip install mcts`\n\nWithout pip: Download the zip/tar.gz file of the [latest release](https://github.com/pbsinclair42/MCTS/releases), extract it, and run `python setup.py install`\n\n## Quick Usage\n\nIn order to run MCTS, you must implement a `State` class which can fully describe the state of the world. It must also implement four methods: \n\n- `getPossibleActions()`: Returns an iterable of all actions which can be taken from this state\n- `takeAction(action)`: Returns the state which results from taking action `action`\n- `isTerminal()`: Returns whether this state is a terminal state\n- `getReward()`: Returns the reward for this state. Only needed for terminal states. \n\nYou must also choose a hashable representation for an action as used in `getPossibleActions` and `takeAction`. Typically this would be a class with a custom `__hash__` method, but it could also simply be a tuple or a string. \n\nOnce these have been implemented, running MCTS is as simple as initializing your starting state, then running:\n\n```python\nfrom mcts import mcts\n\nmcts = mcts(timeLimit=1000)\nbestAction = mcts.search(initialState=initialState)\n```\nSee [naughtsandcrosses.py](https://github.com/pbsinclair42/MCTS/blob/master/naughtsandcrosses.py) for a simple example. \n\n## Slow Usage\n//TODO\n\n## Collaborating\n\nFeel free to raise a new issue for any new feature or bug you've spotted. Pull requests are also welcomed if you're interested in directly improving the project.\n\n\n", "description_content_type": "text/markdown", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/pbsinclair42/MCTS", "keywords": "mcts,monte,carlo,tree,search", "license": "MIT", "maintainer": "", "maintainer_email": "", "name": "mcts", "package_url": "https://pypi.org/project/mcts/", "platform": "", "project_url": "https://pypi.org/project/mcts/", "project_urls": { "Homepage": "https://github.com/pbsinclair42/MCTS" }, "release_url": "https://pypi.org/project/mcts/1.0.4/", "requires_dist": null, "requires_python": "", "summary": "A simple package to allow users to run Monte Carlo Tree Search on any perfect information domain", "version": "1.0.4" }, "last_serial": 5169762, "releases": { "1.0": [ { "comment_text": "", "digests": { "md5": "8f8f8ef755583fdec5289d9e6f504e8f", "sha256": "20649100e5acb63e06076bf330a60a0545eaf29d6aff49020e860aae709a2b45" }, "downloads": -1, "filename": "mcts-1.0.tar.gz", "has_sig": false, "md5_digest": "8f8f8ef755583fdec5289d9e6f504e8f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 2925, "upload_time": "2018-05-18T14:35:50", "url": "https://files.pythonhosted.org/packages/7b/1c/11efeb090f6a1bb0bb8da453f843c1bded7f93baf11f909bbbd014da8eda/mcts-1.0.tar.gz" } ], "1.0.1": [ { "comment_text": "", "digests": { "md5": "49158f316a6cc7b00bfb33cb0c968037", "sha256": "a0e939b54dc3f35cd403aa39225ef574b25544ebdd3c9e0f92c7840d9ac37793" }, "downloads": -1, "filename": "mcts-1.0.1.tar.gz", "has_sig": false, "md5_digest": "49158f316a6cc7b00bfb33cb0c968037", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 1785, "upload_time": "2018-05-18T15:00:51", "url": "https://files.pythonhosted.org/packages/ae/c5/8addb0ba6dc63d0bf1f10fc4f8c01e12d62951a5e1ed7a478b6dd89f695d/mcts-1.0.1.tar.gz" } ], "1.0.2": [ { "comment_text": "", "digests": { "md5": "9b4a58b9e838c63189f2cd2826a8a18e", "sha256": "f276d198eb1fb1a5490f4c9204410de0e78c3431a10d113d571af93212a93f73" }, "downloads": -1, "filename": "mcts-1.0.2-py3-none-any.whl", "has_sig": false, "md5_digest": "9b4a58b9e838c63189f2cd2826a8a18e", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 4128, "upload_time": "2018-12-17T22:00:01", "url": "https://files.pythonhosted.org/packages/4f/bb/5b59e398a595a7e607e584dcffe2caeb7e6aa79c23a956a8d7f72b072250/mcts-1.0.2-py3-none-any.whl" } ], "1.0.3": [ { "comment_text": "", "digests": { "md5": "bb47056e6844b31ed4e16081e339e462", "sha256": "5ed099bc4c8f5a3350274c0b844c77fbd201ca5846bc8e553bfaac67b848c5f8" }, "downloads": -1, "filename": "mcts-1.0.3-py3-none-any.whl", "has_sig": false, "md5_digest": "bb47056e6844b31ed4e16081e339e462", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 4129, "upload_time": "2018-12-17T22:04:00", "url": "https://files.pythonhosted.org/packages/24/7e/c2eaca519533a0d03c4394f3bd012072c9af8ded684d511f861e887b3a3e/mcts-1.0.3-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "fd5e0c3a2c7005f8b8f4be9af95ab3d2", "sha256": "e4a297e17decb966ba10df87ed56c3fc74c36072dc011a8c5ca2bb3a4d691179" }, "downloads": -1, "filename": "mcts-1.0.3.tar.gz", "has_sig": false, "md5_digest": "fd5e0c3a2c7005f8b8f4be9af95ab3d2", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3233, "upload_time": "2018-12-17T22:07:30", "url": "https://files.pythonhosted.org/packages/af/18/593f68d4ae18f98cbd6ad25dc1e26bf3f455c5cb7e017272218257c21772/mcts-1.0.3.tar.gz" } ], "1.0.4": [ { "comment_text": "", "digests": { "md5": "f9f603aa04e389f2ed5bf145fa923a9d", "sha256": "d140587f724ba04094116a9f9245a35f8d96e4cb2efbd5dfc20d1218d24dfad3" }, "downloads": -1, "filename": "mcts-1.0.4-py3-none-any.whl", "has_sig": false, "md5_digest": "f9f603aa04e389f2ed5bf145fa923a9d", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 4160, "upload_time": "2019-04-21T13:00:09", "url": "https://files.pythonhosted.org/packages/8a/2a/d278c768df13364dbeb20a2baab209b72cf30cdc157a55ffc04f126c8b0a/mcts-1.0.4-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "de66dc981d587d57e49af2a86aa16b45", "sha256": "01923d3d33cd6cc6e31b1f9d5f10943adc7ae3c399d0d6fedae3dae0541d5ec0" }, "downloads": -1, "filename": "mcts-1.0.4.tar.gz", "has_sig": false, "md5_digest": "de66dc981d587d57e49af2a86aa16b45", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3231, "upload_time": "2019-04-21T13:00:11", "url": "https://files.pythonhosted.org/packages/24/05/5d9433441d3d7826ded877bbb99b33f1557fef867c4247a65a1b03ba44fd/mcts-1.0.4.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "f9f603aa04e389f2ed5bf145fa923a9d", "sha256": "d140587f724ba04094116a9f9245a35f8d96e4cb2efbd5dfc20d1218d24dfad3" }, "downloads": -1, "filename": "mcts-1.0.4-py3-none-any.whl", "has_sig": false, "md5_digest": "f9f603aa04e389f2ed5bf145fa923a9d", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 4160, "upload_time": "2019-04-21T13:00:09", "url": "https://files.pythonhosted.org/packages/8a/2a/d278c768df13364dbeb20a2baab209b72cf30cdc157a55ffc04f126c8b0a/mcts-1.0.4-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "de66dc981d587d57e49af2a86aa16b45", "sha256": "01923d3d33cd6cc6e31b1f9d5f10943adc7ae3c399d0d6fedae3dae0541d5ec0" }, "downloads": -1, "filename": "mcts-1.0.4.tar.gz", "has_sig": false, "md5_digest": "de66dc981d587d57e49af2a86aa16b45", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3231, "upload_time": "2019-04-21T13:00:11", "url": "https://files.pythonhosted.org/packages/24/05/5d9433441d3d7826ded877bbb99b33f1557fef867c4247a65a1b03ba44fd/mcts-1.0.4.tar.gz" } ] }