Лемма о разрастании

Лемма о разрастании

Лемма о накачке, или лемма о разрастании (англ. pumping lemma) — в теории автоматов важная лемма, позволяющая во многих случаях проверить, является ли данный язык автоматным. Поскольку все конечные языки являются автоматными, эту проверку имеет смысл делать только для бесконечных языков. Существует также лемма о разрастании для контекстно-свободных языков.

Термин «накачка» в названии леммы отражает возможность многократного повторения некоторой подстроки в любой строке подходящей длины любого бесконечного автоматного языка.

Содержание

Формальная запись

Пусть L автоматный язык над алфавитом V. Тогда:

  • (\exists n\in \mathbb{N})(\forall \alpha \in L:|\alpha|>n)(\exists u,v,w\in V^*):
    [\alpha=uvw \land |uv|\leq n \land |v|\geq 1 \land (\forall i\in\mathbb{N}\cup0, uv^iw\in L)].

Доказательство

Итак, пусть автоматный язык L содержит бесконечное число цепочек.

Предположим, что L распознается детерминированным конечным автоматом A с n состояниями.

Для проверки заключения леммы выберем произвольную цепочку \alpha этого языка, которая имеет длину n.

Если конечный автомат A распознает L, то цепочка \alpha допускается этим автоматом, то есть в автомате A существует путь длины n из начального в одно из заключительных состояний, помеченный символами цепочки \alpha. Путь этот не может быть простым, он должен проходить ровно через n+1 состояние, в то время как автомат A имеет n состояний. Это значит, что этот путь проходит по меньшей мере два раза через одно и то же состояние автомата A, то есть на этом пути есть цикл с повторяющимся состоянием. Пусть это повторяющееся состояние q_k.

Разделим цепочку \alpha на три части, так что \alpha=uvw, где v – подцепочка, переводящая A из состояния q_k опять в состояние q_k, и w – подцепочка, переводящая A из состояния q_k в заключительное состояние. Заметим, что как u, так и w могут быть пустыми, но подцепочка v не может быть пустой. Но тогда очевидно, что автомат A должен допускать также и цепочку uvvw, поскольку повторяющаяся подцепочка v снова проходит по циклическому пути из q_k в q_k, а также и цепочку uvvvw, и любую вида uvv...vw.

Это рассуждение и составляет доказательство леммы о накачке.

Обратная формулировка

Другая форма этой леммы, которую иногда удобнее применять, чтобы доказать неавтоматность некоторого языка, записывается так:

Пусть L — некоторый язык над алфавитом V. Если:

  • (\forall n\in\mathbb{N})(\exists \alpha\in L \colon |\alpha|\geq n)
(\forall u,v,w\in V^* \colon \alpha=uvw \land |v|\geq 1)
(\exists i\in\mathbb{N}\cup 0) uv^iw\not\in L

то L — не автоматный.

Для доказательства неавтоматности языка можно также пользоваться тем фактом, что пересечение регулярных языков регулярно. Так, непосредственно применить лемму о накачке к языку правильных скобочных структур в алфавите \{ (, ) \} проблематично, но пересечение его с языком (^*)^* даёт язык (^n)^n, неавтоматность которого тривиально следует из леммы о накачке.

См. также

Ссылки

Литература

  • Джон Хопкрофт, Раджив Мотвани, Джеффри Ульман Введение в теорию автоматов, языков и вычислений = Introduction to Automata Theory, Languages, and Computation. — М.: «Вильямс», 2002. — С. 528. — ISBN 0-201-44124-1

Wikimedia Foundation. 2010.

Игры ⚽ Поможем написать курсовую

Полезное


Смотреть что такое "Лемма о разрастании" в других словарях:

  • Лемма о разрастании для контекстно-свободных языков — Лемма о разрастании для контексто свободных языков лемма, по аналогии с одноименной леммой для регулярных языков позволяющая относительно несложно доказывать, что данный язык не является контекстно свободным. Содержание 1 Формулировка 2… …   Википедия

  • Лемма о накачке — Лемма о накачке, или лемма о разрастании (англ. pumping lemma) в теории автоматов важная лемма, позволяющая во многих случаях проверить, является ли данный язык автоматным. Поскольку все конечные языки являются автоматными, эту проверку имеет… …   Википедия

  • Лемма Огдена — В теории формальных языков, лемма Огдена предоставляет расширение гибкости леммы о разрастании для контекстно свободных языков. Лемма Огдена утверждает, что если язык L контекстно свободен, то существует некоторое число p > 0 (где p может быть …   Википедия

  • Звезда Клини — В этой статье не хватает ссылок на источники информации. Информация должна быть проверяема, иначе она может быть поставлена под сомнение и удалена. Вы можете …   Википедия

  • Замыкание Клини — Звезда Клини (или замыкание Клини) в математической логике и информатике унарная операция над множеством строк либо символов. Замыкание Клини множества V обозначается V*. Широко применяется в регулярных выражениях, на примере которых было введено …   Википедия

  • Звёздочка Клини — Звезда Клини (или замыкание Клини) в математической логике и информатике унарная операция над множеством строк либо символов. Замыкание Клини множества V обозначается V*. Широко применяется в регулярных выражениях, на примере которых было введено …   Википедия

  • Плюс Клини — Звезда Клини (или замыкание Клини) в математической логике и информатике унарная операция над множеством строк либо символов. Замыкание Клини множества V обозначается V*. Широко применяется в регулярных выражениях, на примере которых было введено …   Википедия

  • Теорема Майхилла — Нероуда — В теории формальных языков теорема Майхилла  Нероуда определяет необходимое и достаточное условия регулярности языка. Данная теорема также позволяет доказать, что данный язык не регулярен. Теорема названа в честь Джона Майхилла и Энила… …   Википедия

  • Теорема Майхилла — В теории формальных языков теорема Майхилла  Нероуда определяет необходимое и достаточное условия регулярности языка. Данная теорема также позволяет доказать, что данный язык не регулярен. Теорема названа в честь Джона… …   Википедия


Поделиться ссылкой на выделенное

Прямая ссылка:
Нажмите правой клавишей мыши и выберите «Копировать ссылку»