Таблица переходов состояний

Таблица по теории автоматов и последовательной логике

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

Таблица переходов состояний — один из многих способов задания конечного автомата . Другие способы включают диаграмму состояний .

Распространенные формы

Одномерный

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

Таблица состояний-переходов
(S: состояние, I: вход, O: выход)
ВходТекущее состояниеСледующий штатВыход
Я 1С 1С яО х
Я 2С 1С джО у
ВС 1С кО з
Я 1С 2S i′О х′
Я 2С 2С j′О у′
ВС 2С к′О з′
Я 1С мS i″О х″
Я 2С мС дж″О у″
ВС мС к″О з″

Двумерный

Таблицы переходов состояний обычно являются двумерными таблицами. Существует два распространенных способа их организации.

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

Таблица состояний-переходов
(S: состояние, I: вход, O: выход)
Вход
Текущее состояние
Я 1Я 2В
С 1С ихС джуС кз
С 2S i′ /O x′S j′ /O y′С к′з′
С мS i″ /O x″С j″z″С к″з″

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

Таблица состояний-переходов
(S: состояние, I: вход, O: выход, —: недопустимо)
Следующий штат
Текущее состояние
С 1С 2С м
С 1Я их
С 2Я джй
С мИ кз

Другие формы

Одновременные переходы в нескольких конечных автоматах можно отобразить в том, что фактически является n -мерной таблицей переходов состояний, в которой пары строк отображают (наборы) текущих состояний в следующие состояния. [1] Это альтернатива представлению связи между отдельными взаимозависимыми конечными автоматами.

С другой стороны, для каждого перехода в пределах одного конечного автомата использовались отдельные таблицы: «таблицы И/ИЛИ» [2] похожи на неполные таблицы решений , в которых решение для присутствующих правил неявно представляет собой активацию соответствующего перехода.

Пример

Ниже приведен пример таблицы переходов состояний вместе с соответствующей диаграммой состояний для конечного автомата, принимающего строку с четным числом нулей:

Таблица переходов состояний
Вход
Текущее состояние
01
С 1С 2С 1
С 2С 1С 2
Диаграмма состояний
Диаграмма состояний конечного автомата

В таблице переходов состояний все возможные входы в конечный автомат перечислены по столбцам таблицы, в то время как все возможные состояния перечислены по строкам. Если автомат находится в состоянии S 1 (первая строка) и получает вход 1 (второй столбец), автомат останется в состоянии S 1 . Теперь, если автомат находится в состоянии S 1 и получает вход 0 (первый столбец), автомат перейдет в состояние S 2 .
На диаграмме состояний первое обозначено стрелкой, идущей от S 1 к S 1 , помеченной 1, а второе обозначено стрелкой от S 1 к S 2 , помеченной 0. Этот процесс можно статистически описать с помощью цепей Маркова .

Для недетерминированного конечного автомата вход может привести к тому, что автомат окажется в более чем одном состоянии, отсюда его недетерминированность . Это обозначается в таблице переходов состояний набором всех целевых состояний, заключенных в пару фигурных скобок {}. Пример таблицы переходов состояний вместе с соответствующей диаграммой состояний для недетерминированного конечного автомата приведен ниже:

Таблица переходов состояний
Вход
Текущее состояние
01
С 1С 2С 1
С 21 , С 2 }С 2
Диаграмма состояний
Диаграмма состояний NFSM

Если машина находится в состоянии S 2 и получает входной сигнал 0, машина будет находиться в двух состояниях одновременно: состояниях S 1 и S 2 .

Преобразования из/в диаграмму состояний

Можно нарисовать диаграмму состояний из таблицы переходов состояний. Последовательность простых шагов приведена ниже:

  1. Нарисуйте круги, представляющие данные состояния.
  2. Для каждого из состояний просканируйте соответствующую строку и нарисуйте стрелку к конечному состоянию(ям). Для входного символа может быть несколько стрелок, если конечный автомат недетерминирован.
  3. Обозначим состояние как начальное состояние . Начальное состояние указано в формальном определении конечного автомата.
  4. Обозначим одно или несколько состояний как принимающее состояние . Это также указано в формальном определении конечного автомата.

Смотрите также

Ссылки

  1. ^ Брин, Майкл (2005), «Опыт использования облегченного метода формальной спецификации для линейки продуктов коммерческих встраиваемых систем» (PDF) , Requirements Engineering Journal , 10 (2): 161– 172, CiteSeerX  10.1.1.60.5228 , doi :10.1007/s00766-004-0209-1, S2CID  16928695
  2. ^ Левесон, Нэнси; Хеймдаль, Матс Пер Эрик; Хилдрет, Холли; Риз, Джон Дэймон (1994), «Спецификация требований для систем управления технологическими процессами» (PDF) , IEEE Transactions on Software Engineering , 20 (9): 684–707 , CiteSeerX 10.1.1.72.8657 , doi :10.1109/32.317428 

Дальнейшее чтение

  • Майкл Сипсер: Введение в теорию вычислений . PWS Publishing Co., Бостон, 1997 ISBN 0-534-94728-X 
Получено с "https://en.wikipedia.org/w/index.php?title=State-transition_table&oldid=1250489053"