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


22

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


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

Answers:


14

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

  1. 某些语言可以直接通过(共)归纳定义进行定义。例如, 与描述的语言相同,最大的固定点是。请注意,这样的定义也可以用演算或推理规则形式编写:
    (b一个|一)*(b一个|一)ωa⇒ ε∈Lw∈L⇒aw∈Law∈L⇒baw∈La
    (ba∣a)∗(ba∣a)ω
    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
    (ba∣a)*ω(ba∣a)ωaSw⊨∀i.∀j. (Pb(i) ∧ suc⁡(i,j))→¬Pb(j);a
    实际上,此一阶公式通过满足条件的所有单词结构的集合来定义-与相同的语言。相应的 -language由LTL公式 已知经典语言类和某些逻辑之间的对等。例如,FO对应于无星星的语言,MSO较弱(ba∣a)∗ω(ba∣a)ω
    ωa◻(Pb→◯(¬Pb))a
    常规语言和MSO到 -regular语言。请参阅此处以获取参考。ω

  3. 与经典类正交的是模式语言。假设终端字母和变量字母。字符串称为pattern。令替换集。我们将模式的语言定义为 请注意,已扩展为适用于模式;端子符号保持不变。 例如,考虑X = { X 1,X 2,... } p ∈ (Σ ∪ X )+ ħ = { σ | σ :X →交通Σ * } pΣX={x1,x2,…}p∈(Σ∪X)+H={σ∣σ:X→Σ∗}p
    aL(p)={σ(p)∣σ∈H}.a
    σ
    L(x1abbax1)={wabbaw∣w∈{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.