CS 371 - Introduction to Artificial Intelligence
Homework #5

Due: Part 1 is due Thursday 11/7 at the beginning of class.  The other parts are due Thursday 11/14.
Note: Work is to be done in pairs
  1. Stochastic Simulation:  Implement stochastic simulation of a Bayesian network as described in Section 4.4.3 of "Probabilistic Reasoning in Intelligent Systems" by Judea Pearl.  Much convenient groundwork has been done for you.  In file bnSimulate.tar, you will find a collection of files that parse input and construct a Bayesian network for you.  You should only be concerned with two files: BNStochasticSimulation.java, which you modify, and BNNode.java, which you do not modify.  Within BNStochasticSimulation.java, there is a single method for you to implement: simulate.  Do not modify other parts of the code.
  2. Read Chapter 15.  Encode the Bayesian network of Figure 15.2 for input to the program above.  Include the input and output file (with no evidence) in your README file.  Use at least 1000000 iterations for these and other experiments.

  4. Focus on the latter part of section 15.2.  Use this Figure 15.2 problem to demonstrate d-separation.  There are three ways that evidence can "block" influence of one node on another.  Use your program to demonstrate each of the three cases.

  6. Describe what evidence and/or lack thereof is necessary for nodes b and c to be conditionally independent in the given Bayesian network (sample2.in).

  8. At the top of page 447, four different types of probabilistic inference are described.  For each type, use the given Bayesian Network (sample2.in) with and without different types of evidence and show such inference in action.  (Note that the values at the top of 447 in combination with your work in problem 2 provide helpful cases for testing problem 1.)

  9. NOTE: In these latter problems, please put the final result of each output in your README file and comment on it.  It is not necessary (nor is it desirable) to have an enormous README file.  You need only supply your Bayesian network input file for problem 2 once. For each demonstration experiment, you need only describe the (1) evidence (or lack thereof) and (2) final results both before and after the introduction of new evidence.  Comment on each part!  Don't assume I can make sense of what you're doing amidst a sea of variables and numbers.

Todd Neller