Эквивалентные состояния автоматов

В этом параграфе мы решим следующую задачу: по данному описанию автомата Эквивалентные состояния автоматов - student2.ru построить новый автомат Эквивалентные состояния автоматов - student2.ru , который покрывает Эквивалентные состояния автоматов - student2.ru (возможно, эквивалентен Эквивалентные состояния автоматов - student2.ru ) и имеет наименьшее число состояний среди всех автоматов, покрывающих Эквивалентные состояния автоматов - student2.ru .

Существует эффективный метод решения этой задачи, если функции Эквивалентные состояния автоматов - student2.ru всюду определены. Для этого сначала определяют эквивалентные состояния автомата, а затем склеивают все эквивалентные состояния в одно.

Определение 1: Состояния Эквивалентные состояния автоматов - student2.ru и Эквивалентные состояния автоматов - student2.ru называются Эквивалентные состояния автоматов - student2.ru - эквивалентными, если для всякой входной строки Эквивалентные состояния автоматов - student2.ru длины Эквивалентные состояния автоматов - student2.ru имеем: Эквивалентные состояния автоматов - student2.ru . В этом случае будем писать: Эквивалентные состояния автоматов - student2.ru . Если Эквивалентные состояния автоматов - student2.ru , то будем говорить, что состояния Эквивалентные состояния автоматов - student2.ru и Эквивалентные состояния автоматов - student2.ru эквивалентны, и писать: Эквивалентные состояния автоматов - student2.ru .

Заметим, что Эквивалентные состояния автоматов - student2.ru и Эквивалентные состояния автоматов - student2.ru – действительно отношение эквивалентности. Классы эквивалентности относительно Эквивалентные состояния автоматов - student2.ru , являются множествами всех пар состояний, перерабатывающих каждый входной символ в фиксированный выходной символ Эквивалентные состояния автоматов - student2.ru . Это означает, что Эквивалентные состояния автоматов - student2.ru . Обозначим через Эквивалентные состояния автоматов - student2.ru отношения эквивалентности Эквивалентные состояния автоматов - student2.ru (т.е. множество всех пар эквивалентных состояний). Обозначим через Эквивалентные состояния автоматов - student2.ru дополнение к Эквивалентные состояния автоматов - student2.ru , т.е. Эквивалентные состояния автоматов - student2.ru .

Пусть, например, даны таблицы состояний автоматов Эквивалентные состояния автоматов - student2.ru и Эквивалентные состояния автоматов - student2.ru :

Эквивалентные состояния автоматов - student2.ru

Текущее состояние ν 0 1 ξ 0 1
S0 S1 S2 S2 S1 S0 S2 S0 S1 0 1 1 0 0 1

Эквивалентные состояния автоматов - student2.ru

Текущее состояние n 0 1 x 0 1
S0 S1 S0 S1 S0 S0 0 1 1 0

G (E1) = {(S0, S2), (S2, S0), (S0, S0), (S1, S1), (S2, S2)},

G (E1) = {(S0, S1), (S1, S0), (S1, S2), (S2, S1)}.

Задача минимизации количества состояний в полностью описанном автомате сводится к определению попарно эквивалентных состояний и последующему их склеиванию.

Оказывается, что эффективнее всего начать с выявления неэквивалентных состояний. Чтобы показать это, определим новые функции Эквивалентные состояния автоматов - student2.ru и Эквивалентные состояния автоматов - student2.ru .

Определение 2: Положим: Эквивалентные состояния автоматов - student2.ru Эквивалентные состояния автоматов - student2.ru . Это означает, что Эквивалентные состояния автоматов - student2.ru есть последнее состояние автомата, начавшего работу в состоянии Эквивалентные состояния автоматов - student2.ru , прочитавшего входную строку Эквивалентные состояния автоматов - student2.ru длины Эквивалентные состояния автоматов - student2.ru . Положим далее: Эквивалентные состояния автоматов - student2.ru Эквивалентные состояния автоматов - student2.ru . Это означает, что Эквивалентные состояния автоматов - student2.ru есть последний символ выходной строки автомата, начавшего работать в состоянии Эквивалентные состояния автоматов - student2.ru и считавшего ту же входную строку Эквивалентные состояния автоматов - student2.ru .

