乔姆斯基层次结构过时了吗?


44

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和索引语法的正式语法的最新教科书(也更适合实际应用的指针),我也将很高兴。


7
有一点要说:在复杂性动物园中,我不认为缺少Chomsky和Schützenberger这两个名称可以证明“ Chomsky层次结构已过时”。Chomsky层次结构是形式语言理论中的一个概念。复杂性动物园是一个主要介绍复杂性理论的网站,尽管它包含形式语言理论中的一些概念,例如上下文无关的语言。它们是相关但截然不同的领域。如果在正式语言理论的教科书中没有提到它,那将是过时的,但是我不知道是不是这种情况。
伊藤刚(Tsuyoshi Ito)2010年

7
好点,刚 坦白说,我希望看到一个“正规语言动物园”,它具有良好的理论基础(参考研究论文!),而且还有实用资源。例如,有数十种Backus-Naur-Form的语法变体和正则表达式的变体(其中一些甚至不是正则)。除了简单的乔姆斯基层次结构,我发现很难用形式语言清晰地了解当前的研究状况。
雅各布

您还可以严格在常规语言之下添加无星号语言。它们像普通的,但没有Kleene星。众所周知 乖。
罗曼诺(Romano)2010年

正如几个答案向我展示的那样,形式语法“乔姆斯基”是描述形式语言的一种历史性方法,已经达到了极限。我仍在寻找形式语法的良好概述,这些概述不关注复杂性理论,但是感谢所有其他参考!我接受mgalle的回答,因为到目前为止他的声誉最低。
雅各布2010年

2
在计算机科学中,计算机语言设计,软件设计和编程,无上下文语法和语言以及正则表达式和语言是基本的工作工具,并且比以往任何时候都重要。但是另一方面,对于任意语法,LBA和上下文相关的语言,我几乎看不到应用程序,甚至根本没有。
reinierpost 2011年

Answers:


19

从我在自然语言处理社区中所看到的,正式语法àla Chomsky不再使用了。他们(也)认为Chomsky层次结构对于模型语言已经过时了。

取而代之的是诸如重新编写规则(Lars算法),依赖模型(Dan Klein),树替换语法(DOP模型),二元特征语法(Alex Clark)之类的东西。


重新阅读我的答案,听起来比我想的还要消极。RL和CFL从来都不是自然语言的现实模型,大多数“新”模型实际上都是从中得到启发的。
mgalle 2010年

我认为RL甚至不是设计为自然语言的模型,而是设计为某些系统行为的模型。[Kleene的原始文本也没有使用正式的语言术语。]
DG_

26

简而言之:是的。

更具体地说:乔姆斯基是最早形式化有关语言,语法和自动机的层次结构的人之一。这种洞察力仍然非常重要,并且在所有有关自动机理论的入门课程中都有讲授。但是,乔姆斯基提出了特定的层次结构,并且层次结构元素的名称不再是真正重要的了。从那以后,我们发明了无数形式主义,这些形式主义介于乔姆斯基层次结构的上,下或下。而且,乔姆斯基使用的名称并不是特别有趣,即它们并不是基于有趣的度量复杂性或其他任何事物,它们只是数字。温和的上下文相关语言应该是Type-1.5还是Type-1.7或Type-1.3?谁在乎。“轻度上下文相关”是一个更有意义的名称。

复杂性动物园有点不同,因为它充满了各种条件等价物。自动机理论的更现代的层次结构不是线性的(例如,比较CFG与PEG),但它仍然具有众所周知的拓扑。要了解现代自动机理论,您应该看一下解析器组合器库的工作以及有关统一和类型理论的一些内容(尽管它们都在很远的地方分支)。


4
我们找到了更好的名字,是的。这并不意味着结果已经过时。
拉斐尔(Raphael)2010年

4
@Raphael:过时并不是因为名称本身,而是因为不再使用Chomsky引入的特定层次结构。乔姆斯基层次结构所描述的包含物是(a)仍然正确,并且(b)在任何现代层次结构中都包含在内;但乔姆斯基谱系这样,是不是非常相关的不同点在于它发生在击出了一些众所周知的高点。人们不再对Chomsky层次结构进行研究,而是在其他地方进行研究。这不像多项式塔,其名称/结构都有其原因。
罗曼诺(Romano)2010年

26

