на стр 6, лекции 3, Очевидно "Ck <= модуль(Gk(е))*b(k+1)" (1) - , подскажите что значит "модуль" и почему это очевидно... |
Формальные языки
Для регулярного выражения , где
и
— регулярные выражения, можно построить задающий
автомат
следующим образом. Пусть автомат
задает
, а автомат
задает
. Не уменьшая общности, опять считаем, что
и
— одноэлементные и что
,
. Положим
и поясним
построение автомата
на языке диаграмм. Финальное состояние
автомата
соединим дугой со стартовым состоянием
автомата
и пометим ее символом
.
В качестве
возьмем стартовое состояние
автомата
, а в качестве финального
состояния
возьмем финальное состояние
автомата
.
Для регулярного выражения , где
—
регулярное выражение, можно построить задающий автомат
следующим образом.
Пусть автомат
задает
. Опять не уменьшая
общности, считаем, что
— одноэлементное
и что
. Добавляем к множеству
два
новых состояния —
и
. Соединяем
-переходами пары
состояний
,
,
и
.
В завершение заметим, что изложенные приемы, очевидно, позволяют по любому
регулярному выражению построить недетерминированный автомат
с
-переходами, с одним стартовым и одним финальным
состоянием, причем стартовое состояние отлично от финального, и при этом такой,
что
.
Таким образом, задача синтеза решена.
Избавление от -переходов.
Покажем, как по недетерминированному автомату
с
-переходами построить недетерминированный
автомат
) без
-переходов,
такой, что
. Назовем
-путем путь
в диаграмме автомата
, возможно пустой, порождающий пустое
слово. Обозначим через
множество состояний, достижимых из
с помощью некоторого
-пути.
Положим .
Переходную функцию
построим следующим образом

Детерминизация.Покажем, как по недетерминированному автомату без
-переходов построить
детерминированный автомат
,
такой, что
. Положим
,
,
, а
определим следующим образом:



Анализ. Для завершения доказательства теоремы покажем, как по
заданному детерминированному конечному автомату ( построить регулярное
выражение , такое, что
. Именно это
и называют задачей анализа. Правда, метод, который мы используем, можно
применить и к недетерминированным автоматам. Метод заключается в том, что
мы сводим задачу к решению стандартной системы уравнений. Итак, рассмотрим
автомат
.
Пусть ,
.
Введем переменные
,
.
Переменную
для каждого
будем
интерпретировать как множество слов, которые можно прочитать, начиная
от состояния
и заканчивая в финальном состоянии,
тогда
должна удовлетворять уравнению






Задача. Построить регулярное выражение в алфавите ,
задающее язык, порождаемый автоматом
,
где
,
,
и переходная функция
задана
таблицей
Решение. Запишем систему уравнений

Из четвертого уравнения получаем .
Подставляя полученное выражение во все остальные уравнения, получим
систему из трех уравнений:




Преобразуем второе уравнение к стандартному виду

и получаем из него

Наконец, получаем ответ
