状态机的简化-建模竞赛题第2赛季第23轮解答
题目:
请改进以下图形(原题有错,离开S3的迁移出现两个无警戒条件的e4,现把其中一个改为e5)。

简化要点一:
如果发现进入某个状态的迁移都包含某个动作,可以考虑把该动作作为该状态的入口动作。
同理,
如果发现离开某个状态的迁移都包含某个动作,可以考虑把该动作作为该状态的出口动作。
如下:

观察题目中的图可发现:

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

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

观察题目中的图可发现:

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