如果TCS中的任何内容已过时,则正是这种复杂性类别的微小子集的包含层次结构在1956年才被人们知道/认为很有趣。

安息吧,乔姆斯基阶层,也许您不再困扰本科理论课程。


12
正如Juris Hartmanis曾经大喊:“ Chomsky班呢?Chomsky班真是可憎!”
瑞安·威廉姆斯

1
瑞安:我还记得朱莉斯(Juris)称CH为“憎恶”!在我写答案时,我正在辩论他是否希望他的言论公开。但是,您比我更了解他... :-D
Scott Aaronson

某些观点的计算机科学和数学家对语言学和其他“弱”科学的贬义观点也可能至少激发了这一评论:xkcd.com/435。但是,可以肯定的是,今天的乔姆斯基层次结构掩盖了现代复杂性理论的观点,因此这回答了我的问题。在本科理论课程中还是可以有一些更新的替代品开始的,这仍然很好,特别是如果您对实际应用中的形式语言和语法更感兴趣。
雅各布2010年

1
Chomsky层次结构列出了按描述的复杂性排序的语言类别,而不是使用术语“复杂性理论”时通常隐含的计算复杂性。显然,它们是相关的。无论如何,我仍然看不到一个(粗糙的)层次结构如何掩盖了更精致的类,这些类如果没有Chomsky层次结构就很难理解。他们是大门!
拉斐尔

20

如果您考虑使用“现代”名称(即REG,LIN,CFL,CSL,RE分别代表DFA / NFA,PDA,LBA,TM)的乔姆斯基层次结构,我会说:不,它不是过时的!

原因0:从其定义和结果与新知识不矛盾的意义上来说,这仍然是正确的。

原因1:这些课程/计算模型仍然是您首先教的-因为它们简单易学。尝试在没有覆盖DFA / DPDA的情况下将LR自动机教给本科生。

原因2:这些类别仍然是新发明的第一个/主要基准(我浏览了一篇有关多CFG的论文,当然,这篇文章说:比CFG多,比CSG小。)因为他们是第一次教,而且还因为他们认为可能是部分简单和充分研究。

反原因3:结果并不会因为发现新的类/模型而过时。尽管没有在研究领域积极使用它们,但它们仍然保持其作为基础知识的价值。


10
“数学不会变,它会变成经典。” (不幸的是,我不知道这句话是谁的。)
Heinrich Apfelmus,2010年

您不是用“ NPDA”代替“ DPDA”吗?某些无上下文语言仅由不确定的下推自动机识别。
Zsbán安布鲁斯

@ZsbánAmbrus相当正确;我应该只写“ PDA”。谢谢!
拉斐尔2015年

最后一个原因根本没有说服力(我想这就是为什么这是反原因吗?)。许多结果已经过时了,因为它们被不同的方法所包含甚至有时被琐碎了。我在这里不是说这种情况,只是说的原因并没有多说。同样,语法上的nitpick:“ outdate”也不是动词。
Sasho Nikolov

10

我认为这取决于计算模型。如果考虑有限/下推/等。自动机作为一种计算模型,那么乔姆斯基层次结构就变得很重要(例如,参见西普瑟的书)。另一方面,它在图灵计算模型中几乎没有作用。

下图可能会有所帮助:

编辑:形式语言在设计计算机语言(例如Java)和编译器以及自然语言处理(NLP)中起着重要作用。


抱歉,András,我无法理解您的评论。OP询问Chomsky层次结构是否过时。他的理由是,他在复杂性动物园等中没有看到它。我回答说,如果他将自动机视为一种计算模型,那么乔姆斯基层次结构就变得很重要。另外,我提到此层次结构的类对于编译器设计和NLP算法很重要。恕我直言,这与问题完全相关。
MS Dousti

2
当然,在理论计算机科学,形式语言,编译器设计等大多数介绍中都可以发现Chomsky层次结构并不是真正过时的。但是除此之外,似乎没有什么新鲜的要说的。我认为REG和CFL之间以及CFL之间的感谢语言也可能很重要。用Chomsky层次结构散发出“过时”的气味对当前的研究不重要,用这些语言来扩展层次结构是否只是一个坏主意?
雅各布2010年

我认为这不是一个坏主意,尽管必须找到一些适合新扩展的应用程序。
MS Dousti
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.