随机加权模型计数实例生成与算法性能分析
1. 随机 WMC 实例生成
1.1 变量与子句选择
在生成随机加权模型计数(WMC)实例时,首先涉及变量和子句的选择。以包含变量集合 ${ x_1, x_2, \ldots, x_5 }$ 为例,第二个子句的第一个变量从该集合中均匀随机选择。假设再次选到 $x_5$,当 NewVariable 函数选择第二个变量时,$X = { x_5 }$,此时 $N = { { x_1, x_5 }, { x_2, x_5 } }$。第二个变量从离散概率分布中选择,概率分布如下:
- $Pr(x_1)=Pr(x_2)=\frac{1 - 0.3}{5 - 1}+0.3\times\frac{1}{2} = 0.325$
- $Pr(x_3) = Pr(x_4) = \frac{1 - 0.3}{5 - 1} = 0.175$
1.2 权重分配
完成变量和子句选择后,进行权重分配。首先对变量列表进行洗牌,例如得到 $L=(x_4, x_3, x_2, x_1, x_5)$。根据设定的参数 $\nu$、$\delta$ 和 $\epsilon$ 进行权重分配:
- 前 $\nu\delta = 5\times0.4 = 2$ 个变量的权重从 ${ 0, 1 }$ 中均匀随机选择。
- 接下来 $\nu\epsilon = 5\times0.2 = 1$ 个变量的权重为 0.5。
- 剩余两个变量的权重从 ${ 0.01, 0.02, \ldots, 0.99 }$ 中均匀随机选择。
权重函数 $w: { x_1, x_2, \l
随机WMC实例生成与算法性能分析
超级会员免费看
订阅专栏 解锁全文
39

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



