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

第57章 认知类工程实现

第57章 认知类工程实现

前一章完成了认知对象的工程化:

Object
Attribute
State
Relation
Matching

这些结构解决的是:

系统如何表示一个正在被认识的对象,以及对象的属性、状态、关系和匹配结果。

但当认知系统中的对象越来越多时,又会出现一个新的问题:

如果每一个对象都单独定义,系统如何形成共性?如何复用已有认知结构?又如何保存不同个体之间的差异?

例如,系统可能同时认识:

鸡蛋
玻璃杯
水杯
婴儿
老人
机器人
人

这些对象显然不是完全相同的。

但是它们又存在大量共性:

都有状态
都有属性
都有变化
都有关系
都可能被保护
都可能参与行为

因此,单纯的 Object 已经不足以组织整个认知系统。

需要进一步建立:

Object
 ↓
Class
 ↓
Group Class
 ↓
Individual Class

并通过:

Inheritance
Composition

建立认知结构之间的组织关系。

本章解决的核心问题就是:

如何把分散的认知对象组织成可复用、可继承、可组合的 Cognitive Class,并同时保留群体共性与个体差异。


57.1 为什么需要 Cognitive Class

如果系统只有 Object:

egg_001
egg_002
egg_003
egg_004

那么系统必须分别保存每一个对象的结构。

这会造成大量重复。

例如:

egg_001
    size
    weight
    fragility

egg_002
    size
    weight
    fragility

egg_003
    size
    weight
    fragility

三个对象虽然是不同实例,但它们具有大量相同结构。

因此系统需要抽象:

Egg Class

然后:

Egg Class
    ↓
egg_001
egg_002
egg_003

于是:

Class

描述共性。

而:

Object

描述具体实例。


57.2 Class 与 Object 的关系

最基本的关系可以表示为:

Class
 ↓
Object Instance

例如:

Egg Class
   │
   ├── egg_001
   ├── egg_002
   └── egg_003

这里:

Egg Class

不是一个具体鸡蛋。

它描述的是:

系统对“鸡蛋这一类对象”的共同认知结构。

而:

egg_001

才是具体对象。

因此:

Class ≠ Object

Class 是:

对象结构的抽象描述。

Object 是:

Class 在具体环境中的实例。


57.3 Cognitive Class

在本书中,Class 不能简单理解成传统编程语言中的代码模板。

这里需要给出更严格的定义:

Cognitive Class 是对某一类认知对象、属性、状态、关系、匹配规则、个体差异及其工程方法进行统一描述的认知结构。

因此 Cognitive Class 不只是:

属性集合

还可以包含:

Object
Attribute
State
Relation
Matching
Method

形成:

Cognitive Class
│
├── Object Definition
├── Attribute Definition
├── State Definition
├── Relation Definition
├── Matching Definition
└── Method Definition

这意味着:

Class 不仅描述“对象是什么”,还描述系统应该如何认识这一类对象。

这是 Cognitive Class 与普通数据模型的重要区别。


57.4 Class 的第一层:结构

最基础的 Cognitive Class 可以定义:

Egg
│
├── size
├── weight
├── hardness
├── fragility
├── state
└── relations

这里描述:

这一类对象通常具有什么认知结构。

例如:

Egg

可能具有:

size
weight
hardness
fragility
surface
state

但这并不意味着每一个实例当前值都相同。


57.5 Class 的第二层:状态

Class 还可以描述:

这一类对象可能出现哪些状态。

例如:

Egg
│
├── intact
├── cracked
├── broken
└── damaged

于是:

Egg Class

定义可能状态。

而:

egg_001

当前可能是:

state = intact

而:

egg_002

可能是:

state = cracked

因此:

Class
 ↓
State Definition
 ↓
Object State

57.6 Class 的第三层:关系

Class 还需要描述对象可能产生的关系。

例如:

Egg

可能与:

Hand
Container
Table
Ground

产生关系:

held_by
inside
on
near
touching

因此:

Egg Class
 ↓
Relation Definitions

而具体对象:

egg_001

在当前场景中可能:

egg_001
 ↓
held_by
 ↓
hand_001

这就是:

Class Relation

与:

Object Relation

的区别。


57.7 Group Class

当系统拥有大量对象时,仅仅建立单个 Class 还不够。

因为:

Egg
Glass
Bottle
Cup
Plate

虽然不同,但可能存在共同认知特征:

都有形状
都有重量
都有承受能力
都可能受到外力
都可能损伤

因此可以进一步建立:

Object Group Class

例如:

Fragile Object

然后:

Fragile Object
      │
 ┌────┼────┐
 ↓    ↓    ↓
Egg  Glass  Ceramic

这就是:

Group Class 描述一组对象之间共享的认知共性。


57.8 Group Class 与普通分类的区别

普通分类可能只是:

动物
植物
工具
食品

但 Cognitive Group Class 更关注:

这些对象在认知过程中共享什么结构。

例如:

Fragile Object

不是因为这些对象名称相似。

而是因为它们共享:

fragility
damage risk
safe handling
force sensitivity

因此:

Group Class

本质上是一种:

认知共性结构。


57.9 Group Class 可以跨越传统类别

例如:

Egg
Glass
Baby
Elderly Person

从传统对象分类角度,它们完全不同。

但是从:

Object Protection

角度,它们可能属于同一个 Cognitive Group Class:

Protected Object

它们共享:

low damage tolerance
risk sensitivity
protective action

这说明 Cognitive Group Class 不一定等于传统的物种、产品或实体分类。

它可以按照:

属性
状态
行为
风险
目标
功能

形成新的认知群体。


57.10 Individual Class

Group Class 解决:

这一类对象有什么共同认知特征?

但是它仍然无法解决:

某一个具体个体与其他个体有什么不同?

例如:

Person A
Person B

两个人可能:

感觉相同
对象相同
属性相同
当前状态相同

但是:

经验不同
记忆不同
先验不同
偏差不同
目标不同

因此必须建立:

Individual Class

57.11 Individual Class 的定义

本书中的:

Cognitive Individual Class

描述的是:

个人经验
个人记忆
个人先验
个人偏差
个人目标
个人权重
个人认知状态

因此可以表示:

Individual Class
│
├── Experience
├── Memory
├── Prior
├── Bias
├── Goal
├── Weight
└── Cognitive State

这意味着:

Individual Class 是个体认知差异的工程容器。


57.12 Group Class 与 Individual Class 的关系

现在可以形成:

Cognitive Class
       │
 ┌─────┴─────┐
 ↓           ↓
Group       Individual
Class        Class

Group Class:

描述群体共性

Individual Class:

描述个体差异

例如:

Human Group Class

可以定义:

vision
hearing
movement
memory
goal

而:

Individual Human A

可以拥有:

experience_A
memory_A
prior_A
bias_A
goal_A

于是:

Human Group Class
        +
Individual Class
        ↓
Individual Cognitive Model

57.13 为什么 Individual Class 不能只是 Object

这是本书必须特别区分的一点。

Object

回答:

系统当前看到的是什么对象?

而:

Individual Class

回答:

这个个体如何认识世界?

例如:

Person_A

作为 Object,可以具有:

age
position
height
state

但是:

Individual Class

还可以具有:

experience
memory
prior
bias
goal
weight

因此:

Object

描述个体作为一个被认知对象的结构。

而:

Individual Class

描述个体作为一个认知主体的结构。

这是两个不同层次。


57.14 Inheritance:认知结构继承

当多个 Cognitive Class 存在共性时,可以使用:

Inheritance

例如:

Object
 ↓
Physical Object
 ↓
Fragile Object
 ↓
Egg

于是:

Egg

可以继承:

Fragile Object

的:

fragility
damage risk
protective handling

同时增加自己的:

shell
shape
weight

因此:

Parent Class
      ↓
Inheritance
      ↓
Child Class

57.15 Inheritance 的意义

继承不是为了减少代码重复这么简单。

在 Cognitive Engineering 中,继承的主要作用是:

让认知系统能够复用已有认知共性。

例如:

Fragile Object

已经定义:

fragility
damage
safe_force

那么:

Egg
Glass
Ceramic

都可以继承这些认知结构。

于是:

Fragile Object
       │
 ┌─────┼─────┐
 ↓     ↓     ↓
Egg   Glass Ceramic

系统无需重新定义:

fragility
damage risk
protective behavior

57.16 Inheritance 不等于认知完全相同

继承的是:

共性

不是:

全部属性值

例如:

Fragile Object

定义:

fragility

但:

Egg

与:

Glass

的具体:

fragility value
damage threshold
deformation behavior

可以不同。

所以:

Inheritance
=
共享结构

而不是:

Inheritance
=
完全相同

57.17 多层认知继承

可以形成更复杂的结构:

Object
  ↓
Physical Object
  ↓
Sensitive Object
  ↓
Fragile Object
  ↓
Egg

或者:

Object
  ↓
Living Object
  ↓
Human
  ↓
Adult
  ↓
Individual

这样就可以形成认知知识层级。

最终:

高层 Class
 ↓
共性
 ↓
中层 Class
 ↓
特殊性
 ↓
