Контексты и синтаксические моноиды
Контексты
Правый контекст
| Определение: |
| Правым контекстом (англ. right context) слова в языке называется множество . |
| Лемма: |
Язык — регулярный множество его правых контекстов конечно. |
| Доказательство: |
|
|
Примеры
Здесь будем понимать под не стандартное отображение множества в множество, а . Рассмотрим правые контексты следующих языков:
-
- Возникающие правые контексты:
- , где — множество остальных аргументов.
- Начальное состояние — 1 ( рассматривалось в нём).
- Допускающие состояния: 4, 7, 9 (в них ).
- Состояние 10 - тупиковое.
- Возникающие правые контексты:
-
- Возможные правые контексты (аргументы упорядочены в лексикографическом порядке):
- Итого 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