帕里克定理

在理論計算機科學中,帕里克定理指出,对于上下文无关语言,如果只关心其中每个终止符号出现的次数,而不考虑它们的顺序,那么存在正则语言与其对应。这个定理可用于确定具有给定数量终止符号的字符串是否能为上下文无关语法接受。1961年罗希特·帕里克第一次证明了它,论文于1966年再次发表。

定义及形式化表述
令\Sigma=\{a_1,a_2,\ldots,a_k\}为一个字母。定义单词的帕里克矢量p:\Sigma^*\to\mathbb{N}^k为函数

p(w)=(|w|_{a_1}, |w|_{a_2}, \ldots, |w|_{a_k}),其中|w|_{a_i}表示词w中a_i出现的次数。

一个子集\mathbb{N}^k是线性的,如果它形如

存在向量u_0,\ldots,u_m,使得u_0+\langle u_1,\ldots,u_m\rangle=\{u_0+t_1u_1+\ldots+t_mu_m \mid t_1,\ldots,t_m\in\mathbb{N}\}。

一个子集\mathbb{N}^k是半线性的,如果它为有限多线性子集的并。

帕里克定理的形式化表述如下。令L为上下文无关语言。令P(L)为L单词的帕里克矢量集,即P(L) = \{p(w) \mid w \in L\}。则P(L)是半线性的。

两种语言可以等效互换,如果他们的帕里克矢量集相同。若S为任意半线性集,则对单词的帕里克矢量位于S中的语言,可等效于某些正则语言。因此,每一个上下文无关语言都可等效于某些正则语言。

重要性
帕里克定理表明,有些上下文无关语言可能只有歧义语法。这样的语言称为固有歧义语言。从形式文法的角度看,这意味着某些有歧义的上下文无关文法无法转换为明确的上下文无关文法。

参考文献

评论 (0)

  • 还没有评论,来抢沙发吧。