Bayesian networks are used to show and calculate the effects of pieces of knowledge on each other. They are strongly related to expert systems, but use probability theory to calculate those effects and can therefore easily deal with problems like uncertainty and missing data.