低层 Class
 ↓
具体对象

这为后面的认知知识系统提供了结构基础。


57.18 Composition:认知结构组合

如果 Inheritance 解决:

“这个对象属于哪一种认知共性?”

那么 Composition 解决:

“这个对象由哪些认知结构共同组成?”

例如一个:

Robot Hand

可以由:

Sensor
Finger
Force Module
Motion Module
Control Module

组成。

因此:

Robot Hand
│
├── Vision Sensor
├── Force Sensor
├── Finger
├── Motion System
└── Control System

这就是 Composition。


57.19 Composition 与 Object

认知对象也可以由多个对象组成。

例如:

Hand

可以由:

Palm
Finger_1
Finger_2
Finger_3
Finger_4
Finger_5

组成。

因此:

Hand
 ↓
Composition
 ↓
Multiple Objects

这些子对象仍然保持自己的:

Attribute
State
Relation

但整体形成一个新的:

Object

57.20 Composition 与认知结构

Composition 不仅可以组合 Object。

还可以组合:

Attribute
State
Relation
Method

例如:

Protective Object Class

可以组合:

Fragility Attribute
+
Damage State
+
Force Relation
+
Protection Method

形成:

Protective Cognitive Class

因此:

Composition

提供了一种:

把多个认知结构组合成更高层认知结构的方法。


57.21 Inheritance + Composition

真正强大的 Cognitive Class 通常不是只使用其中一种。

而是:

Inheritance
+
Composition

共同构建。

例如:

Fragile Object
      ↓
    Egg
      │
      ├── Shell
      ├── Internal Structure
      ├── Surface
      └── Damage Model

这里:

Inheritance

提供:

Fragility
Damage Risk
Protection Requirement

而:

Composition

提供:

Shell
Surface
Internal Structure

于是:

Egg Class
=
Inherited Cognitive Structure
+
Composed Cognitive Structure

57.22 Class、Inheritance、Composition 的区别

可以明确形成:

结构 解决的问题
Class 这一类对象具有什么认知结构?
Group Class 哪些对象共享认知共性?
Individual Class 某个个体具有什么认知差异?
Inheritance 哪些认知结构可以继承?
Composition 哪些认知结构需要组合?

因此:

Class

是基础。

Group Class

建立群体共性。

Individual Class

建立个体差异。

Inheritance

建立纵向结构。

Composition

建立横向组合。


57.23 五种结构形成认知组织体系

最终形成:

                    Cognitive Class
                          │
             ┌────────────┴────────────┐
             ↓                         ↓
        Group Class              Individual Class
             │                         │
             └──────────┬──────────────┘
                        ↓
                  Cognitive Model
                        │
              ┌─────────┴─────────┐
              ↓                   ↓
        Inheritance         Composition
              │                   │
              └─────────┬─────────┘
                        ↓
                 Cognitive Structure

这就形成了一个完整的认知类组织模型。


57.24 Cognitive Class 与 Matching

Class 不只是静态知识。

它还可以参与认知匹配。

例如:

Current Object
=
egg_001

系统知道:

egg_001
 ↓
Egg Class
 ↓
Fragile Object Group Class

那么当前状态:

pressure ↑
slip ↑
deformation ↑

可以与:

Fragile Object

的认知规则进行匹配。

形成:

Current State
       ↓
Class Matching
       ↓
Risk Recognition

因此:

Class 是认知匹配的重要知识来源。


57.25 Individual Class 与 Matching

进一步,如果系统认识的是:

Individual A

那么匹配不能只使用 Group Class。

还需要:

Individual Experience
Individual Memory
Individual Prior
Individual Bias
Individual Goal

因此:

Current State
        ↓
Group Class
        +
Individual Class
        ↓
Individual Matching
        ↓
Individual Cognition

这正好连接第27章至第33章的个体认知理论。


57.26 Individual Class 与个体权重

不同个体可以拥有不同的权重。

例如:

Individual A

可能:

Safety Weight = HIGH
Speed Weight = LOW

而:

Individual B

可能:

Safety Weight = LOW
Speed Weight = HIGH

面对相同对象:

Object
+
Attribute
+
State

两个个体可能产生:

Different Matching Weight

最终:

Different Probability

以及:

Different Cognition

所以:

Individual Class 是个体认知差异进入工程系统的重要接口。


57.27 Cognitive Class 的工程结构

到这里,可以给出一个更完整的结构:

CognitiveClass
│
├── identity
├── type
├── parent
├── attributes
├── states
├── relations
├── matching_rules
├── methods
├── group_context
├── individual_context
├── inheritance
└── composition

