Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
А Гилл Введение в теорию конечных автоматов.doc
Скачиваний:
15
Добавлен:
01.07.2025
Размер:
39 Мб
Скачать

8.6. Разбиение при помощи таблиц Рk

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

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

Таблица Pk заданного автомата, по существу, представляет собой то же, что и подтаблица sv+1 для этого автомата со следующими отличиями: (1) Если {σi1, σi2, ..., σir} представляют собой класс Рk, то строки σi1, σi2, ..., σir группируются вместе, при этом каждая группа строк отделяется линией от соседних групп. Порядок групп в таблице и порядок строк в каждой группе произвольны. Строки, принадлежащие к одной и той же группе и, следовательно, представляющие класс k-эквивалентности, будем называть смежными строками; строки, принадлежащие к различным группам, будем называть разобщенными строками. (2) Добавляется столбец 2, в котором указывается обозначение групп в таблице Pk. Обозначение групп произвольно и может выбираться независимо в каждой новой таблице Pk. (3) Каждое значение sv+1 снабжается индексом, указывающим группу, к которой данное значение относится. Так, если строка σi; находится в группе, обозначенной «a», то каждое значение σi в подтаблице sv+1 снабжается индексом «а».

Таблицы 3.3—3.6 являются таблицами Р1, Р2, Р3 и Р4 для автомата A7, изображенного на рис. 3.3.

Построение таблицы P1 Изменим порядок строк в таблице переходов таким образом, чтобы одинаковые строки в подтаблице zv стали соседними. Каждая группа таких строк соответствует классу 1-эквивалентности, и, следовательно, является группой смежных строк в таблице Р1. Теперь можно построить таблицу Р1 путем вычеркивания подтаблицы zv, разделения групп строк линиями, добавления столбца 2 и снабжения индексами значений sv+1, как было описано выше. В качестве иллюстрации сошлемся на таблицы 3.2 и 3.3.

Построение таблицы Рk+1 по таблице Pk(k≥1). Две смежные строки в таблице Рk, имеющие во всех столбцах

одинаковые индексы, являются смежными в таблице Рk+1. Две смежные строки в таблице Рk, имеющие в некоторых столбцах различные индексы, являются разобщенными в таблице Рk + 1. Разобщенные строки в таблице Рk являются также разобщенными в таблице Рk + 1. Группа, состоящая из одной строки в таблице Pk, состоит из одной строки и в таблице Рk+1. Таким образом, группы таблицы Рk + 1 могут быть выявлены проверкой индексов в таблице Рk. После того как группы установлены, сама таблица может быть построена по описанному выше образцу. Приведенные здесь правила прямо вытекают из способа приписывания индексов и из описанных в § 3.5 условий определения Pk + 1 по Рk.

В качестве примера рассмотрим таблицу Р3 автомата А7, представленную таблицей 3.5. В группе «а» одинаковые индексы во всех столбцах имеют строки 1, 3 и 8 и строки 5

и 7. (Индексы в строках 5 и 7 отличаются от индексов в строках 1,3 и 8.) Следовательно, строки 1, 3 и 8 и строки 5 и 7 образуют две группы строк в таблице Р4. В группе «b» все строки имеют одинаковые индексы во всех столбцах, поэтому группа без изменений остается в таблице Р4. Группы «с» и «d», содержащие по одной строке, могут быть перенесены без изменения в таблицу Р4.

Если известны способы построения таблицы Р1, а также таблицы Pk + 1 по таблице Pk(k ≥ 1), то можно строить таблицы Рk для последовательных значений k до тех пор, пока не будет получена таблица, в которой все смежные строки имеют одинаковые индексы во всех столбцах. В основном столбце в этих смежных строках обозначены эквивалентные состояния, а следовательно, группы последних представляют собой искомые классы эквивалентности. Согласно теореме 3.5, это условие должно иметь место для некоторого значения k ≤ n — 1. Для автомата А7 этому условию удовлетворяет таблица Р4 (таблица 3.6).

Эквивалентное разбиение для А7 поэтому будет

Р: {1. 3, 8}, {2, 4}, {5, 7}, {6}. {9}. (3.9)