第101章 决策理论
101.1 决策理论概述
在个体人工智能(Individual Artificial Intelligence,ICAI)中,**决策(Decision)**是指机器个体根据当前认知结果、需求、目标、能力、方法、状态、条件、风险、约束和规则,对“是否执行、执行什么、如何执行以及执行到什么程度”等问题进行计算,并形成最终可执行选择的过程。
决策位于方法选择之后、行为执行之前,是连接“认知结构”和“实际行为”的核心机制。
前面的认知过程解决的是:
当前是什么情况?
需求理论解决的是:
当前需要解决什么问题?
目标理论解决的是:
希望达到什么状态?
能力理论解决的是:
当前具有什么能力?
匹配理论解决的是:
哪些能力、方法能够满足当前目标?
方法选择解决的是:
当前应该采用哪一种方法?
而决策进一步解决:
在当前条件和约束下,机器个体最终决定做什么?
因此,ICAI中的基本运行关系可以表示为:
Goal→Capability→MethodMatching→MethodSelection→Decision→Behavior→Action→ResultGoal \rightarrow Capability \rightarrow MethodMatching \rightarrow MethodSelection \rightarrow Decision \rightarrow Behavior \rightarrow Action \rightarrow Result
决策不是简单地从多个方法中选出一个方法。方法选择的结果只是决策的重要输入之一。决策还必须考虑当前状态、风险、资源、约束、规则、冲突以及执行条件。
因此:
Decision≠MethodSelectionDecision\neq MethodSelection
更完整的关系为:
Decision=f(Goal,State,Capability,Method,Condition,Constraint,Risk,Conflict,Resource,Rule)Decision= f( Goal, State, Capability, Method, Condition, Constraint, Risk, Conflict, Resource, Rule )
其中,GoalGoal表示目标,StateState表示当前状态,CapabilityCapability表示当前能力,MethodMethod表示最终方法或候选方法,ConditionCondition表示当前条件,ConstraintConstraint表示约束,RiskRisk表示风险,ConflictConflict表示冲突,ResourceResource表示可用资源,RuleRule表示决策规则。
101.2 决策定义
**决策(Decision)**是机器个体依据当前目标和认知状态,在满足必要条件并遵守约束、规则和安全要求的情况下,对候选行为、执行方法或行动方案进行最终判断并形成可执行结果的认知计算过程。
决策可以形式化表示为:
D=f(G,S,C,M,Cond,Con,Risk,Rule,Resource)D=f(G,S,C,M,Cond,Con,Risk,Rule,Resource)
其中:
- DD:决策结果;
- GG:目标;
- SS:当前状态;
- CC:能力;
- MM:方法;
- CondCond:条件;
- ConCon:约束;
- RiskRisk:风险;
- RuleRule:规则;
- ResourceResource:资源。
决策的基本结构为:
Decision={Subject,Object,Goal,Method,Condition,Constraint,Risk,Rule,Action,Result,Status,Time}Decision= \{ Subject, Object, Goal, Method, Condition, Constraint, Risk, Rule, Action, Result, Status, Time \}
其中:
- Subject:决策主体;
- Object:决策对象;
- Goal:决策所服务的目标;
- Method:拟采用的方法;
- Condition:决策成立所需要的条件;
- Constraint:决策必须遵守的限制;
- Risk:决策可能产生的风险;
- Rule:决策所依据的规则;
- Action:决策对应的动作;
- Result:决策执行后的结果;
- Status:决策当前状态;
- Time:决策形成时间。
因此,决策不是一句简单的“执行”或“不执行”,而是一个具有主体、对象、目标、条件、约束、规则、行动和结果的完整结构。
101.3 决策主体
**决策主体(Decision Subject)**是执行决策计算并承担决策责任的机器个体。
在ICAI中,决策主体必须属于一个明确的个体,而不能脱离个体独立存在。
可以表示为:
DecisionSubject⊆IndividualDecisionSubject\subseteq Individual
即决策主体属于机器个体本身。
例如,一个企业个体人工智能进行库存采购决策时:
企业机器个体
↓
读取库存状态
↓
识别库存需求
↓
形成采购目标
↓
匹配采购能力
↓
选择采购方法
↓
进行采购决策
这里的决策主体是该企业机器个体,而不是一个脱离企业个体的通用决策模块。
因此:
Decision(D)=f(IndividualStructure)Decision(D)=f(IndividualStructure)
同一个决策问题,如果属于不同的机器个体,由于个体的知识、能力、目标、资源、规则和历史不同,最终决策可能不同。
例如:
D(I1)≠D(I2)D(I_1)\neq D(I_2)
这体现了ICAI的个体性。
决策主体至少需要具备:
Subject={Identity,Knowledge,Goal,Capability,State,Memory,Experience,Rule}Subject= \{ Identity, Knowledge, Goal, Capability, State, Memory, Experience, Rule \}
其中身份确定“谁在决策”,知识确定“知道什么”,目标确定“为什么决策”,能力确定“能够做什么”,状态确定“当前处于什么条件”,记忆和经验确定“过去发生过什么”,规则确定“允许怎样决策”。
因此,决策不是孤立计算,而是机器个体整体认知结构的一部分。
101.4 决策对象
**决策对象(Decision Object)**是决策所针对的对象、状态、任务、资源、方法、行为或事件。
决策对象可以是单个对象,也可以是多个对象组成的对象集合。
DecisionObject={Object,State,Goal,Method,Resource,Action,Event}DecisionObject= \{ Object, State, Goal, Method, Resource, Action, Event \}
例如:
企业个体
↓
库存对象
↓
库存状态下降
↓
采购目标
↓
采购方法
↓
采购决策
此时库存是决策直接关联的重要对象。
在机器人个体中:
机器人
↓
目标物体
↓
物体位置
↓
抓取目标
↓
抓取方法
↓
抓取决策
在设备个体中:
设备
↓
设备状态
↓
异常状态
↓
维护目标
↓
维护方法
↓
维护决策
因此,决策对象不是固定的一种数据类型,而是随着个体类型、目标和运行场景变化。
决策对象可以表示为:
OD={ID,Type,Attribute,State,Relation,Condition,History}O_D= \{ ID, Type, Attribute, State, Relation, Condition, History \}
决策系统必须首先确定:
Subject→DecisionObjectSubject\rightarrow DecisionObject
只有明确决策针对什么对象,后续的条件判断、约束检查和结果判断才具有确定性。
101.5 决策条件
**决策条件(Decision Condition)**是决定某一个决策是否允许成立、是否能够执行以及是否适合当前环境的条件集合。
可以表示为:
ConditionD={Object,State,Time,Space,Environment,Capability,Resource,Relation,Rule,Safety}Condition_D= \{ Object, State, Time, Space, Environment, Capability, Resource, Relation, Rule, Safety \}
决策条件具有必要条件和附加条件之分。
必要条件是决策成立必须满足的条件:
C1∧C2∧C3→DecisionC_1\land C_2\land C_3\rightarrow Decision
只要一个关键必要条件不满足:
Ci=FalseC_i=False
则:
Decision→BlockedDecision\rightarrow Blocked
例如,机器人准备执行抓取动作:
目标物体存在
↓
机器人识别物体
↓
机械臂能力正常
↓
目标处于可抓取状态
↓
空间范围允许
↓
安全条件满足
↓
形成抓取决策
如果机械臂发生故障:
CapabilityState=FaultCapabilityState=Fault
则即使目标存在、方法存在,也不能形成正常执行决策。
因此:
Goal≠DecisionConditionGoal\neq DecisionCondition
目标说明“要达到什么”,条件说明“现在是否允许这样做”。
101.6 决策约束
**决策约束(Decision Constraint)**是机器个体在形成决策时必须遵守的限制条件。
约束与普通条件不同。
条件回答:
决策能否成立?
约束回答:
决策成立以后,允许在什么范围内进行?
决策约束可以表示为:
Constraint={Resource,Time,Space,Cost,Safety,Rule,Capability,Range,Authority}Constraint= \{ Resource, Time, Space, Cost, Safety, Rule, Capability, Range, Authority \}
例如:
目标
↓
候选方法
↓
资源约束
↓
时间约束
↓
安全约束
↓
成本约束
↓
规则约束
↓
形成允许的决策集合
如果某个方案虽然能够达到目标,但违反安全约束:
SafetyConstraint=FalseSafetyConstraint=False
则:
Decision=BlockedDecision=Blocked
因此,在ICAI中不能使用“目标优先”直接覆盖所有约束。
基本关系为:
Goal→CandidateDecision→ConstraintCheck→ValidDecisionGoal \rightarrow CandidateDecision \rightarrow ConstraintCheck \rightarrow ValidDecision
而不是:
Goal→DecisionGoal\rightarrow Decision
决策约束还可以分为:
101.6.1 资源约束
限制设备、资金、空间、人员、能源或其他资源。
ResourceUsed≤ResourceAvailableResourceUsed\leq ResourceAvailable
101.6.2 时间约束
要求决策必须在规定时间范围内成立。
Tdecision∈TallowedT_{decision}\in T_{allowed}
101.6.3 空间约束
限制决策对象或者行动范围。
Position∈SpaceRangePosition\in SpaceRange
101.6.4 能力约束
要求机器个体必须拥有执行决策所需要的能力。
CapabilityRequired⊆CapabilityAvailableCapabilityRequired\subseteq CapabilityAvailable
101.6.5 安全约束
要求决策不能突破规定的安全边界。
Risk≤RiskallowedRisk\leq Risk_{allowed}
101.6.6 规则约束
要求决策符合机器个体内部规则。
Decision⊨RuleDecision\models Rule
因此:
ValidDecision=Condition∧Constraint∧Rule∧SafetyValidDecision= Condition \land Constraint \land Rule \land Safety
101.7 决策条件与决策约束的区别
决策条件与决策约束虽然都参与决策计算,但作用不同。
| 项目 | 决策条件 | 决策约束 |
|---|---|---|
| 核心问题 | 能不能成立 | 允许做到什么范围 |
| 作用 | 判断决策是否具备成立基础 | 限制决策范围 |
| 典型内容 | 状态、环境、能力、时间 | 安全、资源、成本、规则 |
| 结果 | 成立/不成立 | 允许/限制/阻止 |
| 处理阶段 | 决策形成前 | 决策形成与执行过程中 |
两者共同构成:
DecisionValidity=ConditionCheck+ConstraintCheckDecisionValidity= ConditionCheck+ ConstraintCheck
例如:
机器人要抓取物体
↓
物体存在
↓
机械臂能力正常
↓
目标位置可达
↓
条件满足
↓
检查安全距离
↓
检查力量限制
↓
检查运动范围
↓
约束满足
↓
形成决策
如果条件不满足,是“不能形成该决策”;如果约束不满足,则是“该决策不能按照当前方式执行”。
101.8 决策形成过程
决策形成不是一次计算,而是多个认知结果的综合计算。
基本过程为:
Goal→Method→Condition→Constraint→Risk→Rule→DecisionGoal \rightarrow Method \rightarrow Condition \rightarrow Constraint \rightarrow Risk \rightarrow Rule \rightarrow Decision
进一步展开为:
目标
↓
最终方法
↓
当前状态确认
↓
决策条件检查
↓
决策约束检查
↓
风险检查
↓
冲突检查
↓
规则检查
↓
资源检查
↓
形成决策候选
↓
决策比较
↓
决策确认
↓
最终决策
↓
进入行为执行
决策候选可以表示为:
DC={D1,D2,…,Dn}D_C=\{D_1,D_2,\ldots,D_n\}
对于多个候选决策,可以进行结构化比较:
Compare(Di,Dj)→DecisionComparisonCompare(D_i,D_j) \rightarrow DecisionComparison
最终:
D∗=argmaxDi∈DCPriority(Di)D^*= \arg\max_{D_i\in D_C}Priority(D_i)
但该公式必须建立在约束已经通过的基础上:
Constraint(Di)=TrueConstraint(D_i)=True
否则,即使某个决策具有更高的普通优先级,也不能被选择。
101.9 决策结果
**决策结果(Decision Result)**是决策计算完成后形成的最终机器判断结果。
决策结果不是执行结果。
这一点必须严格区分:
DecisionResult≠ExecutionResultDecisionResult\neq ExecutionResult
决策结果回答:
决定做什么?
执行结果回答:
实际做完以后发生了什么?
例如:
决策:
执行采购方法M1
↓
行为:
调用采购流程
↓
动作:
提交采购订单
↓
执行结果:
订单提交成功
因此:
Decision→Behavior→Action→ExecutionResultDecision \rightarrow Behavior \rightarrow Action \rightarrow ExecutionResult
决策结果可以定义为:
DR={DecisionID,Subject,Object,Goal,Method,Action,Status,Reason,Constraint,Risk,Time}DR= \{ DecisionID, Subject, Object, Goal, Method, Action, Status, Reason, Constraint, Risk, Time \}
决策状态可以定义为:
DecisionStatus∈{Created,Confirmed,Approved,Blocked,Cancelled,Executing,Completed,Failed}DecisionStatus\in \{ Created, Confirmed, Approved, Blocked, Cancelled, Executing, Completed, Failed \}
其中:
Created:决策已经形成;Confirmed:决策已经确认;Approved:满足必要审批或规则;Blocked:受到条件、风险或约束阻止;Cancelled:决策被取消;Executing:已经进入执行;Completed:对应执行过程完成;Failed:执行或决策过程失败。
101.10 决策失败
决策系统不能假设任何情况下都能够形成有效决策。
如果:
CandidateDecision=∅CandidateDecision=\varnothing
则:
DecisionStatus=NoDecisionDecisionStatus=NoDecision
如果存在候选决策,但全部违反约束:
∀Di, Constraint(Di)=False\forall D_i,\ Constraint(D_i)=False
则:
DecisionStatus=BlockedDecisionStatus=Blocked
如果存在决策冲突:
D1∧D2→ConflictD_1\land D_2\rightarrow Conflict
则必须进入冲突处理,而不能强制选择其中一个。
基本过程为:
决策候选
↓
条件检查
↓
约束检查
↓
风险检查
↓
冲突检查
├── 无冲突 → 决策确认
├── 有冲突 → 冲突处理
└── 无有效候选 → 无决策
这使ICAi的决策系统具有明确的失败状态,而不是任何情况下都强制产生一个答案。
101.11 决策与方法选择的关系
方法选择与决策必须保持明确的层级关系。
方法选择:
CandidateMethods→MethodSelectionCandidateMethods \rightarrow MethodSelection
决策:
MethodSelection+Goal+State+Condition+Constraint+Risk→DecisionMethodSelection + Goal + State + Condition + Constraint + Risk \rightarrow Decision
因此:
MethodSelection≠DecisionMethodSelection\neq Decision
完整关系为:
Goal→MethodMatching→CandidateMethods→MethodSelection→FinalMethod→Decision→BehaviorGoal \rightarrow MethodMatching \rightarrow CandidateMethods \rightarrow MethodSelection \rightarrow FinalMethod \rightarrow Decision \rightarrow Behavior
例如,机器个体已经选择了“维护设备”方法,但在最终决策阶段发现:
SafetyRisk>AllowedRiskSafetyRisk>AllowedRisk
则可能出现:
FinalMethod=MFinalMethod=M
但是:
Decision(M)=BlockedDecision(M)=Blocked
说明“方法适用”并不等于“允许执行”。
101.12 决策与行为的关系
决策是行为产生的直接前置认知结果。
Decision→BehaviorDecision\rightarrow Behavior
但是:
Decision≠BehaviorDecision\neq Behavior
决策属于判断结构,行为属于执行结构。
例如:
决策:
购买100件产品
↓
行为:
执行采购
↓
动作:
创建订单
↓
结果:
订单创建成功
因此:
Decision→Behavior→Action→ResultDecision\rightarrow Behavior\rightarrow Action\rightarrow Result
如果没有决策:
Decision=∅Decision=\varnothing
则正常情况下不能进入自主行为。
101.13 决策动态变化
机器个体运行过程中,决策并不是永久有效的。
当目标、状态、能力、条件、资源、风险或约束发生变化时,原决策可能失效。
StateChange→DecisionRecheckStateChange \rightarrow DecisionRecheck
进一步:
GoalChange∨CapabilityChange∨ConditionChange∨RiskChange∨ResourceChange∨ConstraintChange→DecisionReevaluationGoalChange \lor CapabilityChange \lor ConditionChange \lor RiskChange \lor ResourceChange \lor ConstraintChange \rightarrow DecisionReevaluation
重新计算过程为:
原决策
↓
运行状态变化
↓
决策条件重新检查
↓
约束重新检查
↓
风险重新检查
↓
原决策有效?
├── 是 → 继续执行
└── 否 → 重新决策
因此:
Decisiont→Decisiont+1Decision_t\rightarrow Decision_{t+1}
决策具有时间属性和状态属性。
101.14 决策理论统一模型
综合本章内容,ICAI决策可以统一表示为:
D=f(Subject,Object,Goal,State,Capability,Method,Condition,Constraint,Risk,Conflict,Resource,Rule)\boxed{ D= f( Subject, Object, Goal, State, Capability, Method, Condition, Constraint, Risk, Conflict, Resource, Rule ) }
决策形成过程:
Goal→Method→Condition→Constraint→Risk→Conflict→Decision→Behavior\boxed{ Goal \rightarrow Method \rightarrow Condition \rightarrow Constraint \rightarrow Risk \rightarrow Conflict \rightarrow Decision \rightarrow Behavior }
决策结果:
Decision→Action→Result→Feedback\boxed{ Decision \rightarrow Action \rightarrow Result \rightarrow Feedback }
决策变化:
State/Goal/Capability/Condition/Risk/Resource→DecisionReevaluation→NewDecision\boxed{ State/Goal/Capability/Condition/Risk/Resource \rightarrow DecisionReevaluation \rightarrow NewDecision }
因此,决策并不是ICAI中的孤立模块,而是将目标、能力、方法和现实条件转化为实际行为的核心认知机制。
101.15 决策工程映射
理论中的“决策”必须在工程中具有明确的数据结构、对象、类、方法和运行机制。
理论:
DecisionDecision
对应领域对象:
CognitiveDecision
对应工程引擎:
DecisionEngine
对应数据库:
cognitive_decisions
cognitive_decision_conditions
cognitive_decision_constraints
cognitive_decision_risks
cognitive_decision_conflicts
cognitive_decision_results
cognitive_decision_history
核心对象可以设计为:
class CognitiveDecision
{
protected $id;
protected $subjectId;
protected $objectId;
protected $goalId;
protected $methodId;
protected $state;
protected $conditions;
protected $constraints;
protected $risks;
protected $conflicts;
protected $resource;
protected $rule;
protected $action;
protected $status;
protected $result;
protected $createdAt;
}
决策条件对象:
class DecisionCondition
{
protected $id;
protected $decisionId;
protected $type;
protected $value;
protected $required;
protected $status;
}
决策约束对象:
class DecisionConstraint
{
protected $id;
protected $decisionId;
protected $type;
protected $value;
protected $limit;
protected $status;
}
决策引擎:
class DecisionEngine
{
public function buildCandidate($goal, $method, $context)
{
return null;
}
public function checkCondition($decision, $context)
{
return false;
}
public function checkConstraint($decision, $context)
{
return false;
}
public function checkRisk($decision, $context)
{
return false;
}
public function checkConflict($decision, $context)
{
return false;
}
public function evaluate($decision)
{
return null;
}
public function confirm($decision)
{
return false;
}
public function execute($decision)
{
return null;
}
}
其MVC运行关系为:
Controller
↓
DecisionService
↓
DecisionEngine
↓
CognitiveDecision
↓
DecisionCondition
DecisionConstraint
DecisionRisk
DecisionConflict
↓
DecisionRepository
↓
MySQL
Smarty只负责决策状态、决策条件、决策结果等运行数据的显示:
Decision Runtime
↓
Controller
↓
View Data
↓
Smarty
↓
HTML
因此,决策理论可以完整映射为:
DecisionTheory→DecisionObject→DecisionClass→DecisionEngine→DecisionService→DecisionRepository→MySQL→RuntimeDecisionTheory \rightarrow DecisionObject \rightarrow DecisionClass \rightarrow DecisionEngine \rightarrow DecisionService \rightarrow DecisionRepository \rightarrow MySQL \rightarrow Runtime
101.16 决策运行模型
ICAI中的完整决策运行过程可以表示为:
个体
↓
当前认知
↓
需求
↓
目标
↓
能力
↓
方法匹配
↓
方法选择
↓
最终方法
↓
决策主体确认
↓
决策对象确认
↓
决策条件检查
↓
决策约束检查
↓
风险检查
↓
冲突检查
↓
规则检查
↓
形成决策
↓
决策确认
├── 通过 → 行为
├── 阻止 → 重新匹配
├── 冲突 → 冲突处理
└── 无法形成 → 重新形成方法/目标
↓
动作
↓
结果
↓
反馈
↓
记忆
↓
经验
↓
学习
↓
更新
由此形成:
Goal→Capability→Method→Decision→Behavior→Action→Result→Feedback\boxed{ Goal \rightarrow Capability \rightarrow Method \rightarrow Decision \rightarrow Behavior \rightarrow Action \rightarrow Result \rightarrow Feedback }
并通过反馈进入后续学习和个体更新:
Result→Feedback→Memory→Experience→Learning→Capability/Method/DecisionUpdateResult \rightarrow Feedback \rightarrow Memory \rightarrow Experience \rightarrow Learning \rightarrow Capability/Method/DecisionUpdate
101.17 决策理论总结
第101章建立了ICAI的决策理论。
决策是机器个体在目标驱动下,根据当前状态、能力、方法、条件、约束、风险、冲突、资源和规则进行综合判断,并形成最终可执行判断结果的认知过程。
其核心结构为:
Decision=f(Subject,Object,Goal,State,Capability,Method,Condition,Constraint,Risk,Conflict,Resource,Rule)\boxed{ Decision= f( Subject, Object, Goal, State, Capability, Method, Condition, Constraint, Risk, Conflict, Resource, Rule ) }
本章建立了六个核心概念:
决策定义→决策主体→决策对象→决策条件→决策约束→决策结果决策定义 \rightarrow 决策主体 \rightarrow 决策对象 \rightarrow 决策条件 \rightarrow 决策约束 \rightarrow 决策结果
其中:
决策主体解决“谁决定”;
决策对象解决“决定什么”;
决策条件解决“什么情况下可以决定”;
决策约束解决“决定可以达到什么范围”;
决策结果解决“最终决定做什么”。
因此,ICAI中的完整关系为:
方法选择→决策→行为→动作→结果\boxed{ 方法选择 \rightarrow 决策 \rightarrow 行为 \rightarrow 动作 \rightarrow 结果 }
这标志着ICAI理论从“如何选择方法”进一步进入“如何形成最终行为判断”的阶段,为后续决策形成、决策条件、决策约束、决策风险、决策冲突、决策结果以及决策执行等理论建立基础。