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

第25章 方法理论

第25章 方法理论

25.1 方法的定义

在结构化知识理论中,方法已经作为知识结构的重要组成部分出现。知识回答的是“知道什么”,而方法进一步回答“如何实现一个目标”。

**方法(Method)**是针对特定目标,在一定对象、条件和状态下,通过规定的动作与过程,使对象从某种初始状态向目标状态变化,并获得预期结果的结构化认知内容。

因此,方法不是一个简单的动作名称,也不是动作的无序集合,而是一种具有内部结构的目标实现结构。

方法可以表示为:

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

其中:

  • MM:Method,方法;
  • GG:Goal,目标;
  • OO:Object,对象;
  • CC:Condition,条件;
  • SS:State,适用状态或初始状态;
  • AA:Action,动作集合;
  • PP:Process,过程;
  • RR:Result,结果。

方法的基本逻辑为:

目标+对象+条件+状态→动作组织→过程→结果目标+对象+条件+状态 \rightarrow 动作组织 \rightarrow 过程 \rightarrow 结果

例如,“给杯子倒水”不是单独一个动作,而是一个方法结构:

M=(装水,杯子,有水源,空杯,{拿起,倾倒},倒水过程,杯中有水)M=(装水,杯子,有水源,空杯,\{拿起,倾倒\},倒水过程,杯中有水)

因此:

方法本质上是面向目标的结构化行为实现规则。


25.2 方法的基本结构

方法具有明确的内部组成结构。

可以进一步表示为:

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

其中目标决定方法为什么存在,对象决定方法作用于什么,条件决定方法什么时候能够适用,状态决定方法作用的初始状态,动作构成方法的具体操作内容,过程描述动作之间的组织顺序,结果描述方法完成之后产生的状态或结果。

因此,一个完整的方法至少需要回答七个问题:

  1. 要实现什么目标?
  2. 作用于什么对象?
  3. 在什么条件下使用?
  4. 对象处于什么状态?
  5. 需要执行什么动作?
  6. 动作按照什么过程组织?
  7. 最终得到什么结果?

形成:

目标→对象→条件→状态→动作→过程→结果目标 \rightarrow 对象 \rightarrow 条件 \rightarrow 状态 \rightarrow 动作 \rightarrow 过程 \rightarrow 结果

这构成方法的基本认知结构。


25.3 方法与知识

方法属于知识结构的重要组成部分,但方法并不等于全部知识。

第24章已经建立:

K=(O,A,S,R,M,B)K=(O,A,S,R,M,B)

其中 MM 就是方法。

因此:

M⊂KM\subset K

表示方法属于知识结构。

但是,知识和方法承担不同的认知功能。

知识主要描述:

对象是什么对象是什么 对象有什么属性对象有什么属性 对象处于什么状态对象处于什么状态 对象之间有什么关系对象之间有什么关系

而方法描述:

如何改变对象状态如何改变对象状态

因此可以区分:

知识→描述知识\rightarrow描述 方法→实现方法\rightarrow实现

例如:

“杯子是容器”属于对象知识。

“杯子容量为300ml”属于属性知识。

“杯子当前为空”属于状态知识。

“杯子放在桌子上”属于关系知识。

“如何向杯子中倒水”则属于方法知识。

因此:

对象知识→方法知识对象知识 \rightarrow 方法知识

方法建立在知识基础之上。


25.4 方法与对象

方法必须依附于对象而存在。

**对象(Object)**是方法作用的目标实体。没有明确对象的方法通常无法确定其实际作用范围。

因此:

M→OM\rightarrow O

表示方法与对象存在作用关系。

例如:

拿起→杯子拿起\rightarrow杯子 打开→门打开\rightarrow门 启动→机器启动\rightarrow机器

同一个动作作用于不同对象,可能形成不同的方法。

例如:

打开+门打开+门

与:

打开+机器打开+机器

虽然都包含“打开”这一动作,但对象不同,其方法结构、条件和结果也可能不同。

因此:

Method=f(Goal,Object,Condition,State,Action,Process,Result)Method=f(Goal,Object,Condition,State,Action,Process,Result)

方法不能脱离对象孤立理解。


25.5 对象类与方法

方法不仅可以作用于具体对象实例,也可以作用于对象类。

例如:

“启动汽车”可以定义为针对“汽车类”的一般方法。

而:

“启动这辆汽车”则是针对具体汽车实例的方法应用。

因此需要区分:

方法→对象类方法\rightarrow对象类

和:

方法→对象实例方法\rightarrow对象实例

对象类方法描述一般适用结构:

M(Class)M(Class)

对象实例方法描述具体应用结构:

M(Instance)M(Instance)

二者关系为:

对象类→方法类结构→对象实例→具体方法应用对象类 \rightarrow 方法类结构 \rightarrow 对象实例 \rightarrow 具体方法应用

这与前面对象类和对象实例的理论保持一致。


25.6 方法与状态

方法不是在任何状态下都能够使用。

方法的适用必须建立在对象状态基础之上。

例如,“启动汽车”的方法通常要求汽车处于停止状态。

因此:

Sinitial→M→StargetS_{initial}\rightarrow M\rightarrow S_{target}

其中:

  • SinitialS_{initial}:方法执行前的初始状态;
  • MM:方法;
  • StargetS_{target}:方法完成后的目标状态。

例如:

汽车停止→启动方法→汽车运行汽车停止 \rightarrow 启动方法 \rightarrow 汽车运行

又例如:

杯子为空→倒水方法→杯子有水杯子为空 \rightarrow 倒水方法 \rightarrow 杯子有水

因此,方法实际上可以理解为一种状态转换结构:

M:S1→S2M:S_1\rightarrow S_2

这说明方法的核心作用之一,就是使对象状态发生符合目标的变化。


25.7 方法与状态转换

如果将状态变化进一步结构化:

StateTransition=(S1,C,S2)StateTransition=(S_1,C,S_2)

那么方法实际上可以参与状态转换:

S1→M→S2S_1 \rightarrow M \rightarrow S_2

其中条件 CC 决定方法是否能够介入。

完整结构为:

S1→C,MS2S_1 \xrightarrow{C,M} S_2

例如:

门=关闭→条件满足+开门方法门=打开门=关闭 \xrightarrow{条件满足+开门方法} 门=打开

因此,一个有效的方法必须具有明确的状态方向。

可以定义方法的状态作用关系:

MSR(M,S1,S2)=1MSR(M,S_1,S_2)=1

当方法 MM 能够使对象从 S1S_1 合法地转换到 S2S_2 时,方法与状态转换匹配。

因此:

方法→状态转换方法 \rightarrow 状态转换

是方法理论中的核心关系之一。


25.8 方法与行为

方法和行为具有密切关系,但二者不是同一个概念。

方法描述如何完成目标。

行为描述实际发生的活动。

因此:

方法≠行为方法\neq行为

方法属于认知知识结构:

MM

行为属于动态活动结构:

BB

方法可以产生行为:

M→BehaviorM \rightarrow Behavior

例如:

“倒水方法”描述:

拿起杯子→倾斜杯子→倒入液体拿起杯子 \rightarrow 倾斜杯子 \rightarrow 倒入液体

而实际执行这个过程:

人→拿起杯子→倾斜→倒水人 \rightarrow 拿起杯子 \rightarrow 倾斜 \rightarrow 倒水

则形成具体行为。

因此:

方法→方法调用→动作执行→行为方法 \rightarrow 方法调用 \rightarrow 动作执行 \rightarrow 行为

方法是行为形成的重要依据。


25.9 方法与动作

方法由一个或多个动作组成。

可以表示为:

A={a1,a2,…,an}A=\{a_1,a_2,\ldots,a_n\}

方法过程:

P=a1→a2→⋯→anP=a_1\rightarrow a_2\rightarrow\cdots\rightarrow a_n

例如“打开门”的方法:

M={目标=进入房间,对象=门,动作={走近,握把,转动,推开}}M= \{目标=进入房间, 对象=门, 动作=\{走近,握把,转动,推开\}\}

