More about Primula

The Primula system is a tool for probabilistic modelling of relational structures. It is a Java-implementation of the language of Relational Bayesian Networks . This language is designed for the specification of general, adaptable probabilistic models. In a specific application situation, this general model is instantiated to a concrete probability distribution that can be encoded by a Bayesian Network.

Here are two examples for Relational Modeling in Primula:

A Mendelian model of inheritance

The language of relational Bayesian networks can be used to encode general models of inheritance. The relational Bayesian network in mendel.rbn specifies a simple model for the inheritance of a gene with two alleles.

This general model can be instantiated with arbitrary pedigrees. Applied to the specific pedigree

the model defines a probability distribution over the genotypes of the individuals in the pedigree. This distribution can be represented by a Bayesian network:

(all Bayesian networks shown on this page were drawn with SamIam).

An Agent Communication Model

This is a toy model for communication in a network of agents. The domain consists of a number of agents, some of whom are pairwise connected by links. Some of the agents are of type source: these agents receive at an initial time point t=0 a message. The relational Bayesian network distributed.rbn specifies a probabilistic model for the propagation of the message over time. The general model can be instantiated with arbitrary networks of agents, and arbitrary (finite) time horizons.

Here is a domain of eight agents, and a five-step time structure (the specification of input domain is supported by Primula's graphical domain editor).

The probabilistic model defined for this particular domain can again be represented by a Bayesian network. Here is a part of it:

More about ...


Primula home | More about Primula | User Manual | Download

Manfred Jaeger
Last modified: Thu Jun 18, 2009