Теорема 1:Если Эквивалентные состояния автоматов - student2.ru , то либо Эквивалентные состояния автоматов - student2.ru , либо для подходящей строки Эквивалентные состояния автоматов - student2.ru имеем Эквивалентные состояния автоматов - student2.ru .

Доказательство: Утверждение Эквивалентные состояния автоматов - student2.ru означает, что Эквивалентные состояния автоматов - student2.ru для подходящей строки Эквивалентные состояния автоматов - student2.ru . При необходимости мы можем укоротить входную строку так, чтобы входные строки, отвечающие Эквивалентные состояния автоматов - student2.ru и Эквивалентные состояния автоматов - student2.ru , отличались только последними символами. Пусть это уже сделано. Если после этого Эквивалентные состояния автоматов - student2.ru , то Эквивалентные состояния автоматов - student2.ru . Если же Эквивалентные состояния автоматов - student2.ru , то Эквивалентные состояния автоматов - student2.ru . Но Эквивалентные состояния автоматов - student2.ru при условии Эквивалентные состояния автоматов - student2.ru . Таким образом, последние выходные символы автомата, считавшего Эквивалентные состояния автоматов - student2.ru , различны, если он исходил из начальных состояний Эквивалентные состояния автоматов - student2.ru и Эквивалентные состояния автоматов - student2.ru соответственно. Чтобы выходы отличались, то есть Эквивалентные состояния автоматов - student2.ru должно быть выполнено условие: Эквивалентные состояния автоматов - student2.ru . Иначе последний входной символ Эквивалентные состояния автоматов - student2.ru даст один и тот же символ на выходе.

Теорема 2: Если Эквивалентные состояния автоматов - student2.ru , но Эквивалентные состояния автоматов - student2.ru для всех Эквивалентные состояния автоматов - student2.ru , то Эквивалентные состояния автоматов - student2.ru для подходящего элемента Эквивалентные состояния автоматов - student2.ru.

Эту теорему можно переформулировать так: если Эквивалентные состояния автоматов - student2.ru , то для подходящего элемента Эквивалентные состояния автоматов - student2.ru имеем: Эквивалентные состояния автоматов - student2.ru . Эта теорема утверждает, что состояния Эквивалентные состояния автоматов - student2.ru и Эквивалентные состояния автоматов - student2.ru , эквивалентные относительно всех входных последовательностей длины Эквивалентные состояния автоматов - student2.ru , могут стать неэквивалентными относительно последовательностей длины Эквивалентные состояния автоматов - student2.ru только в том случае, когда имеется символ Эквивалентные состояния автоматов - student2.ru , переводящий Эквивалентные состояния автоматов - student2.ru и Эквивалентные состояния автоматов - student2.ru соответственно в состояния Эквивалентные состояния автоматов - student2.ru , не эквивалентные относительно подходящей входной последовательности длины Эквивалентные состояния автоматов - student2.ru . Это означает, что на Эквивалентные состояния автоматов - student2.ru шаге достаточно исследовать состояния в Эквивалентные состояния автоматов - student2.ru и установить, найдется ли пара Эквивалентные состояния автоматов - student2.ru , переходящая в пару Эквивалентные состояния автоматов - student2.ru со свойством Эквивалентные состояния автоматов - student2.ru . В этом случае Эквивалентные состояния автоматов - student2.ru .

