Бисимуляция - Bisimulation

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

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

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

Учитывая меченое состояние системы перехода ( , , →), где представляет собой набор состояний, представляет собой набор меток и → представляет собой набор помеченных переходов (то есть, подмножество ), A бисимуляции является бинарным отношением , например , что оба и его обратное являются моделирование . Из этого следует, что симметричное замыкание бисимуляции является бисимуляцией, и что каждая симметричная симуляция является бисимуляцией. Таким образом, некоторые авторы определяют бисимуляцию как симметричную симуляцию.

Эквивалентно, это бисимуляция тогда и только тогда, когда для каждой пары состояний в и всех меток α в :

  • если , то есть такое, что ;
  • если , то есть такое что .

Учитывая два государства и в , является bisimilar к , написано , тогда и только тогда есть бисимуляция такая , что . Это означает, что отношение двойного подобия - это объединение всех бисимуляций: именно тогда, когда для некоторой бисимуляции .

Множество бисимуляций замкнуто относительно объединения; следовательно, отношение бисхожести само по себе является бизимуляцией. Поскольку это объединение всех бисимуляций, это единственная самая большая бисимуляция. Бисимуляции также замыкаются при рефлексивном, симметричном и транзитивном замыкании; следовательно, самая большая бисимуляция должна быть рефлексивной, симметричной и транзитивной. Отсюда следует, что наибольшая бисимуляция - бисхожесть - является отношением эквивалентности .

Обратите внимание, что это не всегда так, что если имитирует и моделирует, то они двойственны. Для и быть bisimilar, моделирование между и должно быть обратное симуляции между и . Контрпример в CCS : и имитируют друг друга, но не являются двойными.


Альтернативные определения

Реляционное определение

Бисимуляцию можно определить в терминах композиции отношений следующим образом.

Учитывая меченого состояние системы перехода , A бисимуляция соотношение представляет собой бинарное отношение над (т.е. ⊆ × ) таким образом, что

а также

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

Определение фиксированной точки

Сходство также может быть определено теоретическим способом, с точки зрения теории неподвижных точек, точнее, как наибольшая неподвижная точка определенной функции, определенной ниже.

Для помеченной системы переходов состояний ( , Λ, →) определим функцию от бинарных отношений до бинарных отношений сверху , как показано ниже:

Позвольте быть любое бинарное отношение над . определяется как множество всех пар в × таких, что:

а также

Bisimilarity затем определяется как наибольшая фиксированная точка из .

Определение игры Эренфойхта – Фраисе

Бисимуляцию также можно рассматривать как игру между двумя игроками: нападающим и защитником.

«Атакующий» идет первым и может выбрать любой допустимый переход,, от . Т.е.:

или же

«Защитник» должен затем попытаться соответствовать этому переходу, либо из или в зависимости от хода атакующего. Т.е. они должны найти такое, что:

или же

Атакующий и защитник продолжают поочередно ходить до тех пор, пока:

  • Защищающийся не может найти никаких подходящих переходов, соответствующих ходу атакующего. В этом случае выигрывает злоумышленник.
  • Игра достигает состояний , которые оба являются «мертвыми» (т. Е. Нет переходов из любого состояния). В этом случае защитник побеждает.
  • Игра длится вечно, и в этом случае побеждает защитник.
  • Игра достигает состояний , которые уже были посещены. Это эквивалентно бесконечной игре и считается победой защитника.

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

Коалгебраическое определение

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

Пусть be -я проекция отображается в и соответственно для ; и прямое изображение определяется путем отбрасывания третьего компонента

где есть подмножество . Аналогично для .

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

Коалгебраическая bisimulation.svg

коммутирует, т. е. при , уравнения

где - функциональное представление .

Варианты бисимуляции

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

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

Это тесно связано с бисимуляцией до отношения.

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

Бисимуляция и модальная логика

Поскольку модели Крипке являются частным случаем (помеченных) систем с переходами между состояниями, бисимуляция также является темой модальной логики . Фактически модальная логика - это фрагмент логики первого порядка, инвариантный относительно бимимуляции ( теорема ван Бентема ).

Алгоритм

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

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

Рекомендации

дальнейшее чтение

Внешние ссылки

Программные инструменты