Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Automated Planning #15

Open
JoanEspasa opened this issue May 17, 2024 · 0 comments
Open

Automated Planning #15

JoanEspasa opened this issue May 17, 2024 · 0 comments

Comments

@JoanEspasa
Copy link

Introduction

Quite a few puzzle games, such as sokoban, ricochet robots, rubik’s cube, etc .. can be described as planning problems. That is, an initial state of the board, a set of actions that can be taken and a goal state that has to be reached.

These kind of problems are usually modelled in constraints by using a planning as satisfiability approach. That is, given a problem instance (the initial state, a set of actions, a goal) and a horizon length, a formula is generated so that the formula is satisfiable if and only if there is a plan (a sequence of actions) with the given horizon length. A plan can be found by testing the satisfiability of the formulas for different horizon lengths. The simplest way of doing this is to go through horizon lengths sequentially, 0, 1, 2, and so on.

Proposal

This project builds on the "software engineering" strand of the VIP and proposes to first understand and then gradually extend and improve a current project named PyPMT

More concretely, once understood how planning as satisfiability works, a few things that can be done:

  • pySMT can be integrated to test different SMT solvers
  • Instead of going through horizon lengths sequentially, more intelligent methods can be used
  • New encodings from literature can be implemented
  • Understanding and visualising how the search is being done
  • Hardening the library and ensuring its correctness
  • Building a website and set of visualisations of various benchmarks and showing how they are solved
  • and much more!

Resources

  • Z3 and some of its documentation
  • “Artificial Intelligence: A Modern Approach” is a classic book that has a full chapter on “Classical Planning”. The link from the library is this one
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant