什么是设计复杂FSM的方法?

时间:2016-05-02 20:31:47

标签: complexity-theory fsm

在工作中,我们使用FSM。最近,我不得不为我认为的问题设计一个FSM,这对于一个简单的FSM来说有点太复杂了。为什么?因为该问题具有大约6个不同的数据维度,并且该数据的许多排列显着影响解决方案的行为。我的大脑认为" 6数据属性意味着这个数据的2 ^ 6 + 1排列"如果它都是布尔数据。此外,在任何给定时间都有大约8个输入。

这个问题让我意识到我的FSM创建技能停止在我的爱好项目中使用的简单问题。在工作中,我们被限制使用FSM。这意味着,我不能只说'#34;这个问题超出了FSM的范围。我会用别的东西。"实际上,我们现有的FSM平台确实为我们的解决方案提供了强大的动力。

问题:当问题足够复杂时,设计FSM的方法是什么?我对此进行了一些研究,发现了一些论文,老实说,这些论文对我没什么帮助。我希望有一些最好的做法,我要求的只是一个。拜托,谢谢。

1 个答案:

答案 0 :(得分:0)

我想你可能正在经历常见的状态转换爆炸"这是传统"扁平"的已知问题。有限状态机。传统的FSM"爆炸",因为它们在许多州造成相同反应的重复。密克罗尼西亚联邦缺乏任何机制来捕捉各州之间的行为共性。长期知道的解决方案是使用Hierarchical State Machines(a.k.a. Harel statecharts或UML state machines)。 HSM支持状态嵌套的概念,其中子状态从周围的超状态继承行为。正确使用时,状态嵌套消除了重复并抵消了爆炸"问题。对于FSM来说,大多数非平凡的问题都不易处理,但HSM可以很容易管理。