修复一些有限图 $ g=(v,e)$ ,以及一些顶点 $ x $

假设我生成 $ g $ 的大小 $ n $ ,包含 $ x $ ,如下所示:

    let $ t_0={x \} $
  1. $ 0

    i。让 $ b_n $ $ t_ {n-1} $ 之外 $ t_ {n-1} $ 。

    II。 form $ t_n $ by

    • 样本a对 $(x_n,y_n)\中的e(g)\ cap \ left(v(t_ {n-1})\ times b_n \ light)$ < / span>,具有概率 $ q_n(x_n,y_n | t_ {n-1})$
    • add $ y_n $ $ v(t_ {n-1})$ ,并添加 $(x_n,y_n)$ $ e(t_ {n-1})$
  2. return $ t_n $

  3. 也假设 $ q_n(x_n,y_n | t_ {n-1})$ 可以轻松地计算所有 $(t_ {n-1},x_n,y_n)$ 。我对有效的和完全计算生成树的边际概率 $ t_n $ ,因为我开始在上$ t_0={x \} $ ,即

    $$ p(t_n | t_0={x \})=sum_ {x_ {1:n},y_ {1:n}} \ prod_ {n= 1} ^ n q_n(x_n,y_n | t_ {n-1})。$$

    我的问题本质上是我应该期望能够找到它的有效(即多项式)算法,如果是,它可能是什么。

    一些想法:

    • 天真,总和具有指数级 - 许多术语,这排除了试图直接评估总和。

    • 另一方面,这个问题也是高度结构的(树,递归等),这可能表明某种动态编程方法是可行的。我不确定如何接近这个。

    • 相关,我知道如何计算 $ p(t_n | t_0={x \})$ 的非偏见,非负估计器通过使用顺序蒙特卡罗/颗粒滤波的技术具有合理的方差性质。这表明问题至少可以在合理的时间内近似近似。

有帮助吗?

解决方案

no。如果 $ q(x_n,y_n | t_ {n-1})$ 是任意的 - 可以有一个任意依赖于 $ t_ {n-1} $ - 那么这需要指数时间。

考虑一条树 $ t_n $ ,具有单个根节点, $ n-1 $ 叶子,以及从根到每个叶子的边缘。有 $ 2 ^ n $ $ t_n $ ,尤其存在 $ 2 ^ n $ $ t_n $ 的可能值,可以在表达式

中出现

$$ \ sum_ {x,y} \ prod_ {n= 1} ^ n q_n(x_n,y_n | t_ {n-1})。$$

人可以使用简单的对手论证来证明评估此表达需要指数时间。假设我们评估 $ q_n(x_n,x_n | t_ {n-1})$ 通过查询hysacle $ x_n ,y_n,t_ {n-1} $ 。假设有一个树 $ t $ 从未查询过的Oracle作为任何 $ t_ {n-1} $ 。选择所有 $ q_n(\ cdots)$ 值,以严格为正。然后,由于 $ Q_N(X_N,Y_N | T)$ 在执行期间没有查询,我们可以在观察算法的输出后选择它;但通过改变它,我们可以选择使算法的输出错误的值(特别是,表达式的值取决于 $ q_n(x_n,y_n | t)$ 但算法的输出不依赖于 $ q_n(x_n,y_n | t)$ ,因此算法的输出无法纠正)。我们已经证明,要生成正确的输出,任何正确的算法都必须查询所有 $ 2 ^ $ 可能的子树的 $ t_n $ 。它至少需要 $ o(1)$ 时间来查询Oracle。

总之,该论点证明了任何用于计算此表达式的正确算法必须采用<跨度类=“math-container”> $ \ oomega(2 ^ n)$ 时间。

我不知道它是否可以始终在 $ o(2 ^ n)$ 时间中,或者是否可能是 $ O(n!)$ 时间可能需要。

许可以下: CC-BY-SA归因
不隶属于 cs.stackexchange
scroll top