No edit summary |
No edit summary |
||
Line 11: | Line 11: | ||
* nauty: This approach translates a B state into a graph and uses the nauty package in order to compute a canonical form of this graph. If two states have the same canonical form, they are considered equivalent and only one of them is explored. [http://www.stups.uni-duesseldorf.de/ProB/probpublications.php?id=229 More details can be found in this article]. | * nauty: This approach translates a B state into a graph and uses the nauty package in order to compute a canonical form of this graph. If two states have the same canonical form, they are considered equivalent and only one of them is explored. [http://www.stups.uni-duesseldorf.de/ProB/probpublications.php?id=229 More details can be found in this article]. | ||
* hash: This approach computes a symbolic hash value for every state, having the important property that two symmetric states have the same hash value. Note that this is an "approximate" method, as two non-symmetric states may also be mapped to the same hash value. [http://www.stups.uni-duesseldorf.de/ProB/probpublications.php?id=212 More details can be found in this paper]. | * hash: This approach computes a symbolic hash value for every state, having the important property that two symmetric states have the same hash value. Note that this is an "approximate" method, as two non-symmetric states may also be mapped to the same hash value. [http://www.stups.uni-duesseldorf.de/ProB/probpublications.php?id=212 More details can be found in this paper]. | ||
=References= | |||
<references /> |
ProB can make use of symmetries induced by the use of deferred sets in B (and given sets in Z).
Warning: turning on symmetry reduction will also influence the way that animation works. In other words, when executing an operation, the animator may transfer you to an equivalent symmetric state (rather than to the one you may have expected).
In the Symmetry menu of the Preferences menu you can choose the following: