Input: A BN

Output: All the MI weights of the MI-QPN

Symbol Description:

: an orphans node in a BN or a non-orphans one with parents

: the prior probability distribution set of nodes

: the CPT of with some of its parents

: the set of conditional probability sets

Steps:

1. Obtain a topological sequence of all the nodes in the BN

2. for each node B0 in the topological sequence do

3. if B0 is a non-orphans node then

4. CT(B0|B1,…,Bn)¬get conditional probability (B0, TP(B1, …, Bn), CT(B0|B1, …, Bn))

5. Compute PT(B0) with TC(B0|B1) and PT(B1)

6. for i¬1 to n do

7. Compute MI(B0→Bi) and MI(Bi®B0) with TP(B0|B1,…,Bn) and CT(B0|B1,…, Bn).

8. end for

9. end if

10. end for

Get conditional probability (B0, TP(Bk,…,Bm), CT(B0|B1, …, Bn))

1. if m

2. mid ¬ém-k/2ù

3. CT(B0|Bk, …, Bmid)¬{P(B0|Bk = sk, …, Bmid = smid)|1 ≤ s0 ≤ S0, k ≤ i ≤ mid, 1 ≤ si ≤ Si}

4. CT(B0|Bmid+1, …, Bm)¬{P(B0|Bmid+1=smid+1,…, Bn = sm)|1 ≤ s0 ≤ S0, mid+1 ≤ i ≤ n, 1 ≤ si ≤ Si}

5. TC(B0|Bk, …, Bmid)¬get conditional probability(B0, TP(Bk, …, Bmid), CT(B0|B1, …, Bmid))

6. TC(B0|Bmid+1, …, Bm)¬get conditional probability(B0, TP(Bmid+1, …, Bmid), CT(B0|Bmid+1, …, Bm))

7. return TC(B0|Bk, …, Bmid)ÈTC(B0|Bmid+1, …, Bm)

8. end if

9. return CT(B0|Bk)