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

第19章补充 方法匹配判定规则

第19章补充 方法匹配判定规则

19.29 方法匹配判定规则的定义

方法匹配判定规则(Method Matching Decision Rules)是指用于确定两个方法之间是否存在对应关系,以及确定对应程度和匹配类型的一组认知判断规则。

方法匹配不是简单地执行:

M₁ ↔ M₂

而是必须经过一组明确的条件判断:

方法识别 → 元素匹配 → 结构判断 → 条件判断 → 整体判定 → 匹配分类

因此,方法匹配必须具有明确的判定规则。


19.30 方法匹配的基本判定单位

设:

M₁ = (G₁,O₁,C₁,A₁,P₁,R₁)

M₂ = (G₂,O₂,C₂,A₂,P₂,R₂)

其中:

  • G:目标;
  • O:对象;
  • C:条件;
  • A:动作;
  • P:过程;
  • R:结果。

首先分别计算六个基本匹配关系:

g = Match(G₁,G₂)

o = Match(O₁,O₂)

c = Match(C₁,C₂)

a = Match(A₁,A₂)

p = Match(P₁,P₂)

r = Match(R₁,R₂)

其中每一个匹配结果可以采用离散值:

1 = 匹配

0 = 不匹配

也可以扩展为:

0 = 不匹配

1 = 弱匹配

2 = 部分匹配

3 = 高度匹配

4 = 完全匹配

因此,方法匹配首先不是直接判断方法,而是先建立方法组成元素的匹配结果。


19.31 规则一:方法身份判定规则

在进行方法匹配之前,首先必须判断两个对象是否确实属于“方法”。

如果:

M₁ ∉ Method

或者:

M₂ ∉ Method

则不能进入方法匹配。

判定:

非方法对象 → 不进入方法匹配

该规则用于避免将对象、行为、动作或者状态直接当作方法进行匹配。


19.32 规则二:目标一致性判定规则

目标是方法的方向约束。

如果:

G₁ = G₂

则两个方法具有直接目标一致性。

如果:

G₁ ≠ G₂

则不能直接判定为相同方法。

因此:

G₁ ≠ G₂ → M₁ ≠ M₂

但是,目标不同并不一定意味着两个方法完全不存在关系。

如果两个目标具有父子目标、阶段目标或者功能对应关系,则仍然可以形成:

目标关联 → 方法弱匹配

因此需要区分:

目标相同

和:

目标相关

两种情况。


19.33 规则三:对象适用性判定规则

方法必须作用于一定对象。

如果两个方法作用于完全不同且不存在对应关系的对象,则不能判定为完全方法匹配。

即:

O₁ ≠ O₂ ∧ Relation(O₁,O₂)=0

则:

M₁ ≠ M₂

如果:

O₁ ↔ O₂

则允许继续进行方法匹配。

例如:

Door ↔ Door

属于直接对象匹配。

而:

Door ↔ Box

如果不存在规定的对象对应关系,则不能形成直接方法匹配。


19.34 规则四:对象类型优先判定规则

对象匹配必须首先判断对象类型。

设:

Type(O₁)

和:

Type(O₂)

如果:

Type(O₁)=Type(O₂)

则形成类型一致。

如果:

Type(O₁)≠Type(O₂)

则需要进一步检查是否存在允许的类关系:

ClassRelation(Type₁,Type₂)

只有存在规定的继承、包含、对应或者替代关系时,才允许继续进行方法匹配。

因此:

对象类型匹配 → 对象实例匹配 → 方法对象匹配

不能跳过对象类型直接进行方法整体判定。


19.35 规则五:条件满足判定规则

方法具有适用条件。

设:

C₁ = {c₁,c₂,…,cₙ}

C₂ = {d₁,d₂,…,dₘ}

如果两个方法的必要条件存在冲突,则不能判定为完全匹配。

例如:

C₁:对象必须关闭

C₂:对象必须打开

如果两者属于同一执行阶段,则:

Conflict(C₁,C₂)=1

于是:

M₁ ≠ M₂

如果条件不存在冲突,则可以继续进行匹配。


19.36 规则六:必要条件优先规则

方法条件可以分为:

必要条件

和:

非必要条件

