Jump to content

Лемма о накачке для контекстно-свободных языков

(Перенаправлено из леммы Бар-Гиллеля )

В информатике , в частности в теории формального языка , используется лемма о накачке для контекстно-свободных языков , также известная как Бар-Хиллеля лемма , [ 1 ] — это лемма , которая дает свойство, общее для всех контекстно-свободных языков , и обобщает лемму о накачке для обычных языков .

Лемму о накачке можно использовать для построения опровержения от противного , что конкретный язык не является контекстно-свободным. И наоборот, леммы о накачке недостаточно, чтобы гарантировать, что язык является контекстно-свободным; есть и другие необходимые условия, такие как лемма Огдена , или лемма об обмене .

Официальное заявление

[ редактировать ]
Идея доказательства: если достаточно длинное, его дерево вывода относительно грамматики нормальной формы Хомского должно содержать некоторые нетерминальные дважды на тропинке дерева (верхнее изображение). Повторение умножить на производную часть ⇒...⇒ получает вывод для (нижнее левое и правое изображение для и , соответственно).

Если язык является контекстно-свободным, то существует некоторое целое число (называемая «длиной накачки») [ 2 ] так, что каждая строка в имеет длину который или более символов (т.е. с ) можно записать как

с подстроками и , такой, что

1. ,
2. , и
3. для всех .

Ниже приведено формальное выражение леммы о накачке.

Неофициальное заявление и объяснение

[ редактировать ]

Лемма о накачке для контекстно-свободных языков (далее в этой статье называемая просто «леммой о накачке») описывает свойство, которым гарантированно обладают все контекстно-свободные языки.

Свойство является свойством всех строк языка, длина которых не менее , где — это константа, называемая длиной накачки , которая варьируется в зависимости от контекстно-свободных языков.

Сказать это строка длиной не менее это на языке.

Лемма о накачке утверждает, что можно разбить на пять подстрок, , где непусто и длина самое большее , такой, что повторяется и столько же раз ( ) в создает строку, которая все еще находится в языке. Часто бывает полезно повторить ноль раз, что устраняет и из строки. Этот процесс «накачки» с дополнительными копиями и Именно это дало название лемме о накачке.

Конечные языки (которые являются регулярными и, следовательно, контекстно-свободными) тривиально подчиняются лемме о накачке, поскольку имеют равна максимальной длине строки в плюс один. Поскольку струн такой длины нет, лемма о накачке не нарушается.

Использование леммы

[ редактировать ]

Лемма о накачке часто используется для доказательства того, что данный язык L не является контекстно-свободным, показывая, что находятся строки s в L произвольной длины , которые нельзя «накачать» без создания строк вне L .

Например, если бесконечно, но не содержит (бесконечной) арифметической прогрессии , то не является контекстно-свободным. В частности, ни простые числа , ни квадратные числа не являются контекстно-свободными.

Например, язык можно показать, что оно не является контекстно-свободным, используя лемму о накачке в доказательстве от противного . Во-первых, предположим, что L является контекстно-свободным. По лемме о накачке существует целое число p , которое представляет собой длину накачки языка L . Рассмотрим строку в Л. ​Лемма о накачке говорит нам, что s можно записать в виде , где u, v, w, x и y — подстроки, такие что , , и для каждого целого числа . Выбором s и тем, что , легко видеть, что подстрока vwx может содержать не более двух различных символов. То есть у нас есть одна из пяти возможностей для vwx :

  1. для некоторых .
  2. для некоторых j и k с
  3. для некоторых .
  4. для некоторых j и k с .
  5. для некоторых .

Для каждого случая легко проверяется, что не содержит одинакового количества каждой буквы ни для одного . Таким образом, не имеет формы . противоречит определению Л. Это Следовательно, наше первоначальное предположение о том, что L является контекстно-свободным, должно быть ложным.

В 1960 году Шейнберг доказал, что не является контекстно-свободным, используя предшественника леммы о накачке. [ 3 ]

Хотя лемма о накачке часто является полезным инструментом для доказательства того, что данный язык не является контекстно-свободным, она не дает полной характеристики контекстно-свободных языков. Если язык не удовлетворяет условию, заданному леммой о накачке, мы установили, что он не является контекстно-свободным. С другой стороны, существуют языки, которые не являются контекстно-свободными, но все же удовлетворяют условию, заданному леммой о накачке, например

для s = b дж с к д л например, j ≥1, выберите vwx , чтобы он состоял только из b ' s, для s = a я б дж с дж д дж выберите vwx , чтобы он состоял только из ' ' ; в обоих случаях все накачанные струны по-прежнему находятся L. в [ 4 ]

  1. ^ Креовски, Ханс-Йорг (1979). «Лемма о накачке для контекстно-свободных графовых языков». В Клаусе, Волкере; Эриг, Хартмут ; Розенберг, Гжегож (ред.). Граф-грамматики и их применение в информатике и биологии . Конспекты лекций по информатике. Том. 73. Берлин, Гейдельберг: Шпрингер. стр. 270–283. дои : 10.1007/BFb0025726 . ISBN  978-3-540-35091-0 .
  2. ^ Берстель, Жан; Лауве, Аарон; Ройтенауэр, Кристоф; Салиола, Франко В. (2009). Комбинаторика слов. Слова Кристоффеля и повторения в словах (PDF) . Серия монографий по CRM. Том. 27. Провиденс, Род-Айленд: Американское математическое общество . п. 90. ИСБН  978-0-8218-4480-9 . Збл   1161.68043 . (См. также [www-igm.univ-mlv.fr/~berstel/ сайт Аарона Берстеля)
  3. ^ Стивен Шейнберг (1960). «Примечание о логических свойствах контекстно-свободных языков» (PDF) . Информация и контроль . 3 (4): 372–375. дои : 10.1016/s0019-9958(60)90965-7 . Здесь: Лемма 3 и ее использование на стр.374-375.
  4. ^ Джон Э. Хопкрофт, Джеффри Д. Ульман (1979). Введение в теорию автоматов, языки и вычисления . Аддисон-Уэсли. ISBN  0-201-02988-Х . Здесь: разд.6.1, стр.129
Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: 562d52fd1001aa18145c584971c16664__1722340500
URL1:https://arc.ask3.ru/arc/aa/56/64/562d52fd1001aa18145c584971c16664.html
Заголовок, (Title) документа по адресу, URL1:
Pumping lemma for context-free languages - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)