状态机的简化-建模竞赛题第2赛季第23轮解答

题目:

请改进以下图形(原题有错,离开S3的迁移出现两个无警戒条件的e4,现把其中一个改为e5)。


简化要点一:

如果发现进入某个状态的迁移都包含某个动作,可以考虑把该动作作为该状态的入口动作。

同理,

如果发现离开某个状态的迁移都包含某个动作,可以考虑把该动作作为该状态的出口动作。

如下:

观察题目中的图可发现:

进入状态S3的迁移都包含act1,act2;离开状态S3的迁移都包含act5。

可得:

简化要点二:

如果发现进入某状态有多个相同的迁移,可以考虑将多个源状态放入一个组合状态,然后将迁移的起点改为组合状态。

观察题目中的图可发现:

S2、S7进入S3的迁移一样。

可得:


weixinpanjiayu2.jpg