Input: an MI-QPN MQ Output: Sign of the influence of evidence node e on each node in MQ Steps: 1. for each node nÎMQ do 2. sign[n]¬0, MIweight[n]¬0, Propagate-Sign(f, e, e, sign,1) 3. end for Propagate-Sign(trail, from, to, msgsign, msgMIweight) 1. Merge-Sign (tosign, toMIweight, msgsign, msgMIweight) 2. sign[to]¬tosign, MIweight[to]¬toMIweight, trail¬trailÈ{to} 3. for each (induced) neighbor of to do 4. linksign¬sign of influence between to and n 5. msgsign¬linksignÄsign[to] 6. msgMIweight¬MIweight[to]*MI(to®n) 7. Merge-Sign(nsign¬sign[n], nMIweight¬MIweight[n], msgsign, msgMIweight) 8. if nÏtrail and sign[n]Ïnsign then 9. Propagate-Sign(trail, to, n, msgsign, msgMIweight) 10. end if 11. end for Merge-Sign(tosign, toMIweight, msgsign, msgMIweight) /*tosign and toMIweight denotes both input parameters and return values*/ 1. if tosign ¹ msgsign then 2. if toMIweight ≥msgMIweight then 3. toMIweight←toMIweight−msgMIweight+toMIweight*msgMIweight 4. else if toMIweight 5. tosign←msgsign, toMIweight¬msgMIweight−toMIweight+toMIweight*msgMIweight 6. else 7. tosign¬tosignÅmsgsign 8. end if 9. else 10. toMIweight¬msgMIweight+toMIweight−toMIweight*msgMIweight 11. end if |