4.4.4 实例分析

更新于 2026年10月10日 版权声明
4.4.4 实例分析

本节对于一组包含等式和不等式的被测程序进行分析,如图4-37所示,通过提取约束后获得约束集合C{x 1>0,x 2>0,x 1-x 2>0,x 1+x 2=4},建立TGRLM模型。

分支限界搜索算法根据路径分析的结果及参数类型,将约束集合中变量的取值限定在[-9,9]之间。为了便于对模型进行说明,将所有变量取值限定在[-2,2]。遍历所有变量的取值可以获得所有的状态集合,如表4-24所示。

表4-24 状态集S

图示

动作集选取{Up,Down,Left,Right},代表智能体在状态集中具体状态之间的转换。假设当前状态为S 13{0,0},选择Up后状态会转移到S 8{0,-2};选择Down后状态会转移到S 18{0,1};选择Left后状态会转移到S 12{-1,0};选择Right后状态会转移到S 14{1,0}。上述过程可以表示为图示。

根据约束集合C及上文定义的奖惩函数r 1=F 1*n+F 2×(N-n),其中F 1取值为5,F 1取值为-5。构建R矩阵如下:

图示

执行Q-learning算法,训练得到一组Q(S,a)矩阵,如表4-25所示。参考Q(S,a)矩阵并利用通过策略π构建求解行为路径算法,如果初始状态是S 1,整个求解该约束流程可以表示为(https://www.daowen.com)

图示

即求解约束集合C{x 1>0,x 2>0,x 1-x 2>0,x 1+x 2=4},如果变量x 1和x 2初始值为{x 1=-2,x 2=-2},即对应表4-25中的S 1。整个过程中变量取值描述如表4-26所示。

表4-25 训练完成的Q(S,a)矩阵

图示

续表

图示

表4-26 变量运算取值描述

图示

↑上一章 ↓下一章
关注公众号获取验证码
复制内容需要验证码(7.99元/天)