Questions tagged «nondeterminism»

有关自动机,形式语法或其他与不确定性使用特别相关的计算模型的问题。不要与随机性或歧义相混淆!

2
量子TM和非确定TM有什么区别?
我正在讨论关于如何定义量子图灵机的问题。我觉得量子TM和非确定 TM是一模一样的。另一个问题的答案与此无关。这两个模型是一模一样的吗? 如果不, Quantum TM和NDTM有什么区别? 有没有NDTM比Quantum TM更快的计算? 如果是这种情况,那么Quantum TM是DTM,那么为什么对此技术有如此多的疑问,我们已经有那么多DTM。为什么最后要设计一个新的DTM?

7
随机算法与不确定算法之间的区别和关系?
随机算法与不确定算法之间有什么区别和关系? 来自维基百科 甲随机算法是一种算法,其采用一程度的随机性作为其逻辑的一部分。该算法通常使用统一的随机位作为辅助输入来指导其行为,以期在所有随机位的可能选择的“平均情况”下获得良好的性能。形式上,算法的性能将是由随机位确定的随机变量;因此,运行时间或输出(或两者)都是随机变量。 与确定性算法相反,非确定性算法是在不同的运行过程中表现出不同行为的算法。每次运行算法都有几种不同的行为方式。一个并行算法可因竞争条件不同在不同的运行执行。一个概率算法的行为取决于随机数发生器。解决非确定性多项式时间问题的算法可以在多项式时间或指数时间内运行,具体取决于其在执行过程中所做的选择。 随机算法和概率算法是同一概念吗? 如果是,则随机算法只是一种不确定性算法吗?

