第13章 知识的动态性
第12章讨论了知识如何被读取、匹配、计算、组合和更新。
但知识计算能够成立,还有一个更基础的问题:
知识是否是固定不变的?
如果知识永远保持创建时的状态,那么它只能描述过去的现实。
现实世界中的对象、属性、关系、状态、环境和方法都可能发生变化。因此,结构化智能中的知识必须能够随着现实状态变化而变化。
由此产生知识的动态性。
13.1 静态知识
静态知识,是在一定时间范围内保持相对稳定的知识结构。
例如:
Object:Glass
Material:Glass
Category:Container
Shape:Cylindrical
这些知识通常不会因为当前场景中的短时间变化而立即改变。
因此可以表示为:
Ks=(O,A,R,M)K_s=(O,A,R,M)
其中:
- OO:对象结构
- AA:基本属性
- RR:稳定关系
- MM:方法知识
静态知识主要描述:
对象是什么、具有什么结构、通常具有什么属性、能够使用什么方法。
例如:
Glass→Material=GlassGlass \rightarrow Material=Glass Glass→Shape=CylindricalGlass \rightarrow Shape=Cylindrical Glass→CanContain=LiquidGlass \rightarrow CanContain=Liquid
这些属于相对稳定的知识。
但是,“静态”并不意味着永久不变。
更准确地说:
静态知识是变化速度相对于当前认知周期较慢的知识。
因此:
Static Knowledge=Low Frequency ChangeStatic\ Knowledge = Low\ Frequency\ Change
而不是:
Static Knowledge=Never ChangeStatic\ Knowledge=Never\ Change
13.2 动态知识
动态知识,是随着时间、场景、状态、关系或现实反馈发生变化的知识结构。
例如:
Temperature = 30°C
↓
State = Normal
一段时间之后:
Temperature = 80°C
↓
State = Hot
对象本身没有改变:
Object=Glass01Object=Glass01
但是对象的状态发生了变化:
State(t0)≠State(t1)State(t_0)\neq State(t_1)
因此,知识中的状态部分也发生变化:
K(t0)≠K(t1)K(t_0)\neq K(t_1)
可以表示为:
K(t)=F(O,A,R,S,C,M,t)K(t)=F(O,A,R,S,C,M,t)
其中 SS 和 CC 可以随时间变化。
动态知识的核心不是“知识不断增加”,而是:
同一个知识结构在不同时间和现实条件下,可以具有不同的有效配置。
13.3 静态知识与动态知识的关系
静态知识和动态知识并不是两个完全独立的知识系统。
它们更接近于同一个知识结构中的不同变化层级。
例如:
Glass01
│
├── Object Type = Glass ← 相对稳定
├── Material = Glass ← 相对稳定
├── Weight = 500g ← 可变化
├── Temperature = 80°C ← 动态
├── Position = Table01 ← 动态
├── State = Hot ← 动态
└── Relation = Near Human01 ← 动态
因此可以形成:
Knowledge=Static Structure+Dynamic StateKnowledge= Static\ Structure+Dynamic\ State
更完整地表示:
K(t)=Kstatic+Kdynamic(t)K(t)=K_{static}+K_{dynamic}(t)
其中:
KstaticK_{static}
描述相对稳定的结构。
而:
Kdynamic(t)K_{dynamic}(t)
描述当前时间下有效的状态、关系、属性值和条件。
这也是结构化智能区别于简单知识库的重要地方。
13.4 状态驱动知识
在结构化智能中,知识变化的重要驱动力之一是State。
前面已经定义:
State=F(Object,Attribute,Value,Relation,Context,Time)State=F(Object,Attribute,Value,Relation,Context,Time)
因此,当状态发生变化时,与状态相关的知识结构也可能发生变化。
例如:
Temperature = 30°C
↓
State = Normal
↓
NormalCoolingMethod
当温度变成:
Temperature = 80°C
↓
State = Hot
↓
CoolingRequired
↓
CoolingMethod
因此:
State Change→Knowledge ChangeState\ Change \rightarrow Knowledge\ Change
进一步:
Knowledge Change→Method Matching ChangeKnowledge\ Change \rightarrow Method\ Matching\ Change
形成:
State→Knowledge→Capability→Cognition→MethodState \rightarrow Knowledge \rightarrow Capability \rightarrow Cognition \rightarrow Method
这意味着知识不是孤立存在的。
知识的有效内容受到当前状态驱动。
13.5 状态驱动知识的结构
可以将状态驱动知识表示为:
Kt=F(O,A,R,St,Ct,M)K_t=F(O,A,R,S_t,C_t,M)
其中:
- OO:对象
- AA:属性
- RR:关系
- StS_t:当前状态
- CtC_t:当前条件
- MM:方法知识
状态发生变化:
St→St+1S_t\rightarrow S_{t+1}
则知识有效配置可能发生:
Kt→Kt+1K_t\rightarrow K_{t+1}
例如:
State = Normal
↓
Method A Applicable
变成:
State = Overheated
↓
Method A Not Applicable
↓
Method B Applicable
因此:
状态不仅是知识描述的对象,也是知识计算的驱动变量。
13.6 实时知识
动态知识进一步进入实时运行,就形成实时知识。
实时知识是:
由当前现实状态持续产生、计算、更新,并在当前时间窗口内保持有效的知识结构。
基本模型:
Reality(t)→Data(t)→State(t)→Knowledge(t)Reality(t) \rightarrow Data(t) \rightarrow State(t) \rightarrow Knowledge(t)
因此:
Kreal−time(t)=F(Data(t),State(t),Relation(t),Context(t))K_{real-time}(t)=F(Data(t),State(t),Relation(t),Context(t))
例如一个实时运行场景:
传感器
↓
Temperature = 82°C
Position = (120,80)
HumanDistance = 0.5m
↓
实时状态计算
↓
Object State = Hot
Relation = Near Human
Risk = High
↓
实时知识
↓
Capability Matching
↓
Cognition
这里的知识不是昨天存储的一个固定记录。
它是:
当前现实在知识结构中的实时计算结果。
13.7 实时知识的时间特性
实时知识必须具有时间属性。
可以表示为:
K(t)K(t)
而不是单纯:
KK
因为:
K(t0)≠K(t1)K(t_0)\neq K(t_1)
并不一定意味着知识结构发生了永久改变。
可能只是当前状态不同。
例如:
Temperature(t0)=30Temperature(t_0)=30 Temperature(t1)=80Temperature(t_1)=80
随后:
Temperature(t2)=35Temperature(t_2)=35
于是:
t0 → Normal
t1 → Hot
t2 → Normal
这里产生的是动态知识状态变化,而不是必然产生永久知识修改。
因此必须区分:
知识状态变化 ≠ 知识结构永久更新。
这一点非常重要。
13.8 知识变化
知识变化可以分为不同类型。
1. 属性变化
At→At+1A_t\rightarrow A_{t+1}
例如:
Temperature:30→80Temperature:30\rightarrow80
2. 状态变化
St→St+1S_t\rightarrow S_{t+1}
例如:
Normal→HotNormal\rightarrow Hot
3. 关系变化
Rt→Rt+1R_t\rightarrow R_{t+1}
例如:
Near(Human,Glass)=FalseNear(Human,Glass)=False
变成:
Near(Human,Glass)=TrueNear(Human,Glass)=True
4. 条件变化
Ct→Ct+1C_t\rightarrow C_{t+1}
例如:
Temperature < 70
变成:
Temperature ≥ 70
5. 方法适用性变化
Applicable(M,t0)≠Applicable(M,t1)Applicable(M,t_0)\neq Applicable(M,t_1)
即:
Method A
↓
Previously Applicable
随着状态变化:
Method A
↓
Not Applicable
6. 知识结构变化
更深层的变化是知识本身发生结构变化:
Kt→Kt+1K_t\rightarrow K_{t+1}
例如:
- 增加新的对象类型
- 增加新的属性
- 增加新的关系
- 增加新的状态条件
- 增加新的方法
- 修改原有映射
- 删除失效映射
这才属于更高层次的知识演化。
13.9 知识变化的两个层级
由此可以把知识变化划分成两个重要层级。
第一层:知识状态变化
K(t0)→K(t1)K(t_0)\rightarrow K(t_1)
主要是:
- Value变化
- State变化
- Relation变化
- Context变化
- Condition变化
这是运行时变化。
第二层:知识结构变化
Kold→KnewK_{old}\rightarrow K_{new}
主要是:
- 新增知识
- 修改知识
- 删除知识
- 新增映射
- 修改映射
- 方法评价变化
- 条件规则变化
这是学习和知识演化层面的变化。
因此:
Knowledge Dynamics=Runtime Change+Structural EvolutionKnowledge\ Dynamics = Runtime\ Change+Structural\ Evolution
13.10 知识动态性的统一模型
将前面的内容统一起来:
K(t)=F(O,A(t),R(t),S(t),C(t),M)K(t)=F(O,A(t),R(t),S(t),C(t),M)
现实发生变化:
Reality(t)→Reality(t+1)Reality(t)\rightarrow Reality(t+1)
导致:
A(t)→A(t+1)A(t)\rightarrow A(t+1) R(t)→R(t+1)R(t)\rightarrow R(t+1) S(t)→S(t+1)S(t)\rightarrow S(t+1)
进一步形成:
K(t)→K(t+1)K(t)\rightarrow K(t+1)
如果变化只是当前运行状态:
K(t+1)=RuntimeUpdate(K(t))K(t+1)=RuntimeUpdate(K(t))
如果现实反馈经过经验积累后改变了知识结构:
Kt+1=LearningUpdate(Kt,Experience)K_{t+1}=LearningUpdate(K_t,Experience)
因此形成两个不同的循环:
实时循环:
Reality
↓
Data
↓
State
↓
Real-Time Knowledge
↓
Cognition
↓
Action
↓
Reality
↺
以及:
学习循环:
Reality
↓
Action
↓
Result
↓
Experience
↓
Evaluation
↓
Learning
↓
Knowledge Structure Update
↺
两者共同组成结构化智能的知识动态系统。
13.11 知识动态性在结构化智能中的位置
至此,第8章到第13章形成了一条完整的知识理论链:
知识定义
↓
知识结构
↓
知识实例
↓
知识计算
↓
知识动态性
↓
知识演化
而整个知识系统与现实世界形成:
Reality
↓
Scene
↓
Knowledge Instance
↓
Knowledge Reading
↓
Knowledge Matching
↓
Knowledge Computing
↓
Knowledge Combination
↓
Dynamic Knowledge
↓
Cognition
↓
Method
↓
Behavior
↓
Action
↓
Reality Change
↓
Experience
↓
Knowledge Update
↺
这意味着:
知识不再被定义为静态存储对象,而被定义为能够随现实状态运行、计算和演化的结构。
13.12 本章核心结论
第13章可以归纳为五个核心关系:
1. 静态知识
KstaticK_{static}
描述相对稳定的对象、属性、关系和方法结构。
2. 动态知识
K(t)K(t)
描述知识在不同时间和现实条件下的有效配置。
3. 状态驱动知识
State Change→Knowledge Configuration ChangeState\ Change \rightarrow Knowledge\ Configuration\ Change
4. 实时知识
Reality(t)→State(t)→Knowledge(t)Reality(t) \rightarrow State(t) \rightarrow Knowledge(t)
5. 知识变化
Knowledge Dynamics=Runtime Change+Structural EvolutionKnowledge\ Dynamics = Runtime\ Change+Structural\ Evolution
最终可以得到一个重要结论:
结构化智能中的知识具有时间性、状态性、条件性和可演化性。
因此,知识不是系统中的静态“存储内容”,而是:
Knowledge=Structure+State+Condition+Mapping+Time+Evolution\boxed{ Knowledge = Structure + State + Condition + Mapping + Time + Evolution }
这为后面的能力理论建立了直接基础。
因为能力并不是从一个固定知识库中简单调用出来的,而是必须面对:
Current Knowledge(t)Current\ Knowledge(t)
再根据当前状态、条件和目标进行:
Knowledge→Parameter→CapabilityKnowledge \rightarrow Parameter \rightarrow Capability
由此,下一篇“能力理论”将自然回答一个核心问题:
知识为什么能够形成能力?