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

第264章 决策Runtime

第264章 决策Runtime

第263章建立了匹配Runtime,完成:

Need→Goal→Capability→Condition→Matching→MatchingResultNeed \rightarrow Goal \rightarrow Capability \rightarrow Condition \rightarrow Matching \rightarrow MatchingResult

匹配Runtime解决的是:

当前哪些能力符合需求、目标和条件?

但是,匹配结果并不等于最终选择。

当多个方法、多个候选方案同时满足要求时,机器个体还需要进一步考虑方法、风险、冲突以及当前目标,最终选择一个可以执行的方案。

因此,本章建立决策Runtime(Decision Runtime)

决策Runtime负责把匹配结果转换成候选方法和候选方案,并综合风险、冲突、目标、条件等因素,形成结构化决策结果。

基本过程:

Method→Risk→Conflict→Candidate→DecisionMethod \rightarrow Risk \rightarrow Conflict \rightarrow Candidate \rightarrow Decision

完整连接为:

MatchingResult→Method→Risk→Conflict→Candidate→DecisionMatchingResult \rightarrow Method \rightarrow Risk \rightarrow Conflict \rightarrow Candidate \rightarrow Decision

最终形成:

DecisionResultDecisionResult


264.1 决策Runtime定义

决策Runtime是机器个体在当前运行环境中,根据当前目标、匹配结果、候选方法、风险和冲突,对候选方案进行评价、排序和选择的运行上下文。

可以定义:

DR={RuntimeID,Goal,Method,Risk,Conflict,Candidate,DecisionResult}DR= \{ RuntimeID, Goal, Method, Risk, Conflict, Candidate, DecisionResult \}

其中:

  • RuntimeID:当前运行实例;
  • Goal:当前目标;
  • Method:可执行的方法;
  • Risk:候选方法或方案产生的风险;
  • Conflict:候选方案之间或方案与规则之间的冲突;
  • Candidate:候选方案集合;
  • DecisionResult:最终决策结果。

因此:

DecisionRuntime⊂IndividualRuntimeDecisionRuntime\subset IndividualRuntime

并且:

DecisionRuntime≠DecisionEngineDecisionRuntime\neq DecisionEngine

DecisionRuntime保存当前决策过程的数据。

DecisionEngine执行具体决策计算。


264.2 匹配Runtime与决策Runtime

第263章得到:

MatchingResultMatchingResult

本章将其继续转换:

MatchingResult→Method→Candidate→DecisionMatchingResult \rightarrow Method \rightarrow Candidate \rightarrow Decision

因此:

MatchingRuntime
        ↓
MatchingResult
        ↓
DecisionRuntime
        │
        ├── Method
        ├── Risk
        ├── Conflict
        ├── Candidate
        │
        ↓
     Decision

二者职责不同:

Matching≠DecisionMatching\neq Decision

匹配解决:

哪些能力符合要求?

决策解决:

在符合要求的候选方案中,最终选择哪一个?


264.3 方法

方法表示机器个体完成目标的一种具体执行方式。

可以定义:

Method={ID,Name,Type,Condition,Steps,Capability,State}Method= \{ ID, Name, Type, Condition, Steps, Capability, State \}

例如:

Method-A
Type: Diagnosis
Capability: FaultDiagnosis
Condition: Device abnormal
State: Available

另一个方法:

Method-B
Type: Diagnosis
Capability: FaultDiagnosis
Condition: Device abnormal
State: Available

二者都可能满足当前需求。

因此:

Capability→MethodCapability \rightarrow Method

但:

Capability≠MethodCapability\neq Method

能力回答:

能不能做?

方法回答:

怎么做?


264.4 方法来源

方法通常来自:

KnowledgeKnowledge ExperienceExperience CapabilityCapability

以及当前场景。

因此:

MethodCandidate=F(Knowledge,Experience,Capability,Scene)MethodCandidate= F(Knowledge,Experience,Capability,Scene)

例如:

Capability:
FaultDiagnosis

Knowledge:
Rule-A
Rule-B

Experience:
Method-A success rate = 0.60
Method-B success rate = 0.90

由此产生:

Candidate Method:
Method-A
Method-B

