Questions tagged «automata-theory»

自动机理论,包括抽象机,语法,解析,语法推断,换能器和有限状态技术

11
学习有限自动机后,我应该得到什么启示?
我一直在有趣地修改计算理论,这个问题让我困扰了一段时间(当我在本科学习自动机理论时,从来没有想到过这个有趣的事情)。那么“为什么”我们到底要研究确定性和非确定性有限自动机(DFA / NFA)?所以这是我自言自语后得出的一些答案,但仍然看不到它们对“ aha”时刻的总体贡献: 研究它们是什么和没有能力,即限制 为什么? 由于它们是理论计算的基本模型,将为其他更强大的计算模型奠定基础。 是什么使它们“基本”?是否只有一点点的存储和状态转换? 好吧,那又如何呢?所有这些如何有助于回答可计算性问题?似乎图灵机确实很好地理解了这一点,并且有诸如P​​DA,DFA / NFA / Regexes等之类的“较少”计算模型。但是,如果人们不知道FA,它们会丢失什么呢? 因此,尽管我在某种程度上“明白了”,但我无法对自己回答这个问题?您如何最好地解释“为什么要学习D / N-FA”?他们想回答什么问题?它有什么帮助?为什么它是自动机理论中教授的第一件事? PS:我知道可以如此实现的各种字典应用程序和模式匹配器。但是,我不希望知道它可以实际使用什么,但是在学习计算理论的高潮中,他们为什么要使用/发明/设计的原因是什么。从历史上讲,是什么促使人们从这一点开始的?它应该导致什么“啊哈”理解?如果要向刚开始学习自动机理论的CS学生解释他们的重要性,您将如何做?

5
乔姆斯基层次结构过时了吗?
Chomsky(–Schützenberger)层次结构用于理论计算机科学的教科书中,但是与完整的“ 复杂度动物园图”相比,它显然只覆盖很小一部分形式的语言(REG,CFL,CSL,RE)。层次结构是否在当前研究中起任何作用?在cstheory.stackexchange上,我只发现很少提及Chomsky,而在Complexity Zoo中,根本没有提及Chomsky和Schützenberger。 当前的研究是否更多地关注于形式描述语法以外的其他描述方式?我一直在寻找实用的方法来描述具有不同表现力的形式语言,却偶然发现越来越多的上下文敏感语言(GCSL)和可见下推语言(VPL)都位于经典的乔姆斯基语言之间。不应该将Chomsky层次结构更新为包括它们吗?还是没有从整个复杂度类集中选择特定的层次结构?据我所知,我尝试仅选择那些适合于乔姆斯基层次结构的语言: REG(= Chomsky 3)⊊VPL⊊DCFL⊊CFL(= Chomsky 2)⊊GCSL⊊CSL(= Chomsky 1)⊊R⊊RE 尽管似乎与自然语言处理有实际相关性,但我仍然不了解“对上下文敏感的语言”和“索引语言”是否适合(在CFL和CSL之间的某个地方)(但是,任何与实际相关性都不那么有趣)在理论研究中;-)。另外,您可以提及GCSL→P→NP→PSPACE和CSL→PSPACE→R,以显示与著名的P和NP类的关系。 我在GCSL和VPL上发现: 罗伯特·麦克诺顿(Robert McNaughton):《乔姆斯基体系的插入?在:珠宝是永恒的,为纪念Arto Salomaa在理论计算机科学上的贡献。S.204-212,1999年 http://en.wikipedia.org/wiki/Nested_word#参考(VPL) 如果您知道任何有关VPL,DCLF,GCSL和索引语法的正式语法的最新教科书(也更适合实际应用的指针),我也将很高兴。

10
真实计算机只有有限数量的状态,那么图灵机与真实计算机有什么关系?
实际计算机的内存有限,并且状态数量有限。因此,它们本质上是有限自动机。为什么理论计算机科学家会使用图灵机(和其他等效模型)来研究计算机?关于真实计算机研究这些更强大的模型有什么意义?为什么有限自动机模型不够用?

9
非确定性和随机性有什么区别?
最近,我听到了这样的声音: “非确定性机器与概率机器不同。从广义上讲,非确定性机器是其中不知道转移概率的概率机器”。 我觉得我明白了,但我真的没有。有人可以向我解释(在机器环境中还是一般情况下)? 编辑1: 只是为了澄清,报价是在有限自动机的上下文中,但是这个问题对图灵机也很有意义,正如其他人回答的那样。 另外,我听到人们说-“ ...然后我不确定地从集合中选择对象x”。我曾经以为它们的意思是“随机”。因此造成混乱。

