第88章 让 Individual 进行推理
Individual 在第87章已经能够完成:
Information → Scene → Perception → Element → Object → Relation → Cognition → Scene Understanding
但“理解当前场景”还不是推理。
推理要求 Individual 能够进一步利用 Memory、Fact、Rule、Experience,从已经获得和理解的信息中计算出新的结论。
因此,本章开始,Individual 从“能够感知和理解世界”进入:
能够根据已有认知资源进行判断和推导。
1. Memory
Memory 是 Individual 进行推理的基础资源。
Individual 不能只依赖当前 Scene。
当前 Scene 只能告诉 Individual:
现在看到了什么。
Memory 则可以保存:
- 过去获得的 Fact
- Object
- Property
- State
- Relation
- Experience
- 历史变化
- 已确认的信息
- 已验证的知识
因此:
Scene
↓
当前信息
Memory
↓
历史信息
推理时,两者需要共同参与。
1.1 推理所需要的 Memory
例如:
Memory
Fact:
Vehicle_A.speed = 40
Fact:
Obstacle_A.distance = 20
Relation:
Vehicle_A.front_of Obstacle_A
Experience:
距离障碍物小于30米且接近速度较高时,
曾经采取减速行为。
Rule:
IF distance < 30
AND relative_speed > 20
THEN risk = HIGH
这些信息可以共同成为推理输入。
1.2 Memory 在推理中的作用
可以表示为:
Current Scene
+
Memory
↓
Reasoning Input
Memory 不直接给出最终行动。
它只是提供推理所需要的历史和结构化资源。
2. Fact
Fact 是已经被 Individual 记录、识别、验证或者确认的信息单元。
最基本的结构:
Subject + Predicate + Value
例如:
Vehicle_A
speed
40
表示:
Vehicle_A.speed = 40
关系型 Fact 可以表示:
Subject + Relation + Object
例如:
Vehicle_A
front_of
Obstacle_A
表示:
Vehicle_A front_of Obstacle_A
2.1 Fact 的结构
Fact
├── id
├── subject
├── predicate
├── value
├── type
├── source
├── state
├── confidence
├── created_at
└── updated_at
例如:
$fact = array(
'id' => 'fact_001',
'subject' => 'Vehicle_A',
'predicate' => 'speed',
'value' => 40,
'type' => 'PROPERTY',
'source' => 'Sensor_A',
'state' => 'CONFIRMED'
);
2.2 Observed Fact 与 Derived Fact
推理过程中必须区分两种 Fact。
Observed Fact
直接从信息、传感器或者其他来源得到:
Vehicle_A.speed = 40
Derived Fact
通过已有 Fact 和 Rule 推导出来:
Vehicle_A.relative_speed = 30
或者:
Vehicle_A.risk = HIGH
所以:
Information
↓
Observed Fact
↓
Reasoning
↓
Derived Fact
Derived Fact 还应该保存自己的来源和推理链。
这样 Individual 才能够回答:
这个结论是怎么得到的?
3. Rule
Rule 是推理过程中使用的逻辑规则。
基本结构:
IF Condition
THEN Conclusion
例如:
IF
Obstacle.distance < 30
AND
Vehicle.relative_speed > 20
THEN
Risk = HIGH
Rule 本身并不执行推理。
它只是定义:
什么条件成立时,可以得到什么结果。
3.1 Rule 结构
Rule
├── id
├── name
├── conditions
├── operator
├── conclusion
├── priority
├── state
└── source
例如:
$rule = array(
'id' => 'rule_001',
'name' => 'High Risk Rule',
'conditions' => array(
array(
'subject' => 'Obstacle_A',
'property' => 'distance',
'operator' => '<',
'value' => 30
),
array(
'subject' => 'Vehicle_A',
'property' => 'relative_speed',
'operator' => '>',
'value' => 20
)
),
'operator' => 'AND',
'conclusion' => array(
'subject' => 'Vehicle_A',
'property' => 'risk',
'value' => 'HIGH'
),
'priority' => 10,
'state' => 'ACTIVE'
);
3.2 Rule 与 Reasoning 的区别
这是 Individual 中非常重要的区别。
Rule
=
规定逻辑
Reasoning
=
应用逻辑
例如:
Rule:
IF distance < 30
THEN risk = HIGH
只有当 Individual 获得:
distance = 20
然后运行 Rule:
20 < 30
才能得到:
risk = HIGH
因此:
Rule ≠ Reasoning
4. Experience
Experience 是 Individual 过去实际经历形成的历史资源。
Experience 与 Fact 不相同。
Fact
描述:
什么是事实。
Experience
描述:
过去发生了什么,以及采取什么行为产生了什么结果。
例如:
Condition:
Obstacle.distance = 25
Action:
DECELERATE
Result:
Vehicle speed reduced
Feedback:
Safe
形成:
Experience_001
4.1 Experience 结构
Experience
├── id
├── task
├── condition
├── environment
├── action
├── process
├── result
├── feedback
├── outcome
├── state
├── source
├── created_at
└── updated_at
例如:
$experience = array(
'id' => 'exp_001',
'task' => 'Vehicle Safety',
'condition' => array(
'distance' => 25,
'relative_speed' => 28
),
'action' => 'DECELERATE',
'result' => 'SAFE',
'feedback' => 'SUCCESS',
'outcome' => 'SUCCESS',
'state' => 'VERIFIED'
);
4.2 Experience 如何参与推理
Experience 不直接替代 Rule。
而是作为推理资源:
Current Condition
↓
Experience Matching
↓
Historical Experience
↓
Reasoning
例如:
当前:
distance = 22
relative_speed = 25
Memory 中存在:
过去:
distance = 24
relative_speed = 27
action = DECELERATE
result = SAFE
Individual 可以判断:
当前情况
与
历史经验
存在较强对应关系
这个结果可以提供给 Reasoning 和 Decision。
5. Reasoning
Reasoning 是 Individual 根据当前 Scene、Memory、Fact、Rule、Experience 等结构化资源进行逻辑推导的过程。
核心结构:
Scene
+
Memory
+
Fact
+
Rule
+
Experience
↓
Reasoning
↓
Conclusion
5.1 Reasoning 的基本过程
第一步:获取事实
Vehicle_A.speed = 40
Obstacle_A.distance = 20
Obstacle_A.speed = 10
第二步:获取关系
Vehicle_A front_of Obstacle_A
第三步:计算相关量
车辆与障碍物的相对速度:
40 - 10 = 30
得到:
relative_speed = 30
第四步:匹配 Rule
Rule:
distance < 30
AND
relative_speed > 20
→
risk = HIGH
当前:
distance = 20
relative_speed = 30
所以:
20 < 30 → TRUE
30 > 20 → TRUE
两个条件:
TRUE AND TRUE
=
TRUE
第五步:形成 Conclusion
Vehicle_A.risk = HIGH
这就是一次完整推理。
6. Conclusion
Conclusion 是 Reasoning 最终形成的结构化结论。
它不是简单的一句话,而应该保留:
- 结论是什么
- 为什么得到
- 使用了哪些 Fact
- 使用了什么 Rule
- 使用了哪些 Experience
- 当前状态
- 推理链
- 来源
6.1 Conclusion 结构
Conclusion
├── id
├── subject
├── predicate
├── value
├── state
├── source
├── reasoning_chain
├── confidence
├── created_at
└── updated_at
例如:
$conclusion = array(
'id' => 'conclusion_001',
'subject' => 'Vehicle_A',
'predicate' => 'risk',
'value' => 'HIGH',
'state' => 'CONFIRMED',
'source' => 'ReasoningEngine',
'reasoning_chain' => 'chain_001',
'confidence' => 1.0
);
6.2 Conclusion State
可以设置:
CONFIRMED
SUPPORTED
POSSIBLE
UNKNOWN
CONFLICT
REJECTED
例如:
CONFIRMED
表示条件完整满足。
SUPPORTED
表示存在足够支持,但还不是完全确认。
POSSIBLE
表示存在可能性。
UNKNOWN
表示缺少必要信息。
CONFLICT
表示不同事实、规则或者来源产生冲突。
7. 推理链
Individual 的推理不能只保存最终结果。
必须保存:
结论是如何产生的。
这就是推理链。
7.1 基本推理链
例如:
Fact_001
Vehicle_A.speed = 40
Fact_002
Obstacle_A.speed = 10
Fact_003
Obstacle_A.distance = 20
Relation_001
Vehicle_A front_of Obstacle_A
经过计算:
40 - 10
↓
relative_speed = 30
然后:
Fact_003
distance = 20
DerivedFact_001
relative_speed = 30
匹配 Rule:
Rule_001
distance < 30
AND
relative_speed > 20
↓
risk = HIGH
最终:
Conclusion_001
Vehicle_A.risk = HIGH
整个链条:
Fact
↓
Fact
↓
Fact
↓
Relation
↓
Calculation
↓
Derived Fact
↓
Rule
↓
Condition
↓
Conclusion
7.2 ReasoningChain 结构
ReasoningChain
├── id
├── input_facts
├── relations
├── derived_facts
├── rules
├── conditions
├── intermediate_results
├── conclusion
├── state
└── created_at
例如:
$chain = array(
'id' => 'chain_001',
'input_facts' => array(
'fact_001',
'fact_002',
'fact_003'
),
'relations' => array(
'relation_001'
),
'derived_facts' => array(
'derived_001'
),
'rules' => array(
'rule_001'
),
'conditions' => array(
'condition_001',
'condition_002'
),
'conclusion' => 'conclusion_001',
'state' => 'COMPLETED'
);
这样,Individual 不仅知道:
Risk = HIGH
还知道:
为什么 HIGH
以及:
用了哪些事实
用了哪条规则
进行了什么计算
最终得到什么结论
8. 实际案例
下面让第86章创建的 Individual_A 真正进行一次推理。
场景仍然使用车辆环境,使第87章的 Scene Understanding 与本章直接连接。
8.1 当前 Information
车辆传感器提供:
Vehicle_A
speed = 40 km/h
Obstacle_A
speed = 10 km/h
Obstacle_A
distance = 20 m
同时 Perception 已经识别:
Vehicle_A front_of Obstacle_A
8.2 Scene Understanding
Individual 已经形成:
Scene_A
Vehicle_A
state = MOVING
speed = 40
Obstacle_A
state = MOVING
speed = 10
distance = 20
Relation:
Vehicle_A front_of Obstacle_A
此时 Individual 只是:
理解了当前场景。
还没有进行推理。
8.3 Memory
Individual 从 Memory 获取:
Fact:
Vehicle_A.speed = 40
Fact:
Obstacle_A.speed = 10
Fact:
Obstacle_A.distance = 20
Relation:
Vehicle_A front_of Obstacle_A
同时获得:
Experience:
过去类似情况下,
降低车辆速度后获得安全结果。
8.4 Rule
Individual 获取有效 Rule:
Rule_001
IF
Obstacle.distance < 30
AND
Vehicle.relative_speed > 20
THEN
Vehicle.risk = HIGH
8.5 Reasoning
首先计算:
relative_speed
=
Vehicle_A.speed - Obstacle_A.speed
=
40 - 10
=
30 km/h
形成 Derived Fact:
Vehicle_A.relative_speed = 30
然后检查第一个条件:
20 < 30
结果:
TRUE
检查第二个条件:
30 > 20
结果:
TRUE
组合:
TRUE AND TRUE
=
TRUE
Rule 成立。
8.6 Conclusion
Individual 得到:
Vehicle_A.risk = HIGH
形成:
$conclusion = array(
'id' => 'conclusion_001',
'subject' => 'Vehicle_A',
'predicate' => 'risk',
'value' => 'HIGH',
'state' => 'CONFIRMED',
'source' => 'ReasoningEngine',
'reasoning_chain' => 'chain_001'
);
8.7 完整推理链
Individual_A
│
▼
Scene_A
│
┌──────────┴──────────┐
▼ ▼
Current Info Memory
│ │
▼ ▼
Facts Facts
│ │
└──────────┬──────────┘
▼
Relations
│
▼
Calculation
│
▼
relative_speed = 30
│
▼
Derived Fact
│
▼
Rule
│
┌───────┴───────┐
▼ ▼
distance < 30 relative_speed > 20
│ │
▼ ▼
TRUE TRUE
└───────┬───────┘
▼
AND
│
▼
TRUE
│
▼
Conclusion
│
▼
Vehicle_A.risk
HIGH
8.8 Individual 此时发生了什么?
到这里,Individual 已经完成:
Information
↓
Perception
↓
Scene
↓
Cognition
↓
Scene Understanding
↓
Memory
↓
Fact
↓
Rule
↓
Reasoning
↓
Conclusion
这意味着 Individual 已经从:
“我看到了什么?”
进入:
“根据我知道的信息,我可以推出什么?”
但这里仍然没有执行动作。
例如:
Conclusion:
Vehicle_A.risk = HIGH
并不等于:
Action:
BRAKE
正确关系应该继续保持:
Conclusion
↓
Risk
↓
Decision
↓
Behavior
↓
Action
因此,本章的 Reasoning 只负责:
从已有信息和认知资源中得到可追溯的结论。
它不直接代替 Decision。
本章核心模型
Individual
│
┌────────────┴────────────┐
▼ ▼
Current Scene Memory
│ │
▼ ▼
Object Fact
Property Relation
State Experience
Relation │
│ │
└────────────┬────────────┘
▼
Rule
│
▼
Condition
│
▼
Reasoning
│
┌───────┴───────┐
▼ ▼
Intermediate Derived Fact
Result │
└───────┬────────┘
▼
Conclusion
│
▼
Reasoning Chain
本章核心定义
| 对象 | 定义 |
|---|---|
| Memory | Individual 保存和读取历史认知资源的机制 |
| Fact | 已记录、识别或验证的结构化事实 |
| Rule | 定义条件与结论关系的逻辑规则 |
| Experience | Individual 过去行为及结果形成的历史经验 |
| Reasoning | 根据 Fact、Rule、Experience、Memory 等进行逻辑推导 |
| Conclusion | Reasoning 最终形成的结构化结论 |
| Reasoning Chain | 记录结论形成过程的完整推理路径 |
因此,第88章完成了一个重要转变:
第87章:
Individual 能够理解世界
第88章:
Individual 能够根据理解结果、
Memory、Fact、Rule、Experience
进行推理并形成 Conclusion
核心关系:
理解 ≠ 推理
推理 ≠ 决策
结论 ≠ 行动
最终形成:
Scene Understanding
↓
Memory
↓
Fact
↓
Rule
↓
Experience
↓
Reasoning
↓
Conclusion
这就是 Individual 的推理层。