Skip to content

Learn a domain-specific heuristic function in a domain-independent fashion to solve pathfinding problems while incorporating formal logic.

License

Notifications You must be signed in to change notification settings

forestagostinelli/deepxube

Repository files navigation

DeepXube

Tests


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:

  1. 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.
  2. 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 ([email protected]).

Overview:

Outline:

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

  • Specifying Goals to Deep Neural Networks with Answer Set Programming (paper, slides, code).

About

Learn a domain-specific heuristic function in a domain-independent fashion to solve pathfinding problems while incorporating formal logic.

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages