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

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

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

Общие формы

Одномерный

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

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

Двухмерный

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

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

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

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

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

Другие формы

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

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

Пример

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

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

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

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

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

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

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

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

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

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

Рекомендации

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

  • Майкл Сипсер: Введение в теорию вычислений . PWS Publishing Co., Бостон 1997 ISBN  0-534-94728-X