Jump to content

Simulation (computer science)

From Wikipedia, the free encyclopedia
This is an old revision of this page, as edited by CHANGE THE STUPID USERNAME ALREADY (talk | contribs) at 21:52, 19 April 2021 (Řiťopič moved page Simulation preorder to Simulation (computer science): The page discusses the general concept of simulation; simulation preorder is a special kind of simulation. "Simulation preorder" is the same to "simulation" as "bisimilarity" is to "bisimulation"; the bisimulation page is not called "bisimilarity", so this page should not be called "simulation preorder".). The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.

In theoretical computer science a simulation is a relation between state transition systems associating systems that behave in the same way in the sense that one system simulates the other.

Intuitively, a system simulates another system if it can match all of its moves.

The basic definition relates states within one transition system, but this is easily adapted to relate two separate transition systems by building a system consisting of the disjoint union of the corresponding components.

Formal definition

Given a labelled state transition system (, , →), where is a set of states, is a set of labels and → is a set of labelled transitions (i.e., a subset of ), a relation is a simulation iff for every pair of states in and all labels α in :

if , then there is such that

Equivalently, in terms of relational composition:

Given two states and in , simulates , written , iff there is a simulation such that . The relation is called the simulation preorder, and it is the union of all simulations: precisely when for some simulation .

The set of simulations is closed under union;[Note 1] therefore, the simulation preorder is itself a simulation. Since it is the union of all simulations, it is the unique largest simulation. Simulations are also closed under reflexive and transitive closure; therefore, the largest simulation must be reflexive and transitive. From this follows that the largest simulation — the simulation preorder — is indeed a preorder relation.[1] Note that there can be more than one relation which is both a simulation and a preorder;[Note 2] the term simulation preorder refers to the largest one of them (which is a superset of all the others).

Two states and are said to be similar, written , iff simulates and simulates . Similarity is thus the maximal symmetric subset of the simulation preorder, which means it is reflexive, symmetric, and transitive; hence an equivalence relation. However, it is not necessarily a simulation, and precisely in those cases when is is not a simulation, it is strictly coarser than bisimilarity.[Note 3]


  1. ^ Meaning the union of two simulations is a simulation.
  2. ^ Consider the relations and — each is both a simulation and a preorder.
  3. ^ For an example, see Fig. 1 in Template:Cite article

Similarity of separate transition systems

When comparing two different transition systems (S', Λ', →') and (S", Λ", →"), the basic notions of simulation and similarity can be used by forming the disjoint composition of the two machines, (S, Λ, →) with S = S' ∐ S", Λ = Λ' ∪ Λ" and → = →' ∪ →", where ∐ is the disjoint union operator between sets.

See also

References

  1. Park, David (1981). "Concurrency and Automata on Infinite Sequences" (PDF). In Deussen, Peter (ed.). Proceedings of the 5th GI-Conference, Karlsruhe. Lecture Notes in Computer Science. Vol. 104. Springer-Verlag. pp. 167–183. doi:10.1007/BFb0017309. ISBN 978-3-540-10576-3.
  2. van Glabbeek, R. J. (2001). "The Linear Time – Branching Time Spectrum I: The Semantics of Concrete, Sequential Processes". Handbook of Process Algebra. Elsevier. pp. 3–99.
  1. ^ Milner, Robin (1989). Communication and Concurrency. USA: Prentice-Hall, Inc. ISBN 0131149849.