我有几个元素A,B,C,AB,ABC,..(见下图)其中每个元素要么存在要么不存在。管理这个系统的规则如下:如果AB存在,那么A和B也必须存在。一般来说,如果存在一个tupel,则作为该tupel的子集的所有较小tupel也必须存在。此外,如果元组不存在,则组成该元组超集的所有元组都不存在。
http://i.stack.imgur.com/8fNl6.gif
例如:给定ABC存在,则A、B、C、AB、AC、BC也存在。如果BC不存在,那么ABC,BCD,ABCD也不存在。
现在我纠结的是,例如,我如何计算P( AB |A,B,! ABC ),这意味着AB存在的概率,给定A存在,B存在,ABC不存在。foreach元素i有一个基本的起始概率p(X),它告诉我在没有约束的情况下X存在的可能性有多大。通常我会事先检查A,B,C,D,ABCD的存在,所以系统是有边界的。
我的问题是这是一个循环网络。我将非常感谢任何人的帮助,因为在过去的几周里,我试图解决这个问题,但没有成功。在给定任何情况/约束的情况下,我只想计算一个元素存在的概率。注意,像AB和!BD这样的元素并不是独立的。
发布于 2011-08-27 05:08:56
如果你想使用贝叶斯网络,那么首先你需要在图表中添加方向,这将是自下而上的。
然后使用MSBNx使用p值绘制DAG,您可以从:http://research.microsoft.com/en-us/um/redmond/groups/adapt/msbnx/获得它,并运行贝叶斯推理,在它上进行概率查询应该没有问题。
https://stackoverflow.com/questions/7129330
复制相似问题