Пред.
След.
Макеты страниц
Распознанный текст, спецсимволы и формулы могут содержать ошибки, поэтому с корректным вариантом рекомендуем ознакомиться на отсканированных изображениях учебника выше Также, советуем воспользоваться поиском по сайту, мы уверены, что вы сможете найти больше информации по нужной Вам тематике ДЛЯ СТУДЕНТОВ И ШКОЛЬНИКОВ ЕСТЬ
ZADANIA.TO
§ 9.3. Распознавание эквивалентности состояний в случае, когда множество входных последовательностей не ограниченоРассмотрим случай, когда на множество допустимых входных последовательностей не наложено никаких ограничений, т. е. Прежде чем приступить к описанию алгоритма распознавания эквивалентных состояний, отметим одно очевидное свойство эквивалентности: если какие-либо два состояния П-машины эквивалентны относительно множества Пусть задана любая П-машина. Выпишем ее матрицу соединений. Например:
Разобьем строки этой матрицы на группы так, чтобы строки, принадлежащие одной группе, содержали только одинаковые пары символов. В нашем случае это разбиение произойдет так: строки Перепишем теперь матрицу соединений так, чтобы строки, входящие в одну группу, стояли рядом. Для этого в матрице нужно будет поменять порядок строк и соответственно порядок столбцов. После этого матрица С нашего примера будет выглядеть так:
Разобьем теперь матрицу С на подматрицы, проведу горизонтальные линии между выделенными Отметим теперь, что состояния, входящие в любую группу, эквивалентны относительно множества Поэтому при любой допустимой входной последовательности могут быть эквивалентны между собой лишь состояния, входящие в какую-либо группу, ибо два состояния, входящие в разные группы, заведомо не эквивалентны, так как они не эквивалентны даже относительно множества Однако такого разбиения матрицы недостаточно, так как неэквивалентность каких-либо двух состояний, входящих в группу, может проявиться в следующих тактах. Для выявления всех эквивалентных состояний разобьем матрицу С на подматрицы симметрично вертикальными и горизонтальными линиями. Линии проводятся так, что если горизонтальная линия проведена между Назовем один-матрицей (сокращенно 1-матрицей) такую подматрицу матрицы С, в которой все строки содержат лишь одинаковые пары символов (если какая-либо пара встречается в какой-нибудь строке 1-матрицы, то она должна встречаться и во всех остальных ее строках). В нашем примере симметричное разбиение получается, если кроме линии, разделяющей строки
В этом примере Левая верхняя подматрица не является Попытаемся так симметрично разбить матрицу С, чтобы все подматрицы этого разбиения были В нашем примере надо провести горизонтальную линию между строками
В общем случае описанный процесс симметричногс разбиения на 1-матрицы закончится в конечное число шагов одной из двух ситуаций: 1. Разбиение тривиально, т. е. все подматрицы этого разбиения являются матрицами порядка 1 X 1 (линии разбиения оказываются в этом случае проведенными между всеми строками и столбцами). 2. Имеется нетривиальное разбиение, т. е. среди всех подматриц симметричного разбиения есть хоть одна матрица порядка В этом случае горизонтальные линии разбиения проходят не между каждыми строками матрицы С (соответственно вертикальные — не между каждыми столбцами). Эти линии разбивают строки матрицы С и соответствующие им состояния на груйпы. Так, в нашем примере состояния разбиваются на три группы: Теорема (Ауфенкампа и Хона). Состояния П-машины эквивалентны между собой тогда и только тогда, когда они входят в одну группу симметричного разбиения матрицы С. Доказательство достаточности. Пусть матрица С может быть нетривиально симметрично разбита на 1-матрицы. Рассмотрим сначала простой случай, когда матрица имеет вид
В этом случае имеется лишь одна группа, содержащая k состояний В верхнем левом углу матрицы С размещена Рассмотрим произвольную входную последовательность
Пусть При подаче этой входной последовательности выходная последовательность не будет зависеть от того, с какого ИЗ состояний, входящих в группу В момент Последовательность (9.1) была взята произвольно и, следовательно, состояния Рассмотрим теперь общий случай. Пусть матрица С симметрично разбита на
Покажем, что состояния, входящие в какую-либо одну группу, эквивалентны между собой. Действительно, любое входное воздействие: 1) либо переводит машину из состояния, принадлежащего некоторой группе, в состояние той же группы; выход машины при этом зависит лишь от входного воздействия и не зависит от того, в каком из состояний группы машина находится; 2) либо переводит машину В этом случае ситуация аналогична той, что рассмотрена выше — вновь это входное воздействие будет переводить и все состояния группы i в состояние Проведенное здесь рассуждение, естественно, применимо к любой из групп. Поэтому в каждый момент времени выход П-машины не будет зависеть от того, с какого из состояний группы i начала машина работу. Группы эквивалентных состояний, следовательно, ведут себя так, что каждую группу можно рассматривать как одно состояние. Достаточность условий теоремы доказана. Доказательство необходимости. Рассмотрим сперва более простой случай. Пусть состояния Покажем, что если от какого-либо кружка
Рис. 9.3. Рассмотрим в этом же примере какой-либо из кружков группы 1) Ветвь с первым индексом 2) От кружка 3) Ветвь с первым индексом Покажем, что может иметь место только случай 3). Для этого докажем, что случаи 1) и 2) невозможны. Предположим, что стрелки с первым индексом Но состояние Но тогда и последовательность Предположим, что стрелки с первым индексом При этом и вторые индексы рассматриваемых ветвей должны совпадать, так как иначе можно было бы с помощью входного воздействия длины
Рис. 9.4. Следовательно, если от какого-либо кружка группы Из этого же утверждения следует, что если ветвь с надписью Из доказанного следует, что матрица соединений рассматриваемой машины будет иметь вид
Если провести теперь симметричное разбиение матрицы так, чтобы состояния разбились на группы В общем случае, когда имеется несколько групп попарно эквивалентных состояний, проведенные выше рассуждения сохраняются, но некоторые из кружков Доказанная теорема Ауфенкампа и Хона дает простой и очень удобный алгоритм определения всех групп эквивалентных состояний заданной П-машины. Алгоритм этот сводится к построению симметричного разбиения матрицы соединений С заданной П-машины.
|
1 |
Оглавление
|