264.5 方法状态

方法也需要具有当前状态。

例如:

Available
Disabled
Failed
Deprecated
Maintenance
Learning

如果:

MethodState=DisabledMethodState=Disabled

则不能直接进入有效候选方案。

因此:

Method→MethodState→CandidateMethod \rightarrow MethodState \rightarrow Candidate


264.6 方法与目标

方法必须能够服务于当前目标。

例如:

Goal=FaultIdentifiedGoal=FaultIdentified

方法:

Method-A:
Read temperature
Read pressure
Diagnose fault

则:

Method−A→GoalMethod-A\rightarrow Goal

如果某方法只是生成报告:

Method-B:
Generate Report

虽然它可能属于机器个体的能力范围,但不能直接完成:

Goal=FaultIdentifiedGoal=FaultIdentified

因此:

MethodGoalMatch=Match(Method,Goal)MethodGoalMatch= Match(Method,Goal)


264.7 风险

决策不能只看方法是否匹配,还必须考虑风险。

风险表示某个方法或候选方案在当前条件下可能产生不利结果的程度。

可以定义:

Risk={Probability,Impact,Condition,Score}Risk= \{Probability,Impact,Condition,Score\}

风险分数:

RiskScore=Probability×ImpactRiskScore= Probability\times Impact

例如:

Method-A
Probability = 0.20
Impact = 0.50

RiskScore = 0.10

另一个方法:

Method-B
Probability = 0.40
Impact = 0.90

RiskScore = 0.36

因此:

Risk(B)>Risk(A)Risk(B)>Risk(A)


264.8 风险等级

可以将风险分为:

Low
Medium
High
Critical

例如:

RiskScore<0.25⇒LowRiskScore<0.25 \Rightarrow Low 0.25≤RiskScore<0.50⇒Medium0.25\leq RiskScore<0.50 \Rightarrow Medium 0.50≤RiskScore<0.75⇒High0.50\leq RiskScore<0.75 \Rightarrow High RiskScore≥0.75⇒CriticalRiskScore\geq0.75 \Rightarrow Critical

风险等级可以作为决策约束。

例如:

RiskLevel=Critical⇒CandidateBlockedRiskLevel=Critical \Rightarrow CandidateBlocked


264.9 风险不是决策

必须明确:

Risk≠DecisionRisk\neq Decision

风险只是决策的一个输入。

例如:

Method-A
MatchScore = 0.90
RiskScore = 0.10
Method-B
MatchScore = 0.95
RiskScore = 0.70

虽然Method-B匹配度更高,但风险也更高。

最终选择不能只根据:

MatchScoreMatchScore

而需要:

Decision=F(MatchScore,Risk,Goal,Condition)Decision= F(MatchScore,Risk,Goal,Condition)


264.10 冲突

冲突表示两个或多个候选条件、目标、方法、状态或者规则之间存在不能同时满足的关系。

可以定义:

Conflict={Subject,Object,Type,Rule,Condition,Severity}Conflict= \{ Subject, Object, Type, Rule, Condition, Severity \}

例如:

Method-A
需要:
Device = Stopped

而当前状态:

Device = Running

则:

Conflict(Method−A,CurrentState)Conflict(Method-A,CurrentState)


264.11 冲突类型

决策Runtime可能遇到:

GoalConflict
StateConflict
MethodConflict
CapabilityConflict
RuleConflict
ResourceConflict
TimeConflict
RiskConflict
KnowledgeConflict

例如:

GoalConflict

两个目标互相冲突。

GoalA≠Compatible(GoalB)Goal_A\neq Compatible(Goal_B)

MethodConflict

两个方法不能同时使用。

MethodA⊥MethodBMethod_A\perp Method_B

StateConflict

方法要求的状态与当前状态不一致。

RequiredState≠CurrentStateRequiredState\neq CurrentState

ResourceConflict

两个候选方案需要同一个独占资源。

ResourceA=ResourceBResource_A=Resource_B


264.12 冲突检测

冲突检测可以表示:

ConflictDetection=F(Method,Goal,State,Rule,Resource,Condition)ConflictDetection= F(Method,Goal,State,Rule,Resource,Condition)

