第45章 行为—动作—反馈理论
45.1 提出背景
第44章建立了“知识—方法—行为理论”,解决了结构化知识如何经过方法组织形成行为能力的问题。
但是,行为形成以后,机器仍然不能停留在“形成行为”这一层面。
因为行为必须执行。
例如,机器已经形成:
目标:恢复设备运行
行为:维修电机
方法:更换损坏电机
此时还必须进一步确定:
断电
→ 拆卸
→ 取出旧电机
→ 安装新电机
→ 接线
→ 通电
→ 测试
这些具体执行单元就是动作。
动作执行以后,又会产生新的结果:
测试
→ 电机正常运行
或者:
测试
→ 电机仍然不运行
因此,行为系统不能只有“行为形成”,还必须具有:
行为 → 动作 → 结果 → 反馈 → 状态更新 → 行为调整
由此,本章建立机器行为执行闭环。
核心过程为:
行为形成 → 动作组织 → 动作执行 → 结果产生 → 反馈获取 → 状态更新 → 行为调整 → 新动作执行
这使机器行为从静态结构进入动态过程。
45.2 行为的定义
行为(Behavior)是机器在特定目标、对象、状态、场景和条件下,根据选定方法形成的目标导向执行结构。
行为具有整体性。
例如:
行为:维修设备
并不等于一个动作。
它可能包含:
检查
→ 判断
→ 拆卸
→ 更换
→ 安装
→ 测试
因此:
Behavior≠ActionBehavior \neq Action
行为是动作的组织结构。
可以表示为:
B=⟨G,O,S,Sc,M,A,F⟩B=\langle G,O,S,Sc,M,A,F\rangle
其中:
- BB:行为;
- GG:目标;
- OO:对象;
- SS:状态;
- ScSc:场景;
- MM:方法;
- AA:动作集合;
- FF:反馈。
45.3 动作的定义
动作(Action)是机器行为中能够对对象、状态、关系或环境产生具体改变的最小执行单元。
例如:
打开开关
关闭设备
读取温度
拆卸螺丝
安装零件
启动设备
停止设备
这些都可以作为动作。
动作可以表示为:
A=⟨O,C,P,E⟩A=\langle O,C,P,E\rangle
其中:
- AA:动作;
- OO:动作作用对象;
- CC:动作执行条件;
- PP:动作参数;
- EE:动作预期结果。
因此,一个动作并不是简单的“命令”。
动作必须具有:
对象 + 条件 + 参数 + 执行 + 结果
45.4 行为与动作的层级关系
行为是高层结构,动作是低层执行单元。
例如:
行为:设备维修
↓
动作1:停止设备
↓
动作2:断开电源
↓
动作3:拆卸外壳
↓
动作4:检查电机
↓
动作5:更换电机
↓
动作6:安装外壳
↓
动作7:通电测试
因此:
B→{A1,A2,…,An}B \rightarrow \{A_1,A_2,\ldots,A_n\}
其中:
- BB:行为;
- A1…AnA_1\ldots A_n:组成行为的动作。
行为决定动作集合及其整体目标。
动作负责完成行为的具体执行。
因此:
行为负责组织,动作负责执行。
45.5 动作序列
一个行为通常包含多个动作。
动作之间存在顺序关系:
A1→A2→A3→⋯→AnA_1 \rightarrow A_2 \rightarrow A_3 \rightarrow \cdots \rightarrow A_n
例如:
停止设备
→ 断电
→ 拆卸
→ 更换
→ 安装
→ 通电
→ 测试
动作顺序不是任意排列。
例如:
通电
→ 拆卸
在很多维修场景中是不合理的。
因此动作之间需要建立:
先后关系、条件关系、依赖关系、互斥关系和结果关系。
45.6 动作执行条件
动作并不是任何时候都能够执行。
例如:
动作:拆卸电机
条件:设备必须断电
因此:
Execute(A) ⟺ Condition(A)=TrueExecute(A) \iff Condition(A)=True
其中:
- Execute(A)Execute(A):执行动作 AA;
- Condition(A)Condition(A):动作 AA 的执行条件。
如果:
设备状态 = 通电
则:
拆卸电机 = 不允许执行
只有:
设备状态 = 断电
才能进入下一动作。
因此,条件是动作执行的重要控制结构。
45.7 动作参数
同一种动作可能具有不同参数。
例如:
动作:调整温度
参数:目标温度 = 25℃
或者:
动作:移动设备
参数:
距离 = 10m
方向 = 前方
速度 = 1m/s
因此动作可以进一步表示为:
A=⟨Type,Object,Parameter,Condition,Result⟩A=\langle Type,Object,Parameter,Condition,Result\rangle
其中:
- TypeType:动作类型;
- ObjectObject:动作对象;
- ParameterParameter:动作参数;
- ConditionCondition:执行条件;
- ResultResult:预期结果。
动态参数使同一个动作能够适用于不同对象和不同场景。
45.8 行为执行
行为执行不是一次性完成的。
行为执行过程是:
行为
→ 获取动作
→ 检查条件
→ 装载参数
→ 执行动作
→ 获取结果
→ 判断结果
→ 决定下一动作
因此:
B→Ai→ResultiB \rightarrow A_i \rightarrow Result_i
然后:
Resulti→Ai+1Result_i \rightarrow A_{i+1}
也就是说,前一个动作的结果可以决定后一个动作是否继续执行。
45.9 反馈的定义
反馈(Feedback)是机器在执行动作或行为以后获得的结果信息,并将该结果返回认知与控制系统的过程。
反馈不是简单的数据记录。
例如:
动作:
启动设备
预期:
设备正常运行
实际:
设备没有启动
那么:
反馈:
启动失败
反馈可以表示为:
F=⟨A,E,R,D⟩F=\langle A,E,R,D\rangle
其中:
- AA:已执行动作;
- EE:预期结果;
- RR:实际结果;
- DD:结果差异。
其中:
D=R−ED=R-E
这里的“差异”并不一定是数值差,也可以是离散状态差异。
例如:
预期状态 = 运行
实际状态 = 停止
则:
状态差异 = 运行 ≠ 停止
45.10 反馈的作用
反馈主要承担四个功能:
第一,确认动作是否完成。
第二,确认预期结果是否出现。
第三,更新对象状态。
第四,决定下一步行为。
因此:
动作
→ 结果
→ 反馈
→ 状态更新
→ 下一动作
例如:
启动设备
→ 设备启动成功
→ 反馈正常
→ 状态 = 运行
→ 进入监测动作
如果:
启动设备
→ 启动失败
→ 反馈异常
→ 状态 = 故障
→ 重新匹配故障知识
→ 形成新的处理行为
所以反馈具有行为控制功能。
45.11 预期结果与实际结果
行为执行过程中必须区分:
预期结果与实际结果。
设:
Ea=ExpectedResult(A)E_a = ExpectedResult(A)
表示动作 AA 的预期结果。
设:
Ra=ActualResult(A)R_a = ActualResult(A)
表示动作 AA 的实际结果。
则可以进行:
Ra↔EaR_a \leftrightarrow E_a
比较。
如果:
Ra=EaR_a=E_a
则:
动作成功
→ 继续行为
如果:
Ra≠EaR_a\neq E_a
则:
动作异常
→ 分析反馈
→ 更新认知
→ 调整行为
这构成行为执行中的基本判断机制。
45.12 行为执行闭环
机器行为真正的闭环不是:
行为 → 动作
而是:
行为 → 动作 → 结果 → 反馈 → 状态更新 → 下一动作
完整表示为:
行为
↓
动作选择
↓
条件检查
↓
动作执行
↓
结果获取
↓
反馈
↓
结果判断
↓
状态更新
↓
继续行为 / 调整行为
↓
下一动作
最终:
行为
→ 动作
→ 结果
→ 反馈
→ 状态更新
→ 行为调整
→ 动作
→ 结果
→ 反馈
形成循环。
45.13 行为成功闭环
如果所有动作都达到预期结果,则行为可以正常结束。
例如:
维修行为
→ 断电成功
→ 拆卸成功
→ 更换成功
→ 安装成功
→ 通电成功
→ 测试成功
→ 设备恢复运行
最终:
目标:恢复设备运行
实际状态:设备运行
于是:
GoalState=CurrentStateGoalState=CurrentState
行为完成。
形成:
目标 → 行为 → 动作 → 结果 → 反馈 → 目标达成
45.14 行为失败闭环
如果某个动作失败,则不能简单地继续执行后面的动作。
例如:
更换电机
→ 通电
→ 电机仍然不转
此时:
预期:
电机运行
实际:
电机不运行
反馈系统发现:
Actual≠ExpectedActual \neq Expected
于是:
动作失败
→ 停止当前行为
→ 重新识别状态
→ 匹配知识
→ 选择新方法
→ 形成新行为
因此行为系统具有:
继续、停止、重试、调整、重新规划等基本控制结构。
45.15 行为调整
反馈不仅能够判断成功与失败,还可以改变当前行为。
例如:
行为:
降低设备温度
动作:
降低负载
反馈:
温度仍然升高
机器重新判断:
当前行为效果不足
然后:
增加散热
→ 重新检测
如果仍然失败:
停止设备
因此:
Feedback→BehaviorAdjustmentFeedback \rightarrow BehaviorAdjustment
反馈直接参与行为控制。
45.16 行为状态
一个行为自身也具有状态。
可以定义:
待执行
→ 执行中
→ 暂停
→ 成功
→ 失败
→ 终止
表示为:
StateB(t)→StateB(t+1)State_B(t)\rightarrow State_B(t+1)
例如:
维修行为
状态 = 待执行
↓
状态 = 执行中
↓
状态 = 测试中
↓
状态 = 成功
如果测试失败:
状态 = 执行中
→ 状态 = 失败
→ 重新进入认知
因此行为本身也是动态对象。
45.17 动作状态
动作同样具有生命周期:
待执行
→ 条件检查
→ 执行中
→ 完成
→ 反馈
如果失败:
待执行
→ 执行中
→ 失败
因此:
ActionState(t)→ActionState(t+1)ActionState(t)\rightarrow ActionState(t+1)
行为系统可以通过动作状态判断整个行为的当前进度。
45.18 动作与对象状态变化
动作的本质之一是引起对象状态变化。
例如:
对象:
设备
动作:
启动
状态:
停止 → 运行
或者:
对象:
电机
动作:
更换
状态:
故障 → 新电机安装
因此:
A→St→St+1A \rightarrow S_t \rightarrow S_{t+1}
动作作用于对象,使对象从当前状态进入新的状态。
这也是机器行为能够改变世界的基础。
45.19 行为与世界状态变化
如果把单个对象状态变化进一步扩大到整个场景,则:
Worldt→Behavior+ActionWorldt+1World_t \xrightarrow{Behavior+Action} World_{t+1}
例如:
World_t
设备故障
↓
维修行为
↓
多个动作
↓
设备状态改变
↓
World_{t+1}
设备恢复运行
因此,行为不是孤立存在的。
行为实际上是机器改变世界状态的主要机制之一。
形成:
认知 → 行为 → 动作 → 世界状态变化 → 反馈 → 新认知
45.20 行为执行的控制模型
机器执行行为时,可以建立如下控制结构:
当前认知
+
目标
+
行为
↓
动作选择
↓
条件检查
↓
参数确定
↓
动作执行
↓
结果获取
↓
反馈
↓
结果判断
↙ ↘
成功 失败
↓ ↓
下一动作 行为调整
↓ ↓
继续执行 新行为
↘ ↙
反馈
↓
状态更新
因此行为执行本质上是一个动态控制过程。
45.21 行为执行的一般公式
可以建立行为执行函数:
Bt+1=F(Bt,At,Rt,Ft,St+1,G)B_{t+1}=F(B_t,A_t,R_t,F_t,S_{t+1},G)
其中:
- BtB_t:当前行为;
- AtA_t:当前动作;
- RtR_t:动作实际结果;
- FtF_t:反馈;
- St+1S_{t+1}:更新后的状态;
- GG:目标;
- Bt+1B_{t+1}:下一阶段行为状态或调整后的行为。
动作执行可以表示为:
At+St+Ct→RtA_t + S_t + C_t \rightarrow R_t
其中:
- AtA_t:当前动作;
- StS_t:当前状态;
- CtC_t:执行条件;
- RtR_t:动作结果。
反馈则:
Rt→FtR_t \rightarrow F_t
状态更新:
St+Ft→St+1S_t+F_t\rightarrow S_{t+1}
最终:
Bt→At→Rt→Ft→St+1→Bt+1B_t\rightarrow A_t\rightarrow R_t\rightarrow F_t\rightarrow S_{t+1}\rightarrow B_{t+1}
这就是机器行为执行闭环的形式化表达。
45.22 行为闭环与认知闭环
行为执行闭环和认知系统并不是两个完全独立的系统。
行为执行产生反馈,反馈重新进入认知系统。
完整过程为:
目标
→ 认知
→ 匹配
→ 知识
→ 方法
→ 行为
→ 动作
→ 结果
→ 反馈
→ 状态更新
→ 新认知
→ 新匹配
→ 新方法
→ 新行为
因此形成更大的认知—行为闭环:
Cognition→Behavior→Action→Feedback→Cognition′Cognition \rightarrow Behavior \rightarrow Action \rightarrow Feedback \rightarrow Cognition’
其中:
- CognitionCognition:当前认知;
- BehaviorBehavior:当前行为;
- ActionAction:执行动作;
- FeedbackFeedback:动作反馈;
- Cognition′Cognition’:更新后的认知。
这使机器具备连续运行能力。
45.23 工程映射
在WSaiOS工程中,本理论可以对应以下核心对象:
Behavior
Action
ActionParameter
ActionCondition
ActionResult
Feedback
BehaviorState
ActionState
可以定义行为对象:
class Behavior
{
protected $goal;
protected $object;
protected $state;
protected $scene;
protected $method;
protected $actions;
protected $status;
}
动作对象:
class Action
{
protected $type;
protected $object;
protected $parameters;
protected $conditions;
protected $expectedResult;
protected $actualResult;
protected $status;
}
反馈对象:
class Feedback
{
protected $action;
protected $expectedResult;
protected $actualResult;
protected $difference;
protected $stateChange;
}
45.24 行为执行引擎
工程上可以建立:
BehaviorEngine
↓
ActionEngine
↓
ExecutionEngine
↓
FeedbackEngine
↓
StateEngine
↓
BehaviorEngine
其中:
BehaviorEngine负责形成和管理行为。
ActionEngine负责解析行为中的动作。
ExecutionEngine负责实际执行动作。
FeedbackEngine负责获取动作结果。
StateEngine负责更新对象、场景和行为状态。
状态更新以后重新进入BehaviorEngine。
因此形成:
BehaviorEngine → ActionEngine → ExecutionEngine → FeedbackEngine → StateEngine → BehaviorEngine
这就是工程意义上的行为执行闭环。
45.25 数据结构映射
数据库可以建立:
behaviors
behavior_actions
actions
action_conditions
action_parameters
action_results
feedbacks
behavior_states
action_states
其核心关系为:
behavior
↓
behavior_actions
↓
action
↓
action_parameters
↓
execution
↓
action_result
↓
feedback
↓
state_update
↓
behavior
这样可以完整保存一次行为执行过程。
例如:
行为ID:B001
动作ID:A001
动作:停止设备
状态:完成
结果:设备停止
反馈:正常
然后进入:
动作ID:A002
动作:断电
因此机器能够记录行为执行的全过程。
45.26 行为日志与执行记忆
每一次行为执行都可以形成执行记录:
目标
对象
场景
行为
动作
参数
执行时间
执行状态
预期结果
实际结果
反馈
状态变化
最终结果
这些结构能够成为机器后续学习和经验形成的基础。
例如:
过去:
更换电机
→ 成功
以后再次出现类似状态时,可以直接匹配:
当前状态
→ 历史行为
→ 成功方法
→ 行为形成
因此行为执行记录可以进入经验系统。
形成:
行为执行 → 反馈记录 → 经验形成 → 后续行为调用
45.27 行为闭环的完整模型
综合本章,可以建立WSaiOS机器行为闭环:
目标
↓
当前认知
↓
知识
↓
方法
↓
行为
↓
动作选择
↓
动作条件检查
↓
动作参数确定
↓
动作执行
↓
实际结果
↓
反馈
↓
结果比较
↓
状态更新
↓
目标判断
↓
┌───────────────┐
│ │
目标未完成 目标完成
│ │
↓ ↓
行为调整 行为结束
↓
新行为
↓
新动作
↓
反馈
可以进一步表示为:
Goal→Cognition→Knowledge→Method→Behavior→Action→Result→Feedback→StateUpdate→Behavior′Goal \rightarrow Cognition \rightarrow Knowledge \rightarrow Method \rightarrow Behavior \rightarrow Action \rightarrow Result \rightarrow Feedback \rightarrow StateUpdate \rightarrow Behavior’
这就是机器行为的动态闭环。
45.28 从行为执行到世界变化
本章最终可以进一步扩展到世界层。
机器并不是为了产生动作而产生动作。
机器行为的最终作用,是改变对象、场景或世界的状态。
因此:
Behavior+Action→Worldt+1Behavior+Action\rightarrow World_{t+1}
完整过程:
World_t
↓
Perception
↓
Cognition
↓
Matching
↓
Knowledge
↓
Method
↓
Behavior
↓
Action
↓
World Change
↓
Feedback
↓
Cognition'
↓
World_{t+1}
于是形成:
世界 → 认知 → 行为 → 动作 → 世界变化 → 反馈 → 认知
这是机器与世界之间的基本动态循环。
45.29 本章核心理论
本章建立了三个核心判断。
第一:
行为不是动作。
行为是多个动作按照目标、方法、条件和状态组织形成的整体结构。
第二:
动作不是行为的终点。
动作执行以后必须获得结果并形成反馈。
第三:
反馈不是行为系统的附属信息。
反馈是控制行为继续、停止、调整和重新形成的重要机制。
因此建立:
Behavior→Action→FeedbackBehavior\rightarrow Action\rightarrow Feedback
进一步形成:
Behaviort→Actiont→Resultt→Feedbackt→Statet+1→Behaviort+1Behavior_t \rightarrow Action_t \rightarrow Result_t \rightarrow Feedback_t \rightarrow State_{t+1} \rightarrow Behavior_{t+1}
这就是机器行为执行闭环。
45.30 总结
第45章建立了“行为—动作—反馈理论”,解决了机器形成行为以后如何进入实际执行,以及执行以后如何根据结果继续控制的问题。
行为是目标导向的整体执行结构,动作是行为中的具体执行单元,反馈则是动作执行结果返回机器控制系统的机制。
三者形成:
行为 → 动作 → 结果 → 反馈
加入状态更新以后形成:
行为 → 动作 → 结果 → 反馈 → 状态更新 → 行为调整
再与前面的知识和方法理论结合:
知识 → 方法 → 行为 → 动作 → 结果 → 反馈
最终形成完整机器行为闭环:
目标 → 认知 → 匹配 → 知识 → 方法 → 行为 → 动作 → 结果 → 反馈 → 状态更新 → 新认知 → 新行为
在世界层面则形成:
Worldₜ → Cognition → Behavior → Action → Feedback → Worldₜ₊₁
由此,机器不再只是“知道”和“决定”,而形成了从认知到执行、从执行到反馈、从反馈到状态变化的完整动态机制。
因此,行为能力的完整定义可以进一步表述为:
机器利用知识形成方法,利用方法形成行为,利用行为组织动作,通过动作改变对象和场景,并利用反馈重新认识变化后的世界。
这构成WSaiOS机器行为系统的基本执行闭环。