1 \chapter{Probabilistic representation and reasoning (and burglars)
}
2 \section{Formal description
}
3 In our representation of the model we introduced a
\textit{Noisy OR
} to
4 represent the causal independence of
\textit{Burglar
} and
\textit{Earthquake
}
5 on
\textit{Alarm
}. The representation of the network is displayed in
6 Figure~
\ref{bnetwork21
}
9 \caption{Bayesian network alarmsystem
}
12 \includegraphics[scale=
0.5]{d1.eps
}
15 Days were chosen as unit to model the story. Calculation of the probability of
16 a
\textit{Burglar
} event happening at some day is then (assuming a gregorian
17 calendar and leap days):
18 $$
\frac{1}{365 +
0.25 -
0.01 -
0.0025}=
\frac{1}{365.2425}$$
20 The resultant probability distributions can be found in Table~
\ref{probdist
},
21 in order to avoid an unclear graph.
25 \begin{tabular
}{|l|l|
}
34 \begin{tabular
}{|l|l|
}
43 \begin{tabular
}{|l|ll|
}
45 &
\multicolumn{2}{c|
}{$I_1$
}\\
52 \begin{tabular
}{|l|ll|
}
54 &
\multicolumn{2}{c|
}{$I_2$
}\\
61 \begin{tabular
}{|ll|ll|
}
63 &&
\multicolumn{2}{c|
}{Alarm
}\\
64 $I_1$ & $I_2$ & T & F\\
73 \begin{tabular
}{|l|ll|
}
75 &
\multicolumn{2}{c|
}{Watson
}\\
82 \begin{tabular
}{|l|ll|
}
84 &
\multicolumn{2}{c|
}{Gibbons
}\\
91 \begin{tabular
}{|l|ll|
}
93 &
\multicolumn{2}{c|
}{Radio
}\\
96 T & $
0.9998$ & $
0.0002$\\
97 F & $
0.0002$ & $
0.9998$\\
102 \textit{If there is a burglar present (which could happen once every ten
103 years), the alarm is known to go off
95\% of the time.
} We modelled this by
104 setting the value for Burglar True and $I_2$ True on
0,
95.\\
105 \textit{There’s a
40\% chance that Watson is joking and the alarm is in fact
106 off.
} This is modelled by putting the value for Watson True and Alarm F on
0,
4.
107 As Holmes expects Watson to call in
80\% of the time, the value for alarm True
108 and Watson True is set
0,
2. Because the rows have to sum to
1, the other values
109 are easily calculated.\\
110 \textit{She may not have heard the alarm in
1\% of the cases and is thought to
111 erroneously
report an alarm when it is in fact off in
4\% of the cases.
} We
112 modelled this by assuming that when Mrs. Gibbons hears the alarm, she calls
113 Holmes. Meaning that the value for Gibbons False and Alarm true is
0,
01. As
114 she reports when the alarm is in fact off in
4\% of the cases, the value for
115 Gibbons True and alarm False is
0,
04.\\
118 \section{Implementation
}
119 We implemented the distributions in
\textit{AILog
}, see Listing~
\ref{alarm.ail
}
124 \inputminted[linenos,fontsize=
\footnotesize]{prolog
}{./src/alarm.ail
}
128 Now that we have modelled the story with the corresponding probabilities, we
129 can have AILog calculate some other probabilities given by some observations.
130 Down below we wrote down some probabilties and the associated AILog output.\\
131 The chance that a burglary happens given that Watson calls is greater than the
132 chance that a burglary happens without this observations, as is observerd by
133 the difference between a and b. This makes sense as Watson calls rightly in
134 80\% of the time. So when Holmes receives a call by Watson, the chance that the
135 alarm goes of increases.\\
136 When we compare b to c, the same mechanisme holds. There are more observations
137 that give evidence for a burglary as both Watson and Gibbons have called in the
139 When you take a look at the last case, d, you see that the probability has
140 decreased compared to c. This can be explained by an observation that is added
141 on top of the observations of b; the radio. The variable Radio means that the
142 newcast tells that there was an earhquake. As that is also a reason why the
143 alarm could go of, but has nothing to do with a burglary, it decreases the
144 probability of a burglary.
145 %We kunnen misschien de kans uitrekenen dat Watson en Gibbons allebei foutief bellen? Daar mis je denk ik info over of niet?
146 \begin{enumerate
}[a)
]
147 \item $P(
\text{Burglary
})=
148 0.002737757092501968$
149 \item $P(
\text{Burglary
}|
\text{Watson called
})=
150 0.005321803679438259$
151 \item $P(
\text{Burglary
}|
\text{Watson called
},
\text{Gibbons called
})=
153 \item $P(
\text{Burglary
}|
\text{Watson called
},
\text{Gibbons called
}
154 ,
\text{Radio
})=
0.01179672476662423$
158 \begin{minted
}[fontsize=
\footnotesize]{prolog
}
159 AILog: predict burglar.
160 Answer: P(burglar|Obs)=
0.002737757092501968.
161 [ok,more,explanations,worlds,help
]: ok.
163 AILog: observe watson.
164 Answer: P(watson|Obs)=
0.4012587986186947.
165 [ok,more,explanations,worlds,help
]: ok.
167 AILog: predict burglar.
168 Answer: P(burglar|Obs)=
[0.005321803679438259,
0.005321953115441623].
169 [ok,more,explanations,worlds,help
]: ok.
171 AILog: observe gibbons.
172 Answer: P(gibbons|Obs)=
[0.04596053565368094,
0.045962328885721306].
173 [ok,more,explanations,worlds,help
]: ok.
175 AILog: predict burglar.
176 Answer: P(burglar|Obs)=
[0.11180941544755249,
0.1118516494624678].
177 [ok,more,explanations,worlds,help
]: ok.
179 AILog: observe radio.
180 Answer: P(radio|Obs)=
[0.02582105837443645,
0.025915745316785182].
181 [ok,more,explanations,worlds,help
]: ok.
183 AILog: predict burglar.
184 Answer: P(burglar|Obs)=
[0.01179672476662423,
0.015584580594335082].
185 [ok,more,explanations,worlds,help
]: ok.
189 \section{Comparison with manual calculation
}
190 Querying the
\textit{Alarm
} variable gives the following answer:
191 \begin{minted
}{prolog
}
192 AILog: predict alarm.
193 Answer: P(alarm|Obs)=
0.0031469965467367292.
195 [ok,more,explanations,worlds,help
]: ok.
198 Using the formula for causal independence with a logical OR:\\
199 $P(Alarm|C_1, C_2) = P(i_1|C_1)+P(i_2|C_2)(
1-P(i_1|C_1))$ we can calculate the
200 probability of the
\textit{Alarm
} variable using variable elimination. This
201 results in the following answer:\\
202 $P(Alarm|burglar, earthquake) =
203 P(i_1|burglar)+P(i_2|earthquake)(
1-P(i_1|burglar)) =
204 0.2*
0.0027+
0.95*
0.0027*(
1-
0.2*
0.0027)=
0.00314699654673673$ \\
206 When you compare the output of AILog and of the variable elimination, you see
207 that they are exactly the same. The method with which AILog calculates the
208 probability is almost the same but that is mainly because we did not use any
209 techniques that are not available in AILog. When we would have done the same
210 task with a Bayesian network and the use of Bayes' rule we would have had a
214 \section{Burglary problem with extended information
}
215 Extending the story with multiple houses and constraints about who wants to work
216 with who the following AILog representation:
217 \inputminted[linenos,fontsize=
\footnotesize]{prolog
}{./src/burglary.ail
}
219 The following demandings on the sets of colleagues, limited the number of
220 possible groups to four:
224 \item needs(william,
[])
225 \item needs(jack,
[joe
])
226 \item needs(averall,
[jack, william
])
229 The only way that those people will burgler, is when those constraints are satisfied and when there are at least two people working. So the only combinations possible are then:
232 \item Joe and William
233 \item Joe, William and Jack
234 \item Joe, William, Jack and Averall.
237 We implemented the extended story using a three layered model.\\
238 \textit{Each day a burglar decides whether he wants to work or not, and on
239 average this happens only
5 days a week
}
240 Meaning that every burglar has the same initial working probability:
5/
7 (see the first
5 lines of code).\\
241 Then we implemented the constraints on the colleagues by telling AILog that a burglary can happen when at least one of our combinations is working (see line
8 to
11).\\
242 \textit{Finally, if they decide to burgle, then they will burgle
3 houses a night.
} The third layer consists of implementing the change that out of the
10,
000 houses in which Joe, William, Jack and Averall are the only burglars, Holmes' house is burgled as one of the three (see line
14 to
19). This results in the following probability for a burglary at a Holmes' house.
245 P(
\text{first house Holmes'
})+
246 P(
\text{second house Holmes'
})+
247 P(
\text{third house Holmes'
}))=\\
248 0.655976676\cdot\left(
250 \frac{9999}{10000}\cdot\frac{1}{9999}+
251 \frac{9999}{10000}\cdot\frac{9998}{9999}\cdot\frac{1}{9998}\right)
254 \section{Bayesian networks
}
255 A Bayesian network representation of the extended story is possible, but could
256 become very large because of the great number of houses and burglars. However
257 we found a way to create a network that is very compact, see
258 figure~
\ref{bnnetworkhouses
} and the corresponding probability tables. The
259 network is created in the same way as our implementation of the extended
260 story. Every burglar has the same starting probabilities that are merged
261 together in whether a burglary happens. Then the probability of a burglary
262 at Holmes' house when there will be burgled is calculated.
265 \caption{Bayesian network of burglars and houses
}
266 \label{bnnetworkhouses
}
268 \includegraphics[scale=
0.5]{d2.eps
}
271 \begin{tabular
}{|l|l|
}
275 T & $
\nicefrac{5}{7}$\\
276 F & $
\nicefrac{2}{7}$\\
279 \begin{tabular
}{|l|l|
}
283 T & $
\nicefrac{5}{7}$\\
284 F & $
\nicefrac{2}{7}$\\
287 \begin{tabular
}{|l|l|
}
291 T & $
\nicefrac{5}{7}$\\
292 F & $
\nicefrac{2}{7}$\\
295 \begin{tabular
}{|l|l|
}
299 T & $
\nicefrac{5}{7}$\\
300 F & $
\nicefrac{2}{7}$\\
304 \begin{tabular
}{|llll|ll|
}
307 Joe & William & Jack & Averall & T & F\\
309 F& F& F& F & $
0$ & $
1$\\
310 F& F& F& T & $
0$ & $
1$\\
311 F& F& T& F & $
0$ & $
1$\\
312 F& F& T& T & $
0$ & $
1$\\
313 F& T& F& F & $
0$ & $
1$\\
314 F& T& F& T & $
0$ & $
1$\\
315 F& T& T& F & $
0$ & $
1$\\
316 F& T& T& T & $
0$ & $
1$\\
317 T& F& F& F & $
0$ & $
1$\\
318 T& F& F& T & $
0$ & $
1$\\
319 T& F& T& F & $
1$ & $
0$\\
320 T& F& T& T & $
0$ & $
1$\\
321 T& T& F& F & $
1$ & $
0$\\
322 T& T& F& T & $
0$ & $
1$\\
323 T& T& T& F & $
1$ & $
0$\\
324 T& T& T& T & $
1$ & $
0$\\
327 \begin{tabular
}{|lll|
}
332 T & $
0.000153$ & $
0.999847$\\
337 \section{Additional Questions
}
338 We wouldn't change any aspect of the assignment. It is nice that the assignment is slowly increasing in difficulty because of the extention of the story. We estimate that we spent about
20 hours each on the assignment.