无限语言与有限语言


16

对于在计算机理论中使用“无限”语言还是“有限”语言,我还不清楚。

我认为麻烦的根源在于,像这样的语言是无限的,因为它可以生成无限(但可数)的字符串。但是,它仍然可以通过有限状态自动机来识别。L={ab}

Sipser的书没有真正区分这一点也没有帮助(至少据我所知)。样本考试中提出了有关无限/有限语言及其与常规语言的关系的问题。


1
这是无限的,因为ab*(Kleene星号)表示您可以具有零个或多个字符串组合,其中ab包括潜在的无限数量的字符串:{“”,ab ^ 1,ab ^ 2,ab ^ 3,... 。,ab ^ n}。但是,您仍然可以构建可识别该语言的FSM,因为实际上无法生成无限字符串,当由机器处理所有字符串时,它们必须是有限的,但这并不能使语言本身成为有限的。语言的无限性是理论上的。
亨特·麦克米伦

1
“有限地描述”和“有限的”是不相同的。例如,您的正则表达式是无限语言的有限描述;一个有限自动机只是另一个自动机(但之所以称为有限自动机,不是因为它是一个有限的描述,而是因为它只能存储一定数量的位)。{a,b}
拉斐尔

为什么有限数量的状态比任何其他机器的有限描述都重要?
2014年

自动机可能有循环,您可以无限次使用某些状态。
doganulus

Answers:


28

天啊。这似乎是由(旧派)“有限状态语言”术语引起的混淆,“有限状态语言”是今天称为“常规语言”的同义词。

无论如何,这些天接受的有限/无限标准定义只考虑语言的大小:

  1. 一个有限的语言是任何一套的字符串,有限基数,| L | < 大号|大号|<
  2. 一个无限语言是任何集串的无穷大(的,0)基数| L | = 大号0|大号|=

有限的总是规则的。大号

无限可以是规则的(有时称为“有限状态”),可确定的(有时称为“递归”),非规则的(非有限状态),不可确定的,等等。大号


1
谢谢冉!因此,请明确说明,是无限语言吗?因此,我想假设给定了无限的语言,那么关于它是哪种语言一无所知。大号={一种b}
2012年

1
那是对的。是一种无穷的常规语言。大号={一种b}
Ran G.

1
@timberly当然,我们可以知道并证明它是哪种语言。
phant0m 2012年


4

对于在计算机理论中使用“无限”语言还是“有限”语言,我还不清楚。

我认为麻烦的根源在于,像这样的语言是无限的,因为它可以生成无限(但可数)的字符串。但是,它仍然可以通过有限状态自动机来识别。大号={一种b}

另一个问题是形式语言理论在使用“语言”一词方面颇为独特。

对于世界上除形式语言理论领域的人们以外的每个人,语言是一种用于交流的言语系统,因此每种言语都有一种形式(其语法)和某种意义(其语义)。形式语言理论(至少是计算机科学中使用的部分)致力于解决如何最好地正式定义语言语法的问题。这全都涉及语言的语法(说话的样子)和形式主义(语言!)之间的关系,例如用于定义语言语法的正则表达式。

因此,在形式语言理论中,“一种语言”被简单地定义为“一组字符串”。它通常不会为语言中的字符串分配含义。

同时,在这种意义上,用于描述语言(例如正则表达式)的形式主义也形成了语言:例如,每个正则表达式都是一个字符串,因此,正则表达式集就是一种语言。但是,对于这些形式主义,语言中的字符串确实具有含义:例如,每个正则表达式的含义都是它所表示的语言。

一种b{一种b}一种b一种b{一种b}

{一种b}大号大号大号大号{一种b}{ϵ一种b一种b一种b一种b一种b一种b一种b一种b一种b一种b}{一种b}

一种b

一种b

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.