Relation between transition systems in computer science
理論計算機科学 において 、双 模倣と は状態 遷移システム間の 二項関係 であり 、一方のシステムが他方のシステムをシミュレートし、その逆もまた同様であるように動作するシステムを関連付けます。
直感的に言えば、2つのシステムが双相似であるとは、あるルールに従ってゲーム をプレイしていると仮定した場合 、互いの動きが一致することを意味します。この意味では、観察者にとってそれぞれのシステムを区別することはできません。
ラベル付き状態遷移システム ( S ,Λ,→) ( S は状態の集合、 はラベルの集合、→はラベル付き遷移の集合(すなわち、のサブセット)) が与えられた場合 、 双模倣 は 二項関係であり、 R とその 逆は 両方とも シミュレーション である 。このことから、双模倣の 対称 閉包は双模倣であり、すべての対称シミュレーションは双模倣であることが分かる。したがって、一部の著者は双模倣を対称シミュレーションとして定義している。 [1] Λ {\displaystyle \Lambda } S × Λ × S {\displaystyle S\times \Lambda \times S} R ⊆ S × S {\displaystyle R\subseteq S\times S} R T {\displaystyle R^{T}}
同様に、 Rが 双模倣 となるのは、 R の すべての状態ペア と のすべてのラベル λ に対して次の条件が満たされる場合のみです 。 ( p , q ) {\displaystyle (p,q)} Λ {\displaystyle \Lambda }
ならば 、 が存在 する 。 p → λ p ′ {\displaystyle p\mathrel {\overset {\lambda }{\rightarrow }} p'} q → λ q ′ {\displaystyle q\mathrel {\overset {\lambda }{\rightarrow }} q'} ( p ′ , q ′ ) ∈ R {\displaystyle (p',q')\in R} ならば、 となるような が 存在する 。 q → λ q ′ {\displaystyle q\mathrel {\overset {\lambda }{\rightarrow }} q'} p → λ p ′ {\displaystyle p\mathrel {\overset {\lambda }{\rightarrow }} p'} ( p ′ , q ′ ) ∈ R {\displaystyle (p',q')\in R} S における 2つの状態 p と q が与えられたとき、 p が q と 双相似( と 表記 )であるための必要十分条件は、 となる双相似 R が存在することである。これは、 双 相似 関係 ∼ がすべての双相似の和集合であることを意味する。 すなわち、 ある双相似 R に対して となるとき、まさに となる。 p ∼ q {\displaystyle p\,\sim \,q} ( p , q ) ∈ R {\displaystyle (p,q)\in R} ( p , q ) ∈ ∼ {\displaystyle (p,q)\in \,\sim \,} ( p , q ) ∈ R {\displaystyle (p,q)\in R}
双似集合は和集合に関して閉じている。 [注 1] したがって、双似関係自体も双似である。これはすべての双似の和集合であるため、唯一の最大の双似である。双似は反射閉包、対称閉包、 推移閉包 に関しても閉じている。したがって、最大の双似は反射閉包、対称閉包、推移閉包でなければならない。このことから、最大の双似、すなわち双似は 同値関係 であることが分かる。 [2]
代替定義
リレーショナル定義 バイシミュレーションは、関係の合成の 観点から次のように定義できます 。
ラベル付き状態遷移システム が与えられたとき 、 双模倣 関係 は、 S 上の 二項関係 R (すなわち、 R ⊆ S × S )であり、 ( S , Λ , → ) {\displaystyle (S,\Lambda ,\rightarrow )} ∀ λ ∈ Λ {\displaystyle \forall \lambda \in \Lambda }
R ; → λ ⊆ → λ ; R {\displaystyle R\ ;\ {\overset {\lambda }{\rightarrow }}\quad {\subseteq }\quad {\overset {\lambda }{\rightarrow }}\ ;\ R} そして R − 1 ; → λ ⊆ → λ ; R − 1 {\displaystyle R^{-1}\ ;\ {\overset {\lambda }{\rightarrow }}\quad {\subseteq }\quad {\overset {\lambda }{\rightarrow }}\ ;\ R^{-1}}
関係合成の単調性と連続性から、双似集合は和集合(関係の半集合における結合)に関して閉じていることが直ちに示され 、 簡単 な代数計算により、双似性の関係(すべての双似性の結合)は同値関係であることが示される。この定義と、それに関連する双似性の扱いは、任意の合流的 量子 において解釈できる 。
固定点の定義 双類似性は、不動点理論 の観点から、 順序理論 的に定義することもでき 、より正確には、以下に定義される特定の関数の最大不動点として定義されます。
ラベル付き状態遷移システム ( , Λ, → ) が与えられたとき、 上の二項関係から 上の二項関係への 関数を 次のように定義します。 S {\displaystyle S} F : P ( S × S ) → P ( S × S ) {\displaystyle F:{\mathcal {P}}(S\times S)\to {\mathcal {P}}(S\times S)} S {\displaystyle S} S {\displaystyle S}
を 上の任意の二項関係とします 。 は、次の条件を満たす × 内の すべてのペアの集合として定義されます 。 R {\displaystyle R} S {\displaystyle S} F ( R ) {\displaystyle F(R)} ( p , q ) {\displaystyle (p,q)} S {\displaystyle S} S {\displaystyle S}
∀ λ ∈ Λ . ∀ p ′ ∈ S . p → λ p ′ ⇒ ∃ q ′ ∈ S . q → λ q ′ and ( p ′ , q ′ ) ∈ R {\displaystyle \forall \lambda \in \Lambda .\,\forall p'\in S.\,p{\overset {\lambda }{\rightarrow }}p'\,\Rightarrow \,\exists q'\in S.\,q{\overset {\lambda }{\rightarrow }}q'\,{\textrm {and}}\,(p',q')\in R} そして ∀ λ ∈ Λ . ∀ q ′ ∈ S . q → λ q ′ ⇒ ∃ p ′ ∈ S . p → λ p ′ and ( p ′ , q ′ ) ∈ R {\displaystyle \forall \lambda \in \Lambda .\,\forall q'\in S.\,q{\overset {\lambda }{\rightarrow }}q'\,\Rightarrow \,\exists p'\in S.\,p{\overset {\lambda }{\rightarrow }}p'\,{\textrm {and}}\,(p',q')\in R}
双類似度はの 最大の不動点 として定義されます 。 F {\displaystyle F}
エーレンフォイシュト・フライセ ゲームの定義 バイシミュレーションは、攻撃者と防御者の2人のプレイヤー間のゲームとして考えることもできます。 [3]
「攻撃者」が最初に行動し、から 任意の有効な遷移を選択することができます 。つまり 、 λ {\displaystyle \lambda } ( p , q ) {\displaystyle (p,q)} ( p , q ) → λ ( p ′ , q ) {\displaystyle (p,q){\overset {\lambda }{\rightarrow }}(p',q)} ( p , q ) → λ ( p , q ′ ) {\displaystyle (p,q){\overset {\lambda }{\rightarrow }}(p,q')}
「防御側」は攻撃側の動きに応じて、 または のいずれかからその遷移にマッチさせようと試みなければなりません 。つまり、以下の条件を満たすものを見つけなければなりません 。 または λ {\displaystyle \lambda } ( p ′ , q ) {\displaystyle (p',q)} ( p , q ′ ) {\displaystyle (p,q')} λ {\displaystyle \lambda } ( p ′ , q ) → λ ( p ′ , q ′ ) {\displaystyle (p',q){\overset {\lambda }{\rightarrow }}(p',q')} ( p , q ′ ) → λ ( p ′ , q ′ ) {\displaystyle (p,q'){\overset {\lambda }{\rightarrow }}(p',q')}
攻撃側と防御側は、次の状況になるまで交互にターンを続けます。
防御側は攻撃側の動きにマッチする有効なトランジションを見つけることができません。この場合、攻撃側が勝利します。 ゲームは 両方とも「デッド」な状態(つまり、どちらの状態からも遷移がない)に到達します。この場合、防御側が勝利します。 ( p , q ) {\displaystyle (p,q)} ゲームは永久に続き、その場合、防御側が勝利します。 ゲームは 既に訪れた状態 に到達します。これは無限プレイと同等であり、防御側の勝利となります。 ( p , q ) {\displaystyle (p,q)} 上記の定義によれば、防御側に勝利戦略が存在する場合のみ、システムは双シミュレーションとなります。
余代数的定義 状態遷移システムの双模倣は、共変冪集合 関数 の型に対する 余数的 双模倣の特別な場合である。すべての状態遷移システムは、 から の 冪 集合 へ の 関数に 全単射的に 写像でき、 と 表され 、次のように定義される。 ( S , Λ , → ) {\displaystyle (S,\Lambda ,\rightarrow )} ξ → {\displaystyle \xi _{\rightarrow }} S {\displaystyle S} S {\displaystyle S} Λ {\displaystyle \Lambda } P ( Λ × S ) {\displaystyle {\mathcal {P}}(\Lambda \times S)} p ↦ { ( λ , q ) ∈ Λ × S : p → λ q } . {\displaystyle p\mapsto \{(\lambda ,q)\in \Lambda \times S:p{\overset {\lambda }{\rightarrow }}q\}.}
を - 番目の 投影 と し 、 についてそれぞれ および にマッピングします 。 の 順 方向 像は、 のサブセットである 3 番目の要素を削除することによって定義されます 。 についても同様です 。 π i : S × S → S {\displaystyle \pi _{i}\colon S\times S\to S} i {\displaystyle i} ( p , q ) {\displaystyle (p,q)} p {\displaystyle p} q {\displaystyle q} i = 1 , 2 {\displaystyle i=1,2} P ( Λ × π 1 ) {\displaystyle {\mathcal {P}}(\Lambda \times \pi _{1})} π 1 {\displaystyle \pi _{1}} P ↦ { ( λ , p ) ∈ Λ × S : ∃ q . ( λ , p , q ) ∈ P } {\displaystyle P\mapsto \{(\lambda ,p)\in \Lambda \times S:\exists q.(\lambda ,p,q)\in P\}} P {\displaystyle P} Λ × S × S {\displaystyle \Lambda \times S\times S} P ( Λ × π 2 ) {\displaystyle {\mathcal {P}}(\Lambda \times \pi _{2})}
上記の表記法を用いると、関係が 遷移システム上の 双模倣と なるのは、 その関係上に 遷移システムが存在し、 その 図が R ⊆ S × S {\displaystyle R\subseteq S\times S} ( S , Λ , → ) {\displaystyle (S,\Lambda ,\rightarrow )} γ : R → P ( Λ × R ) {\displaystyle \gamma \colon R\to {\mathcal {P}}(\Lambda \times R)} R {\displaystyle R}
は可換である。つまり、 の場合 、方程式 は となり、 は の関数表現である 。 i = 1 , 2 {\displaystyle i=1,2} ξ → ∘ π i = P ( Λ × π i ) ∘ γ {\displaystyle \xi _{\rightarrow }\circ \pi _{i}={\mathcal {P}}(\Lambda \times \pi _{i})\circ \gamma } ξ → {\displaystyle \xi _{\rightarrow }} ( S , Λ , → ) {\displaystyle (S,\Lambda ,\rightarrow )}
バイシミュレーションの変種 特殊な文脈においては、双模倣の概念は、追加の要件や制約を加えることで洗練されることがある。例えば、 スタッター双模倣(stutter bisimulation )は、あるシステムの1つの遷移が、他のシステムの複数の遷移と一致する可能性があるが、その際、中間状態が開始状態と等しい(「スタッター」)ことを条件とする。 [4]
状態遷移システムに、サイレント (または 内部 )アクション (外部の観察者からは見えないアクション) の概念が含まれる場合は、別のバリエーションが適用されます。その場合、双模倣は、 弱い双模倣 に緩和されます。つまり、2 つの状態 と が双類似であり、 から 何らかの状態に 至る内部アクションがいくつかある場合、 から に至る内部アクションがいくつか(ゼロの場合もある)ある 状態が存在する必要があります 。プロセス上の関係 が弱い双模倣である場合、以下が成り立ちます( 、 、 は それぞれ観測可能な遷移とミュート遷移です)。 τ {\displaystyle \tau } p {\displaystyle p} q {\displaystyle q} p {\displaystyle p} p ′ {\displaystyle p'} q ′ {\displaystyle q'} q {\displaystyle q} q ′ {\displaystyle q'} R {\displaystyle {\mathcal {R}}} S ∈ { R , R − 1 } {\displaystyle {\mathcal {S}}\in \{{\mathcal {R}},{\mathcal {R}}^{-1}\}} a , τ {\displaystyle a,\tau }
∀ p , q . ( p , q ) ∈ S ⇒ p → τ p ′ ⇒ ∃ q ′ . q → τ ∗ q ′ ∧ ( p ′ , q ′ ) ∈ S {\displaystyle \forall p,q.\quad (p,q)\in {\mathcal {S}}\Rightarrow p{\stackrel {\tau }{\rightarrow }}p'\Rightarrow \exists q'.\quad q{\stackrel {\tau ^{\ast }}{\rightarrow }}q'\wedge (p',q')\in {\mathcal {S}}} ∀ p , q . ( p , q ) ∈ S ⇒ p → a p ′ ⇒ ∃ q ′ . q → τ ∗ a τ ∗ q ′ ∧ ( p ′ , q ′ ) ∈ S {\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}}}
これは、 関係「 までの 」双模倣の概念と密接に関係しています。 [ どのように? ] [5]
典型的には、 状態遷移システムが プログラミング言語 の 操作的意味論 を与える場合 、双模倣の正確な定義はプログラミング言語の制約に固有のものとなる。したがって、一般に、文脈に応じて複数の種類の双模倣(または双類似性)関係が存在する可能性がある。
双模倣と様相論理 クリプキモデルは (ラベル付き)状態遷移システムの特殊なケースであるため、双模倣は 様相論理 においても話題となる 。実際、様相論理は双模倣に関して不変な 一階述語論理 の一部である( ファン・ベンテムの定理 )。
アルゴリズム 2つの有限遷移システムが双相似であるかどうかのチェックは多項式時間 で実行できます 。 最も高速なアルゴリズムは、最も粗い 分割問題 への縮小による 分割改良 を使用した 準線形時間 です。
参照
注記 ^ 2 つの双模倣の結合は双模倣であることを意味します。
参考文献
さらに読む
外部リンク
CADP : さまざまな双シミュレーションに従って有限状態システムを最小化および比較するためのツール mCRL2 : さまざまな双シミュレーションに従って有限状態システムを最小化および比較するためのツール バイシミュレーションゲーム