2011-02-08 24 views
1

我是新的序言。我已经了解概率推理的定性概率网络(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编程这个算法,因为我是一个新手,并不确定它是否可以在序言中编程。如果我的问题不是很清楚,我很抱歉。请告诉我是否需要解释更多。也许从你所有的粗略想法可能会有所帮助。谢谢你。

回答

1

您可能想看看由Ivan Bratko ISBN-13:978-0-20140-375-6编写的Prolog Programming for Artificial Intelligence。第20章是关于定性推理的主题。本书的配套网站http://www.pearsoned.co.uk/highereducation/resources/bratkoprologprogrammingforartificialintelligence3e/提供了可在线获取的示例程序。您可以先看看这些程序,以了解他如何在序言中实施定性推理(特别是不是QPN)。

+0

好的,谢谢你的建议。 – glow123 2011-02-08 09:17:25