面向结构化知识的方法理论:模型、适用条件与认知工程映射
面向结构化知识的方法理论模型、适用条件与认知工程映射资料来源: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)其中· MMethod方法· GGoal目标· OObject对象· CCondition条件· SState适用状态或初始状态· AAction动作集合· PProcess过程· RResult结果。方法的基本逻辑为目标对象条件状态\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 R3 方法与知识、对象和状态3.1 方法与知识方法属于知识结构的重要组成部分M\subset K但方法不等于全部知识。知识主要描述对象是什么、对象有什么属性、对象处于什么状态、对象之间有什么关系方法描述如何改变对象状态。因此可以区分知识\rightarrow 描述方法\rightarrow 实现例如· “杯子是容器”属于对象知识· “杯子容量为300ml”属于属性知识· “杯子当前为空”属于状态知识· “杯子放在桌子上”属于关系知识· “如何向杯子中倒水”属于方法知识。方法建立在知识基础之上。没有对象知识、状态知识和关系知识方法就缺乏适用判断的依据。3.2 方法与对象方法必须依附于对象而存在M\rightarrow O对象是方法作用的目标实体。没有明确对象的方法通常无法确定其实际作用范围。例如拿起\rightarrow 杯子打开\rightarrow 门启动\rightarrow 机器同一个动作作用于不同对象可能形成不同方法。例如“打开门”和“打开机器”虽然都包含“打开”这一动作但对象不同其条件、状态、过程和结果也可能不同。因此Methodf(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\}方法过程为Pa_1\rightarrow a_2\rightarrow\cdots\rightarrow a_n例如“打开门”的方法M\{目标进入房间,对象门,动作\{走近,握把,转动,推开\}\}动作之间不是简单并列而具有过程关系走近\rightarrow 握把\rightarrow 转动\rightarrow 推开因此方法\rightarrow 动作集合\rightarrow 动作顺序方法构建的核心之一就是确定动作之间的组织关系。4.3 方法与过程过程是方法内部动作按照一定逻辑形成的连续结构。如果方法只有动作集合A\{a_1,a_2,a_3\}仍然不能确定执行顺序。加入过程之后Pa_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 DoorM_{open\_door}\not\rightarrow Cup对象匹配是方法适用判断的第一层条件。5.2 状态适用条件对象正确并不意味着方法一定能够使用。还必须判断对象当前状态。例如如果方法要求S关闭而当前对象状态为S打开则StateMatch0方法不能直接适用。因此对象匹配\land 状态匹配\rightarrow 方法适用基础成立5.3 环境与外部条件某些方法除了对象和状态之外还依赖环境条件。例如某种设备操作可能要求电源开启温度规定值空间可用因此可以定义EnvironmentCondition\{e_1,e_2,\ldots,e_n\}完整的适用条件可以表示为C_MC_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 是能力条件。方法可适用的必要条件可以表示为MAOM\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 研究. 结构化知识理论与认知工程框架.