Solving pathfinding problems in an explainable manner with deep learning, reinforcement learning, heuristic search, and logic
Project description
DeepXube
DeepXube (pronounced "Deep Cube") aims to solve classical planning problems in an explainable manner using deep reinforcement learning, heuristic search, and formal logic. The current project can:
- Train a heuristic function to estimate the cost-to-go between state/goal pairs, where a goal represents a set of states considered goal states. The representation of the goal can come in any form: i.e. a state, a set of ground atoms in first-order logic, natural language, an image/sketch, etc.
- Specify goals with answer set programming, a robust form of logic programming, in the case where goals are represented as a set of ground atoms in first-order logic.
DeepXube is a generalization of DeepCubeA (code,paper).
For any issues, you can create a GitHub issue or contact Forest Agostinelli (foresta@cse.sc.edu).
Overview:
Outline:
- Installation
- Environment
- Training Heuristic Function
- Heuristic Search
- Answer Set Programming Specification
- Examples
Installation
pip install deepxube
See INSTALL.md for more details
Environment
The environment includes a state object that defines states, a goal object that defines goals (a set of states considered goal states), and an environment object that generate start states, define state transitions, when a state a goal state, and the neural network that takes states as an input.
See ENVIRONMENT.md for more details
Training Heuristic Function
Once an environment has been implemented, a heuristic function can be trained to map states and goals to heuristic values (estimates of the cost-to-go from a given start state to a given goal).
See TRAIN.md for more details.
Heuristic Search
Given a trained heuristic function, a start state, and a goal, heuristic search is used to find a path from the start state to the goal.
See HEURSEARCH.md for more details.
Specifying Goals with Answer Set Programming
Coming soon.
Examples
Project details
Release history Release notifications | RSS feed
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
File details
Details for the file deepxube-0.1.5.tar.gz
.
File metadata
- Download URL: deepxube-0.1.5.tar.gz
- Upload date:
- Size: 58.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/5.1.0 CPython/3.12.4
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | e9aff455182b78c052dfeb0d48f5da20fadd1f6c42ffc7eebb22c900250dc4c3 |
|
MD5 | 18f8fe96fa76e7683bddb8cca7174e7b |
|
BLAKE2b-256 | c2c96a3766b853b0199c1ed41034f36e40fd5edbfa46c7edb60f5e8477562b56 |
File details
Details for the file deepxube-0.1.5-py3-none-any.whl
.
File metadata
- Download URL: deepxube-0.1.5-py3-none-any.whl
- Upload date:
- Size: 67.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/5.1.0 CPython/3.12.4
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5e5b15481111d48886689b6243f8de43197e94a0d27cd33729e2754ff3a720fa |
|
MD5 | 5a9bcdfb5e8c7a611a22d2f75a9a742c |
|
BLAKE2b-256 | ac65d76e319973c7c2e79828d9ea604d8a31baff9b9df552da06dcc38fd0b870 |