Эквивалентные разбиения

k-эквивалентное разбиение автомата М называется эквивалентным разбиением М и обозначается , если во всех классах этого разбиения смежные состояния эквивалентны. При этих условиях каждый класс разбиения называется классом эквивалентности. Из материалов § 3.4 следует, что является наиболее детальным разбиением P k. По теореме 3.4, эквивалентное разбиение может быть получено, если образовывать P k для k=l, 2, 3... до тех пор, пока первый раз получится разбиение, которое совпадает с предыдущим разбиением. Это разбиение и будет . Пусть равенство P i = P j означает, что P i и P j являются одинаковыми разбиениями, и пусть |P i | обозначает число классов в P i. Используя это обозначение, предыдущие результаты могут быть обобщены следующим образом:

Если все n состояний автомата являются 1-эквивалентными, то разбиение Р1 состоит из одного класса, содержащего n состояний. Очевидно, что если все n состояний являются 1-эквивалентными, то их первые преемники по отношению к любой входной последовательности являются также 1-эквивалентными. Таким образом, все n состояний должны быть 2-эквивалентными и, следовательно, Р1 = Р2. Тогда, по (3.6), Р1 = и все n состояний являются эквивалентными. Для автомата такого типа fz (xv, sv) является одинаковой для всех sv и, следовательно, fz (xv, sv) = fz (xv). Тогда по определению, введенному в § 1.6, можно утверждать, что автомат, в котором все состояния эквивалентны, является тривиальным автоматом. В дальнейшем, если не будет специально оговорено, будут рассматриваться только нетривиальные автоматы, т. е. автоматы, в которых имеется, по крайней мере, одна различимая пара состояний или в 1-эквивалентных разбиениях которых имеется, по крайней мере, два класса.

Лемма 3.8. Если Р k ≠ Р k-1, то

|Pk|≥k+1. (3.7)

Доказательство. Если Р k ≠ Р k-1 то, по (3.5) и (3.6), |Р r | > |Р r-1 | для r = 1. 2,..., k. Поскольку |P1|≥2, то (3.7) следует по индукции.

Лемма 3.9. Если для автомата с n состояниями Р k ≠ Р k-1, то число состояний в каждом классе разбиения Р k не превышает n - k.

Доказательство. Согласно лемме 3.8, число классов в P k равно, по крайней мере, k+1. Предположим, что один класс содержит больше чем n - k, скажем n — k + 1 состояний. Тогда, поскольку каждый другой класс в P k должен содержать, по крайней мере, одно состояние, общее число состояний в Pk будет не менее k + (n — k + 1) = n + 1. Лемма доказана, так как общее число состояний не может превосходить n.

Лемма 3.10. Для автомата с n состояниями Рn = Р n-1

Доказательство. Если Р n ≠ Р n-1, то, согласно лемме 3.8, | Рn | ≥ n+1 Так как число классов в k-эквивалентном разбиении автомата с n состояниями не может превышать n, то полученное противоречие доказывает лемму. Из леммы 3.10 и уравнения (3.6) можно вывести следующее заключение:

Теорема 3.5. Для автомата с n состояниями

P n-1 = . (3.8)

Таким образом, процесс определения для автомата с n состояниями путем последовательного построения Р k для k = 1, 2, 3 требует не более n—1 построений.

Другим вариантом формулировки теоремы 3.5 является

Следствие 3.1. Два состояния автомата с n состояниями эквивалентны, если они (n — 1)-эквивалентны, и различимы, если они (n—1)-различимы.

Определение Р1. Р1 может быть определено с помощью следующего правила: состояния являются смежными в Р1 тогда и только тогда, когда они для каждого входного символа дают одинаковые выходные символы. Определение Рk + 1 по P k (k ≥ 1). Пары смежных состояний в Р k, которые при любом входном символе переходят в смежные состояния в Р k, представляют собой k-эквивалентные состояния, первые преемники которых по отношению к любому входному символу являются k-эквивалентными. Поэтому такие смежные состояния являются (k+1)-эквивалентными и должны быть смежными в Р k + 1. Пары смежных состояний в Р k, которые при некотором входном символе переходят в разобщенные состояния в Р k, представляют собой k-эквивалентные состояния, первые преемники которых по отношению к некоторому входному символу являются k-различимыми. Поэтому такие смежные состояния являются (k + 1)-различимыми и должны быть разобщенными в P k + 1. Два разобщенных состояния в Р k должны быть разобщенными также в Р k+1. Таким образом, Р k + 1 может быть определено по Р k делением состояний каждого класса Р k на подклассы таким образом, чтобы два состояния находились в одном и том же подклассе тогда и только тогда, когда их первые преемники по отношению к каждому входному символу являются смежными состояниями в Р k. Полученные подклассы являются классами P k + 1. Поскольку одноэлементные классы не могут быть разделены на подклассы, то такие классы Р k могут быть автоматически включены в Р k + 1.

Рассмотрим, например, разбиение Р3 Для автомата A7, приведенное в (3.2). Первые преемники состояний 1, 3 и 8 являются смежными в Σ32 при подаче α или β и в Σ31 при подаче γ. Первые преемники состояний 5 и 7 являются смежными в Σ33, если приложен входной символ а, в Σ32, если приложен символ р, и в Σ31, если приложен символ γ. Следовательно, {1, 3, 8} и {5, 6} являются классами Р4. Первые преемники состояний 2 и 4 по отношению к каждому входному символу являются смежными состояниями в Р3; поэтому {2, 4} являются классом Р4. Одноэлементные классы {6} и {9} переходят в Р4 без изменений. Полученное разбиение Р4 будет таким, как показано в (3.3).

Таким образом, мы описали правила для последовательного построения Р k для k=l, 2, 3,... Если для каждого входного символа каждая пара смежных состояний Р k переходит в смежные состояния Р k, то никакое дальнейшее разбиение Р k невозможно и, следовательно, Р k = . Описанные правила поэтому дают способ определения эквивалентного разбиения заданного автомата.

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

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

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

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

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

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

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

одинаковые индексы, являются смежными в таблице Р k+1. Две смежные строки в таблице Р k, имеющие в некоторых столбцах различные индексы, являются разобщенными в таблице Р k + 1. Разобщенные строки в таблице Р k являются также разобщенными в таблице Р k + 1. Группа, состоящая из одной строки в таблице P k, состоит из одной строки и в таблице Р k+1. Таким образом, группы таблицы Р k + 1 могут быть выявлены проверкой индексов в таблице Р k. После того как группы установлены, сама таблица может быть построена по описанному выше образцу. Приведенные здесь правила прямо вытекают из способа приписывания индексов и из описанных в § 3.5 условий определения P k + 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, а также таблицы P k + 1 по таблице P k (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)


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: