Регулярный язык

Материал из testwiki
Перейти к навигации Перейти к поиску

Регуля́рный язык (регуля́рное мно́жество) в теории формальных языков — множество слов, которое распознает некоторый конечный автомат. Класс регулярных множеств удобно изучать в целом, а полученные результаты оказываются применимы для достаточно широкого спектра формальных языков.

Определение

Пусть Σ — конечный алфавит. Регулярными языками в алфавите Σ называются множества слов, определяемые по индукции следующим образом:

  1. Пустое множество () является регулярным языком.
  2. Множество, состоящее из одной лишь пустой строки ({ε}) является регулярным языком.
  3. Множество, состоящее из одного однобуквенного слова ({a}, где aΣ) является регулярным языком.
  4. Если α и β — регулярные языки, то их объединение (αβ), конкатенация (αβ) и взятие звёздочки Клини (α) тоже являются регулярными языками.
  5. Других регулярных языков нет.

Связь автоматных и регулярных языков

Теорема Клини утверждает, что класс регулярных языков совпадает с классом языков распознаваемых конечным автоматом. Это значит, что для любого конечного автомата множество слов, которое он допускает является регулярным языком. И обратно, для любого регулярного языка существует автомат, которые допускает слова из этого языка и только их.

Распознаваемое подмножество моноида

Шаблон:Falseredirect Данное понятие можно обобщить на произвольный моноид. Подмножество L моноида M называется распознаваемым над M, если существует конечный автомат над M, который принимает L. Конечный автомат над M — это автомат, который принимает на вход элементы из M. Семейство распознаваемых подмножеств моноида M обычно обозначается Rec(M)[1].

Так если M — свободный моноид Σ над алфавитом Σ, то семейство Rec(Σ) является просто семейством регулярных языков Reg(Σ).

Общерегулярное множество

Существует аналог регулярного языка для множеств из сверхслов, бесконечных последовательностей над алфавитом. Индуктивно введём понятие общерегулярного множества (сверхслов), далее просто общерегулярное множество, над алфавитом A:

  1. Для любого регулярного языка R множество R - общерегулярно, где R - все возможные бесконечные последовательности слов из R.
  2. Объединение общерегулярных множеств - общерегулярно.
  3. Конкатенация регулярного языка и общерегулярного множества - общерегулярна, заметим, что конкатенация здесь имеет смысл только в этом порядке.

Верен и аналог теоремы Клини - теорема Мак-Нотона, для её описания потребуется ввести ряд определений.

Буква a сверхслова α называется предельной, если существует последовательность {ji}i=1, такая что iα(ji)=a.
Множество предельных букв сверхслова α называют его пределом и пишут: lim(α).

Естественным образом можно определить работу автомата при подаче на него сверхслова.

Пусть V=(A,Q,B,ϕ,ψ,q) - инициальный конечный автомат, {Bi}i=1N - множество подмножеств алфавита B, тогда автомат V представляет EA с помощью выделенного набора подмножеств {Bi}i=1N, если αEi<N:lim(ψ¯(q,α))=Bi.
Подмножество A называют сверхсобытием в алфавите A.
Сверхсобытие называют представимым, если существует автомат V=(A,Q,B,ϕ,ψ,q) и набор подмножеств {Bi}i=1N множества B, такие что автомат V представляет это сверхсобытие с помощью {Bi}i=1N.

Итак теорема Мак-Нотона утверждает, что множество представимых сверхсобытий совпадает с множеством общерегулярных множеств.

См. также

Примечания

Шаблон:Примечания

Литература

  • В. Б. Кудрявцев, С. В. Алешин, А. С. Подколзин. Введение в теорию автоматов. М., "Наука", 1985.
  • В. Б. Кудрявцев, С. В. Алешин, А. С. Подколзин. Элементы теории автоматов. М., изд-во МГУ, 1978.

Шаблон:Rq Шаблон:Формальные языки

  1. Jean-Eric Pin, Mathematical Foundations of Automata Theory Шаблон:Wayback, Chapter IV: Recognisable and rational sets