第14章 认知匹配的定义
14.1 提出背景
前面的场景理论建立了对象、属性、关系、状态和场景的基本结构;第13章目标场景理论进一步提出了当前场景与目标场景之间的比较问题。
但是,场景比较并不能直接进行。
系统首先必须回答:
当前认知到的对象、属性、关系和状态,与已有认知结构中的哪些对象、属性、关系和状态相对应?
例如,当前场景中识别到一个杯子,知识结构中也存在多个杯子。系统需要判断当前杯子对应哪个对象;确定对象之后,还需要判断其颜色、位置、状态以及与其他对象之间的关系是否对应。
因此,需要建立一个更基础的认知机制:
认知匹配(Cognitive Matching)。
认知匹配不是单纯的名称比较,也不是单纯的相似度判断,而是对两个认知结构按照规定的对象、结构和条件进行比较,并产生明确匹配结果的过程。
基本过程可以表示为:
认知对象→匹配对象→匹配结构→匹配条件→匹配结果认知对象 \rightarrow 匹配对象 \rightarrow 匹配结构 \rightarrow 匹配条件 \rightarrow 匹配结果
第14章因此建立整个后续“对象匹配、关系匹配、场景匹配”的基础理论。
14.2 认知匹配是什么
14.2.1 认知匹配的定义
**认知匹配(Cognitive Matching)**是认知系统将一个当前认知结构与另一个已有认知结构进行对应比较,根据规定的匹配结构和匹配条件确定二者之间对应关系的认知过程。
设:
XX
表示当前认知结构,
YY
表示已有认知结构。
则认知匹配可以表示为:
M(X,Y)M(X,Y)
其中:
- XX:当前待匹配对象;
- YY:候选认知对象;
- MM:匹配运算。
匹配的基本结果可以表示为:
M(X,Y)→RM(X,Y)\rightarrow R
其中:
- RR:匹配结果。
因此完整结构为:
X+Y→M→RX+Y \rightarrow M \rightarrow R
14.2.2 匹配不是简单相等
认知匹配与数学上的简单相等存在区别。
例如:
A=BA=B
表示两个值相等。
而认知匹配需要判断:
Match(A,B)Match(A,B)
即:
A与B是否满足规定的对应条件。
例如:
当前对象:
杯子
已有对象:
Cup#001
系统首先判断:
类别是否一致?
属性是否对应?
状态是否允许不同?
实例特征是否对应?
因此:
Match(A,B)Match(A,B)
是一个结构判断过程,而不是单纯的:
A=BA=B
14.3 匹配对象
**匹配对象(Matching Object)**是参与认知匹配的两个认知结构。
通常可以分为:
当前对象
已有对象
或者:
当前结构
目标结构
分别记为:
XcX_c
和:
XkX_k
其中:
- XcX_c:Current Object,当前对象;
- XkX_k:Knowledge Object,已有认知对象。
于是:
Match(Xc,Xk)Match(X_c,X_k)
构成基本对象匹配关系。
14.3.1 当前对象
**当前对象(Current Object)**是系统当前从输入信息或当前场景中形成的对象结构。
例如:
Object
├── 类型:Cup
├── 颜色:红色
├── 位置:左侧
└── 状态:静止
14.3.2 已有对象
**已有对象(Existing Object)**是系统已经保存于对象知识、认知记忆或当前场景结构中的对象。
例如:
Cup#001
├── 类型:Cup
├── 颜色:红色
├── 位置:左侧
└── 状态:静止
认知匹配的任务就是判断:
CurrentObject↔ExistingObjectCurrentObject \leftrightarrow ExistingObject
是否成立。
14.3.3 匹配对象的扩展
认知匹配并不局限于对象。
匹配对象可以包括:
元素
对象
类
属性
属性值
状态
关系
场景
目标场景
因此可以形成:
ElementMatchElementMatch ObjectMatchObjectMatch AttributeMatchAttributeMatch StateMatchStateMatch RelationMatchRelationMatch SceneMatchSceneMatch
这些都是认知匹配理论在不同认知层级上的具体表现。
14.4 匹配结构
**匹配结构(Matching Structure)**是规定两个认知对象中哪些组成部分需要参与比较,以及这些组成部分之间如何对应的结构。
认知对象不是单一值。
一个对象可以表示为:
O=(C,A,S,R)O=(C,A,S,R)
其中:
- CC:对象类别;
- AA:属性集合;
- SS:状态;
- RR:关系集合。
因此,对象匹配实际上是结构匹配。
可以表示为:
对象
├── 类
├── 属性
├── 状态
└── 关系
匹配时对应:
当前对象 已有对象
类别 ←→ 类别
属性 ←→ 属性
状态 ←→ 状态
关系 ←→ 关系
14.5 结构匹配的层次
认知匹配可以按照结构层级逐步展开。
第一层:元素匹配
判断基本认知元素是否对应。
Ec↔EkE_c \leftrightarrow E_k
例如:
红色 ↔ 红色
圆形 ↔ 圆形
第二层:对象匹配
判断对象是否对应。
Oc↔OkO_c \leftrightarrow O_k
例如:
当前杯子 ↔ Cup#001
第三层:关系匹配
判断对象之间的关系是否对应。
Rc↔RkR_c \leftrightarrow R_k
例如:
杯子 → 位于 → 桌面
与:
Cup#001 → 位于 → Table#001
进行对应。
第四层:场景匹配
多个对象及其关系共同形成场景。
Scenec↔ScenekScene_c \leftrightarrow Scene_k
因此:
元素→对象→关系→场景元素 \rightarrow 对象 \rightarrow 关系 \rightarrow 场景
构成认知匹配的结构层级。
14.6 匹配条件
**匹配条件(Matching Conditions)**是认知系统判断两个对象是否可以形成匹配关系时必须满足的规定。
设匹配条件集合为:
C={c1,c2,…,cn}C=\{c_1,c_2,…,c_n\}
则:
Match(X,Y)Match(X,Y)
需要根据这些条件进行判断。
例如对象匹配条件可以包括:
类别条件
实例条件
属性条件
状态条件
关系条件
并不是所有匹配都要求全部条件同时满足。
不同认知任务可以定义不同匹配条件。
14.6.1 类别条件
类别条件判断:
Class(X)=Class(Y)Class(X)=Class(Y)
或者:
Class(X)⊆Class(Y)Class(X)\subseteq Class(Y)
例如:
CoffeeCup → Cup
可以满足某些“杯子”类别要求。
14.6.2 属性条件
属性条件判断:
Attribute(X)↔Attribute(Y)Attribute(X)\leftrightarrow Attribute(Y)
例如:
颜色:
红色 ↔ 红色
或者:
材质:
陶瓷 ↔ 陶瓷
14.6.3 状态条件
状态条件判断:
State(X)↔State(Y)State(X)\leftrightarrow State(Y)
例如:
开启 ↔ 开启
关闭 ↔ 关闭
但是,在判断对象身份时,状态可以允许不同。
例如:
T1:
机器 = 关闭
T2:
机器 = 开启
仍然可能是同一个机器对象。
因此,匹配条件必须由匹配任务决定。
14.7 必要条件与可选条件
认知匹配中的条件可以进一步分为:
必要条件
可选条件
**必要条件(Required Condition)**是必须满足的条件。
例如:
对象类别必须一致
如果:
Class(X)≠Class(Y)Class(X)\neq Class(Y)
则直接不能形成该类型的对象匹配。
**可选条件(Optional Condition)**是用于提高匹配确定性的条件。
例如:
颜色
位置
状态
这些条件可能用于进一步确认对象,但不一定决定对象身份。
因此可以形成:
Match=RequiredConditions+OptionalConditionsMatch= RequiredConditions + OptionalConditions
14.8 匹配结果
**匹配结果(Matching Result)**是认知系统执行匹配运算后产生的结构化结果。
最简单的结果为:
匹配
不匹配
但在复杂认知系统中,匹配结果应该包含更丰富的信息。
例如:
MatchResult
├── 是否匹配
├── 匹配类型
├── 对应对象
├── 匹配条件
├── 满足条件
└── 不满足条件
因此:
M(X,Y)→RM(X,Y)\rightarrow R
其中:
R=(Result,Type,Conditions,Mapping)R=(Result,Type,Conditions,Mapping)
14.9 匹配结果类型
匹配结果可以划分为:
完全匹配
两个结构满足规定的全部条件:
Match(X,Y)=FullMatch(X,Y)=Full
例如:
类别一致
实例一致
属性一致
状态一致
关系一致
部分匹配
部分结构满足条件:
Match(X,Y)=PartialMatch(X,Y)=Partial
例如:
类别一致
属性部分一致
状态不同
类匹配
两个对象类别对应,但尚不能确定是同一实例:
Match(X,Y)=ClassMatchMatch(X,Y)=ClassMatch
例如:
Cup ↔ Cup
实例匹配
可以确定具体对象对应:
Match(X,Y)=InstanceMatchMatch(X,Y)=InstanceMatch
例如:
当前杯子 ↔ Cup#001
不匹配
核心条件不成立:
Match(X,Y)=NoneMatch(X,Y)=None
例如:
Cup ↔ Car
14.10 匹配映射
认知匹配不仅产生“匹配/不匹配”,还可以产生映射关系(Mapping)。
例如:
当前场景:
O1 = 杯子
O2 = 桌子
知识场景:
K1 = Cup#001
K2 = Table#001
匹配结果:
O1→K1O1\rightarrow K1 O2→K2O2\rightarrow K2
形成:
当前对象
↓
已有对象
O1 → K1
O2 → K2
这就是对象映射。
当多个对象同时建立映射之后,就可以进一步建立场景映射:
Scenec→ScenekScene_c \rightarrow Scene_k
14.11 匹配的结构化表示
可以建立统一的认知匹配模型:
CM=(X,Y,S,C,R)CM=(X,Y,S,C,R)
其中:
- CMCM:Cognitive Matching,认知匹配;
- XX:匹配对象A;
- YY:匹配对象B;
- SS:匹配结构;
- CC:匹配条件;
- RR:匹配结果。
因此:
(X,Y)→S→C→R(X,Y) \rightarrow S \rightarrow C \rightarrow R
形成完整认知匹配过程。
14.12 认知匹配的基本运行过程
完整过程可以表示为:
当前认知对象
↓
建立匹配对象
↓
确定匹配结构
↓
确定匹配条件
↓
执行结构比较
↓
条件判断
↓
生成匹配结果
↓
建立对象映射
进一步可以形成:
Input→Object→Candidate→StructureMatch→ConditionCheck→MatchResultInput \rightarrow Object \rightarrow Candidate \rightarrow StructureMatch \rightarrow ConditionCheck \rightarrow MatchResult
14.13 认知匹配与后续理论
第14章建立的是一个通用匹配机制。
后面的对象匹配、关系匹配和场景匹配,都可以作为认知匹配理论的具体应用。
因此:
认知匹配→对象匹配认知匹配 \rightarrow 对象匹配 认知匹配→关系匹配认知匹配 \rightarrow 关系匹配 认知匹配→场景匹配认知匹配 \rightarrow 场景匹配
其中:
对象匹配解决对象之间的对应;
关系匹配解决关系之间的对应;
场景匹配解决场景结构之间的对应。
因此,第15章的对象匹配实际上是第14章认知匹配理论在对象层的具体展开。
14.14 与目标场景理论的关系
第13章提出:
当前场景→目标场景当前场景\rightarrow目标场景
而第14章提供了实现这一过程所需要的基础比较机制。
例如:
当前场景
├── Cup#001
└── Table#001
目标场景:
目标场景
├── Cup#001
└── Table#001
系统必须先通过认知匹配确定:
CurrentCup↔TargetCupCurrentCup\leftrightarrow TargetCup CurrentTable↔TargetTableCurrentTable\leftrightarrow TargetTable
然后才能比较:
位置
状态
关系
属性
因此:
认知匹配→对象对应→场景对应→场景差异认知匹配 \rightarrow 对象对应 \rightarrow 场景对应 \rightarrow 场景差异
这使第14章成为第13章与第15章之间的重要理论桥梁。
14.15 工程映射
在WSaiOS工程中,可以将认知匹配映射为独立的匹配对象。
CognitiveMatcher
├── match()
├── compareStructure()
├── checkCondition()
└── buildResult()
匹配对象:
MatchObject
├── objectType
├── objectId
└── structure
匹配条件:
MatchCondition
├── conditionType
├── expectedValue
└── required
匹配结果:
MatchResult
├── matched
├── matchType
├── sourceObject
├── targetObject
├── matchedConditions
└── failedConditions
形成:
Current Object
↓
CognitiveMatcher
↓
Candidate Object
↓
Structure Comparison
↓
Condition Check
↓
MatchResult
这样理论中的:
匹配对象→匹配结构→匹配条件→匹配结果匹配对象 \rightarrow 匹配结构 \rightarrow 匹配条件 \rightarrow 匹配结果
可以直接对应到工程中的:
MatchObject
MatchStructure
MatchCondition
MatchResult
14.16 本章总结
认知匹配是WSaiOS认知理论中的基础机制。
它解决的不是“对象是什么”,也不是“应该采取什么行为”,而是:
两个认知结构之间是否存在规定意义上的对应关系。
其基本结构为:
匹配对象→匹配结构→匹配条件→匹配结果匹配对象 \rightarrow 匹配结构 \rightarrow 匹配条件 \rightarrow 匹配结果
进一步形成:
X+Y→Structure→Condition→MatchX+Y \rightarrow Structure \rightarrow Condition \rightarrow Match
其中:
匹配对象规定比较谁与谁;
匹配结构规定比较哪些结构;
匹配条件规定什么情况下可以形成匹配;
匹配结果记录匹配是否成立以及形成了什么对应关系。
由此建立:
认知匹配→对象匹配→关系匹配→场景匹配认知匹配 \rightarrow 对象匹配 \rightarrow 关系匹配 \rightarrow 场景匹配
并进一步连接:
场景匹配→场景差异→目标场景判断→变化需求场景匹配 \rightarrow 场景差异 \rightarrow 目标场景判断 \rightarrow 变化需求
因此,第14章的核心理论可以概括为:
认知匹配是对认知结构进行对象对应、结构比较和条件判断,并形成结构化对应结果的认知过程。
它为第15章对象匹配提供统一理论基础,也为后续的关系匹配、场景匹配、目标匹配和动态场景匹配建立通用的匹配机制。