How to compute this conditional probability in Bayesian Networks? I met a problem related to conditional probability from the article "Bayesian Networks without Tears"(download) on page 3. 
According to the Figure 2, the author says 
$$P(fo=yes|lo=true, hb=false)=0.5$$
While I don't know how to calculate it and obtain the correct result. I attached the screenshot of Figure 2. from the article. I tried it as following
$$P(fo|lo, \bar{hb})=\frac{P(lo, \bar{hb}|fo)\cdot P(fo)}{P(lo, \bar{hb})}=\frac{P(lo|fo)\cdot P(\bar{hb}|fo)\cdot P(fo)}{P(lo, \bar{hb})}$$
And $P(lo|fo)=0.6,\ P(fo)=0.15$, but how to know other 3 terms?
Thank you!
P.S. According to some reference it has
$$P(\mathbf{X})=\prod_{i=1}^{n}P(X_i|parents(X_i))$$
Thus
$$P(fo|lo, \bar{hb})=\frac{P(lo, \bar{hb}, fo)}{P(lo, \bar{hb})}=\frac{P(fo)\cdot P(lo|fo)\cdot P(\bar{hb}|do)}{\sum_{{fo}^{'}}P(lo, \bar{hb}, {fo}^{'})}$$
$$=\frac{.15\times.6\times.3}{.15\times.6\times.3+.85\times.05\times.3}=0.6792453$$
While it is not equal to the author's result (i.e. 0.5)? What is wrong in my solution?
 
 A: Generally there is a very efficient algorithm called Belief Propagation, which gives exact results when the structure of the Bayesian Network is a singly connected tree (there is only a single path between any two vertices in the undirected version of the graph). You can make use of that algorithm for an exact inference in this case.
The problem is, that algorithm is somewhat complex, instead of it, you can directly use the definition of the Bayesian Network as well:
$$P(fo,bp,lo,do,hb) = P(fo)P(bp)P(lo|fo)P(do|fo,bp)P(hb|do)$$
What you want to calculate is:
$$\dfrac{P(fo=yes,lo=true,hb=false)}{P(lo=true,hb=false)}=\dfrac{\sum_{bp}\sum_{do}P(fo)P(bp)P(lo|fo)P(do|fo,bp)P(hb|do)}{\sum_{bp}\sum_{do}\sum_{fo}P(fo)P(bp)P(lo|fo)P(do|fo,bp)P(hb|do)} = 
\dfrac{P(lo=true,fo=yes)\sum_{bp}P(bp)\sum_{do}P(do|fo,bp)P(hb|do)}
{P(lo=true,fo=yes)\sum_{bp}P(bp)\sum_{do}P(do|fo,bp)P(hb|do) +P(lo=true,fo=no)\sum_{bp}P(bp)\sum_{do}P(do|fo,bp)P(hb|do)} $$
This seems complex but since the variables are binary, the summations are just done on the two different values of the variable we are summing on. The variables behind the summation signs, which are not summed over has their values $lo=true$ and $hb=false$ but I did not write them in order to make the whole thing readable.
In general for more complex networks, this kind of variable elimination techniques are not tractable computationally but for easier graphs, it is OK.