动作之间不是简单并列,而具有过程关系:

走近→握把→转动→推开走近 \rightarrow 握把 \rightarrow 转动 \rightarrow 推开

因此:

方法→动作集合→动作顺序方法\rightarrow动作集合\rightarrow动作顺序

方法构建的核心之一,就是确定动作之间的组织关系。


25.10 方法与过程

**过程(Process)**是方法内部动作按照一定逻辑形成的连续结构。

如果方法只有动作集合:

A={a1,a2,a3}A=\{a_1,a_2,a_3\}

仍然不能确定执行顺序。

加入过程之后:

P=a1→a2→a3P=a_1\rightarrow a_2\rightarrow a_3

才形成完整的方法结构。

因此:

动作集合→过程组织→方法动作集合\rightarrow过程组织\rightarrow方法

过程可以具有:

  • 顺序关系;
  • 条件关系;
  • 分支关系;
  • 循环关系;
  • 前置关系;
  • 后置关系。

例如:

a1→a2→a3a_1\rightarrow a_2\rightarrow a_3

表示顺序过程。

而:

C1→a2C_1\rightarrow a_2 C2→a3C_2\rightarrow a_3

表示条件分支过程。

因此,方法并不是动作简单相加,而是动作按照一定逻辑形成过程。


25.11 方法的适用条件

**方法适用条件(Method Applicability Condition)**是判断某个方法是否能够用于当前对象、状态和环境的条件集合。

定义:

CM={c1,c2,…,cn}C_M=\{c_1,c_2,\ldots,c_n\}

其中每一个 cic_i 都是方法适用所必须满足的条件。

方法能够使用的基本判断为:

Applicable(M)=1Applicable(M)=1

当:

ObjectMatch=1ObjectMatch=1 ConditionMatch=1ConditionMatch=1 StateMatch=1StateMatch=1 CapabilityMatch=1CapabilityMatch=1

并且不存在禁止性冲突时:

Applicable(M)=1Applicable(M)=1

因此:

Applicable(M)=ObjectMatch∧ConditionMatch∧StateMatch∧CapabilityMatchApplicable(M) = ObjectMatch \land ConditionMatch \land StateMatch \land CapabilityMatch

这里的 ∧\land 表示逻辑“与”。

也就是说,只满足其中一个条件并不能证明方法可用。


25.12 对象适用条件

首先需要判断方法是否适用于当前对象。

定义:

OM(M,O)=1OM(M,O)=1

表示方法 MM 与对象 OO 相匹配。

例如:

“开门方法”适用于门,而不适用于杯子。

因此:

Mopen_door→DoorM_{open\_door}\rightarrow Door

而:

Mopen_door↛CupM_{open\_door}\not\rightarrow Cup

对象匹配是方法适用判断的第一层条件。


25.13 状态适用条件

对象正确并不意味着方法一定能够使用。

还必须判断对象当前状态。

例如:

如果方法要求:

S=关闭S=关闭

而当前对象状态为:

S=打开S=打开

则:

StateMatch=0StateMatch=0

方法不能直接适用。

因此:

对象匹配∧状态匹配→方法适用基础成立对象匹配 \land 状态匹配 \rightarrow 方法适用基础成立

状态条件是方法使用的重要约束。


25.14 环境与外部条件

某些方法除了对象和状态之外,还依赖环境条件。

例如某种设备操作可能要求:

电源=开启电源=开启 温度<规定值温度<规定值 空间=可用空间=可用

因此可以定义:

EnvironmentCondition={e1,e2,…,en}EnvironmentCondition=\{e_1,e_2,\ldots,e_n\}

完整的适用条件可以表示为:

CM=CO∧CS∧CEC_M=C_O\land C_S\land C_E

其中:

  • COC_O:对象条件;
  • CSC_S:状态条件;
  • CEC_E:环境条件。

最终:

Applicable(M)=CO∧CS∧CEApplicable(M) = C_O\land C_S\land C_E

任何必要条件不满足,都可能导致方法不可适用。


