电路约束的加权计数算法及布尔 - 算术方程的获取与应用
电路约束的加权计数算法
在约束编程领域,CIRCUIT 约束对于建模许多组合问题非常有用。然而,像 MiniCPBP 这类扩展了信念传播(BP)的 CP 求解器,要求约束配备加权计数算法,以便在定义域上传播概率质量函数,但目前 CIRCUIT 约束还不具备这一条件。
1. 相关概念引入
- 哈密顿回路 :对于有向图 $G = (N, A)$,其哈密顿回路是一条经过 $A$ 中弧的路径,该路径恰好访问 $N$ 中的所有节点一次,并回到起始节点。对于无权图,每个哈密顿回路计为 1;对于加权图,回路的权重定义为回路中每条弧的权重 $w_a$ 的乘积,所有哈密顿回路的加权计数定义为 $H(G) = \sum_{c\in H(G)}\prod_{a\in c}w_a$。
- CIRCUIT 约束 :定义在有限域变量 $s_i \in {j \in N : (i, j) \in A}$ 上的 CIRCUIT({$s_1, s_2, \ldots, s_{|N|}$}) 约束,强制要求弧集 ${(i, s_i) : i \in N}$ 构成图 $G$ 的一个哈密顿回路。
2. 加权计数算法设计
- 采样算法 :设计了一种概率采样算法,改编自 Rasmussen 针对无向、无权图的估计器。算法从节点 1 开始,逐个邻居构建路径,注意在包含所有节点之前不形成子回路,最后检查最后一个节点是否有弧连接到第一个节点。算法如下:
超级会员免费看
订阅专栏 解锁全文
3472

被折叠的 条评论
为什么被折叠?