例如:

Method-A
要求:
Device = Stopped

Current State:
Device = Running

检测:

RequiredState≠CurrentStateRequiredState\neq CurrentState

得到:

Conflict=trueConflict=true

于是:

Method−A→BlockedMethod-A \rightarrow Blocked


264.13 候选方案

候选方案是进入最终决策阶段的可选执行方案。

可以定义:

Candidate={ID,Method,Capability,Condition,Score,Risk,Conflict,Status}Candidate= \{ ID, Method, Capability, Condition, Score, Risk, Conflict, Status \}

例如:

Candidate-A
Method: Method-A
Capability: FaultDiagnosis
MatchScore: 0.90
RiskScore: 0.10
Conflict: None
Status: Available
Candidate-B
Method: Method-B
Capability: FaultDiagnosis
MatchScore: 0.95
RiskScore: 0.30
Conflict: None
Status: Available

最终决策就在这些候选方案之间进行。


264.14 候选方案形成

候选方案不是直接产生的。

完整过程:

MatchingResult→Method→RiskEvaluation→ConflictDetection→CandidateMatchingResult \rightarrow Method \rightarrow RiskEvaluation \rightarrow ConflictDetection \rightarrow Candidate

即:

MatchingResult
       ↓
Candidate Method
       ↓
Risk Check
       ↓
Conflict Check
       ↓
Valid Candidate

只有满足基本条件的方案才能进入最终候选集合。


264.15 候选方案过滤

可以建立多级过滤:

第一层:

Candidate1=Filter(Method,Goal)Candidate_1=Filter(Method,Goal)

第二层:

Candidate2=Filter(Candidate1,Condition)Candidate_2=Filter(Candidate_1,Condition)

第三层:

Candidate3=Filter(Candidate2,Risk)Candidate_3=Filter(Candidate_2,Risk)

第四层:

Candidate4=Filter(Candidate3,Conflict)Candidate_4=Filter(Candidate_3,Conflict)

最终:

Candidate=Candidate4Candidate=Candidate_4

形成:

Method→Goal→Condition→Risk→Conflict→CandidateMethod \rightarrow Goal \rightarrow Condition \rightarrow Risk \rightarrow Conflict \rightarrow Candidate


264.16 候选方案评价

候选方案可以进行综合评价。

例如:

CandidateScore=wmM+wrR+weE+wcCCandidateScore= w_mM+ w_rR+ w_eE+ w_cC

其中:

  • MM:方法匹配程度;
  • RR:风险评价;
  • EE:历史经验评价;
  • CC:条件满足程度;
  • wm,wr,we,wcw_m,w_r,w_e,w_c:各评价权重。

但风险通常属于负向指标,因此可以使用:

RiskValue=1−RiskScoreRiskValue=1-RiskScore

于是:

CandidateScore=wmM+wr(1−RiskScore)+weE+wcCCandidateScore= w_mM+ w_r(1-RiskScore) + w_eE + w_cC

最终:

CandidateScore∈[0,1]CandidateScore\in[0,1]


264.17 决策

决策是从有效候选方案中确定最终方案的过程。

可以定义:

Decision=Select(Candidate,Goal,Rule,Condition,Risk,Conflict)Decision= Select(Candidate,Goal,Rule,Condition,Risk,Conflict)

决策结果:

DecisionResult={SelectedCandidate,Method,Reason,Risk,Status,Time}DecisionResult= \{ SelectedCandidate, Method, Reason, Risk, Status, Time \}

例如:

Selected:
Candidate-B

Method:
Method-B

Reason:
Highest valid score with acceptable risk.

Risk:
0.20

Status:
Approved

264.18 决策不是选择第一个

决策不能简单写成:

return $candidates[0];

因为候选方案可能具有不同:

  • 匹配度;
  • 风险;
  • 冲突;
  • 成功率;
  • 条件;
  • 优先级。

因此:

Decision≠FirstCandidateDecision\neq FirstCandidate

正确过程:

Candidate→Evaluate→Rank→SelectCandidate \rightarrow Evaluate \rightarrow Rank \rightarrow Select


264.19 决策排序

候选方案可以按照综合评价值排序:

