第76章 需求理论
76.1 提出背景
在ICAI通用核心理论中,机器个体完成对象认知、属性认知、状态认知、关系认知、场景认知和知识计算之后,已经能够形成对当前现实结构的机器认知。
但是,认知本身并不等于行为。
机器知道“对象是什么”“对象处于什么状态”“环境发生了什么变化”,还必须进一步确定:当前状态是否需要保持、改变、恢复、获得或避免某种结果。
这种由个体当前状态、对象关系、环境条件、目标要求和知识规则所形成的状态要求,就是需求。
因此,需求位于认知与目标之间:
认知→需求→目标→能力→方法→决策→行为\boxed{ 认知\rightarrow需求\rightarrow目标\rightarrow能力\rightarrow方法\rightarrow决策\rightarrow行为 }
需求理论解决的是ICAI中的一个基本问题:
机器个体为什么需要采取某种行为?
76.2 需求定义
**需求(Need)**是指机器个体针对自身或相关对象,在特定条件下由于当前状态与要求状态、目标状态或维持条件之间存在差异,而形成的需要保持、改变、获得、恢复、避免或完成某种状态的结构化要求。
简单地说:
需求=对某种状态或结果的需要需求=对某种状态或结果的需要
形式化表示:
Need=f(Subject,Object,State,Condition,Requirement)Need= f( Subject, Object, State, Condition, Requirement )
其中:
- SubjectSubject:需求主体;
- ObjectObject:需求对象;
- StateState:当前状态;
- ConditionCondition:需求成立的条件;
- RequirementRequirement:要求达到、保持、改变或避免的状态。
因此:
Need≠GoalNeed\neq Goal
需求表示:
需要什么。
目标表示:
希望达到什么具体状态。
二者之间存在:
Need→GoalNeed\rightarrow Goal
76.3 需求的基本结构
一个完整的需求不是一个简单的名称,而是一个结构化对象。
可以定义:
Need={ID,Subject,Object,Type,Condition,State,Requirement,Priority,Intensity,Status,Time,History}\boxed{ Need= \{ ID, Subject, Object, Type, Condition, State, Requirement, Priority, Intensity, Status, Time, History \} }
其中:
- IDID:需求唯一标识;
- SubjectSubject:需求主体;
- ObjectObject:需求涉及的对象;
- TypeType:需求类型;
- ConditionCondition:需求产生和成立条件;
- StateState:需求产生时的当前状态;
- RequirementRequirement:状态或结果要求;
- PriorityPriority:需求优先级;
- IntensityIntensity:需求强度;
- StatusStatus:需求当前状态;
- TimeTime:需求产生及变化时间;
- HistoryHistory:需求历史。
因此,ICAI中的需求可以作为一个独立的认知对象进行存储、计算和更新。
76.4 需求主体
**需求主体(Need Subject)**是产生需求、拥有需求或者需要通过需求改变自身或相关对象状态的机器个体或对象。
例如:
个人 → 出行需求
企业 → 生产需求
客户 → 服务需求
设备 → 维修需求
机器人 → 充电需求
无人飞机 → 飞行任务需求
因此:
Subject→NeedSubject\rightarrow Need
需求主体可以是:
个人
企业
组织
机构
服务主体
设备
机器人
无人飞机
工业系统
其他机器个体
需求主体决定了需求的基本范围。
例如:
个人+低电量→充电需求个人+低电量\rightarrow充电需求
与:
机器人+低电量→充电需求机器人+低电量\rightarrow充电需求
虽然需求类型相同,但需求主体不同,因此需求结构、能力和后续行为也可能不同。
所以:
Need1≠Need2Need_1\neq Need_2
即使:
NeedType1=NeedType2NeedType_1=NeedType_2
76.5 需求对象
**需求对象(Need Object)**是需求所针对、作用于、依赖于或者需要获得、改变、维护的对象。
例如:
客户 → 商品
设备 → 零部件
机器人 → 电池
企业 → 原材料
无人飞机 → 飞行任务
个人 → 服务
基本关系:
Subject→Need→ObjectSubject\rightarrow Need\rightarrow Object
需求对象不一定是物理对象,也可以是:
信息
资源
服务
任务
状态
关系
环境
时间
空间
知识
能力
例如:
客户+服务对象→服务需求客户+服务对象\rightarrow服务需求 设备+正常运行状态→维护需求设备+正常运行状态\rightarrow维护需求 机器人+电池对象→充电需求机器人+电池对象\rightarrow充电需求
因此:
Need=f(Subject,Object)Need=f(Subject,Object)
76.6 需求条件
**需求条件(Need Condition)**是需求产生、成立、变化或失效所必须满足的环境、状态、时间、关系、资源或规则条件。
需求不是无条件存在的。
可以表示为:
Need=Condition(State,Object,Environment,Rule)Need=Condition(State,Object,Environment,Rule)
条件可以包括:
时间条件
例如:
Time=08:00→出发需求Time=08:00\rightarrow出发需求
空间条件
例如:
Location=Airport→登机相关需求Location=Airport\rightarrow登机相关需求
状态条件
例如:
Battery<20%→充电需求Battery<20\%\rightarrow充电需求
环境条件
例如:
Temperature>Tlimit→降温需求Temperature>T_{limit}\rightarrow降温需求
关系条件
例如:
Customer↔ServiceProviderCustomer\leftrightarrow ServiceProvider
满足特定关系以后形成服务需求。
任务条件
例如:
Task=Delivery→配送需求Task=Delivery\rightarrow配送需求
规则条件
例如:
State=Fault∧Rule=RepairRequiredState=Fault\land Rule=RepairRequired
则:
Fault→RepairNeedFault\rightarrow RepairNeed
因此:
状态+条件+规则→需求\boxed{ 状态+条件+规则\rightarrow需求 }
76.7 需求状态
**需求状态(Need State)**是需求自身在其生命周期中的存在状态。
需求不仅有“有”或“没有”两种情况,而可以经历多个阶段。
例如:
未产生
↓
候选
↓
形成
↓
确认
↓
激活
↓
处理中
↓
满足
↓
结束
因此:
NS∈{Candidate,Formed,Confirmed,Active,Processing,Satisfied,Cancelled,Invalid}NS\in \{ Candidate, Formed, Confirmed, Active, Processing, Satisfied, Cancelled, Invalid \}
其中:
Candidate:候选需求;Formed:已经形成;Confirmed:已经确认;Active:当前有效;Processing:正在处理;Satisfied:需求已经满足;Cancelled:需求被取消;Invalid:需求失效。
需求状态变化:
NSt→NSt+1NS_t\rightarrow NS_{t+1}
例如:
Candidate→ConfirmedCandidate\rightarrow Confirmed
或者:
Active→SatisfiedActive\rightarrow Satisfied
也可以:
Active→CancelledActive\rightarrow Cancelled
因此需求本身也是一个动态对象。
76.8 需求优先级
机器个体在同一时间可能存在多个需求。
例如:
安全需求
维修需求
任务需求
通信需求
资源需求
学习需求
服务需求
但是机器通常不能同时以相同强度处理所有需求,因此必须进行需求优先级计算。
设需求集合为:
N={N1,N2,…,Nn}N=\{N_1,N_2,\ldots,N_n\}
则:
Priority(Ni)=f(Urgency,Risk,Importance,Goal,State,Resource,Rule)Priority(N_i)= f( Urgency, Risk, Importance, Goal, State, Resource, Rule )
其中:
- UrgencyUrgency:紧迫程度;
- RiskRisk:风险程度;
- ImportanceImportance:重要程度;
- GoalGoal:相关目标;
- StateState:当前状态;
- ResourceResource:资源条件;
- RuleRule:规则要求。
最终形成:
N∗=argmaxPriority(Ni)N^*=\arg\max Priority(N_i)
即从多个需求中选择当前优先级最高的需求。
例如:
普通任务需求
+
严重安全风险
↓
安全需求优先
因此:
SafetyPriority>MissionPrioritySafetyPriority>MissionPriority
这与ICAI的风险、自我保护和决策理论保持一致。
76.9 需求强度
需求除了优先级,还可以具有强度。
定义需求强度:
IN∈[0,1]I_N\in[0,1]
其中:
- IN=0I_N=0:需求不存在或没有实际作用;
- INI_N 较低:需求较弱;
- INI_N 较高:需求较强;
- IN=1I_N=1:达到当前模型允许的最高需求强度。
需求强度可以由状态差异、风险、时间和目标要求共同计算:
IN=f(ΔS,Risk,Time,Goal)I_N= f( \Delta S, Risk, Time, Goal )
例如:
电量80%
↓
无明显充电需求
电量30%
↓
一般充电需求
电量10%
↓
高强度充电需求
因此:
StateChange→IntensityChangeStateChange\rightarrow IntensityChange
需求强度变化可以进一步影响目标优先级和决策。
76.10 需求类型
根据需求作用不同,可以建立不同需求类型。
1. 维持需求
用于保持当前正常状态。
NormalState→MaintainNeedNormalState\rightarrow MaintainNeed
2. 改变需求
要求当前状态发生改变。
CurrentState→ChangeNeedCurrentState\rightarrow ChangeNeed
3. 获取需求
需要获得对象、资源或信息。
Lack→AcquireNeedLack\rightarrow AcquireNeed
4. 恢复需求
当前状态已经异常,需要恢复。
AbnormalState→RecoveryNeedAbnormalState\rightarrow RecoveryNeed
5. 安全需求
需要降低或者避免风险。
Risk→SafetyNeedRisk\rightarrow SafetyNeed
6. 服务需求
需要服务主体提供服务。
ServiceObject→ServiceNeedServiceObject\rightarrow ServiceNeed
7. 任务需求
来源于任务或业务要求。
Task→TaskNeedTask\rightarrow TaskNeed
8. 学习需求
当前知识、经验或能力不足。
CapabilityGap→LearningNeedCapabilityGap\rightarrow LearningNeed
这些需求最终都可以进入统一的目标形成过程:
Need→GoalNeed\rightarrow Goal
76.11 当前状态与需求
需求的重要来源是当前状态。
设当前状态:
ScS_c
要求状态:
SrS_r
则状态差异:
ΔS=Sr−Sc\Delta S=S_r-S_c
当:
ΔS=0\Delta S=0
说明当前状态已经满足要求,通常不需要产生改变型需求。
当:
ΔS≠0\Delta S\neq0
则可能形成需求。
因此:
CurrentState→StateDifference→NeedCurrentState \rightarrow StateDifference \rightarrow Need
但是:
StateDifference≠NeedStateDifference\neq Need
状态差异只是需求产生的基础,还需要结合条件、规则和知识进行判断。
因此:
StateDifference+Condition+Rule→Need\boxed{ StateDifference+Condition+Rule\rightarrow Need }
76.12 需求变化
需求不是永久固定的。
随着:
对象变化
状态变化
环境变化
关系变化
任务变化
资源变化
目标变化
时间变化
需求也会发生变化。
因此:
Needt→Needt+1Need_t\rightarrow Need_{t+1}
需求变化可以包括:
产生
增强
减弱
改变
暂停
恢复
满足
取消
失效
重新产生
例如:
设备正常
↓
无维修需求
设备异常
↓
维修需求产生
维修进行
↓
维修需求处理中
维修完成
↓
维修需求满足
设备再次异常
↓
新的维修需求产生
形成:
StateChange→NeedChangeStateChange \rightarrow NeedChange
76.13 需求生命周期
需求可以建立统一生命周期:
∅→Candidate→Formed→Confirmed→Active→Processing→Satisfied\boxed{ \varnothing \rightarrow Candidate \rightarrow Formed \rightarrow Confirmed \rightarrow Active \rightarrow Processing \rightarrow Satisfied }
异常情况下:
Active\rightarrowCancelledActive\rightarrowCancelled
或者:
Active\rightarrowInvalidActive\rightarrowInvalid
新的状态变化又可能使:
Satisfied\rightarrowCandidateSatisfied\rightarrowCandidate
从而形成新的需求。
因此,需求生命周期不是一次性过程,而是可以随着机器个体持续运行不断重复。
76.14 需求与认知
需求建立在认知之上。
机器必须首先认识:
对象
↓
属性
↓
状态
↓
关系
↓
场景
↓
知识
然后才能计算需求。
因此:
Cognition→NeedCognition\rightarrow Need
更加完整地表示:
Object→Attribute→State→Relation→Scene→Knowledge→Need\boxed{ Object \rightarrow Attribute \rightarrow State \rightarrow Relation \rightarrow Scene \rightarrow Knowledge \rightarrow Need }
需求不是独立产生的,而是认知结果进一步计算形成的结构。
76.15 需求与目标
需求和目标必须严格区分。
需求:
需要发生什么变化。
目标:
希望最终达到什么状态。
例如:
当前电量低
↓
充电需求
↓
目标:电量恢复到80%
因此:
Need→GoalNeed\rightarrow Goal
目标形成:
Goal=f(Need,State,Condition,Resource)Goal=f(Need,State,Condition,Resource)
所以:
Need≠GoalNeed\neq Goal
但是:
Need→GoalNeed\rightarrow Goal
需求是目标形成的直接基础之一。
76.16 需求与能力
需求本身不能直接产生行为。
机器还必须判断自己是否具有满足需求的能力。
因此:
Need→CapabilityNeed\rightarrow Capability
例如:
维修需求
↓
检查维修能力
↓
具有维修能力
↓
进入维修方法匹配
如果:
Capability=0Capability=0
则机器可能形成:
Need→ResourceRequirementNeed\rightarrow ResourceRequirement
或者:
Need→ExternalServiceRequirementNeed\rightarrow ExternalServiceRequirement
因此:
Need+Capability→MethodNeed+Capability\rightarrow Method
需求是能力匹配的重要输入。
76.17 需求与决策
多个需求同时存在时,需要根据需求优先级、风险、资源和能力进行决策。
因此:
NeedSet+Capability+Risk+Resource→DecisionNeedSet+Capability+Risk+Resource \rightarrow Decision
例如:
安全需求
任务需求
维修需求
机器计算:
Priority(Safety)>Priority(Task)Priority(Safety)>Priority(Task)
则优先处理安全需求。
因此:
Need→Priority→DecisionNeed\rightarrow Priority\rightarrow Decision
需求理论最终参与机器行为选择。
76.18 需求与行为
完整行为链可以表示为:
Need→Goal→Capability→Method→Decision→Behavior→Action→Result\boxed{ Need \rightarrow Goal \rightarrow Capability \rightarrow Method \rightarrow Decision \rightarrow Behavior \rightarrow Action \rightarrow Result }
需求是行为的驱动起点之一。
但需求本身不是行为:
Need≠BehaviorNeed\neq Behavior
也不是动作:
Need≠ActionNeed\neq Action
而是:
Need→Goal→BehaviorNeed\rightarrow Goal\rightarrow Behavior
76.19 需求与反馈
行为执行之后会产生结果。
结果与原需求进行比较,可以判断需求是否满足。
设需求要求状态:
SrS_r
行为后的实际状态:
SaS_a
则:
Sa=SrS_a=S_r
可以判断需求已经满足。
如果:
Sa≠SrS_a\neq S_r
则需求可能继续存在。
因此:
Result→Feedback→NeedStatusResult\rightarrow Feedback\rightarrow NeedStatus
形成:
需求→目标→行为→结果→反馈→需求状态更新\boxed{ 需求 \rightarrow 目标 \rightarrow 行为 \rightarrow 结果 \rightarrow 反馈 \rightarrow 需求状态更新 }
这使需求成为一个闭环结构。
76.20 需求与学习
需求历史可以成为机器个体经验的一部分。
例如:
过去状态
↓
产生需求
↓
选择方法
↓
执行行为
↓
结果
↓
需求是否满足
↓
经验
因此:
Need+Behavior+Result+Feedback→ExperienceNeed+Behavior+Result+Feedback \rightarrow Experience
进一步:
Experience→LearningExperience\rightarrow Learning
学习可以改变以后相同场景下的需求识别和优先级计算。
因此:
Learning→NeedRecognitionChangeLearning\rightarrow NeedRecognitionChange
形成:
历史需求→经验→学习→需求计算更新历史需求 \rightarrow 经验 \rightarrow 学习 \rightarrow 需求计算更新
76.21 需求工程对象模型
理论中的需求必须映射为机器中的结构化对象。
建立:
CognitiveNeed
├── id
├── subject_id
├── object_id
├── type
├── condition
├── state
├── requirement
├── priority
├── intensity
├── status
├── time
└── history
对应PHP对象:
class CognitiveNeed
{
protected $id;
protected $subjectId;
protected $objectId;
protected $type;
protected $condition;
protected $state;
protected $requirement;
protected $priority;
protected $intensity;
protected $status;
protected $time;
protected $history;
public function activate()
{
$this->status = 'active';
}
public function process()
{
$this->status = 'processing';
}
public function satisfy()
{
$this->status = 'satisfied';
}
public function cancel()
{
$this->status = 'cancelled';
}
public function invalidate()
{
$this->status = 'invalid';
}
}
这样,需求从理论概念转化为可以被PHP OOP运行时管理的领域对象。
76.22 需求数据库模型
可以建立:
cognitive_needs
核心字段:
id
subject_id
object_id
need_type
condition
current_state
requirement
priority
intensity
status
created_at
updated_at
同时建立:
cognitive_need_history
用于记录:
need_id
old_state
new_state
old_priority
new_priority
old_intensity
new_intensity
change_reason
created_at
由此形成:
Needt→Needt+1Need_t\rightarrow Need_{t+1}
的持久化结构。
76.23 需求理论在ICAI Runtime中的位置
在完整ICAI Runtime中,需求位于认知系统与目标系统之间。
机器个体
↓
认知元素
↓
对象
↓
属性
↓
状态
↓
关系
↓
场景
↓
知识
↓
需求
↓
目标
↓
能力
↓
匹配
↓
方法
↓
决策
↓
行为
↓
动作
↓
结果
↓
反馈
↓
记忆
↓
经验
↓
学习
↓
知识更新
↓
再次认知
因此:
Cognition→Need→Goal\boxed{ Cognition\rightarrow Need\rightarrow Goal }
需求是机器个体从“认识现实”进入“改变现实”的关键中间结构。
76.24 需求理论统一模型
综合本章,可以建立ICAI需求统一模型:
Need=f(Subject,Object,State,Condition,Requirement,Knowledge,History)\boxed{ Need= f( Subject, Object, State, Condition, Requirement, Knowledge, History ) }
需求产生:
CurrentState+RequiredState+Condition+Rule→Need\boxed{ CurrentState + RequiredState + Condition + Rule \rightarrow Need }
需求优先级:
Priority=f(Urgency,Risk,Importance,Goal,State,Resource,Rule)\boxed{ Priority= f( Urgency, Risk, Importance, Goal, State, Resource, Rule ) }
需求变化:
StateChange+ConditionChange+GoalChange+EnvironmentChange→NeedChange\boxed{ StateChange + ConditionChange + GoalChange + EnvironmentChange \rightarrow NeedChange }
需求闭环:
Need→Goal→Capability→Method→Decision→Behavior→Result→Feedback→NeedUpdate\boxed{ Need \rightarrow Goal \rightarrow Capability \rightarrow Method \rightarrow Decision \rightarrow Behavior \rightarrow Result \rightarrow Feedback \rightarrow NeedUpdate }
76.25 ICAI需求理论完整结构
最终形成:
ICAI需求理论
│
├── 需求定义
│
├── 需求主体
│
├── 需求对象
│
├── 需求条件
│
├── 需求状态
│
├── 需求类型
│
├── 需求优先级
│
├── 需求强度
│
├── 需求生命周期
│
├── 需求变化
│
├── 需求与认知
│
├── 需求与目标
│
├── 需求与能力
│
├── 需求与决策
│
├── 需求与行为
│
├── 需求与反馈
│
└── 需求与学习
统一链条:
认知→需求→目标→能力→方法→决策→行为→结果→反馈→学习→新的认知\boxed{ 认知 \rightarrow 需求 \rightarrow 目标 \rightarrow 能力 \rightarrow 方法 \rightarrow 决策 \rightarrow 行为 \rightarrow 结果 \rightarrow 反馈 \rightarrow 学习 \rightarrow 新的认知 }
76.26 本章总结
第76章建立了ICAI通用核心理论中的需求理论(Need Theory)。
需求不是简单的“想要什么”,而是机器个体根据自身或相关对象的当前状态、要求状态、环境条件、对象关系、知识规则和历史信息,对“需要保持什么、改变什么、获得什么、恢复什么、避免什么或完成什么”形成的结构化要求。
其基本结构为:
Need={Subject,Object,Condition,State,Requirement,Priority,Status,History}\boxed{ Need= \{ Subject, Object, Condition, State, Requirement, Priority, Status, History \} }
其核心产生机制为:
当前状态→状态差异→需求\boxed{ 当前状态 \rightarrow 状态差异 \rightarrow 需求 }
但真正的需求形成还必须结合:
对象+状态+条件+规则+知识→需求\boxed{ 对象+状态+条件+规则+知识\rightarrow需求 }
需求随后进入目标和行为系统:
需求→目标→能力→方法→决策→行为→结果\boxed{ 需求 \rightarrow 目标 \rightarrow 能力 \rightarrow 方法 \rightarrow 决策 \rightarrow 行为 \rightarrow 结果 }
行为结果又反过来影响需求:
结果→反馈→需求状态→需求变化\boxed{ 结果 \rightarrow 反馈 \rightarrow 需求状态 \rightarrow 需求变化 }
因此,ICAI中的需求不是静态变量,而是一个可识别、可确认、可计算、可排序、可变化、可满足、可失效并能够参与持续运行的动态认知对象。
由此,第76章建立了需求理论的基础;下一层“需求识别”则进一步解决:
如何从当前对象、状态、条件和知识中识别出一个真实有效的需求。\boxed{ 如何从当前对象、状态、条件和知识中识别出一个真实有效的需求。 }
这就形成:
第76章 需求理论→第77章 需求识别\boxed{ 第76章\ 需求理论 \rightarrow 第77章\ 需求识别 }
从而使ICAI的:
认知→需求→目标\boxed{ 认知\rightarrow需求\rightarrow目标 }
理论链条得到完整建立。