Автомат с синхронизацией - Timed automaton

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

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

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

Пример

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

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

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

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

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

Формальное определение

Автомат с синхронизацией

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

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

Край из это переход от локаций к с действием , сторожить и часы сбрасываются .

Расширенное состояние

Пара с локацией и оценка часов называется либо расширенное состояние или государственный.

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

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

Пробег

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

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

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

Детерминированный синхронизированный автомат

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

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

Закрытие собственности

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

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

Проблемы и их сложность

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

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

Проблема универсальности недетерминированного временного автомата неразрешима, а точнее Π1
1
. Однако, если автомат содержит одни часы, свойство разрешимо, но не примитивно рекурсивный.[3] Эта проблема состоит в том, чтобы решить, принимаются ли все слова автоматом по времени.

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

Примечания

  1. ^ а б Раджив Алур, Дэвид Л. Дилл. 1994 г. Теория временных автоматов. В теоретической информатике, т. 126, 183–235, стр. 194–1955.
  2. ^ Современные приложения автоматов, страница 118
  3. ^ а б Ласота, Славомир; Валукевич, Игорь (2008). «Чередующиеся временные автоматы». Транзакции ACM по вычислительной логике. 9 (2): 1–26. arXiv:cs / 0512031. Дои:10.1145/1342991.1342994.