Главная страница Случайная страница КАТЕГОРИИ: АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника |
Тема 7. Минимальная форма автомата. ⇐ ПредыдущаяСтр 5 из 5
Пусть А – автомат с m классами эквивалентности: Pэкв = {Σ 1, Σ 2, …, Σ m}, m ≤ n, n = |S|. Введем обозначение s(i) для любого состояния, входящего в класс Σ i:
Минимальной формой автомата А называют автомат Ã, имеющий m состояний, которые образуют множество: {s(1), s(2), …, s(m)}. Процесс отыскания минимальной формы называют минимизацией автомата. Полученный автомат называют минимальным. Очевидно, минимизация состоит в определении Pэкв и последующем построении характеристических функций автомата Ã с учетом того, что каждый класс в Pэкв – это одно состояние Ã. Таким образом, индивидуальное распознавание каждого состояния исходного автомата становится ненужным: важно только определить, к какому классу эквивалентности оно относится.
Минимизация автомата может быть выполнена различными способами. Рассмотрим один из возможных – индуктивный алгоритм Мили. Алгоритм двухэтапный, заключается в поиске пар эквивалентных состояний. Этап 1, шаг 1. Получение первичного разбиения. Два состояния si и sj относим к одному классу эквивалентности Σ 1h, если для каждого xk Î X выполняется равенство: fy(si, xk) = fy(sj, xk), т.е. при любом входном воздействии реакция автомата одинакова в обоих состояниях. Этап 2, шаг (i + 1), i ≥ 1. Итерационное разбиение ранее полученных классов. Два состояния su и sv, принадлежащие одному классу эквивалентности Σ ij (индекс i – нумерация шага, индекс j – нумерация класса), относим к классу Σ i+1j, если для каждого xk Î X верно:
т.е. под воздействием каждого входного сигнала автомат, находясь как в su, так и в sv, переходит в состояния, принадлежащие одному и тому же классу эквивалентности Σ iw предыдущего разбиения. Алгоритм завершается при совпадении разбиений на очередном и предыдущем шагах.
Пример. Автомат Мили А задан таблицей переходов/выходов (рис. 7.1). Состояния для краткости обозначены цифрами 1, 2, …, 9. Выполнить минимизацию автомата алгоритмом Мили.
Рис. 7.1. Таблица переходов/выходов исходного автомата A. Шаг 1.
В результате первичного разбиения имеем три класса эквивалентности: Σ 11 = {1, 4, 6, 9}, Σ 12 = {2, 3, 8}, Σ 13 = {5, 7}. Шаг 2.
Пояснение. Последовательно рассматриваем классы, полученные на предыдущем шаге. В текущем классе для каждого состояния и каждого входного сигнала определяем, какому классу предыдущего шага принадлежит состояние, в которое переходит автомат в момент времени t+1. На шаге 2 получаем разбиение: Σ 21 = {1, 4, 6}, Σ 22 = {2, 3, 8}, Σ 23 = {5, 7}; состояние 9 выделяется в отдельный класс: {9}. Шаг 3.
Результат шага 3: Σ 31 = {1, 4}, Σ 32 = {2, 3, 8}, Σ 33 = {5, 7}; {6}, {9}. Шаг 4.
Результат шага 4: Σ 41 = {1, 4}, Σ 42 = {2, 8}, Σ 43 = {5, 7}; {3}, {6}, {9}. Шаг 5.
Результат шага 5: Σ 51 = {1, 4}, Σ 52 = {2, 8}, Σ 53 = {5, 7}; {3}, {6}, {9} – совпадает с разбиением на шаге 4. Конец итераций. Получены шесть классов эквивалентности: следовательно, автомат в минимальной форме имеет шесть состояний. Введем обозначения: s(1) = {1, 4}, s(2) = {2, 8}, s(3) = {3}, s(4) = {5, 7}, s(5) = {6}, s(6) = {9}. Таблица переходов/выходов минимального автомата Ã имеет вид, показанный на рис. 7.2.
Рис. 7.2. Таблица переходов/выходов минимального автомата Ã.
Фрагменты графов автоматов A и Ã представлены на рис. 7.3. Соответствия вершин показаны пунктиром.
Рис. 7.3. Фрагменты графов исходного и минимального автоматов. Читателю предлагается самостоятельно проанализировать оба графа, сопоставить две картины инцидентности дуг вершинам, проставить веса дуг и убедиться в функциональной эквивалентности минимального и исходного автоматов. Контрольные вопросы. 1. Что такое класс конечных автоматов? 2. Какие автоматы относят к классу явно-минимальных? Явно-сократимых? 3. Какие конечные автоматы называют изоморфными? 4. Что такое эквивалентные состояния конечного автомата? Каковы их свойства? 5. Что такое эквивалентное разбиение конечного автомата? 6. Что называют минимальной формой автомата? 7. В чем состоит итерационный алгоритм Мили отыскания минимальной формы автомата?
|