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

第12章 对象属性

第12章 对象属性

对象是“什么”,属性回答的是对象“具有什么”。

在前面的章节中,我们讨论了对象的形成。认知系统通过感知元素以及元素之间的关系,将连续变化的感知信息组织成为相对稳定的对象。

但是,仅仅知道“这是一个对象”还远远不够。

当人看到一个鸡蛋时,真正参与后续认知的并不是“鸡蛋”这个名称本身,而是这个对象所表现出来的大量属性:

  • 它是硬的还是软的;
  • 它是光滑的还是粗糙的;
  • 它有多重;
  • 它能承受多大的压力;
  • 它是否容易滑动;
  • 它是否正在移动;
  • 它当前是否完整;
  • 它受到压力后是否发生形变;
  • 它与手之间的摩擦是否正在变化。

因此,认知系统真正需要处理的不是简单的:

Object = Egg

而是:

Object
 ↓
Attributes
 ↓
Attribute Values
 ↓
Attribute States
 ↓
Attribute Changes
 ↓
Object State

对象属性由此成为对象进入认知过程的重要桥梁。


12.1 从“对象是什么”到“对象具有什么”

在自然语言中,人们通常使用名称识别对象。

例如:

鸡蛋
杯子
玻璃
手机
桌子

这些名称可以帮助我们快速指向一个对象。

但是,名称本身并没有完整描述对象。

例如:

鸡蛋

只是告诉认知系统:

当前存在一个被称为“鸡蛋”的对象。

它没有告诉系统:

重量是多少?
硬度是多少?
表面摩擦如何?
能够承受多大压力?
当前是否完整?
当前是否移动?
是否受到外力?
受到外力后发生了什么变化?

所以:

对象名称主要解决对象识别问题,而对象属性解决对象描述与认知问题。

可以表示为:

对象身份
   ↓
对象属性
   ↓
对象状态
   ↓
对象变化

对象回答:

“它是谁?”

属性回答:

“它具有什么?”

状态回答:

“它现在怎么样?”

变化回答:

“它正在发生什么?”

这四个层次不能混为一谈。


12.2 属性是对象的组成信息

一个对象并不是只有一个属性。

例如,一个鸡蛋可以具有:

Object = Egg

Material = Shell
Shape = Oval
Weight = 50g
Surface = Smooth
Friction = x
Hardness = x
Temperature = x
Position = x
Velocity = x
Pressure = x
Deformation = x
Integrity = x

因此可以抽象为:

Object
{
    Attribute_1
    Attribute_2
    Attribute_3
    ...
    Attribute_n
}

这里的关键不是属性数量,而是:

属性是对象能够被进一步认知的基本描述单位。

如果只有对象:

Egg

系统只能知道“有一个鸡蛋”。

如果拥有属性:

Egg
 ├── Weight
 ├── Shape
 ├── Surface
 ├── Friction
 ├── Pressure
 ├── Deformation
 └── Integrity

系统才开始拥有对这个对象进行进一步判断的基础。


12.3 属性不是对象本身

必须明确区分:

Object ≠ Attribute

例如:

Egg

是对象。

Weight

是属性。

50g

是属性值。

因此:

Egg
 ↓
Weight
 ↓
50g

不是三个对象,而是:

对象
 ↓
属性
 ↓
属性值

同样:

Egg
 ↓
Surface
 ↓
Smooth

表示:

鸡蛋这个对象具有“表面”属性,而当前该属性的值表现为“光滑”。

所以一个完整的属性描述至少可以表示为:

Object + Attribute + Value

即:

对象 + 属性 + 值

12.4 属性值不是固定不变的

这是对象属性理论中非常重要的一点。

传统的数据结构很容易把属性理解成一个固定字段:

weight = 50
temperature = 25
pressure = 0

这种表达适合描述某一个时刻的数据。

但现实世界中的对象并不是静态数据库记录。

例如一个鸡蛋被机器人抓取:

t1:
Pressure = 0

t2:
Pressure = 2

t3:
Pressure = 4

t4:
Pressure = 6

t5:
Pressure = 7

压力属性一直在变化。

因此:

Pressure = 7

只是某一个时间点的值。

更加准确的表示应该是:

Pressure(t)

即:

属性值是时间函数,而不是永恒固定的常数。

于是:

Attribute
      ↓
Value(t)

成为动态认知的重要基础。


12.5 属性可以是静态属性

并不是所有属性都会快速变化。

例如:

颜色
材质
形状
品牌
型号
尺寸

这些属性在一定时间范围内可以认为相对稳定。

例如:

Object = Egg

Shape = Oval
Material = Shell
Color = White

这些属性可以称为:

相对静态属性。

这里的“静态”并不意味着绝对不会变化。

例如鸡蛋破裂以后:

Shape
Integrity
Material State

都可能发生变化。

所以所谓静态属性,本质上是:

在当前认知时间尺度内变化可以忽略,或者变化速度远低于当前认知任务所需要的处理速度。

这是一个非常重要的区别。


12.6 属性可以是动态属性

另一类属性天然具有明显的动态变化。

例如:

Position
Velocity
Pressure
Temperature
Force
Deformation
Friction
Contact

这些属性不能只使用一个固定值描述。

例如:

Position(t)
Velocity(t)
Pressure(t)
Temperature(t)

更重要的是:

动态属性本身不是孤立变化的。

例如抓取鸡蛋时:

Pressure ↑

可能导致:

Deformation ↑

而:

Pressure ↓

又可能导致:

Slip Risk ↑

于是:

Pressure
   ↓
Deformation
   ↓
Integrity

以及:

Pressure
   ↓
Friction
   ↓
Slip

形成动态关系。

这就意味着:

属性不仅具有值,而且具有变化关系。


12.7 属性可以描述对象的能力

对象属性不仅描述“对象是什么样”,还可以描述:

对象能够承受什么、产生什么、完成什么。

例如一个鸡蛋具有:

Maximum Safe Pressure
Deformation Threshold
Break Threshold
Friction Characteristics

这些属性不是简单描述外观。

它们描述的是对象与环境交互时的能力边界。

例如:

压力 < 安全阈值

可能表示:

对象保持完整

而:

压力 > 破坏阈值

可能表示:

对象损伤

因此属性开始从:

描述对象

进入:

描述对象行为

这一步非常重要。

因为认知系统最终不是为了知道:

“这个鸡蛋是椭圆形。”

而是为了知道:

“在当前情况下,这个鸡蛋能够承受多大的作用。”


12.8 属性之间存在关系

如果把属性看成孤立字段:

Pressure
Friction
Deformation
Integrity

认知系统仍然无法形成完整判断。

真正重要的是这些属性之间的关系。

例如:

Pressure ↑
        ↓
Deformation ↑
        ↓
Damage Risk ↑

同时:

Grip Force ↑
        ↓
Stability ↑

但继续增加:

Grip Force ↑↑
        ↓
Deformation ↑
        ↓
Damage Risk ↑

因此存在一个非常重要的问题:

不是某一个属性达到最大或最小,而是多个属性之间存在一个动态平衡。

这正是后面的动态认知匹配理论需要解决的问题。


12.9 属性具有上下文

同一个属性,在不同环境和任务中,其认知意义可能完全不同。

例如:

Pressure = 5

这个数字本身没有完整意义。

必须知道:

谁施加的压力?
施加在什么对象上?
对象当前状态是什么?
持续了多久?
对象是否移动?
对象是否正在滑动?
任务目标是什么?

因此属性不能脱离上下文。

可以表示为:

Attribute
+
Object
+
Context
+
Time

共同构成属性当前的认知意义。

例如:

Pressure = 5

和:

Egg + Pressure = 5

再和:

Egg + Pressure = 5 + Current State + Time + Grip Task

已经是三个不同层次的信息。

所以:

属性值本身不是认知,属性在对象、时间和情境中的关系才逐渐形成认知依据。


12.10 属性状态

属性不仅可以有值,还可以有状态。

例如:

Pressure

可以有:

Zero
Increasing
Stable
Decreasing
Excessive

因此:

Pressure = 5

与:

Pressure = 5 + Increasing

并不相同。

前者描述数值。

后者描述:

当前压力为5,并且压力正在增加。

进一步:

Pressure = 5
Rate = +2/s
Trend = Increasing

系统就可以开始预测下一状态。

因此可以建立:

Attribute
 ├── Value
 ├── State
 ├── Change
 ├── Rate
 └── Trend

这也为后面的动态属性理论建立基础。


12.11 属性变化才是认知的重要信息

如果一个属性永远不变化,那么它主要承担的是描述功能。

而一旦属性发生变化,就开始产生新的认知信息。

例如:

Pressure = 3

只是当前状态。

但是:

Pressure:
2 → 3 → 4 → 5

说明压力正在持续增加。

如果同时观察:

Deformation:
0 → 0 → 1 → 2

那么系统可以发现:

压力增加正在伴随形变增加。

如果再观察:

Integrity:
100 → 100 → 98 → 95

系统就进一步发现:

当前作用可能正在损伤对象。

因此:

属性值

提供状态,

而:

属性变化

提供过程。

最终:

状态 + 变化

才为动态认知提供真正的信息。


12.12 属性不是越多越好

认知系统不能简单地认为:

属性越多,认知越准确。

如果一个对象拥有:

1000个属性

但当前任务只需要:

Pressure
Friction
Deformation
Integrity

那么大量无关属性反而会增加认知计算负担。

因此必须引入:

任务相关属性。

例如:

任务:识别鸡蛋

可能重点关注:

Shape
Color
Size
Surface

任务:抓取鸡蛋

则重点变成:

Position
Contact
Friction
Pressure
Deformation
Integrity

任务:运输鸡蛋

又可能重点关注:

Position
Acceleration
Stability
Impact
Integrity

于是:

Object
 ↓
All Attributes
 ↓
Task Relevant Attributes
 ↓
Current Cognitive Attributes

认知系统真正处理的是:

当前任务下具有认知价值的属性。


12.13 属性的认知价值

属性并不是简单的数据字段。

一个属性是否重要,取决于它对当前认知任务的贡献。

例如抓鸡蛋时:

颜色

可能几乎没有作用。

而:

压力
摩擦
形变
完整性

具有很高的认知价值。

因此可以定义:

Attribute Cognitive Value

即:

属性在当前任务和当前状态下,对认知结果产生影响的程度。

于是:

Attribute
 ↓
Relevance
 ↓
Weight
 ↓
Cognitive Contribution

这一步会直接连接到后面的:

认知匹配与动态权重。


12.14 属性与对象状态

对象状态不是凭空产生的。

它通常是多个属性共同作用的结果。

例如鸡蛋:

Pressure = 2
Deformation = 0
Integrity = 100

可以认知为:

Stable

当状态变为:

Pressure = 7
Deformation = 2
Integrity = 95

对象可能进入:

Risk

进一步:

Pressure = 10
Deformation = 8
Integrity = 60

可能进入:

Damage

因此:

属性
 ↓
属性状态
 ↓
属性组合
 ↓
对象状态

对象状态实际上是属性系统综合作用后的结果之一。


12.15 对象属性的层次结构

到这里,可以建立一个更完整的对象属性模型:

Object
 │
 ├── Identity
 │
 ├── Attributes
 │      │
 │      ├── Static Attribute
 │      │
 │      ├── Dynamic Attribute
 │      │
 │      ├── State Attribute
 │      │
 │      └── Capability Attribute
 │
 ├── Attribute Value
 │
 ├── Attribute State
 │
 ├── Attribute Change
 │
 ├── Attribute Relation
 │
 └── Attribute Context

于是,一个对象不再只是:

Object = Name

而成为:

Object
=
Identity
+
Attributes
+
Values
+
States
+
Changes
+
Relations
+
Context

这已经从传统的数据对象进入了认知对象。


12.16 从对象属性走向认知

现在回到本章最开始的问题:

对象为什么需要属性?

因为认知系统不能直接从一个名称获得完整认知。

它必须通过属性逐渐建立判断。

例如:

Object = Egg

Friction = High
Pressure = Increasing
Deformation = Increasing
Integrity = Decreasing

系统发现:

当前作用正在增加对象损伤风险

这已经不是单纯的对象识别。

而是:

对象状态认知。

再进一步,如果系统发现:

Pressure ↓
Deformation ↓
Integrity Stable
Slip Risk Acceptable

则可以形成另一种认知:

当前抓取方式更安全

于是:

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

这条链路非常重要。


12.17 对象属性不是静态数据库字段

传统软件经常这样定义对象:

Object {
    name;
    color;
    weight;
}

这种结构当然有工程价值。

但对于认知系统来说仍然不够。

因为真实世界中的属性是:

属性
+
时间
+
变化
+
上下文
+
关系

所以认知工程中的属性更接近:

Attribute {
    value;
    state;
    change;
    rate;
    trend;
    confidence;
    context;
    relation;
}

这里的重点不是规定一个唯一的数据结构,而是提出一个理论原则:

对象属性必须能够表达对象在时间和环境中的变化。

否则,系统最终仍然会退化成静态数据匹配。


12.18 从属性到动态认知

本章可以形成第一条重要理论链:

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

而下一阶段还需要解决一个更关键的问题:

当多个属性同时变化时,认知系统究竟应该如何进行综合判断?

例如抓取鸡蛋:

压力
+
摩擦
+
滑移
+
形变
+
完整性
+
抓取稳定性

这些数据不是简单相加。

更不是:

Pressure = X

然后直接做一个固定判断。

真正的问题是:

多个动态属性
        ↓
同时变化
        ↓
相互影响
        ↓
权重变化
        ↓
综合匹配
        ↓
当前认知

这就从对象属性理论进入了下一阶段:

动态属性与认知匹配。


12.19 本章核心结论

本章建立了几个基础观点。

第一:

对象回答“是什么”,属性回答“具有什么”。

第二:

属性不是对象本身,而是描述对象状态、特征、能力和变化的认知信息。

第三:

属性值不是永恒固定的,动态对象的属性必须能够随时间变化。

第四:

属性不仅具有值,还具有状态、变化、趋势和关系。

第五:

多个属性共同决定对象状态,单一属性通常不能完整代表对象的当前认知状态。

第六:

属性的认知价值取决于当前任务、环境和对象状态。

第七:

对象属性是从对象识别走向对象认知的关键桥梁。

因此可以形成:

对象是什么
      ↓
对象具有什么
      ↓
这些属性现在是什么状态
      ↓
这些属性正在怎样变化
      ↓
这些变化之间有什么关系
      ↓
对象当前处于什么状态
      ↓
系统形成什么认知

最终,本章最核心的理论表达可以概括为:

对象是认知结构,属性是对象可被认知的具体维度;属性通过值、状态、变化和关系描述对象,而对象的认知状态则来源于多个属性在特定时间、环境和任务条件下的综合变化。

下一章将进一步讨论:

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

Leave a Reply

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