두 시뮬레이션이 언제 Bisimulation이 아닌가?


20

레이블이 지정된 전이 시스템 주어지면 , 여기서 는 상태 세트이고 는 레이블 세트이며 는 삼항 관계입니다. 평소와 같이 를 쓰십시오 . 레이블이 지정된 전환 는 상태 p 의 시스템 이 레이블 \ alpha를 사용 하여 상태를 q 로 변경 함을 나타냅니다 . 이는 \ alpha 가 상태 변경을 유발하는 관찰 가능한 조치임을 의미합니다 .S Λ S × Λ × S p α q ( p , α , q ) p α q p q α α(S,Λ,)SΛ→⊆S×Λ×Spαq(p,α,q)∈→pαqpqαα

이제 관계 RS×S시뮬레이션 iff

(p,q)R, if pαp then q,qαq and (p,q)R.

한 LTS는 다른 LTS 사이에 시뮬레이션 관계가있는 경우 다른 LTS를 시뮬레이션 한다고 합니다.

유사하게, 관계 RS×Sbi, iff (p,q)R,

 if pαp then q,qαq and (p,q)R and  if qαq then p,pαp and (p,q)R.

2 개의 LTS는 그들의 상태 공간 사이에 2 시뮬레이션이 존재하는 경우에 유사하다고한다.

분명히이 두 개념은 서로 관련이 있지만 동일하지는 않습니다.

어떤 조건 하에서 LTS가 다른 조건을 시뮬레이션하거나 그 반대의 경우도 있지만 두 LTS가 동일하지 않은 경우는 무엇입니까?

답변:


12

CCS 프로세스는 천 픽셀의 가치가 있으며 기본 LTS를 쉽게 볼 수 있기 때문에 서로를 시뮬레이트하지만 서로 다르지 않은 두 가지 프로세스가 있습니다.

Q = a b

P=ab+a
Q=ab

R1={(ab+a,ab),(b,b),(0,b),(0,0)} 은 시뮬레이션입니다.

R2={(ab,ab+a),(b,b),(0,0)} 은 시뮬레이션입니다.

P R1 Q 및 그러나 와 는 서로 다릅니다. 왜 안돼? 때문에, 유일한 되도록 인 ... 및 에 bisimilar 아니다 .Q R2 PPQPa0QQaQb0b

그러면 왜 서로 시뮬레이션 할 수 있습니까? 때문에 시뮬레이트 는 모든 것을 할 수 있기 때문에 않습니다. 그리고 를 시뮬레이션 경우에도 때문에 하나에 갈 수 아무것도하지 않는 프로그램에 - 스텝을, 아직도 할 수 - 스텝을, 모든 사용자들은이 시뮬레이션 뭔가합니다. Bisimulation과의 주요 차이점은 Charles가 말했듯이 동일한 프로세스를 두 시뮬레이션과 연관시켜야한다는 것입니다. (즉 등 모두 것을 와 시뮬레이션이다)PQQQPPaQaRRR1


10

각 방향으로 시뮬레이션이 있더라도 앞뒤 시뮬레이션은 동일한 상태 세트와 관련이 없을 수 있습니다. 때로는 한 방향으로 시뮬레이션 을 , 다른 방향으로 시뮬레이션 를, 과 관련이 있지만 와 관련이 없으며 같은 방향의 다른 시뮬레이션 과 관련이있는 두 가지 상태 과 가 있습니다 .R 2 p 1 q R 1 R 2R1R2p1qR1R2

정식 예제는 동일한 트레이스를 가지고 있지만 다르게 선택 하는 두 시스템입니다 . 두 가지 음료 기계를 고려하십시오. 첫 번째 기계 (악한 기계)는 동전 ( c)을 가져 와서 차 한 잔을 제공할지 여부를 결정적으로 결정합니다 ( t). 두 번째 기계 (좋은 기계)는 동전 ( c)을 가져 와서 차 한 잔 ( )을 전달합니다 t.

초기와 늦은 선택

좋은 기계는 사악한 기계를 시뮬레이트합니다 : . 포함하여 모든 주에서 나가는 전이는 다루어진다 . 좋은 기계가 과 의 차이를 어떻게 잊어 버렸는지 주목하십시오 .r r pR1={(s,s),(p,p),(q,q),(r,p)}rrp

사악한 기계는 좋은 기계를 시뮬레이트합니다 : . 이 시뮬레이션에서는 상태 을 사용하지 않습니다. 사실, 그것은 사용에 대한 시뮬레이션 할 수 없습니다 이후, 길이의 추적있는 상태에 매핑해야합니다 가되어야한다, 그래서 수 ; 는 레이블 사용하여 의 후속 작업에 매핑되어야 하므로 또는 이지만 해당 상태는 길이 의 가능한 트레이스를 가져야 하므로 이어야합니다 . 그리고 같은 이유로 는R2={(s,s),(p,p),(q,q)}rrs2spscpr1pqq , 어떤 상태도 에 매핑 할 가능성이 없다 .r

한 방향으로 시뮬레이션하면 어딘가에 보내야합니다 . 다른 방향의 시뮬레이션은 피해야합니다 . 따라서 양방향으로 시뮬레이션하는 관계는 없습니다. 시스템은 서로 유사하지 않습니다.rr

두 기계의 차이점은 좋은 기계는 결정 론적이며 (생존을 가정 할 때) 동전을 넣으면 항상 차를 내 보낸다는 것입니다.

이러한 종류의 차이점은 동시 시스템 연구에서 종종 발생합니다. jmad의 답변 은이 LTS의 CCS 프로세스를 보여줍니다.

bisimulations에 대한 자세한 내용은 Davide Sangiorgi의 bisimulation and coinduction의 기원에 대한 메모 를 참조하십시오 . (이것은 연습 1 p. 29이며, 노트는 같은 예를 사용합니다.)


두 개의 단방향 시뮬레이션이 양이 동일하지 않다는 사실은 시뮬레이션이 비결정론이있을 때 근사치의 올바른 아이디어가 아니라는 것을 암시합니다. 고려 된 다른 아이디어가 있습니까?
Uday Reddy

2

만약 질 '응답이 실제로 매우 좋은 포멀하고, 에 의해 시뮬레이션 L T S 2 관계식으로 RL T S 2 로 시뮬레이션 L T S 1 의 역으로 R 후, R은 이고 bisimulation.LTS1LTS2RLTS2LTS1RR

그러나 두 관계가 서로 역의 관계가 아닌 경우에는 bisimulation을 구축하지 못할 수 있습니다. 예를 들어, 간단한 예는 빈 관계가 모든 LTS에 대한 시뮬레이션이라는 사실에서 비롯됩니다. 따라서 관계식 R 을 갖는 L T S 2 을 시뮬레이션 할 수 있고, L T S 2 는 관계가 비어있는 L T S 1 으로 시뮬레이션 할 수 있지만 R 은 반드시 이중 시뮬레이션 일 필요는 없습니다. 빈 관계는 또한 모든 LTS에 대한 시뮬레이션입니다.LTS1LTS2RLTS2LTS1R


내가 말하려고하는 것은 실제로 두 LTS가이 분형 인 경우이므로 실제로는 특정 관계가 (bi) 시뮬레이션인지 아닌지에 대한 실제 질문입니다.
Charles
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.