Автомат с таймером
В теории автоматов — временной автомат это конечный автомат, расширенный конечным набором действительных часов. Во время работы таймерного автомата значения часов увеличиваются с одинаковой скоростью. В ходе переходов автомата значения часов можно сравнивать с целыми числами. Эти сравнения формируют защитные меры, которые могут включать или отключать переходы и тем самым ограничивать возможное поведение автомата. Кроме того, часы можно сбросить. Автоматы с таймером являются подклассом гибридных автоматов типа .
Автоматы с таймером можно использовать для моделирования и анализа временного поведения компьютерных систем, например, систем или сетей реального времени. Методы проверки свойств безопасности и живучести разрабатывались и интенсивно изучались в течение последних 20 лет.
Показано, что проблема достижимости состояний для тактовых автоматов разрешима : [1] что делает его интересным подклассом гибридных автоматов. Расширения были тщательно изучены, в том числе секундомеры, задачи реального времени, функции стоимости и игры на время. Существует множество инструментов для ввода и анализа синхронизированных автоматов и расширений, включая средства проверки моделей UPPAAL , Kronos и анализатор планирования TIMES. Эти инструменты становятся все более зрелыми, но все еще остаются инструментами академических исследований.
Пример [ править ]
Прежде чем формально определить, что такое синхронизированный автомат, приведем несколько примеров.
Рассмотрим язык синхронизированных слов над унарным алфавитом такой, что существует в течение первой единицы времени, и между двумя последовательными единицами времени проходит менее одной единицы времени. . Автомат с таймером, распознающий этот язык (изображенный рядом), использует одни часы. , который никогда не должен быть равен единице. Эти часы отсчитывают время с момента начала пробега, если нет были выпущены или с последнего излучается иначе. Это означает, что каждый раз, когда испускается, эти часы сбрасываются в ноль.

Рассмотрим язык синхронизированных слов над двоичным алфавитом такой, что каждый за которым следует в следующую единицу времени. Автомат, распознающий этот язык, изображенный рядом, запоминает, был ли за этим еще не последовало . Если это не так, он принимает запуск, в противном случае он отклоняет его. Более того, когда существует такое , у него есть часы который фиксирует время, прошедшее с момента первого такого был излучен. В этом случае не может быть выдано, если часы равны хотя бы единице, и, следовательно, выполнение завершается неудачно.

Формальное определение [ править ]
Автомат с таймером [ править ]
Формально таймерный автомат представляет собой кортеж который состоит из следующих компонентов:
- — это конечное множество, алфавитом или действиями называемое .
- является конечным множеством . Элементы называются местами или состояниями .
- это набор стартовых локаций.
- представляет собой конечное множество, часами называемое .
- набор принимающих пунктов.
- представляет собой набор ребер, переходами называемых , где
- представляет собой набор ограничений часов, включающих часы из , и
- это мощности набор .
Край от это переход из локаций к с действием , сторожить и часы сбрасываются .
Расширенное состояние [ править ]
Пара с локацией и оценка часов называется либо расширенным состоянием , либо состоянием .
Заметим, что слово состояние при этом неоднозначно, поскольку, в зависимости от автора, оно может обозначать либо пару, либо элемент . Для ясности в этой статье будет использоваться термин «расположение ». для обозначения элемента и термин «расширенное местоположение» для пар.
В этом заключается одно из самых больших различий между временными автоматами и конечными автоматами . В конечном автомате в какой-то момент выполнения состояние полностью описывается количеством прочитанных букв и конечным числом возможных значений, которые на самом деле называются «состояниями». Это означает, что, учитывая состояние и суффикс читаемого слова, оставшаяся часть серии полностью определена. Таким образом, в названии «конечные автоматы» появилось слово «конечный». Однако, как поясняется в разделе «Выполнение» ниже, для возобновления используются часы, определяющие, какие переходы можно предпринять. Таким образом, чтобы узнать состояние автомата, необходимо знать не только то, в каком месте вы находитесь, но и оценку часов.
Беги [ править ]
Учитывая приуроченное слово с , возрастающая последовательность неотрицательных чисел и автомат с таймером как и выше, прогон представляет собой последовательность вида удовлетворяющее следующему ограничению:
- (инициализация)
- (последовательность), для всех , существует ребро в формы такой, что:
- мы предполагаем, что Прошли единицы времени, и в это время охранник доволен. Т.е. удовлетворяет ,
- новая оценка часов соответствует , в котором единицы времени прошли и в которых часы где сброс. Формально, .
Понятие принятия серии определяется как в конечных автоматах для конечных слов, так и в автоматах Бюхи для бесконечных слов. То есть, если имеет конечную длину , то прогон принимается, если . Если слово бесконечно, то прогон принимается тогда и только тогда, когда существует бесконечное количество позиций. такой, что .
Детерминированный автомат с таймером [ править ]
Как и в случае с конечным автоматом и автоматом Бюхи, временной автомат может быть детерминированным или недетерминированным. Интуитивно, детерминированность имеет одно и то же значение в каждом из этих случаев. Это означает, что набор начальных местоположений является одноэлементным, и что, учитывая состояние и письмо , существует только одно возможное состояние, которого можно достичь из читая . Однако в случае автомата с таймером формальное определение немного сложнее. Формально таймерный автомат является детерминированным, если:
- является синглтоном
- для каждой пары переходов и , множество оценок часов, удовлетворяющих не пересекается с множеством оценок часов, удовлетворяющих .
Свойство замыкания [ править ]
Класс языков, распознаваемых недетерминированными временными автоматами:
- действительно, непересекающееся объединение двух синхронизированных автоматов признает объединение языка, распознаваемого этими автоматами.
- закрыто под перекрестком. [2]
- не закрыт при дополнении. [3]
Проблемы и их сложность [ править ]
автоматами . Приведена вычислительная сложность некоторых задач, связанных с синхронизированными
Проблему пустоты для синхронизированных автоматов можно решить, построив автомат региона и проверив, принимает ли он пустой язык. Эта задача является PSPACE-полной . [1] : 207
Проблема универсальности недетерминированного автомата с таймером неразрешима, а точнее Π 1
1 . Однако, когда автомат содержит одиночные часы, это свойство разрешимо; однако он не является примитивно-рекурсивным . [3] Эта проблема состоит в том, чтобы решить, принимается ли каждое слово синхронизированным автоматом.
См. также [ править ]
- Попеременный автомат с таймером : расширение таймера с универсальными переходами.
Примечания [ править ]
- ^ Jump up to: Перейти обратно: а б Раджив Алур, Дэвид Л. Дилл. 1994 Теория временных автоматов . В «Теоретической информатике» , вып. 126, 183–235, стр. 194–1955.
- ^ Современные применения автоматов, стр. 118.
- ^ Jump up to: Перейти обратно: а б Ласота, Савомир; Валукевич, Игорь (2008). «Попеременные временные автоматы». Транзакции ACM в вычислительной логике . 9 (2): 1–26. arXiv : cs/0512031 . дои : 10.1145/1342991.1342994 . S2CID 12319 .