第68章 对象认知
68.1 对象认知的提出背景
在个体人工智能(Individual Artificial Intelligence,ICAI)中,机器个体不能直接对现实世界进行整体处理。现实世界由大量具有不同类型、属性、状态和关系的对象组成。机器个体必须首先将连续、复杂、变化的现实信息转换为能够被计算机表示和计算的结构化对象,才能进一步进行状态判断、关系计算、场景形成、知识匹配、目标形成、能力匹配、方法选择和行为决策。
因此,对象认知(Object Cognition)是ICAI通用认知理论中的基础环节。
其基本过程可以表示为:
现实信息→对象识别→对象分类→对象实例→对象属性→对象状态→对象关系→对象认知结果现实信息 \rightarrow 对象识别 \rightarrow 对象分类 \rightarrow 对象实例 \rightarrow 对象属性 \rightarrow 对象状态 \rightarrow 对象关系 \rightarrow 对象认知结果
对象认知不是简单地“找到一个东西”,而是建立一个能够进入机器认知系统继续计算的对象结构。
因此:
对象认知=对象识别+对象分类+对象实例化+属性计算+状态计算+关系计算对象认知 = 对象识别 + 对象分类 + 对象实例化 + 属性计算 + 状态计算 + 关系计算
对象认知的最终目的,是把现实中的对象转化为机器内部可以持续保存、匹配、计算和更新的认知对象。
68.2 对象定义
**对象(Object)**是机器认知系统中用于表示现实世界、信息世界或机器内部某一具体实体的基本结构单元。
对象可以是物理实体,也可以是信息实体、事件实体、组织实体、服务实体、设备实体、人员实体、空间实体等。
例如:
人
车辆
道路
无人飞机
设备
订单
客户
产品
企业
地点
任务
故障
事件
均可以被表示为对象。
对象的基本形式为:
O={ID,Type,A,S,R,H}O=\{ID,Type,A,S,R,H\}
其中:
- OO:对象;
- IDID:对象唯一标识;
- TypeType:对象类型;
- AA:对象属性;
- SS:对象状态;
- RR:对象关系;
- HH:对象历史。
因此,一个完整的机器对象并不是一个简单名称,而是:
对象=身份+类型+属性+状态+关系+历史对象 = 身份 + 类型 + 属性 + 状态 + 关系 + 历史
对象具有两个重要特征。
第一,对象具有身份连续性:
IDt=IDt+1ID_t=ID_{t+1}
表示同一个对象在不同时间状态发生变化时,其身份仍然可以保持连续。
第二,对象具有状态变化性:
St≠St+1S_t\neq S_{t+1}
因此:
对象身份≠对象状态对象身份\neq对象状态
对象可以保持不变,而对象状态不断变化。
68.3 对象识别
**对象识别(Object Recognition)**是机器根据输入信息、已有知识、对象规则和对象特征,判断当前信息对应于哪一个对象或哪一类对象的计算过程。
对象识别的基本过程是:
输入信息→特征提取→对象候选→对象匹配→对象确定输入信息 \rightarrow 特征提取 \rightarrow 对象候选 \rightarrow 对象匹配 \rightarrow 对象确定
例如,一个智能无人飞机获得飞行环境中的结构化传感数据:
位置:100,200
速度:20m/s
高度:100m
前方存在障碍
障碍距离:30m
机器并不是直接把这些数据当作一个整体,而是需要进一步形成:
对象1:无人飞机
对象2:障碍物
对象3:飞行空间
然后分别建立对象结构。
对象识别可以表示为:
O∗=Match(Input,K,ObjectRule)O^*= Match(Input,K,ObjectRule)
其中:
- O∗O^*:识别得到的对象;
- InputInput:输入信息;
- KK:已有对象知识;
- ObjectRuleObjectRule:对象识别规则;
- MatchMatch:对象匹配计算。
对象识别的结果不是最终认知结果,而是对象认知的起点。
68.4 对象分类
**对象分类(Object Classification)**是根据对象的共同结构、属性、功能、行为或规则,将对象划分到相应对象类型中的计算过程。
对象分类建立:
对象实例→对象类型对象实例\rightarrow对象类型
例如:
对象:
UAV001
类型:
无人飞机
又例如:
对象:
Device001
类型:
工业设备
对象类型可以建立层次结构:
对象
↓
机器对象
↓
飞行机器
↓
无人飞机
↓
具体无人飞机
对象分类可以表示为:
Type(O)=f(A,O,K,R)Type(O)=f(A,O,K,R)
其中:
- Type(O)Type(O):对象类型;
- AA:对象属性;
- OO:对象自身结构;
- KK:对象分类知识;
- RR:分类规则。
对象分类并不意味着对象被固定为一个永远不变的类别。
在某些情况下,对象类型可以随着对象结构、业务角色或运行状态变化而发生变化:
Typet→Typet+1Type_t\rightarrow Type_{t+1}
但必须区分:
类型变化≠身份变化类型变化\neq身份变化
68.5 对象实例
**对象实例(Object Instance)**是某一对象类型在现实世界或机器世界中的具体对象。
对象类型解决的是:
“这是什么类别?”
对象实例解决的是:
“具体是哪一个?”
例如:
对象类型:无人飞机
对象实例:
UAV001
UAV002
UAV003
虽然三个对象属于相同类型,但它们是三个不同的对象实例:
Type(UAV001)=Type(UAV002)Type(UAV001)=Type(UAV002)
但是:
UAV001≠UAV002UAV001\neq UAV002
对象实例通常具有独立的:
ID
属性
状态
关系
历史
因此:
Instance={ID,Type,A,S,R,H}Instance= \{ID,Type,A,S,R,H\}
对象实例是ICAI建立个体化机器认知的重要基础。
例如,对于两个同型号设备:
Device001
Device002
它们可能拥有相同的:
设备类型
结构类型
功能类型
标准参数
但它们的:
运行时间
当前温度
故障历史
维护历史
工作状态
关联对象
可能完全不同。
因此:
同类型≠同实例同类型\neq同实例 同实例≠同状态同实例\neq同状态
68.6 对象属性
**对象属性(Object Attribute)**是用于描述对象特征、参数、结构或可计算特征的数据。
属性可以表示:
名称
型号
尺寸
重量
速度
温度
位置
容量
价格
颜色
功率
数量
基本模型:
A={Name,Value,Type,Unit,Source,Time}A=\{Name,Value,Type,Unit,Source,Time\}
其中:
- NameName:属性名称;
- ValueValue:属性值;
- TypeType:属性数据类型;
- UnitUnit:单位;
- SourceSource:属性来源;
- TimeTime:属性产生或更新时间。
例如:
对象:
UAV001
属性:
重量 = 5kg
最大速度 = 20m/s
电池容量 = 10000mAh
属性可以分为相对稳定属性和动态属性。
稳定属性:
型号
制造商
结构
额定功率
设计尺寸
动态属性:
当前位置
当前速度
当前温度
当前电量
当前高度
因此:
Attribute=StaticAttribute+DynamicAttributeAttribute=StaticAttribute+DynamicAttribute
动态属性可以随时间变化:
At→At+1A_t\rightarrow A_{t+1}
对象属性为对象状态计算提供基础数据。
68.7 对象状态
**对象状态(Object State)**是对象在某一时间、条件和环境下所处的实际运行状态。
属性描述:
对象具有什么特征。
状态描述:
对象当前处于什么情况。
例如:
对象:
Device001
属性:
额定温度 = 80℃
当前温度 = 85℃
状态:
过热
状态模型:
S={Object,StateType,Value,Condition,Time}S=\{Object,StateType,Value,Condition,Time\}
其中:
- ObjectObject:状态所属对象;
- StateTypeStateType:状态类型;
- ValueValue:状态值;
- ConditionCondition:状态条件;
- TimeTime:状态时间。
对象状态通常具有动态变化:
St→Event→St+1S_t \rightarrow Event \rightarrow S_{t+1}
例如:
正常
↓
温度升高
↓
高温
↓
过热
↓
故障
因此,对象认知不能只保存对象名称和属性,还必须持续计算对象状态。
完整关系为:
Object→Attribute→StateObject \rightarrow Attribute \rightarrow State
68.8 对象关系
**对象关系(Object Relation)**是两个或多个对象之间存在的结构性、功能性、空间性、时间性或业务性联系。
关系基本模型:
R={Subject,Type,Object,Condition,Time}R=\{Subject,Type,Object,Condition,Time\}
其中:
- SubjectSubject:关系主体;
- TypeType:关系类型;
- ObjectObject:关系客体;
- ConditionCondition:关系成立条件;
- TimeTime:关系时间。
例如:
无人飞机
↓
飞行于
↓
空域
可以表示为:
R=(UAV001,FlightIn,Airspace001)R=(UAV001,FlightIn,Airspace001)
又例如:
设备
↓
连接
↓
控制器
表示:
R=(Device001,ConnectedTo,Controller001)R=(Device001,ConnectedTo,Controller001)
对象关系可以包括:
属于
包含
连接
控制
使用
拥有
位于
邻近
服务
依赖
竞争
冲突
协作
关系也具有动态性:
Rt→Rt+1R_t\rightarrow R_{t+1}
例如:
车辆A
↓
跟随
↓
车辆B
随着车辆运动,关系可能变成:
车辆A
↓
远离
↓
车辆B
因此:
关系也是状态化、动态化的认知结构关系也是状态化、动态化的认知结构
68.9 对象认知的统一结构
对象认知并不是独立计算对象、属性、状态和关系,而是将这些结构组合形成完整的对象认知模型。
统一模型:
O={ID,Type,Attribute,State,Relation,History}O= \{ ID, Type, Attribute, State, Relation, History \}
进一步形成:
Object→Attribute→State→Relation→SceneObject \rightarrow Attribute \rightarrow State \rightarrow Relation \rightarrow Scene
对象是认知的基础单元,属性是对象的特征结构,状态是对象的动态结构,关系是对象之间的连接结构,场景则是多个对象及其属性、状态和关系在特定条件下形成的综合结构。
因此:
Scene={O,A,S,R,E,C,T,Space}Scene= \{ O,A,S,R,E,C,T,Space \}
其中:
- OO:对象;
- AA:属性;
- SS:状态;
- RR:关系;
- EE:事件;
- CC:条件;
- TT:时间;
- SpaceSpace:空间。
对象认知最终从单对象计算发展为多对象结构计算。
68.10 对象认知与知识
对象认知和知识并不是同一个概念。
对象认知是当前运行过程中对对象进行识别、分类、计算和组织形成的认知过程。
**知识(Knowledge)**是机器系统中已经保存、组织和可以再次调用的结构化信息。
因此:
Cognition≠KnowledgeCognition\neq Knowledge
但是:
CognitiveResult→KnowledgeCognitiveResult\rightarrow Knowledge
当前对象认知结果可以与已有知识进行匹配:
CurrentObject→KnowledgeMatch→CognitiveConclusionCurrentObject \rightarrow KnowledgeMatch \rightarrow CognitiveConclusion
例如:
当前对象:
Device001
当前状态:
温度85℃
已有知识:
温度>80℃属于高温状态
匹配:
85>80
↓
高温
这里的判断不是依靠语言生成,而是通过对象、属性、状态、规则和数值条件进行结构化计算。
68.11 对象认知与后续认知
对象认知是ICAI通用认知链条的基础。
其完整关系为:
Object→Attribute→State→Relation→Scene→KnowledgeObject \rightarrow Attribute \rightarrow State \rightarrow Relation \rightarrow Scene \rightarrow Knowledge
然后进入目标与行为系统:
Knowledge+State→Need→Goal→Capability→Matching→Method→Decision→Behavior→ActionKnowledge + State \rightarrow Need \rightarrow Goal \rightarrow Capability \rightarrow Matching \rightarrow Method \rightarrow Decision \rightarrow Behavior \rightarrow Action
因此,对象认知并不是孤立模块,而是整个ICAI运行体系的入口之一。
如果对象识别错误:
Objectwrong→Statewrong→Relationwrong→Scenewrong→DecisionwrongObject_{wrong} \rightarrow State_{wrong} \rightarrow Relation_{wrong} \rightarrow Scene_{wrong} \rightarrow Decision_{wrong}
所以:
ObjectRecognition→CognitiveAccuracy→DecisionAccuracyObjectRecognition \rightarrow CognitiveAccuracy \rightarrow DecisionAccuracy
对象认知的准确性直接影响后续认知和行为。
68.12 对象认知的数据结构
在工程中,可以建立统一的对象数据结构:
CognitiveObject
│
├── id
├── type
├── attributes
├── states
├── relations
└── history
属性:
CognitiveAttribute
│
├── name
├── value
├── type
├── unit
├── source
└── time
状态:
CognitiveState
│
├── object_id
├── state_type
├── value
├── condition
└── time
关系:
CognitiveRelation
│
├── subject_id
├── relation_type
├── object_id
├── condition
└── time
这样可以使理论中的:
Object→Attribute→State→RelationObject \rightarrow Attribute \rightarrow State \rightarrow Relation
直接转换为机器可以处理的数据结构。
68.13 对象认知的PHP OOP模型
按照ICAI工程体系,对象认知可以建立对应的PHP领域对象。
class CognitiveObject
{
protected $id;
protected $type;
protected $attributes;
protected $states;
protected $relations;
protected $history;
public function setAttribute($name, $value)
{
$this->attributes[$name] = $value;
}
public function setState($type, $value)
{
$this->states[$type] = $value;
}
public function addRelation($type, $objectId)
{
$this->relations[] = array(
'type' => $type,
'object_id' => $objectId
);
}
public function getState($type)
{
return isset($this->states[$type])
? $this->states[$type]
: null;
}
}
对象认知服务可以进一步建立:
ObjectService
↓
ObjectEngine
↓
CognitiveObject
其中:
ObjectService负责对象认知业务流程;ObjectEngine负责对象识别、分类和对象计算;CognitiveObject负责保存对象结构;Repository负责对象持久化;MySQL负责对象数据保存。
68.14 对象认知Engine
对象认知Engine可以进一步分为:
ObjectCognitionEngine=RecognitionEngine+ClassificationEngine+InstanceEngine+AttributeEngine+StateEngine+RelationEngineObjectCognitionEngine = RecognitionEngine + ClassificationEngine + InstanceEngine + AttributeEngine + StateEngine + RelationEngine
运行过程:
输入
↓
RecognitionEngine
↓
ClassificationEngine
↓
InstanceEngine
↓
AttributeEngine
↓
StateEngine
↓
RelationEngine
↓
Object Cognition Result
其中每个Engine只承担相应的结构化计算职责。
这种设计能够避免把所有认知逻辑集中到一个巨大程序中。
68.15 对象认知数据库模型
对象认知可以对应MySQL数据表:
cognitive_objects
cognitive_object_attributes
cognitive_object_states
cognitive_object_relations
cognitive_object_history
核心对象表:
cognitive_objects
-----------------
id
type
name
status
created_at
updated_at
属性表:
cognitive_object_attributes
---------------------------
id
object_id
attribute_name
attribute_value
attribute_type
unit
source
created_at
状态表:
cognitive_object_states
-----------------------
id
object_id
state_type
state_value
condition
state_time
关系表:
cognitive_object_relations
--------------------------
id
subject_id
relation_type
object_id
condition
relation_time
这样可以将对象认知理论直接转换成数据库结构。
68.16 对象认知Runtime
对象认知进入Runtime后,不再是静态数据,而成为持续运行的计算过程。
基本运行模型:
Input→ObjectRecognition→ObjectClassification→ObjectInstance→AttributeCalculation→StateCalculation→RelationCalculation→SceneFormationInput \rightarrow ObjectRecognition \rightarrow ObjectClassification \rightarrow ObjectInstance \rightarrow AttributeCalculation \rightarrow StateCalculation \rightarrow RelationCalculation \rightarrow SceneFormation
例如一个设备机器个体运行时:
读取设备数据
↓
识别设备对象
↓
确认设备类型
↓
确定设备实例
↓
读取设备属性
↓
计算设备状态
↓
读取关联设备
↓
计算设备关系
↓
形成设备运行场景
↓
进入风险判断
↓
进入目标与决策系统
因此,对象认知Runtime是后续认知、决策和行为Runtime的基础。
68.17 对象认知的统一数学模型
对象认知可以统一表示为:
OC=f(I,O,A,S,R,K,H)OC= f(I,O,A,S,R,K,H)
其中:
- OCOC:对象认知结果;
- II:输入信息;
- OO:对象信息;
- AA:对象属性;
- SS:对象状态;
- RR:对象关系;
- KK:已有知识;
- HH:对象历史。
对象形成:
I→OI\rightarrow O
对象分类:
O→Type(O)O\rightarrow Type(O)
属性计算:
O→AO\rightarrow A
状态计算:
A+Condition+Time→SA+Condition+Time\rightarrow S
关系计算:
Oi+Oj+Condition→RijO_i+O_j+Condition\rightarrow R_{ij}
场景形成:
{O,A,S,R,E,C,T,Space}→Scene\{O,A,S,R,E,C,T,Space\}\rightarrow Scene
最终:
ObjectCognition→SceneCognition→KnowledgeCognition→Goal→Decision→BehaviorObjectCognition \rightarrow SceneCognition \rightarrow KnowledgeCognition \rightarrow Goal \rightarrow Decision \rightarrow Behavior
68.18 对象认知的核心原则
ICAI对象认知遵循以下基本原则。
第一,对象独立性原则。
每一个具体对象都应具有独立身份:
ID1≠ID2ID_1\neq ID_2
第二,类型与实例分离原则。
Type≠InstanceType\neq Instance
对象类型用于描述类别,对象实例用于描述具体个体。
第三,属性与状态分离原则。
Attribute≠StateAttribute\neq State
属性描述对象特征,状态描述对象当前情况。
第四,对象与关系分离原则。
Object≠RelationObject\neq Relation
对象是实体结构,关系是对象之间的连接结构。
第五,静态与动态分离原则。
对象结构可以保持连续,而属性、状态和关系可以持续变化。
IDt=IDt+1ID_t=ID_{t+1}
但:
At≠At+1A_t\neq A_{t+1} St≠St+1S_t\neq S_{t+1} Rt≠Rt+1R_t\neq R_{t+1}
第六,对象认知可计算原则。
对象必须能够被表示、读取、匹配、计算、更新和验证。
因此:
Object→Data→ObjectModel→Calculation→ResultObject \rightarrow Data \rightarrow ObjectModel \rightarrow Calculation \rightarrow Result
68.19 对象认知在ICAI中的位置
对象认知处于ICAI通用核心认知体系的基础位置。
完整结构可以表示为:
ICAI机器个体
↓
对象认知
├── 对象识别
├── 对象分类
├── 对象实例
├── 对象属性
├── 对象状态
└── 对象关系
↓
场景认知
↓
知识认知
↓
需求
↓
目标
↓
能力
↓
匹配
↓
方法
↓
决策
↓
行为
↓
动作
↓
结果
↓
反馈
↓
记忆
↓
经验
↓
学习
↓
更新
因此,对象认知是从“机器个体存在”进入“机器个体开始认识世界”的第一层结构。
68.20 本章总结
对象认知是ICAI通用核心理论的重要基础。
本章建立了统一的对象认知结构:
Object→Attribute→State→Relation→Scene\boxed{ Object \rightarrow Attribute \rightarrow State \rightarrow Relation \rightarrow Scene }
并明确:
对象=身份+类型+属性+状态+关系+历史对象 = 身份 + 类型 + 属性 + 状态 + 关系 + 历史
对象识别解决“是什么”,对象分类解决“属于哪一类”,对象实例解决“具体是哪一个”,对象属性解决“具有哪些特征”,对象状态解决“当前处于什么状态”,对象关系解决“与其他对象存在什么联系”。
最终形成:
对象认知=对象识别+对象分类+对象实例+对象属性+对象状态+对象关系\boxed{ 对象认知 = 对象识别 + 对象分类 + 对象实例 + 对象属性 + 对象状态 + 对象关系 }
进一步进入ICAI完整认知过程:
对象→属性→状态→关系→场景→知识→需求→目标→能力→方法→决策→行为\boxed{ 对象 \rightarrow 属性 \rightarrow 状态 \rightarrow 关系 \rightarrow 场景 \rightarrow 知识 \rightarrow 需求 \rightarrow 目标 \rightarrow 能力 \rightarrow 方法 \rightarrow 决策 \rightarrow 行为 }
由此,对象认知成为ICAI从现实个体建模走向机器认知、机器决策和机器行为的基础结构。
从工程角度看,本章所建立的对象理论必须能够继续映射为:
对象理论→数据结构→DomainObject→PHPClass→ObjectEngine→ObjectService→Repository→MySQL→Runtime对象理论 \rightarrow 数据结构 \rightarrow DomainObject \rightarrow PHPClass \rightarrow ObjectEngine \rightarrow ObjectService \rightarrow Repository \rightarrow MySQL \rightarrow Runtime
这意味着ICAI中的“对象”不是抽象名词,而是一个能够在机器内部被建立、保存、计算、更新和持续运行的实际认知对象。