CandidateScore1>CandidateScore2>CandidateScore3CandidateScore_1 > CandidateScore_2 > CandidateScore_3

例如:

Candidate-A = 0.82
Candidate-B = 0.91
Candidate-C = 0.65

排序:

B>A>CB>A>C

但排序以后还必须检查:

RiskRisk

和:

ConflictConflict

因此:

HighestScore≠AlwaysSelectedHighestScore\neq AlwaysSelected

如果最高分方案存在阻断风险,则需要选择下一个有效方案。


264.20 风险约束决策

可以定义最大允许风险:

RiskThresholdRiskThreshold

例如:

RiskThreshold=0.50RiskThreshold=0.50

那么:

RiskScore>0.50⇒CandidateBlockedRiskScore>0.50 \Rightarrow CandidateBlocked

因此:

Candidate-A
Score = 0.91
Risk = 0.70

虽然:

Score=0.91Score=0.91

但:

Risk=0.70>0.50Risk=0.70>0.50

所以:

Candidate−A=BlockedCandidate-A=Blocked

不能成为最终决策。


264.21 冲突约束决策

如果候选方案存在不可解决冲突:

Conflict=trueConflict=true

则:

CandidateStatus=BlockedCandidateStatus=Blocked

例如:

Method-A:
Requires Device Stopped

Current:
Device Running

得到:

Conflict=trueConflict=true

因此:

Method−A→BlockedMethod-A \rightarrow Blocked

决策Engine继续评价其他候选方案。


264.22 决策失败

如果所有候选方案都被过滤:

Candidate=∅Candidate=\varnothing

则:

DecisionStatus=NoDecisionDecisionStatus=NoDecision

不能虚构一个方案。

正确流程:

Matching→Candidate→AllBlocked→NoDecisionMatching \rightarrow Candidate \rightarrow AllBlocked \rightarrow NoDecision

随后可以进入:

NoDecision→LearningNoDecision \rightarrow Learning

或者:

NoDecision→CapabilityExpansionNoDecision \rightarrow CapabilityExpansion

或者:

NoDecision→MaintenanceNoDecision \rightarrow Maintenance

或者重新生成需求。

因此:

NoDecision≠SystemFailureNoDecision\neq SystemFailure


264.23 决策Runtime完整流程

本章的核心流程:

MatchingResult
      ↓
    Method
      ↓
     Risk
      ↓
   Conflict
      ↓
  Candidate
      ↓
  Evaluation
      ↓
   Decision
      ↓
DecisionResult

完整形式:

MatchingResult→Method→Risk→Conflict→Candidate→Decision→DecisionResultMatchingResult \rightarrow Method \rightarrow Risk \rightarrow Conflict \rightarrow Candidate \rightarrow Decision \rightarrow DecisionResult


264.24 方法、风险、冲突三者关系

决策Runtime的核心计算实际上是:

Method+Risk+Conflict→CandidateEvaluationMethod+Risk+Conflict \rightarrow CandidateEvaluation

例如:

Method-A
Match = 0.90
Risk = 0.10
Conflict = None
Method-B
Match = 0.95
Risk = 0.30
Conflict = None
Method-C
Match = 0.98
Risk = 0.20
Conflict = StateConflict

因此:

Candidate-A → Valid
Candidate-B → Valid
Candidate-C → Blocked

最终只在:

Candidate−ACandidate-A

和:

Candidate−BCandidate-B

之间决策。


264.25 决策与目标

最终决策必须服务于目标。

可以定义:

Decision=F(Candidate,Goal,Condition)Decision= F(Candidate,Goal,Condition)

如果某候选方案虽然风险低,但无法完成目标,则不能成为最终决策。

例如:

Goal:
FaultIdentified

Candidate-A:

Method:
GenerateReport

Risk:
Low

Candidate-B:

Method:
FaultDiagnosis

Risk:
Medium

虽然A风险更低,但:

GoalMatch(A)=0GoalMatch(A)=0

因此不能选择A。


264.26 决策与经验

经验可以参与候选评价。

例如:

SuccessRate(Method−A)=0.60SuccessRate(Method-A)=0.60 SuccessRate(Method−B)=0.90SuccessRate(Method-B)=0.90

在其他条件相同的情况下:

ExperienceScore(B)>ExperienceScore(A)ExperienceScore(B)>ExperienceScore(A)

因此:

CandidateScore(B)>CandidateScore(A)CandidateScore(B)>CandidateScore(A)

但经验不是决策本身:

Experience≠DecisionExperience\neq Decision

它只是决策输入。


264.27 决策与知识

知识提供决策规则。

例如:

Rule-001:
Critical Risk → Reject

Rule-002:
Goal Match = 0 → Reject

Rule-003:
Conflict = Critical → Reject

DecisionEngine读取这些规则:

Knowledge→DecisionRuleKnowledge \rightarrow DecisionRule

然后:

DecisionRule→DecisionEngineDecisionRule \rightarrow DecisionEngine

形成:

Decision=F(Candidate,Knowledge,Goal,Risk,Conflict)Decision= F(Candidate,Knowledge,Goal,Risk,Conflict)


264.28 决策Runtime对象

PHP OOP中可以建立:

class DecisionRuntime
{
    protected $method;
    protected $risk;
    protected $conflict;
    protected $candidates;
    protected $goal;
    protected $result;

    public function setMethod($method)
    {
        $this->method = $method;
    }

    public function setRisk($risk)
    {
        $this->risk = $risk;
    }

    public function setConflict($conflict)
    {
        $this->conflict = $conflict;
    }

    public function setCandidates($candidates)
    {
        $this->candidates = $candidates;
    }

    public function setGoal($goal)
    {
        $this->goal = $goal;
    }

    public function setResult($result)
    {
        $this->result = $result;
    }

    public function isReady()
    {
        return $this->method !== null
            && $this->candidates !== null
            && $this->goal !== null;
    }
}

它负责保存当前决策上下文。


264.29 DecisionEngine

DecisionEngine负责实际决策计算。

基本形式:

DecisionEngine=F(Method,Risk,Conflict,Candidate,Goal)DecisionEngine= F(Method,Risk,Conflict,Candidate,Goal)

例如:

class DecisionEngine
{
    public function decide($candidates)
    {
        $valid = array();

        foreach ($candidates as $candidate) {

            if ($candidate['risk'] > 0.50) {
                continue;
            }

            if ($candidate['conflict'] === true) {
                continue;
            }

            if ($candidate['goal_match'] <= 0) {
                continue;
            }

            $valid[] = $candidate;
        }

        if (empty($valid)) {
            return null;
        }

        usort($valid, function ($a, $b) {
            if ($a['score'] == $b['score']) {
                return 0;
            }

            return ($a['score'] > $b['score']) ? -1 : 1;
        });

        return $valid[0];
    }
}

这个过程使用:

  • 条件判断;
  • 集合过滤;
  • 排序;
  • 规则;
  • 分数比较;
  • 状态判断。

属于典型离散决策计算。


264.30 DecisionService

Service负责组织决策:

DecisionService→DecisionRuntime→DecisionEngineDecisionService \rightarrow DecisionRuntime \rightarrow DecisionEngine

例如:

class DecisionService
{
    protected $engine;

    public function __construct($engine)
    {
        $this->engine = $engine;
    }

    public function execute($runtime)
    {
        return $this->engine->decide(
            $runtime->getCandidates()
        );
    }
}

Service不负责具体的排序和选择规则。


264.31 DecisionController

Controller接收决策请求:

Browser→DecisionController→DecisionServiceBrowser \rightarrow DecisionController \rightarrow DecisionService

例如:

class DecisionController
{
    protected $service;

    public function __construct($service)
    {
        $this->service = $service;
    }

    public function execute($runtime)
    {
        return $this->service->execute($runtime);
    }
}

Controller只负责请求入口和结果返回。


264.32 决策Runtime与Repository

决策所需数据可能来自:

MySQL
├── methods
├── risks
├── conflicts
├── candidates
├── goals
└── decision_rules

读取过程:

MySQL→Repository→DomainObject→DecisionRuntimeMySQL \rightarrow Repository \rightarrow DomainObject \rightarrow DecisionRuntime

决策结果保存:

DecisionResult→Repository→MySQLDecisionResult \rightarrow Repository \rightarrow MySQL

因此:

DecisionRuntime≠RepositoryDecisionRuntime\neq Repository


264.33 决策Runtime与MVC

完整结构:

Browser→DecisionController→DecisionService→DecisionEngine→DecisionResultBrowser \rightarrow DecisionController \rightarrow DecisionService \rightarrow DecisionEngine \rightarrow DecisionResult

如果需要持久化:

DecisionEngine→DomainObject→Repository→MySQLDecisionEngine \rightarrow DomainObject \rightarrow Repository \rightarrow MySQL

页面输出:

DecisionResult→ViewData→Smarty→HTMLDecisionResult \rightarrow ViewData \rightarrow Smarty \rightarrow HTML

完整结构:

Browser
 ↓
DecisionController
 ↓
DecisionService
 ↓
DecisionRuntime
 ↓
DecisionEngine
 ↓
DecisionResult
 ↓
ViewData
 ↓
Smarty
 ↓
HTML

264.34 完整决策实例

当前机器个体:

ICAI-001

当前目标:

Goal:
FaultIdentified

匹配结果产生三个方法:

Method-A
MatchScore = 0.90
RiskScore = 0.10
Conflict = false
GoalMatch = 1.00
Method-B
MatchScore = 0.95
RiskScore = 0.30
Conflict = false
GoalMatch = 1.00
Method-C
MatchScore = 0.98
RiskScore = 0.20
Conflict = true
GoalMatch = 1.00

首先过滤:

Method−C→Conflict→BlockedMethod-C \rightarrow Conflict \rightarrow Blocked

剩余:

A,BA,B

综合评价后:

Score(B)>Score(A)Score(B)>Score(A)

最终:

Decision=Method−BDecision=Method-B

产生:

DecisionResult:
Status = Approved
Method = Method-B
Reason = Highest valid candidate
Risk = 0.30
Conflict = None

然后:

DecisionResult→BehaviorDecisionResult \rightarrow Behavior


264.35 决策结果

决策结果应当是结构化对象:

DecisionResult={Status,SelectedCandidate,Method,Goal,Reason,Risk,Conflict,Time}DecisionResult= \{ Status, SelectedCandidate, Method, Goal, Reason, Risk, Conflict, Time \}

例如:

Status:
Approved

SelectedCandidate:
Candidate-B

Method:
Method-B

Goal:
FaultIdentified

Reason:
Highest valid candidate under risk and conflict constraints.

Risk:
0.30

Conflict:
None

264.36 决策结果不是行为

决策结果确定了:

做什么、使用什么方法。

但并没有真正执行。

因此:

DecisionResult≠BehaviorDecisionResult\neq Behavior

完整关系:

DecisionResult→Behavior→ActionDecisionResult \rightarrow Behavior \rightarrow Action

例如:

Decision:
Use Method-B

之后:

Behavior:
Execute Method-B

然后:

Action:
Read Temperature

因此:

Decision→Behavior→ActionDecision \rightarrow Behavior \rightarrow Action


264.37 决策失败后的处理

如果没有有效候选:

Candidate=∅Candidate=\varnothing

则:

DecisionResult.Status=NoDecisionDecisionResult.Status=NoDecision

此时不能强制执行。

可以进入:

NoDecision→LearningNoDecision \rightarrow Learning

或者:

NoDecision→CapabilityUpdateNoDecision \rightarrow CapabilityUpdate

或者:

NoDecision→MaintenanceNoDecision \rightarrow Maintenance

或者:

NoDecision→NeedUpdateNoDecision \rightarrow NeedUpdate

形成:

NoDecision
     ↓
Analyze Failure
     ↓
Learning / Capability / Maintenance / Need
     ↓
New Matching
     ↓
New Decision

264.38 决策Runtime与学习

决策结果可以进入行为执行。

行为执行以后产生结果:

Decision→Behavior→Action→ResultDecision \rightarrow Behavior \rightarrow Action \rightarrow Result

然后:

Result→Feedback→Memory→Experience→LearningResult \rightarrow Feedback \rightarrow Memory \rightarrow Experience \rightarrow Learning

