首页 理论 架构 工程 文档 白皮书 著作 研究 案例 下载 博客 关于 开始使用 →

第52章 Priority

第52章 Priority

本章大纲

  1. Priority
  2. 优先级规则
  3. 权重
  4. 条件
  5. 时间
  6. 状态
  7. 风险
  8. 优先级计算
  9. 决策选择

1. Priority

1.1 Priority 定义

Priority(优先级)是 ICAI 对多个对象、任务、条件、候选方案、风险或行动进行先后顺序判断的一种机制。

当系统同时面对多个可以处理的对象或者多个可以执行的行动时,不能简单地按照出现顺序执行,而需要根据当前目标、条件、权重、时间、状态和风险确定处理顺序。

因此:

Priority = 对多个候选对象进行重要程度和处理顺序判断

Priority 本身不是决策。

它解决的是:

哪个更应该先处理?
哪个更重要?
哪个更紧急?
哪个应该排在前面?

而 Decision 解决的是:

最终选择哪个?

因此:

Priority ≠ Decision

两者关系:

Candidates
    ↓
Priority Evaluation
    ↓
Priority Order
    ↓
Decision
    ↓
Choice

2. 优先级规则

Priority 需要明确的规则,否则不同候选对象之间无法进行稳定比较。

基本规则:

IF Condition
THEN Priority = Value

例如:

IF task.state = "urgent"
THEN priority = 90

表示当任务状态为紧急时,该任务获得较高优先级。

2.1 基本优先级规则

PriorityRule
{
    id
    object
    condition
    priority
    state
}

例如:

PriorityRule
{
    id: 1001,
    object: "Task_A",
    condition: {
        property: "state",
        operator: "=",
        value: "urgent"
    },
    priority: 90,
    state: "ACTIVE"
}

2.2 多规则

一个对象可以同时符合多个优先级规则。

例如:

Rule_001 → priority = 80
Rule_002 → priority = 90
Rule_003 → priority = 70

系统需要根据优先级规则进一步处理:

规则匹配
    ↓
有效规则
    ↓
规则优先级比较
    ↓
最终 Priority

优先级规则本身也应该有自己的优先级,以解决规则冲突。


3. 权重

Priority 不一定只由一个条件决定。

一个候选对象可能同时受到:

  • 重要程度
  • 条件满足程度
  • 时间紧迫程度
  • 当前状态
  • 风险
  • 历史经验

等因素影响。

因此可以使用权重进行综合计算。

基本形式:

PriorityScore =
    ConditionScore × ConditionWeight
  + TimeScore × TimeWeight
  + StateScore × StateWeight
  + RiskScore × RiskWeight
  + ImportanceScore × ImportanceWeight

例如:

ConditionWeight = 0.25
TimeWeight      = 0.20
StateWeight     = 0.20
RiskWeight      = 0.20
ImportanceWeight= 0.15

权重满足:

Σ Weight = 1

需要注意:

Priority 权重不是模型训练参数。

它只是 ICAI 内部用于离散计算和比较的明确参数。

可以由系统规则、人工设置或者历史经验进行调整,但不涉及神经网络训练。


4. 条件

Condition 决定一个候选对象当前是否满足优先级要求。

例如:

Task_A.state = urgent

可以得到:

Condition = TRUE

而:

Task_B.state = normal

可能得到:

Condition = FALSE

条件状态:

TRUE
FALSE
UNKNOWN
CONFLICT

4.1 条件评分

条件不一定只有满足和不满足,也可以转换成离散评分。

例如:

完全满足 → 1.00
基本满足 → 0.75
部分满足 → 0.50
弱满足   → 0.25
不满足   → 0.00

因此:

ConditionScore ∈ [0,1]

条件分数越高,表示候选对象越符合当前优先级要求。


5. 时间

时间是 Priority 的重要因素。

两个候选任务的重要程度可能相同,但是截止时间不同,那么系统应当优先处理时间更加紧迫的任务。

例如:

Task_A
deadline = 10:00

Task_B
deadline = 18:00

如果当前时间为:

