Skip to main content

Action model learning benchmarking.

Project description

AMLGym: benchmarking action model learning

Official code for benchmark generation and evaluation of action model learning approaches.

Installation

pip install amlgym

Example usage

from amlgym.algorithms import get_algorithm
agent = get_algorithm('OffLAM')
model = agent.learn('path/to/domain.pddl', ['path/to/trace0', 'path/to/trace1'])
print(model)

Documentation

Tutorials and API documentation is accessible on Read the Docs

State-of-the-art Algorithms

AMLGym provides seamless integration with state-of-the-art algorithms for offline learning classical planning domains from an input set of trajectories in the following settings:

  1. full observability: SAM [1].
  2. partial observability: OffLAM [2].
  3. full and noisy observability: NOLAM [3], ROSAME [4].

It is possible to run the above algorithms as of the main.py script, which by default runs SAM, OffLAM, NOLAM, and ROSAME on every domain and associated set of trajectories in benchmarks/trajectories/learning.

[1] "Safe Learning of Lifted Action Models", B. Juba and H. S. Le, and R. Stern, Proceedings of the 18th International Conference on Principles of Knowledge Representation and Reasoning, 2021.

[2] "Lifted Action Models Learning from Partial Traces", L. Lamanna, L. Serafini, A. Saetti, A. Gerevini, and P. Traverso, Artificial Intelligence Journal, 2025.

[3] "Action Model Learning from Noisy Traces: a Probabilistic Approach", L. Lamanna and L. Serafini, Proceedings of the Thirty-Fourth International Conference on Automated Planning and Scheduling, 2024.

[4] "Neuro-symbolic learning of lifted action models from visual traces", X. Kai, S. Gould, and S. Thiébaux, Proceedings of the Thirty-Fourth International Conference on Automated Planning and Scheduling, 2024.

Adding an algorithm

PRs with new or existing state-of-the-art algorithms are welcome:

  1. Add the algorithm PyPI package in requirements.txt
  2. Create a Python class in algorithms which inherits from AlgorithmAdapter.py and implements the learn method

Evaluation

AMLGym can evaluate a PDDL model by means of several metrics:

  1. Syntactic precision and recall
  2. Predicted applicability and effects
  3. Solvability metrics: False plans and problem solving ratios.

Benchmarking

See the benchmark package for details.

License

This project is licensed under the MIT License - see the LICENSE file for details.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

amlgym-1.0.1.tar.gz (1.3 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

amlgym-1.0.1-py3-none-any.whl (3.7 MB view details)

Uploaded Python 3

File details

Details for the file amlgym-1.0.1.tar.gz.

File metadata

  • Download URL: amlgym-1.0.1.tar.gz
  • Upload date:
  • Size: 1.3 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.10.13

File hashes

Hashes for amlgym-1.0.1.tar.gz
Algorithm Hash digest
SHA256 aae6d7fafa66e67bb64ea70b8cda1a257aebdb50795133ff77c31170f81f97fb
MD5 6477cee135c4908670177fec6425c126
BLAKE2b-256 6663a5c5306b56f6b7f8091d970e755d2000f92602736e1f25ea8331e7513624

See more details on using hashes here.

File details

Details for the file amlgym-1.0.1-py3-none-any.whl.

File metadata

  • Download URL: amlgym-1.0.1-py3-none-any.whl
  • Upload date:
  • Size: 3.7 MB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.10.13

File hashes

Hashes for amlgym-1.0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 a976b3b9269b9e22a7b84c8b516ce7c02fef8bbb17b82dce28a73b1ff3c9b67b
MD5 b1e4dde718460b1e43e6dff656b8aca0
BLAKE2b-256 42060b877b874606197c3ad0e8219b42af5f2a6797d3277c96416192d9a08e74

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page