面向结构化知识的方法理论:模型、适用条件与认知工程映射
资料来源:wsaios.cn
摘要:在结构化知识理论中,知识回答“知道什么”,方法回答“如何实现目标”。本文基于 WSaiOS 第25章方法理论,系统阐述方法作为面向目标的结构化行为实现规则。方法不是单个动作,也不是动作的无序集合,而是由目标、对象、条件、状态、动作、过程与结果构成的七元组模型:
M=(G,O,C,S,A,P,R)
\]
本文进一步分析方法与知识、对象、状态、行为、动作和过程的关系,提出方法适用性判断模型:
Applicable(M)=ObjectMatch\land ConditionMatch\land StateMatch\land EnvironmentMatch\land CapabilityMatch
\]
并区分“方法存在”与“方法可执行”。最后,本文给出方法理论的认知工程映射,包括 Method、MethodMatcher、MethodApplicabilityChecker、MethodInvocation 与 MethodExecutor,说明方法如何成为知识进入动态行为的重要桥梁。
关键词:结构化知识;方法理论;认知工程;状态转换;方法适用性;行为生成
1 引言
人工智能系统若只具备对象、属性、关系和状态的知识,仍不足以产生有效行动。知识可以描述“杯子是容器”“杯子当前为空”“杯子在桌子上”,但若要完成“向杯子中倒水”这一任务,系统还必须知道如何组织动作、何时使用动作、动作顺序如何、结果如何判断。这正是方法理论所要解决的问题。
在 WSaiOS 的结构化知识理论中,知识模型可表示为:
K=(O,A,S,R,M,B)
其中 M 即方法。方法属于知识结构,但并不等于全部知识。知识主要承担描述功能,方法主要承担实现功能。由此形成基本关系:
知识\rightarrow 方法\rightarrow 行为\rightarrow 状态变化\rightarrow 结果
本文围绕这一关系,对方法的定义、结构、适用条件、认知特征与工程映射进行系统论述。
2 方法的定义与基本结构
2.1 方法的定义
方法是针对特定目标,在一定对象、条件和状态下,通过规定的动作与过程,使对象从初始状态向目标状态变化,并获得预期结果的结构化认知内容。
这一定义包含三个要点:
第一,方法具有目标指向性。没有目标,方法就失去存在理由。
第二,方法具有对象与条件约束。方法不能脱离对象、状态和环境随意使用。
第三,方法具有过程结构。方法不是动作的简单堆叠,而是动作按照一定逻辑组织起来的过程。
因此,方法可以形式化表示为:
M=(G,O,C,S,A,P,R)
其中:
· M:Method,方法;
· G:Goal,目标;
· O:Object,对象;
· C:Condition,条件;
· S:State,适用状态或初始状态;
· A:Action,动作集合;
· P:Process,过程;
· R:Result,结果。
方法的基本逻辑为:
目标+对象+条件+状态\rightarrow 动作组织\rightarrow 过程\rightarrow 结果
例如,“给杯子倒水”不是单独一个动作,而是一个方法结构:
M=(装水,杯子,有水源,空杯,\{拿起,倾倒\},倒水过程,杯中有水)
因此,方法本质上是面向目标的结构化行为实现规则。
2.2 方法必须回答的七个问题
一个完整的方法至少需要回答七个问题:
1. 要实现什么目标?
2. 作用于什么对象?
3. 在什么条件下使用?
4. 对象处于什么状态?
5. 需要执行什么动作?
6. 动作按照什么过程组织?
7. 最终得到什么结果?
这七个问题对应方法七元组中的七个要素,构成方法的基本认知结构:
G\rightarrow O\rightarrow C\rightarrow S\rightarrow A\rightarrow P\rightarrow R
3 方法与知识、对象和状态
3.1 方法与知识
方法属于知识结构的重要组成部分:
M\subset K
但方法不等于全部知识。知识主要描述对象是什么、对象有什么属性、对象处于什么状态、对象之间有什么关系;方法描述如何改变对象状态。因此可以区分:
知识\rightarrow 描述
方法\rightarrow 实现
例如:
· “杯子是容器”属于对象知识;
· “杯子容量为300ml”属于属性知识;
· “杯子当前为空”属于状态知识;
· “杯子放在桌子上”属于关系知识;
· “如何向杯子中倒水”属于方法知识。
方法建立在知识基础之上。没有对象知识、状态知识和关系知识,方法就缺乏适用判断的依据。
3.2 方法与对象
方法必须依附于对象而存在:
M\rightarrow O
对象是方法作用的目标实体。没有明确对象的方法通常无法确定其实际作用范围。
例如:
拿起\rightarrow 杯子
打开\rightarrow 门
启动\rightarrow 机器
同一个动作作用于不同对象,可能形成不同方法。例如“打开门”和“打开机器”虽然都包含“打开”这一动作,但对象不同,其条件、状态、过程和结果也可能不同。因此:
Method=f(Goal,Object,Condition,State,Action,Process,Result)
方法不能脱离对象孤立理解。
方法不仅可以作用于具体对象实例,也可以作用于对象类。针对“汽车类”的方法可记为 M(Class),针对具体汽车实例的方法应用可记为 M(Instance)。二者关系为:
对象类\rightarrow 方法类结构\rightarrow 对象实例\rightarrow 具体方法应用
3.3 方法与状态
方法不是在任何状态下都能够使用。方法的适用必须建立在对象状态基础之上:
S_{initial}\rightarrow M\rightarrow S_{target}
其中 S_{initial} 是方法执行前的初始状态,S_{target} 是方法完成后的目标状态。
例如:
汽车停止\rightarrow 启动方法\rightarrow 汽车运行
杯子为空\rightarrow 倒水方法\rightarrow 杯子有水
因此,方法可以理解为一种状态转换结构:
M:S_1\rightarrow S_2
若将状态变化进一步结构化:
StateTransition=(S_1,C,S_2)
则方法参与状态转换:
S_1\xrightarrow{C,M}S_2
一个有效的方法必须具有明确的状态方向。可以定义方法的状态作用关系:
MSR(M,S_1,S_2)=1
当方法 M 能够使对象从 S_1 合法转换到 S_2 时,方法与状态转换匹配。
4 方法与行为、动作和过程
4.1 方法与行为
方法和行为具有密切关系,但二者不是同一个概念:
方法\neq 行为
方法属于认知知识结构,行为属于动态活动结构。方法描述如何完成目标,行为描述实际发生的活动。
方法可以产生行为:
M\rightarrow Behavior
例如,“倒水方法”描述:
拿起杯子\rightarrow 倾斜杯子\rightarrow 倒入液体
而实际执行这个过程:
人\rightarrow 拿起杯子\rightarrow 倾斜\rightarrow 倒水
则形成具体行为。因此:
方法\rightarrow 方法调用\rightarrow 动作执行\rightarrow 行为
方法是行为形成的重要依据。
4.2 方法与动作
方法由一个或多个动作组成:
A=\{a_1,a_2,\ldots,a_n\}
方法过程为:
P=a_1\rightarrow a_2\rightarrow\cdots\rightarrow a_n
例如“打开门”的方法:
M=\{目标=进入房间,对象=门,动作=\{走近,握把,转动,推开\}\}
动作之间不是简单并列,而具有过程关系:
走近\rightarrow 握把\rightarrow 转动\rightarrow 推开
因此:
方法\rightarrow 动作集合\rightarrow 动作顺序
方法构建的核心之一,就是确定动作之间的组织关系。
4.3 方法与过程
过程是方法内部动作按照一定逻辑形成的连续结构。如果方法只有动作集合:
A=\{a_1,a_2,a_3\}
仍然不能确定执行顺序。加入过程之后:
P=a_1\rightarrow a_2\rightarrow a_3
才形成完整的方法结构。因此:
动作集合\rightarrow 过程组织\rightarrow 方法
过程可以具有顺序关系、条件关系、分支关系、循环关系、前置关系和后置关系。例如:
a_1\rightarrow a_2\rightarrow a_3
表示顺序过程。而:
C_1\rightarrow a_2,\quad C_2\rightarrow a_3
表示条件分支过程。因此,方法并不是动作简单相加,而是动作按照一定逻辑形成过程。
5 方法的适用条件
方法适用条件是判断某个方法是否能够用于当前对象、状态和环境的条件集合。定义:
C_M=\{c_1,c_2,\ldots,c_n\}
方法能够使用的基本判断为:
Applicable(M)=1
当对象匹配、条件匹配、状态匹配、环境匹配和能力匹配同时成立,并且不存在禁止性冲突时,方法适用。即:
Applicable(M)=ObjectMatch\land ConditionMatch\land StateMatch\land EnvironmentMatch\land CapabilityMatch
其中 \land 表示逻辑“与”。只满足其中一个条件并不能证明方法可用。
5.1 对象适用条件
首先需要判断方法是否适用于当前对象:
OM(M,O)=1
表示方法 M 与对象 O 相匹配。例如,“开门方法”适用于门,而不适用于杯子:
M_{open\_door}\rightarrow Door
M_{open\_door}\not\rightarrow Cup
对象匹配是方法适用判断的第一层条件。
5.2 状态适用条件
对象正确并不意味着方法一定能够使用。还必须判断对象当前状态。例如,如果方法要求:
S=关闭
而当前对象状态为:
S=打开
则:
StateMatch=0
方法不能直接适用。因此:
对象匹配\land 状态匹配\rightarrow 方法适用基础成立
5.3 环境与外部条件
某些方法除了对象和状态之外,还依赖环境条件。例如某种设备操作可能要求:
电源=开启
温度<规定值
空间=可用
因此可以定义:
EnvironmentCondition=\{e_1,e_2,\ldots,e_n\}
完整的适用条件可以表示为:
C_M=C_O\land C_S\land C_E
其中 C_O 是对象条件,C_S 是状态条件,C_E 是环境条件。最终:
Applicable(M)=C_O\land C_S\land C_E
任何必要条件不满足,都可能导致方法不可适用。
5.4 方法存在与可执行
方法是否存在,与当前是否能够执行方法,是两个不同问题。例如系统已经具有:
M=打开机器
说明系统知道这个方法。但如果当前没有执行该动作所需能力,则:
Knowledge(M)=1
而:
Capability(M)=0
此时:
Executable(M)=0
因此:
方法存在\neq 方法可执行
完整关系为:
知识\rightarrow 方法
能力\rightarrow 方法执行条件
最终:
知识+能力+适用条件\rightarrow 方法可执行
6 方法的完整适用模型
综合对象、状态、环境、条件和能力,可以建立完整方法适用模型:
MA(M,O,S,C,E,Cap)
其中 M 是方法,O 是对象,S 是当前状态,C 是逻辑条件,E 是环境条件,Cap 是能力条件。
方法可适用的必要条件可以表示为:
MA=OM\land SM\land CM\land EM\land CapM
其中:
· OM:对象匹配;
· SM:状态匹配;
· CM:条件匹配;
· EM:环境匹配;
· CapM:能力匹配。
因此:
对象\rightarrow 状态\rightarrow 条件\rightarrow 环境\rightarrow 能力\rightarrow 方法适用
7 方法的分类与核心特征
根据方法作用对象和作用方式,可以建立不同方法类型:对象方法、状态转换方法、目标实现方法、行为方法、单对象方法和多对象方法。例如:
对象A\rightarrow 方法\rightarrow 状态变化
属于单对象方法。而:
对象A+对象B\rightarrow 方法\rightarrow 关系变化
属于多对象方法。
方法具有以下基本特征:
第一,目标性:
M\rightarrow G
第二,对象性:
M\rightarrow O
第三,条件性:
M\rightarrow C
第四,状态性:
S_1\rightarrow M\rightarrow S_2
第五,动作性:
M\rightarrow A
第六,过程性:
A_1\rightarrow A_2\rightarrow\cdots\rightarrow A_n
第七,结果性:
M\rightarrow R
因此可以归纳为:
\boxed{方法=目标+对象+条件+状态+动作+过程+结果}
8 方法的认知工程映射
在认知工程中,方法可以独立建立为方法对象。核心对象为 Method,其结构可以表示为:
Method
├── Goal
├── Object
├── Condition
├── State
├── Actions
├── Process
└── Result
进一步建立 MethodMatcher、MethodApplicabilityChecker、MethodInvocation 和 MethodExecutor。它们承担不同职责:
Method\rightarrow MethodMatcher\rightarrow MethodApplicabilityChecker\rightarrow MethodInvocation\rightarrow MethodExecutor
其中:
· Method 保存方法结构;
· MethodMatcher 负责判断当前目标与方法是否匹配;
· MethodApplicabilityChecker 负责判断方法是否满足对象、状态、条件、环境和能力要求;
· MethodInvocation 负责形成具体的方法调用;
· MethodExecutor 负责实际执行方法。
这样可以保持:
方法知识\neq 方法匹配\neq 方法调用\neq 方法执行
形成清晰的工程边界。
9 讨论
方法理论的意义在于,它填补了结构化知识与动态行为之间的缺口。传统知识表示擅长回答“是什么”,而方法理论进一步回答“如何做”。通过七元组模型,方法将目标、对象、条件、状态、动作、过程和结果统一起来,使知识系统不仅能够描述世界,还能够参与世界状态改变。
方法理论的工程价值体现在可计算性上。Method 对象可以存储方法结构,MethodMatcher 可以进行目标匹配,MethodApplicabilityChecker 可以进行适用性判断,MethodInvocation 可以生成调用结构,MethodExecutor 可以执行动作。这一链条使方法从静态知识转化为可调用、可验证、可执行的认知结构。
但方法理论仍面临若干挑战。第一,现实环境具有动态性和不确定性,条件、状态和环境可能在执行过程中变化。第二,多对象方法和协作方法需要处理对象之间的依赖关系。第三,能力建模需要与具体执行主体绑定,不同主体的能力差异会影响方法可执行性。第四,方法组合、方法学习和方法优化仍是开放问题。
未来研究可以在以下方向展开:方法匹配理论、方法调用理论、方法执行理论、方法组合与规划、方法学习与发现、方法验证与安全约束,以及多智能体环境下的协同方法模型。
10 结论
本文基于 WSaiOS 第25章方法理论,建立了方法的形式化模型:
\boxed{M=(G,O,C,S,A,P,R)}
即:
方法=目标+对象+条件+状态+动作+过程+结果
方法与知识的关系是:
知识\rightarrow 方法
知识提供方法形成所需要的对象、属性、状态、关系和条件信息。方法与对象的关系是:
方法\rightarrow 对象
方法必须明确其作用对象。方法与状态的关系是:
S_1\rightarrow M\rightarrow S_2
方法能够推动对象从初始状态向目标状态变化。方法与行为的关系是:
方法\rightarrow 行为
方法描述如何实现目标,行为描述实际发生的活动。
方法适用条件可以表示为:
Applicable(M)=ObjectMatch\land ConditionMatch\land StateMatch\land EnvironmentMatch\land CapabilityMatch
因此,本文最终建立:
\boxed{知识\rightarrow 方法\rightarrow 行为\rightarrow 状态变化\rightarrow 结果}
方法由此成为结构化知识进入动态行为的重要桥梁,并为方法知识、方法构建、方法匹配、方法调用以及方法执行理论提供基础。
参考文献
[1] WSaiOS 研究. 第24章 知识理论.
[2] WSaiOS 研究. 第25章 方法理论.
[3] WSaiOS 研究. 第26章 方法匹配理论.
[4] WSaiOS 研究. 结构化知识理论与认知工程框架.