如果必要条件不匹配,则不能判定为完全方法匹配。

即:

Necessary(C₁) ↔ Necessary(C₂) = 0

则:

FullMatch(M₁,M₂)=0

而非必要条件差异只能降低匹配程度,不一定直接否定方法匹配。

因此:

必要条件冲突 → 否定完全匹配

非必要条件差异 → 降低匹配等级


19.37 规则七:动作集合判定规则

方法中的动作必须进行集合匹配。

设:

A₁ = {a₁,a₂,…,aₙ}

A₂ = {b₁,b₂,…,bₘ}

如果主要动作均存在对应关系:

∀aᵢ ∈ A₁, ∃bⱼ ∈ A₂ : Match(aᵢ,bⱼ)=1

则说明两个方法具有较高动作覆盖程度。

如果只有少量动作对应,则只能形成部分方法匹配。

因此:

动作覆盖率 → 方法匹配程度


19.38 规则八:动作顺序判定规则

动作集合相同并不能直接判定方法相同。

例如:

A₁ → A₂ → A₃

和:

A₁ → A₃ → A₂

虽然动作集合相同:

{A₁,A₂,A₃} = {A₁,A₂,A₃}

但是顺序不同:

Sequence₁ ≠ Sequence₂

因此:

动作集合匹配 ≠ 方法完全匹配

只有当规定的关键动作顺序也对应时,才能提高整体方法匹配等级。


19.39 规则九:关键动作判定规则

并非所有动作对方法的重要程度相同。

方法可以包含:

关键动作

和:

辅助动作

如果关键动作不匹配,即使辅助动作高度相似,也不能判定为完全方法匹配。

即:

KeyActionMatch = 0

则:

FullMethodMatch = 0

因此:

关键动作优先于普通动作。


19.40 规则十:过程连续性判定规则

方法必须形成连续过程。

例如:

A₁ → A₂ → A₃

如果两个方法分别为:

A₁ → A₂ → A₃

和:

B₁ → B₂ → B₃

并且:

A₁ ↔ B₁

A₂ ↔ B₂

A₃ ↔ B₃

则过程具有连续对应关系。

如果出现:

A₁ → A₂ → A₃

对应:

B₁ → B₃

导致关键过程缺失,则只能形成部分匹配。

因此:

过程完整性是方法匹配的重要条件。


19.41 规则十一:结果一致性判定规则

如果两个方法最终结果一致:

R₁ = R₂

则两个方法具有结果一致性。

结果一致可以增强方法匹配。

但是:

R₁ = R₂

不能单独推出:

M₁ = M₂

因为不同方法可以产生相同结果。

所以:

结果一致 → 增强匹配

而不是:

结果一致 → 直接判定相同方法


19.42 规则十二:目标—结果一致性规则

方法必须保持目标与结果之间的逻辑一致性。

即:

Goal → Process → Result

如果方法目标是:

移动对象

但结果却是:

对象保持原位置

则目标与结果之间存在不一致。

因此:

Goal-Result Consistency = 0

时,该方法不能被判定为有效对应方法。

这条规则用于保证方法本身的认知完整性。


19.43 规则十三:结构一致性判定规则

方法整体结构可以表示为:

G → O → C → A → P → R

两个方法:

M₁:G₁ → O₁ → C₁ → A₁ → P₁ → R₁

M₂:G₂ → O₂ → C₂ → A₂ → P₂ → R₂

如果关键节点和关键关系均对应:

Structure(M₁) ↔ Structure(M₂)

则可以形成结构匹配。

结构一致性是判断完全方法匹配的重要依据。


19.44 规则十四:核心结构优先规则

方法中可以区分:

核心结构

和:

附加结构

如果核心结构一致,而附加结构不同,可以形成高度匹配或者部分匹配。

例如:

M₁:A₁ → A₂ → A₃

M₂:B₁ → B₂ → B₃ → B₄

如果:

A₁ ↔ B₁

A₂ ↔ B₂

A₃ ↔ B₃

而B₄只是附加检查动作,则两个方法仍然可以形成较高程度的结构匹配。

因此:

核心结构优先于附加结构。


19.45 规则十五:完全匹配判定规则

如果满足:

G₁ ↔ G₂

O₁ ↔ O₂