学习可能改变未来方法评价:

Learning→MethodUpdateLearning \rightarrow MethodUpdate

因此:

Methodt+1≠MethodtMethod_{t+1} \neq Method_t

从而下一次决策Runtime使用新的方法数据。


264.39 决策Runtime与自我维护

决策过程也可能发现风险或冲突。

例如:

Decision→Risk→ConflictDecision \rightarrow Risk \rightarrow Conflict

如果发现系统状态异常:

Detection→Diagnosis→RepairDetection \rightarrow Diagnosis \rightarrow Repair

维护完成以后:

Repair→Verification→DecisionRepair \rightarrow Verification \rightarrow Decision

因此决策Runtime与维护Runtime之间可以形成反馈:

Decision↔MaintenanceDecision \leftrightarrow Maintenance

但:

DecisionRuntime≠MaintenanceRuntimeDecisionRuntime\neq MaintenanceRuntime


264.40 决策Runtime完整生命周期

一次决策过程可以表示:

Created
   ↓
MethodLoaded
   ↓
RiskEvaluated
   ↓
ConflictChecked
   ↓
CandidatesBuilt
   ↓
CandidatesEvaluated
   ↓
DecisionSelected
   ↓
DecisionCompleted

如果所有候选都失败:

CandidatesBuilt
   ↓
AllBlocked
   ↓
NoDecision

因此:

DecisionStatet→EventDecisionStatet+1DecisionState_t \xrightarrow{Event} DecisionState_{t+1}


264.41 决策Runtime验证

决策完成以后必须验证。

可以定义:

DecisionVerification=F(Goal,Candidate,Risk,Conflict,Rule,Decision)DecisionVerification= F( Goal, Candidate, Risk, Conflict, Rule, Decision )

至少验证:

  1. 是否存在有效候选;
  2. 是否满足目标;
  3. 是否超过风险阈值;
  4. 是否存在阻断冲突;
  5. 是否违反决策规则;
  6. 选择结果是否属于候选集合。

因此:

ValidDecision=CandidateValid∧GoalValid∧RiskValid∧ConflictValid∧RuleValidValidDecision= CandidateValid \land GoalValid \land RiskValid \land ConflictValid \land RuleValid


264.42 决策Runtime核心模型

本章最终可以定义:

DecisionRuntime={Method,Risk,Conflict,Candidate,Decision}\boxed{ DecisionRuntime= \{ Method, Risk, Conflict, Candidate, Decision \} }

其中:

Candidate=F(Method,Goal,Condition,Risk,Conflict)Candidate= F(Method,Goal,Condition,Risk,Conflict)

最终:

Decision=Select(Candidate,Goal,Rule)\boxed{ Decision= Select(Candidate,Goal,Rule) }

决策结果:

DecisionResult={SelectedCandidate,Method,Reason,Risk,Status,Time}\boxed{ DecisionResult= \{ SelectedCandidate, Method, Reason, Risk, Status, Time \} }


264.43 ICAI Runtime连续结构

截至第264章,ICAI Runtime已经形成四个连续阶段:

第一阶段:个体Runtime

IndividualRuntimeIndividualRuntime

负责:

Individual+State+Knowledge+Capability+GoalIndividual+State+Knowledge+Capability+Goal

第二阶段:认知Runtime

CognitiveRuntimeCognitiveRuntime

负责:

Input+Object+State+Relation+Scene+KnowledgeInput+Object+State+Relation+Scene+Knowledge

第三阶段:匹配Runtime

MatchingRuntimeMatchingRuntime

负责:

Need+Goal+Capability+Condition+MatchingNeed+Goal+Capability+Condition+Matching

第四阶段:决策Runtime

DecisionRuntimeDecisionRuntime

负责:

Method+Risk+Conflict+Candidate+DecisionMethod+Risk+Conflict+Candidate+Decision

形成:

IndividualRuntime
        ↓
CognitiveRuntime
        ↓
CognitionResult
        ↓
MatchingRuntime
        ↓
MatchingResult
        ↓
DecisionRuntime
        ↓
DecisionResult

264.44 决策Runtime进入行为Runtime

决策完成以后,下一阶段不是重新认知,而是进入行为执行。

