Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
MLTA_shpory2.doc
Скачиваний:
101
Добавлен:
23.12.2018
Размер:
2.34 Mб
Скачать

82. Частичные автоматы и их минимизация.

Автомат M называется частичным, или не полностью определенным автоматом, если хотя бы одна из его двух функций не полностью определена, т. е. для некоторых пар (состояние — вход) значения функций j или f не определены. В автоматной таблице неполная определенность автомата выражается в том, что некоторые ее клетки не заполнены — в них стоят прочерки. В графе частичного автомата в вершинах, где j не определена, нарушено условие полноты.

При этом будем пользоваться знаком @: запись A @ B означает, что А и В либо одновременно не определены, либо определены и равны.

Функция j(si, a):

а) j(si, aj) задана таблицей автомата M;

б) если j(si, a) определена, то j(si, aaj) @ j(j(si, a), aj); (5a)

в) если j(si, a) не определена, то j(si, aaj) не определена для всех aj.

Функция f(si, a):

f(si, aaj) @ f(j(si, a), aj);

Автоматное отображение M(si, a):

a) M(si, aj) = f(si, aj) (если f(si, aj) не определена, то значение M(si, aj) считается равным прочерку;

б) если j(si, a) определена, то

M(si, aaj) = M(si, a) f(j(si, a), aj) (6)

(если f(j(si, a), aj) не определена, то слово M(si, aaj) получено из M(si, a) приписыванием справа прочерка);

в) если j(si, a) не определена, то и M(si, aaj) не определено.

Входное слово a, для которого M(si, a) определено, называется допустимым для si.

Состояние si автомата M и состояние rj автомата Т называются псевдонеотличимыми (псевдоэквивалентными), если для любого a M(si, a) @ T(rj, a), т.е. если область определения si и rj одна и та же и в этой области si и rj эквивалентны.

Автоматы M и Т псевдонеотличимы, если для любого состояния найдется псевдонеотличимое от него состояние Т, и наоборот.

Состояние si автомата M покрывает состояние rj автомата Т (M и Т, возможно, совпадают), если для любого a из того, что M(rj, a) определено, следует, что M(si, a) определено и M(si, a) = M(rj, a). Автомат M покрывает автомат Т, если для любого состояния Т найдется покрывающее его состояние M. В частности, состояние, строка которого не содержит прочерков, покрывает все состояния, строки которых получаются из нее заменой некоторых символов прочерками; и обратно, любое состояние s¢, полученное из состояния s некоторым доопределением, т. е. заменой прочерков символами, покрывает s.

Состояние si автомата M и состояние rj автомата Т называются совместимыми, если существует состояние рk (быть может, какого-то третьего автомата W), покрывающее и si, и rj. Автоматы M и Т совместимы, если существует автомат W, покрывающий M и Т.

Совместимости можно дать и более прямое определение: si и rj совместимы, если для любого a либо одно из отображений M(si, a), Т(rj, a) не определено, либо выходные слова M(si, a) и Т(rj, a) (быть может, содержащие прочерки) непротиворечивы, т. е. не содержат на одинаковых местах различных букв

Понятия покрытия и совместимости дают общий план минимизации частичных автоматов: находим совместимые состояния и заменяем их покрывающим состоянием (например, объединением соответствующих строк).

Особенности реализации этого плана — отношение совместимости нетранзитивно и, следовательно, не является отношением эквивалентности, поэтому классы совместимости (т.е. множества попарно совместимых состояний) могут пересекаться.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]