第11章 知识实例
第10章建立了完整的结构化知识结构:
K=(O,A,R,S,C,M,P)K=(O,A,R,S,C,M,P)
其中,对象、属性、关系、状态、条件和方法共同构成知识结构。
但是,结构化知识如果只停留在通用结构层面,还不能直接对应现实。
例如:
Object Class = Glass
Attribute = Temperature
Method = HandleCarefully
这只是一个知识结构。
现实中真正出现的是:
Glass01
Temperature = 82°C
On(Table01)
State = Hot
因此,结构化智能需要进一步解决:
通用知识结构如何进入具体现实?
这就是知识实例(Knowledge Instance)。
11.1 知识类别
知识并不是单一类型。
按照结构化智能中的作用,可以将知识划分为:
Knowledge
│
├── Object Knowledge
├── Attribute Knowledge
├── Relation Knowledge
├── State Knowledge
├── Scene Knowledge
└── Method Knowledge
这些知识既可以作为独立结构存在,也可以相互组合。
11.1.1 对象知识
对象知识描述对象的类别、身份、组成和边界。
例如:
Object Class:
Robot
Properties:
Arm
Gripper
Sensor
Controller
实际对象:
Robot01
于是:
Robot01∈RobotRobot01\in Robot
11.1.2 属性知识
属性知识描述对象可能具有的属性及其结构。
例如:
Object:
Battery
Attributes:
Capacity
Voltage
Temperature
Charge
它描述的是:
Battery 具有哪些可描述、可计算的属性。
11.1.3 关系知识
关系知识描述对象之间可能存在的联系。
例如:
Near
On
Inside
Controls
Connected
Holding
这些是关系类型。
而:
Near(Robot01,Box01)
则是一个具体关系实例。
11.1.4 状态知识
状态知识描述:
什么条件下形成什么状态,以及状态如何变化。
例如:
Battery
Charge < 20%
↓
Low
这里:
Low
是状态结构。
而:
Battery01
Charge = 15%
State = Low
则是状态知识实例。
11.1.5 方法知识
方法知识描述:
针对什么对象、在什么条件下、使用什么输入,可以产生什么结果。
例如:
Method:
RechargeBattery
Condition:
BatteryState = Low
Input:
Battery
Charger
Power
Output:
Charging
这属于通用方法知识。
11.2 知识实例
知识实例是通用知识结构在具体对象、具体场景、具体状态和具体条件下形成的实际结构。
可以表示:
KnowledgeTemplate→KnowledgeInstance\boxed{ KnowledgeTemplate \rightarrow KnowledgeInstance }
例如通用知识:
Object:
Glass
Attribute:
Fragility
State:
Hot
Method:
HandleCarefully
实例化为:
Glass01
Fragility = High
Temperature = 85°C
State = Hot
于是:
Kinstance=Instance(Ktemplate,Reality)K_{instance} = Instance(K_{template},Reality)
知识实例的核心特点是:
它具有具体对象、具体属性值、具体关系、具体状态和具体条件。
11.3 知识模板与知识实例
必须区分:
知识模板
↓
描述一类对象或一类情况
知识实例
↓
描述现实中的具体对象或具体情况
例如:
模板
Glass
├── Fragility
├── Temperature
└── HandleMethod
实例
Glass01
├── Fragility = High
├── Temperature = 82°C
└── HandleMethod = CarefulHandle
模板回答:
这一类对象通常是什么结构?
实例回答:
当前这个具体对象是什么情况?
11.4 知识实例不是简单的数据记录
例如:
Glass01
Temperature = 82°C
可以看作一个数据实例。
但完整的知识实例还应该包含结构关系:
Glass01
│
├── Type → Glass
├── Temperature → 82°C
├── Fragility → High
├── On → Table01
├── State → Hot
└── ApplicableMethod → HandleCarefully
因此:
KnowledgeInstance≠DataRecordKnowledgeInstance \neq DataRecord
更准确地说:
KnowledgeInstance=ObjectInstance+AttributeInstance+RelationInstance+StateInstance+MethodInstance\boxed{ KnowledgeInstance= ObjectInstance+ AttributeInstance+ RelationInstance+ StateInstance+ MethodInstance }
11.5 场景知识
当多个知识实例同时存在于一个现实场景中,就形成:
Scene Knowledge(场景知识)。
例如:
Scene01
Objects:
Robot01
Box01
Table01
Human01
Relations:
Near(Robot01,Box01)
On(Box01,Table01)
Near(Human01,Robot01)
States:
Robot01 = Moving
Box01 = Static
Human01 = Walking
这就是一个具体场景的知识实例集合。
可以表示为:
KScene(t)={KO,KA,KR,KS,KM}K_{Scene}(t) = \{K_{O},K_{A},K_{R},K_{S},K_{M}\}
因此:
场景知识是某一时间、某一环境下多个知识实例及其关系共同形成的现实知识结构。
11.6 场景知识的特点
场景知识具有三个重要特征。
第一,具体性
它描述当前实际存在的对象。
Box01
而不是抽象的:
Box
第二,时间性
场景知识属于某个时间:
KScene(t)K_{Scene}(t)
第三,关系性
场景知识不是对象集合,而是:
Objects+Relations+StatesObjects+Relations+States
共同形成的结构。
因此:
Scene Knowledge
=
Objects
+
Attributes
+
Relations
+
States
+
Context
11.7 状态知识实例
状态知识实例是一个非常重要的概念。
因为通用状态知识:
Battery
Charge < 20%
↓
Low
只有在现实对象上实例化以后,才形成实际状态:
Battery01
Charge = 15%
State = Low
因此:
StateKnowledge→StateKnowledgeInstanceStateKnowledge \rightarrow StateKnowledgeInstance
可以表示:
Si=(Object,Variables,Values,Condition,Time)S_i=(Object,Variables,Values,Condition,Time)
例如:
SBattery01=(Battery01,Charge,15%,Low,t)S_{Battery01} = (Battery01,Charge,15\%,Low,t)
11.8 状态实例的动态性
状态知识实例具有明显的时间变化。
例如:
t0:
Battery01
Charge = 80%
State = Normal
随后:
t1:
Charge = 40%
State = Normal
再到:
t2:
Charge = 15%
State = Low
于是:
S0→S1→S2S_0\rightarrow S_1\rightarrow S_2
状态知识实例因此形成历史:
HS={S0,S1,S2}H_S= \{S_0,S_1,S_2\}
这将直接成为后面经验和记忆的基础。
11.9 方法知识实例
通用方法知识:
Method:
MoveObject
Input:
Object
Position
Speed
Condition:
ObjectMovable = True
当具体对象进入具体场景之后:
Object = Box01
Position = (120,80)
Speed = 0.2m/s
于是形成:
MoveObject(
Box01,
(120,80),
0.2m/s
)
这就是方法知识实例。
可以表示:
Mi=(M,P,C,I,O)M_i= (M,P,C,I,O)
其中:
- MM:方法
- PP:参数
- CC:当前条件
- II:输入
- OO:预期输出
11.10 方法实例与参数化
方法知识实例的形成过程可以表示:
Method Knowledge
↓
Object Selection
↓
Attribute Extraction
↓
State Evaluation
↓
Condition Matching
↓
Parameter Assignment
↓
Method Instance
例如:
Generic Method:
Grasp(
Object,
Position,
Force,
Velocity
)
当前知识:
Object = Glass01
Position = (120,80)
Fragility = High
Weight = 300g
计算参数:
Force = 1.2N
Velocity = 0.08m/s
形成:
Grasp(
Glass01,
(120,80),
1.2N,
0.08m/s
)
此时方法已经从通用知识进入具体实例。
11.11 知识实例之间的关联
真正的知识实例不是孤立的。
例如:
Glass01
│
├── Type → Glass
├── Fragility → High
├── Temperature → 85°C
├── On → Table01
├── State → Hot
└── Method → HandleCarefully
这里实际上存在多个实例:
Oi,Ai,Ri,Si,MiO_i,A_i,R_i,S_i,M_i
通过 Mapping 连接起来:
P(Oi,Ai,Ri,Si,Ci)→MiP(O_i,A_i,R_i,S_i,C_i)\rightarrow M_i
所以完整知识实例可以表示为:
Ki=(Oi,Ai,Ri,Si,Ci,Mi)\boxed{ K_i= (O_i,A_i,R_i,S_i,C_i,M_i) }
11.12 从知识结构到知识实例
到这里,可以建立一个完整实例化过程:
Knowledge Structure
↓
Knowledge Template
↓
Reality Object
↓
Attribute Values
↓
Relations
↓
Current State
↓
Conditions
↓
Method Mapping
↓
Knowledge Instance
最终:
KTemplate+Reality→KInstance\boxed{ K_{Template} + Reality \rightarrow K_{Instance} }
因此,知识不是停留在抽象层。
它可以进入现实世界中的具体对象和具体场景。
11.13 知识实例与认知
认知并不是直接面对所有抽象知识。
认知首先面对:
SceneInstanceSceneInstance
然后进行知识匹配:
SceneInstance+Knowledge→MatchedKnowledgeSceneInstance + Knowledge \rightarrow MatchedKnowledge
再形成:
MatchedKnowledge→CognitionMatchedKnowledge \rightarrow Cognition
例如:
Current Scene
Glass01
Temperature = 85°C
Fragility = High
Human01 approaching
系统从知识结构中匹配:
Glass
+
HighTemperature
+
HighFragility
↓
CarefulHandling
形成当前认知:
Glass01 currently requires careful handling.
因此:
知识实例是结构化知识进入实时认知的重要中间形态。
11.14 知识实例与能力
方法知识实例进一步可以进入 Capability。
过程:
Knowledge→KnowledgeInstance→ParameterExtraction→CapabilityInstanceKnowledge \rightarrow KnowledgeInstance \rightarrow ParameterExtraction \rightarrow CapabilityInstance
例如:
Knowledge Instance
Glass01
Position = (120,80)
Weight = 300g
Fragility = High
经过参数提取:
Force = 1.2N
Velocity = 0.08m/s
形成:
GraspCapability(
Glass01,
Position,
Force,
Velocity
)
这就把第11章和后面的能力理论连接起来。
11.15 知识实例的生命周期
知识实例不是永久静态存在的。
它具有生命周期:
Create
↓
Observe
↓
Instantiate
↓
Update
↓
Change
↓
Evaluate
↓
Archive
↓
Learn
例如:
Ki(t0)→Ki(t1)→Ki(t2)K_i(t_0) \rightarrow K_i(t_1) \rightarrow K_i(t_2)
如果现实发生变化:
Scene(t0)≠Scene(t1)Scene(t_0)\neq Scene(t_1)
对应的知识实例也需要更新:
Ki(t0)→Ki(t1)K_i(t_0)\rightarrow K_i(t_1)
因此:
知识实例是动态知识,而不是静态数据库记录。
11.16 知识类别与知识实例的统一模型
现在可以形成两层结构:
Knowledge
│
┌───────┴────────┐
↓ ↓
Knowledge Type Knowledge Instance
│ │
┌──────┼──────┐ │
↓ ↓ ↓ ↓
Object Attribute Relation Scene
State Method │
↓
Current Reality
进一步:
KnowledgeType→KnowledgeTemplate→KnowledgeInstance\boxed{ KnowledgeType \rightarrow KnowledgeTemplate \rightarrow KnowledgeInstance }
而实例又可以进入:
KnowledgeInstance→Cognition→MethodInstance→Behavior\boxed{ KnowledgeInstance \rightarrow Cognition \rightarrow MethodInstance \rightarrow Behavior }
11.17 本章核心结论
本章建立五个基本命题:
第一,知识可以按照对象、属性、关系、状态、场景和方法形成不同知识类别。
第二,知识实例是通用知识结构与具体现实对象、状态和条件结合后的具体结构。
第三,场景知识是多个具体知识实例及其关系在特定时间和环境下形成的整体结构。
第四,状态知识实例描述具体对象在具体时间下的实际状态,并可以随着时间形成连续状态序列。
第五,方法知识实例是通用方法知识经过对象、属性、状态、条件和参数赋值后形成的具体方法结构。
最终可以形成:
KnowledgeTemplate+Reality→KnowledgeInstance\boxed{ KnowledgeTemplate + Reality \rightarrow KnowledgeInstance }
完整知识实例:
Ki=(Objecti,Attributei,Relationi,Statei,Conditioni,Methodi)\boxed{ K_i= (Object_i, Attribute_i, Relation_i, State_i, Condition_i, Method_i) }
而其运行链为:
Knowledge
↓
Knowledge Template
↓
Knowledge Instance
↓
Scene Matching
↓
Cognition
↓
Method Instance
↓
Capability
↓
Behavior
至此,第二篇已经形成了清晰的三层递进:
第8章:什么是知识→第9章:知识如何映射→第10章:知识由什么结构组成→第11章:知识如何实例化\boxed{ 第8章:什么是知识 \rightarrow 第9章:知识如何映射 \rightarrow 第10章:知识由什么结构组成 \rightarrow 第11章:知识如何实例化 }
下一章 第12章 知识计算 将进一步进入一个更关键的问题:
知识形成以后,机器究竟如何对知识进行计算?
也就是从:
Knowledge RepresentationKnowledge\ Representation
进入:
Knowledge Computation\boxed{ Knowledge\ Computation }
这将开始把“知识结构”真正转化为“机器计算过程”。