线性语法,不等数0和1

时间:2011-10-10 08:00:05

标签: grammar context-free-grammar

是否有可能提出一个不等数0和1的线性语法?

如0100,01100,111,1,0,100101001 ......

我知道这有一个无上下文的语法,但是有线性语法吗?

感谢。

1 个答案:

答案 0 :(得分:3)

语法是常规的,当且仅当它是常规或正常时。左常规语法等同于左线性语法。正确的常规语法等同于正确的线性语法。因此,如果存在生成指定语言的常规语法,则它是正确的或左对齐的,因此等效于左或右线性语法。

修改<子> 1

请注意,没有常规语法生成指定的语言 L UNEQ 。要看到这一点,请考虑以下事实 L EQ = {w: n a w < / em>)= n b w )}是 L UNEQ的补充。由于常规语言在补充下关闭,而 L EQ 是常规语言, L UNEQ 不是常用语言。

修改<子> 2

我相信线性语言的抽象引理可用于表明所指示的语言 L UNEQ 不是线性的。这就是我想出来的。我相信这是正确的。我主要担心的是你是被问到 - 大概是 - 用于产生指定语言的线性语言;但是,我得出的结论是没有这样的语法。

假设 L UNEQ 是线性的。通过线性语言的泵浦引理,存在 n &gt; 0取决于 L UNEQ ,以便所有 z L UNEQ ,< em> z 可以写成 uvwxy ,其中:

  • | VX | &GT; 0,
  • | uvxy | ≤ n
  • uv i wx i y L i ≥0。
  • 的em> UNEQ

n 成为泵浦引理的常数保证。考虑字符串

  • z = a n b (n!+ 2n) < EM>一 名词

由于 z L UNEQ ,它可以分解为满足抽水约束的子串 uvwxy 引理使得,对于所有 i ≥0,字符串

  • uv i wx i y = a | u | a i | v | a (n - | u | - | v |) b (n!+ 2n) a (n - | x | - | y |)功能 I | X | | Y |

L UNEQ 的成员。因为1≤| vx | ≤n,| vx |划分 n !因此,( n !| vx | -1 + 1)是一个自然数。将 i 设置为( n !| vx | -1 + 1)给出字符串

  • z '= uv n !| vx | -1 < / sup> + 1) wx n !| vx | -1 + 1) y = a | u | a n !| vx | -1 + 1)| v | a (n - | u | - | v |) b (n!+ 2n) a (n - | x | - | y |) a n !| vx | -1 + 1) | X | | Y |

简化抽取的字符串为我们提供了相同数量的 a b

  • n a z ')= 2n - | vx | +( n !| vx | -1 + 1)| vx | = 2n + n

由于(2n + n !)相当于抽水字符串中 b 的数量, z '∉ <子> UNEQ 。但这与 L UNEQ 是线性语言的假设相矛盾。因此, L UNEQ 不是线性语言。