Skip to content
This repository has been archived by the owner on Aug 7, 2018. It is now read-only.

MIDCA's planners

Zohreh edited this page Jan 9, 2017 · 5 revisions

MIDCA uses three different planners: 1- Pyhop planner 2- Jshop planner 3- A* planner

#HTN Planners An HTN planning problem is a 3-tuple P=(S,T,D). It takes the initial state, s, which is a symbolic representation of the state of world, and a set of tasks, T=〈t_1,...,t_k〉, to be accomplished. Also, it takes a knowledge base, D, including operators and methods. A plan π=〈a1,...,an〉 is a solution for a planning problem to accomplish T. This means that there is a way to decompose T into π in such a way that π is executable in s, and upon execution will transform the start state into the goal state

Pyhop Planner

Pyhop is a SHOP-like planner written in Python.

Jshop Planner

Jshop is the Java implementation of the SHOP planner. We need to define domain file and problem file for JSHOP. Domain file contains the definition of operators, methods and axioms. In Problem file, initial state and initial task list (goals) are specified.

###How to add a new domain to JSHOP in MIDCA?

  • Write the new domain file for the Jshop planner. Put your domain file in this folder: MIDCA/domains/jshop_domains/
  • Write a function in util.py to generate problem file (see jshop_state_from_world as an example)
  • Set the domain and problem file path in MIDCA/modules/_plan/jShop/JSHOP.py.