Name | wlplan JSON |
Version |
1.1.1
JSON |
| download |
home_page | None |
Summary | WLPlan: Relational Features for PDDL Planning |
upload_time | 2024-11-01 10:09:31 |
maintainer | None |
docs_url | None |
author | Dillon Z. Chen |
requires_python | >=3.10 |
license | MIT License |
keywords |
|
VCS |
 |
bugtrack_url |
|
requirements |
No requirements were recorded.
|
Travis-CI |
No Travis.
|
coveralls test coverage |
No coveralls.
|
WLPlan
======
[](https://pypi.org/project/wlplan/)
[](LICENSE)
WLPlan is a package for generating embeddings of PDDL planning problems for machine learning tasks. It supports both classical and numeric planning problems.
<p align="center">
<img src="image.png" alt="WLPlan" title="WLPlan"/>
</p>
## Installation
### Python Interface
The Python interface can be installed simply with
pip install wlplan
The PyPI release only supports `python>=3.10`. Alternatively, you can also install the package from the source code with the `install.sh` script.
### C++ Interface
The C++ interface can be installed in your project by running
./cmake_build.py <path/to/installation>
and adding the following to the root CMakeLists.txt file of your project
list(APPEND CMAKE_PREFIX_PATH "<path/to/installation>")
find_package(wlplan)
...
target_link_libraries(<your_project> PRIVATE wlplan)
## Graph Representations
The graph representations of planning tasks implemented thus far are
| Name | WLPlan shorthand | Reference |
| -------------------------------------- | ---------------- | --------------------------------------------------------------------------------------------------------------------------------- |
| Instance Learning Graph (ILG) | `ilg` | D. Chen, F. Trevizan, S. Thiébaux: Return to Tradition: Learning Reliable Heuristics with Classical Machine Learning. ICAPS 2024 |
| Numeric Instance Learning Graph (νILG) | `nilg` | D. Chen, S. Thiébaux: Graph Learning for Numeric Planning. NeurIPS 2024 |
## Feature Generators
The feature generators implemented thus far are
| Name | WLPlan shorthand | Reference |
| --------------------------------------- | ---------------- | --------------------------------------------------------------------------------------------------------------------------------- |
| Weisfeiler Leman (WL)/colour refinement | `wl` | D. Chen, F. Trevizan, S. Thiébaux: Return to Tradition: Learning Reliable Heuristics with Classical Machine Learning. ICAPS 2024 |
| 2-WL | `kwl2` | J. Cai, M. Fürer, N. Immerman: An optimal lower bound on the number of variables for graph identification. Combinatorica (1992) |
| Local 2-WL (2-LWL) | `lwl2` | C. Morris, K. Kersting, P. Mutzel: Glocalized Weisfeiler-Lehman Graph Kernels: Global-Local Feature Maps of Graphs. ICDM 2017 |
| continuous-categorical WL (ccWL) | `ccwl` | D. Chen, S. Thiébaux: Graph Learning for Numeric Planning. NeurIPS 2024 |
| individualised WL (iWL) | `iwl` | coming soon |
| normalised iWL (niWL) | `niwl` | coming soon |
## Usage
Examples for how to use the package include this self-contained [notebook](docs/examples/blocksworld.ipynb) and [test](tests/test_train_eval_blocks.py), as well as the [GOOSE](https://github.com/DillonZChen/goose) framework.
Raw data
{
"_id": null,
"home_page": null,
"name": "wlplan",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.10",
"maintainer_email": null,
"keywords": null,
"author": "Dillon Z. Chen",
"author_email": "dillon.chen1@gmail.com",
"download_url": null,
"platform": null,
"description": "WLPlan\n======\n\n[](https://pypi.org/project/wlplan/)\n[](LICENSE)\n\nWLPlan is a package for generating embeddings of PDDL planning problems for machine learning tasks. It supports both classical and numeric planning problems.\n\n<p align=\"center\">\n <img src=\"image.png\" alt=\"WLPlan\" title=\"WLPlan\"/>\n</p>\n\n## Installation\n### Python Interface\nThe Python interface can be installed simply with\n\n pip install wlplan\n\nThe PyPI release only supports `python>=3.10`. Alternatively, you can also install the package from the source code with the `install.sh` script.\n\n### C++ Interface\nThe C++ interface can be installed in your project by running\n\n ./cmake_build.py <path/to/installation>\n\nand adding the following to the root CMakeLists.txt file of your project\n\n list(APPEND CMAKE_PREFIX_PATH \"<path/to/installation>\")\n find_package(wlplan)\n ...\n target_link_libraries(<your_project> PRIVATE wlplan)\n\n## Graph Representations\nThe graph representations of planning tasks implemented thus far are \n| Name | WLPlan shorthand | Reference |\n| -------------------------------------- | ---------------- | --------------------------------------------------------------------------------------------------------------------------------- |\n| Instance Learning Graph (ILG) | `ilg` | D. Chen, F. Trevizan, S. Thi\u00e9baux: Return to Tradition: Learning Reliable Heuristics with Classical Machine Learning. ICAPS 2024 |\n| Numeric Instance Learning Graph (\u03bdILG) | `nilg` | D. Chen, S. Thi\u00e9baux: Graph Learning for Numeric Planning. NeurIPS 2024 |\n\n## Feature Generators\nThe feature generators implemented thus far are\n| Name | WLPlan shorthand | Reference |\n| --------------------------------------- | ---------------- | --------------------------------------------------------------------------------------------------------------------------------- |\n| Weisfeiler Leman (WL)/colour refinement | `wl` | D. Chen, F. Trevizan, S. Thi\u00e9baux: Return to Tradition: Learning Reliable Heuristics with Classical Machine Learning. ICAPS 2024 |\n| 2-WL | `kwl2` | J. Cai, M. F\u00fcrer, N. Immerman: An optimal lower bound on the number of variables for graph identification. Combinatorica (1992) |\n| Local 2-WL (2-LWL) | `lwl2` | C. Morris, K. Kersting, P. Mutzel: Glocalized Weisfeiler-Lehman Graph Kernels: Global-Local Feature Maps of Graphs. ICDM 2017 |\n| continuous-categorical WL (ccWL) | `ccwl` | D. Chen, S. Thi\u00e9baux: Graph Learning for Numeric Planning. NeurIPS 2024 |\n| individualised WL (iWL) | `iwl` | coming soon |\n| normalised iWL (niWL) | `niwl` | coming soon |\n\n## Usage\nExamples for how to use the package include this self-contained [notebook](docs/examples/blocksworld.ipynb) and [test](tests/test_train_eval_blocks.py), as well as the [GOOSE](https://github.com/DillonZChen/goose) framework.\n",
"bugtrack_url": null,
"license": "MIT License",
"summary": "WLPlan: Relational Features for PDDL Planning",
"version": "1.1.1",
"project_urls": {
"GitHub": "https://github.com/DillonZChen/wlplan"
},
"split_keywords": [],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "8d743b32020ef99b2fae1eaf03a02635b5e36d1b16a50ff5a690e8826441bb5a",
"md5": "4308c4c7620e0acae543a91ecfda8100",
"sha256": "532737184a5f1028eb80e9434dbea3d41ff7c5f63f28b6d43e9cb8f911a1a264"
},
"downloads": -1,
"filename": "wlplan-1.1.1-cp310-cp310-manylinux_2_34_x86_64.whl",
"has_sig": false,
"md5_digest": "4308c4c7620e0acae543a91ecfda8100",
"packagetype": "bdist_wheel",
"python_version": "cp310",
"requires_python": ">=3.10",
"size": 452464,
"upload_time": "2024-11-01T10:09:31",
"upload_time_iso_8601": "2024-11-01T10:09:31.689955Z",
"url": "https://files.pythonhosted.org/packages/8d/74/3b32020ef99b2fae1eaf03a02635b5e36d1b16a50ff5a690e8826441bb5a/wlplan-1.1.1-cp310-cp310-manylinux_2_34_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "3ca46162a77f28aaf5c03fbadbcee0d0452c273484dbd65e881f27f657ed81d3",
"md5": "98b348b6dba9a05cd4fce20be672a038",
"sha256": "3002fad51cea2c812b4d27f451d01a34212cfc190744d13f7779fe48eb6e5a69"
},
"downloads": -1,
"filename": "wlplan-1.1.1-cp311-cp311-manylinux_2_34_x86_64.whl",
"has_sig": false,
"md5_digest": "98b348b6dba9a05cd4fce20be672a038",
"packagetype": "bdist_wheel",
"python_version": "cp311",
"requires_python": ">=3.10",
"size": 453427,
"upload_time": "2024-11-01T10:09:31",
"upload_time_iso_8601": "2024-11-01T10:09:31.576519Z",
"url": "https://files.pythonhosted.org/packages/3c/a4/6162a77f28aaf5c03fbadbcee0d0452c273484dbd65e881f27f657ed81d3/wlplan-1.1.1-cp311-cp311-manylinux_2_34_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "204a0bf45ef0fa5293905f83cf195398f84912701e6ffef11859fdf55e4024cb",
"md5": "cc99037c402ef455c105b5a210de1e50",
"sha256": "e65dcfb1e9fe54f86a3b2f41257150f7f312fa7c2335b51253858e582c62b256"
},
"downloads": -1,
"filename": "wlplan-1.1.1-cp312-cp312-manylinux_2_34_x86_64.whl",
"has_sig": false,
"md5_digest": "cc99037c402ef455c105b5a210de1e50",
"packagetype": "bdist_wheel",
"python_version": "cp312",
"requires_python": ">=3.10",
"size": 453192,
"upload_time": "2024-11-01T10:09:34",
"upload_time_iso_8601": "2024-11-01T10:09:34.301697Z",
"url": "https://files.pythonhosted.org/packages/20/4a/0bf45ef0fa5293905f83cf195398f84912701e6ffef11859fdf55e4024cb/wlplan-1.1.1-cp312-cp312-manylinux_2_34_x86_64.whl",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-11-01 10:09:31",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "DillonZChen",
"github_project": "wlplan",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"lcname": "wlplan"
}