I don't understand this simple algorithm from Russel & Norvig for computing a distribution of X given certain observed values e:(adsbygoogle = window.adsbygoogle || []).push({});

I am having trouble understanding exactly what Enumerate-All does. Specifically I do not understand how P(y | parents(Y)) is computed. We don't know the values that the parents of Y take, do we?Code (Text):

function Enumeration-Ask(X, e, bn) returns a distribution over X

inputs: X, the query variable

e, observed values for variables E

bn, a Bayes net with variables {X} u E u Y /* Y = hidden variables */

Q(X) <- a distribution over X, initially empty

for each value xi of X do

extend e with value xi for X

Q(xi) <- Enumerate-All(Vars[bn], e)

return Normalize(Q(X))

function Enumerate-All(vars, e) returns a real number

if Empty?(vars) then return 1.0

Y <- First(vars)

if Y has value y in e

then return P(y | parents(Y)) * Enumerate-All(Rest(vars), e)

else return the sum over y of P(y | parents(Y)) * Enumerate-All(Rest(vars), ey)

where ey is e extended with Y = y

**Physics Forums - The Fusion of Science and Community**

# Bayes net inference

Know someone interested in this topic? Share a link to this question via email,
Google+,
Twitter, or
Facebook

Have something to add?

- Similar discussions for: Bayes net inference

Loading...

**Physics Forums - The Fusion of Science and Community**