Title: Evaluating Bayes Nets with Concurrent Process Networks
1Evaluating Bayes Nets with Concurrent Process
Networks
- Tick and DAmbrosio
Romil Jain
2Conditional Probability
Conditional probability is the probability of
some event B, given the occurrence of some other
event A, written as P(BA).
Also P(BA) P(B, A) , which gives P(B, A)
P(BA) . P(A) P(A)
3Bayesian Networks
Bayesian Networks represent conditional
probabilities of a set of variables in form of a
directed acyclic graph. E.g.
P(B) P(BA) . P(A) P(B?A) .
P(?A) 2 minterms
P(D) P(DBC).P(BA).P(CA).P(A)
P(D?BC).P(?BA).P(CA).P(A) P(DB?C).P(BA).P
(?CA).P(A) P(D?B?C).P(?BA).P(?CA).P(A)
P(DBC).P(B ?A).P(C ?A).P(?A)
P(D?BC).P(B?A).P(C?A).P(?A)
P(DB?C).P(B?A).P(?C?A).P(?A)
P(D?B?C).P(?B?A).P(?C?A).P(?A) 8 minterms
4Approximation
If node X has n ancestors, then we need to
compute 2n minterms to find the probability of
X.
Can we find the approximate probability of X by
reducing the number of minterms computed?
For certain class of Bayes Nets, 67 of
probability can be computed with minterms linear
in number of ancestors.
5Approximation (contd)
For certain class of Bayes Nets, 67 of
probability can be computed with minterms linear
in number of ancestors.
Approx. P(D) P(DBC).P(BA).P(CA).P(A)
P(D?BC).P(?BA).P(CA).P(A) P(DB?C).P(BA).P
(?CA).P(A) P(D?B?C).P(?BA).P(?CA).P(A)
P(DBC).P(B ?A).P(C ?A).P(?A)
P(D?BC).P(B?A).P(C?A).P(?A)
P(DB?C).P(B?A).P(?C?A).P(?A)
P(D?B?C).P(?B?A).P(?C?A).P(?A) 3 minterms
How to find these special minterms, without
computing all?
6Concurrent Process Networks
Tick and DAmbrosio have give a novel approach to
solve the problem using Concurrent Process
Networks.
7Concurrent Process Networks (contd)
A
B
C
E.g. keys lt0011, 0000gt for BA lt0010, 0001gt for
B?A
D
But it seems that we are still computing all the
minterms anyway !!!
8Concurrent Process Networks (contd)
The trick lies in sending those messages first
which have higher probability mass. Messages have
a global priority.
P(DBC).P(BA).P(CA).P(A) P(D?BC).P(?BA).P(CA)
.P(A) P(DB?C).P(BA).P(?CA).P(A)
P(D?B?C).P(?BA).P(?CA).P(A)
9Message Prioritization
Can be achieved in two ways
- Have separate scheduler process which schedules
messages.
- Initiate a new send process for every message
with a priority. The systems process scheduler
does the job. (Preferred)
10Pros. and Cons.
- Pros
- For very large Bayes Nets
- Relatively low number of minterm computations.
- Multi-processor architecture can be exploited for
high-speed execution.
- Cons
- For very large Bayes Nets
- Only applicable to certain class of Bayes Nets.
- Significant overhead of process creation, message
queues inter-process communication.
11Modeling
The network shown in the diagram was modeled.
- Model abstraction
- No probabilistic computations.
- No message priorities.
- Messages contain only keys.
- Node-processes generate new messages when
matching keys have arrived.
12Promela Code
13Promela Code (contd)
Node-processes
Similarly for A, C and D
14Promela Code (contd)
Common code
15Promela Code (contd)
Initialization
- Properties checked
- Messages generated
- Messages delivered
- Valid terminations states
16References
1 B. DAmbrosio. Incremental Probabilistic
Inference. In Conference on Uncertainty in
Artificial Intelligence, pages 301308, July
1993. 2 E. Tick and B. DAmbrosio. Evaluating
Bayes Nets with Concurrent Process Networks. In
Proceedings of the 9th International Symposium on
Parallel Processing, pages 805810, April 1995.
Thank You !