Если мы уже определили Эквивалентные состояния автоматов - student2.ru , то Эквивалентные состояния автоматов - student2.ru состоит из Эквивалентные состояния автоматов - student2.ru и таких упорядоченных пар Эквивалентные состояния автоматов - student2.ru , что для некоторого Эквивалентные состояния автоматов - student2.ru имеем: Эквивалентные состояния автоматов - student2.ru . В общем случае нужно исследовать каждый раз только Эквивалентные состояния автоматов - student2.ru . Таким способом мы сумеем рекуррентно определить Эквивалентные состояния автоматов - student2.ru и, наконец, Эквивалентные состояния автоматов - student2.ru - дополнение к Эквивалентные состояния автоматов - student2.ru в булевой алгебре подмножеств Эквивалентные состояния автоматов - student2.ru .

Доказательство: Доказательство теоремы проводится непосредственно. Если пара Эквивалентные состояния автоматов - student2.ru лежит в Эквивалентные состояния автоматов - student2.ru , то она лежит в Эквивалентные состояния автоматов - student2.ru . Значит нужно рассмотреть лишь такие пары Эквивалентные состояния автоматов - student2.ru , что для некоторой строки Эквивалентные состояния автоматов - student2.ru имеем Эквивалентные состояния автоматов - student2.ru , а для всех строк Эквивалентные состояния автоматов - student2.ru имеем Эквивалентные состояния автоматов - student2.ru . Но в точности те пары, которые переводятся в Эквивалентные состояния автоматов - student2.ru , Эквивалентные состояния автоматов - student2.ru -м входным символом Эквивалентные состояния автоматов - student2.ru и стало быть, в Эквивалентные состояния автоматов - student2.ru , некоторым символом Эквивалентные состояния автоматов - student2.ru .

Лемма: Если Эквивалентные состояния автоматов - student2.ru , то Эквивалентные состояния автоматов - student2.ru для всех Эквивалентные состояния автоматов - student2.ru .

Действительно, дальнейшие шаги не добавят новых пар состояний, т.к. согласно теореме 2, дополнение Эквивалентные состояния автоматов - student2.ru состоит из тех пар, которые переводятся подходящим символом Эквивалентные состояния автоматов - student2.ru в дополнение Эквивалентные состояния автоматов - student2.ru .

Пример: Пусть задана таблица состояний некоторого автомата.

Текущее состояние След. состояние 0 1 Выход 0 1
S1 S1 S2 1 0
S2 S1 S3 1 0
S3 S5 S1 1 0
S4 S4 S2 1 0
S5 S4 S3 1 1

Для этого автомата Эквивалентные состояния автоматов - student2.ru .

Иными словами: Эквивалентные состояния автоматов - student2.ru . Первое разбиение на классы эквивалентности: Эквивалентные состояния автоматов - student2.ru , Эквивалентные состояния автоматов - student2.ru . Вход 0 переводит Эквивалентные состояния автоматов - student2.ru в состояние Эквивалентные состояния автоматов - student2.ru , Эквивалентные состояния автоматов - student2.ru в Эквивалентные состояния автоматов - student2.ru : Эквивалентные состояния автоматов - student2.ru , Эквивалентные состояния автоматов - student2.ru . Поэтому вход 01 дает Следующие результаты:

Эквивалентные состояния автоматов - student2.ru и Эквивалентные состояния автоматов - student2.ru .

Отсюда Эквивалентные состояния автоматов - student2.ru и Эквивалентные состояния автоматов - student2.ru . Аналогично: Эквивалентные состояния автоматов - student2.ru и Эквивалентные состояния автоматов - student2.ru , так что имеет место условие:

Эквивалентные состояния автоматов - student2.ru .

Далее, входной символ 1 переводит состояние Эквивалентные состояния автоматов - student2.ru в Эквивалентные состояния автоматов - student2.ru , а Эквивалентные состояния автоматов - student2.ru переводит в состояние Эквивалентные состояния автоматов - student2.ru . Другими словами: Эквивалентные состояния автоматов - student2.ru и Эквивалентные состояния автоматов - student2.ru . Поэтому Эквивалентные состояния автоматов - student2.ru , т.к. Эквивалентные состояния автоматов - student2.ru и Эквивалентные состояния автоматов - student2.ru . Аналогично: Эквивалентные состояния автоматов - student2.ru , откуда следует:

Эквивалентные состояния автоматов - student2.ru .

Таким образом, Эквивалентные состояния автоматов - student2.ru разбивает Эквивалентные состояния автоматов - student2.ru на классы эквивалентности:

Эквивалентные состояния автоматов - student2.ru , Эквивалентные состояния автоматов - student2.ru , Эквивалентные состояния автоматов - student2.ru , Эквивалентные состояния автоматов - student2.ru .

Дальнейший перебор показывает, что Эквивалентные состояния автоматов - student2.ru . Таким образом, Эквивалентные состояния автоматов - student2.ru и Эквивалентные состояния автоматов - student2.ru , а остальные пары состояний неэквивалентны.

§4. Процедура минимизации конечных автоматов.

Актуальность проблемы минимизации конечных автоматов уже была приведена выше. В реальном устройстве (калькулятор, компьютер) увеличение числа внутренних состояний ведёт к увеличению числа микросхем, что в свою очередь может привести к росту стоимости, к более частым поломкам. Значит, уменьшение числа внутренних состояний автомата без ограничения его возможностей ведёт к экономии и надёжности в работе.

Процедура минимизации основана на рассмотрении отношений эквивалентности между упорядоченными парами. Рассмотрим автомат, заданный таблицей внутренних состояний:

  Следующее сост. Эквивалентные состояния автоматов - student2.ru Эквивалентные состояния автоматов - student2.ru Эквивалентные состояния автоматов - student2.ru Выход Эквивалентные состояния автоматов - student2.ru Эквивалентные состояния автоматов - student2.ru Эквивалентные состояния автоматов - student2.ru
Эквивалентные состояния автоматов - student2.ru Эквивалентные состояния автоматов - student2.ru Эквивалентные состояния автоматов - student2.ru Эквивалентные состояния автоматов - student2.ru Эквивалентные состояния автоматов - student2.ru Эквивалентные состояния автоматов - student2.ru Эквивалентные состояния автоматов - student2.ru
Эквивалентные состояния автоматов - student2.ru Эквивалентные состояния автоматов - student2.ru Эквивалентные состояния автоматов - student2.ru Эквивалентные состояния автоматов - student2.ru Эквивалентные состояния автоматов - student2.ru Эквивалентные состояния автоматов - student2.ru Эквивалентные состояния автоматов - student2.ru
Эквивалентные состояния автоматов - student2.ru Эквивалентные состояния автоматов - student2.ru Эквивалентные состояния автоматов - student2.ru Эквивалентные состояния автоматов - student2.ru Эквивалентные состояния автоматов - student2.ru Эквивалентные состояния автоматов - student2.ru Эквивалентные состояния автоматов - student2.ru
Эквивалентные состояния автоматов - student2.ru Эквивалентные состояния автоматов - student2.ru Эквивалентные состояния автоматов - student2.ru Эквивалентные состояния автоматов - student2.ru Эквивалентные состояния автоматов - student2.ru Эквивалентные состояния автоматов - student2.ru Эквивалентные состояния автоматов - student2.ru
Эквивалентные состояния автоматов - student2.ru Эквивалентные состояния автоматов - student2.ru Эквивалентные состояния автоматов - student2.ru Эквивалентные состояния автоматов - student2.ru Эквивалентные состояния автоматов - student2.ru Эквивалентные состояния автоматов - student2.ru Эквивалентные состояния автоматов - student2.ru
Эквивалентные состояния автоматов - student2.ru Эквивалентные состояния автоматов - student2.ru Эквивалентные состояния автоматов - student2.ru Эквивалентные состояния автоматов - student2.ru Эквивалентные состояния автоматов - student2.ru Эквивалентные состояния автоматов - student2.ru Эквивалентные состояния автоматов - student2.ru
Эквивалентные состояния автоматов - student2.ru Эквивалентные состояния автоматов - student2.ru Эквивалентные состояния автоматов - student2.ru Эквивалентные состояния автоматов - student2.ru Эквивалентные состояния автоматов - student2.ru Эквивалентные состояния автоматов - student2.ru Эквивалентные состояния автоматов - student2.ru
Эквивалентные состояния автоматов - student2.ru Эквивалентные состояния автоматов - student2.ru Эквивалентные состояния автоматов - student2.ru Эквивалентные состояния автоматов - student2.ru Эквивалентные состояния автоматов - student2.ru Эквивалентные состояния автоматов - student2.ru Эквивалентные состояния автоматов - student2.ru
Эквивалентные состояния автоматов - student2.ru Эквивалентные состояния автоматов - student2.ru Эквивалентные состояния автоматов - student2.ru Эквивалентные состояния автоматов - student2.ru Эквивалентные состояния автоматов - student2.ru Эквивалентные состояния автоматов - student2.ru Эквивалентные состояния автоматов - student2.ru