C₁ ↔ C₂

A₁ ↔ A₂

P₁ ↔ P₂

R₁ ↔ R₂

并且不存在关键条件冲突、关键动作缺失和关键过程冲突,则:

M₁ = M₂

在方法认知意义上判定为:

完全匹配

即:

FullMatch(M₁,M₂)=1


19.46 规则十六:高度匹配判定规则

如果目标、对象、核心条件、核心动作、主要过程和结果均对应,但存在少量非核心差异,则:

M₁ ≈ M₂

判定为:

高度匹配

例如:

M₁:抓取 → 移动 → 放置

M₂:夹取 → 搬运 → 放置 → 检查

如果“检查”属于附加动作,则两者仍可以形成高度方法匹配。


19.47 规则十七:部分匹配判定规则

如果两个方法只有部分结构对应:

G₁ ↔ G₂

O₁ ↔ O₂

但:

A₁ ≠ A₂

或者:

P₁ ≠ P₂

则不能判定为完全匹配。

如果仍存在有效公共结构:

CommonStructure(M₁,M₂) ≠ ∅

则:

M₁ ⇢ M₂

判定为:

部分匹配


19.48 规则十八:等价方法判定规则

如果两个方法内部结构不同,但满足:

G₁ ↔ G₂

O₁ ↔ O₂

R₁ ↔ R₂

并且两个方法均能够完成规定目标,则可以形成:

M₁ ≈ M₂

即:

等价方法关系

等价不表示结构完全相同,而表示两个方法在规定的目标和结果条件下具有功能对应关系。

因此:

结构不同 + 目标对应 + 结果对应 → 等价方法


19.49 规则十九:替代方法判定规则

如果:

G₁ ↔ G₂

并且:

R₁ ↔ R₂

但是:

P₁ ≠ P₂

同时两个方法均可以达到目标,则可以建立:

M₁ ⇔ M₂

表示:

方法替代关系

例如:

方法A:人工执行

方法B:机械执行

二者过程不同,但如果均能达到同一目标并产生对应结果,则属于替代方法。


19.50 规则二十:不匹配判定规则

如果满足以下任一核心否定条件:

目标完全冲突

或:

对象完全不适用

或:

必要条件冲突

或:

核心动作完全不存在对应关系

或:

核心过程完全不对应

或:

结果与目标严重冲突

则:

M₁ ≠ M₂

判定为:

不匹配


19.51 方法匹配的逻辑判定表

可以将基本规则归纳为:

条件 判定
方法身份不成立 不进入方法匹配
目标完全冲突 不匹配
对象完全不适用 不匹配
必要条件冲突 不匹配
核心动作不对应 不匹配
核心过程不对应 不匹配
目标、对象、条件、结构、结果全部对应 完全匹配
核心结构对应,存在少量非核心差异 高度匹配
只有部分结构对应 部分匹配
目标和结果对应、结构不同 等价/替代匹配
核心条件或核心结果存在冲突 不匹配

19.52 方法匹配的判定优先级

方法匹配不能按照任意顺序进行,而应建立认知优先级:

方法身份

目标

对象

必要条件

核心动作

动作顺序

过程结构

结果

整体方法结构

匹配类型

其中前面的核心条件具有否决后续判断的能力。

例如:

必要条件冲突

停止完全匹配判断

不需要继续通过大量普通动作相似性证明两个方法相同。

因此:

核心约束优先于普通相似元素。


19.53 方法匹配的否决规则

为了防止局部高度相似导致错误匹配,需要建立否决规则。

如果:

GoalConflict = 1

则:

FullMatch = 0

如果:

NecessaryConditionConflict = 1

则:

FullMatch = 0

如果:

KeyActionMissing = 1

则:

FullMatch = 0

如果:

KeyProcessConflict = 1

则:

FullMatch = 0

如果:

ResultConflict = 1

则:

FullMatch = 0

因此:

任一核心否决条件成立 → 完全匹配失败

但完全匹配失败不一定意味着“不匹配”。

仍然可以进一步判断:

高度匹配 / 部分匹配 / 等价 / 替代


19.54 方法匹配的充分条件与必要条件

在方法匹配理论中,需要区分必要条件和充分条件。