这已经不再只是普通的:

Class

而是:

Cognitive Class

57.28 Class 与 Method 的连接

第55章定义:

Method 是认知任务在工程系统中的具体实现过程。

因此:

Cognitive Class

需要能够拥有:

Cognitive Method

例如:

Egg Class
│
├── detect()
├── identify()
├── evaluateState()
├── calculateRisk()
├── match()
└── protect()

这些 Method 不只是普通函数。

它们对应的是:

认知任务

例如:

evaluateState()

对应:

判断对象当前状态。

calculateRisk()

对应:

判断对象当前受损风险。

match()

对应:

将当前状态与已有认知结构进行匹配。

因此:

Class
 ↓
Method

开始真正形成认知工程结构。


57.29 从 Class 到实例

完整过程可以表示为:

Cognitive Class
       ↓
Group Class
       ↓
Individual Class
       ↓
Object Instance
       ↓
Current State
       ↓
Matching
       ↓
Cognition

例如:

Fragile Object
      ↓
Egg Class
      ↓
egg_001
      ↓
pressure ↑
slip ↑
deformation ↑
      ↓
Matching
      ↓
High Damage Risk

这样理论中的:

对象
属性
状态
动态变化
匹配
个体

就全部进入同一个工程体系。


57.30 Class 的核心不是代码,而是认知组织

需要特别强调:

Cognitive Class 首先是认知理论中的结构,然后才是程序代码中的 Class。

也就是说:

理论 Class
      ↓
结构定义
      ↓
数据模型
      ↓
程序 Class

不能反过来:

先写 PHP Class
 ↓
再强行解释成认知理论

本书的方向应该始终保持:

认知理论
 ↓
认知模型
 ↓
认知结构
 ↓
工程结构
 ↓
代码 Class

这也是“理论工程”与普通软件开发最大的区别之一。


57.31 本章核心模型

本章最终建立:

                         Cognitive Class
                               │
                 ┌─────────────┴─────────────┐
                 ↓                           ↓
            Group Class                Individual Class
                 │                           │
              共性认知                     个体认知
                 │                           │
                 └─────────────┬─────────────┘
                               ↓
                       Cognitive Structure
                               │
                  ┌────────────┴────────────┐
                  ↓                         ↓
             Inheritance              Composition
                  │                         │
                  └────────────┬────────────┘
                               ↓
                         Object Instance
                               ↓
                    Attribute / State / Relation
                               ↓
                            Matching
                               ↓
                           Cognition

57.32 本章与前后章节的连接

到第57章为止,全书已经形成了一个明显的结构链。

前面:

感觉
 ↓
感知
 ↓
元素
 ↓
对象
 ↓
属性
 ↓
状态
 ↓
关系
 ↓
动态变化
 ↓
认知匹配
 ↓
概率
 ↓
个体认知
 ↓
行为

现在进一步:

认知对象
 ↓
Cognitive Class
 ↓
Group Class
 ↓
Individual Class
 ↓
Inheritance
 ↓
Composition

下一步则需要解决:

Cognitive Class
        ↓
Cognitive Method
        ↓
Data Structure
        ↓
Algorithm
        ↓
Module
        ↓
Engine

也就是说,第57章完成的是:

认知结构的组织工程。

而接下来的第58章开始真正进入:

理论如何转化为数据结构。


57.33 本章结论

第57章最重要的结论不是“Class 有继承和组合”。

真正重要的是:

人的认知不是由大量孤立对象组成的,而是由对象共性、个体差异、结构继承和认知组合共同形成的层级化认知系统。

因此:

Class

负责定义认知结构。

Group Class

负责定义群体共性。

Individual Class

负责保存个体差异。

Inheritance

负责传播认知共性。

Composition

负责组合复杂认知结构。

最终形成:

Group Knowledge
        +
Individual Knowledge
        +
Object Knowledge
        +
Method
        ↓
Cognitive Model
        ↓
Matching
        ↓
Cognition

由此,Cognitive Class 不再只是软件编程意义上的“类”,而成为连接“认知理论”与“认知工程”的核心结构。

下一章进入第十四篇 理论工程

第58章 从理论到数据结构

核心问题将进一步变成:

前面定义的 Object、Attribute、State、Relation、Matching、Cognitive Class,到底应该如何转换成计算机能够直接存储、读取、更新和计算的数据结构?

这一步将正式建立:

理论概念
    ↓
形式化定义
    ↓
数据结构
    ↓
数据实例
    ↓
状态更新
    ↓
认知计算

也就是从**“认知理论是什么”真正进入“认知理论如何成为机器内部的数据”**。

Leave a Reply

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