Связь между переходными системами в информатике
В теоретической информатике бисимуляция — это бинарное отношение между системами перехода состояний , связывающее системы, которые ведут себя одинаково, при этом одна система моделирует другую и наоборот.
Интуитивно две системы считаются биподобными, если они, предполагая, что мы рассматриваем их как игру по некоторым правилам, соответствуют ходам друг друга. В этом смысле наблюдатель не может отличить каждую из систем от другой.
Формальное определение
Учитывая помеченную систему переходов состояний ( , , →), где — набор состояний, — набор меток, а → — набор помеченных переходов (т. е. подмножество ), бисимуляция — это бинарное отношение , такое, что оба и его обратная сторона – симуляции . Отсюда следует, что симметричное замыкание бисимуляции есть бисимуляция и что каждая симметричная симуляция есть бисимуляция. Таким образом, некоторые авторы определяют бисимуляцию как симметричную симуляцию. [1]![{\displaystyle S}](data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7)
![{\displaystyle \Lambda }](data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7)
![{\displaystyle S}](data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7)
![{\displaystyle \Lambda }](data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7)
![{\displaystyle R\subseteq S\times S}](data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7)
![{\displaystyle R^{T}}](data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7)
Эквивалентно, является бисимуляцией тогда и только тогда, когда для каждой пары состояний в и всех меток α в :![{\displaystyle R}](data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7)
![{\displaystyle (p,q)}](data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7)
![{\displaystyle R}](data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7)
![{\displaystyle \Lambda }](data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7)
- если , то существует такое, что
![{\displaystyle p\mathrel {\overset {\alpha }{\rightarrow }} p'}](data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7)
![{\displaystyle q\mathrel {\overset {\alpha }{\rightarrow }} q'}](data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7)
; - если , то существует такое, что
![{\displaystyle q\mathrel {\overset {\alpha }{\rightarrow }} q'}](data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7)
![{\displaystyle p\mathrel {\overset {\alpha }{\rightarrow }} p'}](data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7)
.
Учитывая два состояния и в , является биподобным , записанным тогда и только тогда, когда существует такая бисимуляция, что . Это означает, что отношение биподобия есть объединение всех бисимуляций: именно тогда, когда для некоторой бисимуляции .![{\ displaystyle p}](data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7)
![{\displaystyle q}](data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7)
![{\displaystyle S}](data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7)
![{\ displaystyle p}](data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7)
![{\displaystyle q}](data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7)
![{\displaystyle p\,\sim \,q}](data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7)
![{\displaystyle R}](data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7)
![{\displaystyle (p,q)\in R}](data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7)
![{\displaystyle \,\sim \,}](data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7)
![{\displaystyle (p,q)\in \,\sim \,}](data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7)
![{\displaystyle (p,q)\in R}](data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7)
![{\displaystyle R}](data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7)
Множество бисимуляций замкнуто по объединению; [Примечание 1] , следовательно, отношение биподобия само по себе является бисимуляцией. Поскольку это объединение всех бисимуляций, это уникальная и крупнейшая бисимуляция. Бисимуляции также замкнуты при рефлексивном, симметричном и транзитивном замыкании; следовательно, наибольшая бисимуляция должна быть рефлексивной, симметричной и транзитивной. Отсюда следует, что наибольшая бисимуляция — биподобие — является отношением эквивалентности . [2]
Альтернативные определения
Реляционное определение
Бисимуляцию можно определить с точки зрения композиции отношений следующим образом.
Учитывая помеченную систему перехода состояний , отношение бисимуляции — это бинарное отношение над (т. е. ⊆ × ), такое что
![{\displaystyle R}](data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7)
![{\displaystyle S}](data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7)
![{\displaystyle R}](data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7)
![{\displaystyle S}](data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7)
![{\displaystyle S}](data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7)
![{\displaystyle \forall \alpha \in \Lambda}](data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7)
![{\displaystyle R\ ;\ {\overset {\alpha }{\rightarrow }}\quad {\subseteq }\quad {\overset {\alpha }{\rightarrow }}\ ;\ R}](data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7)
![{\displaystyle R^{-1}\ ;\ {\overset {\alpha }{\rightarrow }}\quad {\subseteq }\quad {\overset {\alpha }{\rightarrow }}\ ;\ R^{ -1}}](data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7)
Из монотонности и непрерывности композиции отношений сразу следует, что множество бисимуляций замкнуто относительно объединений (объединений в ЧУ отношений), а простой алгебраический расчет показывает, что отношение биподобия — объединение всех бисимуляций — есть отношение эквивалентности. Это определение и связанное с ним понимание биподобия можно интерпретировать в любом инволютивном кванте .
Определение фиксированной точки
Биподобие также можно определить теоретико- порядковым способом, с точки зрения теории неподвижной точки , точнее, как наибольшую неподвижную точку определенной функции, определенной ниже.
Для помеченной системы переходов состояний ( , Λ, →) определите функцию от бинарных отношений над к бинарным отношениям над следующим образом:![{\displaystyle S}](data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7)
![{\displaystyle F: {\mathcal {P}}(S\times S)\to {\mathcal {P}}(S\times S)}](data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7)
![{\displaystyle S}](data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7)
![{\displaystyle S}](data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7)
Позвольте быть любым бинарным отношением над . определяется как набор всех пар в × таких, что:![{\displaystyle R}](data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7)
![{\displaystyle S}](data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7)
![{\displaystyle F(R)}](data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7)
![{\displaystyle (p,q)}](data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7)
![{\displaystyle S}](data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7)
![{\displaystyle S}](data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7)
![{\displaystyle \forall \alpha \in \Lambda .\,\forall p'\in S.\,p{\overset {\alpha }{\rightarrow }}p'\,\Rightarrow \,\exists q'\ в S.\,q{\overset {\alpha }{\rightarrow }}q'\,{\textrm {and}}\,(p',q')\in R}](data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7)
![{\displaystyle \forall \alpha \in \Lambda .\,\forall q'\in S.\,q{\overset {\alpha }{\rightarrow }}q'\,\Rightarrow \,\exists p'\ в S.\,p{\overset {\alpha }{\rightarrow }}p'\,{\textrm {and}}\,(p',q')\in R}](data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7)
Тогда биподобие определяется как наибольшая фиксированная точка .![{\displaystyle F}](data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7)
Определение игры Эренфойхта – Фрессе.
Бисимуляцию также можно рассматривать как игру между двумя игроками: нападающим и защитником.
«Атакующий» ходит первым и может выбрать любой допустимый переход из . То есть,![{\displaystyle \альфа }](data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7)
![{\displaystyle (p,q)}](data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7)
![{\displaystyle (p,q){\overset {\alpha }{\rightarrow }}(p',q)}](data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7)
![{\displaystyle (p,q){\overset {\alpha }{\rightarrow }}(p,q')}](data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7)
Затем «Защитник» должен попытаться соответствовать этому переходу, в зависимости от хода атакующего. Т.е. они должны найти такое, что:![{\displaystyle \альфа }](data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7)
![{\displaystyle (p',q)}](data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7)
![{\displaystyle (p,q')}](data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7)
![{\displaystyle \альфа }](data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7)
![{\displaystyle (p',q){\overset {\alpha }{\rightarrow }}(p',q')}](data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7)
![{\displaystyle (p,q'){\overset {\alpha }{\rightarrow }}(p',q')}](data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7)
Атакующий и защищающийся продолжают действовать поочередно до тех пор, пока:
- Защитник не может найти никаких допустимых переходов, соответствующих движению атакующего. В этом случае побеждает нападающий.
- Игра достигает состояний , которые оба «мертвы» (т. е. нет переходов ни из одного из состояний). В этом случае защитник выигрывает.
![{\displaystyle (p,q)}](data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7)
- Игра продолжается вечно, и в этом случае побеждает защитник.
- Игра достигает состояний , которые уже были посещены. Это эквивалентно бесконечной игре и засчитывается как победа защитника.
![{\displaystyle (p,q)}](data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7)
Согласно приведенному выше определению, система является бисимуляцией тогда и только тогда, когда существует выигрышная стратегия для защищающегося.
Коалгебраическое определение
Бисимуляция для систем с переходом состояний является частным случаем коалгебраической бисимуляции для типа ковариантного функтора степенного множества . Обратите внимание, что каждая система перехода между состояниями является биективной функцией от набора степеней индекса , записанного как , определенного как![{\displaystyle (S,\Lambda,\rightarrow)}](data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7)
![{\displaystyle \xi _ {\rightarrow }}](data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7)
![{\displaystyle S}](data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7)
![{\displaystyle S}](data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7)
![{\displaystyle \Lambda }](data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7)
![{\displaystyle {\mathcal {P}}(\Lambda \times S)}](data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7)
![{\displaystyle p\mapsto \{(\alpha,q)\in \Lambda \times S:p{\overset {\alpha }{\rightarrow }}q\}.}](data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7)
Пусть --е проекционное отображение на и соответственно для ; и прямое изображение определяется удалением третьего компонента![{\displaystyle \pi _{i}\двоеточие S\times S\to S}](data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7)
![{\displaystyle я}](data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7)
![{\displaystyle (p,q)}](data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7)
![{\ displaystyle p}](data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7)
![{\displaystyle q}](data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7)
![{\displaystyle я=1,2}](data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7)
![{\displaystyle {\mathcal {P}}(\Lambda \times \pi _{1})}](data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7)
![{\displaystyle \pi _{1}}](data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7)
![{\displaystyle P\mapsto \{(\alpha,p)\in \Lambda \times S:\exists q.(\alpha,p,q)\in P\}}](data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7)
![{\displaystyle P}](data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7)
![{\displaystyle \Lambda \times S\times S}](data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7)
![{\displaystyle {\mathcal {P}}(\Lambda \times \pi _{2})}](data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7)
Используя приведенные выше обозначения, отношение является бисимуляцией системы переходов тогда и только тогда, когда существует система переходов в отношении такая, что диаграмма![{\displaystyle R\subseteq S\times S}](data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7)
![{\displaystyle (S,\Lambda,\rightarrow)}](data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7)
![{\displaystyle \gamma \ двоеточие R \to {\mathcal {P}}(\Lambda \times R)}](data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7)
![{\displaystyle R}](data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7)
![](data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7)
коммутирует, т. е. при , уравнения![{\displaystyle я=1,2}](data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7)
![{\displaystyle \xi _{\rightarrow }\circ \pi _{i}={\mathcal {P}}(\Lambda \times \pi _{i})\circ \gamma }](data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7)
![{\displaystyle \xi _ {\rightarrow }}](data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7)
![{\displaystyle (S,\Lambda,\rightarrow)}](data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7)
Варианты бисимуляции
В особых контекстах понятие бисимуляции иногда уточняется путем добавления дополнительных требований или ограничений. Примером может служить бисимуляция заикания , в которой один переход одной системы может быть сопоставлен с несколькими переходами другой системы при условии, что промежуточные состояния эквивалентны начальному состоянию («заикания»). [3]
Применяется другой вариант, если система перехода состояний включает понятие молчаливого (или внутреннего ) действия, часто обозначаемого , т.е. действия, которые не видны внешним наблюдателям, тогда бисимуляцию можно ослабить до слабой бисимуляции , в которой, если два состояния и биподобны и существует некоторое количество внутренних действий, ведущих из в некоторое состояние , то должно существовать состояние такое, что существует некоторое количество (возможно, ноль) внутренних действий, ведущих из в . Отношение к процессам является слабой бисимуляцией, если выполняется следующее (при этом , и является наблюдаемым и немым переходом соответственно):![{\displaystyle \тау }](data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7)
![{\ displaystyle p}](data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7)
![{\displaystyle q}](data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7)
![{\ displaystyle p}](data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7)
![{\displaystyle p'}](data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7)
![{\displaystyle q'}](data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7)
![{\displaystyle q}](data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7)
![{\displaystyle q'}](data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7)
![{\displaystyle {\mathcal {R}}}](data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7)
![{\displaystyle {\mathcal {S}}\in \{{\mathcal {R}}, {\mathcal {R}}^{-1}\}}](data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7)
![{\displaystyle а,\тау}](data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7)
![{\displaystyle \forall p,q.\quad (p,q)\in {\mathcal {S}}\Rightarrow p {\stackrel {\tau }{\rightarrow }}p'\Rightarrow \exists q'.\ четырехъядерный q{\stackrel {\tau ^{\ast }}{\rightarrow }}q'\wedge (p',q')\in {\mathcal {S}}}](data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7)
![{\displaystyle \forall p,q.\quad (p,q)\in {\mathcal {S}}\Rightarrow p{\stackrel {a}{\rightarrow }}p'\Rightarrow \exists q'.\quad q {\stackrel {\tau ^{\ast }a\tau ^{\ast }}{\rightarrow }}q'\wedge (p',q')\in {\mathcal {S}}}](data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7)
Это тесно связано [ как? ] к понятию бисимуляции « до » отношения. [4]
Обычно, если система перехода состояний дает операционную семантику языка программирования , то точное определение бисимуляции будет зависеть от ограничений языка программирования. Поэтому, как правило, может существовать более одного вида отношений бисимуляции (соответственно бисходства) в зависимости от контекста.
Бисимуляция и модальная логика
Поскольку модели Крипке представляют собой частный случай (помеченных) систем с переходом состояний, бисимуляция также является темой модальной логики . По сути, модальная логика — это фрагмент логики первого порядка, инвариантный относительно бисимуляции ( теорема Ван Бентема ).
Алгоритм
Проверка того, что две конечные переходные системы являются биподобными, может быть выполнена за полиномиальное время . Самые быстрые алгоритмы являются квазилинейными по времени , используя уточнение разделения путем сведения к самой грубой задаче разделения.
Смотрите также
Примечания
- ^ Это означает, что объединение двух бисимуляций является бисимуляцией.
Рекомендации
дальнейшее чтение
- Парк, Дэвид (1981). «Параллелизм и автоматы на бесконечных последовательностях». В Деуссене, Питер (ред.). Теоретическая информатика . Материалы 5-й конференции GI, Карлсруэ. Конспекты лекций по информатике . Том. 104. Шпрингер-Верлаг . стр. 167–183. дои : 10.1007/BFb0017309. ISBN 978-3-540-10576-3.
- Милнер, Робин (1989). Коммуникация и параллелизм . Прентис Холл . ISBN 0-13-114984-9.
- Санджорджи, Давиде (2011). Введение в бисимуляцию и коиндукцию. Кембридж, Великобритания: Издательство Кембриджского университета. ISBN 9781107003637. ОСЛК 773040572.
Внешние ссылки
Программные инструменты
- CADP : инструменты для минимизации и сравнения систем с конечными состояниями в соответствии с различными бисимуляциями.
- mCRL2 : инструменты для минимизации и сравнения систем с конечным числом состояний в соответствии с различными бисимуляциями.
- Игра Бисимуляция Игра