必要条件

方法必须满足:

MethodIdentity = 1

并且:

GoalCompatibility = 1

ObjectCompatibility = 1

NecessaryConditionCompatibility = 1

否则不能进入完全方法匹配。

充分条件

如果:

目标对应

对象对应

必要条件对应

核心动作对应

核心过程对应

结果对应

并且:

不存在核心冲突

则可以判定:

FullMethodMatch = 1

因此:

核心元素对应 + 核心结构对应 + 无核心冲突 → 完全方法匹配


19.55 方法匹配的规则链

完整判定可以表示为:

M₁,M₂

方法身份判断

目标判断

对象判断

必要条件判断

核心动作判断

动作顺序判断

过程判断

结果判断

核心冲突检查

整体结构判断

匹配类型判定

MatchResult

最终形成:

方法输入 → 方法解析 → 条件过滤 → 结构比较 → 匹配判定 → 匹配结果


19.56 方法匹配的形式化判定

定义:

MM(M₁,M₂)

为方法匹配函数。

可以定义完全匹配:

MM(M₁,M₂)=1

当且仅当:

Gm=1 ∧ Om=1 ∧ Cm=1 ∧ Am=1 ∧ Pm=1 ∧ Rm=1 ∧ Conflict=0

其中:

  • Gm:目标匹配;
  • Om:对象匹配;
  • Cm:条件匹配;
  • Am:动作匹配;
  • Pm:过程匹配;
  • Rm:结果匹配;
  • Conflict:核心冲突标记。

如果:

Conflict=1

则:

FullMatch=0

如果完全匹配条件不成立,但存在:

GoalMatch=1 ∧ ObjectMatch=1 ∧ ResultMatch=1

并且两个方法能够独立实现目标,则可以进一步判定:

EquivalentMatch=1

如果过程存在明显差异,则可以判定:

AlternativeMatch=1

如果只有部分结构对应,则:

PartialMatch=1


19.57 方法匹配的最终判定模型

可以建立统一的判定模型:

方法身份

目标兼容

对象兼容

必要条件兼容

核心动作兼容

过程兼容

结果兼容

核心冲突检查

整体结构判断

完全 / 高度 / 部分 / 等价 / 替代 / 不匹配

最终形成:

Method₁ → Method Matching Rules → Method₂ → Match Result


19.58 方法匹配判定规则的核心原则

方法匹配判定规则最终可以归纳为六条核心原则。

第一,目标原则。

方法必须首先具有相同或兼容的目标方向。

第二,对象原则。

方法必须作用于相同、对应或允许转换的对象。

第三,条件原则。

必要条件不能发生核心冲突。

第四,结构原则。

方法不能仅通过单个动作进行判断,而必须考虑整体结构。

第五,过程原则。

动作顺序和关键过程属于方法的重要组成部分。

第六,结果原则。

方法必须能够产生与目标相对应的结果。

因此:

目标 + 对象 + 条件 + 核心动作 + 过程 + 结果 + 无核心冲突 → 方法匹配判定

进一步形成:

元素匹配 → 结构匹配 → 关系判定 → 方法分类

这使方法匹配从“相似性描述”进入了真正的规则化认知判定


19.59 本节小结

方法匹配判定规则的作用,是将第19章的方法匹配从概念层推进到判定层。

方法匹配不是:

名称相同 → 方法相同

也不是:

动作相似 → 方法相同

而是:

方法身份 → 目标 → 对象 → 条件 → 动作 → 顺序 → 过程 → 结果 → 冲突检查 → 整体结构 → 匹配类型

其中核心规则为:

核心条件冲突 → 否决完全匹配

核心动作缺失 → 否决完全匹配

核心过程冲突 → 否决完全匹配

目标、对象、条件、动作、过程、结果均对应且无核心冲突 → 完全匹配

核心结构对应但存在非核心差异 → 高度匹配

部分结构对应 → 部分匹配

目标和结果对应、实现结构不同 → 等价或替代匹配

核心目标、对象、条件或结果发生冲突 → 不匹配

由此,方法匹配形成了从元素比较、结构比较到逻辑判定的完整认知机制,为下一层的方法调用匹配提供明确的候选方法关系基础。

Leave a Reply

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