CNF/SAT-based information-theoretic online action model learning
Project description
information-gain-aml
A CNF/SAT-based information-theoretic approach for online action model learning in PDDL planning domains.
The algorithm maintains uncertainty over preconditions and effects using CNF formulas, selects actions that maximize expected information gain, and converges toward the true action model through online interaction with the environment.
Installation
pip install information-gain-aml
Quick Start
from information_gain_aml.algorithms.information_gain import InformationGainLearner
learner = InformationGainLearner(
domain_file="path/to/domain.pddl",
problem_file="path/to/problem.pddl",
)
# Select an action based on expected information gain
action_name, objects = learner.select_action(current_state)
# After observing the outcome, update the model
learner.update_model()
Key Features
- CNF-based uncertainty representation -- precondition and effect knowledge encoded as SAT formulas
- Information-theoretic action selection -- picks actions that maximize expected information gain
- Lifted learning -- learns at the operator level, generalizing across object instances
- Object subset selection -- scales to large domains by focusing on relevant object subsets
- Parallel gain computation -- optional multiprocessing for large action spaces
Configuration
learner = InformationGainLearner(
domain_file="domain.pddl",
problem_file="problem.pddl",
max_iterations=1000, # max learning iterations
use_object_subset=True, # object subset selection (default: True)
spare_objects_per_type=2, # extra objects per type beyond minimum
num_workers=None, # parallel workers (None=auto, 0=sequential)
learn_negative_preconditions=True, # include negative precondition candidates
)
Requirements
- Python >= 3.10
- python-sat -- SAT solver for CNF management
- unified-planning -- PDDL parsing and domain representation
License
MIT
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
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file information_gain_aml-0.2.0.tar.gz.
File metadata
- Download URL: information_gain_aml-0.2.0.tar.gz
- Upload date:
- Size: 62.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
5403827c119d287fe846edd3fbfef4f194c8afb783ebac902c5d3db68cbf4038
|
|
| MD5 |
0c8578d0e42f73472126ee48f4d6dde0
|
|
| BLAKE2b-256 |
8386aa87c0d31b4a1463c886067a27dbfe8cb124f8e5820bb785048f13c55bae
|
Provenance
The following attestation bundles were made for information_gain_aml-0.2.0.tar.gz:
Publisher:
publish.yml on omereliy/online_model_learning
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
information_gain_aml-0.2.0.tar.gz -
Subject digest:
5403827c119d287fe846edd3fbfef4f194c8afb783ebac902c5d3db68cbf4038 - Sigstore transparency entry: 1096872214
- Sigstore integration time:
-
Permalink:
omereliy/online_model_learning@69717cff4c6d7085496f6b3183819c04f5e54556 -
Branch / Tag:
refs/tags/v0.2.0 - Owner: https://github.com/omereliy
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@69717cff4c6d7085496f6b3183819c04f5e54556 -
Trigger Event:
push
-
Statement type:
File details
Details for the file information_gain_aml-0.2.0-py3-none-any.whl.
File metadata
- Download URL: information_gain_aml-0.2.0-py3-none-any.whl
- Upload date:
- Size: 69.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
1d06a68512edc6be43fc356f52f0feed7fc9e304ed391ed8e2dd5b75a0aa8350
|
|
| MD5 |
6b8e68c043804803477b400e5e2fbbaa
|
|
| BLAKE2b-256 |
e0371de1e9a88f2f75565d884f27d42987e813bc67e6ebe542c2ef979357719e
|
Provenance
The following attestation bundles were made for information_gain_aml-0.2.0-py3-none-any.whl:
Publisher:
publish.yml on omereliy/online_model_learning
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
information_gain_aml-0.2.0-py3-none-any.whl -
Subject digest:
1d06a68512edc6be43fc356f52f0feed7fc9e304ed391ed8e2dd5b75a0aa8350 - Sigstore transparency entry: 1096872216
- Sigstore integration time:
-
Permalink:
omereliy/online_model_learning@69717cff4c6d7085496f6b3183819c04f5e54556 -
Branch / Tag:
refs/tags/v0.2.0 - Owner: https://github.com/omereliy
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@69717cff4c6d7085496f6b3183819c04f5e54556 -
Trigger Event:
push
-
Statement type: