【问题标题】:Finite State Machine vs ID3 Decision Tree有限状态机与 ID3 决策树
【发布时间】:2015-09-13 16:20:06
【问题描述】:

我有一个在类似 Arduino 的微控制器上运行的项目,它目前是混合的 IF ELSE 语句,由于应用了所有不同的“规则”并在各个状态中移动,因此很难遵循这些语句。我基本上有 (6) 个模式/状态,这些模式/状态已被包装到通过主循环中的 Case 主干进行管理的函数中,并且转换所需的更改隐藏在这些函数的顶部,以允许几乎任何状态转换到另一个状态。一些研究使我找到了有限状态机 (FSM),但我也看到很多人指向 ID3 和类似的决策树。确定状态的输入是明确定义/已知的。鉴于我的系统没有尝试解决“已知未知数”,决策树与 FSM 的努力是否值得?

【问题讨论】:

  • FSM 被严重低估了,一定要去做。早在 90 年代,SDL 非常受欢迎(我曾与几个在 SDL 中使用软件实现调制解调器的人一起工作),但后来 UML 出现了一个大规模过度设计的东西并扼杀了 SDL,所以tools are hard to find。当然,在进行完整实现时,复杂性与直接编写代码大致相同,但仅绘制(整体)状态图(在纸上或可能使用 graphviz)非常有价值。

标签: c++ machine-learning arduino decision-tree fsm


【解决方案1】:

如果您使用 ID3,它将对每个新的“输入”执行相同的过程以生成输出/状态,在 FSM 中,您只需一步即可从一个状态移动到另一个状态。

因此,在您的情况下,使用 ID3 似乎确实增加了不必要的复杂性。我会选择FSM。

【讨论】:

    猜你喜欢
    • 2015-02-18
    • 1970-01-01
    • 2011-01-18
    • 2012-05-28
    • 1970-01-01
    • 2018-07-07
    • 2011-12-31
    • 2014-03-12
    • 2012-10-05
    相关资源
    最近更新 更多