wlplan


Namewlplan JSON
Version 1.0.1 PyPI version JSON
download
home_pageNone
SummaryWLPlan: Relational Features for PDDL Planning
upload_time2024-10-14 18:03:55
maintainerNone
docs_urlNone
authorDillon Z. Chen
requires_python>=3.10
licenseMIT License
keywords
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            WLPlan
======

[![License](https://img.shields.io/pypi/l/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

    sh install.sh

### 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[![License](https://img.shields.io/pypi/l/wlplan)](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    sh install.sh\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.0.1",
    "project_urls": {
        "GitHub": "https://github.com/DillonZChen/wlplan"
    },
    "split_keywords": [],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "630a385f092aeb46f802428d54c3d41c955dafb841d688f38878ddf5c259ca0f",
                "md5": "22dbded075a1f137489b114a91aa0d40",
                "sha256": "a4c37be5f838352609b017b174c459e7cbbcf5c8bbe4f55f2673b4b2582cf190"
            },
            "downloads": -1,
            "filename": "wlplan-1.0.1-cp310-cp310-manylinux_2_34_x86_64.whl",
            "has_sig": false,
            "md5_digest": "22dbded075a1f137489b114a91aa0d40",
            "packagetype": "bdist_wheel",
            "python_version": "cp310",
            "requires_python": ">=3.10",
            "size": 449555,
            "upload_time": "2024-10-14T18:03:55",
            "upload_time_iso_8601": "2024-10-14T18:03:55.185803Z",
            "url": "https://files.pythonhosted.org/packages/63/0a/385f092aeb46f802428d54c3d41c955dafb841d688f38878ddf5c259ca0f/wlplan-1.0.1-cp310-cp310-manylinux_2_34_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "634b029c9e90212a089eed8445689115723bef18a8d1593990ac983e0d2d6cf5",
                "md5": "44ccc5f3e1e54f5ddbd7b273045698c5",
                "sha256": "06aa3c338789149d38d156b726a78eb12cd7eff4f62ce699752562b6ae2efc3e"
            },
            "downloads": -1,
            "filename": "wlplan-1.0.1-cp311-cp311-manylinux_2_34_x86_64.whl",
            "has_sig": false,
            "md5_digest": "44ccc5f3e1e54f5ddbd7b273045698c5",
            "packagetype": "bdist_wheel",
            "python_version": "cp311",
            "requires_python": ">=3.10",
            "size": 450846,
            "upload_time": "2024-10-14T18:03:50",
            "upload_time_iso_8601": "2024-10-14T18:03:50.614322Z",
            "url": "https://files.pythonhosted.org/packages/63/4b/029c9e90212a089eed8445689115723bef18a8d1593990ac983e0d2d6cf5/wlplan-1.0.1-cp311-cp311-manylinux_2_34_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "85a3f7566983071bec8a982c9d3f1d93fdb1c11176a897f75d200541c7a22da0",
                "md5": "c397e161eeb5e2349e3b5afebe0ccb0a",
                "sha256": "c2a8af807636c2eb0e507bbbc1f72a444117159fe53e603d40d4c0b6ac666c8b"
            },
            "downloads": -1,
            "filename": "wlplan-1.0.1-cp312-cp312-manylinux_2_34_x86_64.whl",
            "has_sig": false,
            "md5_digest": "c397e161eeb5e2349e3b5afebe0ccb0a",
            "packagetype": "bdist_wheel",
            "python_version": "cp312",
            "requires_python": ">=3.10",
            "size": 450706,
            "upload_time": "2024-10-14T18:03:56",
            "upload_time_iso_8601": "2024-10-14T18:03:56.070535Z",
            "url": "https://files.pythonhosted.org/packages/85/a3/f7566983071bec8a982c9d3f1d93fdb1c11176a897f75d200541c7a22da0/wlplan-1.0.1-cp312-cp312-manylinux_2_34_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2024-10-14 18:03:55",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "DillonZChen",
    "github_project": "wlplan",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": true,
    "lcname": "wlplan"
}
        
Elapsed time: 1.26181s