14
自动机理论有多实用?
在与理论计算机科学相关的主题中总有一种应用方法。但是,教科书和本科课程通常无法解释自动机理论成为重要课题的原因,也无法解释其在实践中是否仍具有应用价值。因此,大学生可能难以理解自动机理论的重要性,并可能认为它已不再具有实际用途。 自动机理论在实践中仍然有用吗? 它应该成为本科CS课程的一部分吗?

6
正则表达式不是
甚至问一个有计算机科学背景的人,正则表达式是什么,答案都可能超出了有限状态自动机的限制。 例如,“正则表达式” /^1?$|^(11+?)\1+$/ 由著名的Perl个性Abigail(以及2002年以来Perl的测试套件的一部分)创建的机器描述了仅接受复合一元数的机器,但在彼得·林茨(Peter Linz)的《形式语言和自动机简介》的第三版中练习4.5(b)让读者使用该泵引理证明 L={an:n is not a prime number}L={an:n is not a prime number}\mathcal{L} = \left\{ a^n : n\ \mathrm{is\ not\ a\ prime\ number} \right\} 不是普通语言。 在区分很重要的情况下,我们应该怎么称呼那些更严格的表达方式?


1
艾伦伯格的非理性自动机和语言的理性层次结构-现在在哪里?
塞缪尔·艾伦伯格(Samuel Eilenberg)在极具影响力的著作《自动机,语言和机器》(第A,B卷)的序言中,极力承诺,第C卷和第D卷涉及“非理性现象的等级体系(称为有理等级体系……使用有理关系”)。一种比较工具,有理集合在此层次结构的底部。向上移动会遇到“代数现象”,这会导致“乔姆斯基的无上下文语法和无上下文语言,以及若干相关主题”。 但是Eilenberg从未出版过C卷。他的确为前几章留下了初步的手写笔记(http://www-igm.univ-mlv.fr/~berstel/EilenbergVolumeC.html),其中包括划痕,问号,旁注和差距。但是,它们并没有揭示出众所周知的幂级数语法的开端。 所以,我的实际问题是,有谁知道同样的工作方式来重构艾伦伯格的想法?如果不是,那么哪种材料最接近他的想法? http://x-machines.net/站点是关于x-machines的,这是Eilenberg的关键创新之一,但是它主要处理x-machines的应用,而不是像Eilenberg所希望的那样进一步发展该理论。 还有,谁知道Eilenberg为什么在Volume C取得很大进展之前就停下来了?那是在70年代后期,他一直活到1998年,尽管在卷B之后他似乎没有发表任何数学。然而,至少在他看来,他似乎已经完成了卷C和D的数学。 ( -同样的问题上math.stackexchange问https://math.stackexchange.com/questions/105091/eilenbergs-rational-hiererchy-of-nonrational-automata-languages -道歉,如果这被认为是交叉发布。)

2
{ }是否非上下文无关?
语言{ }是否与上下文无关?aibjck | i≠j,i≠k,j≠kaibjck | i≠j,i≠k,j≠ka^{i}b^{j}c^{k} ~|~ i \neq j, i \neq k, j \neq k 我意识到我遇到了这个问题的几乎所有变体,但关于i,j和k之间的关系存在不同的条件,但没有这个。 我的猜测是它不是上下文无关的,但是您有证据吗?

4
是否有可以有效匹配正则表达式的“小型”机器?
众所周知,正则表达式可以通过大小不确定的有限自动机来识别,该自动机的大小与正则表达式成正比,也可以通过确定性FA来识别,该FA可能成倍增大。此外,在给定字符串和正则表达式,NFA可以及时测试与成比例的隶属关系。,并且DFA可以及时测试与成正比的成员资格 。NFA减速的原因是,我们基本上需要跟踪自动机可能处于的可能状态集,而DFA的指数级爆炸则源于以下事实,即DFA的状态是状态机的幂集。 NFA。sss[R[Rr| s | ⋅ | r ||s|⋅|[R||s| \cdot |r|| s ||s||s| 如果我们允许使用功能更强大的机器,是否有可能有效地(即,时间要比,而空间要比)比有限自动机?(例如,使用下推式自动机或计数器机器识别常规语言是否具有简洁性?)O (| r | ⋅ | s |)Ø(|[R|⋅|s|)O(|r| \cdot |s|)O (2| r |)Ø(2|[R|)O(2^{|r|})

3
从DFA到正则表达式的已知算法
我想知道是否有一种从DFA 开始并构造一个正则表达式r使得L (A)= L (r )的``更好''(我将在什么意义上解释)算法,而不是Hopcroft and Ullman(1979)的书。在这里,集合R k i j用于表示将DFA从状态q i转移到q j而不经过任何高于k的状态的字符串集合。尽管显然是正确的并且非常有用,但是这种构造是技术性的。一种A\mathcal{A}[Rrr大号(甲)= L (r )L(A)=L(r)L(\mathcal{A})=L(r)[Rķ我ĴRijkR_{ij}^kq一世qiq_iqĴqjq_jķkk 我正在撰写有关代数自动机理论的专着,但我不想分散太多技术细节(至少不会与我想显示的结果无关的细节)来分散听众的注意力,但我确实希望包括为完整性起见,证明DFA与正则表达式之间的等效性。作为记录,我正在使用Glushkov自动机将正则表达式转换为DFA。它似乎比更直观,我完全没有定义它(再次,因为我不需要它们)。εε\varepsilon 从DFA到正则表达式还有哪些其他已知算法?我重视简单性而不是效率(在这种情况下,这对我来说``更好''),但这不是必须的。 在此先感谢您的帮助!

2
多少DFA接受两个给定的字符串?
固定整数和字母。将定义为具有起始状态1的个状态上所有有限状态自动机的集合。我们正在考虑所有 DFA(不仅是连接的,最小的或非退化的)。因此,。Σ = { 0 ,1 } d ˚F 甲(Ñ )ñ | D F A (n )| = n 2 n 2 nnnnΣ={0,1}Σ={0,1}\Sigma=\{0,1\}DFA(n)DFA(n)DFA(n)nnn|DFA(n)|=n2n2n|DFA(n)|=n2n2n|DFA(n)| = n^{2n}2^n 现在考虑两个串,并确定是的元素的数量该接受两个和。 ķ (X ,ÿ )d ˚F 甲(Ñ )x,y∈Σ∗x,y∈Σ∗x,y\in\Sigma^*K(x,y)K(x,y)K(x,y)DFA(n)DFA(n)DFA(n) ÿxxxyyy 问题:计算的复杂度是多少?K(x,y)K(x,y)K(x,y) 这个问题对机器学习有影响。 编辑:现在有一个悬赏在这个问题上,我想在公式上要更精确一点。对于,令为自动机的集合,如上所定义。对于,定义是自动机的数目该接受两个和。问题:可以在时间计算吗?d ˚F 甲(Ñ )ñ 2 Ñ 2 Ñ X ,ÿ ∈ { 0 ,1 …

2
NFA普遍性的条件
考虑一个不确定的有限自动机和一个函数。另外,我们定义。A=(Q,Σ,δ,q0,F)A=(Q,Σ,δ,q0,F)A = (Q, \Sigma, \delta, q_0, F)f(n)f(n)f(n)Σ≤k=⋃i≤kΣiΣ≤k=⋃i≤kΣi\Sigma^{\leq k} = \bigcup_{i \leq k} \Sigma^i 现在让我们分析以下语句: 如果,则。Σ≤f(|Q|)⊆L(A)Σ≤f(|Q|)⊆L(A)\Sigma^{\leq f(|Q|)} \subseteq L(A)L(A)=Σ∗L(A)=Σ∗L(A) = \Sigma^* 很容易证明,对于它是正确的,因此,如果自动机产生的每个单词的长度最大为,那么它将产生。f(n)=2n+1f(n)=2n+1f(n) = 2^n+12|Q|+12|Q|+12^{|Q|}+1Σ∗Σ∗\Sigma^* 但是,如果是一个多项式,它仍然成立吗?fff 如果不是,那么给定多项式的NFA的构造应该是什么样子?st?p Σ ≤ p (| Q |) ⊆ 大号(甲)⊊ Σ *AAApppΣ≤p(|Q|)⊆L(A)⊊Σ∗Σ≤p(|Q|)⊆L(A)⊊Σ∗\Sigma^{\leq p(|Q|)} \subseteq L(A) \subsetneq \Sigma^*



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.