首页 理论 架构 工程 文档 白皮书 著作 研究 案例 下载 博客 关于 开始使用 →

第13章 对象关系:从“对象具有什么”到“对象之间如何发生关系”

第13章 对象关系:从“对象具有什么”到“对象之间如何发生关系”

如果对象属性解决的是“一个对象具有什么”,那么对象关系解决的就是“一个对象与另一个对象之间发生了什么”。

在上一章中,我们把对象从一个单纯的名称进一步展开为属性结构。

一个对象不再只是:

Object = Egg

而是:

Object
 ↓
Attribute
 ↓
Value
 ↓
State
 ↓
Change

这使认知系统能够描述一个对象自身。

但是,真实世界中的对象几乎从来不是孤立存在的。

鸡蛋存在于桌面上。

手接触鸡蛋。

手对鸡蛋施加压力。

鸡蛋因为压力产生形变。

杯子位于桌子旁边。

机器人靠近鸡蛋。

一个物体遮挡另一个物体。

一个对象的变化又可能影响另一个对象。

因此,如果认知系统只有:

Object
+
Attribute

它仍然无法完整描述真实环境。

认知系统还必须回答:

对象之间是什么关系?

以及更重要的问题:

对象之间的关系如何变化?


13.1 对象不是孤立存在的

假设系统感知到三个对象:

Object A = Hand
Object B = Egg
Object C = Table

如果只记录对象本身:

Hand
Egg
Table

系统只知道环境中存在三个对象。

如果再记录属性:

Hand
 ├── Position
 ├── Force
 └── Movement

Egg
 ├── Position
 ├── Weight
 ├── Integrity
 └── Deformation

Table
 ├── Position
 └── Surface

系统知道每个对象的属性。

但仍然不知道:

Hand → Egg
Egg → Table
Hand → Table

之间究竟发生了什么。

例如:

Hand 接触 Egg
Egg 位于 Table
Hand 位于 Egg 上方

这些都不是单个对象的属性。

它们属于:

对象与对象之间的关系。


13.2 什么是对象关系

对象关系可以定义为:

两个或多个对象之间,在空间、时间、状态、作用、因果、功能或行为等维度上形成的可识别联系。

可以抽象为:

Object A
   ↓
Relation
   ↑
Object B

例如:

Hand
 ↓
Contact
 ↓
Egg

表示:

手与鸡蛋存在接触关系。

又例如:

Egg
 ↓
On
 ↓
Table

表示:

鸡蛋位于桌面上。

因此:

Relation(A, B)

可以表示:

A 与 B 之间存在某种关系。


13.3 关系不是对象属性

这一点必须与上一章严格区分。

例如:

Egg
 ├── Weight = 50g
 ├── Shape = Oval
 └── Surface = Smooth

这些属于鸡蛋自身的属性。

但是:

Egg
 ↓
On
 ↓
Table

不是鸡蛋自身的一个简单属性。

它描述的是:

Egg ↔ Table

之间的关系。

同样:

Hand
 ↓
Contact
 ↓
Egg

描述的是:

Hand ↔ Egg

之间的关系。

因此:

Attribute(Object)

和:

Relation(Object A, Object B)

是两个不同的认知层次。


13.4 对象关系具有方向

很多关系不是无方向的。

例如:

Hand → Touch → Egg

和:

Egg → Touch → Hand

虽然描述的是同一事件,但认知视角不同。

更明显的是:

Robot → Push → Box

不能简单写成:

Box → Push → Robot

因为“推动”具有作用方向。

因此可以表示为:

Source
 ↓
Relation
 ↓
Target

例如:

Robot
 ↓
Push
 ↓
Box

即:

Robot 是作用主体,Box 是作用对象。

因此关系本身可以具有:

Source
Relation
Target

三个基本组成部分。


13.5 三元关系结构

由此可以建立一个非常基础的认知关系结构:

Relation
=
Subject
+
Predicate
+
Object

例如:

Hand
+
Touch
+
Egg

形成:

Hand Touch Egg

又例如:

Egg
+
On
+
Table

形成:

Egg On Table

这类结构可以进一步表示为:

<Subject, Relation, Object>

也就是:

<S, R, O>

它是认知系统描述对象关系的重要基础。


13.6 空间关系

最容易被感知系统识别的关系之一,是空间关系。

例如:

A 在 B 上方
A 在 B 左侧
A 在 B 内部
A 靠近 B
A 远离 B
A 与 B 重叠
A 与 B 接触

可以表示:

A
 ↓
Above
 ↓
B

或者:

A
 ↓
Near
 ↓
B

空间关系并不一定需要对象本身发生变化。

例如:

Cup
Near
Plate

即使杯子和盘子都没有移动,这个关系仍然存在。

因此空间关系主要描述:

对象之间在空间结构中的相对状态。


13.7 接触关系

接触是机器人认知中特别重要的一类关系。

例如:

Hand
 ↓
Contact
 ↓
Egg

接触关系意味着两个对象之间形成了物理作用通道。

进一步还可以产生:

Contact
 ↓
Pressure
 ↓
Deformation

因此:

Hand → Contact → Egg

不仅仅是一个空间关系。

它还可能成为后续动态变化的起点。

例如:

Hand
 ↓
Contact
 ↓
Egg
 ↓
Pressure ↑
 ↓
Deformation ↑

于是对象关系开始与对象属性连接起来。

这非常重要:

关系决定对象之间是否可能发生属性变化。


13.8 作用关系

对象之间不仅可以接触,还可以相互作用。

例如:

Push
Pull
Press
Lift
Hold
Cut
Move
Block
Support

这些关系都描述:

一个对象对另一个对象产生了某种作用。

例如:

Hand
 ↓
Hold
 ↓
Egg

表示手正在握持鸡蛋。

又例如:

Robot Arm
 ↓
Lift
 ↓
Egg

表示机械臂正在提起鸡蛋。

作用关系通常具有时间属性。

因为:

Hold

可能开始,也可能结束。

所以不能简单认为:

Relation = Static

而应该允许:

Relation(t)

13.9 时间关系

对象之间还存在时间关系。

例如:

事件 A 发生在事件 B 之前
事件 A 与事件 B 同时发生
事件 A 导致事件 B
事件 A 持续期间事件 B 发生

例如抓取鸡蛋:

接近
 ↓
接触
 ↓
施加压力
 ↓
稳定抓取
 ↓
移动
 ↓
放置

这些并不是简单的对象关系,而是:

事件之间的时间关系。

因此认知系统需要能够描述:

Before
After
During
Overlap
Start
End
Duration

时间关系使认知系统开始具备过程理解能力。


13.10 因果关系

这是对象关系中更高层次的一种。

例如:

Pressure ↑
        ↓
Deformation ↑

系统不能只知道两个变化同时发生。

还需要判断:

压力增加是否导致形变增加?

如果存在这种关系,就形成:

Pressure Increase
        ↓
Cause
        ↓
Deformation Increase

进一步:

Deformation Increase
        ↓
Damage Risk Increase

于是形成:

Pressure
 ↓
Deformation
 ↓
Damage

这就是一条因果关系链。

所以:

关系不仅描述对象之间“有什么联系”,还可以描述一个变化如何影响另一个变化。


13.11 对象关系与属性关系

这一点尤其重要。

对象之间的关系可能导致对象属性变化。

例如:

Hand
 ↓
Contact
 ↓
Egg

导致:

Egg.Pressure ↑

继续:

Egg.Pressure ↑

又可能导致:

Egg.Deformation ↑

最终:

Hand
 ↓
Contact
 ↓
Egg
 ↓
Pressure
 ↓
Deformation

这里出现了三种不同层次:

对象
 ↓
对象关系
 ↓
属性变化
 ↓
对象状态

因此可以建立:

对象关系是对象属性发生交互变化的重要条件。


13.12 关系本身也具有属性

关系并不是一个简单的标签。

例如:

Hand
 ↓
Push
 ↓
Egg

“Push”只是关系类型。

但实际认知还需要知道:

Push Force
Push Direction
Push Duration
Push Speed

因此关系本身也可以具有属性。

可以表示为:

Relation
 ├── Type
 ├── Strength
 ├── Direction
 ├── Duration
 ├── State
 └── Change

例如:

Hand
 ↓
Push
 ↓
Egg

Force = 3N
Direction = Down
Duration = 2s

这意味着:

关系不仅连接对象,而且关系本身也可以成为认知对象。

这是后续认知系统进一步复杂化的重要基础。


13.13 关系具有状态

例如:

Hand
 ↓
Contact
 ↓
Egg

