【问题标题】:Nondeterministic Algorithms [closed]非确定性算法[关闭]
【发布时间】:2011-08-18 11:15:55
【问题描述】:

我需要一个关于非确定性算法的简单描述。我们可以将非确定性算法与具有并行处理器的计算机进行比较吗? 请有人准确解释一下非确定性算法

【问题讨论】:

  • 你试过Wikipedia article吗?
  • 毫无疑问,有人在 StackOverFlow 中提问并在 Google 中搜索并阅读了一些有关它的文章,如果他不明白,请在 StackOverFlow 中问他的问题,我不明白为什么有人给这个人负面点。
  • (我没有对此投反对票。)好吧,如果您已经阅读了我认为很清楚的文章,也许您可​​以更具体地说明您不了解的点? “请有人准确地解释一下非确定性算法”不是一个很好的问题,很难给出一个不是数学教科书的精确、简洁的答案。
  • 我认为 wiki 文章的问题是指非确定性算法的两个概念,但没有过多区分它们,理论上的 [非确定性图灵机] 和实际的 [处理是在非确定性顺序],这就是我和 aioobe 争论的问题,我认为 wiki 页面无法很好地区分它们。
  • 附注在标签的上下文中阅读时,这个问题非常清楚。

标签: algorithm turing-machines computation-theory non-deterministic


【解决方案1】:

非确定性算法是在non deterministic turing machine 上运行的算法。
该算法中的每个计算可以分支为2个计算,同时计算。

非确定性算法示例:
Set Cover:“猜测”顶点的子集,并检查它是否是有效的覆盖。
猜测是:对于每个元素:检查一种可能性,它是在集合中,而不是在集合中。

它不是并行处理器,因为在这里(非确定性算法),分支的数量不受限制,而在并行处理器中是。在并行计算中,您仍然需要执行2^n OP 来查找顶点覆盖,而在非确定性算法中,您只需要执行n 操作,n 具有不同的分支。

非确定性机器更像quantum computer,而不是并行处理。 [请注意,当然,假设 P!=NP,量子计算机仍然比非确定性图灵机“更弱”]。

【讨论】:

  • 分支数量不受限制与非确定性绝对无关。正如我在回答下面所说的那样,两个分支之间的随机选择会产生非确定性算法。
  • @aioobe:请阅读non deterministic algorithms的维基页面
  • 请引用能证明你观点的句子。
  • @aioobe:OP 指的是理论上的非确定性概念,与非确定性图灵机有关
  • “在计算复杂性理论中,非确定性算法是指在每一个可能的步骤中都可以允许多个连续性的算法(想象一个人在森林中的小路上行走,每次他走得更远,他必须选择他希望走的岔路口)。这些算法不会为每条可能的计算路径得出一个解决方案;但是,它们可以保证为某些路径得出一个正确的解决方案。这些选择可以解释为猜测一个搜索过程。”
猜你喜欢
  • 2011-04-06
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-06-01
  • 1970-01-01
  • 2017-07-13
  • 2016-12-29
相关资源
最近更新 更多