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

Материал из 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