Определение памяти автомата

В этом параграфе мы рассмотрим следующую задачу. Заданы характеристические функции fz и fs автомата (в табличной форме, в виде графа или в матричной форме). Определить, является ли этот автомат автоматом с конечной памятью, и, если является, то, как определить его память?

Рассмотрим автомат М с множеством состояний {σ1, σ2,..., σn}. Пусть Q( l )k обозначает множество всех последовательностей вход-выход, описываемых путями длины k, которые заканчиваются в состоянии σi. По лемме 6.1, если М является автоматом с памятью µ, то

По теореме 6.1, если М не является автоматом с конечной памятью, то

Следовательно, для определения памяти автомата можно сформулировать следующий алгоритм.

Алгоритм 6.1. Задан автомат М с множеством состояний {σ1, σ2,..., σn}; требуется найти память автомата М. (1) Полагаем k=1. (2) Составляем последовательность Q(1)k,

Q(2)k,..., Q(n)k,. (3) (а) Если Q(i)k ∩ Q(j)k ≠ 0 для некоторых i и j ≠ i, то переходим к (4). (б) Если Q(i)k ∩ Q(j)k = 0 для всех i и j ≠ i, то k является памятью М. (4) (а) Если k<n(n—1)/2, то увеличиваем k на 1 и возвращаемся к (2). (б) Если k = n(n—1)/2, то М не является автоматом с конечной памятью.

Выполнение алгоритма 6.1 облегчается при использовании матриц переходов высокого порядка, введенных в главе 2. В клетке (i, j) матрицы переходов k-го порядка записаны все пути длины k, ведущие из состояния σi в состояние σj. Поэтому клетки j-го столбца матрицы представляют все пути длины k, заканчивающиеся в состоянии σj. Таким образом, последовательности вход-выход, представленные путями, перечисленными в столбце матрицы ,

являются элементами множества Q( j )k . По матрице и диаграмме переходов для автомата М может быть построена таблица, в которой j-й столбец содержит элементы Q( j )k; если нет двух столбцов, имеющих общий член, то k должно быть памятью автомата М.

В качестве примера рассмотрим автомат A28, показанный на рис. 6.6. Матрица переходов автомата A28 задана

выражением (6.23), а матрица переходов первого порядка — выражением (6.24).

По (6.24) и (6.23) можно построить таблицу 6.3, в которой перечислены Q(1)1, Q(2)1, Q(3)1, Q(4)1.

Так как последовательности вход-выход (0/1) и (1/1) появляются в двух различных столбцах этой таблицы, память автомата A28 будет превышать 1. Выражение (6.25)

представляет собой матрицу переходов второго порядка для автомата A28.

По (6.25) и (6.23) можно построить таблицу 6.4, в которой перечислены Q(1)2, Q(2)2, Q(3)2, Q(4)2.

Автомат A28 должен иметь память 2, так как никакая последовательность вход-выход не появляется в двух различных столбцах этой таблицы. Если бы автомат A28 не был автоматом с конечной памятью, то этот факт обнаружился бы из таблицы, перечисляющей Q(1)6, Q(2)6, Q(3)6, Q(4)6.


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



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