Select values for each variable, and then step through the code to compute the joint probability of those values.
Select a value (xi) for each variable (Xi) | ||
---|---|---|
Cloudy | ||
Sprinkler | ||
Rainy | ||
Wet Grass |
+c | 0.5 |
-c | 0.5 |
+c | +s | 0.1 |
-s | 0.9 | |
-c | +s | 0.5 |
-s | 0.5 |
+c | +r | 0.8 |
-r | 0.2 | |
-c | +r | 0.2 |
-r | 0.8 |
+s | +r | +w | 0.99 |
-w | 0.01 | ||
-r | +w | 0.9 | |
-w | 0.1 | ||
-s | +r | +w | 0.9 |
-w | 0.1 | ||
-r | +w | 0.99 | |
-w | 0.01 |
function bayes_net_joint_probability(bayes_net, x1, x2, x3, x4):
temp_prob = 1:
for Xi in [Cloudy, Sprinkler, Rain, Wet Grass]:
temp_prob = temp_prob * P(Xi | Parents(Xi))
P(x1, x2, x3, x4) = temp_prob
Cloudy | Sprinkler | Rain | Wet Grass | Calculated P(C,S,R,W) |
True P(C,S,R,W) |
---|---|---|---|---|---|
+c | +s | +r | +w | 0 | |
+c | +s | +r | -w | 0 | |
+c | +s | -r | +w | 0 | |
+c | +s | -r | -w | 0 | |
+c | -s | +r | +w | 0 | |
+c | -s | +r | -w | 0 | |
+c | -s | -r | +w | 0 | |
+c | -s | -r | -w | 0 | |
-c | +s | +r | +w | 0 | |
-c | +s | +r | -w | 0 | |
-c | +s | -r | +w | 0 | |
-c | +s | -r | -w | 0 | |
-c | -s | +r | +w | 0 | |
-c | -s | +r | -w | 0 | |
-c | -s | -r | +w | 0 | |
-c | -s | -r | -w | 0 |
Local Variables | |
---|---|
Variable | Value |
temp_prob | 1 |
Xi | None |