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.2.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.2-py3-none-any.whl (3.7 MB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: amlgym-1.0.2.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.2.tar.gz
Algorithm Hash digest
SHA256 cb45b18e52177e0e0e7b176134bb12be0d3014c8b70d42daad5d9e95229ffb27
MD5 e782d04eb1c5d8df7b9d13a0535e453d
BLAKE2b-256 02d11a672eb9d9f6364e4094111905d247a011e78f53650329800415cf8a48d9

See more details on using hashes here.

File details

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

File metadata

  • Download URL: amlgym-1.0.2-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.2-py3-none-any.whl
Algorithm Hash digest
SHA256 edb7b57eaea4943936ddd87889507d1d72428317f0809198e06086cc657086e9
MD5 ca1c39df940f2ebfa68f7eb3de67c002
BLAKE2b-256 f0cd4a7f1396aa025190a1e05eb4a60560b5d9e8b947a13849601f38cacdeebf

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