Процедуру минимизации начнем с нахождения множества пар эквивалентных состояний Эквивалентные состояния автоматов - student2.ru и Эквивалентные состояния автоматов - student2.ru . Введем в рассмотрение разбиение Эквивалентные состояния автоматов - student2.ru , которое разобьет все состояния в таблице на два класса эквивалентности:

Эквивалентные состояния автоматов - student2.ru , Эквивалентные состояния автоматов - student2.ru .

В записи классов эквивалентности для краткости мы пишем 1 вместо S1 и т.д. При составлении этого предварительного разбиения мы ориентируемся на выходную последовательность. Это разбиение определяет график Эквивалентные состояния автоматов - student2.ru соответствующего отношения эквивалентности. Т.к. отношение Эквивалентные состояния автоматов - student2.ru рефлексивно и симметрично, то его график легко восстанавливается по множеству тех пар Эквивалентные состояния автоматов - student2.ru , для которых Эквивалентные состояния автоматов - student2.ru при всех значений входного символа Эквивалентные состояния автоматов - student2.ru .

Обозначим через Эквивалентные состояния автоматов - student2.ru подмножество, состоящее из пар Эквивалентные состояния автоматов - student2.ru , удовлетворяющих условию: Эквивалентные состояния автоматов - student2.ru , для которых Эквивалентные состояния автоматов - student2.ru . В общем случае через Эквивалентные состояния автоматов - student2.ru будем обозначать множество упорядоченных пар Эквивалентные состояния автоматов - student2.ru со свойством Эквивалентные состояния автоматов - student2.ru . Для нашего разбиения имеем:

Эквивалентные состояния автоматов - student2.ru ,

Эквивалентные состояния автоматов - student2.ru

Т.к. Эквивалентные состояния автоматов - student2.ru и Эквивалентные состояния автоматов - student2.ru - это классы эквивалентности относительно Эквивалентные состояния автоматов - student2.ru , то имеем следующие соотношения: Эквивалентные состояния автоматов - student2.ru , Эквивалентные состояния автоматов - student2.ru , Эквивалентные состояния автоматов - student2.ru , Эквивалентные состояния автоматов - student2.ru и т.д.

Множество Эквивалентные состояния автоматов - student2.ru состоит из элементов множества Эквивалентные состояния автоматов - student2.ru и еще пар Эквивалентные состояния автоматов - student2.ru , Эквивалентные состояния автоматов - student2.ru и Эквивалентные состояния автоматов - student2.ru . Например, входной символ Эквивалентные состояния автоматов - student2.ru переводит пару Эквивалентные состояния автоматов - student2.ru в пару Эквивалентные состояния автоматов - student2.ru , а эта последняя пара принадлежит Эквивалентные состояния автоматов - student2.ru . Добавление этих пар к Эквивалентные состояния автоматов - student2.ru определяет новое разбиение Эквивалентные состояния автоматов - student2.ru на классы эквивалентности:

Эквивалентные состояния автоматов - student2.ru : Эквивалентные состояния автоматов - student2.ru , Эквивалентные состояния автоматов - student2.ru , Эквивалентные состояния автоматов - student2.ru .

