- Download ucpop.tar.Z and uncompress it on your
favorite UNIX workstation.
- You can uncompress it by doing:
% uncompress ucpop.tar.Z
which will leave ucpop.tar.
- Then you can "untar" it by doing:
% tar xvf ucpop.tar
This will create a ucpop directory and associated subdirectories.
- Use an editor to look at interface.lisp and try to locate
the following code:
(define (search bf-control) (prob)
(plan (problem-inits prob) (problem-goal prob)
:rank-fun (problem-rank-fun prob)
:flaw-fun (problem-flaw-fun prob)))
Thus, notice that there appears to be a framework for defining
planning approaches. Just like TWEAK, there is a plan function which
takes initial and goal steps, along with additional flags. In this case,
the flags specify ranking and flaw functions.
- Locate Lisp - Allegro Common Lisp would be best, since this is what
was used in testing. Try typing "cl" and see what that gets you.
Otherwise, you might want to contact the USC lab consultants and see
which flavors of Lisp are available.
- Launch Lisp
% cl
Allegro CL 4.3 [SPARC; R1] (4/21/97 18:41)
Copyright (C) 1985-1996, Franz Inc., Berkeley, CA
- Load the UCPOP bootstrapping functions.
USER(1): :ld loader
Notice that the prior step will reveal a warning about a quotes.
Ignore that.
- Compile the system:
USER(2): (compile-ucpop)
- Switch to the UCPOP package (recall that LISP has a notion of
modules which provide organization as well as namespace protection):
USER(3): :pa ucpop
UCPOP(4):
- Now, there is already a domain and associated "problems" loaded (UCPOP
refers to different scenarios as "problems" in a given domain). Try out
the default briefcase domain problem "uget-paid" by typing:
UCPOP(4): (bf-control 'uget-paid)
Have a look at the results.
- Now, load the main domains file:
UCPOP(5): :ld domains/domains
- Try out the Sussman-Anomaly problem, which is from the blocksworld
domain we discussed in class.
UCPOP(6): (bf-control 'sussman-anomaly)