接触关系可能有:

Not Contact
 ↓
Approaching
 ↓
Contact
 ↓
Stable Contact
 ↓
Leaving
 ↓
Separated

因此关系本身也存在状态变化。

可以表示:

Relation(t)

例如:

Contact(t)

于是认知系统不再只是知道:

手和鸡蛋接触。

而能够知道:

手正在接近鸡蛋。

或者:

手刚刚接触鸡蛋。

或者:

手正在稳定握持鸡蛋。

这就是动态关系。


13.14 关系的变化

对象关系可能随时间改变。

例如:

t1
Hand
 ↓
Near
 ↓
Egg

到:

t2
Hand
 ↓
Contact
 ↓
Egg

再到:

t3
Hand
 ↓
Hold
 ↓
Egg

最后:

t4
Hand
 ↓
Release
 ↓
Egg

因此:

Near
 ↓
Contact
 ↓
Hold
 ↓
Release

实际上构成了一个关系变化过程。

这意味着:

认知系统不仅需要识别关系,还必须追踪关系的生命周期。


13.15 多对象关系

现实环境往往不是两个对象之间的关系。

例如:

Hand
Egg
Table
Robot

机器人抓取鸡蛋时:

Robot Arm
 ↓
Hold
 ↓
Egg
 ↓
On
 ↓
Table

同时:

Robot Arm
 ↓
Contact
 ↓
Egg

于是形成一个关系网络:

Robot Arm ──Contact──> Egg
Egg ──On──> Table
Robot Arm ──Move──> Egg

这时候,认知系统面对的已经不是:

一个对象

而是:

对象网络

13.16 对象关系网络

多个对象与关系共同形成:

Object
   ↓
Relation
   ↓
Object
   ↓
Relation
   ↓
Object

可以抽象为:

Graph

其中:

Node = Object
Edge = Relation

例如:

        Robot
          │
        Hold
          ↓
         Egg
          │
          On
          ↓
        Table

这就是一个最简单的对象关系网络。

它比单纯的对象列表具有更强的认知表达能力。

因为系统开始能够理解:

对象不是孤立存在,而是存在于关系网络之中。


13.17 关系网络中的认知传播

关系网络的重要意义还在于:

一个对象的变化可以通过关系影响另一个对象的认知。

例如:

Hand
 ↓
Contact
 ↓
Egg

手的压力变化:

Hand Force ↑

通过接触关系传递到:

Egg Pressure ↑

再通过对象内部属性关系:

Egg Pressure ↑
 ↓
Deformation ↑
 ↓
Damage Risk ↑

因此形成:

对象A变化
 ↓
对象关系
 ↓
对象B属性变化
 ↓
对象B状态变化

这为动态认知系统提供了一种重要机制:

认知信息可以沿对象关系传播。


13.18 关系与环境

对象关系并不只存在于两个物体之间。

对象还与环境存在关系。

例如:

Egg
 ↓
On
 ↓
Table

而桌面又可能具有:

Surface = Rough
Friction = High

那么:

Egg
 ↓
On
 ↓
Table
 ↓
Surface
 ↓
Friction

就可能影响:

Egg Slip Risk

所以:

Object
 ↓
Relation
 ↓
Environment

也是认知系统的重要组成部分。


13.19 关系与任务

关系的认知价值还取决于当前任务。

例如任务是:

“找到桌上的鸡蛋。”

系统关注:

Egg
 ↓
On
 ↓
Table

任务变成:

“拿起桌上的鸡蛋。”

系统关注:

Hand
 ↓
Contact
 ↓
Egg

任务进一步变成:

“安全地拿起鸡蛋。”

系统则需要关注:

Hand
 ↓
Contact
 ↓
Egg

以及:

Pressure
Friction
Deformation
Integrity

于是:

同一个关系,在不同任务中具有不同的认知价值。

这与上一章的“属性认知价值”形成对应。


13.20 对象关系的分类

为了让认知系统能够工程化,可以先建立关系分类。

第一类:空间关系

Above
Below
Left
Right
Inside
Outside
Near
Far
Overlap
Contact

第二类:时间关系

Before
After
During
Overlap
Start
End

第三类:作用关系

Push
Pull
Press
Hold
Lift
Move
Support
Block

第四类:因果关系

Cause
Affect
Trigger
Prevent

第五类:功能关系

