Контексты и синтаксические моноиды
Контексты
Правый контекст
| Определение: | 
| Правым контекстом (англ. right context) слова в языке называется множество . | 
| Лемма: | 
| Язык  — регулярный  множество  его правых контекстов конечно. | 
| Доказательство: | 
| 
 
 | 
Примеры
Здесь будем понимать под не стандартное отображение множества в множество, а . Рассмотрим правые контексты следующих языков:
-  
-  Возможные правые контексты (аргументы упорядочены в лексикографическом порядке):
- Итого 4 состояния; начальное состояние 1, допускающее 4, состояние 3&5 — тупиковое.
 
-  Возможные правые контексты (аргументы упорядочены в лексикографическом порядке):
Левый контекст
| Определение: | 
| Левым контекстом (англ. left context) слова в языке называется множество . | 
| Лемма: | 
| Язык  — регулярный  множество  его левых контекстов конечно. | 
| Доказательство: | 
| Поскольку множество регулярных языков замкнуто относительно операции разворота, то из того, что и аналогичного утверждения о правых контекстах получаем требуемое. | 
Двухсторонний контекст
| Определение: | 
| Двухсторонним контекстом (англ. two-sided context) слова в языке называется множество . | 
Заметим, что состоит из всех пар строк, которые при конкатенации дают слово из языка.
| Лемма: | 
| Язык  — регулярный  множество  его двухсторонних контекстов конечно. | 
| Доказательство: | 
| 
 | 
Синтаксический моноид
Определения
| Определение: | 
| Синтаксическим моноидом (англ. syntactic monoid) языка называется множество, состоящее из его классов эквивалентности , с введённым на нём операцией конкатенации , где . Нейтральным элементом в нём является . | 
| Определение: | 
| Групповой язык (англ. group language) — это язык, синтаксический моноид которого является группой. | 
Свойства
Синтаксический моноид определён для любого , однако некоторые свойства языка можно определить по структуре его синтаксического моноида. Размер синтаксического моноида является мерой структурной сложности языка.
| Теорема: | 
| Язык  — регулярный  его синтаксический моноид  конечен. | 
| Доказательство: | 
| Размер синтаксического моноида языка равен количеству его различных двухсторонних контекстов . Применяя лемму, доказанную ранее, получаем:Язык — регулярный множество его двухсторонних контекстов конечно его синтаксический моноид конечен. | 
| Лемма: | 
| Пусть язык  распознается ДКА . Тогда размер его синтаксического моноида  не превосходит . | 
| Доказательство: | 
| Введём на  следующее отношение эквивалентности:
 | 
Пусть — ДКА. Каждое слово порождает отображение , определённое следующим образом: .
| Определение: | 
| Моноидом переходов (англ. transition monoid) называется множество отображений с операцией композиции. . Нейтральным элементом в данном моноиде является отображение . | 
| Теорема: | 
| Пусть  — минимальный ДКА, задающий язык . Тогда  и  изоморфны. | 
| Доказательство: | 
| Покажем, что . 
 
 | 
Примеры
1. Рассмотрим язык .
— это множество всех пар , таких что . Значит, состоит из двух элементов: множества слов чётной длины и множества слов нечётной длины. Нейтральным элементом в данном моноиде является множество слов чётной длины. Оба элемента являются обратными самим себе, значит является группой, следовательно — групповой язык.
2. Язык  над алфавитом  задан регулярным выражением . Его синтаксический моноид  содержит три элемента:
— нейтральный элемент. Включает в себя только пустую строку.
содержит все строки, распознаваемые регулярным выражением . .
содержит все строки, принадлежащие языку, то есть, распознаваемые регулярным выражением . .
Заметим, что и не имеют обратных элементов в данном моноиде, так как нейтральный элемент содержит только пустую строку, а её невозможно получить из непустой с помощью конкатенации. Следовательно не является групповым языком.
3. Язык  задан над алфавитом . Балансом слова  назовём число, равное разности между количеством нулей и единиц, встречающихся в данном слове. Если слово  принадлежит языку , то . Но  может принимать любое целое значение, при том, что  имеет непустой двухсторонний контекст. Значит, синтаксический моноид  имеет бесконечное количество элементов, что значит, что данный язык не является регулярным.
Ссылки
- Howard Straubing Finite automata, formal logic, and circuit complexity, 1994. ISBN 3-7643-3719-2. — C. 53.
- James A. Anderson Automata theory with modern applications, 2006. ISBN 0-521-61324-8. — С. 72.
- Syntactic monoid - Wikipedia
