линейная грамматика с неравным числом 0 и 1 - PullRequest
1 голос
/ 10 октября 2011

Возможно ли придумать линейную грамматику с неравным числом 0 и 1?

Например, 0100, 01100, 111,1,0, 100101001 ...

Я знаю, что для этого существует не зависящая от контекста грамматика, но есть ли линейная грамматика?

Спасибо.

1 Ответ

3 голосов
/ 10 октября 2011

Грамматика регулярна тогда и только тогда, когда она либо левая, либо правая.Левые регулярные грамматики эквивалентны левым линейным грамматикам.Правильные правильные грамматики эквивалентны правым линейным грамматикам.Следовательно, если существует регулярная грамматика, которая генерирует указанный язык, то она является правой или левой регулярной и, следовательно, эквивалентна либо левой, либо правой линейной грамматике.

edit 1 :

Обратите внимание, что не существует регулярной грамматики, генерирующей указанный язык L UNEQ .Чтобы увидеть это, рассмотрим тот факт, что L EQ = {w: n a ( w ) = n b ( w )} является дополнением к L UNEQ .Поскольку обычные языки закрыты при дополнении и L EQ - это , а не обычный язык, L UNEQ - это не обычный язык.

edit 2 :

Я считаю, что лемму прокачки для линейных языков можно использовать дляпоказать, что указанный язык L UNEQ не является линейным.Вот что я придумала.Я уверен, что это правильно.Моя основная проблема заключается в том, что вас попросили - предположительно - для линейного языка, генерирующего указанный язык;однако я пришел к выводу, что такой грамматики не существует.

Предположим, L UNEQ линейно.По лемме прокачки для линейных языков существует n > 0 в зависимости от L UNEQ , такой что для всех z L UNEQ , z можно записать uvwxy где:

  • | vx |> 0,
  • | uvxy |≤ n и
  • ультрафиолетовый i wx i y L UNEQ для всех i ≥ 0.

Пусть n будет постоянной гарантированной величинойНасосная лемма.Рассмотрим строку

  • z = a n b (n! + 2n) a n

С 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 |) a i | x | a | y |

является членом L UNEQ .Так как 1 ≤ | vx |≤ n, | vx |делит n !.Следовательно, ( n ! | vx | -1 + 1) является натуральным числом.Установка i в ( n ! | vx | -1 + 1) дает строку

  • z '= уф ( n ! | vx | -1 + 1) ш ( 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 | a | y |

Упрощениенакачанная колонна дает нам равное количество a и b ':

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

С (2n+ n !) Эквивалентно числу b в перекачиваемой колонне, z '∉ L UNEQ . Но это противоречит предположению, что L UNEQ является линейным языком. Следовательно, L UNEQ не является линейным языком.

...