Probabilistic Finite Domains.


This thesis presents a set of programming constructs that are capable of modelling probabilistic concepts and of computing with such concepts. The main objectives are to provide: a theoretically sound, practically achievable and notationally intuitive formalism. The probabilistic programming constructs are presented in the form of a system called probabilistic finite domains, which enhances the Logic Programming paradigm with a novel constraint solver. In doing so, we are able to take advantage of the knowledge representation power of probability. In particular we investigate: first, the duality of the two interpretations of probability to the problems researchers face when wishing to create a probabilistic formalism and second, the use of probability as a unifying model for computational derivations. Some programming examples and a simple implementation are also described.