5

我正在尝试在贝叶斯网络上实现一个用于信念传播的连接树算法。我在对图表进行三角剖分时有点挣扎,以便可以形成连接树。

我知道找到最佳三角剖分是 NP 完全的,但是你能指出一个通用算法,它会为相对简单的贝叶斯网络产生“足够好”的三角剖分吗?

这是一个学习练习(爱好,而不是家庭作业),所以我不太关心空间/时间复杂度,只要算法在给定任何无向图的情况下产生三角图。最终,在尝试进行任何近似之前,我试图了解精确的推理算法是如何工作的。

我正在使用 NetworkX 在 Python 中进行修补,但是使用典型的图遍历术语对这种算法的任何伪代码描述都是有价值的。

谢谢!

4

1 回答 1

3

如果 Xi 是一个可能被删除的变量(节点),那么,

  • S(i) 将是通过删除此变量创建的集团的大小
  • C(i) 将是由 Xi 及其相邻节点给出的子图的团的大小之和

启发式:

在每种情况下,从一组可能的变量中选择一个变量 Xi 以最小的 S(i)/C(i) 删除

参考:图三角剖分的启发式算法

于 2010-10-07T00:55:19.990 回答