Из Википедии, бесплатной энциклопедии
  (Перенаправлен из состояния перехода )
Перейти к навигации Перейти к поиску

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

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

Общие формы [ править ]

Одномерный [ править ]

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

Двумерный [ править ]

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

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

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

Другие формы [ править ]

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

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

Пример [ править ]

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

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

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

Если автомат находится в состоянии 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 по разработке программного обеспечения , 20 (9): 684-707, CiteSeerX 10.1.1.72.8657 , DOI : 10,1109 / 32,317428  

Дальнейшее чтение [ править ]

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