除了语法,还有其他方法可以描述形式语言吗?


22

我正在寻找与一般形式语言(字符串集)有关的数学理论,而不仅仅是语法层次结构。


请注意,除了经典的Chomsky语法外,还有很多语法类型,例如分别有多个耦合的依赖于长度的上下文无关文法(易于谷歌搜索)。
拉斐尔

Answers:


14

有很多可能性。其他人已经提到自动机,它提供了丰富的选择。还要考虑以下框架:

  1. 某些语言可以直接通过(共)归纳定义进行定义。例如, 与描述的语言相同,最大的固定点是。请注意,这样的定义也可以用演算或推理规则形式编写:
    b一个|*b一个|ωa εLwLawLawLbawLa
    (baa)(baa)ω
    aε,waw,awbawa

  2. 单词定义了可以用作逻辑公式模型的单词结构。本质上,每个单词都定义了其位置的范围,谓词这样对于所有,谓词是从限制为,谓词当且仅当第二个参数是拳头的直接后继。 因此,举例来说,如果然后P 一个d { 0 1 } P 瓦特 = 一个&Element; &Sigma; < < Ñ d 瓦特 SUC d 瓦特 × d 瓦特{ 0 1 } 瓦特= 一个b 一个b 一个一个bDw={1,,n}Pa:D{0,1}Pa(i)wi=aaΣ<<NDwsuc:Dw×Dw{0,1}
    w=aababaab
    baa*ωbaaωaSwi.j. (Pb(i)  suc(i,j))¬Pb(j);a
    实际上,此一阶公式通过满足条件的所有单词结构的集合来定义-与相同的语言。相应的 -language由LTL公式 已知经典语言类和某些逻辑之间的对等。例如,FO对应于无星星的语言,MSO较弱(baa)ω(baa)ω
    ωa(Pb(¬Pb))a
    常规语言和MSO到 -regular语言。请参阅此处以获取参考。ω

  3. 与经典类正交的是模式语言。假设终端字母和变量字母。字符串称为pattern。令替换集。我们将模式的语言定义为 请注意,已扩展为适用于模式;端子符号保持不变。 例如,考虑X = { X 1X 2... } p Σ X + ħ = { σ | σ X →交通Σ * } pΣX={x1,x2,}p(ΣX)+H={σσ:XΣ}p
    aL(p)={σ(p)σH}.a
    σ
    L(x1abbax1)={wabbaww{a,b}}
    注意,我们允许替换来删除变量。模式语言类的某些属性在删除替换与非删除替换上有很大的不同。模式语言在Gold风格的学习中特别感兴趣。



5

乔姆斯基体系中,有四种类型的形式语言(每种形式语言都是其形式的子集):

一个经常性的正式语言可以描述为:

  1. 普通语法
  2. 有限自动机(确定性/不确定性)
  3. 正则表达式

1.,2。和3.是等效的,您可以从其中一个构造其他的。

一个上下文形式语言可以描述为:

  1. 上下文无关语法
  2. 下推式自动机

另外1.和2.是等效的。

一个上下文敏感的形式语言可以描述为:

  1. 线性有界自动机(带限制带的车床)

一个递归可枚举的形式语言可以描述为:

  1. 总图灵机

还有其他所有的语言课吗?
拉斐尔

和无类语言?
戴夫·克拉克2012年

乔姆斯基并没有说这些是唯一的语言类型,它们只是他发现的四种重要语言,我们仍然认为它们很重要,但是还有许多其他类型。
reinierpost 2014年

5

除了其他答案以外,还可以根据“生成器”和闭包属性来描述和分类语言。例如,谈论某种语言产生的最小的AFL是有意义的。本书是开始学习这种描述的一个好地方,尽管很难找到它的印刷版本。

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.