第69章 属性认知
69.1 属性认知的提出背景
在ICAI通用核心理论中,对象是机器认知的基本实体,而属性是描述对象结构和特征的基本信息单元。
机器确定一个对象之后,还必须进一步回答:
这个对象具有什么特征?
例如,对于一个无人飞机对象,仅仅知道:
对象:UAV001
类型:无人飞机
还不能支持后续认知。机器还需要知道:
重量:5kg
高度:100m
速度:20m/s
电量:80%
温度:35℃
位置:(100,200)
这些信息构成对象的属性。
因此:
对象→属性对象\rightarrow属性
是对象认知向进一步状态认知发展的基础。
属性认知(Attribute Cognition)是指机器个体针对对象的属性进行识别、分类、读取、表示、比较、计算、更新和判断的过程。
其基本过程为:
属性识别→属性分类→属性取值→属性状态→属性变化→属性比较→属性计算属性识别 \rightarrow 属性分类 \rightarrow 属性取值 \rightarrow 属性状态 \rightarrow 属性变化 \rightarrow 属性比较 \rightarrow 属性计算
因此:
属性认知=属性定义+属性类型+属性值+属性状态+属性变化+属性比较+属性计算\boxed{ 属性认知 = 属性定义 + 属性类型 + 属性值 + 属性状态 + 属性变化 + 属性比较 + 属性计算 }
69.2 属性定义
**属性(Attribute)**是描述对象某一特征、参数、结构、能力、条件或可计算信息的数据结构。
对象回答:
“是什么?”
属性回答:
“具有什么特征?”
例如:
对象:Device001
属性:
型号 = D100
重量 = 50kg
功率 = 1000W
温度 = 75℃
状态码 = 2
属性可以表示对象的:
名称
尺寸
重量
颜色
数量
速度
温度
位置
功率
容量
价格
型号
等级
类别
参数
属性基本模型:
A={ID,ObjectID,Name,Type,Value,Unit,Source,Time}A=\{ID,ObjectID,Name,Type,Value,Unit,Source,Time\}
其中:
- AA:属性;
- IDID:属性唯一标识;
- ObjectIDObjectID:属性所属对象;
- NameName:属性名称;
- TypeType:属性类型;
- ValueValue:属性值;
- UnitUnit:属性单位;
- SourceSource:属性来源;
- TimeTime:属性时间。
因此:
Attribute⊂ObjectStructureAttribute\subset ObjectStructure
一个完整对象可以表示为:
O={ID,Type,A,S,R,H}O=\{ID,Type,A,S,R,H\}
其中 AA 就是对象的属性集合。
69.3 属性类型
**属性类型(Attribute Type)**是对属性的数据形式、语义类别和计算方式进行分类的结构。
不同属性具有不同的数据类型。
例如:
姓名 → 字符串
年龄 → 整数
重量 → 浮点数
是否在线 → 布尔值
位置 → 坐标结构
时间 → 时间结构
温度 → 数值+单位
状态 → 枚举
因此可以建立:
AttributeType={String,Integer,Float,Boolean,Enum,DateTime,Coordinate,Object,Collection}AttributeType= \{ String, Integer, Float, Boolean, Enum, DateTime, Coordinate, Object, Collection \}
从认知用途来看,还可以进一步划分:
69.3.1 身份属性
用于描述对象身份。
例如:
ID
编号
序列号
名称
69.3.2 分类属性
用于确定对象属于什么类型。
例如:
设备类型
产品类型
车辆类型
飞机类型
69.3.3 结构属性
用于描述对象组成。
例如:
长度
宽度
高度
部件数量
组件结构
69.3.4 参数属性
用于描述对象的技术或业务参数。
例如:
额定功率
最大速度
容量
价格
重量
69.3.5 动态属性
会随着时间和运行过程发生变化的属性。
例如:
当前位置
当前速度
当前温度
当前电量
当前负载
因此:
AttributeType=StaticAttribute+DynamicAttributeAttributeType= StaticAttribute+DynamicAttribute
属性类型直接影响后续属性的比较和计算方式。
69.4 属性值
**属性值(Attribute Value)**是属性在特定时间和条件下所对应的具体数据。
例如:
属性:重量
属性值:5
单位:kg
或者:
属性:速度
属性值:20
单位:m/s
属性值可以表示为:
V=(Value,Unit,Time,Source)V=(Value,Unit,Time,Source)
其中:
- ValueValue:实际数值或数据;
- UnitUnit:单位;
- TimeTime:获得时间;
- SourceSource:数据来源。
因此完整属性:
A={Name,Type,V}A=\{Name,Type,V\}
例如:
Aspeed={Speed,Float,(20,m/s,t)}A_{speed}= \{Speed,Float,(20,m/s,t)\}
属性值不是永远固定的。
对于动态属性:
Vt≠Vt+1V_t\neq V_{t+1}
例如无人飞机速度:
Speedt=20m/sSpeed_{t}=20m/s
经过加速后:
Speedt+1=25m/sSpeed_{t+1}=25m/s
因此:
属性≠固定常量属性 \neq 固定常量
而是可以成为持续变化的机器数据结构。
69.5 属性状态
属性值描述的是“属性当前是多少”,而属性状态进一步描述:
当前属性值处于什么状态。
例如:
温度 = 85℃
仅仅知道数值85℃还不够。
根据设备规则:
0~60℃:正常
60~80℃:偏高
80℃以上:过热
机器可以进一步得到:
温度值:85℃
温度状态:过热
因此:
AttributeValue→AttributeStateAttributeValue\rightarrow AttributeState
属性状态可以表示为:
AS={Attribute,Value,Condition,State,Time}AS=\{Attribute,Value,Condition,State,Time\}
其中:
- AttributeAttribute:属性;
- ValueValue:属性值;
- ConditionCondition:判断条件;
- StateState:属性状态;
- TimeTime:判断时间。
例如:
Temperature=85Temperature=85
并且:
Temperature>80Temperature>80
则:
State(Temperature)=OverheatState(Temperature)=Overheat
因此:
AttributeState=f(AttributeValue,Condition,Rule)AttributeState=f(AttributeValue,Condition,Rule)
属性状态是属性认知进入状态认知的重要桥梁。
69.6 属性变化
**属性变化(Attribute Change)**是属性值在不同时间或不同条件下发生变化的过程。
基本形式:
At→At+1A_t\rightarrow A_{t+1}
或者:
Vt→Vt+1V_t\rightarrow V_{t+1}
例如:
电量:
80%
↓
75%
↓
70%
↓
65%
机器不仅可以保存当前值,还可以保存属性变化历史:
时间T1:80%
时间T2:75%
时间T3:70%
时间T4:65%
属性变化可以计算:
ΔV=Vt+1−Vt\Delta V=V_{t+1}-V_t
其中:
- ΔV\Delta V:属性变化量;
- VtV_t:当前属性值;
- Vt+1V_{t+1}:下一时刻属性值。
如果:
ΔV>0\Delta V>0
表示属性值增加。
如果:
ΔV<0\Delta V<0
表示属性值减少。
如果:
ΔV=0\Delta V=0
表示属性值没有变化。
进一步可以计算变化率:
Rate=Vt+1−VtΔtRate=\frac{V_{t+1}-V_t}{\Delta t}
其中:
- RateRate:属性变化率;
- Vt+1−VtV_{t+1}-V_t:属性变化量;
- Δt\Delta t:时间间隔。
例如电量从80%下降到70%,经过10分钟:
Rate=70−8010=−1%/minRate=\frac{70-80}{10}=-1\%/min
机器由此可以得到:
电量正在下降
下降速度:1%/分钟
这比单纯保存“当前电量70%”具有更高的认知价值。
69.7 属性比较
**属性比较(Attribute Comparison)**是机器针对两个或多个属性值,根据类型、单位、条件和比较规则进行关系判断的过程。
基本比较:
V1>V2V_1>V_2 V1<V2V_1<V_2 V1=V2V_1=V_2
例如:
设备A温度:70℃
设备B温度:80℃
机器计算:
70<8070<80
得到:
设备A温度低于设备B
属性比较不仅可以进行大小比较,还可以进行:
相等
不等
包含
属于
范围
接近
超过
低于
匹配
不匹配
例如:
V∈[0,100]V\in [0,100]
表示属性值是否处于规定范围。
如果:
V<MinV<Min
则:
低于下限
如果:
V>MaxV>Max
则:
超过上限
如果:
Min≤V≤MaxMin\leq V\leq Max
则:
处于正常范围
因此:
AttributeComparison=ValueComparison+RuleComparison+RangeComparison+RelationComparisonAttributeComparison = ValueComparison + RuleComparison + RangeComparison + RelationComparison
属性比较是属性认知进入规则判断、状态判断和能力匹配的重要计算基础。
69.8 属性计算
**属性计算(Attribute Calculation)**是机器根据一个或多个属性值、规则、公式、条件和历史数据计算新的属性值、属性状态或属性结果的过程。
基本形式:
Vnew=f(V1,V2,⋯ ,Vn)V_{new}=f(V_1,V_2,\cdots,V_n)
其中:
- V1,…,VnV_1,\dots,V_n:输入属性值;
- ff:计算规则;
- VnewV_{new}:计算得到的新属性值。
例如:
长度 = 10m
宽度 = 5m
面积:
Area=Length×WidthArea=Length\times Width
因此:
Area=10×5=50m2Area=10\times5=50m^2
这里:
长度
+
宽度
↓
属性计算
↓
面积
面积并不是直接输入的数据,而是由已有属性计算得到的新属性。
69.9 多属性计算
现实对象通常不是由单一属性决定其状态,而是由多个属性共同参与计算。
例如设备运行状态:
S=f(Temperature,Pressure,Speed,Load)S=f(Temperature,Pressure,Speed,Load)
其中:
- TemperatureTemperature:温度;
- PressurePressure:压力;
- SpeedSpeed:速度;
- LoadLoad:负载;
- SS:计算得到的设备状态。
例如:
温度:85℃
压力:正常
速度:正常
负载:95%
机器可以根据规则计算:
设备状态:高负载运行
因此:
多个属性→综合计算→对象状态多个属性 \rightarrow 综合计算 \rightarrow 对象状态
这说明属性认知不仅是数据读取,还具有结构化计算能力。
69.10 属性与对象状态
属性和状态存在直接关系,但二者不能混为一谈。
例如:
对象:
Device001
属性:
Temperature = 85℃
经过规则:
Temperature>80Temperature>80
得到:
状态:
Overheat
因此:
AttributeValue→Rule→AttributeState→ObjectStateAttributeValue \rightarrow Rule \rightarrow AttributeState \rightarrow ObjectState
可以进一步表示:
ObjectState=f(A1,A2,⋯ ,An,R)ObjectState=f(A_1,A_2,\cdots,A_n,R)
其中:
- A1,…,AnA_1,\dots,A_n:对象属性;
- RR:状态判断规则;
- ObjectStateObjectState:对象状态。
因此:
属性≠状态属性\neq状态
但:
属性→状态属性\rightarrow状态
属性是状态计算的重要输入。
69.11 属性与对象关系
属性还可以参与对象之间的关系判断。
例如:
车辆A速度:80km/h
车辆B速度:60km/h
通过速度属性比较:
80>6080>60
可以进一步得到:
车辆A速度高于车辆B
又例如:
对象A位置:(100,100)
对象B位置:(103,104)
可以根据坐标属性计算距离:
d=(x2−x1)2+(y2−y1)2d=\sqrt{(x_2-x_1)^2+(y_2-y_1)^2}
其中:
- dd:两个对象之间的距离;
- x1,y1x_1,y_1:对象A坐标;
- x2,y2x_2,y_2:对象B坐标。
如果:
d<Thresholdd<Threshold
则可以建立:
对象A
↓
邻近
↓
对象B
因此:
属性→属性计算→关系判断属性 \rightarrow 属性计算 \rightarrow 关系判断
属性不仅描述对象,还能够参与对象关系形成。
69.12 属性认知与知识
属性认知还需要与知识结构结合。
例如机器已有规则:
温度 > 80℃
→ 高温
当前对象属性:
Temperature = 85℃
机器进行属性匹配:
85>8085>80
得到:
TemperatureState=HighTemperatureState=High
因此:
CurrentAttribute+KnowledgeRule→AttributeConclusionCurrentAttribute + KnowledgeRule \rightarrow AttributeConclusion
知识提供规则,属性提供当前数据,计算过程产生认知结果。
因此:
属性认知≠知识属性认知\neq知识
但是:
属性认知+知识→属性判断属性认知+知识 \rightarrow 属性判断
69.13 属性认知的统一模型
属性认知可以统一表示为:
AC=f(O,A,V,S,Δ,C,K,H)AC= f(O,A,V,S,\Delta,C,K,H)
其中:
- ACAC:属性认知结果;
- OO:对象;
- AA:属性;
- VV:属性值;
- SS:属性状态;
- Δ\Delta:属性变化;
- CC:属性比较;
- KK:相关知识;
- HH:属性历史。
基本过程:
Object→Attribute→Value→StateObject \rightarrow Attribute \rightarrow Value \rightarrow State
动态过程:
Valuet→Valuet+1→ChangeValue_t \rightarrow Value_{t+1} \rightarrow Change
比较过程:
Value1+Value2→ComparisonValue_1 + Value_2 \rightarrow Comparison
计算过程:
Value1+Value2+⋯+Valuen→CalculatedValueValue_1+Value_2+\cdots+Value_n \rightarrow CalculatedValue
最终:
属性→属性值→属性状态→属性变化→属性比较→属性计算\boxed{ 属性 \rightarrow 属性值 \rightarrow 属性状态 \rightarrow 属性变化 \rightarrow 属性比较 \rightarrow 属性计算 }
69.14 属性认知工程模型
在ICAI工程中,属性必须从理论结构转换为实际对象。
对应关系:
属性理论
↓
属性数据结构
↓
Attribute Domain Object
↓
Attribute Class
↓
AttributeEngine
↓
AttributeService
↓
AttributeRepository
↓
MySQL
↓
Runtime
属性领域对象可以设计为:
CognitiveAttribute
│
├── id
├── object_id
├── name
├── type
├── value
├── unit
├── source
├── state
├── time
└── history
69.15 PHP OOP属性模型
可以建立独立的属性领域类:
class CognitiveAttribute
{
protected $id;
protected $objectId;
protected $name;
protected $type;
protected $value;
protected $unit;
protected $source;
protected $state;
protected $time;
protected $history;
public function setValue($value)
{
$this->value = $value;
}
public function getValue()
{
return $this->value;
}
public function compare($value)
{
if ($this->value > $value) {
return 'greater';
}
if ($this->value < $value) {
return 'less';
}
return 'equal';
}
public function calculate($operator, $value)
{
switch ($operator) {
case '+':
return $this->value + $value;
case '-':
return $this->value - $value;
case '*':
return $this->value * $value;
case '/':
return $value != 0
? $this->value / $value
: null;
}
return null;
}
}
这个类对应本章中的核心理论:
setValue()
↓
属性值
compare()
↓
属性比较
calculate()
↓
属性计算
69.16 AttributeEngine
属性认知Engine负责属性相关的结构化计算:
AttributeEngine=ValueEngine+StateEngine+ChangeEngine+CompareEngine+CalculateEngineAttributeEngine= ValueEngine + StateEngine + ChangeEngine + CompareEngine + CalculateEngine
运行过程:
对象
↓
读取属性
↓
获取属性值
↓
判断属性状态
↓
读取历史值
↓
计算属性变化
↓
属性比较
↓
属性计算
↓
形成属性认知结果
例如:
对象:
Device001
温度:
75℃
读取历史:
70℃
变化:
+5℃
规则:
>80℃ = 过热
当前状态:
正常
继续运行
当温度变成85℃:
85℃
↓
属性变化 +10℃
↓
属性比较 85>80
↓
属性状态 = 过热
↓
对象状态 = 过热
这就是属性认知进入对象状态认知的实际过程。
69.17 属性数据库模型
属性数据可以独立保存:
cognitive_object_attributes
建议结构:
id
object_id
attribute_name
attribute_type
attribute_value
attribute_unit
attribute_state
source
created_at
updated_at
属性变化可以保存:
cognitive_attribute_history
结构:
id
attribute_id
old_value
new_value
change_value
change_rate
change_time
这样机器可以同时保存:
当前属性当前属性
以及:
属性变化历史属性变化历史
从而形成:
CurrentValue+History\rightarrowAttributeChangeCurrentValue+History\rightarrowAttributeChange
69.18 属性认知Runtime
属性认知进入Runtime后,需要持续执行。
基本过程:
对象进入Runtime
↓
读取对象属性
↓
读取属性值
↓
检查属性类型
↓
检查属性单位
↓
计算属性状态
↓
读取历史属性
↓
计算属性变化
↓
进行属性比较
↓
执行属性计算
↓
形成属性认知结果
↓
更新对象状态
↓
进入关系与场景计算
因此:
ObjectRuntime→AttributeRuntime→StateRuntime→RelationRuntimeObjectRuntime \rightarrow AttributeRuntime \rightarrow StateRuntime \rightarrow RelationRuntime
属性认知是动态机器个体运行中的连续过程,而不是一次性的初始化操作。
69.19 属性认知案例
以一个智能无人飞机为例。
初始属性:
高度 = 100m
速度 = 20m/s
电量 = 80%
温度 = 35℃
经过运行:
高度 = 120m
速度 = 25m/s
电量 = 70%
温度 = 40℃
机器首先计算属性变化:
ΔHeight=120−100=20m\Delta Height=120-100=20m ΔSpeed=25−20=5m/s\Delta Speed=25-20=5m/s ΔBattery=70−80=−10%\Delta Battery=70-80=-10\% ΔTemperature=40−35=5℃\Delta Temperature=40-35=5℃
然后根据属性规则进行判断:
电量下降
温度上升
高度上升
速度上升
如果规则规定:
Battery<20%→LowPowerBattery<20\%\rightarrow LowPower
当前:
70%>20%70\%>20\%
因此:
电量状态:正常
如果后续:
Battery=15%Battery=15\%
则:
15<2015<20
得到:
电量状态:低电量
进一步:
低电量→风险判断→目标调整→方法选择→决策低电量 \rightarrow 风险判断 \rightarrow 目标调整 \rightarrow 方法选择 \rightarrow 决策
由此可以看到,属性认知并不是孤立的数据管理,而是直接参与机器个体后续的认知和行为。
69.20 属性认知与ICAI统一认知链
本章建立的属性认知处于对象认知之后、状态认知之前。
统一关系:
Object→Attribute→State→Relation→Scene→KnowledgeObject \rightarrow Attribute \rightarrow State \rightarrow Relation \rightarrow Scene \rightarrow Knowledge
属性进一步进入目标和行为体系:
Attribute→State→Need→Goal→Capability→Matching→Method→Decision→BehaviorAttribute \rightarrow State \rightarrow Need \rightarrow Goal \rightarrow Capability \rightarrow Matching \rightarrow Method \rightarrow Decision \rightarrow Behavior
因此,一个属性变化可能最终导致机器行为变化。
完整链条:
属性变化→状态变化→需求变化→目标变化→能力匹配变化→方法变化→决策变化→行为变化属性变化 \rightarrow 状态变化 \rightarrow 需求变化 \rightarrow 目标变化 \rightarrow 能力匹配变化 \rightarrow 方法变化 \rightarrow 决策变化 \rightarrow 行为变化
这构成属性认知的真正工程意义。
69.21 属性认知的核心原则
第一,属性从属于对象
Attribute⊂ObjectAttribute\subset Object
属性必须具有明确的所属对象。
第二,属性类型决定计算方式
Calculation=f(AttributeType)Calculation=f(AttributeType)
不同类型的属性不能使用完全相同的计算方式。
第三,属性值可以动态变化
Valuet→Valuet+1Value_t\rightarrow Value_{t+1}
第四,属性状态由规则计算形成
AttributeState=f(Value,Condition,Rule)AttributeState = f(Value,Condition,Rule)
第五,属性可以进行比较
V1 Compare V2V_1\;Compare\;V_2
第六,属性可以产生新的属性
A1+A2+⋯+An→AnewA_1+A_2+\cdots+A_n \rightarrow A_{new}
第七,属性可以参与状态和关系计算
Attribute→StateAttribute \rightarrow State Attribute→RelationAttribute \rightarrow Relation
第八,属性变化必须可以被记录
History={V1,V2,⋯ ,Vn}History= \{V_1,V_2,\cdots,V_n\}
这样机器才能获得属性变化经验。
69.22 本章总结
属性认知是ICAI通用核心理论中连接对象与状态的重要理论。
本章明确:
对象回答“是什么”\boxed{ 对象回答“是什么” } 属性回答“具有什么特征”\boxed{ 属性回答“具有什么特征” }
属性进一步形成:
属性→属性类型→属性值→属性状态→属性变化→属性比较→属性计算\boxed{ 属性 \rightarrow 属性类型 \rightarrow 属性值 \rightarrow 属性状态 \rightarrow 属性变化 \rightarrow 属性比较 \rightarrow 属性计算 }
完整属性模型:
A={ObjectID,Name,Type,Value,Unit,State,Source,Time,History}\boxed{ A= \{ ObjectID, Name, Type, Value, Unit, State, Source, Time, History \} }
属性认知最终形成:
对象→属性→属性值→属性状态→属性变化→属性比较→属性计算→对象状态\boxed{ 对象 \rightarrow 属性 \rightarrow 属性值 \rightarrow 属性状态 \rightarrow 属性变化 \rightarrow 属性比较 \rightarrow 属性计算 \rightarrow 对象状态 }
从ICAI工程角度:
属性理论→属性对象→PHPClass→AttributeEngine→AttributeService→Repository→MySQL→Runtime\boxed{ 属性理论 \rightarrow 属性对象 \rightarrow PHP Class \rightarrow AttributeEngine \rightarrow AttributeService \rightarrow Repository \rightarrow MySQL \rightarrow Runtime }
由此,属性不再只是数据库中的一个字段,而成为ICAI机器个体进行认知、判断、状态计算、关系计算、目标形成、能力匹配和行为决策的重要计算元素。
最终形成:
Object+Attribute+State+Relation→CognitiveStructure\boxed{ Object + Attribute + State + Relation \rightarrow CognitiveStructure }
第68章建立了对象认知,本章建立了属性认知,二者共同构成ICAI机器个体对现实对象进行结构化认知的基础。下一层将进一步进入状态认知,研究对象和属性发生变化后,机器如何形成、识别、比较和计算对象状态。