Contextual Factors

## Contextual Factors

Whereas the VE algorithm uses tables both as a representation for conditional probabilities and for the intermediate representations, the contextual variable elimination algorithm defined below uses a hybrid of tables and rules [25] that we call contextual factors or confactors. Confactors cover both tables and rules as special cases.

Definition. A contextual factor or confactor is a pair of the form:

<c,t>
where c is a context, say X1=vk&...&Xk=vk, and t is a table that represents a function on variables Xk+1,...,Xm, where {X1,...,Xk} and {Xk+1,...,Xm} are disjoint sets of variables. c is called the body of the confactor and t is called the table of the confactor.

A confactor represents a partial function [32] from the union of the variables. The function only has a value when the context is true, and the value of the function is obtained by looking up the value in the table.

Just as tables can be used to represent conditional probabilities, confactors can be used to represent conditional probabilities when there is context-specific independence. In particular, a set of parent contexts can be represented as a set of confactors with mutually exclusive and exhaustive bodies. Given a parent skeleton for variable X we can construct a set of confactors for X as follows: for each <c,V> in the parent skeleton for X, we construct a confactor <c,t({X} union V)> where t({X=x}&V=v)= P(X=x|V=v &c).

Definition. A confactor is applicable on a context if the body of the confactor is compatible with the context.

Definition. Given a confactor r=<X1=vk&...&Xk=vk, t[Xk+1,...,Xm]> and a context c that assigns at least the variables X1...Xm, if r is applicable in c, the value of the context c with respect to the confactor r is the value of t[Xk+1=vk+1,...,Xm=vm] where vk+1,...,vm are the values assigned to Xk+1,...,Xm in c.

Definition. A set R of confactors represents a conditional probability P(Xi|X1...Xi-1) if the bodies of the confactors are mutually exclusive and exhaustive, and if P(Xi=vi|X1=v1&...&Xi-1=vi-1) is equal to the value of the context X1=v1&...&Xi-1=vi-1&Xi=vi with respect to the (unique) confactor in R that is applicable in that context.

Intuitively, the confactors that represent a contextual belief network are a way to organize the parent contexts. The idea is to represent the parent contexts in tables when there is no context-specific independence, and when some variables are independent of their predecessors in some context, then that context can be made a body of the confactors.

Example. Consider the conditional probabilities represented in Figure *. E is independent of its predecessors given {B} and context a. This leads to the confactor:


E is independent of its predecessors given context `~`a &c. This leads to the confactor:
 <`~`a &c ,t2[E]>
E is independent of its predecessors given {B} and context `~`a &`~`c &D. This leads to the confactor:
 <`~`a &`~`c &d ,t3[B,E]>
E is independent of its predecessors given context `~`a &`~`c &`~`d. This leads to the confactor:
 <`~`a &`~`c &`~`d ,t4[E]>
The full multiset of confactors corresponding to the trees of Figure * are given in Figure *. The fifth and sixth confactors give the conditional probability for B, and the last two confactors give the conditional probability for D.
P(E|A,B,C,D)
<a,
 B E Value true true 0.55 true false 0.45 false true 0.3 false false 0.7
>
<`~`a&c,
 E Value true 0.08 false 0.92
>
<`~`a&`~`c&d,
 B E Value true true 0.025 true false 0.975 false true 0.85 false false 0.15
>
<`~`a&`~`c&`~`d,
 E Value true 0.5 false 0.5
>
P(B|Y,Z)
<y,
 B Z Value true true 0.77 true false 0.17 false true 0.23 false false 0.83
>
<`~`y,
 B Value true 0.27 false 0.73
>
P(D|Y,Z)
<z,
 D Value true 0.29 false 0.71
>
<`~`z,
 D Y Value true true 0.79 true false 0.59 false true 0.21 false false 0.41
>
The confactors corresponding to the trees of Figure *

We can now rewrite the definition of a contextual belief network in terms of confactors:

If every conditional probability is represented by a set of confactors, the probability of a complete context, c is the product of the values of c with respect to the confactors that are applicable in c. For each complete context and for each variable there is one confactor containing that variable that is applicable in that context.

David Poole and Nevin Lianwen Zhang,Exploiting Contextual Independence In Probabilistic Inference, Journal of Artificial Intelligence Research, 18, 2003, 263-313.

 Contextual Factors