In this session we will look at some basic Bayesian Networks and you will solve two problems using a Bayesian Network simulator.
The following is a Java applet for Bayesian Network simulations:
You are writing a program to control a non-player character (NPC) in a game. The NPC is in a building full of doors. Behind each door, there is either a reward (e.g. health-points) or a monster which the NPC must fight with (losing health-points). Once the NPC opens a door, he must fight the monster behind it if any. However, before opening a door the NPC can stick its nose in the keyhole (it cannot look through it) and smell the air inside the room. The air will smell either bad or not. In summary:
You are a seasoned tomb raider and have spent the last week rummaging through an old pirate cove full of treasure. So far you have opened 100 chests and of those, 50 have in fact contained treasure! Out of these 50, 40 were trapped and you sustained some painful damage from opening them. Out of these 40 trapped chests, 28 were also locked. Now, of the 10 untrapped chests, three were locked. One would think that only chests with treasure would be trapped, but these pirates were truly nasty, they also put traps on chests with no treasure. Of the 50 chests containing no treasure, 20 were trapped!
You have now discovered a new chest that you haven't seen before. When you take a careful look, you notice that it is locked. What is the chance that this chest will contain treasure? What is the chance that it will be trapped? You are not feeling so good after all the previous traps, so will it be worth opening this chest if your life is on the line?
Construct a Baysian Network to answer these questions and discuss what you would do.