25.15 方法适用条件与能力

方法是否存在,与当前是否能够执行方法,是两个不同问题。

例如系统已经具有:

M=打开机器M=打开机器

说明系统知道这个方法。

但是如果当前没有执行该动作所需要的能力,则:

Knowledge(M)=1Knowledge(M)=1

而:

Capability(M)=0Capability(M)=0

此时:

Executable(M)=0Executable(M)=0

因此:

方法存在≠方法可执行方法存在\neq方法可执行

完整关系为:

知识→方法知识 \rightarrow 方法 能力→方法执行条件能力 \rightarrow 方法执行条件

最终:

知识+能力+适用条件→方法可执行知识+能力+适用条件 \rightarrow 方法可执行

这与前面的知识、能力、行为理论形成统一关系。


25.16 方法的完整适用模型

综合对象、状态、环境、条件和能力,可以建立完整方法适用模型:

MA(M,O,S,C,E,Cap)MA(M,O,S,C,E,Cap)

其中:

  • MM:方法;
  • OO:对象;
  • SS:当前状态;
  • CC:逻辑条件;
  • EE:环境条件;
  • CapCap:能力条件。

方法可适用的必要条件可以表示为:

MA=OM∧SM∧CM∧EM∧CapMMA=OM\land SM\land CM\land EM\land CapM

其中:

  • OMOM:对象匹配;
  • SMSM:状态匹配;
  • CMCM:条件匹配;
  • EMEM:环境匹配;
  • CapMCapM:能力匹配。

因此:

对象→状态→条件→环境→能力→方法适用对象 \rightarrow 状态 \rightarrow 条件 \rightarrow 环境 \rightarrow 能力 \rightarrow 方法适用


25.17 方法的认知结构

从认知角度看,方法实际上连接了知识和行为。

完整关系为:

知识→方法→行为知识 \rightarrow 方法 \rightarrow 行为

其中:

知识提供对象、状态、关系和条件;

方法提供目标实现结构;

行为则产生实际动作和状态变化。

进一步展开:

知识→对象识别→状态识别→目标确定→方法匹配→适用条件判断→方法调用→动作→行为→状态变化→结果知识 \rightarrow 对象识别 \rightarrow 状态识别 \rightarrow 目标确定 \rightarrow 方法匹配 \rightarrow 适用条件判断 \rightarrow 方法调用 \rightarrow 动作 \rightarrow 行为 \rightarrow 状态变化 \rightarrow 结果

因此,方法是知识结构向行为结构转换的重要中间结构。


25.18 方法的分类

根据方法作用对象和作用方式,可以建立不同的方法类型。

按照对象划分:

对象方法对象方法

按照状态变化划分:

状态转换方法状态转换方法

按照目标划分:

目标实现方法目标实现方法

按照行为过程划分:

行为方法行为方法

按照对象数量划分:

单对象方法单对象方法 多对象方法多对象方法

例如:

对象A→方法→状态变化对象A \rightarrow 方法 \rightarrow 状态变化

属于单对象方法。

而:

对象A+对象B→方法→关系变化对象A+对象B \rightarrow 方法 \rightarrow 关系变化

则属于多对象方法。


25.19 方法的核心特征

方法具有以下基本特征。

第一,目标性

方法必须服务于某个目标:

M→GM\rightarrow G

第二,对象性

方法必须作用于明确对象:

M→OM\rightarrow O

第三,条件性

方法必须具有适用条件:

M→CM\rightarrow C

第四,状态性

方法通常要求特定初始状态,并产生目标状态:

S1→M→S2S_1\rightarrow M\rightarrow S_2

第五,动作性

方法由动作组成:

M→AM\rightarrow A

第六,过程性

动作按照一定结构形成过程:

A1→A2→⋯→AnA_1\rightarrow A_2\rightarrow\cdots\rightarrow A_n

第七,结果性

方法必须产生预期结果:

M→RM\rightarrow R

因此可以归纳为:

方法=目标+对象+条件+状态+动作+过程+结果\boxed{ 方法= 目标+对象+条件+状态+动作+过程+结果 }