Use
Contain
Support
Operate
Control

第六类:所属关系

PartOf
BelongTo
Contain
Own

这些关系并不是最终固定的关系全集。

它们只是认知工程中的基础关系类型。


13.21 对象关系的动态模型

经过前面的分析,可以建立:

Relation
 ├── Subject
 ├── Type
 ├── Object
 ├── Value
 ├── State
 ├── Change
 ├── Time
 ├── Context
 └── Confidence

也可以简化为:

R(A,B,t)

表示:

在时间 t,对象 A 与对象 B 之间存在关系 R。

例如:

Contact(Hand, Egg, t)

表示:

在时间 t,手与鸡蛋存在接触关系。

如果关系发生变化:

Contact(Hand, Egg, t1) = false

Contact(Hand, Egg, t2) = true

那么系统就可以识别:

手在 t2 时刻开始接触鸡蛋。


13.22 对象关系与动态认知

到这里,我们可以把上一章的对象属性与本章对象关系连接起来。

对象自身:

Object
 ↓
Attribute
 ↓
Value
 ↓
State
 ↓
Change

对象之间:

Object A
 ↓
Relation
 ↓
Object B

关系又可以产生:

Relation
 ↓
Attribute Change
 ↓
State Change

因此形成:

对象
 ↓
属性
 ↓
关系
 ↓
属性变化
 ↓
状态变化
 ↓
认知变化

这一步非常关键。

因为认知已经不再是:

“我看到了一个鸡蛋。”

而逐渐变成:

“我看到一个鸡蛋,它位于桌面上,我的手正在接近它,接触后压力正在增加,而鸡蛋的形变也正在变化。”

这才接近真实的人类认知过程。


13.23 从对象关系到认知匹配

现在出现了一个更重要的问题:

如果系统同时获得:

Egg
Hand
Table

以及:

Egg.Weight
Egg.Friction
Egg.Deformation
Hand.Force
Hand.Position
Table.Surface

和:

Hand → Contact → Egg
Egg → On → Table

那么系统如何判断:

当前究竟发生了什么?

这时候就不能再简单地读取某一个对象或者某一个关系。

必须进行:

对象匹配
+
属性匹配
+
关系匹配
+
状态匹配
+
变化匹配

进一步:

多对象
+
多属性
+
多关系
+
动态变化

形成:

动态认知匹配。

因此,对象关系理论实际上是连接:

对象属性

与:

认知匹配

之间的重要桥梁。


13.24 本章核心模型

本章可以形成下面的结构:

                 Object A
                    │
                 Attribute
                    │
                 State/Change
                    │
                    ↓
                 Relation
                    ↑
                    │
                 State/Change
                    │
                 Attribute
                    │
                 Object B

进一步:

Object
 ↓
Attribute
 ↓
State
 ↓
Relation
 ↓
Other Object
 ↓
Attribute
 ↓
State

这意味着:

对象关系把多个独立对象连接成一个动态认知环境。


13.25 本章最终结论

本章建立了以下理论基础。

第一:

对象不是孤立存在的,真实环境由对象以及对象之间的关系共同构成。

第二:

属性描述对象自身,关系描述对象之间的联系。

第三:

关系可以具有方向,因此必须区分关系主体、关系类型和关系对象。

第四:

关系本身可以具有属性、状态、变化和时间。

第五:

对象之间的关系可以导致对象属性发生变化。

第六:

多个对象及其关系可以形成对象关系网络。

第七:

对象关系网络使认知系统能够从孤立对象进入环境认知。

第八:

关系不是固定标签,而可以随着时间不断建立、变化和消失。

因此可以形成:

对象
 ↓
属性
 ↓
对象关系
 ↓
关系变化
 ↓
属性变化
 ↓
对象状态
 ↓
环境状态
 ↓
认知

最终,本章最重要的理论表达是:

对象属性回答“对象具有什么”,对象关系回答“对象之间发生了什么”;当对象、属性、关系及其动态变化被统一组织后,认知系统才获得对复杂环境进行整体认知的基础。

而下一章将继续进入第四篇:

第14章 属性不是静态值:从 Value、State 到 Change、Rate 与 Trend

这一章将进一步解决一个关键问题:

如果对象属性和对象关系都在不断变化,那么认知系统究竟应该如何描述“变化本身”?

Leave a Reply

Your email address will not be published. Required fields are marked *