3
NFA的等效DFA达到最大大小的条件是什么?
我们知道DFA在表达能力上等同于NFA。还有一种已知算法的NFA转换成有限自动机(可惜我现在知道算法的发明者),在最坏的情况下为我们提供了2S2S2^S状态,如果我们的NFA有SSS的状态。 我的问题是:什么决定最坏的情况? 这是模棱两可的情况下算法的转录: 令为NFA。我们构建了一个DFA 甲' = (Q ',Σ ,δ ',q ' 0,˚F '),其中A=(Q,Σ,δ,q0,F)A=(Q,Σ,δ,q0,F)A = (Q,\Sigma,\delta,q_0,F)A′=(Q′,Σ,δ′,q′0,F′)A′=(Q′,Σ,δ′,q0′,F′)A' = (Q',\Sigma,\delta',q'_0,F') ,Q′=P(Q)Q′=P(Q)Q' = \mathcal{P}(Q) ,F′={S∈Q′|F∩S≠∅}F′={S∈Q′|F∩S≠∅}F' = \{S \in Q' | F \cap S \neq \emptyset \} ,和δ′(S,a)=⋃s∈S(δ(s,a)∪δ^(s,ε))δ′(S,a)=⋃s∈S(δ(s,a)∪δ^(s,ε))\delta'(S,a) =\bigcup_{s \in S} (\delta(s,a) \cup \hat \delta(s,\varepsilon)) ,q′0={q0}∪δ^(q0,ε)q0′={q0}∪δ^(q0,ε)q'_0 = \{q_0\} \cup \hat \delta(q_0, \varepsilon) 其中δ是所述扩展过渡函数甲。δ^δ^\hat\deltaAAA


3
如何证明NFA中的DFA可以具有指数级的状态?
此问题是从理论计算机科学堆栈交换迁移而来的,因为可以在计算机科学堆栈交换上回答。 迁移 7年前。 所有非确定性有限自动机都可以转化为等效的确定性有限自动机。但是,确定性有限自动机仅允许每个符号从状态指向一个箭头。因此,其状态应为NFA状态集的成员。这似乎表明,DFA的状态数可以根据NFA的状态数成指数增长。但是,我想知道如何实际证明这一点。

4
定义非确定性自动机的停止问题
至少在我自己的参考教科书(Hopcroft + Ullman 1979)中,图灵机(TM)的主要定义是确定性的。 因此,我自己对停止问题的理解主要是确定性TM,尽管我知道可以将其用于其他类型的自动机。 我还注意到,确定性通常或多或少地隐含在人们经常提及TM或暂停问题的方式中。关于停止问题的维基百科页面就是一个很好的例子。 但是,似乎没有理由进行这种限制。给定自动机族 可能是不确定的,因此的暂停问题可以定义为:˚FFF\mathcal FFF\mathcal F 是否存在统一的决策过程,使得在给定自动机和输入,它可以决定是否在输入上停止计算。 X 一X一∈ ˚F一种∈FA\in\mathcal FxxxAAAxxx (这与说要用输入终止的计算并不完全相同。)XAAAxxx 确实,这似乎是使有关线性有界自动机(LBA)的暂停问题的讨论有意义的唯一方法,而线性有界自动机主要是非确定性自动机。 因此,我的问题是我是否正确,以及这种对不确定性自动机的暂停问题进行明显的第二类治疗的原因(和哪个原因)。

1
确定性堆与非确定性最小堆自动机的计算能力
这是一个后续问题这一个。 在先前关于奇异状态机的问题中,亚历克斯·十·布林克和拉斐尔谈到了一种特殊的状态机的计算能力:最小堆自动机。他们能够证明此类机器()接受的语言集既不是上下文无关语言集的子集也不是其超集。鉴于已成功解决该问题并对该问题有明显的兴趣,我继续提出几个后续问题。H一个大号H一种大号HAL 众所周知,确定性和非确定性有限自动机以及确定性和非确定性图灵机具有相同的计算能力。但是,确定性下推自动机的计算能力小于非确定性下推自动机的计算能力。 确定性最小堆自动机的计算能力是否小于或等于非确定性最小堆自动机的计算能力?

7
为什么NFA被称为不确定性?
我想到了这个(有点有趣)的问题。当我们定义输入的转换时,为什么不确定性有限自动机称为非确定性自动机。好吧,即使存在多个和ε过渡,也定义了它们,这意味着机器对于这些过渡是确定的。这意味着它是确定性的。

4
下推自动机“猜测”-这是什么意思?
我意识到非确定性下推自动机可以比确定性下推自动机更好,因为它们可以在多个状态之间“选择”,并且有一些上下文无关的语言无法被确定性下推所接受。 不过,我不知道他们到底是如何 “选择”的。例如,对于palindormes,我发现的每个来源都只是说自动机“猜测”了单词的中间部分。这意味着什么? 我可以想到几种可能的含义: 它随机进入一种状态,因此可能不接受实际上是该语言中的单词 它以某种“一切可能的方式”进行,因此,如果第一个错误,它将测试另一个是否正确 我不知道某种机制,它选择单词的中间,因此不是随机的,但是自动机总是找到正确的中间。 这只是一个例子。我想知道的是,对于具有一个以下多个状态且位于同一状态之前的自动机,它是如何工作的。


2
随机算法分类
来自维基百科,关于随机算法 一个具有区分算法使用随机输入减少的预期运行时间或内存使用情况,但总是有一个正确的结果在有限时间终止,并且 概率算法其中,根据不同的随机输入,有机会产生错误结果(蒙特卡罗算法)或通过发出失败或失败终止信号未能产生结果(拉斯维加斯算法)的结果。 我想知道第一种“ 算法 ”如何使用随机输入来减少预期的运行时间或内存使用率,但是总是在有限的时间内以正确的结果终止? 它和可能无法产生结果的拉斯维加斯算法之间有什么区别? 如果我理解正确,则概率算法和随机算法不是同一概念。概率算法只是一种随机算法,另一种是那些使用随机输入来减少预期的运行时间或内存使用量,但总是在有限的时间内以正确的结果终止的算法?


7
我们可以说DFA比NFA更有效吗?
我刚刚开始阅读有关计算理论的文章。如果我们比较哪个更强大(在接受字符串中),则两者是相同的。但是效率呢?与NFA相比,DFA的速度更快,因为它只有一个传出的优势,而且不会产生歧义。但是在NFA的情况下,我们必须检查所有可能的情况,这肯定需要时间。那么我们可以说DFA比NFA更有效吗? 但是,我的另一部分大脑也认为NFA仅存在于理论上,因此我们无法将其效率与DFA进行比较。

3
NFA如何使用epsilon转换?
在下面的图片中,我试图弄清楚NFA到底接受了什么。 什么是困惑我的是在跳q 0。ϵϵ\epsilonq0q0q_0 如果输入,系统是否同时移动到q 0和q 1(接受状态)?000q0q0q_0 q1q1q_1 如果输入,系统是否同时移动到q 1和q 2?111q1q1q_1q2q2q_2 如果没有输入(空字符串),系统是否仅移至(接受状态)?q1q1q_1

1
推断优化类型
在工作中,我的任务是推断一些有关动态语言的类型信息。我将语句序列重写为嵌套let表达式,如下所示: return x; Z => x var x; Z => let x = undefined in Z x = y; Z => let x = y in Z if x then T else F; Z => if x then { T; Z } else { F; Z } 由于我从一般类型信息开始,并试图推断出更具体的类型,因此自然的选择是精简类型。例如,条件运算符返回其真假分支类型的并集。在简单的情况下,它效果很好。 但是,在尝试推断以下类型时遇到了障碍: function …
11 programming-languages  logic  type-theory  type-inference  machine-learning  data-mining  clustering  order-theory  reference-request  information-theory  entropy  algorithms  algorithm-analysis  space-complexity  lower-bounds  formal-languages  computability  formal-grammars  context-free  parsing  complexity-theory  time-complexity  terminology  turing-machines  nondeterminism  programming-languages  semantics  operational-semantics  complexity-theory  time-complexity  complexity-theory  reference-request  turing-machines  machine-models  simulation  graphs  probability-theory  data-structures  terminology  distributed-systems  hash-tables  history  terminology  programming-languages  meta-programming  terminology  formal-grammars  compilers  algorithms  search-algorithms  formal-languages  regular-languages  complexity-theory  satisfiability  sat-solvers  factoring  algorithms  randomized-algorithms  streaming-algorithm  in-place  algorithms  numerical-analysis  regular-languages  automata  finite-automata  regular-expressions  algorithms  data-structures  efficiency  coding-theory  algorithms  graph-theory  reference-request  education  books  formal-languages  context-free  proof-techniques  algorithms  graph-theory  greedy-algorithms  matroids  complexity-theory  graph-theory  np-complete  intuition  complexity-theory  np-complete  traveling-salesman  algorithms  graphs  probabilistic-algorithms  weighted-graphs  data-structures  time-complexity  priority-queues  computability  turing-machines  automata  pushdown-automata  algorithms  graphs  binary-trees  algorithms  algorithm-analysis  spanning-trees  terminology  asymptotics  landau-notation  algorithms  graph-theory  network-flow  terminology  computability  undecidability  rice-theorem  algorithms  data-structures  computational-geometry 

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.