wlplan


Namewlplan JSON
Version 1.1.1 PyPI version JSON
download
home_pageNone
SummaryWLPlan: Relational Features for PDDL Planning
upload_time2024-11-01 10:09:31
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
======

[![PyPI version](https://badge.fury.io/py/wlplan.svg)](https://pypi.org/project/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

    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[![PyPI version](https://badge.fury.io/py/wlplan.svg)](https://pypi.org/project/wlplan/)\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    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"
}
        
Elapsed time: 1.15322s