因此:

DecisionResult→BehaviorRuntimeDecisionResult \rightarrow BehaviorRuntime

完整链条:

Individual→Cognition→Need→Goal→Capability→Matching→Method→Risk→Conflict→Candidate→Decision→BehaviorIndividual \rightarrow Cognition \rightarrow Need \rightarrow Goal \rightarrow Capability \rightarrow Matching \rightarrow Method \rightarrow Risk \rightarrow Conflict \rightarrow Candidate \rightarrow Decision \rightarrow Behavior

决策Runtime因此成为:

MatchingRuntime→BehaviorRuntimeMatchingRuntime \rightarrow BehaviorRuntime

之间的桥梁。


264.45 核心边界

本章必须保持以下概念边界:

Method≠CapabilityMethod\neq Capability Risk≠ConflictRisk\neq Conflict Candidate≠MethodCandidate\neq Method Candidate≠DecisionCandidate\neq Decision MatchingResult≠DecisionMatchingResult\neq Decision Decision≠BehaviorDecision\neq Behavior Decision≠ActionDecision\neq Action DecisionResult≠BehaviorResultDecisionResult\neq BehaviorResult DecisionRuntime≠DecisionEngineDecisionRuntime\neq DecisionEngine DecisionRuntime≠RepositoryDecisionRuntime\neq Repository DecisionRuntime≠MySQLDecisionRuntime\neq MySQL

同时:

HighestScore≠AlwaysSelectedHighestScore\neq AlwaysSelected

因为最终选择还必须受到:

Goal+Risk+Conflict+RuleGoal + Risk + Conflict + Rule

的约束。


264.46 本章总结

决策Runtime解决的是ICAI从匹配结果到最终选择之间的问题。

第263章:

Need→Goal→Capability→Condition→MatchingResultNeed \rightarrow Goal \rightarrow Capability \rightarrow Condition \rightarrow MatchingResult

第264章:

MatchingResult→Method→Risk→Conflict→Candidate→DecisionMatchingResult \rightarrow Method \rightarrow Risk \rightarrow Conflict \rightarrow Candidate \rightarrow Decision

最终:

DecisionResultDecisionResult

因此:

DecisionRuntime={Method,Risk,Conflict,Candidate,Decision}\boxed{ DecisionRuntime= \{ Method, Risk, Conflict, Candidate, Decision \} }

完整决策过程:

MatchingResult→Method→Risk→Conflict→Candidate→Decision→DecisionResult\boxed{ MatchingResult \rightarrow Method \rightarrow Risk \rightarrow Conflict \rightarrow Candidate \rightarrow Decision \rightarrow DecisionResult }

而决策结果继续进入行为:

DecisionResult→Behavior→Action→Result\boxed{ DecisionResult \rightarrow Behavior \rightarrow Action \rightarrow Result }

进一步进入学习和维护:

Result→Feedback→Memory→Experience→Learning→UpdateResult \rightarrow Feedback \rightarrow Memory \rightarrow Experience \rightarrow Learning \rightarrow Update

以及:

Detection→Risk→Conflict→Diagnosis→Repair→VerificationDetection \rightarrow Risk \rightarrow Conflict \rightarrow Diagnosis \rightarrow Repair \rightarrow Verification

因此,ICAI的Runtime体系已经形成:

IndividualRuntime→CognitiveRuntime→MatchingRuntime→DecisionRuntime→BehaviorRuntime\boxed{ IndividualRuntime \rightarrow CognitiveRuntime \rightarrow MatchingRuntime \rightarrow DecisionRuntime \rightarrow BehaviorRuntime }

其中,决策Runtime承担了一个非常关键的作用:

它不是简单地“选择一个方法”,而是在当前目标、风险、冲突和规则约束下,从有效候选方案中计算并确定一个可以进入行为执行阶段的决策结果。

整个过程仍然建立在对象、属性、状态、关系、规则、条件、候选集合、评分、排序和离散决策计算之上,能够直接映射到PHP OOP、Service、Engine、Domain Object、Repository、MySQL、MVC和Smarty工程体系,而不需要任何生成式模型机制。

Leave a Reply

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