Замкнутость регулярных языков относительно различных операций — различия между версиями
MikhailOK (обсуждение | вклад) м (→Основные операции) |
MikhailOK (обсуждение | вклад) м (→Доказательство) |
||
| Строка 33: | Строка 33: | ||
<tex>T = \lbrace \langle t_1, t_2 \rangle | t_1 \in T_1, t_2 \in T_2 \rbrace</tex> <br/> | <tex>T = \lbrace \langle t_1, t_2 \rangle | t_1 \in T_1, t_2 \in T_2 \rbrace</tex> <br/> | ||
| − | <tex>\delta (\langle q_1,q_2 \rangle, c) = \langle \delta_1 (q_1),\delta_2 (q_2) \rangle</tex> </p> | + | <tex>\delta (\langle q_1,q_2 \rangle, c) = \langle \delta_1 (q_1, c),\delta_2 (q_2, c) \rangle</tex> </p> |
</li> | </li> | ||
<li><p> | <li><p> | ||
Версия 08:04, 11 октября 2010
Основные операции
Пусть - регулярные языки над одним алфавитом . Тогда следующие языки также являются регулярными:
Доказательство
Свойства 1,2,3 непосредственно следуют из определения регулярных языков.
При доказательстве дальнейших свойств воспользуемся эквивалентностью регулярных и автоматных языков. Пусть языки и распознаются автоматами
и соответственно.
Инвертируем множество допускающих состояний: рассмотрим автомат . Очевидно, он допускает те и только те слова, которые не допускает автомат .
При таком построении следует помнить, что если в исходном автомате было опущено дьявольское состояние, его нужно явно добавить и сделать допускающим.Следует из пунктов 1 и 4, т.к. .
Автомат для пересечения языков можно построить явно, используя конструкцию произведения автоматов:, где
. Соответствующий автомат строится как произведение автоматов для языков и
Развернем все переходы назад и поменяем стартовое состояние с терминальными: рассмотрим НКА c -переходами , где ; .
Если в исходном автомате путь по из приводил в терминальное состояние, то в новом автомате существует путь по из этого терминального состояния в (и наоборот). Следовательно, этот автомат распознает в точности развернутые слова языка , и из эквивалентности -НКА и ДКА язык - регулярный.
Прямой и обратный гомоморфизмы
| Определение: |
| Отображение , сохраняющее операцию конкатенации , называется гомоморфизмом. |
Гомоморфизм однозначно задается значениями на алфавите: .
| Определение: |
| Образом языка при гомоморфизме называется язык . |
| Определение: |
| Прообразом языка при гомоморфизме называется язык . |
| Утверждение: |
– регулярный , – гомоморфизм. Тогда – регулярный. |
| Рассмотрим ДКА, распознающий . Заменим в нем все переходы по символам на переходы по их образам при гомоморфизме. Полученный автомат (с переходами по строкам) распознает в точности и имеет эквивалентный ДКА. |
| Утверждение: |
– регулярный , – гомоморфизм. Тогда – регулярный. |
| Рассмотрим ДКА, распознающий . Отследим для каждого состояния и символа строку : и положим в новом автомате (на том же множестве состояний). Автомат с построенной таким образом функцией переходов, очевидно, распознает слова языка и только их. |