第42章 类—组织—组合理论
42.1 提出背景
第40章建立了“世界—类—对象”理论,解决了现实世界中对象如何分类以及对象如何归属于不同类的问题。
第41章进一步建立“对象—关系—场景”理论,解决了对象如何通过关系形成场景,以及场景如何发生动态变化的问题。
但是,对于机器认知而言,还存在一个更加基础的问题:
机器已经获得了大量类、对象、属性、状态、关系、场景和知识之后,如何把这些已有结构重新组织起来,形成新的认知结构?
现实世界中的复杂结构很少是完全孤立产生的。
例如,机器已经知道:
设备类
人员类
工具类
故障类
维修方法类
也已经知道:
设备#001
人员#001
工具#001
故障#001
还知道:
人员 → 操作 → 设备
人员 → 使用 → 工具
设备 → 存在 → 故障
当机器面对“设备维修”这一任务时,它并不一定需要产生全新的基础知识,而可以对已经存在的知识结构进行:
识别
+
选择
+
分类
+
组织
+
组合
+
形成
最终得到:
设备维修结构
因此,本章研究:
Class→Organization→Composition\boxed{Class\rightarrow Organization\rightarrow Composition}
核心问题从“机器知道什么”进一步转向:
机器如何组织已经知道的结构。
42.2 类是知识组织的基础单位
**类(Class)**是机器对具有共同结构的对象进行抽象形成的基本分类结构。
例如:
设备类
人员类
工具类
故障类
方法类
场景类
类的意义不仅在于分类对象,还在于为知识组织提供结构边界。
例如:
设备类
├── 属性
├── 状态
├── 关系
├── 方法
└── 行为
因此,类可以作为机器组织知识的基本节点。
可以表示为:
Knowledge→ClassKnowledge\rightarrow Class
大量知识首先被归入不同类,然后才能进行进一步组织。
42.3 组织的定义
**组织(Organization)**是机器按照一定分类规则、层次规则、关系规则、结构规则或目标条件,对已有认知结构进行排列、归属和连接的过程。
组织解决的是:
已有结构应该放在哪里,以及它们之间如何形成结构。
例如:
设备
电机
轴承
故障
维修人员
维修工具
通过分类组织:
设备类
├── 电机
└── 轴承
人员类
└── 维修人员
工具类
└── 维修工具
故障类
└── 轴承故障
这就是知识结构的组织。
因此:
Organization(K)Organization(K)
表示对知识结构 KK 进行组织。
42.4 组合的定义
**组合(Composition)**是机器从已经存在的类、对象、属性、状态、关系、场景、知识和方法中选择相关结构,并按照一定结构规则形成新的复合结构的过程。
组合不是简单相加。
例如:
人员
+
设备
+
工具
只是对象集合。
如果进一步加入:
人员 → 维修 → 设备
人员 → 使用 → 工具
则形成:
维修结构
因此:
Composition=Selection+Organization+Relation+StructureComposition = Selection + Organization + Relation + Structure
组合的核心是:
从已有结构中形成新的结构。
42.5 组织与组合的区别
组织和组合密切相关,但并不相同。
组织
主要解决:
已有结构
↓
分类
↓
归属
↓
排序
↓
层次
↓
连接
它回答:
已有知识如何排列和管理?
组合
主要解决:
已有结构A
+
已有结构B
+
已有结构C
↓
结构组合
↓
新结构
它回答:
已有知识如何形成新的结构?
因此:
Organization≠CompositionOrganization\neq Composition
但:
Organization→CompositionOrganization\rightarrow Composition
通常先组织,再组合。
42.6 类—组织—组合的基本关系
可以建立:
Class
↓
分类
↓
Organization
↓
选择相关结构
↓
Composition
↓
新的复合结构
形式化表示:
C→O→CoC\rightarrow O\rightarrow Co
其中:
- CC:Class,类;
- OO:Organization,组织;
- CoCo:Composition,组合。
这构成机器知识结构重组的基本路径。
42.7 机器已有知识结构
机器已经获得的知识可以表示为:
K={C,O,A,S,R,Sc,M,B}K=\{C,O,A,S,R,Sc,M,B\}
其中:
- CC:类;
- OO:对象;
- AA:属性;
- SS:状态;
- RR:关系;
- ScSc:场景;
- MM:方法;
- BB:行为。
这些结构进入机器的知识空间之后,并不是永久固定不变的。
机器可以:
读取
↓
识别
↓
匹配
↓
选择
↓
组织
↓
组合
↓
形成新结构
因此知识空间具有结构重组能力。
42.8 类的组织层次
类可以按照层级组织。
例如:
对象
↓
设备
↓
动力设备
↓
电机
↓
交流电机
↓
三相交流电机
这种组织形成类层次:
Class1→Class2→Class3Class_1\rightarrow Class_2\rightarrow Class_3
类层次解决的是:
“这个类属于哪个更大的类?”
例如:
三相交流电机
↓ 属于
交流电机
↓ 属于
电机
↓ 属于
动力设备
↓ 属于
设备
机器由此获得从具体到一般、从一般到具体的结构导航能力。
42.9 类之间的横向组织
类不仅可以纵向组织,还可以横向组织。
例如:
设备类
人员类
工具类
故障类
方法类
这些类之间可以建立:
人员类
↓ 操作
设备类
人员类
↓ 使用
工具类
设备类
↓ 存在
故障类
故障类
↓ 对应
维修方法类
于是形成:
类
↓
类关系
↓
知识结构
可以表示为:
R(Ci,Cj)R(C_i,C_j)
即类与类之间也可以存在结构关系。
42.10 类组织对象
类是对象组织的基础。
例如:
设备类
├── 设备#001
├── 设备#002
└── 设备#003
人员类:
人员类
├── 人员#001
└── 人员#002
工具类:
工具类
├── 工具#001
└── 工具#002
机器通过类把大量对象划分到不同结构空间。
因此:
Object→Class→OrganizationObject\rightarrow Class\rightarrow Organization
对象获得类别归属之后,才容易参与更高层次的结构组合。
42.11 对象组织
机器可以按照不同条件组织对象。
例如按照类别:
设备
人员
工具
按照状态:
正常设备
故障设备
维修设备
按照场景:
生产对象
维修对象
检测对象
按照关系:
被操作对象
被维修对象
被检测对象
因此同一个对象可以进入多个组织结构。
例如:
设备#001
同时属于:
设备类
故障设备集合
维修对象集合
生产场景对象集合
这说明:
组织结构不是对象唯一归属的固定树,而可以形成多维结构。
42.12 属性组织
属性也可以组织。
例如设备属性:
基本属性
├── 名称
├── 编号
└── 型号
性能属性
├── 功率
├── 转速
└── 电压
运行属性
├── 温度
├── 电流
└── 运行时间
机器因此可以把大量离散属性组织成属性结构。
Attribute→AttributeGroupAttribute\rightarrow AttributeGroup
进一步:
属性
↓
属性组
↓
对象描述结构
42.13 状态组织
状态也可以形成结构。
例如设备:
运行状态
├── 正常
├── 异常
└── 停止
维修状态
├── 待维修
├── 维修中
└── 已完成
机器可以通过状态组织确定:
当前状态
↓
允许行为
↓
可使用方法
↓
下一状态
因此状态不仅是一个值,也可以成为组织知识结构的重要节点。
42.14 关系组织
关系可以按照类型组织:
空间关系
├── 位于
├── 相邻
└── 包含
功能关系
├── 操作
├── 使用
└── 控制
结构关系
├── 属于
├── 包含
└── 组成
因果关系
├── 导致
└── 触发
形成:
Relation→RelationType→RelationStructureRelation\rightarrow RelationType\rightarrow RelationStructure
这样机器可以从大量关系中找到特定类型的结构。
42.15 场景组织
场景也可以进行组织。
例如:
工厂世界
│
├── 生产场景
│ ├── 上料
│ ├── 加工
│ └── 装配
│
├── 检测场景
│
└── 维修场景
├── 故障确认
├── 拆卸
├── 更换
└── 测试
场景由对象、关系、状态和条件组织形成。
因此:
Scene=Organized(Object,Relation,State,Context)Scene=Organized(Object,Relation,State,Context)
42.16 从已有知识中选择结构
组合之前必须进行选择。
机器已有:
设备类
人员类
工具类
故障类
方法类
面对:
维修设备#001
机器不需要调用整个知识空间,而需要选择:
设备类
故障类
维修人员类
工具类
维修方法类
再从中选择具体对象:
设备#001
故障#001
人员#001
工具#001
方法#001
因此:
K→KrelevantK\rightarrow K_{relevant}
即:
从全部知识结构中提取当前相关结构。
42.17 知识结构的组合
假设机器已有:
结构A:
设备维修人员
结构B:
故障设备
结构C:
维修工具
结构D:
维修方法
机器可以组合:
A
+
B
+
C
+
D
↓
维修任务结构
因此:
K1+K2+K3+K4→KnewK_1+K_2+K_3+K_4 \rightarrow K_{new}
但这里的“+”不是数学上的简单加法,而表示:
按照结构规则将多个已有知识单元连接成一个新的复合结构。
42.18 组合不是创造基础知识
这是本理论非常重要的区别。
机器组合:
设备
+
故障
+
人员
+
工具
+
方法
并不意味着机器凭空创造了这些基础知识。
这些结构已经存在于知识系统中。
机器完成的是:
已有知识
↓
选择
↓
组织
↓
组合
↓
新结构
因此:
NewStructure≠NewBasicKnowledgeNewStructure\neq NewBasicKnowledge
更准确地说:
NewStructure=Reorganization(ExistingKnowledge)NewStructure= Reorganization(ExistingKnowledge)
即:
新的结构可以来自已有知识结构的重新组织与组合。
42.19 结构组合的条件
不是任意知识都可以组合。
组合必须满足一定条件。
例如:
人员
+
设备
可以形成:
操作关系
但:
设备
+
天气
是否能够形成某种结构,则需要对应的关系规则。
因此:
Composition(K1,K2)Composition(K_1,K_2)
只有在:
Condition(K1,K2)=TrueCondition(K_1,K_2)=True
时才成立。
组合条件可以包括:
类别兼容
对象兼容
属性兼容
状态兼容
关系允许
场景允许
目标匹配
方法适用
42.20 类兼容
不同类之间存在不同的组合可能性。
例如:
人员类
+
设备类
→
操作关系
人员类
+
工具类
→
使用关系
故障类
+
设备类
→
故障关系
故障类
+
维修方法类
→
维修方法匹配
因此可以建立类组合规则:
Compose(Ci,Cj)→CkCompose(C_i,C_j)\rightarrow C_k
或者:
Compatible(Ci,Cj,R)Compatible(C_i,C_j,R)
表示:
类 CiC_i 与类 CjC_j 是否允许通过关系 RR 进行组合。
42.21 对象组合
类解决的是一般结构,对象组合解决具体实例。
例如:
人员类 + 设备类
可以形成:
人员#001 + 设备#001
再加入关系:
人员#001
↓ 操作
设备#001
形成具体操作结构。
因此:
Object1+Relation+Object2→ObjectStructureObject_1+Relation+Object_2 \rightarrow ObjectStructure
对象组合是现实世界具体结构形成的重要机制。
42.22 场景组合
多个已经存在的局部场景也可以组合。
例如:
故障检测场景
+
维修准备场景
+
设备维修场景
+
维修测试场景
可以形成:
完整设备维修过程
即:
Scene1+Scene2+⋯+Scenen→ScenecomplexScene_1+Scene_2+\cdots+Scene_n \rightarrow Scene_{complex}
这意味着复杂场景可以由已有场景结构组合形成。
42.23 方法组合
方法也可以组合。
例如:
检查设备
+
拆卸部件
+
更换部件
+
安装部件
+
测试设备
可以组合为:
设备维修方法
形成:
M1→M2→M3→M4→M5M_1\rightarrow M_2\rightarrow M_3\rightarrow M_4\rightarrow M_5
因此方法组合不仅产生结构,还可以产生执行顺序。
42.24 行为组合
行为同样可以由已有行为组合。
例如:
观察
+
判断
+
检查
+
拆卸
+
更换
+
测试
可以形成:
设备维修行为
因此:
Behaviorcomplex=Compose(B1,B2,⋯ ,Bn)Behavior_{complex} = Compose(B_1,B_2,\cdots,B_n)
复杂行为可以由多个基础行为按照目标和关系组织形成。
42.25 目标驱动的知识组织
机器组织知识通常不是无目的的。
目标可以决定:
组织什么
选择什么
组合什么
排除什么
例如目标:
恢复设备运行
机器可以选择:
设备类
+
故障类
+
维修人员类
+
工具类
+
维修方法类
而不需要选择:
天气类
动物类
建筑类
因此:
Goal→KnowledgeSelectionGoal\rightarrow KnowledgeSelection
进一步:
Goal→Organization→CompositionGoal\rightarrow Organization\rightarrow Composition
目标成为知识结构组织的重要控制条件。
42.26 场景驱动的知识组织
除了目标之外,场景也决定知识组织方式。
例如:
生产场景
重点组织:
设备
人员
产品
生产关系
生产状态
生产方法
而:
维修场景
重点组织:
故障设备
维修人员
工具
维修方法
维修状态
因此:
Scene→KnowledgeOrganizationScene\rightarrow KnowledgeOrganization
同一知识空间,在不同场景下可以形成不同的局部组织结构。
42.27 状态驱动的知识组合
状态也会影响组合。
例如:
设备状态 = 正常
可以选择:
生产方法
如果:
设备状态 = 故障
则组织:
故障知识
+
检测方法
+
维修方法
因此:
State→MethodSelectionState\rightarrow MethodSelection
进一步:
State→KnowledgeOrganization→CompositionState\rightarrow KnowledgeOrganization\rightarrow Composition
这使机器能够根据现实状态重新组织已有知识。
42.28 类—组织—组合模型
综合本章理论,可以建立:
已有知识
↓
类识别
↓
分类
↓
组织
↓
目标筛选
↓
场景筛选
↓
状态筛选
↓
相关结构选择
↓
结构匹配
↓
结构组合
↓
形成复合知识结构
形式化表示:
K→Classify→Organize→Select→Compose→K′\boxed{ K \rightarrow Classify \rightarrow Organize \rightarrow Select \rightarrow Compose \rightarrow K’ }
其中:
- KK:已有知识结构;
- K′K’:组合后的新结构。
42.29 知识结构重组模型
可以进一步建立完整模型:
已有知识空间 K
│
↓
Class识别
│
↓
分类
│
↓
组织
│
┌────────────┼────────────┐
↓ ↓ ↓
目标 场景 状态
│ │ │
└────────────┼────────────┘
↓
相关结构选择
↓
结构匹配
↓
结构组合
↓
新复合结构 K'
这里的核心不是生成随机新内容,而是:
对已有离散知识结构进行确定性的选择、组织、连接和组合。
42.30 组合结果的类型
组合可以形成不同类型的新结构。
类组合
类A + 类B
↓
复合类
对象组合
对象A + 对象B + 关系
↓
对象结构
属性组合
属性A + 属性B + 属性C
↓
复合属性结构
状态组合
状态A + 状态B
↓
复合状态
场景组合
场景A + 场景B
↓
复杂场景
方法组合
方法A + 方法B + 方法C
↓
复杂方法
行为组合
行为A + 行为B + 行为C
↓
复杂行为
因此:
Composition(X1,X2,⋯ ,Xn)→XcomplexComposition(X_1,X_2,\cdots,X_n)\rightarrow X_{complex}
42.31 组合结构的可追溯性
机器形成的新结构必须能够追溯其来源。
例如:
维修任务结构
可以追溯:
来源:
设备#001
故障#001
人员#001
工具#001
维修方法#001
因此:
Trace(K′)={K1,K2,⋯ ,Kn}Trace(K’)=\{K_1,K_2,\cdots,K_n\}
这意味着任何复合结构都可以回答:
这个结构由哪些已有结构组成?
这是结构化机器认知的重要特征。
42.32 组合结构的可分解性
既然复杂结构来自组合,那么它也应该能够被分解。
例如:
维修行为
↓
检查
↓
拆卸
↓
更换
↓
安装
↓
测试
因此:
Decompose(K′)→{K1,K2,⋯ ,Kn}Decompose(K’)\rightarrow\{K_1,K_2,\cdots,K_n\}
形成:
组合
↓
复杂结构
↓
分解
↓
原始结构
于是形成:
Compose↔DecomposeCompose\leftrightarrow Decompose
这种可逆的结构关系对于机器理解和执行非常重要。
42.33 工程映射
在WSaiOS认知工程中,可以把本章理论映射为:
Class
↓
ClassManager
Organization
↓
KnowledgeOrganizationEngine
Composition
↓
KnowledgeCompositionEngine
进一步:
ClassRepository
ObjectRepository
RelationRepository
SceneRepository
KnowledgeRepository
MethodRepository
由组织引擎负责:
读取
↓
分类
↓
建立层次
↓
建立关系
↓
建立结构索引
由组合引擎负责:
读取组织结构
↓
选择结构
↓
验证组合条件
↓
组合
↓
形成新结构
42.34 PHP OOP结构映射
可以建立基础对象:
class KnowledgeOrganization
{
protected $classes = array();
protected $objects = array();
protected $relations = array();
protected $scenes = array();
public function organize()
{
// 对已有知识结构进行分类与组织
}
}
组合器:
class KnowledgeComposition
{
protected $components = array();
protected $rules = array();
public function compose()
{
// 根据组合规则形成新的结构
}
}
类:
class CognitiveClass
{
protected $id;
protected $name;
protected $parentId;
protected $attributes = array();
protected $relations = array();
}
其工程逻辑为:
Repository
↓
读取已有知识
↓
Organization Engine
↓
组织结构
↓
Composition Engine
↓
形成复合对象
42.35 数据库结构映射
数据库可以进一步支持:
classes
class_relations
objects
object_attributes
object_states
relations
scenes
knowledge
knowledge_components
knowledge_compositions
composition_rules
例如:
knowledge_compositions
id
composition_type
target_type
target_id
source_type
source_id
rule_id
created_at
这样系统可以记录:
新结构
↓
由什么组成
↓
按照什么规则组成
↓
形成什么结果
使机器知识结构具有可追溯性。
42.36 类—组织—组合与认知匹配
本章与前面的认知匹配理论直接连接。
机器首先进行:
类匹配
↓
对象匹配
↓
属性匹配
↓
状态匹配
↓
关系匹配
↓
场景匹配
然后才可以:
匹配结果
↓
组织
↓
组合
因此:
Matching→Organization→CompositionMatching\rightarrow Organization\rightarrow Composition
认知匹配解决:
哪些结构相互对应?
组织解决:
对应结构如何排列?
组合解决:
排列后的结构如何形成新的复合结构?
42.37 类—组织—组合与复杂行为
第39章建立了复杂行为模型:
目标
+
基础类
+
对象实例
+
属性
+
状态
+
关系
+
场景
+
知识
+
方法
+
行为
+
动作
+
动态参数
+
反馈
↓
复杂行为
本章进一步解释:
这些元素可以通过:
类
↓
组织
↓
选择
↓
组合
形成复杂行为所需要的结构。
例如:
设备类
+
故障类
+
人员类
+
工具类
+
维修方法类
经过组织:
维修知识结构
再经过组合:
设备维修行为结构
因此:
ComplexBehavior=Compose(Organize(Knowledge))ComplexBehavior= Compose(Organize(Knowledge))
42.38 机器组织已有知识的完整过程
最终可以建立机器知识组织过程:
已有知识
↓
读取
↓
类识别
↓
对象识别
↓
关系识别
↓
场景识别
↓
分类
↓
层次组织
↓
关系组织
↓
目标筛选
↓
场景筛选
↓
状态筛选
↓
相关知识选择
↓
结构匹配
↓
组合条件验证
↓
知识组合
↓
形成新结构
↓
保存
↓
进入后续认知
这是一个完整的结构化知识组织与组合过程。
42.39 核心理论公式
本章可以归纳为三个核心公式。
第一:组织
Organization(K)=Classify+Arrange+Relate\boxed{ Organization(K)=Classify+Arrange+Relate }
即:
对已有知识进行分类、排列和建立关系。
第二:组合
Composition(K1,K2,⋯ ,Kn)→K′\boxed{ Composition(K_1,K_2,\cdots,K_n)\rightarrow K’ }
即:
多个已有结构按照规则形成新的复合结构。
第三:知识重组
K→Organization→Selection→Composition→K′\boxed{ K \rightarrow Organization \rightarrow Selection \rightarrow Composition \rightarrow K’ }
即:
机器通过组织和组合已有知识结构形成新的可计算结构。
42.40 本章总结
类—组织—组合理论解释了机器如何组织已有知识结构。
类提供分类基础;组织把离散的类、对象、属性、状态、关系和场景按照结构规则排列起来;组合则从已经组织好的结构中选择满足条件的部分,通过关系和规则形成新的复合结构。
因此,本章的核心不是“机器凭空产生知识”,而是:
已有知识
↓
分类
↓
组织
↓
选择
↓
匹配
↓
组合
↓
新的结构
其核心关系为:
Class→Organization→Composition\boxed{ Class\rightarrow Organization\rightarrow Composition }
进一步形成:
Existing Knowledge→Organization→Selection→Composition→New Structure\boxed{ Existing\ Knowledge \rightarrow Organization \rightarrow Selection \rightarrow Composition \rightarrow New\ Structure }
而与前面第40、41章结合:
世界
↓
类
↓
对象
↓
关系
↓
场景
↓
知识
↓
组织
↓
组合
↓
新结构
↓
方法
↓
行为
↓
动作
↓
反馈
↓
世界变化
因此,第40章建立了世界中的分类与对象基础,第41章建立了对象之间的关系与场景动态结构,第42章进一步建立了机器对这些已有结构进行组织、选择和组合的机制。
最终形成:
World→Class→Object→Relation→Scene→Knowledge→Organization→Composition→Behavior→Action\boxed{ World \rightarrow Class \rightarrow Object \rightarrow Relation \rightarrow Scene \rightarrow Knowledge \rightarrow Organization \rightarrow Composition \rightarrow Behavior \rightarrow Action }
这使“知识”不再只是机器存储的静态内容,而成为可以被分类、组织、匹配、组合、分解和重新利用的结构化认知资源。