我是新的序言。我已经了解概率推理的定性概率网络(QPN)。 QPN是一组统计变量之间的概率影响的图形模型,其中每个影响与定性符号相关联。用于在QPN推理算法是符号传播算法是如下:序言中的符号传播算法
输入:一个定性概率网络,Q
输出:证据节点的O每个节点上的网络
中的影响的注册procedure PropagateObservation(Q, O, sign, Observed):
for each Vi ϵ V (G)
do sign [Vi] ← ‘0’;
PropagateSign (Ø, O, sign).
procedure PropagateSign(trail, to, messagesign):
sign[to] ← sign [to] messagesign; *//update the sign of to
trail ← trail {to}; *// add to to the set of visited nodes
for each active neighbour Vi of to given {O} Observed
do linksign ← sign of (induced) influence between to and Vi;
messagesign ← sign [to] linksign;
if Vi ϵ trail and sign [Vi] ≠ sign [Vi] messagesign
then PropagateSign (trail, Vi, messagesign).
V =变量/节点 O =证据节点
该算法可与定性标志乘法和加法表(对不起,我的问题把这些表在这里)。 我想在prolog中写这个算法(我目前使用swi-prolog)。不幸的是, 我不知道如何开始在prolog编程这个算法,因为我是一个新手,并不确定它是否可以在序言中编程。如果我的问题不是很清楚,我很抱歉。请告诉我是否需要解释更多。也许从你所有的粗略想法可能会有所帮助。谢谢你。
好的,谢谢你的建议。 – glow123 2011-02-08 09:17:25