Главная > Методы обработки данных > Введение в теорию конечных автоматов
<< Предыдущий параграф
Следующий параграф >>
<< Предыдущий параграф Следующий параграф >>
Макеты страниц

3.10. Эквивалентное разбиение множеств автоматов

Эквивалентное разбиение автомата, состоящего из множества автоматов представляет собой разбиение на классы таким образом, что два автомата принадлежат одному и тому же классу тогда и только тогда, когда они являются эквивалентными. Каждый класс автоматов в этом разбиении называется классом эквивалентных автоматов. Очевидно, что автоматы не могут быть эквивалентными, если они несравнимы. Следовательно, до разбиения на классы эквивалентных автоматов множество следует сначала разбить на подмножества таким образом, чтобы два автомата относились к одному и тому же подмножеству тогда и только тогда, когда они сравнимы. Впоследствии каждое подмножество может индивидуально подвергаться

дальнейшему разбиению. Поскольку разбиение множества автоматов в соответствии с их входным алфавитом является тривиальной задачей, то потеря общности будет незначительной, если мы предположим, что все автоматы в сравнимы. При таком допущении можно построить расщепляемый автомат так, как было описано в § 2.7, Разбиение автомата на обычные эквивалентности любым из описанных в способов, выявляет, являются ли любые два автомата из множества эквивалентными. Действительно, по определению являются эквивалентными, если каждый класс эквивалентности, который содержит состояние автомата также содержит состояние автомата и если каждый класс эквивалентности, который содержит состояние автомата содержит также состояние автомата в противном случае являются различимыми. Когда определены все пары эквивалентных автоматов из множества эквивалентное разбиение автоматов из может быть произведено с помощью алгоритма, аналогичного алгоритму 3.1 (в котором теперь рассматриваются не состояния, а автоматы).

В случаях, когда число автоматов N велико, определение классов эквивалентности автоматов облегчается построением так называемой таблицы эквивалентности для расщепляемого автомата Эта таблица имеет строку для каждого класса эквивалентности автомата и столбец для каждого автомата из множества Общий вид таблицы эквивалентности показан в таблице 3.11. Клетки таблицы эквивалентности заполняются в соответствии со следующим правилом: в клетке, где пересекаются строка и столбец ставится 1, если какое-нибудь состоян в классе эквивалентности принадлежит автомату — в противном случае. Таким образом, являются эквивалентными тогда и только тогда, когда столбцы являются одинаковыми во всех строках таблицы эквивалентности. Поэтому эквивалентное разбиение автоматов приводит к разбиению столбцов таблицы эквивалентности на подмножества таким образом, что два столбца принадлежат одному и тому же подмножеству в том и только в том

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

Таблица 3.11. Таблица эквивалентности для автомата

Для иллюстрации, на рис. 3.8 приведены автоматы объединенные в один расщепляемый автомат

Таблица 3.12. Автомат

Таблица переходов для этого расщепляемого автомата представлена в таблице 3.12. Применение любого из методов эквивалентного разбиения, описанных в §§ 3.6-3.8, показывает, что для классами эквивалентности являются

Рис. 3.8. Автомат

Таблица 3.13 представляет собой таблицу эквивалентности для которая показывает, что

Таблица 3.13. Таблица эквивалентности для

эквивалентным разбиением автоматов для множества автоматов является

Заметим, что в процессе эквивалентного разбиения автоматов мы получаем также обычное эквивалентное разбиение каждого автомата из заданного множества. Например, эквивалентное разбиение , как видно из таблицы 3.13, показывает, что эквивалентное разбиение есть эквивалентное разбиение эквивалентное разбиение и эквивалентное разбиение

<< Предыдущий параграф Следующий параграф >>
Оглавление