Определим теперь множество Эквивалентные состояния автоматов - student2.ru . Оно состоит из элементов множества Эквивалентные состояния автоматов - student2.ru и еще пар Эквивалентные состояния автоматов - student2.ru и Эквивалентные состояния автоматов - student2.ru . Например, входной символ Эквивалентные состояния автоматов - student2.ru переводит пару Эквивалентные состояния автоматов - student2.ru в пару Эквивалентные состояния автоматов - student2.ru , а эта последняя пара принадлежит множеству Эквивалентные состояния автоматов - student2.ru .

При разбиении Эквивалентные состояния автоматов - student2.ru имеем следующие классы эквивалентности:

Эквивалентные состояния автоматов - student2.ru , Эквивалентные состояния автоматов - student2.ru , Эквивалентные состояния автоматов - student2.ru , Эквивалентные состояния автоматов - student2.ru .

Множество Эквивалентные состояния автоматов - student2.ru состоит из элементов множества Эквивалентные состояния автоматов - student2.ru и из пар Эквивалентные состояния автоматов - student2.ru , Эквивалентные состояния автоматов - student2.ru , Эквивалентные состояния автоматов - student2.ru , Эквивалентные состояния автоматов - student2.ru , Эквивалентные состояния автоматов - student2.ru , Эквивалентные состояния автоматов - student2.ru . Поэтому разбиение Эквивалентные состояния автоматов - student2.ru состоит из следующих классов эквивалентности:

Эквивалентные состояния автоматов - student2.ru , Эквивалентные состояния автоматов - student2.ru , Эквивалентные состояния автоматов - student2.ru , Эквивалентные состояния автоматов - student2.ru , Эквивалентные состояния автоматов - student2.ru .

Дальнейший перебор показывает, что Эквивалентные состояния автоматов - student2.ru и Эквивалентные состояния автоматов - student2.ru .

Конструкция покрывающего автомата теперь несложна. Каждый класс эквивалентности последнего разбиения становится состоянием нового автомата. Можно ввести новые обозначения. Например, Эквивалентные состояния автоматов - student2.ru обозначим через Эквивалентные состояния автоматов - student2.ru , Эквивалентные состояния автоматов - student2.ru - через Эквивалентные состояния автоматов - student2.ru и т.д. В итоге получается автомат с пятью состояниями, покрывающий наш первоначальный автомат с девятью состояниями. Поскольку выходы для каждого начального состояния в фиксированном классе эквивалентности не зависят от этого состояния при односимвольных входах, то таблица состояний нового автомата, в частности ее выходы, прямо считываются с таблицы состояний первоначального автомата.

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

На следующем примере показан результат этой процедуры, примененной к автомату, рассмотренному раньше.

  Следующее сост. Эквивалентные состояния автоматов - student2.ru Эквивалентные состояния автоматов - student2.ru Эквивалентные состояния автоматов - student2.ru Выход Эквивалентные состояния автоматов - student2.ru Эквивалентные состояния автоматов - student2.ru Эквивалентные состояния автоматов - student2.ru
