Planning with Sensing Actions and Incomplete Information Using Logic Programming - Multivalued Version


 Boolean Version
 Multivalued Version>>





The translator is a program written in Sisctus prolog. The input of the translator is an AMk program describing the planning domain and the output is a smodels program.

To translate a planning problem P=(D,I,G) into p(P), follow the steps:

1. Launch Sicstus prolog

bangkok[10]% sicstus

SICStus 3.7 beta3: Thu May 14 10:01:09 MET DST 1998

2. Compile the translator

| ?- [mstr].

3. Issue gen. at the sicstus prompt to generate a domain written in the AMk language and then enter the domain description file name. Notice that the the default extension of the input domain description file is .pl.

| ?- gen. 

 Enter domain description file name: <problem-name>. (for example, a1_prob.)

4. Quit the Sicstus

| ?- halt.

The output file has the same name as the input file but the extension is .smo. For instance, the output logic program for the domain will be a1_prob.smo.

The next step is to use smodels and lparse to generate solutions for the given domain. You need to provide the maximum length and maximum level for search space. Notice that for conformant plans, the value of the level should be set to 1. For example, the following command will generate the plan for the a1_prob domain:

bangkok[10]% lparse -c length = 5 -c level = 2 a1_prob.smo | smodels


The translator, sample domains and  testing results can be found in this file. Please download, extract this file and view the README file to understand individual files in details. To run this stuff, you need  to download  lparse and smodels and save them in the same directory.

Contact information

Please contact me if you have any questions or comments related to this stuff.