09:00

那么:

Task_A
剩余时间 = 1小时

Task_B
剩余时间 = 9小时

Task_A 的时间优先级明显更高。

5.1 TimeScore

可以定义:

TimeScore = 时间紧迫程度

例如:

剩余时间 ≤ 1小时 → 1.00
剩余时间 ≤ 3小时 → 0.80
剩余时间 ≤ 6小时 → 0.60
剩余时间 ≤ 12小时 → 0.40
剩余时间 > 12小时 → 0.20

也可以根据系统实际时间进行连续计算。

例如:

TimeScore = 1 - RemainingTime / MaximumTime

并限制:

0 ≤ TimeScore ≤ 1

因此:

时间越紧急
    ↓
TimeScore 越高
    ↓
Priority 越高

6. 状态

对象当前状态也会影响 Priority。

例如:

Task_A.state = waiting
Task_B.state = urgent
Task_C.state = blocked
Task_D.state = ready

可以定义状态优先级:

urgent  → 1.00
ready   → 0.80
waiting → 0.50
blocked → 0.20

于是:

StateScore

可以作为 Priority 的组成部分。

6.1 状态不是优先级

必须区分:

Object State ≠ Priority

例如:

state = urgent

表示对象处于紧急状态。

经过 Priority 规则计算以后:

priority = 90

表示该对象具有较高处理优先级。

两者关系是:

State
  ↓
Priority Rule
  ↓
Priority

而不是:

State = Priority

7. 风险

Risk 是 Priority 判断中的重要因素。

但是风险与优先级不是同一个概念。

Risk = 可能产生什么不利结果
Priority = 哪个对象应该优先处理

例如:

Task_A
RiskScore = 0.20

Task_B
RiskScore = 0.80

Task_B 风险更高。

系统可能因此提高 Task_B 的处理优先级:

RiskScore ↑
    ↓
RiskPriority ↑
    ↓
Task Priority ↑

但并不是任何情况下:

Risk 越高 = Priority 越高

具体关系必须由系统规则决定。

例如安全系统可以定义:

IF RiskScore >= 0.75
THEN Priority = 100

而普通任务系统可能定义:

IF RiskScore >= 0.75
THEN Candidate = REJECTED

因此 Risk 对 Priority 的影响取决于当前系统规则。


8. 优先级计算

Priority 可以将多个因素转换成统一的 PriorityScore。

基本模型:

PriorityScore =
    ConditionScore × ConditionWeight
  + TimeScore × TimeWeight
  + StateScore × StateWeight
  + RiskScore × RiskWeight
  + ImportanceScore × ImportanceWeight

其中:

ConditionScore  ∈ [0,1]
TimeScore       ∈ [0,1]
StateScore      ∈ [0,1]
RiskScore       ∈ [0,1]
ImportanceScore ∈ [0,1]

权重:

ConditionWeight   = 0.25
TimeWeight        = 0.20
StateWeight       = 0.20
RiskWeight        = 0.20
ImportanceWeight  = 0.15

总和:

0.25 + 0.20 + 0.20 + 0.20 + 0.15 = 1.00

8.1 完整计算

假设:

Candidate_A

ConditionScore  = 0.90
TimeScore       = 0.80
StateScore      = 0.70
RiskScore       = 0.20
ImportanceScore = 0.90

则:

PriorityScore =
0.90 × 0.25
+ 0.80 × 0.20
+ 0.70 × 0.20
+ 0.20 × 0.20
+ 0.90 × 0.15

得到:

PriorityScore = 0.715

因此:

PriorityScore = 0.715

如果系统使用 100 分制:

Priority = 71.5

8.2 多候选比较

假设有三个候选对象:

Candidate_A → 0.715
Candidate_B → 0.820
Candidate_C → 0.640

排序:

1. Candidate_B → 0.820
2. Candidate_A → 0.715
3. Candidate_C → 0.640

因此:

Priority Order
    ↓
B
A
C

Priority 的主要作用就是形成这样的顺序。


8.3 Priority 数据结构

可以定义:

