Université Libre de Bruxelles
Pulcinella
Pulcinella
is a tool for Propagating Uncertainty through Local Computations
based on the general framework af valuation systems proposed by Shenoy and Shafer.
Pulcinella has been developed at IRIDIA,
the Artificial Intelligence Laboratory of the
Université Libre de Bruxelles,
Belgium, by Elisabeth Umkehrer, Hong Xu and
Alessandro Saffiotti.
Overview
Pulcinella is written in CommonLisp, and appears as a library of Lisp functions for
creating, modifying and evaluating valuation systems. Alternatively, the user can
choose to interact with Pulcinella via a graphical interface (only available in Allegro
CL). Pulcinella provides primitives to build and evaluate uncertainty models according to
several uncertainty calculi, including probability theory, possibility theory, and
Dempster-Shafer's theory of belief functions; and the possibility theory by Zadeh,
Dubois and Prade's. A User's Manual is available on request [6].
Valuation Systems
Valuation systems provide a general framework for local computation in which the
process of network propagation in itself has been abstracted from what is actually
propagated. Valuation systems have been shown to capture other existing propagation
schemas (e.g. Lauritzen and Spiegelhalter's and Pearl's schemas). Valuation systems
can model probability and belief function propagation; they can also formalize other
existing uncertainty theories, including possibility theory and Spohn's system.
Valuation systems have been initially conceived by Shafer and Shenoy [1], and have
been further investigated and extended by Shenoy.
Specializations
Pulcinella implements the general framework discussed above: it may be specialized
to a given uncertainty theory by choosing an interpretation for the objects and the
operators. Four interpretations of the general framework (called "specializations") are
pre-installed in Pulcinella: plain propositional calculus; probability theory; Dempster-
Shafer's theory; and possibility theory. The
user can select one of these specializations by calling the function
specialize-uncertainty,
or by using a menu. Thus, Pulcinella can be transformed in a probability
propagation system, in a belief function propagation system, and so on.
Pulcinella is designed to make it easy for the user to define and install new
specialization in it (provided that they can be modelled in the valuation system
framework). A specialization for a new uncertainty calculus is written by defining a
small set of functions with a well defined semantics.
Simon Parsons
has defined a set
of new Pulcinella specializations to model and propagate qualitative uncertainty.
Working with Pulcinella
Modelling a problem in Pulcinella comprises two steps. In the first step, the user
specifies the structural knowledge of his problem. This means defining all the
variables to be used (along with their possible values), and indicating which variables
are linked together by a relation. By defining the variables and the relations the user
implicitly fixes the subsets of variables for which uncertainty values can be specified in
the second step.
Having specified a structural model, the user can select an uncertainty calculus and
enter the second step. This step consists in modelling the quantitative knowledge, i.e.,
in defining the nature and the values of the relations between variables. This step
depends from the uncertainty theory which is being used. In this phase, the user can
also enter prior or input values for variables.
Once the valuation system has been completely defined, the user can evaluate it by
asking Pulcinella to start propagation. If the user wants to apply different uncertainty
theories on the same problem, he has to specify the structural knowledge only once.
He can use the same variables and relations for different specializations. This allows
one to easily test the behavior of different uncertainty calculi over the same problem.
Comparing uncertainty theories with Pulcinella
Pulcinella can be used to compare uncertainty theories. The key for Pulcinella's
comparison power lies in the separation made between the process of modelling the
structural knowledge of a problem, and that of modelling its qualitative knowledge.
Once a structural model has been decided, we can superimpose any of the available
uncertainty calculi on it.
This comparison power can be useful for educational purposes; it can also serve at the
first stages of a knowledge engineering task, where alternative theories of uncertainty
can be tested on a bench-mark in order to choose the one that best fits the target
problem (see [5,7]).
How to get Pulcinella
Pulcinella is freely available for educational and strictly
non-commercial use. Pulcinella is written in Common Lisp. It
has been tested on Allegro CL on Macintosh, and on Lucid CL, Allegro
CL, and CLisp on a Sun. The code is just "pure" common lisp, so it
should also run on any other reasonable implementation of common-lisp
(well, you know...).
To get the latest version, click here.
Alternatively, you can get Pulcinella by anonymous ftp from
ftp://aass.oru.se/pub/saffiotti.
The Pulcinella tar
archive includes a few examples, taken from the User's Manual. If you fetch this program, you are
expected to send a letter at the address below, stating that you will
use Pulcinella for research and non-commercial use only.
Graphical interface
Pulcinella used to have a graphical interface. This interface
existed in two flavors: one for Suns, and one for Macintosh. We also
had a Macintosh standalone application version available.
Unfortunately, both graphical interfaces did not survive new releases
of operating systems. (The interface for the Sun only seems to have
minor "oddities"; you may try it out by clicking here,
but remember that it requires Allegro CL with Common Windows.) We are
currently in the process of fixing these problems, and we plan to
produce a new Common Lisp (or even C) version sometimes in the
future. The current version of Pulcinella has no graphical
interface: you have to call lisp functions to create and evaluate
valuation systems (see the User's Manual for how you do it). Sorry!
Related systems
Pulcinella is an extension of an early version of Hong Xu's "TresBel" [4], a system for
building and evaluating belief function models using Shenoy and Shafer's local
propagation technique. Pulcinella also owns a lot to the two predecessors of TresBel:
Deborah Zarley's "Delief" system [2]; and Yen-Teh Hsia's "MacEvidence" [3].
Other systems for network-based propagation of uncertainty values can be
accessed through Russel Almond's excellent
Belief Networks web page,
or via the AFIT's AI Lab web page.
References
(See also Saffiotti's related papers)
- [1] Shenoy, P.P. and Shafer, G. (1988)
- An Axiomatic Framework for Bayesian and Belief-Function Propagation.
Procs. of the AAAI Workshop on Uncertainty in AI 307-314.
- [2] Zarley, D.K., Hsia, Y. and Shafer, G. R. (1988)
- Evidential Reasoning using DELIEF.
Working Paper 193. School of Business, Univ. of Kansas, Lw.
- [3] Hsia, Y. and Shenoy, P.P. (1989)
- MacEvidence: A Visual Environment for
Constructing and Evaluating Evidential Systems.
Working Paper No. 211. School of Business, Univ. of Kansas, Lw.
- [4] Xu, H. (1991)
- An Efficient Implementation of Belief Function Propagation.
Procs. of the Conf. on Uncertainty in AI.
Los Angeles, CA.
- [5] Saffiotti, A. and Umkehrer, E. (1991)
- PULCINELLA: A General Tool for Propagating Uncertainty in Valuation Networks.
Procs. of the Conf. on Uncertainty in AI.
Los Angeles, CA.
[Abstract]
- [6] Saffiotti, A. and Umkehrer, E. (1991)
- PULCINELLA User's Manual.
Technical Note TR/IRIDIA/91-5.
IRIDIA, Univ. Libre de Bruxelles, Belgium.
- [7] Saffiotti, A., Parsons, S. and Umkehrer, E. (1994)
- Comparing Uncertainty Management Techniques.
Microcomputers in Civil Engineering 9 367-380.
[Abstract]
- [8] Saffiotti, A. and Umkehrer, E. (1994)
- Automatic Construction of Valuation Systems from General Clauses.
IEEE Trans. on Systems, Man, and Cybernetics 24(11)
1611-1624.
[Abstract]
Contact address
Please use the address below to
- Get more information;
- Notify us that you are using the program;
- Get a (hard) copy of the User's Manual;
- Ask to be kept informed about new versions.
Dr. Pulcinella
IRIDIA, Université Libre de Bruxelles
50, Av. F. Roosevelt, CP 194/6
B-1050 Brussels, Belgium
You can also send e-mail to
Dr.Pulcinella@iridia.ulb.ac.be.