Implementing probabilistic reasoning