Эквивалентные состояния автоматов - student2.ru Эквивалентные состояния автоматов - student2.ru Эквивалентные состояния автоматов - student2.ru Эквивалентные состояния автоматов - student2.ru Эквивалентные состояния автоматов - student2.ru Эквивалентные состояния автоматов - student2.ru Эквивалентные состояния автоматов - student2.ru
Эквивалентные состояния автоматов - student2.ru Эквивалентные состояния автоматов - student2.ru Эквивалентные состояния автоматов - student2.ru Эквивалентные состояния автоматов - student2.ru Эквивалентные состояния автоматов - student2.ru Эквивалентные состояния автоматов - student2.ru Эквивалентные состояния автоматов - student2.ru
Эквивалентные состояния автоматов - student2.ru Эквивалентные состояния автоматов - student2.ru Эквивалентные состояния автоматов - student2.ru Эквивалентные состояния автоматов - student2.ru Эквивалентные состояния автоматов - student2.ru Эквивалентные состояния автоматов - student2.ru Эквивалентные состояния автоматов - student2.ru
Эквивалентные состояния автоматов - student2.ru Эквивалентные состояния автоматов - student2.ru Эквивалентные состояния автоматов - student2.ru Эквивалентные состояния автоматов - student2.ru Эквивалентные состояния автоматов - student2.ru Эквивалентные состояния автоматов - student2.ru Эквивалентные состояния автоматов - student2.ru
Эквивалентные состояния автоматов - student2.ru Эквивалентные состояния автоматов - student2.ru Эквивалентные состояния автоматов - student2.ru Эквивалентные состояния автоматов - student2.ru Эквивалентные состояния автоматов - student2.ru Эквивалентные состояния автоматов - student2.ru Эквивалентные состояния автоматов - student2.ru

Этот автомат уже является минимальным. Это значит, что он не содержит эквивалентных состояний.

Замечание: На практике не обязательно перечислять все пары из множеств Эквивалентные состояния автоматов - student2.ru и Эквивалентные состояния автоматов - student2.ru . На каждом шаге процедуры достаточно смотреть, переводит ли некоторый входной символ Эквивалентные состояния автоматов - student2.ru пару Эквивалентные состояния автоматов - student2.ru из класса Эквивалентные состояния автоматов - student2.ru в разные классы эквивалентности Эквивалентные состояния автоматов - student2.ru и Эквивалентные состояния автоматов - student2.ru . Если да, то на следующем шаге состояния Эквивалентные состояния автоматов - student2.ru и Эквивалентные состояния автоматов - student2.ru следует развести по разным классам.

Пример. Рассмотрим конечный автомат с пятью состояниями, заданный таблицей.

  Следующее сост. Эквивалентные состояния автоматов - student2.ru Эквивалентные состояния автоматов - student2.ru Выход Эквивалентные состояния автоматов - student2.ru Эквивалентные состояния автоматов - student2.ru
Эквивалентные состояния автоматов - student2.ru Эквивалентные состояния автоматов - student2.ru Эквивалентные состояния автоматов - student2.ru Эквивалентные состояния автоматов - student2.ru Эквивалентные состояния автоматов - student2.ru
Эквивалентные состояния автоматов - student2.ru Эквивалентные состояния автоматов - student2.ru Эквивалентные состояния автоматов - student2.ru Эквивалентные состояния автоматов - student2.ru Эквивалентные состояния автоматов - student2.ru
Эквивалентные состояния автоматов - student2.ru Эквивалентные состояния автоматов - student2.ru Эквивалентные состояния автоматов - student2.ru Эквивалентные состояния автоматов - student2.ru Эквивалентные состояния автоматов - student2.ru
Эквивалентные состояния автоматов - student2.ru Эквивалентные состояния автоматов - student2.ru Эквивалентные состояния автоматов - student2.ru Эквивалентные состояния автоматов - student2.ru Эквивалентные состояния автоматов - student2.ru
Эквивалентные состояния автоматов - student2.ru Эквивалентные состояния автоматов - student2.ru Эквивалентные состояния автоматов - student2.ru Эквивалентные состояния автоматов - student2.ru Эквивалентные состояния автоматов - student2.ru

Имеем Эквивалентные состояния автоматов - student2.ru , Эквивалентные состояния автоматов - student2.ru , Эквивалентные состояния автоматов - student2.ru , Эквивалентные состояния автоматов - student2.ru . Это приводит к разбиению Эквивалентные состояния автоматов - student2.ru : Эквивалентные состояния автоматов - student2.ru , Эквивалентные состояния автоматов - student2.ru . Тогда функция перехода при считывании единицы имеет вид Эквивалентные состояния автоматов - student2.ru , кроме того Эквивалентные состояния автоматов - student2.ru . Однако Эквивалентные состояния автоматов - student2.ru , поэтому Эквивалентные состояния автоматов - student2.ru (т.к. Эквивалентные состояния автоматов - student2.ru и Эквивалентные состояния автоматов - student2.ru ).

