Это не официальный сайт wikipedia.org 01.01.2023

Омега-язык — Википедия

Омега-язык

Омега-язык (ω-язык) — это множество бесконечно длинных последовательностей символов.

Формальное определениеПравить

Пусть Σ   — множество символов (необязательно конечное), называемое алфавитом. По стандартной теории формальных языков, Σ   — это множество всех конечных слов над Σ  . У каждого слова есть длина, являющаяся, очевидно, натуральным числом. Следует заметить, что слово w   длины n   можно рассматривать как функцию из множества { 0 , 1 , , n 1 }   в Σ  . Аналогично, бесконечные слова, или ω-слова, могут рассматриваться как функции из N   в Σ  , у которых значением в i   является i  -й символ слова. Множество всех бесконечных слов над Σ   обозначается Σ ω  . Множество всех конечных и бесконечных слов над Σ   иногда записывается Σ  .

Таким образом, ω-язык L   над Σ   — это подмножество Σ ω  .

ОперацииПравить

Некоторыми общими операциями над ω-языками являются:

  • Пересечение и объединение. Если L   и M   это ω-языки, то L M   и L M   тоже являются ω-языками.
  • Левая конкатенация. Пусть L   ω-язык, а K   язык из конечных слов. Тогда K   можно конкатенировать с L   и получить новый ω-язык K L  .
  • Омега (бесконечная итерация). Как подсказывает запись, операция ( ) ω   является бесконечным вариантом оператора звезда Клини над языками конечной длины. Если L   это формальный язык, то L ω   есть ω-язык всех бесконечных последовательностей слов из L  , или, в функциональном представлении, всех функций N L  .
  • Префиксы. Пусть w   — ω-слово. Тогда формальный язык Pref ( w )   содержит все конечные префиксы w  .
  • Предел. Пусть дан язык конечных слов L  . Тогда ω-слово w   является пределом L   тогда и только тогда, когда Pref ( w ) L   является бесконечным множеством. Иначе говоря, для сколь угодно большого натурального числа n   можно всегда найти слово из L   длиной больше n  , которое является префиксом w  . Предел L   записывается как L δ   или L  .

Расстояние между ω-словамиПравить

На множестве Σ ω   можно ввести метрику d : Σ ω × Σ ω R   следующим образом:

d ( w , v ) = inf { 2 | x | x Σ , x Pref ( w ) Pref ( v ) } ,  

где | x |   обозначает длину x   (число символов в x  ), а inf   — точную нижнюю грань вещественного множества.

Так, если w   и v   совпадают, то d ( w , v ) = 0  ; если w   и v   имеют общий конечный префикс, то d ( w , v ) = 2 | x |  , где x   — длиннейший общий префикс w   и v  ; а иначе ( w   и v   различаются уже в первом символе, то есть длина общего префикса 0) d ( w , v ) = 1  .

Можно показать, что d   удовлетворяет всем свойствам метрики.

Важные подклассыПравить

Наиболее широко используемым подклассом ω-языков являются ω-регулярные языки, которые могут быть распознаны ω-автоматами  (англ.) (рус., например автоматами Бюхи  (англ.) (рус.; таким образом, вопрос распознаваемости ω-регулярного языка разрешим и несложно алгоритмизуем. Эти языки находят применение в проверке моделей программных систем.

БиблиографияПравить

  • Staiger, L. «ω-Languages». In G. Rozenberg and A. Salomaa, editors, Handbook of Formal Languages, Volume 3, pages 339—387. Springer-Verlag, Berlin, 1997.
  • Thomas, W. «Automata on Infinite Objects». In J. van Leeuwen, editor, Handbook of Theoretical Computer Science, Volume B: Formal Models and Semantics, pages 133—192. Elsevier Science Publishers, Amsterdam, 1990.