第14章 个体实例
一、实例定义
**实例(Instance)**是依据某一个体类型的结构定义建立出来的具体个体对象。类型描述一类个体的共同结构,实例则表示这一类型中的一个具体存在对象。
在第13章中:
Type→InstanceType\rightarrow Instance
表示类型向具体实例的形成关系。
例如:
类型:Robot
↓
实例:Robot_001
实例:Robot_002
实例:Robot_003
其中 Robot 是类型,Robot_001、Robot_002、Robot_003 是具体实例。
因此:
Instance∈TypeInstance\in Type
或者:
Ii:TypeI_i:Type
但是,实例不能简单理解为类型的复制。
实例是在类型结构基础上形成的一个具有自身身份、属性、状态、关系、知识、能力和历史的具体个体。
可以表示为:
Instance=TypeStructure+IndividualStructureInstance= TypeStructure+ IndividualStructure
完整的个体实例可以表示为:
Ii={ID,T,O,A,S,R,K,M,E,G,C,Md,B,H}I_i= \{ID,T,O,A,S,R,K,M,E,G,C,Md,B,H\}
其中:
- IDID:实例身份;
- TT:所属类型;
- OO:内部对象;
- AA:实例属性;
- SS:实例状态;
- RR:实例关系;
- KK:实例知识;
- MM:实例记忆;
- EE:实例经验;
- GG:实例目标;
- CC:实例能力;
- MdMd:实例方法;
- BB:实例行为;
- HH:实例历史。
因此:
实例是类型结构在具体个体上的实际存在形式,是从抽象类型进入具体个体的结构转换。
二、类型与实例
类型和实例是ICAI个体结构中的基础关系。
类型表示:
Type=GeneralStructureType=GeneralStructure
实例表示:
Instance=SpecificIndividualInstance=SpecificIndividual
二者关系可以表示为:
Type→InstanceType\rightarrow Instance
例如:
工业设备类型
↓
设备实例
↓
┌──────┼──────┐
↓ ↓ ↓
设备001 设备002 设备003
三个设备实例可以拥有相同的类型:
T(I1)=T(I2)=T(I3)T(I_1)=T(I_2)=T(I_3)
但三个实例的身份不同:
ID(I1)≠ID(I2)≠ID(I3)ID(I_1)\neq ID(I_2)\neq ID(I_3)
同时,它们的具体属性、状态、关系和经验也可能不同:
A(I1)≠A(I2)A(I_1)\neq A(I_2) S(I1)≠S(I2)S(I_1)\neq S(I_2) E(I1)≠E(I2)E(I_1)\neq E(I_2)
因此:
SameType≠SameInstanceSameType\neq SameInstance
类型主要提供共同结构,实例主要体现个体差异。
可以进一步表示为:
Instancei=Type+ΔiInstance_i= Type+\Delta_i
其中:
- TypeType:类型共同结构;
- Δi\Delta_i:第 ii 个实例的个体差异。
因此,即使两个实例属于同一类型,它们仍然可以形成不同的机器个体。
三、实例属性
**实例属性(Instance Attribute)**是描述某一个具体实例实际特征的数据。
类型定义的是属性结构:
AT={A1,A2,⋯ ,An}A_T=\{A_1,A_2,\cdots,A_n\}
实例则产生具体属性值:
AI={a1,a2,⋯ ,an}A_I=\{a_1,a_2,\cdots,a_n\}
例如机器人类型规定:
型号
重量
负载
传感器
执行器
具体机器人实例:
ROBOT_001
型号 = R100
重量 = 50kg
负载 = 20kg
传感器 = Camera
执行器 = Motor
因此:
TypeAttribute→InstanceAttributeTypeAttribute\rightarrow InstanceAttribute
但是实例属性具有个体性。
例如:
Weight(Robot001)=50kgWeight(Robot_001)=50kg
而:
Weight(Robot002)=65kgWeight(Robot_002)=65kg
所以:
A(Robot001)≠A(Robot002)A(Robot_001)\neq A(Robot_002)
实例属性可以继续作为状态判断、能力判断和行为决策的输入:
Attribute→StateAttribute \rightarrow State Attribute→CapabilityAttribute \rightarrow Capability Attribute→DecisionAttribute \rightarrow Decision
因此,实例属性是机器个体形成具体差异的重要数据基础。
四、实例状态
**实例状态(Instance State)**表示具体实例在某一时刻所处的实际状态。
类型可以定义允许存在的状态范围:
StateType={Running,Stop,Fault,Maintenance}StateType=\{Running,Stop,Fault,Maintenance\}
而具体实例具有当前状态:
S(I,t)=RunningS(I,t)=Running
例如:
设备001 → 运行
设备002 → 停止
设备003 → 故障
即:
S(I1,t)=RunningS(I_1,t)=Running S(I2,t)=StopS(I_2,t)=Stop S(I3,t)=FaultS(I_3,t)=Fault
因此:
SameType⇏SameStateSameType\not\Rightarrow SameState
实例状态具有明显的时间特征:
St→St+1S_t\rightarrow S_{t+1}
例如:
运行
↓
异常
↓
故障
↓
维修
↓
恢复
↓
运行
可以表示为:
St+1=f(St,Input,Event,Behavior,Feedback)S_{t+1}=f(S_t,Input,Event,Behavior,Feedback)
实例状态还会直接影响个体能力和行为:
AvailableCapability=f(C,S)AvailableCapability=f(C,S)
以及:
Behavior=f(G,C,Md,S,Condition)Behavior=f(G,C,Md,S,Condition)
因此,实例状态是机器个体动态运行的重要基础。
五、实例关系
实例不是孤立存在的。
**实例关系(Instance Relation)**表示具体实例与其他实例、对象或者环境之间的联系。
关系可以表示为:
R=(Subject,Type,Object)R=(Subject,Type,Object)
例如:
Robot001→属于→Factory001Robot_{001}\rightarrow属于\rightarrow Factory_{001} Robot001→操作→Device003Robot_{001}\rightarrow操作\rightarrow Device_{003} Device003→位于→Workshop002Device_{003}\rightarrow位于\rightarrow Workshop_{002}
因此:
Factory_001
↓
Workshop_001
↓
Device_001
↓
Robot_001
这些关系共同形成实例所在的局部世界。
实例关系也可以发生变化:
Rt→Rt+1R_t\rightarrow R_{t+1}
例如机器人从一个工作站移动到另一个工作站:
Robot→StationARobot\rightarrow Station_A
变化为:
Robot→StationBRobot\rightarrow Station_B
因此:
Relationt≠Relationt+1Relation_t\neq Relation_{t+1}
实例关系同时也是个体认知的重要输入:
Object→Relation→Scene→CognitionObject \rightarrow Relation \rightarrow Scene \rightarrow Cognition
所以,实例不仅需要知道“自己是什么”,还需要知道:
自己与谁有什么关系。
六、实例知识
**实例知识(Instance Knowledge)**是与某一个具体个体直接相关的知识集合。
类型知识可以描述一类个体的一般知识:
KTK_T
实例知识则描述具体个体:
KIK_I
例如某种设备类型可能具有:
设备操作规则
设备维修规则
设备安全规则
而设备 DEVICE_001 还可能拥有:
DEVICE_001维修记录
DEVICE_001故障经验
DEVICE_001历史状态
DEVICE_001特殊配置
DEVICE_001操作方法
因此:
KI=KT+KspecificK_I=K_T+K_{specific}
其中:
- KTK_T:类型知识;
- KspecificK_{specific}:实例特有知识。
实例知识可以通过运行不断增加:
Kt→Kt+1K_t\rightarrow K_{t+1}
其来源包括:
Experience→KnowledgeExperience\rightarrow Knowledge Feedback→KnowledgeFeedback\rightarrow Knowledge Learning→KnowledgeLearning\rightarrow Knowledge
因此,一个实例的知识结构会随着运行过程不断发展。
这也是ICAI与单纯静态对象模型的重要区别。
七、实例能力
**实例能力(Instance Capability)**是具体个体在自身知识、经验、目标、状态、方法和资源条件下能够实际执行的能力。
类型可以提供能力基础:
CTC_T
实例实际能力为:
CI=f(CT,K,E,G,S,Md,R)C_I=f(C_T,K,E,G,S,Md,R)
其中:
- CTC_T:类型能力;
- KK:实例知识;
- EE:实例经验;
- GG:实例目标;
- SS:实例状态;
- MdMd:实例方法;
- RR:资源和关系条件。
例如同属于“机器人”类型:
Robot_001
├── 移动
├── 抓取
└── 搬运
Robot_002
├── 移动
├── 抓取
├── 搬运
└── 焊接
因此:
Capability(Robot001)≠Capability(Robot002)Capability(Robot_001)\neq Capability(Robot_002)
能力还可能随着实例状态发生变化。
例如:
S=Normal⇒C=AvailableS=Normal \Rightarrow C=Available
而:
S=Fault⇒C=ReducedS=Fault \Rightarrow C=Reduced
因此:
Capabilityt→Capabilityt+1Capability_t\rightarrow Capability_{t+1}
实例能力并不是固定的程序功能,而是实例自身结构在特定条件下形成的实际能力。
八、实例生命周期
**实例生命周期(Instance Lifecycle)**是一个实例从建立、初始化、运行、变化、维护到终止的完整存在过程。
基本生命周期可以表示为:
创建
↓
初始化
↓
激活
↓
运行
↓
状态变化
↓
行为
↓
反馈
↓
维护
↓
持续运行
↓
终止
可以形式化表示为:
I0→I1→I2→⋯→InI_0\rightarrow I_1\rightarrow I_2\rightarrow\cdots\rightarrow I_n
每一个时刻:
It={ID,T,O,A,S,R,K,M,E,G,C,Md,B,H}I_t=\{ID,T,O,A,S,R,K,M,E,G,C,Md,B,H\}
实例运行过程中:
Statet→Statet+1State_t\rightarrow State_{t+1} Knowledget→Knowledget+1Knowledge_t\rightarrow Knowledge_{t+1} Experiencet→Experiencet+1Experience_t\rightarrow Experience_{t+1} Capabilityt→Capabilityt+1Capability_t\rightarrow Capability_{t+1}
因此实例是动态对象,而不是一次性创建后永久不变的静态数据。
生命周期可以进一步划分为:
1. 创建阶段
Type→InstanceType\rightarrow Instance
2. 初始化阶段
Instance→InitialStateInstance\rightarrow InitialState
3. 运行阶段
Input→Cognition→Decision→BehaviorInput\rightarrow Cognition\rightarrow Decision\rightarrow Behavior
4. 更新阶段
Feedback→StateUpdateFeedback\rightarrow StateUpdate
5. 学习阶段
Experience→Knowledge→CapabilityExperience\rightarrow Knowledge\rightarrow Capability
6. 维护阶段
Detection→Protection/RepairDetection\rightarrow Protection/Repair
7. 终止阶段
Active→TerminatedActive\rightarrow Terminated
这构成实例的完整生命周期。
九、实例数据库
实例必须能够在数据库中被持久化保存。
最基本的数据表为:
individuals
或者建立专门的实例表:
individual_instances
例如:
CREATE TABLE individual_instances (
id INT NOT NULL AUTO_INCREMENT,
individual_id INT NOT NULL,
type_id INT NOT NULL,
instance_code VARCHAR(100) NOT NULL,
instance_name VARCHAR(255) DEFAULT NULL,
instance_status VARCHAR(30) DEFAULT 'active',
created_at DATETIME NOT NULL,
updated_at DATETIME NOT NULL,
PRIMARY KEY (id),
UNIQUE KEY uk_instance_code (instance_code)
);
其中:
individual_id:个体身份;type_id:所属类型;instance_code:实例编号;instance_name:实例名称;instance_status:实例当前状态。
实例相关数据继续关联:
individual_instances
│
├── individual_attributes
├── individual_states
├── individual_relations
├── individual_knowledge
├── individual_memory
├── individual_experience
├── individual_goals
├── individual_capabilities
├── individual_methods
├── individual_behaviors
└── individual_history
因此:
InstanceID→InstanceDataInstanceID \rightarrow InstanceData
数据库中的实例不是孤立记录,而是整个机器个体数据结构的中心。
十、Instance Class
在面向对象工程中,实例通常由Class进行创建。
理论关系:
Type→InstanceType\rightarrow Instance
工程关系:
Type→Class→ObjectType \rightarrow Class \rightarrow Object
例如:
class Individual
{
protected $id;
protected $type;
protected $attributes;
protected $states;
protected $relations;
}
建立具体类型:
class Robot extends Individual
{
protected $sensors;
protected $actuators;
protected $movementRange;
}
实例化:
$robot = new Robot();
再建立具体身份:
$robot->setId('ROBOT_001');
最终形成:
Robot Type
↓
Robot Class
↓
Robot Instance
↓
ROBOT_001
↓
Machine Individual
因此:
Class→InstanceClass\rightarrow Instance
而:
Instance→MachineIndividualInstance\rightarrow MachineIndividual
实例还可以通过Service进行管理:
Instance
↓
IndividualService
↓
IndividualEngine
↓
IndividualRepository
↓
MySQL
实例创建过程可以表示为:
Create(Type,Identity)→InstanceCreate(Type,Identity) \rightarrow Instance
初始化过程:
Initialize(Instance)→InitialStateInitialize(Instance) \rightarrow InitialState
加载过程:
Load(InstanceID)→InstanceDataLoad(InstanceID) \rightarrow InstanceData
更新过程:
Update(InstanceID,Data)→Instancet+1Update(InstanceID,Data) \rightarrow Instance_{t+1}
这样,类型理论就能够真正进入机器个体运行系统。
十一、实例的统一模型
综合本章内容,可以将ICAI中的个体实例定义为:
Ii={ID,T,O,A,S,R,K,M,E,G,C,Md,B,H}\boxed{ I_i= \{ID,T,O,A,S,R,K,M,E,G,C,Md,B,H\} }
其中:
IDID
确定具体实例;
TT
确定实例所属类型;
O,A,S,RO,A,S,R
构成实例的现实结构;
K,M,EK,M,E
构成实例的知识、记忆和经验;
G,C,MdG,C,Md
构成实例的目标、能力和方法;
B,HB,H
表示实例的行为和历史。
实例形成过程:
Type→Instance→MachineIndividualType \rightarrow Instance \rightarrow MachineIndividual
实例运行过程:
Instancet→Cognitiont→Decisiont→Behaviort→Feedbackt→Learningt→Instancet+1Instance_t \rightarrow Cognition_t \rightarrow Decision_t \rightarrow Behavior_t \rightarrow Feedback_t \rightarrow Learning_t \rightarrow Instance_{t+1}
实例差异可以表示为:
I1−I2=ΔID+ΔA+ΔS+ΔR+ΔK+ΔE+ΔC+ΔBI_1-I_2= \Delta ID+\Delta A+\Delta S+\Delta R+\Delta K+\Delta E+\Delta C+\Delta B
这意味着,即使两个实例属于相同类型,也不意味着它们在机器世界中具有相同的认知结构和运行能力。
十二、本章小结
本章对“个体实例”进行了系统定义。
实例是类型向具体个体的实际转换:
Type→InstanceType\rightarrow Instance
类型描述共同结构,实例描述具体存在。
二者区别可以概括为:
| 概念 | 主要作用 |
|---|---|
| 类型 | 定义共同结构 |
| 实例 | 表示具体个体 |
| 身份 | 确定具体是谁 |
| 属性 | 描述具体特征 |
| 状态 | 描述当前情况 |
| 关系 | 描述外部和内部联系 |
| 知识 | 描述个体掌握的信息结构 |
| 能力 | 描述个体实际能够完成什么 |
| 生命周期 | 描述个体从产生到终止的过程 |
实例的核心结构为:
Instance=TypeStructure+IndividualStructureInstance= TypeStructure+ IndividualStructure
实例的核心动态过程为:
Instancet→Statet→Behaviort→Feedbackt→Learningt→Instancet+1Instance_t \rightarrow State_t \rightarrow Behavior_t \rightarrow Feedback_t \rightarrow Learning_t \rightarrow Instance_{t+1}
工程实现过程为:
Type→PHPClass→Instance→Identity→MySQL→RuntimeType \rightarrow PHPClass \rightarrow Instance \rightarrow Identity \rightarrow MySQL \rightarrow Runtime
因此,本章最终建立了ICAI中一个非常重要的基础关系:
Type→Instance→Individual→MachineIndividual\boxed{ Type\rightarrow Instance\rightarrow Individual\rightarrow MachineIndividual }
其中类型提供共同结构,实例形成具体对象,身份确定具体个体,个体结构承载属性、状态、关系、知识、能力和行为,最终形成可以持续运行的机器个体。
本章的核心结论是:
个体实例是个体类型在具体对象上的实际存在形式。类型规定共同结构和基本能力范围,实例则拥有独立身份、具体属性、当前状态、实际关系、个体知识、经验和能力,并在生命周期中持续产生行为、反馈和变化。ICAI通过实例将抽象的个体类型转化为能够被计算机实际表示、存储、管理和运行的具体机器个体。