В теоретической информатике система переходов — это понятие, используемое при изучении вычислений . Она используется для описания потенциального поведения дискретных систем . Она состоит из состояний и переходов между состояниями, которые могут быть помечены метками, выбранными из набора; одна и та же метка может появляться на нескольких переходах. Если набор меток является синглтоном , система по существу не помечена, и возможно более простое определение, которое опускает метки.
Системы переходов математически совпадают с абстрактными системами переписывания (как объясняется далее в этой статье) и направленными графами . Они отличаются от конечных автоматов несколькими способами:
Системы переходов можно представить в виде ориентированных графов.
Формально система перехода — это пара , где — набор состояний, а , отношение перехода — подмножество . Мы говорим, что существует переход из состояния в состояние тогда и только тогда, когда , и обозначаем его .
Помеченная система переходов — это кортеж , где — набор состояний, — набор меток, а , помеченное отношение переходов , — подмножество . Мы говорим, что существует переход из состояния в состояние с меткой тогда и только тогда, когда и обозначаем его
Метки могут представлять разные вещи в зависимости от языка интереса. Типичное использование меток включает представление ожидаемого ввода, условий, которые должны быть истинными для запуска перехода, или действий, выполняемых во время перехода. Системы маркированных переходов изначально были введены как именованные системы переходов. [1]
Формальное определение можно перефразировать следующим образом. Помеченные системы переходов состояний на с метками из соответствуют один к одному с функциями , где — (ковариантный) функтор powerset . При этом биекция отправляется в , определяемый как
Другими словами, помеченная система переходов состояний является коалгеброй для функтора .
Между этими понятиями существует множество связей. Некоторые из них просты, например, наблюдение, что маркированная система переходов, где набор меток состоит только из одного элемента, эквивалентна немаркированной системе переходов. Однако не все эти связи одинаково тривиальны.
Как математический объект, немаркированная система перехода идентична (неиндексированной) абстрактной системе переписывания . Если мы рассмотрим отношение переписывания как индексированный набор отношений, как это делают некоторые авторы, то маркированная система перехода эквивалентна абстрактной системе переписывания, в которой индексы являются метками. Однако фокус исследования и терминология различны. В системе перехода интересно интерпретировать метки как действия, тогда как в абстрактной системе переписывания фокус делается на том, как объекты могут быть преобразованы (переписаны) в другие. [2]
При проверке модели система переходов иногда определяется так, чтобы включать дополнительную функцию маркировки для состояний, что приводит к понятию, которое охватывает понятие структуры Крипке . [3]
Языки действий являются расширениями систем переходов, добавляя набор флюентов F , набор значений V и функцию, которая отображает F × S в V. [ 4]