贝叶斯网络的概率表消元问题,求大神指点
比如有一个概率分布表A B C Pr(C/A,B)
0 0 0 0.5
0 1 1 0.6
0 1 0 0.4
0 0 1 0.5
1 0 0 0.7
1 1 0 0.3
1 0 1 0.3
1 1 1 0.7
这可以看成是一个函数F(A,B,C)也叫factor,然后假如我就是要消掉C,得到一个新的表
A B Pr
0 0 1
1 0 1
1 1 1
0 1 1
消B的话就是
A C Pr
0 0 0.5+0.4=0.9
0 1 0.6+0.5=1.1
1 0 0.7+0.3=1
1 1 0.3+0.7=1
我要问的就是怎么用c/c++实现这个,输入要消去的变量名,输出新的表
小弟是新人,只有20分全部奉上,在此先谢谢各路大神~