C++ 有限状态机与ID3决策树
我有一个项目,它运行在一个类似Arduino的微控制器上,目前它是一个混合的IF-ELSE语句的汤,很难遵循,因为所有不同的“规则”都被应用并在各州移动。我基本上有(6)种模式/状态,它们被包装到函数中,这些函数通过主循环中的Case语句进行管理,转换所需的更改被隐藏在这些函数的顶部,以允许几乎任何状态转换到另一个状态。通过一些研究,我找到了有限状态机(FSM),但我也看到很多人指向ID3和类似的决策树。确定状态的输入是明确定义/已知的。如果我的系统没有试图解决“已知未知问题”,那么决策树和FSM的努力是否值得呢?如果您使用ID3,它将对每个新的“输入”执行相同的过程,以生成输出/状态,在FSM中,您可以在一个步骤中从一个状态移动到另一个状态C++ 有限状态机与ID3决策树,c++,machine-learning,arduino,decision-tree,fsm,C++,Machine Learning,Arduino,Decision Tree,Fsm,我有一个项目,它运行在一个类似Arduino的微控制器上,目前它是一个混合的IF-ELSE语句的汤,很难遵循,因为所有不同的“规则”都被应用并在各州移动。我基本上有(6)种模式/状态,它们被包装到函数中,这些函数通过主循环中的Case语句进行管理,转换所需的更改被隐藏在这些函数的顶部,以允许几乎任何状态转换到另一个状态。通过一些研究,我找到了有限状态机(FSM),但我也看到很多人指向ID3和类似的决策树。确定状态的输入是明确定义/已知的。如果我的系统没有试图解决“已知未知问题”,那么决策树和FS
因此,在您的案例中,使用ID3似乎真的增加了不必要的强制性。我会选择FSM 金融稳定机制被严重低估,无论如何都要努力。早在90年代,UML就非常流行(我和几个人一起工作,他们用SDL实现了一个带有软件的调制解调器),但后来UML作为一个过度工程的东西出现了,并扼杀了SDL,所以。当然,在执行完整的实现时,其复杂性与直接编写代码大致相同,但仅仅绘制(总体)状态图(在纸上或可能使用graphviz)是非常有价值的。