第89章 让 Individual 进行决策
第88章中,Individual 已经能够完成:
Scene → Cognition → Understanding → Memory → Fact → Rule → Reasoning → Conclusion
但是,Conclusion 仍然不是 Decision。
例如:
Conclusion:
Vehicle_A.risk = HIGH
这个结论只能说明:
当前车辆存在较高风险。
Individual 下一步必须回答:
现在应该做什么?
这就是 Decision。
决策不是简单地把结论转换成动作,而是需要综合:
- Reasoning Result
- Candidate
- Risk
- Priority
- Experience
- Ability
- Current State
- Conditions
最后选择一个可执行方案。
1. Reasoning Result
Reasoning Result 是第88章 Reasoning 产生的推理结果。
它是 Decision 的重要输入。
例如:
Reasoning Result
Vehicle_A.risk = HIGH
Vehicle_A.relative_speed = 30
Obstacle_A.distance = 20
Vehicle_A.state = MOVING
可以理解为:
Reasoning
↓
Reasoning Result
↓
Decision
1.1 Reasoning Result 结构
ReasoningResult
├── id
├── subject
├── conclusions
├── facts
├── rules
├── reasoning_chain
├── state
├── confidence
└── created_at
例如:
$reasoningResult = array(
'id' => 'reasoning_001',
'subject' => 'Vehicle_A',
'conclusions' => array(
array(
'property' => 'risk',
'value' => 'HIGH'
),
array(
'property' => 'relative_speed',
'value' => 30
)
),
'facts' => array(
'fact_001',
'fact_002',
'fact_003'
),
'rules' => array(
'rule_001'
),
'reasoning_chain' => 'chain_001',
'state' => 'CONFIRMED',
'confidence' => 1.0
);
1.2 Reasoning Result 不等于 Decision
例如:
Reasoning Result:
risk = HIGH
不能直接表示:
Decision = STOP
因为 Individual 还需要考虑:
有哪些候选行为?
哪个候选行为风险最低?
哪个行为当前能够执行?
哪个行为优先级最高?
当前是否存在冲突?
历史经验如何?
Individual 是否具有对应能力?
因此:
Reasoning Result
↓
Candidate
↓
Risk
↓
Priority
↓
Decision
2. Candidate
Candidate 是 Individual 根据当前目标和条件形成的候选决策方案。
例如车辆发现前方障碍物:
Candidate_1 = CONTINUE
Candidate_2 = DECELERATE
Candidate_3 = STOP
Candidate_4 = TURN
这时 Individual 还没有选择。
只是:
把可能采取的方案列出来。
2.1 Candidate 来源
Candidate 可以来自:
Rule
Experience
Ability
Method
Memory
Current State
Environment
Task
例如:
Current Situation:
Obstacle_A.distance = 20m
根据 Individual 当前能力,可以形成:
CONTINUE
DECELERATE
STOP
TURN
WAIT
2.2 Candidate 结构
Candidate
├── id
├── type
├── target
├── action
├── condition
├── capability
├── risk
├── priority
├── experience
├── score
└── state
例如:
$candidate = array(
'id' => 'candidate_001',
'type' => 'DECELERATE',
'target' => 'Vehicle_A',
'action' => array(
'method' => 'SET_SPEED',
'value' => 20
),
'condition' => 'Vehicle_A.state == MOVING',
'state' => 'AVAILABLE'
);
2.3 Candidate 的核心意义
Candidate 解决的是:
“有哪些可以考虑的方案?”
而不是:
“最终应该选择哪一个?”
所以:
Candidate ≠ Decision
3. Risk
Risk 是 Decision 对候选方案进行选择时必须考虑的重要因素。
第51章已经定义:
RiskScore = Probability × Impact
因此,一个 Candidate 不应该只看“能不能执行”,还必须判断:
执行以后可能产生什么风险?
3.1 Candidate Risk
例如:
| Candidate | 可能结果 | Risk |
|---|---|---|
| CONTINUE | 继续接近障碍物 | HIGH |
| DECELERATE | 降低速度 | MEDIUM |
| STOP | 停止 | LOW |
| TURN | 改变方向 | MEDIUM/HIGH |
所以:
Candidate
↓
Risk Evaluation
↓
Risk Result
3.2 Risk 不能简单理解为“不能执行”
例如:
Risk = HIGH
不一定意味着:
Candidate = REJECT
还需要判断:
有没有更安全的候选方案?
当前任务是否允许?
风险是否可接受?
是否存在更高优先级任务?
只有达到不可接受条件时,才应该拒绝。
例如:
CRITICAL
+
不可接受
+
存在替代方案
可以:
Candidate → REJECTED
3.3 UNKNOWN 不是 LOW
这一点必须保持。
Risk = LOW
表示已经判断风险较低。
而:
Risk = UNKNOWN
表示:
当前信息不足,无法确认风险。
因此:
UNKNOWN ≠ LOW
对于安全相关 Decision,UNKNOWN 通常不能直接当作安全。
4. Priority
当多个 Candidate 都可以执行时,Individual 还需要确定:
哪个更应该优先?
这就是 Priority。
4.1 Priority 的来源
Priority 可以来自:
Goal
Task
Rule
Risk
Time
Object Importance
Current State
Experience
System Policy
例如:
当前目标:
避免碰撞
那么:
STOP
可能具有比:
CONTINUE
更高的优先级。
4.2 Priority Score
可以使用离散、可配置的计算方式:
PriorityScore =
ConditionScore × ConditionWeight
+
UrgencyScore × UrgencyWeight
+
ImportanceScore × ImportanceWeight
+
SafetyScore × SafetyWeight
例如:
ConditionScore = 1.0
UrgencyScore = 0.9
ImportanceScore = 0.8
SafetyScore = 0.95
根据系统配置计算最终 Priority Score。
这里的计算是明确的数学规则,不需要神经网络,也不需要生成式模型。
4.3 Priority 与 Risk 的关系
Risk 和 Priority 不一样。
Risk
=
这个方案可能有多危险?
Priority
=
这个方案应该多优先考虑?
例如:
Candidate A
Risk = LOW
Priority = LOW
Candidate B
Risk = MEDIUM
Priority = HIGH
Candidate B 仍然可能被选择,因为当前任务可能具有很高的时间要求。
因此:
Risk ≠ Priority
5. Decision
Decision 是 Individual 对多个 Candidate 进行条件检查、风险评估、优先级计算、冲突处理后形成的选择结果。
核心过程:
Reasoning Result
↓
Candidate Generation
↓
Condition Check
↓
Capability Check
↓
Risk Evaluation
↓
Priority Evaluation
↓
Conflict Check
↓
Candidate Ranking
↓
Decision
5.1 Decision 的基本结构
Decision
├── id
├── goal
├── context
├── reasoning_result
├── candidates
├── conditions
├── risks
├── priorities
├── conflicts
├── selected
├── rejected
├── reason
├── state
└── created_at
例如:
$decision = array(
'id' => 'decision_001',
'goal' => 'Vehicle Safety',
'reasoning_result' => 'reasoning_001',
'candidates' => array(
'candidate_continue',
'candidate_decelerate',
'candidate_stop'
),
'selected' => 'candidate_decelerate',
'reason' => 'HIGH risk detected; deceleration provides safer available response',
'state' => 'DECIDED'
);
5.2 Decision 的基本流程
第一步:读取 Reasoning Result
risk = HIGH
relative_speed = 30
distance = 20
第二步:获取 Candidate
CONTINUE
DECELERATE
STOP
TURN
第三步:检查条件
例如:
Vehicle_A.state = MOVING
那么:
DECELERATE → AVAILABLE
STOP → AVAILABLE
CONTINUE → AVAILABLE
第四步:风险评估
CONTINUE → HIGH
DECELERATE → MEDIUM
STOP → LOW
TURN → MEDIUM
第五步:Priority
根据当前目标:
Safety Priority = HIGH
第六步:选择
例如:
DECELERATE
成为当前 Decision。
6. Decision Result
Decision 完成后,Individual 需要形成明确的 Decision Result。
它记录:
最终选择了什么,以及为什么选择。
6.1 Decision Result 结构
DecisionResult
├── id
├── decision_id
├── goal
├── selected_candidate
├── rejected_candidates
├── risk
├── priority
├── reason
├── state
├── next_behavior
└── created_at
例如:
$decisionResult = array(
'id' => 'decision_result_001',
'decision_id' => 'decision_001',
'goal' => 'Vehicle Safety',
'selected_candidate' => 'DECELERATE',
'rejected_candidates' => array(
'CONTINUE',
'TURN'
),
'risk' => 'MEDIUM',
'priority' => 'HIGH',
'reason' => 'Reduce speed because obstacle distance is decreasing',
'state' => 'DECIDED',
'next_behavior' => 'BEHAVIOR_DECELERATE'
);
这里出现一个重要连接:
Decision Result
↓
Behavior
↓
Action
Decision 不直接执行 Action。
7. 实际案例
继续使用第87章、第88章中的:
Individual_A
Vehicle_A
Obstacle_A
这样三个章节能够形成连续的 Individual 运行过程。
7.1 第87章:理解场景
Individual 感知到:
Vehicle_A
speed = 40 km/h
state = MOVING
前方:
Obstacle_A
speed = 10 km/h
distance = 20 m
关系:
Vehicle_A front_of Obstacle_A
形成:
Scene Understanding
7.2 第88章:Reasoning
Individual 计算:
relative_speed
=
40 - 10
=
30 km/h
Rule:
IF
distance < 30
AND
relative_speed > 20
THEN
risk = HIGH
条件:
20 < 30 → TRUE
30 > 20 → TRUE
所以:
Reasoning Result
Vehicle_A.risk = HIGH
Vehicle_A.relative_speed = 30
7.3 第89章:Candidate
Individual 现在开始决策。
产生:
Candidate_1 = CONTINUE
Candidate_2 = DECELERATE
Candidate_3 = STOP
Candidate_4 = TURN
7.4 Risk Evaluation
Individual 对 Candidate 分别计算风险:
CONTINUE
Risk = HIGH
因为车辆仍然高速接近障碍物。
DECELERATE
Risk = MEDIUM
因为降低速度能够增加安全距离。
STOP
Risk = LOW
因为停止能够最大程度降低继续接近风险。
TURN
Risk = MEDIUM/HIGH
因为转向还需要确认相邻区域是否安全。
7.5 Priority Evaluation
当前目标:
Goal = Vehicle Safety
因此安全相关行为具有高优先级。
例如得到:
CONTINUE
Priority = LOW
DECELERATE
Priority = HIGH
STOP
Priority = HIGH
TURN
Priority = MEDIUM
7.6 Candidate Comparison
最终形成:
| Candidate | Risk | Priority | 状态 |
|---|---|---|---|
| CONTINUE | HIGH | LOW | 不优先 |
| DECELERATE | MEDIUM | HIGH | 可选 |
| STOP | LOW | HIGH | 可选 |
| TURN | MEDIUM/HIGH | MEDIUM | 条件不足 |
此时并不是简单:
Risk 最低 = 自动选择
而是继续结合:
- 当前速度
- 当前距离
- 车辆状态
- 当前目标
- Vehicle_A 的 Ability
- 可执行性
- 历史 Experience
- 当前环境
进行最终选择。
假设系统当前判断:
DECELERATE
能够降低风险,同时不需要立即停止车辆。
于是:
Decision = DECELERATE
7.7 Decision Result
最终:
DecisionResult
goal:
Vehicle Safety
selected:
DECELERATE
risk:
MEDIUM
priority:
HIGH
state:
DECIDED
并形成下一阶段:
Behavior = DECELERATE
所以完整链条变成:
Information
↓
Perception
↓
Scene
↓
Cognition
↓
Understanding
↓
Memory
↓
Fact
↓
Rule
↓
Reasoning
↓
Reasoning Result
↓
Candidate
↓
Risk
↓
Priority
↓
Decision
↓
Decision Result
↓
Behavior
↓
Action
本章核心模型
Individual
│
▼
Reasoning Result
│
▼
Candidates
│
┌───────────┼───────────┐
▼ ▼ ▼
Condition Risk Ability
│ │ │
└───────────┼───────────┘
▼
Priority
│
▼
Conflict
│
▼
Candidate
Evaluation
│
▼
Decision
│
▼
Decision Result
│
▼
Behavior
│
▼
Action
本章核心定义
| 对象 | 定义 |
|---|---|
| Reasoning Result | Individual 根据事实、规则、经验等得到的推理结果 |
| Candidate | 当前条件下可以考虑的候选方案 |
| Risk | Candidate 可能产生的不利影响及其程度 |
| Priority | Candidate 在当前目标中的重要程度和处理顺序 |
| Decision | 对 Candidate 进行综合判断后形成的选择过程与结果 |
| Decision Result | 明确记录最终选择、风险、优先级和选择原因的结构化结果 |
最重要的边界是:
Reasoning
=
得出结论
Candidate
=
提出可选方案
Risk
=
判断可能的危险
Priority
=
判断处理重要程度
Decision
=
选择方案
Behavior
=
组织执行过程
Action
=
执行具体操作
因此,第89章之后,Individual 已经形成:
第87章
Individual 能够感知并理解世界
↓
第88章
Individual 能够推理并形成结论
↓
第89章
Individual 能够根据结论、
候选方案、风险和优先级进行决策
↓
第90章
Individual 将进入 Behavior / 行为执行
核心关系最终确定为:
Understanding
↓
Reasoning
↓
Conclusion
↓
Decision
↓
Behavior
↓
Action
也就是:
理解世界 → 推导结论 → 选择方案 → 组织行为 → 执行行动。