Help for the artificial intelligence assignment related to decision theory, Bayesian networks and Markov models
CSC520 Fall 2021 Assignment 5
This assignment consists of three questions which involve written answers and code. In order to complete
the assignment you must submit a written report in pdf form detailing your answers to the questions as well
as your code. As discussed in class all work must be your own. You may not use third party libraries or
example code to complete the assignment with the exception of csv file loaders. All reports must be clear
and well written. All code must be clear, readable, and well-commented. Upload your report as a file called
<unityid>-Assign5.pdf and your sourcecode in a zip called <unityid>-Assign5.zip.
Question 1 Decision Theory Support System (80 points)
For this assignment you will implement a basic decision support too that is designed to build a decision tree,
calculate values for the entries and then report both the expected value of each lottery and the action for
each decision node. You have been given a file that represents the decision tree shown in the example below.
The file contains three types of entries Decision blocks represent a basic decision and include the specification of a name, and a set of named choices each of which leads to a named outcome, decision, or lottery.
Lottery blocks specify a set of alternatives with probabilities attached, these in turn lead to named outcomes,
decisions, or lotteries. Finally Outcome lines specify a name and an integer utility value. Note that the file
defines a compressed model, the same item may appear under multiple locations however the relevant utility
value or choice. Your code will need to rerun the calculations differently in each case. Trees always begin
with a node labelled Start and end with outcome leaves.
When run your code should first generate a decision tree in memory using classes for the relevant items.
As the tree is generated you should log the creation of each new node in the tree where Number is a numeric
index which is incremented for each node:
Adding Node <Number> <Type> <Name> <Parent>
Your code will then calculate the expected value of each lottery and the decision for each node and print
the results to the screen:
Expected Value Node:<Number>,<Name> <Value>
Decision Node:<Number>,<Name> <Decision> <Value>
1
Question 2 Bayesian Network Calculations (20 points)
You have been given a set of probability tables that define a probability distribution. For this question you
must use these tables to define a Bayes’ Net and submit it with your work. You must then use the network to
answer the following questions. Crucially you must show and explain your work including possible reductions,
conditional independencies, and simplifications.
1. What is P(F = f)
2. What is P(C = t|G = t)
3. What is P(E = f|A = t, B = f)
4. What is P(C = t, G = t|H = f)
Prior and conditional probabilities known beforehand:
A P(A)
T 0.02
A B P(B | A)
T T 0.3
F T 0.1
A D C P(C | A, D)
T T T 0.85
F T T 0.3
T F T 0.5
F F T 0.12
D P(D)
T 0.21
D E P(E | D)
T T 0.3
F T 0.01
D F P(F | D)
T T 0.8
F T 0.2
B E G P(G | B, E)
T T T 0.91
T F T 0.4
F T T 0.79
F F T 0.97
E F H P(H | E, F)
T T T 0.71
T F T 0.04
F T T 0.1
F F T 0.25
2
Question 3 Markov Models (20 points extra credit)
Consider the Markov model shown below.
p(H0 = O) = 0.3
p(H0 = A) = 0.4
p(H0 = N) = 0.3
p(Hi = O|Hi−1 = O) = 0.5
p(Hi = A|Hi−1 = O) = 0.4
p(Hi = N|Hi−1 = O) = 0.1
p(Hi = O|Hi−1 = A) = 0.3
p(Hi = A|Hi−1 = A) = 0.5
p(Hi = N|Hi−1 = A) = 0.2
p(Hi = O|Hi−1 = N) = 0
p(Hi = A|Hi−1 = N) = 0.4
p(Hi = N|Hi−1 = N) = 0.6
p(Ai = R|Hi = O) = 0.8
p(Ai = F|Hi = O) = 0.1
p(Ai = B|Hi = O) = 0.1
p(Ai = R|Hi = A) = 0.2
p(Ai = F|Hi = A) = 0.4
p(Ai = B|Hi = A) = 0.4
p(Ai = R|Hi = N) = 0
p(Ai = F|Hi = N) = 0.5
p(Ai = B|Hi = N) = 0.5
1. If P(H2|[B, R]) = h0.3, 0.5, 0.2i calculate p(H4|[B, R, R, F]) show your work.
2. Calculate the most likely sequence of hidden states for the observed sequence [R, F, B, B, R] show your
work.
3
DescriptionIn this final assignment, the students will demonstrate their ability to apply two ma
Path finding involves finding a path from A to B. Typically we want the path to have certain properties,such as being the shortest or to avoid going t
Develop a program to emulate a purchase transaction at a retail store. Thisprogram will have two classes, a LineItem class and a Transaction class. Th
1 Project 1 Introduction - the SeaPort Project series For this set of projects for the course, we wish to simulate some of the aspects of a number of
1 Project 2 Introduction - the SeaPort Project series For this set of projects for the course, we wish to simulate some of the aspects of a number of