This file contains code from Poole, Mackworth and Goebel,
Computational Intelligence: A Logical Approach. All code is
copyright by Poole, Mackworth and Goebel, and Oxford University Press,
1998. All Rights reserved. This code comes with no warranty.
This code runs in CILog, a
representation and reasoning system for definite clauses, with
declarative debugging tools.
- Create a directory, and place in it
cilog_swi.pl and
a program below, say west.pl.
- Start SWI Prolog. Your input is shown in
bold below.
- ?- cd('your directory'). For the directory name, use forward slashes and include the single quotes. Alternately start SWI Prolog in the directory.
- ?- consult(cilog_swi).
- ?- start.
- cilog load 'west.pl'.
- cilog listing.
- cilog ask next_door(X, r103).
- cilog whynot next_door(r109, r103).
Chapter 2
- west.pl axiomatization of office layout from
Figure 2.3 and Example 2.13 (page 43).
- times.pl axiomatization of orderings of the
times of the day from Example 2.28 (page 59).
Chapter 3
- elect.pl electrical wiring example
from Section 3.2
- course.pl course example from Section 3.3
- lists.pl list procedures from Section 3.4
- univ.pl university requirements example
of Section 3.5
- univ2.pl university requirements
example, different axiomatization
Chapter 4
- The following are based on the generic graph searcher:
- search.pl The generic graph
searcher from Section 4.3.
- hsearch.pl a graph searcher for
heuristic search. This maintains more information per node than the
generic graph searchers.
- idsearch.pl
iterative deepening search, based on the generic search algorithm.
- idastar.pl
iterative deepening A* search, based on the generic search algorithm.
The following domains can be used:
- graph.pl The delivery domain
graph from Figure 4.2 of the book.
- graph2.pl The graph of Figure 4.5
(i.e., like graph.pl, but with cycles.
Chapter 6
Chapter 8
- The following use the situation calculus:
- The following use the STRIPS representation:
- strips_strips.pl a
STRIPS planner that uses the STRIPS representation.
- regr_strips_sim.pl a
simple regression planner that uses the STRIPS representation.
- regr_strips.pl a
regression planner that uses the STRIPS representation. Like
regr_strips_sim.pl
, with loop detection and uses
heuristic information about the satisfiability of conjunctions of goals.
delrob_strips.pl the delivery
robot world in the STRIPS representation.
Last updated 13 Jan 2000, Bruce Spencer