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

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

Временные автоматы могут использоваться для моделирования и анализа временного поведения компьютерных систем, например систем или сетей реального времени. Методы проверки свойств безопасности и живучести были разработаны и интенсивно изучаются в течение последних 20 лет.

Было показано, что проблема достижимости состояний для временных автоматов разрешима [1], что делает этот подкласс гибридных автоматов интересным. Расширения были тщательно изучены, в том числе секундомеры, задачи в реальном времени, функции затрат и игры с таймером. Существует множество инструментов для ввода и анализа временных автоматов и расширений, включая средства проверки моделей UPPAAL , Kronos и анализатор планируемости TIMES. Эти инструменты становятся все более зрелыми, но все еще остаются инструментами академических исследований.

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

Прежде чем формально определить, что такое синхронизированный автомат, приведем несколько примеров.

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

Синхронизированный автомат, принимающий язык a *, такой, что буква излучается в каждом открытом интервале длины один.

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

Синхронизированный автомат, принимающий синхронизированные слова, в которых за каждым появлением следуют менее одной единицы времени после появления .

Формальное определение [ править ]

Автомат с синхронизацией [ править ]

Формально синхронизированный автомат - это кортеж , состоящий из следующих компонентов:

  • конечное множество называется алфавитом или действия из .
  • - конечное множество . Элементы называются местоположениями или состояниями .
  • - это набор начальных местоположений.
  • конечное множество называют часы из .
  • - это набор принимающих местоположений.
  • представляет собой набор ребер, называется переходы из , где
    • - набор ограничений часов, включающих часы из , и
    • является Powerset из .

Края от происходит переход от местоположений , чтобы с действием , охраны и часы сброса .

Расширенное состояние [ править ]

Пара с местоположением и оценкой часов называется расширенным состоянием или состоянием .

Обратите внимание, что слово состояние, таким образом, неоднозначно, поскольку, в зависимости от автора, оно может означать либо пару, либо элемент . Для ясности в этой статье мы будем использовать термин местоположение для элемента и термин расширенное местоположение для пар.

В этом заключается одно из самых больших различий между временными автоматами и конечными автоматами . В конечном автомате в какой-то момент выполнения состояние полностью описывается числом прочитанных букв и конечным числом возможных значений, которые на самом деле называются «состояниями». Это означает, что с учетом состояния и суффикса читаемого слова оставшаяся часть выполнения полностью определяется. Таким образом, слово «конечный» в названии «конечный автомат». Однако, как объясняется в разделе «Выполнение» ниже, для возобновления работы тактовой частоты используются часы для определения того, какие переходы могут быть выполнены. Таким образом, чтобы узнать состояние автомата, вы должны знать, в каком месте вы находитесь, и оценку часов.

Выполнить [ редактировать ]

Учитывая синхронизированное слово с , возрастающую последовательность неотрицательных чисел и синхронизированный автомат, как указано выше, запуск представляет собой последовательность формы, удовлетворяющую следующему ограничению:

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

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

Детерминированный синхронизированный автомат [ править ]

Как и в случае конечного автомата и автомата Бюхи, синхронизированный автомат может быть детерминированным или недетерминированным. Интуитивно детерминированность имеет одно и то же значение в каждом из этих случаев. Это означает, что набор начальных местоположений является одноэлементным, и что, учитывая состояние и букву , существует только одно возможное состояние, из которого можно достичь путем чтения . Однако в случае с автоматом по времени формальное определение немного сложнее. Формально таймер детерминирован, если:

  • это синглтон
  • для каждой пары переходов и множество оценок часов, которым удовлетворяют, не пересекаются с множеством оценок часов, которым удовлетворяют .

Свойство закрытия [ править ]

Класс языков, распознаваемых недетерминированными временными автоматами:

  • замкнутое относительно объединения, действительно, несвязное объединение двух временных автоматов распознает объединение языка, распознаваемого этими автоматами.
  • закрыто под перекрестком. [2]
  • не закрывается при дополнении. [3]

Проблемы и их сложность [ править ]

Приведена вычислительная сложность некоторых задач, связанных с временными автоматами.

Проблему пустоты для синхронизированного автомата можно решить, построив региональный автомат и проверив, принимает ли он пустой язык. Эта проблема решена для PSPACE . [1] : 207

The universality problem of non-deterministic timed automaton is undecidable, and more precisely Π11. However, when the automaton contains a single clock, the property is decidable, however it is not primitive recursive.[3] This problem consists in deciding whether every words are accepted by a timed-automaton.

See also[edit]

  • Alternating timed automaton: an extension of timed automaton with universal transitions.

Notes[edit]

  1. ^ a b Rajeev Alur , David L. Dill. 1994 A Theory of Timed Automata. In Theoretical Computer Science, vol. 126, 183–235, pp. 194–1955
  2. ^ Modern Applications Of Automata, page 118
  3. ^ a b Lasota, SƗawomir; Walukiewicz, Igor (2008). "Alternating Timed Automata". ACM Transactions on Computational Logic. 9 (2): 1–26. arXiv:cs/0512031. doi:10.1145/1342991.1342994.