Priority
{
    id
    candidate_id
    condition_score
    time_score
    state_score
    risk_score
    importance_score
    condition_weight
    time_weight
    state_weight
    risk_weight
    importance_weight
    score
    level
    rank
    state
}

例如:

Priority
{
    id: 2001,
    candidate_id: "Candidate_A",

    condition_score: 0.90,
    time_score: 0.80,
    state_score: 0.70,
    risk_score: 0.20,
    importance_score: 0.90,

    condition_weight: 0.25,
    time_weight: 0.20,
    state_weight: 0.20,
    risk_weight: 0.20,
    importance_weight: 0.15,

    score: 0.715,
    level: "HIGH",
    rank: 2,
    state: "ACTIVE"
}

9. 决策选择

Priority 最终服务于 Decision。

完整过程:

Current Context
       ↓
Candidates
       ↓
Condition
       ↓
Time
       ↓
State
       ↓
Risk
       ↓
Importance
       ↓
Priority Calculation
       ↓
Priority Score
       ↓
Priority Ranking
       ↓
Decision
       ↓
Choice
       ↓
Action

这里需要特别区分三个概念:

Priority = 排序
Decision = 选择
Action   = 执行

例如:

Candidate_A → Priority 71
Candidate_B → Priority 82
Candidate_C → Priority 64

Priority 得出:

B > A > C

但是 Decision 仍然需要进一步检查:

B 是否满足执行条件?
B 是否存在不可接受风险?
B 是否具备执行能力?
B 是否与当前目标一致?

如果 Candidate_B 存在:

RiskScore = 0.95

并且系统规定:

IF RiskScore >= 0.90
THEN Candidate = REJECTED

那么即使:

Priority_B = 82

也不能直接选择 B。

系统可能最终选择:

A

因此:

Priority Ranking ≠ Final Choice

完整 Priority 模型

Information
    ↓
Perception
    ↓
Cognition
    ↓
Understanding
    ↓
Reasoning
    ↓
Conclusion
    ↓
Candidates
    ↓
Condition
    ↓
Time
    ↓
State
    ↓
Risk
    ↓
Importance
    ↓
Priority Calculation
    ↓
Priority Ranking
    ↓
Decision
    ↓
Choice
    ↓
Action
    ↓
Experience
    ↓
Learning

Priority 核心模型

Priority
=
Condition
+
Time
+
State
+
Risk
+
Importance
+
Weight
→
PriorityScore
→
PriorityRank

更完整地表示:

Candidate
    ↓
Condition Evaluation
    ↓
Time Evaluation
    ↓
State Evaluation
    ↓
Risk Evaluation
    ↓
Importance Evaluation
    ↓
Weighted Calculation
    ↓
PriorityScore
    ↓
PriorityRank
    ↓
Decision

Priority 与前后章节的关系

Rule
  ↓
RuleEngine
  ↓
ReasoningEngine
  ↓
Conclusion
  ↓
Decision
  ↓
Priority
  ↓
Choice
  ↓
Action

其中实际运行时,Priority 通常属于 Decision 的候选评价过程:

Conclusion
    ↓
Decision Goal
    ↓
Candidate
    ↓
Condition
    ↓
Risk
    ↓
Priority
    ↓
Choice
    ↓
Action

因此可以形成一个明确的定义:

Priority 是 ICAI 对候选对象、任务或行动依据条件、权重、时间、状态、风险和重要程度进行计算、比较和排序的机制,为 Decision 提供有序的候选集合。

最终核心区别:

Rule       = 规定逻辑
RuleEngine = 执行规则
Reasoning  = 形成结论
Decision   = 选择方案
Risk       = 判断可能风险
Priority   = 判断先后顺序
Action     = 执行行为

这几个机制共同形成:

Reasoning
    ↓
Decision
    ↓
Risk + Priority
    ↓
Choice
    ↓
Action

并且整个 Priority 过程仍然属于明确规则、离散数据、条件判断和数学计算,不需要任何大模型、神经网络或生成式机制。

Leave a Reply

Your email address will not be published. Required fields are marked *