第104章 决策状态
104.1 决策状态概述
在个体人工智能(Individual Artificial Intelligence,ICAI)中,**决策状态(Decision State)**是描述一个决策在其生命周期中所处阶段的状态结构。
第101章建立了决策理论,第102章建立了决策计算,第103章建立了决策选择。前三章解决的是:
Decision→Computation→SelectionDecision \rightarrow Computation \rightarrow Selection
但是,一个决策一旦形成,并不会永远处于同一种状态。
决策可能:
- 尚未形成;
- 正在进行计算;
- 已经确定;
- 已经进入执行;
- 执行成功并完成;
- 执行失败。
因此,需要建立独立的决策状态理论。
本章定义六个基本决策状态:
待决策→决策中→已决策→执行中→完成\boxed{ 待决策 \rightarrow 决策中 \rightarrow 已决策 \rightarrow 执行中 \rightarrow 完成 }
以及失败分支:
决策中→失败\boxed{ 决策中\rightarrow失败 }
或:
执行中→失败\boxed{ 执行中\rightarrow失败 }
因此,完整状态模型为:
待决策
↓
决策中
├── 失败
└── 已决策
↓
执行中
├── 完成
└── 失败
104.2 决策状态定义
**决策状态(Decision State)**是机器个体用于表示决策当前生命周期阶段及其运行情况的数据状态。
可以表示为:
DStDS_t
其中:
- DSDS:决策状态;
- tt:状态发生的时间。
一个完整的决策状态对象可以定义为:
DS={DecisionID,State,PreviousState,Condition,Reason,Time,Result}DS= \{ DecisionID, State, PreviousState, Condition, Reason, Time, Result \}
其中:
DecisionID:决策标识;State:当前决策状态;PreviousState:前一个状态;Condition:状态转换条件;Reason:状态变化原因;Time:状态发生时间;Result:相关结果。
因此,决策状态不仅保存“现在是什么状态”,还应该保存:
从什么状态变化而来、为什么发生变化、什么时候变化以及变化以后产生了什么结果。
104.3 六种基本决策状态
ICAI可以建立:
DecisionState∈{Pending,Processing,Decided,Executing,Completed,Failed}DecisionState\in \{ Pending, Processing, Decided, Executing, Completed, Failed \}
对应中文:
| 状态 | 英文 | 含义 |
|---|---|---|
| 待决策 | Pending | 已产生决策需求,但尚未进入正式决策过程 |
| 决策中 | Processing | 正在进行决策计算、比较和判断 |
| 已决策 | Decided | 已经形成并确认最终决策 |
| 执行中 | Executing | 决策已经确定,并正在执行 |
| 完成 | Completed | 决策对应的执行过程已经完成 |
| 失败 | Failed | 决策过程或执行过程未能完成 |
这六种状态构成决策生命周期的基本状态集合。
104.4 待决策
**待决策(Pending Decision)**表示机器个体已经识别出需要进行决策的问题,但尚未完成决策计算和最终选择。
基本过程为:
Need→Goal→DecisionRequirement→PendingNeed \rightarrow Goal \rightarrow DecisionRequirement \rightarrow Pending
例如:
库存状态下降
↓
识别补充库存需求
↓
形成采购目标
↓
需要确定采购方案
↓
待决策
此时:
DecisionState=PendingDecisionState=Pending
待决策并不意味着没有决策对象。
相反,此时通常已经存在:
SubjectSubject ObjectObject GoalGoal
以及部分:
MethodMethod
和:
ConditionCondition
只是最终决策尚未形成。
因此:
Pending≠NoDecisionPending\neq NoDecision
更准确地说:
Pending=DecisionRequired∧DecisionNotConfirmedPending= DecisionRequired \land DecisionNotConfirmed
104.5 待决策的进入条件
一个机器个体可以在以下情况下进入待决策状态:
Need→GoalNeed\rightarrow Goal
或者:
Goal→DecisionRequiredGoal\rightarrow DecisionRequired
也可以因为原有决策失效:
DecisionInvalid→PendingDecisionInvalid \rightarrow Pending
例如:
原决策
↓
运行条件发生变化
↓
原决策失效
↓
重新进入待决策
因此:
DecisionChange→PendingDecisionChange \rightarrow Pending
待决策状态实际上是决策生命周期的入口之一。
104.6 决策中
**决策中(Decision Processing)**表示机器个体正在对候选方案进行计算、检查、比较和选择。
状态:
DecisionState=ProcessingDecisionState=Processing
其内部过程为:
待决策
↓
读取候选方案
↓
条件计算
↓
能力计算
↓
风险计算
↓
冲突计算
↓
方案比较
↓
优先级计算
↓
规则检查
↓
决策选择
↓
决策中
更准确地说,决策中状态覆盖的是整个决策计算和选择过程。
因此:
Processing=Computing+Comparing+Selecting+ConfirmingProcessing= Computing+ Comparing+ Selecting+ Confirming
在该阶段,机器个体可能不断更新候选方案集合:
Candidatet→Candidatet+1Candidate_t \rightarrow Candidate_{t+1}
也可能重新计算:
Riskt→Riskt+1Risk_t\rightarrow Risk_{t+1}
或者:
Capabilityt→Capabilityt+1Capability_t\rightarrow Capability_{t+1}
因此决策中是一个动态计算状态。
104.7 决策中的状态变化
决策过程中,如果出现新的信息:
NewInformationNewInformation
可能导致:
DecisionRecalculationDecisionRecalculation
例如:
决策中
↓
发现资源不足
↓
原方案无效
↓
重新计算候选方案
↓
重新比较
因此:
Processing→Recalculation→ProcessingProcessing \rightarrow Recalculation \rightarrow Processing
决策中并不是一个瞬间动作,而是允许多次计算和重新选择的运行状态。
104.8 已决策
**已决策(Decided)**表示机器个体已经完成决策选择,并正式确定一个最终决策。
基本关系:
Processing→DecidedProcessing \rightarrow Decided
此时:
FinalDecision≠∅FinalDecision\neq\varnothing
并且:
Confirm(FinalDecision)=TrueConfirm(FinalDecision)=True
已决策状态至少应该已经确定:
{Subject,Object,Goal,Method,Plan,Condition,Constraint,Action}\{ Subject, Object, Goal, Method, Plan, Condition, Constraint, Action \}
因此:
决策中
↓
候选方案比较
↓
最优方案
↓
可执行性检查
↓
最终确认
↓
已决策
已决策表示:
“机器个体已经决定做什么。”
但并不表示:
“机器个体已经做完。”
所以:
Decided≠CompletedDecided\neq Completed
104.9 已决策与执行中
已决策和执行中必须严格区分。
Decided→ExecutingDecided \rightarrow Executing
已决策:
DecisionConfirmed=TrueDecisionConfirmed=True
执行中:
ExecutionStarted=TrueExecutionStarted=True
因此:
Decided≠ExecutingDecided\neq Executing
例如:
已决策
↓
确定采购100件
↓
等待执行
↓
执行中
↓
提交采购订单
这说明决策可以已经确定,但执行尚未开始。
104.10 执行中
**执行中(Executing)**表示最终决策已经确定,并且对应的行为或动作已经进入实际运行阶段。
基本关系:
Decided→ExecutingDecided \rightarrow Executing
执行中状态的核心是:
ExecutionStarted=TrueExecutionStarted=True
而不是决策是否已经形成。
执行过程可以表示为:
Decision→Behavior→Action→ExecutingDecision \rightarrow Behavior \rightarrow Action \rightarrow Executing
例如:
已决策
↓
调用采购方法
↓
创建采购任务
↓
执行中
↓
提交订单
执行中可能包含多个动作:
A1→A2→A3A_1\rightarrow A_2\rightarrow A_3
因此:
Executing={Action1,Action2,…,Actionn}Executing= \{Action_1,Action_2,\ldots,Action_n\}
104.11 执行中的状态检查
进入执行中以后,机器个体仍然必须持续检查运行状态。
例如:
StateChangeStateChange CapabilityFailureCapabilityFailure ResourceLossResourceLoss RiskIncreaseRiskIncrease EnvironmentChangeEnvironmentChange
都可能导致当前执行无法继续。
因此:
Executing→RuntimeCheckExecuting \rightarrow RuntimeCheck
如果正常:
RuntimeCheck=True→ExecutingRuntimeCheck=True \rightarrow Executing
如果完成:
Executing→CompletedExecuting\rightarrow Completed
如果失败:
Executing→FailedExecuting\rightarrow Failed
104.12 完成
**完成(Completed)**表示决策对应的执行过程已经达到规定的结束条件,并且实际结果满足完成判定要求。
基本关系:
Executing→CompletedExecuting \rightarrow Completed
完成并不只是“动作停止”,而是必须满足结果条件:
ActualResult⊨ExpectedResultActualResult\models ExpectedResult
或者:
GoalStateactual=GoalStatetargetGoalState_{actual} = GoalState_{target}
因此:
Completed=ExecutionFinished∧ResultVerifiedCompleted= ExecutionFinished \land ResultVerified
例如:
决策
↓
执行采购
↓
订单提交
↓
订单确认
↓
结果验证
↓
完成
如果只是执行结束,但结果没有达到目标:
ExecutionFinished=TrueExecutionFinished=True
并不能直接推出:
Completed=TrueCompleted=True
还需要结果验证。
104.13 完成状态与结果
完成状态必须与结果对象关联。
Completed→ResultCompleted \rightarrow Result
结果可以表示为:
Result={Expected,Actual,Difference,Evaluation,Time}Result= \{ Expected, Actual, Difference, Evaluation, Time \}
目标结果比较:
Compare(Expected,Actual)→ResultEvaluationCompare(Expected,Actual) \rightarrow ResultEvaluation
如果:
ResultEvaluation=TrueResultEvaluation=True
则:
CompletedCompleted
如果:
ResultEvaluation=FalseResultEvaluation=False
则可能:
FailedFailed
因此:
ExecutionEnd≠CompletedExecutionEnd \neq Completed
真正的完成需要:
ExecutionEnd+ResultVerificationExecutionEnd + ResultVerification
104.14 失败
**失败(Failed)**表示决策过程或者决策对应的执行过程未能满足规定的条件、目标、约束或者结果要求。
失败可能发生在多个阶段。
决策计算失败
Processing→FailedProcessing\rightarrow Failed
例如没有任何有效方案:
CandidateSet=∅CandidateSet=\varnothing
决策确认失败
Processing→FailedProcessing\rightarrow Failed
例如所有方案都违反强制规则。
执行失败
Executing→FailedExecuting\rightarrow Failed
例如:
CapabilityFailureCapabilityFailure
或者:
ResourceFailureResourceFailure
或者:
ExecutionErrorExecutionError
结果验证失败
Executing→FailedExecuting\rightarrow Failed
即动作执行了,但结果没有达到目标:
ActualResult≠ExpectedResultActualResult\neq ExpectedResult
104.15 失败不是删除
失败状态必须与删除区分。
Failed≠DeletedFailed\neq Deleted
失败意味着:
该决策存在,并且其过程没有成功完成。
删除意味着:
该决策对象或记录被移除。
因此:
DecisionState=FailedDecisionState=Failed
仍然应该保存:
DecisionHistoryDecisionHistory
因为失败本身是重要经验。
FailedDecision→Feedback→Memory→ExperienceFailedDecision \rightarrow Feedback \rightarrow Memory \rightarrow Experience
所以:
Failure→LearningFailure \rightarrow Learning
是ICAI学习闭环的重要来源。
104.16 决策状态转换
六种基本状态可以形成状态转换模型:
Pending→Processing→Decided→Executing→Completed\boxed{ Pending \rightarrow Processing \rightarrow Decided \rightarrow Executing \rightarrow Completed }
失败分支:
Processing→FailedProcessing\rightarrow Failed Executing→FailedExecuting\rightarrow Failed
因此完整状态图为:
┌──────────→ 失败
│
待决策 → 决策中 ─┤
│
↓
已决策
↓
执行中
├──→ 完成
└──→ 失败
104.17 决策状态转换条件
状态转换必须具有明确条件。
待决策 → 决策中
DecisionRequired=True∧ComputationReady=TrueDecisionRequired=True \land ComputationReady=True
决策中 → 已决策
ValidDecision=True∧Confirm=TrueValidDecision=True \land Confirm=True
决策中 → 失败
NoValidDecision=TrueNoValidDecision=True
或者:
DecisionProcessFailure=TrueDecisionProcessFailure=True
已决策 → 执行中
DecisionConfirmed=True∧ExecutionStarted=TrueDecisionConfirmed=True \land ExecutionStarted=True
执行中 → 完成
ExecutionFinished=True∧ResultVerified=TrueExecutionFinished=True \land ResultVerified=True
执行中 → 失败
ExecutionFailure=TrueExecutionFailure=True
因此:
StateTransition=f(CurrentState,Condition,Event,Result,Rule)StateTransition= f( CurrentState, Condition, Event, Result, Rule )
104.18 决策状态转换不是任意跳转
为了保证系统状态结构的确定性,不能允许任意状态跳转。
例如:
Pending→CompletedPending\rightarrow Completed
通常是不合法的。
因为一个决策必须经过:
ProcessingProcessing
和:
ExecutingExecuting
才能正常完成。
因此:
Pending↛CompletedPending\nrightarrow Completed
同样:
Pending↛ExecutingPending\nrightarrow Executing
因为没有确定决策就不能进入正常执行。
所以状态转换必须满足:
ValidTransition(CurrentState,Event)=TrueValidTransition(CurrentState,Event)=True
才能发生状态变化。
104.19 决策状态与时间
每一个决策状态都具有时间属性。
设:
TpendingT_{pending}
表示进入待决策状态的时间;
TprocessingT_{processing}
表示进入决策中的时间;
TdecidedT_{decided}
表示决策确定时间;
TexecutingT_{executing}
表示执行开始时间;
TcompletedT_{completed}
表示完成时间。
则可以计算:
DecisionTime=Tdecided−TpendingDecisionTime= T_{decided}-T_{pending}
执行时间:
ExecutionTime=Tcompleted−TexecutingExecutionTime= T_{completed}-T_{executing}
整个生命周期:
LifecycleTime=Tcompleted−TpendingLifecycleTime= T_{completed}-T_{pending}
如果失败:
FailureTime=Tfailed−TpendingFailureTime= T_{failed}-T_{pending}
因此决策状态不仅是逻辑状态,也是时间状态。
104.20 决策状态历史
决策状态必须保留历史。
定义:
History(D)={S1,S2,…,Sn}History(D)= \{S_1,S_2,\ldots,S_n\}
例如:
Pending
↓
Processing
↓
Decided
↓
Executing
↓
Failed
状态历史可以记录:
History={State,PreviousState,Time,Reason,Operator,Event}History= \{ State, PreviousState, Time, Reason, Operator, Event \}
这里的Operator表示触发状态变化的机器个体内部对象、服务或者执行过程。
状态历史能够回答:
为什么这个决策最后失败?
例如:
Decided→Executing→FailedDecided \rightarrow Executing \rightarrow Failed
通过历史可以继续查询:
FailedReasonFailedReason
最终形成:
Failure→DiagnosisFailure \rightarrow Diagnosis
104.21 决策状态与反馈
决策状态最终必须进入反馈系统。
完成:
Completed→FeedbackCompleted \rightarrow Feedback
失败:
Failed→FailureFeedbackFailed \rightarrow FailureFeedback
因此:
DecisionState→Result→FeedbackDecisionState \rightarrow Result \rightarrow Feedback
进一步:
Feedback→Memory→ExperienceFeedback \rightarrow Memory \rightarrow Experience
成功经验:
Completed→SuccessfulExperienceCompleted \rightarrow SuccessfulExperience
失败经验:
Failed→FailureExperienceFailed \rightarrow FailureExperience
这使决策状态成为ICAI学习机制的重要数据来源。
104.22 决策状态与重新决策
如果决策执行过程中发生重大变化:
Executing→DecisionInvalidExecuting \rightarrow DecisionInvalid
则不能继续盲目执行。
可以进入:
Failed→Diagnosis→PendingFailed \rightarrow Diagnosis \rightarrow Pending
或者:
Executing→ReDecisionExecuting \rightarrow ReDecision
重新进入:
Pending→ProcessingPending \rightarrow Processing
例如:
执行中
↓
环境发生重大变化
↓
原决策不再适用
↓
停止当前执行
↓
重新进入待决策
↓
重新计算
↓
重新选择
↓
新决策
因此,决策状态系统必须支持动态重新决策。
104.23 决策状态统一模型
可以将六种状态统一表示为:
DS∈{Pending,Processing,Decided,Executing,Completed,Failed}\boxed{ DS\in \{ Pending, Processing, Decided, Executing, Completed, Failed \} }
状态转换:
Pending→Processing→Decided→Executing→Completed\boxed{ Pending \rightarrow Processing \rightarrow Decided \rightarrow Executing \rightarrow Completed }
失败:
Processing→Failed\boxed{ Processing\rightarrow Failed } Executing→Failed\boxed{ Executing\rightarrow Failed }
重新决策:
Failed→Diagnosis→Pending→Processing\boxed{ Failed \rightarrow Diagnosis \rightarrow Pending \rightarrow Processing }
因此形成完整生命周期:
DecisionLifecycle=Pending→Processing→Decided→Executing→Completed/Failed\boxed{ DecisionLifecycle= Pending \rightarrow Processing \rightarrow Decided \rightarrow Executing \rightarrow Completed/Failed }
104.24 决策状态工程映射
决策状态在工程中必须成为独立的数据结构。
核心对象:
CognitiveDecisionState
PHP类:
class CognitiveDecisionState
{
protected $decisionId;
protected $state;
protected $previousState;
protected $condition;
protected $reason;
protected $result;
protected $createdAt;
}
状态管理引擎:
class DecisionStateEngine
{
public function getState($decision)
{
return null;
}
public function canTransition($from, $to, $context)
{
return false;
}
public function transition($decision, $to, $context)
{
return false;
}
public function recordHistory($decision, $from, $to, $context)
{
return false;
}
public function verifyCompletion($decision, $result)
{
return false;
}
public function handleFailure($decision, $reason)
{
return false;
}
}
状态常量:
class DecisionState
{
const PENDING = 'pending';
const PROCESSING = 'processing';
const DECIDED = 'decided';
const EXECUTING = 'executing';
const COMPLETED = 'completed';
const FAILED = 'failed';
}
状态转换引擎必须禁止非法跳转:
CurrentState
↓
TransitionEvent
↓
TransitionRule
↓
Valid?
├── Yes → NewState
└── No → Reject
104.25 数据库工程映射
可以建立:
cognitive_decision_states
cognitive_decision_state_history
其中:
cognitive_decision_states保存当前状态;
cognitive_decision_state_history保存完整状态变化历史。
状态记录可以包含:
id
decision_id
state
previous_state
reason
condition
result
created_at
状态历史:
Pending
↓
Processing
↓
Decided
↓
Executing
↓
Completed
或者:
Pending
↓
Processing
↓
Failed
这样可以完整恢复机器个体过去的决策运行过程。
104.26 决策状态运行模型
ICAI决策状态的完整运行过程可以表示为:
需求
↓
目标
↓
待决策
↓
决策计算
↓
决策中
├── 无有效方案 → 失败
└── 有效方案
↓
决策选择
↓
已决策
↓
执行条件确认
↓
执行中
├── 执行成功
│ ↓
│ 结果验证
│ ↓
│ 完成
│
└── 执行异常
↓
失败
完成和失败都会进入反馈:
Completed/Failed→Result→Feedback→Memory→ExperienceCompleted/Failed \rightarrow Result \rightarrow Feedback \rightarrow Memory \rightarrow Experience
104.27 决策状态与整个ICAI运行链
到第104章为止,前面的理论已经形成连续关系:
Object→State→Need→Goal→Capability→Matching→Method→MethodSelectionObject \rightarrow State \rightarrow Need \rightarrow Goal \rightarrow Capability \rightarrow Matching \rightarrow Method \rightarrow MethodSelection
然后:
MethodSelection→DecisionComputation→DecisionSelection→DecisionStateMethodSelection \rightarrow DecisionComputation \rightarrow DecisionSelection \rightarrow DecisionState
进一步:
DecisionState→Behavior→Action→ResultDecisionState \rightarrow Behavior \rightarrow Action \rightarrow Result
最终:
Result→Feedback→Memory→Experience→LearningResult \rightarrow Feedback \rightarrow Memory \rightarrow Experience \rightarrow Learning
因此:
认知→目标→能力→方法→决策→状态→行为→结果→学习\boxed{ 认知 \rightarrow 目标 \rightarrow 能力 \rightarrow 方法 \rightarrow 决策 \rightarrow 状态 \rightarrow 行为 \rightarrow 结果 \rightarrow 学习 }
104.28 本章总结
第104章建立了决策状态理论(Decision State Theory)。
决策状态不是简单记录一个“状态字段”,而是描述一个决策从产生到结束的完整生命周期。
六个基本状态为:
待决策→决策中→已决策→执行中→完成\boxed{ 待决策 \rightarrow 决策中 \rightarrow 已决策 \rightarrow 执行中 \rightarrow 完成 }
以及:
决策中→失败\boxed{ 决策中\rightarrow失败 } 执行中→失败\boxed{ 执行中\rightarrow失败 }
其中:
待决策表示已经产生决策需求,但尚未开始正式决策;
决策中表示正在进行决策计算、比较和选择;
已决策表示最终决策已经确定;
执行中表示决策已经进入实际执行;
完成表示执行结束且结果经过验证;
失败表示决策或执行过程没有达到规定要求。
最终统一为:
DecisionLifecycle=Pending→Processing→Decided→Executing→Completed/Failed\boxed{ DecisionLifecycle= Pending \rightarrow Processing \rightarrow Decided \rightarrow Executing \rightarrow Completed/Failed }
并通过反馈进入:
Completed/Failed→Feedback→Memory→Experience→Learning\boxed{ Completed/Failed \rightarrow Feedback \rightarrow Memory \rightarrow Experience \rightarrow Learning }
因此,第101—104章形成完整的决策体系:
决策理论→决策计算→决策选择→决策状态\boxed{ 决策理论 \rightarrow 决策计算 \rightarrow 决策选择 \rightarrow 决策状态 }
进一步连接行为系统:
FinalDecision→DecisionState→Behavior→Action→Result\boxed{ FinalDecision \rightarrow DecisionState \rightarrow Behavior \rightarrow Action \rightarrow Result }
至此,ICAI已经不仅能够回答“机器个体应该做什么”,还能够描述:
这个决定目前处于什么状态、经历了什么过程、是否正在执行、是否已经完成以及为什么失败。