第41章 对象—关系—场景理论
41.1 提出背景
第40章建立了“世界—类—对象”理论,解决了现实世界中有什么对象、对象属于什么类别以及对象如何组织的问题。
但是,仅仅知道世界中存在对象,还不能形成对现实世界的完整描述。
现实世界不是:
对象1
对象2
对象3
对象4
这样的对象列表。
现实世界表现为:
对象
+
对象之间的关系
+
对象所处的场景
+
对象和关系随时间发生的变化
例如,一个工厂中存在:
人员
设备
工具
原材料
生产线
产品
如果只记录这些对象,系统并不知道:
谁在操作什么设备?
设备连接哪条生产线?
工具被谁使用?
设备当前处于什么状态?
哪个对象发生了故障?
故障发生在哪个场景?
只有建立:
对象 → 关系 → 场景
三层结构,才能把静态对象集合转化为具有空间结构、关系结构和时间变化的现实世界模型。
因此,本章建立:
Object→Relation→Scene\boxed{Object\rightarrow Relation\rightarrow Scene}
并进一步形成:
Scenet→Scenet+1\boxed{Scene_t\rightarrow Scene_{t+1}}
从而建立现实世界的动态结构模型。
41.2 对象的定义
**对象(Object)**是现实世界中能够被独立识别、描述、区分和参与关系的实体。
对象可以是:
人
动物
设备
车辆
建筑
工具
材料
产品
事件
任务
故障
地点
在认知系统中,对象可以表示为:
Oi=⟨ID,C,A,S⟩O_i=\langle ID,C,A,S\rangle
其中:
- OiO_i:对象;
- IDID:对象标识;
- CC:对象所属类;
- AA:对象属性;
- SS:对象状态。
例如:
对象:电机#001
类:电机
属性:
功率=5KW
转速=1450RPM
状态:
运行
对象因此是现实世界动态结构的基本实体单元。
41.3 关系的定义
**关系(Relation)**是两个或多个对象之间存在的结构联系。
例如:
人员 → 操作 → 设备
设备 → 连接 → 生产线
设备 → 包含 → 电机
人员 → 使用 → 工具
产品 → 属于 → 订单
车辆 → 位于 → 停车场
关系可以形式化为:
R(Oi,Oj,T)R(O_i,O_j,T)
其中:
- OiO_i:关系主体;
- OjO_j:关系目标;
- TT:关系类型。
例如:
R(Person1,Machine1,Operate)R(Person_1,Machine_1,Operate)
表示:
人员1正在操作设备1。
因此:
对象不是孤立的
↓
关系把对象连接起来
↓
形成对象网络
41.4 关系不是对象的属性
对象属性和对象关系必须严格区分。
例如:
设备#001
功率 = 5KW
这是属性。
而:
设备#001
连接
生产线#001
这是关系。
因此:
Attribute(O)≠Relation(Oi,Oj)Attribute(O) \neq Relation(O_i,O_j)
属性描述:
对象自身具有什么特征。
关系描述:
对象与其他对象之间有什么联系。
这种区分对于后续认知计算非常重要。
41.5 关系的基本类型
现实世界中的关系可以按照结构进行分类。
1. 所属关系
电机#001
↓ 属于
设备#001
2. 包含关系
设备#001
↓ 包含
电机#001
3. 连接关系
设备#001
↓ 连接
生产线#001
4. 空间关系
设备#001
↓ 位于
生产车间#001
5. 操作关系
人员#001
↓ 操作
设备#001
6. 使用关系
人员#001
↓ 使用
工具#001
7. 因果关系
轴承异常
↓ 导致
电机故障
8. 时间关系
事件A
↓ 发生于
事件B之前
因此关系本身也可以进行分类。
41.6 场景的定义
**场景(Scene)**是一定时间、空间和条件下,由若干对象及其关系、属性和状态共同形成的局部现实结构。
场景不是简单的对象集合。
可以表示为:
Sc=⟨O,R,A,S,Ctx,T⟩Sc=\langle O,R,A,S,Ctx,T\rangle
其中:
- OO:场景对象集合;
- RR:对象关系集合;
- AA:相关属性集合;
- SS:对象状态集合;
- CtxCtx:场景上下文;
- TT:时间条件。
例如“设备维修场景”:
维修人员
+
故障设备
+
维修工具
+
故障对象
+
维修方法
+
维修关系
+
维修状态
这些结构共同形成维修场景。
41.7 对象—关系—场景三级结构
本章的核心结构是:
对象
↓
关系
↓
场景
其逻辑不是三个孤立概念,而是逐层形成。
首先存在对象:
人员
设备
工具
然后形成关系:
人员 → 操作 → 设备
人员 → 使用 → 工具
进一步形成场景:
人员
+
设备
+
工具
+
操作关系
+
使用关系
+
当前状态
↓
维修场景
因此:
Object+Relation→SceneObject+Relation\rightarrow Scene
41.8 场景不是对象的简单集合
假设一个房间中存在:
人
桌子
电脑
椅子
仅仅知道这些对象存在,并不能说明场景是什么。
如果进一步知道:
人 → 坐在 → 椅子
人 → 使用 → 电脑
电脑 → 位于 → 桌子
那么才能形成:
办公场景
因此:
Scene≠{Object1,Object2,⋯ ,Objectn}Scene\neq\{Object_1,Object_2,\cdots,Object_n\}
而应该表示为:
Scene=Objects+Relations+States+ContextScene= Objects+ Relations+ States+ Context
41.9 场景的结构边界
一个场景必须具有一定的结构边界。
这个边界可以来自:
空间边界
时间边界
目标边界
任务边界
关系边界
状态边界
例如:
整个工厂
是一个大的现实世界结构。
其中:
生产车间
可以构成一个空间场景。
进一步:
设备维修任务
又可以形成一个任务场景。
因此:
世界
↓
工厂
↓
生产车间
↓
设备维修场景
↓
具体维修动作
场景因此具有层次性。
41.10 场景中的对象角色
同一个对象进入不同场景时,可以承担不同的结构角色。
例如:
电机#001
在生产场景中:
电机#001
↓
生产设备
在维修场景中:
电机#001
↓
维修对象
在检测场景中:
电机#001
↓
检测对象
因此:
Role(O,Scene)Role(O,Scene)
表示对象 OO 在场景 SceneScene 中承担的角色。
这说明对象本身保持连续性,而对象在场景中的角色、关系和状态可以变化。
41.11 对象的场景归属
对象可以属于一个或多个场景。
可以定义:
Participate(O,Sc)Participate(O,Sc)
例如:
人员#001
↓
参与
↓
维修场景
也可以:
人员#001
↓
参与
├── 生产场景
├── 维修场景
└── 检测场景
因此:
O→SceneO\rightarrow Scene
不是永久的一对一关系。
对象可以动态进入场景,也可以动态退出场景。
41.12 动态场景
现实世界最大的特点是:
场景不是静止的。
对象状态会变化:
正常
↓
异常
↓
故障
↓
维修
↓
恢复
对象关系会变化:
人员
↓
操作
设备
变成:
人员
↓
维修
设备
场景结构因此发生变化:
Sct→Sct+1Sc_t\rightarrow Sc_{t+1}
41.13 场景状态变化
可以定义场景状态:
State(Sc,t)State(Sc,t)
例如:
t1:
设备正常
人员空闲
生产进行
t2:
设备故障
人员发现故障
生产停止
t3:
维修人员进入
工具进入
设备维修
t4:
设备恢复
人员离开
生产恢复
形成:
正常生产场景
↓
故障场景
↓
维修场景
↓
恢复场景
↓
正常生产场景
这就是动态场景。
41.14 对象变化
现实世界中的对象可能:
创建
↓
进入世界
↓
进入场景
↓
状态变化
↓
关系变化
↓
退出场景
↓
消失
因此对象集合本身也具有动态性。
O(t)≠O(t+1)O(t)\neq O(t+1)
例如:
维修工具进入维修区
使得:
Ot+1=Ot+{Tool}O_{t+1}=O_t+\{Tool\}
维修结束后:
Ot+2=Ot+1−{Tool}O_{t+2}=O_{t+1}-\{Tool\}
41.15 关系变化
关系同样具有动态性。
例如:
人员#001
↓ 操作
设备#001
设备发生故障后:
人员#001
↓ 检查
设备#001
随后:
人员#001
↓ 维修
设备#001
维修完成:
人员#001
↓ 完成维修
设备#001
所以:
R(t)→R(t+1)R(t)\rightarrow R(t+1)
关系不是静态数据库记录,而是现实世界动态结构的一部分。
41.16 场景形成
一个场景可以由对象和关系满足特定条件后形成。
例如:
故障设备
+
维修人员
+
维修工具
+
维修关系
↓
维修条件成立
↓
维修场景形成
可以表示为:
O+R+S+Condition→SceneO+R+S+Condition\rightarrow Scene
这意味着场景不是预先固定存在的名称,而可以由现实世界中的结构条件形成。
41.17 场景消解
场景同样可以消解。
例如:
故障设备
+
维修人员
+
维修工具
↓
维修场景
当:
设备修复
+
维修结束
+
维修人员离开
+
工具离开
则:
维修场景
↓
消解
因此:
Scenet→Scenet+1Scene_t \rightarrow Scene_{t+1}
可能表现为:
形成
↓
持续
↓
变化
↓
结束
↓
消解
41.18 场景之间的关系
现实世界不是只有一个场景。
多个场景可以同时存在:
工厂世界
│
├── 生产场景
├── 仓储场景
├── 运输场景
├── 检测场景
└── 维修场景
场景之间也可以存在关系:
生产场景
↓ 产生
检测场景
检测场景
↓ 发现
故障场景
故障场景
↓ 触发
维修场景
维修场景
↓ 完成
恢复场景
形成:
Scene1→Scene2→Scene3Scene_1\rightarrow Scene_2\rightarrow Scene_3
这使现实世界形成动态场景网络。
41.19 对象—关系—场景动态模型
综合起来:
World
│
↓
Object Set
│
┌───────┴───────┐
↓ ↓
Object A Object B
│ │
└──────Relation─┘
│
↓
Scene
│
┌─────────┼─────────┐
↓ ↓ ↓
Object State Relation
│ │ │
└─────────┼─────────┘
↓
Scene State
│
↓
Time Change
│
↓
Scene(t+1)
其核心动态公式:
(Ot,Rt,St)→Scenet→Action→(Ot+1,Rt+1,St+1)→Scenet+1\boxed{ (O_t,R_t,S_t) \rightarrow Scene_t \rightarrow Action \rightarrow (O_{t+1},R_{t+1},S_{t+1}) \rightarrow Scene_{t+1} }
41.20 现实世界动态结构模型
最终可以建立现实世界的基本动态模型:
Worldt=⟨Ot,Rt,Sct⟩World_t= \langle O_t,R_t,Sc_t\rangle
其中:
- OtO_t:时间 tt 的对象集合;
- RtR_t:时间 tt 的关系集合;
- SctSc_t:时间 tt 的场景集合。
世界发生变化后:
Worldt→Worldt+1World_t\rightarrow World_{t+1}
其变化可能来自:
ΔWorld=ΔO+ΔR+ΔSc\Delta World= \Delta O+\Delta R+\Delta Sc
其中:
- ΔO\Delta O:对象变化;
- ΔR\Delta R:关系变化;
- ΔSc\Delta Sc:场景变化。
这就是现实世界的动态结构。
41.21 从静态世界到动态世界
第40章的世界模型主要解决:
世界中有什么?
本章进一步解决:
这些对象如何联系?
这些关系如何形成场景?
场景如何变化?
因此形成两个层次:
第40章
World
↓
Class
↓
Object
第41章
Object
↓
Relation
↓
Scene
↓
Scene Change
两个理论结合:
World
↓
Class
↓
Object
↓
Relation
↓
Scene
↓
State
↓
Change
于是世界从一个静态对象空间变成了一个动态关系场景空间。
41.22 工程映射
在认知工程中,可以建立:
Object
↓
Object Class
Relation
↓
Relation Class
Scene
↓
Scene Class
例如:
class CognitiveObject
{
protected $id;
protected $classId;
protected $attributes;
protected $state;
}
class CognitiveRelation
{
protected $id;
protected $sourceObjectId;
protected $targetObjectId;
protected $relationType;
}
class CognitiveScene
{
protected $id;
protected $objects;
protected $relations;
protected $state;
protected $context;
}
三个对象共同构成现实世界的运行结构:
Object
+
Relation
+
Scene
↓
Dynamic World Structure
41.23 数据结构映射
数据库层可以建立:
objects
object_attributes
object_states
relations
relation_types
scenes
scene_objects
scene_relations
scene_states
基本结构:
objects
↓
relations
↓
scenes
例如:
objects
├── Person#001
├── Machine#001
└── Tool#001
relations
├── Person#001 → operates → Machine#001
└── Person#001 → uses → Tool#001
scenes
└── MaintenanceScene#001
├── Person#001
├── Machine#001
└── Tool#001
这样,现实世界可以被转化为可计算的数据结构。
41.24 动态世界的更新机制
世界结构可以通过事件、状态变化和动作进行更新。
基本过程:
现实变化
↓
对象变化
↓
关系变化
↓
场景变化
↓
世界状态更新
例如:
设备发生故障
↓
Device.State = Fault
↓
ProductionRelation = Interrupted
↓
ProductionScene发生变化
↓
MaintenanceScene形成
↓
World更新
因此:
Event→ObjectUpdate→RelationUpdate→SceneUpdate→WorldUpdateEvent \rightarrow ObjectUpdate \rightarrow RelationUpdate \rightarrow SceneUpdate \rightarrow WorldUpdate
41.25 对象—关系—场景与认知
认知系统并不是只读取对象。
完整的认知输入应该是:
对象
+
属性
+
状态
+
关系
+
场景
例如系统发现:
电机#001
仅仅知道:
它是电机。
属于基础对象认知。
如果进一步知道:
电机#001
状态:故障
连接:
生产线#001
关系:
轴承#001 → 属于 → 电机#001
场景:
设备维修场景
系统才获得了结构化现实认知。
因此:
Cognition=f(Object,Relation,Scene)Cognition=f(Object,Relation,Scene)
41.26 对象—关系—场景与行为
行为也依赖场景结构。
例如:
目标:
恢复设备运行
对象:
设备
人员
工具
关系:
人员→维修→设备
场景:
设备维修场景
知识:
故障类型与维修规则
方法:
更换轴承
行为:
维修行为
动作:
拆卸
更换
安装
测试
因此:
Behavior=f(Object,Relation,Scene,Goal,Knowledge,Method)Behavior=f(Object,Relation,Scene,Goal,Knowledge,Method)
这说明复杂行为不是脱离现实世界产生的,而是针对特定对象、关系和场景产生的。
41.27 本章核心模型
最终,本章建立:
现实世界
↓
对象集合
↓
对象之间形成关系
↓
关系组织对象
↓
对象+关系+状态+条件
↓
形成场景
↓
场景发生变化
↓
对象变化
+
关系变化
+
场景变化
↓
现实世界变化
可以压缩为:
Object+Relation+State+Context→Scene\boxed{ Object+Relation+State+Context \rightarrow Scene }
以及:
Scenet→Change→Scenet+1\boxed{ Scene_t \rightarrow Change \rightarrow Scene_{t+1} }
进一步形成完整动态模型:
Worldt→Objectt→Relationt→Scenet→Action→Worldt+1\boxed{ World_t \rightarrow Object_t \rightarrow Relation_t \rightarrow Scene_t \rightarrow Action \rightarrow World_{t+1} }
41.28 本章总结
对象—关系—场景理论解决的是现实世界如何从“对象集合”形成“动态结构”的问题。
对象是现实世界的实体基础;关系把对象连接起来;场景把特定对象、关系、状态和条件组织成为具有结构边界的局部现实;时间变化则使场景从静态结构转变为动态结构。
因此:
对象
↓
关系
↓
场景
↓
场景状态
↓
场景变化
↓
世界变化
第40章建立:
World→Class→Object\boxed{World\rightarrow Class\rightarrow Object}
第41章进一步建立:
Object→Relation→Scene\boxed{Object\rightarrow Relation\rightarrow Scene}
二者结合后形成:
World→Class→Object→Relation→Scene→Change→World′\boxed{ World \rightarrow Class \rightarrow Object \rightarrow Relation \rightarrow Scene \rightarrow Change \rightarrow World’ }
这意味着,现实世界在认知工程中可以被理解为一个由对象构成、由关系连接、由场景组织、由状态驱动、随时间动态变化的结构系统。
下一章可以自然进入第42章《场景—状态—事件理论》,把“动态变化”进一步分解为场景状态、状态转移、事件产生、事件作用和场景演化,从而建立现实世界的时间动态机制。