第13章 目标场景理论
13.1 提出背景
在场景类理论中,场景用于描述某一时刻由对象、属性、关系、状态以及环境共同构成的结构。场景理论解决了“系统现在处于什么状态”的问题,但仅仅知道当前场景,还不足以形成完整的认知过程。
实际认知活动通常不仅需要识别当前状态,还需要判断“希望达到什么状态”。例如,一个物体当前位于桌面左侧,而系统希望它位于桌面右侧;一个设备当前处于关闭状态,而系统希望它进入运行状态;一个任务当前尚未完成,而系统希望任务达到完成状态。
因此,需要在场景理论基础上增加**目标场景(Target Scene)**这一概念。
目标场景不是对未来的语言描述,而是一个具有明确结构的场景对象。系统通过比较当前场景与目标场景之间的结构差异,确定需要发生的对象变化、属性变化、状态变化和关系变化,从而形成后续的方法选择与行为执行依据。
由此形成:
当前场景 → 场景差异分析 → 目标场景
进一步形成:
当前场景 → 差异 → 变化需求 → 行为
目标场景理论由此建立了场景认知从“状态识别”向“状态变化”的基础连接。
13.2 目标的定义
13.2.1 目标
**目标(Goal)**是认知系统预先确定的、希望通过对象、属性、关系、状态或场景变化而达到的规定结果。
目标回答的是:
系统希望达到什么结果?
目标本身并不等同于行为。
例如:
- “物体移动到右侧”是目标;
- “抓取物体”是行为;
- “机械臂向右移动”是行为;
- “物体最终位于右侧”是目标结果。
因此:
目标 ≠ 行为
而是:
目标 → 规定结果
行为 → 实现目标的变化过程
13.2.2 目标的结构
在WSaiOS认知模型中,一个目标可以表示为:
G=(O,A,R,S,C)G=(O,A,R,S,C)
其中:
- GG:目标;
- OO:目标涉及的对象集合;
- AA:对象需要具有的目标属性;
- RR:对象之间需要形成的目标关系;
- SS:对象需要达到的目标状态;
- CC:目标成立所需要的场景条件。
因此,目标不是一个孤立变量,而是一个目标结构(Goal Structure)。
例如:
目标:
对象 = 杯子
位置 = 桌面右侧
状态 = 静止
关系 = 位于桌面
这个目标已经具有可以进行结构比较的形式。
13.3 目标与场景
目标与场景具有高度相关性。
场景描述实际存在的结构,目标描述希望存在的结构。
因此,可以定义:
Scenecurrent=当前场景Scene_{current}=当前场景 Scenetarget=目标场景Scene_{target}=目标场景
其中当前场景表示系统当前观察或认知得到的场景,目标场景表示系统希望达到的场景。
二者之间形成:
当前场景→目标场景当前场景 \rightarrow 目标场景
但是,这个过程不是简单的数据替换,而是一个场景变化问题。
例如当前场景:
桌面
├─ 杯子
│ ├─ 位置:左侧
│ └─ 状态:静止
└─ 桌面
目标场景:
桌面
├─ 杯子
│ ├─ 位置:右侧
│ └─ 状态:静止
└─ 桌面
两个场景中的对象仍然是同一个杯子,桌面也没有发生变化。
变化主要发生在:
杯子的位置
左侧 → 右侧
因此系统不需要重新建立整个场景,而是需要识别两个场景之间的结构差异。
13.4 当前场景
**当前场景(Current Scene)**是认知系统在当前时刻所建立的实际场景结构。
当前场景是动态的。
随着对象、属性、状态和关系发生变化,当前场景也会发生变化。
可以表示为:
St=(Ot,At,Rt,Qt)S_t=(O_t,A_t,R_t,Q_t)
其中:
- StS_t:时间 tt 的当前场景;
- OtO_t:时间 tt 的对象集合;
- AtA_t:时间 tt 的属性集合;
- RtR_t:时间 tt 的关系集合;
- QtQ_t:时间 tt 的状态集合。
例如:
时间 T1
桌面
├── 杯子
│ ├── 位置:左
│ └── 状态:静止
└── 手机
├── 位置:右
└── 状态:静止
这个结构就是当前场景。
当前场景并不表示“世界永远如此”,而只表示:
系统当前所认知到的场景状态。
因此:
CurrentScene(t)≠CurrentScene(t+1)CurrentScene(t) \neq CurrentScene(t+1)
当场景发生变化时,当前场景也随之更新。
13.5 目标场景
**目标场景(Target Scene)**是按照目标要求建立的、系统希望最终形成的场景结构。
目标场景描述:
如果目标实现之后,场景应该是什么状态。
可以表示为:
Sg=(Og,Ag,Rg,Qg)S_g=(O_g,A_g,R_g,Q_g)
其中:
- SgS_g:目标场景;
- OgO_g:目标对象集合;
- AgA_g:目标属性集合;
- RgR_g:目标关系集合;
- QgQ_g:目标状态集合。
目标场景具有一个重要特点:
它必须能够被结构化表示。
例如:
目标场景:
桌面
├── 杯子
│ ├── 位置:右侧
│ └── 状态:静止
└── 手机
├── 位置:左侧
└── 状态:静止
目标场景不是“我要移动杯子”这样的行为描述,而是:
杯子 → 目标位置 → 右侧
手机 → 目标位置 → 左侧
它规定的是结果结构。
13.6 当前场景 → 目标场景
当前场景向目标场景的转换,是目标场景理论的核心。
设:
Sc=当前场景S_c=当前场景 Sg=目标场景S_g=目标场景
则:
Sc→SgS_c \rightarrow S_g
表示:
当前场景需要经过一系列场景变化,最终达到目标场景。
但是,系统不能直接假定如何从 ScS_c 到达 SgS_g。
首先需要计算:
D(Sc,Sg)D(S_c,S_g)
其中:
- DD:场景差异;
- ScS_c:当前场景;
- SgS_g:目标场景。
因此完整过程为:
当前场景→场景比较→场景差异→变化需求→目标场景当前场景 \rightarrow 场景比较 \rightarrow 场景差异 \rightarrow 变化需求 \rightarrow 目标场景
进一步可以形成认知—行为过程:
当前场景→目标场景→差异分析→方法选择→行为执行→新当前场景当前场景 \rightarrow 目标场景 \rightarrow 差异分析 \rightarrow 方法选择 \rightarrow 行为执行 \rightarrow 新当前场景
这里尤其重要的一点是:
执行行为不会直接结束认知过程。
行为执行之后必须重新形成当前场景:
Sc0→Action→Sc1S_c^0 \rightarrow Action \rightarrow S_c^1
然后再次判断:
Sc1=?SgS_c^1 \stackrel{?}{=} S_g
如果没有达到目标:
Sc1≠SgS_c^1 \neq S_g
则继续进行差异分析。
如果:
Sc1=SgS_c^1 = S_g
则可以判定目标场景已经形成。
由此形成一个基本闭环:
当前场景 → 目标场景 → 差异 → 行为 → 新当前场景 → 再比较
13.7 场景差异分析
**场景差异分析(Scene Difference Analysis)**是对当前场景与目标场景进行结构比较,以确定二者之间具体差异的认知过程。
它是目标场景理论中最重要的计算环节之一。
设:
D=Sg−ScD=S_g-S_c
这里的“减法”不是普通数值减法,而是场景结构差异运算。
场景差异主要可以分为五种类型。
13.7.1 对象差异
当前场景中不存在目标场景要求的对象:
Og−OcO_g-O_c
或者当前场景存在目标场景不需要的对象:
Oc−OgO_c-O_g
例如:
当前场景:
桌面 + 杯子
目标场景:
桌面 + 杯子 + 手机
则:
对象差异:
缺少手机
13.7.2 属性差异
对象存在,但属性不同。
例如:
当前:
杯子颜色 = 红色
目标:
杯子颜色 = 蓝色
则:
属性变化:
颜色:
红色 → 蓝色
因此:
Ac≠AgA_c \neq A_g
13.7.3 状态差异
对象存在,属性也可能相同,但是状态不同。
例如:
当前:
机器 = 关闭
目标:
机器 = 开启
形成:
Statecurrent→StatetargetState_{current} \rightarrow State_{target}
即:
关闭 → 开启
状态差异通常直接构成行为触发的重要依据。
13.7.4 关系差异
对象都存在,但是对象之间的关系不同。
例如:
当前:
杯子 → 位于 → 桌面左侧
目标:
杯子 → 位于 → 桌面右侧
或者:
当前:
A → 远离 → B
目标:
A → 接近 → B
因此:
Rc≠RgR_c \neq R_g
关系变化成为场景变化的重要组成部分。
13.7.5 结构差异
当对象、属性、关系、状态之间的整体组织结构发生变化时,形成场景结构差异(Scene Structural Difference)。
例如当前:
桌面
├── 杯子
└── 手机
目标:
抽屉
├── 杯子
└── 手机
这里不仅仅是位置属性变化,而可能意味着对象与环境之间的整体关系发生改变。
因此结构差异可以表示为:
Structure(Sc)≠Structure(Sg)Structure(S_c)\neq Structure(S_g)
13.8 场景差异的认知表示
经过差异分析后,可以建立一个场景差异对象(Scene Difference Object)。
例如:
SceneDifference
|
├── ObjectDifference
├── AttributeDifference
├── StateDifference
├── RelationDifference
└── StructureDifference
进一步可以形成:
当前场景
↓
场景解析
↓
当前场景结构
↓
与目标场景比较
↓
Scene Difference
↓
变化需求
例如:
当前:
杯子位置 = 左
目标:
杯子位置 = 右
差异:
杯子位置不同
变化需求:
杯子位置需要改变
结果:
杯子位置 = 右
这里的“变化需求”并不是行为本身。
它只是规定:
什么必须发生变化。
具体采用什么方法实现变化,应由后续的方法认知与行为认知确定。
13.9 目标场景与行为的关系
目标场景理论进一步明确了目标与行为之间的关系。
传统的简单逻辑可能表示为:
目标→行为目标 \rightarrow 行为
而在WSaiOS认知结构中,更合理的关系是:
目标→目标场景→场景差异→变化需求→方法→行为目标 \rightarrow 目标场景 \rightarrow 场景差异 \rightarrow 变化需求 \rightarrow 方法 \rightarrow 行为
因此:
目标不是直接命令行为。
目标首先规定结果场景。
系统通过比较当前场景和目标场景,得到必须解决的问题,然后根据变化需求选择相应的方法,最后形成行为。
例如:
目标:
杯子到右侧
↓
目标场景:
杯子位于右侧
↓
当前场景:
杯子位于左侧
↓
差异:
位置不同
↓
变化需求:
杯子需要向右移动
↓
方法:
移动杯子
↓
行为:
执行移动
↓
新当前场景:
杯子位于右侧
↓
目标达成
因此建立:
Goal→TargetScene→Difference→Method→BehaviorGoal \rightarrow TargetScene \rightarrow Difference \rightarrow Method \rightarrow Behavior
13.10 目标场景的形成
目标场景可以由目标直接建立,也可以由多个目标组合形成。
单目标:
目标:
杯子移动到右侧
形成:
目标场景:
杯子 = 右侧
多个目标:
目标1:
杯子 → 右侧
目标2:
手机 → 左侧
目标3:
机器 → 开启
形成综合目标场景:
目标场景
├── 杯子 → 右侧
├── 手机 → 左侧
└── 机器 → 开启
因此:
G1+G2+G3→SgG_1+G_2+G_3 \rightarrow S_g
多个目标可以共同构成一个完整的目标场景。
13.11 目标场景的动态性
目标场景不是绝对固定的。
当目标发生变化时:
Gt→Gt+1G_t \rightarrow G_{t+1}
目标场景也需要变化:
Sgt→Sgt+1S_g^t \rightarrow S_g^{t+1}
例如:
原目标:
杯子 → 右侧
新目标:
杯子 → 中间
那么目标场景也随之更新。
因此,认知系统实际上同时维护两个重要场景:
Current Scene
当前场景
Target Scene
目标场景
并持续计算:
Dt=D(Sct,Sgt)D_t=D(S_c^t,S_g^t)
这使目标认知成为一个动态过程,而不是一次性的静态判断。
13.12 目标场景理论模型
综合以上内容,可以建立目标场景理论的基本模型:
目标
↓
目标场景
↓
当前场景 → 场景比较 → 场景差异
↓
变化需求
↓
方法
↓
行为
↓
场景变化
↓
新当前场景
↓
再次比较
↓
是否达到目标场景?
↙ ↘
否 是
↓ ↓
继续变化 目标完成
其核心闭环可以进一步压缩为:
Sc→Sg→D(Sc,Sg)→M→B→Sc′S_c \rightarrow S_g \rightarrow D(S_c,S_g) \rightarrow M \rightarrow B \rightarrow S_c’
其中:
- ScS_c:当前场景;
- SgS_g:目标场景;
- DD:场景差异;
- MM:方法;
- BB:行为;
- Sc′S_c’:行为执行后的新当前场景。
13.13 工程映射
目标场景理论进入WSaiOS工程后,可以对应为以下对象模型:
Goal
├── goalId
├── goalType
├── goalObjects
└── targetScene
CurrentScene
├── objects
├── attributes
├── relations
└── states
TargetScene
├── objects
├── attributes
├── relations
└── states
SceneDifference
├── objectDifferences
├── attributeDifferences
├── stateDifferences
├── relationDifferences
└── structureDifferences
进一步形成:
Goal
↓
TargetScene
↓
SceneComparator
↓
SceneDifference
↓
ChangeRequirement
↓
Method
↓
Behavior
↓
SceneUpdate
↓
CurrentScene
其中:
Goal负责表示目标;
TargetScene负责表示目标结果;
CurrentScene负责表示当前状态;
SceneComparator负责场景比较;
SceneDifference负责保存差异;
ChangeRequirement负责表示需要发生的变化;
Method负责确定变化方法;
Behavior负责实施变化;
SceneUpdate负责更新当前场景。
这样,目标场景理论就可以自然连接此前的场景理论以及后续的方法理论、行为理论和动态场景理论。
13.14 本章总结
目标场景理论解决的是认知系统中的一个基本问题:
当前场景与希望达到的场景之间是什么关系?
场景理论描述“现在是什么”,目标理论描述“希望是什么”,目标场景则将目标转换为可以进行结构计算的场景形式。
因此形成:
目标→目标场景目标 \rightarrow 目标场景
然后:
当前场景→场景差异分析当前场景 \rightarrow 场景差异分析
最终:
当前场景→目标场景→差异分析→变化需求→方法→行为→新场景当前场景 \rightarrow 目标场景 \rightarrow 差异分析 \rightarrow 变化需求 \rightarrow 方法 \rightarrow 行为 \rightarrow 新场景
目标场景理论的核心不是“让系统执行某个动作”,而是建立当前场景与目标场景之间的结构差异关系。系统只有首先知道当前场景是什么、目标场景是什么,以及二者之间缺少什么变化,后续的方法选择和行为执行才具有明确的认知依据。
因此,本章建立了从场景认知 → 目标认知 → 差异认知 → 变化认知的理论连接,并为下一阶段的动态场景变化、方法选择以及行为形成提供基础。