当前位置: 首页 > news >正文

HSM - 分层状态机

一. 基础知识

1.1 从 FSM 到 HSM

1. FSM 有一个很大的局限性就是状态爆炸,有新增需求时需要维护所有状态

- 扁平结构:所有状态处于同一层级,无父子关系。 - 重复逻辑:通用事件(如 “急停”、“网络掉线”)需在每个状态中重复处理。 - 维护困难:修改全局逻辑需改动所有相关状态,易出错。

2. HSM 的解决方案:层级化

- 状态嵌套:将状态组织成树形结构,父状态定义通用行为,子状态实现具体逻辑。 - 事件冒泡:未被处理的事件自动向上传递给父状态,实现逻辑复用。 - 最小化转移:利用最近公共祖先(LCA)算法,仅切换必要的状态层级,提升效率。

结论:HSM 是 FSM 的超集,通过引入层级关系,解决了状态爆炸问题。

1.2 HSM的核心概念

1. 状态嵌套:

状态可以包含子状态,形成树形层级。

- 父状态:代表更抽象的概念,处理通用逻辑。 - 子状态:代表具体行为,继承父状态的逻辑。 - 叶子状态:没有子状态的末端状态,是状态机的实际活跃状态。

2. 事件冒泡:

事件从当前叶子状态开始,依次向上传递给父状态,直到被处理或到达根状态。

- 处理优先级:叶子状态 > 父状态 > 根状态。 - 核心价值:实现通用逻辑的统一处理,避免代码冗余。

3. LCA

最近公共祖先 (LCA) 转移 状态转移时,计算新旧状态链的最近公共祖先,仅退出旧链中 LCA 以下的状态,进入新链中 LCA 以下的状态。 避免重复进入 / 退出公共父状态,提升效率,保证状态切换的原子性

二. 代码

http://www.jsqmd.com/news/895057/

相关文章:

  • 2026年5月鸽哒IM即时通讯原生双端APP源码解析:支持视频通话与实时语音(附实测数据/可二开
  • 活久见的突发:AI比人贵了?微软禁自家工程师用AI
  • 2026年恒温恒湿试验箱厂家筛选与老化试验箱厂家推荐 从研发产能到定制服务全方位解析选型要点 - 栗子测评
  • Android内存泄漏检测利器:LeakCanary深度解析与实践指南
  • 淘来的二手Mellanox CX4 25G网卡,用lspci命令怎么快速验货和看关键信息?
  • Unity PC端内嵌网页开发避坑指南:从Embedded Browser 3.1.0插件安装到与Vue页面交互
  • 构建可靠多智能体系统:从记忆、验证到工具链的工程实践
  • Windows本地postgresql 17升级18
  • LeetCode 比较版本号:从 split 解法到双指针优化,彻底讲懂这道题
  • SQL核心技能全景图:DDL数据定义、DML安全操作、DQL高级查询、多表JOIN与窗口函数实战
  • CJ 4DPLEX 与科视 Christie 续签合作协议
  • 前门准则扩展:图模型视角下因果效应识别条件的放宽与验证
  • 【Lindy翻译工作流自动化实战指南】:20年本地化专家亲授5大不可跳过的自动化陷阱与避坑清单
  • 上蔡2026年亲测:靠谱电瓶品牌盘点
  • Cortex-M7 DSM仿真调试数据库缺失问题解决方案
  • API集成稳定性实战:防御静默变更与构建弹性架构
  • 海克斯大乱斗:一刀流(上篇)
  • STM32 USB自供电设备连接检测问题解决方案
  • 联邦学习梯度泄漏难题:基于区块链的群智学习如何破局?
  • 林散之的“当代草圣”都是被人吹出来的,说这话的人不在少数,那你再吹出来一个试试
  • 2026国内污水处理行业发展现状,一体化设备定制、刮泥机及沉淀池优质厂家综合推荐 - 栗子测评
  • 对接LangSmith
  • 3分钟学会专业LRC歌词制作!歌词滚动姬让你的音乐作品更专业
  • 构建AI代理智能数据管道:从手动投喂到自动化摄取
  • Claude提示词工程实战:从120条“秘密代码”中验证有效技巧与避坑指南
  • 明宣宗 朱瞻基
  • SkiaSharp + ViewFaceCore实战:手把手教你打造带标注保存功能的人脸识别Demo
  • 基于关节角度与1D-CNN的步态识别:原理、实现与工程应用
  • 强化学习与正则化Dropout优化中文任务型对话系统
  • A/B测试实战指南:从原理到实践,构建数据驱动决策体系