Следующее разбиение состоит из классов эквивалентности:

Эквивалентные состояния автоматов - student2.ru , Эквивалентные состояния автоматов - student2.ru , Эквивалентные состояния автоматов - student2.ru .

Дальнейшего измельчения не происходит, т. к. функция Эквивалентные состояния автоматов - student2.ru переводит каждый элемент класса эквивалентности в тот же класс. Итак, состояния Эквивалентные состояния автоматов - student2.ru и Эквивалентные состояния автоматов - student2.ru можно склеить в одно состояние ` Эквивалентные состояния автоматов - student2.ru , а состояния Эквивалентные состояния автоматов - student2.ru и Эквивалентные состояния автоматов - student2.ru - в состояние ` Эквивалентные состояния автоматов - student2.ru . Состояние Эквивалентные состояния автоматов - student2.ru обозначаем`теперь Эквивалентные состояния автоматов - student2.ru . Новый минимальный автомат, покрывающий предыдущий, можно изобразить в виде:

  Следующее сост. Эквивалентные состояния автоматов - student2.ru Эквивалентные состояния автоматов - student2.ru Выход Эквивалентные состояния автоматов - student2.ru Эквивалентные состояния автоматов - student2.ru
Эквивалентные состояния автоматов - student2.ru Эквивалентные состояния автоматов - student2.ru Эквивалентные состояния автоматов - student2.ru Эквивалентные состояния автоматов - student2.ru Эквивалентные состояния автоматов - student2.ru
Эквивалентные состояния автоматов - student2.ru Эквивалентные состояния автоматов - student2.ru Эквивалентные состояния автоматов - student2.ru Эквивалентные состояния автоматов - student2.ru Эквивалентные состояния автоматов - student2.ru
Эквивалентные состояния автоматов - student2.ru Эквивалентные состояния автоматов - student2.ru Эквивалентные состояния автоматов - student2.ru Эквивалентные состояния автоматов - student2.ru Эквивалентные состояния автоматов - student2.ru

Машина Тьюринга.

Понятие конечного автомата возникло из близкого понятия, введенного в 1936 г. логиком Тьюрингом. Тьюринг рассмотрел гипотетическую машину, имеющую конечное множество Эквивалентные состояния автоматов - student2.ru внутренних состояний и одну бесконечную ленту, разделенную на ячейки, которые машина может передвигать вправо или влево на одну ячейку за такт. В каждой ячейке машина может записывать символ из конечного алфавита Эквивалентные состояния автоматов - student2.ru . Первоначально лента должна быть пустой, кроме конечного числа ячеек, заполненных заранее. (Эти заранее заполненные ячейки можно представлять программой запуска машины).

Особенности машины Тьюринга, отличающие ее от конечного автомата, состоят в следующем:

1) лента машины Тьюринга бесконечна;

2) машина Тьюринга может двигаться вдоль ленты в любом направлении.

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

Формальное определение машины Тьюринга следующее.

Определение 1:Машина Тьюринга – это пять объектов Эквивалентные состояния автоматов - student2.ru , из которых:

1) Эквивалентные состояния автоматов - student2.ru - есть конечный алфавит символов, которые могут быть записаны в ячейках и являются одновременно входными и выходными: Эквивалентные состояния автоматов - student2.ru ;

2) Эквивалентные состояния автоматов - student2.ru - есть конечное множество внутренних состояний, Эквивалентные состояния автоматов - student2.ru ;

3) Эквивалентные состояния автоматов - student2.ru -функция перехода в новое состояние, она действует из Эквивалентные состояния автоматов - student2.ru в Эквивалентные состояния автоматов - student2.ru ;

4) Эквивалентные состояния автоматов - student2.ru - функция выхода, Эквивалентные состояния автоматов - student2.ru ;

Наши рекомендации