25.20 方法的统一理论模型

综合本章,可以建立方法的统一模型:

M=(G,O,C,S,A,P,R)\boxed{ M=(G,O,C,S,A,P,R) }

其内部逻辑为:

G→O→C→S→A→P→RG \rightarrow O \rightarrow C \rightarrow S \rightarrow A \rightarrow P \rightarrow R

方法适用判断:

Applicable(M)=ObjectMatch∧ConditionMatch∧StateMatch∧EnvironmentMatch∧CapabilityMatchApplicable(M) = ObjectMatch \land ConditionMatch \land StateMatch \land EnvironmentMatch \land CapabilityMatch

方法执行逻辑:

方法→方法调用→动作→行为→状态变化→结果方法 \rightarrow 方法调用 \rightarrow 动作 \rightarrow 行为 \rightarrow 状态变化 \rightarrow 结果

方法与知识关系:

知识→方法知识 \rightarrow 方法

方法与行为关系:

方法→行为方法 \rightarrow 行为

方法与状态关系:

S1→M→S2S_1 \rightarrow M \rightarrow S_2

方法因此成为对象、知识、状态、行为和能力之间的重要连接结构。


25.21 工程映射

在认知工程中,方法可以独立建立为方法对象。

核心对象:

Method

可以包含:

Method
 ├── Goal
 ├── Object
 ├── Condition
 ├── State
 ├── Actions
 ├── Process
 └── Result

进一步建立:

MethodMatcher
MethodApplicabilityChecker
MethodInvocation
MethodExecutor

它们承担不同职责。

Method→MethodMatcher→MethodApplicabilityChecker→MethodInvocation→MethodExecutorMethod \rightarrow MethodMatcher \rightarrow MethodApplicabilityChecker \rightarrow MethodInvocation \rightarrow MethodExecutor

其中:

Method保存方法结构。

MethodMatcher负责判断当前目标与方法是否匹配。

MethodApplicabilityChecker负责判断方法是否满足对象、状态、条件、环境和能力要求。

MethodInvocation负责形成具体的方法调用。

MethodExecutor负责实际执行方法。

这样可以保持:

方法知识≠方法匹配≠方法调用≠方法执行方法知识 \neq 方法匹配 \neq 方法调用 \neq 方法执行

形成清晰的工程边界。


25.22 本章总结

本章建立了方法理论。

方法不是单个动作,也不是动作的简单集合,而是面向目标、作用于对象、依赖条件和状态、由动作和过程组成并产生结果的结构化认知内容。

方法的核心模型为:

M=(G,O,C,S,A,P,R)\boxed{ M=(G,O,C,S,A,P,R) }

即:

方法=目标+对象+条件+状态+动作+过程+结果方法= 目标+对象+条件+状态+动作+过程+结果

方法与知识的关系是:

知识→方法知识\rightarrow方法

知识提供方法形成所需要的对象、属性、状态、关系和条件信息。

方法与对象的关系是:

方法→对象方法\rightarrow对象

方法必须明确其作用对象。

方法与状态的关系是:

S1→M→S2S_1\rightarrow M\rightarrow S_2

方法能够推动对象从初始状态向目标状态变化。

方法与行为的关系是:

方法→行为方法\rightarrow行为

方法描述如何实现目标,行为描述实际发生的活动。

方法适用条件则可以表示为:

Applicable(M)=ObjectMatch∧ConditionMatch∧StateMatch∧EnvironmentMatch∧CapabilityMatchApplicable(M) = ObjectMatch \land ConditionMatch \land StateMatch \land EnvironmentMatch \land CapabilityMatch

因此,本章最终建立:

知识→方法→行为→状态变化→结果\boxed{ 知识 \rightarrow 方法 \rightarrow 行为 \rightarrow 状态变化 \rightarrow 结果 }

方法由此成为结构化知识进入动态行为的重要桥梁,并为下一阶段的方法知识、方法构建、方法匹配、方法调用以及方法执行理论提供基础。

Leave a Reply

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