第40章 最小受损匹配
上一章建立了“对象损伤”的认知模型。
系统已经能够认识到:
对象
↓
对象状态
↓
属性变化
↓
对象响应
↓
承受能力
↓
风险
↓
损伤
但如果认知系统只做到这里,它仍然只是一个观察系统。
真正的认知还必须进一步回答:
当存在多个都能够完成任务的行为方案时,系统应该选择哪一个?
这就进入本章的核心:
最小受损匹配。
40.1 从“完成任务”到“完成任务且尽量不损伤对象”
一个最简单的行为系统,可以把目标定义为:
Task = Success
只要任务完成,系统就认为行为成功。
例如机器人抓取鸡蛋:
抓到鸡蛋
↓
任务完成
但是这种判断显然不够。
因为可能出现:
方案A:
快速抓取
↓
抓取成功
↓
鸡蛋破裂
也可能出现:
方案B:
缓慢调整
↓
抓取成功
↓
鸡蛋保持完整
如果系统只判断:
Task Success = TRUE
那么A和B没有区别。
但人的认知显然会认为:
B > A
因此,任务完成并不是唯一的认知目标。
需要进一步加入:
稳定
安全
损伤
风险
最终形成:
任务完成
+
稳定
+
安全
↓
Damage → MIN
40.2 什么是最小受损匹配
本书将“最小受损匹配”定义为:
在满足当前任务目标的条件下,对不同可能行为及其对象响应进行持续匹配,并选择能够使对象预期损伤保持在最低可接受水平的行为方案。
这里有三个关键条件。
第一:
任务必须完成
第二:
行为必须保持足够稳定
第三:
对象损伤应尽可能小
因此不是:
Damage = 0
这么简单。
而是:
在任务约束下:
Damage → MIN
这是一种条件最优化认知。
40.3 为什么不能简单追求“零损伤”
现实中的很多行为并不能保证:
Damage = 0
例如:
搬运
切割
加工
摩擦
压缩
移动
接触
都可能产生一定程度的变化。
因此认知系统真正需要判断的是:
当前损伤是否处于任务允许的范围之内,以及是否存在更低损伤的替代行为。
例如:
方案A
Damage = 5
方案B
Damage = 2
方案C
Damage = 0
如果三种方案都能够完成任务:
C > B > A
但如果C无法完成任务:
C = 无效方案
那么系统应选择:
B
所以最小受损不是孤立优化,而是在:
Task Constraint
之下进行。
40.4 任务完成是第一层约束
首先,认知系统必须判断:
这个行为能不能完成任务?
例如:
行为A
抓取成功
和:
行为B
没有抓住
即使B对对象完全没有损伤:
Damage = 0
也不能认为B是更优行为。
因为:
Task Success = FALSE
因此第一层必须是:
Task Success = TRUE
只有进入有效行为集合之后,系统才比较:
稳定性
安全性
损伤
可以表示为:
所有可能行为
↓
任务匹配
↓
有效行为
↓
稳定性匹配
↓
安全性匹配
↓
损伤匹配
↓
最小受损行为
40.5 稳定是第二层约束
任务完成以后,还需要判断:
行为是不是稳定的?
例如机器人抓取鸡蛋:
抓住
并不意味着:
稳定抓住
可能出现:
抓住
↓
持续滑移
↓
不断调整
↓
最终掉落
这种行为虽然某一时刻完成了任务,但整体状态并不稳定。
因此:
Task Success
还需要:
Stability
形成:
任务完成
+
状态稳定
只有这样,后面的损伤比较才具有意义。
40.6 安全是第三层约束
稳定也不等于安全。
例如:
鸡蛋被牢牢夹住
可能非常稳定。
但如果:
压力持续增加
那么:
稳定 ↑
损伤风险 ↑
因此:
稳定本身不能证明安全。
认知系统必须同时观察:
稳定性
+
对象承受能力
+
当前作用
+
风险变化
形成:
Stability
+
Tolerance
+
Risk
↓
Safety Assessment
40.7 最小受损不是单属性判断
“损伤最小”不能只读取:
Damage
因为损伤本身来自多个动态因素。
例如:
压力
摩擦
滑移
形变
时间
速度
位置
方向
共同形成:
Object Response
再形成:
Damage
所以:
Pressure(t)
+
Friction(t)
+
Slip(t)
+
Deformation(t)
+
Time(t)
↓
Damage State
而最小受损匹配实际上是在比较:
行为A → DamageA
行为B → DamageB
行为C → DamageC
40.8 行为方案之间的匹配
假设存在三个抓取方案:
方案A
快速抓取
方案B
中等速度抓取
方案C
缓慢调整后抓取
系统可以分别预测:
A
↓
任务成功
↓
稳定
↓
压力较高
↓
损伤风险高
B
↓
任务成功
↓
稳定
↓
压力适中
↓
损伤风险中
C
↓
任务成功
↓
稳定
↓
压力较低
↓
损伤风险低
于是:
A → Damage High
B → Damage Medium
C → Damage Low
在任务都能够完成的情况下:
C > B > A
这就是最小受损匹配。
40.9 最小受损匹配不是简单的“越慢越好”
这里必须避免一个误解:
最小受损是不是意味着行为越慢越好?
不是。
因为:
速度降低
虽然可能降低损伤风险,但也可能:
任务时间增加
效率下降
稳定性下降
甚至某些情况下:
停留时间增加
反而可能增加对象受到作用的总时间。
所以真正的认知过程是:
速度
+
压力
+
时间
+
稳定
+
任务要求
+
对象承受能力
共同匹配。
因此最小受损并不是:
某一个变量最小
而是:
多个动态属性协同作用下的综合认知结果。
40.10 最小受损与个体目标
这一点与前面的个体认知理论直接连接。
不同个体的目标不同,可能导致不同的最小受损方案。
例如:
个体A:
目标 = 最大安全
个体B:
目标 = 最大效率
个体C:
目标 = 平衡安全与效率
面对相同对象:
相同感觉
+
相同对象
+
相同属性
+
相同状态
仍然可能形成不同匹配。
因为:
Goal
↓
Weight
↓
Matching
↓
Cognition
所以:
最小受损
并不意味着所有个体都会选择完全相同的行为。
它实际上是:
个体目标
+
对象状态
+
对象承受能力
+
行为预测
+
损伤风险
共同形成的结果。
40.11 最小受损与风险预测
真正的最小受损匹配不能只观察已经发生的损伤。
因为如果:
Damage 已经发生
再选择低损伤行为可能已经太晚。
所以系统必须进行:
Current State
+
Dynamic Change
+
Tolerance
+
Action
↓
Predicted Damage
即:
根据当前状态预测不同动作可能造成的未来损伤。
形成:
当前认知
↓
行为候选
↓
行为模拟/预测
↓
对象响应预测
↓
损伤预测
↓
行为匹配
↓
行为选择
这样,最小受损匹配就从:
事后判断
进入:
事前认知
40.12 最小受损的基本认知结构
本章可以建立一个基础模型:
Goal
│
↓
Task Constraint
│
↓
Candidate Actions
│
┌─────────┼─────────┐
↓ ↓ ↓
Action A Action B Action C
│ │ │
↓ ↓ ↓
Object Response Prediction
│ │ │
↓ ↓ ↓
Stability Safety Damage
│ │ │
└─────────┼─────────┘
↓
Minimum Damage
↓
Action Choice
这说明:
最小受损匹配本质上是一种行为与对象响应之间的认知匹配。
40.13 鸡蛋抓取中的最小受损匹配
现在把整个模型放回鸡蛋抓取。
系统首先认识:
Object = Egg
然后:
Egg
↓
Attributes
↓
Current State
↓
Tolerance
接着产生多个行为候选:
Action A
Action B
Action C
系统预测:
Action A
↓
Pressure ↑
Deformation ↑
Damage Risk ↑
Action B
↓
Pressure →
Deformation →
Damage Risk →
Action C
↓
Pressure ↓
Deformation ↓
Damage Risk ↓
如果三者都满足:
Task Success
那么:
C
就是更符合:
Damage → MIN
的行为。
这时候,机器人看起来才开始接近人的行为方式。
因为它不再只是:
“我能不能抓住?”
而是在判断:
“我怎样抓住,才能在完成任务的同时尽量不伤害这个对象?”
40.14 最小受损匹配与人的认知
这个模型并不只适用于机器人。
人类日常行为中大量存在类似认知。
例如:
拿玻璃杯
人不会只考虑:
能不能拿起来?
还会考虑:
杯子是否容易滑?
杯子是否很薄?
手上的力度是否合适?
杯子里面有没有热水?
再例如:
抱婴儿
也不是单纯追求:
把婴儿抱起来
而是同时考虑:
支撑
力度
位置
稳定
安全
动作速度
因此:
任务完成
+
对象保护
实际上是人的自然认知结构之一。
本书所做的工作,是把这种自然认知过程进一步结构化。
40.15 从“最小受损”进入“对象保护”
到这里可以发现:
对象承受能力
↓
对象损伤
↓
损伤风险
↓
最小受损匹配
↓
对象保护
因此:
对象保护不是一个额外附加的功能,而是由对象属性、动态状态、承受能力和损伤认知自然推导出来的行为认知结果。
这非常重要。
因为它说明:
保护
不是系统预先写死的一条规则:
if egg:
be careful
而可以从认知模型中自然产生:
Object
↓
Tolerance
↓
Dynamic State
↓
Risk
↓
Damage Prediction
↓
Minimum Damage
↓
Protective Action
40.16 最小受损匹配的理论表达
本章可以进一步形成一个抽象表达:
Action* =
arg min Damage(Action | Goal, Object, State, Environment)
其中:
Action*
表示在当前条件下选择的行为。
而:
Damage(Action | ...)
表示某个行为在当前对象、状态、环境和目标条件下产生的预期损伤。
这里的核心并不是数学公式本身,而是它表达出的认知思想:
行为选择不是只寻找“能够完成任务”的行为,而是在满足任务约束后寻找预期损伤更低的行为。
40.17 本章形成的新认知链
到本章结束,本书的对象保护理论进一步形成:
对象
↓
对象属性
↓
动态属性
↓
对象状态
↓
对象承受能力
↓
对象损伤
↓
损伤风险
↓
行为预测
↓
最小受损匹配
↓
行为选择
进一步扩展:
任务完成
+
稳定
+
安全
+
最小损伤
↓
对象保护型行为
这也意味着,前面建立的:
属性
状态
变化
匹配
权重
概率
个体目标
开始真正进入行为选择层。
40.18 从最小受损匹配进入工程案例
到这里,鸡蛋已经不再只是一个“机器人抓取案例”。
它实际上承担了一个更重要的理论验证作用:
感觉
↓
感知
↓
元素
↓
对象
↓
属性
↓
动态属性
↓
动态状态
↓
认知匹配
↓
概率
↓
承受能力
↓
损伤
↓
最小受损匹配
↓
行为选择
因此下一章将进一步把这个理论完整应用于:
第41章 鸡蛋抓取
重点不再是简单讨论“机器人如何抓鸡蛋”,而是验证:
压力、摩擦、滑移、形变、时间和对象状态等动态属性,如何通过协同匹配形成对象保护型认知,并最终指导行为。