第二十章 感知元素结构与对象认知理论
Perception Element Structure and Object Cognition Theory
第十九章建立了感知元素组合理论,解决了多个感知元素如何通过对象、空间、时间、状态、关系和上下文形成更高层次结构的问题。
但是,组合之后还存在一个更加基础的问题:
组合出来的结构究竟如何成为一个可以被系统持续识别、管理、更新、记忆和调用的“认知对象”?
如果没有统一的对象结构,感知元素只能停留在:
Element
+
Element
+
Element
这种离散状态。
而 WSaiOS 最终需要形成:
多个感知元素
↓
对象结构
↓
对象身份
↓
对象属性
↓
对象状态
↓
对象关系
↓
对象行为
↓
对象历史
↓
对象认知
因此,本章建立:
感知元素结构与对象认知理论。
本章重点研究:
- 感知元素如何形成对象;
- 对象身份如何建立;
- 对象属性如何组织;
- 对象状态如何持续更新;
- 对象与空间、时间、关系如何关联;
- 对象如何形成行为;
- 对象如何进入记忆;
- 对象如何成为 Cognitive Kernel 的基本认知单位;
- 以及 MVC、Smarty、PHP OOP 下的工程实现。
20.1 对象认知基本概念
Basic Concept of Object Cognition
传统程序中的对象通常表示:
Object
并通过:
Properties
Methods
描述。
例如:
class Robot
{
public $id;
public $name;
public $state;
public function move()
{
}
}
这种对象主要解决:
程序如何管理一个实体。
而 WSaiOS 的对象需要进一步解决:
系统如何认识一个现实实体。
因此,WSaiOS 对象不是简单的 PHP Object。
而是:
现实对象
↓
感知元素
↓
对象识别
↓
对象结构
↓
对象状态
↓
对象关系
↓
对象历史
↓
对象认知
20.2 感知元素与对象的关系
单个感知元素通常只能描述局部事实。
例如:
Color = Red
不能确定完整对象。
又例如:
Position = (10,20)
也不能确定是什么对象。
如果同时得到:
Shape = Circle
Color = Red
Position = (10,20)
Motion = Moving
系统可以逐渐形成:
Object Candidate
然后经过元素关联:
Shape
+
Color
+
Position
+
Motion
↓
Object
因此:
对象是多个相互关联的感知元素在统一身份约束下形成的认知结构。
20.3 对象元素理论
WSaiOS 将对象本身定义为一种高层认知元素:
Object Element
基本结构:
ObjectElement
{
ID
Type
Identity
Attributes
Space
Time
State
Relations
Events
Behavior
History
}
对象因此不再是单一属性。
而是:
Object
│
├── Identity
├── Attributes
├── Space
├── Time
├── State
├── Relations
├── Events
├── Behavior
└── History
形成:
对象认知结构。
20.4 对象身份元素
Object Identity Element
对象认知的第一个问题是:
这个对象是谁?
例如:
Robot_001
与:
Robot_002
必须区分。
对象身份可以包含:
Object ID
Object Type
Identity Key
Source
Recognition Time
模型:
ObjectIdentity
{
id
type
key
source
createdAt
}
对象身份的作用是:
多个感知元素
↓
Identity Matching
↓
同一个对象
否则系统可能将:
Person
Position
State
错误地分配给不同对象。
20.5 对象类型元素
对象除了身份,还需要类型。
例如:
Person
Robot
Machine
Vehicle
Building
Product
对象类型决定系统可以使用哪些认知规则。
例如:
Person
可以具有:
Walking
Sitting
Working
而:
Machine
可能具有:
Running
Stopped
Failure
Maintenance
因此:
Object Type
↓
Type Rules
↓
State Model
↓
Behavior Model
20.6 对象属性结构
对象属性描述:
对象具有哪些特征。
例如:
Robot
Weight = 50kg
Power = 500W
Height = 1.2m
Model = R001
属性模型:
ObjectAttribute
{
name
value
type
source
timestamp
}
属性并不是永恒不变。
例如:
Battery = 100%
经过时间变化:
Battery = 70%
因此属性也可以具有:
CurrentValue
PreviousValue
History
20.7 对象空间结构
对象必须能够被定位。
因此:
Object
↓
Space
空间结构可以包含:
Position
Direction
Region
Distance
Topology
例如:
Robot_001
Position:
(10,20,5)
Region:
Factory_A
Direction:
North
形成:
ObjectSpatialStructure
对象空间结构使系统能够回答:
对象在哪里?
以及:
对象与其他对象在哪里存在关系?
20.8 对象时间结构
对象不仅存在于空间。
还存在于时间。
例如:
Robot Created
10:00
Robot Started
10:05
Robot Moving
10:10
Robot Stopped
10:30
因此:
Object
+
Time
↓
Object Timeline
时间结构:
ObjectTime
{
createdAt
updatedAt
startTime
endTime
duration
sequence
}
对象时间结构最终能够形成:
Object History
20.9 对象状态结构
对象状态描述:
对象当前怎么样。
例如:
Robot
State = Moving
但完整状态可能是:
Power = ON
Motion = Moving
Battery = 70%
Temperature = Normal
Mode = Auto
因此:
Object State
=
多个 State Elements
形成:
State Structure
对象状态结构可以进一步进入:
StateAnalyzer
分析:
Current State
Previous State
State Change
State Trend
20.10 对象关系结构
对象不是孤立存在。
例如:
Robot
Near
Machine
或者:
Person
Uses
Computer
关系模型:
ObjectRelation
{
sourceObject
relationType
targetObject
time
space
state
}
多个关系可以形成:
Object Relationship Graph
例如:
Person
│
Uses
↓
Computer
│
On
↓
Desk
20.11 对象事件结构
对象会产生事件。
例如:
RobotStarted
RobotMoved
RobotStopped
RobotFailed
因此:
Object
↓
Events
形成:
Object Event History
事件不只是对象属性。
它描述:
对象发生过什么。
例如:
Current State:
Stopped
只能表示当前情况。
而:
RobotStopped
10:30
表示一个历史事实。
20.12 对象行为结构
多个事件可以进一步形成行为。
例如:
RobotStarted
↓
RobotMoved
↓
RobotStopped
形成:
RobotMovementBehavior
因此:
Object
↓
Event Sequence
↓
Behavior
对象行为结构:
ObjectBehavior
{
actions
events
states
sequence
pattern
}
20.13 对象历史结构
对象认知不能只保存当前状态。
还必须保存历史。
例如:
Robot
10:00 Idle
10:05 Moving
10:20 Working
10:30 Stopped
形成:
Object History
对象历史可以包含:
State History
Event History
Position History
Behavior History
Relation History
因此:
Object
+
History
↓
Temporal Cognitive Object
20.14 对象认知结构
前面的所有结构最终可以统一:
Object Cognition
{
Identity
Type
Attributes
Space
Time
State
Relations
Events
Behavior
History
Meaning
}
形成:
Identity
+
Attribute
+
Space
+
Time
+
State
+
Relation
+
Event
+
Behavior
+
History
↓
Object Cognition
20.15 对象认知与现实对象
WSaiOS 并不要求:
系统内部对象 = 现实对象本身。
更严格的定义是:
WSaiOS 对象认知,是系统依据感知元素对现实对象建立的可计算认知表示。
因此:
Reality Object
↓
Perception
↓
Perception Elements
↓
Object Model
↓
Object Cognition
这避免了:
把数据模型错误地等同于现实本体。
WSaiOS 建立的是:
Computable Representation
即:
可计算对象表示。
20.16 对象认知更新机制
对象不是一次创建以后永远不变。
随着新的感知元素进入:
New Perception
↓
Object Matching
↓
Existing Object?
↓
Yes
↓
Update Object
例如:
第一次:
Robot_001
State = Idle
后来感知:
Motion = Moving
系统更新:
Robot_001
State = Moving
并记录:
Idle
↓
Moving
形成状态变化。
20.17 ObjectMatcher
工程上可以建立:
class ObjectMatcher
{
public function match($element, $objects)
{
// Identity
// Type
// Spatial
// Temporal
// Attribute
// Relation
}
}
职责:
Perception Element
↓
ObjectMatcher
↓
Existing Object
或者:
No Match
↓
Create Object
20.18 ObjectBuilder
对象创建由独立 Builder 负责。
class ObjectBuilder
{
public function build(array $elements)
{
$object = new ObjectElement();
foreach ($elements as $element) {
$object->addElement($element);
}
return $object;
}
}
形成:
Elements
↓
ObjectBuilder
↓
ObjectElement
20.19 ObjectAnalyzer
ObjectAnalyzer 负责:
Identity
Type
Attributes
State
Relations
Meaning
分析。
例如:
class ObjectAnalyzer
{
public function analyze($object)
{
// Identity analysis
// Attribute analysis
// State analysis
// Relation analysis
// Meaning analysis
return $object;
}
}
因此:
Builder
负责:
构建。
而:
Analyzer
负责:
理解。
20.20 ObjectService
建立统一对象服务:
class ObjectService
{
protected $matcher;
protected $builder;
protected $analyzer;
public function process(array $elements)
{
$object = $this->matcher->find($elements);
if (!$object) {
$object = $this->builder->build($elements);
}
return $this->analyzer->analyze($object);
}
}
整体:
Perception Elements
↓
ObjectService
↓
ObjectMatcher
↓
ObjectBuilder
↓
ObjectAnalyzer
↓
Object Cognition
20.21 对象认知与方法
对象拥有方法。
但是 WSaiOS 必须区分:
Object Method
与:
Cognitive Method
例如:
$robot->move();
属于:
对象行为方法。
而:
$analyzer->analyze($robot);
属于:
认知分析方法。
两者职责不同。
因此:
Object
├── Domain Methods
│
└── Cognitive Representation
而:
Analyzer
Builder
Service
负责对象的认知处理。
20.22 对象与事件系统连接
第十八章建立:
Method
↓
State Change
↓
Event
第二十章将事件归属于对象:
Object
↓
State
↓
Method
↓
State Change
↓
Event
例如:
Robot
State = Idle
执行:
start()
状态:
Idle
↓
Running
事件:
RobotStarted
因此:
Object
↓
Method
↓
State
↓
Event
20.23 对象与感知元素组合
第十九章:
Elements
↓
Combination
第二十章进一步:
Combination
↓
Object
完整关系:
Perception Elements
↓
Fusion
↓
Association
↓
Combination
↓
Object Structure
↓
Object Cognition
因此:
对象是感知元素组合之后的重要认知载体。
20.24 对象与场景
多个对象可以组成场景。
例如:
Person
Computer
Desk
Chair
Office
每个对象都有自己的:
Identity
State
Space
Relations
然后通过关系组合:
Office Scene
因此:
Object
+
Object
+
Relation
+
Space
+
Time
↓
Scene
20.25 对象与行为
行为发生在对象身上。
例如:
Person
产生:
Walk
Enter
Sit
Work
而:
Machine
产生:
Start
Run
Stop
Failure
因此:
Object Type
↓
Possible Behavior
对象类型成为行为认知的重要约束。
20.26 对象与记忆
对象是 Memory System 的重要索引。
例如:
Object:
Robot_001
对应:
Object History
包含:
Past States
Past Events
Past Positions
Past Behaviors
Past Relations
形成:
Object Memory
因此:
Object
↓
History
↓
Memory
↓
Experience
20.27 对象认知数据库
可以建立对象主表:
CREATE TABLE cognitive_objects (
id INT AUTO_INCREMENT PRIMARY KEY,
object_id VARCHAR(100) NOT NULL,
object_type VARCHAR(100),
identity_key VARCHAR(255),
current_state VARCHAR(100),
current_space VARCHAR(255),
meaning VARCHAR(255),
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);
对象属性:
CREATE TABLE cognitive_object_attributes (
id INT AUTO_INCREMENT PRIMARY KEY,
object_id VARCHAR(100),
attribute_name VARCHAR(100),
attribute_value TEXT,
attribute_type VARCHAR(50),
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);
对象关系:
CREATE TABLE cognitive_object_relations (
id INT AUTO_INCREMENT PRIMARY KEY,
source_object_id VARCHAR(100),
relation_type VARCHAR(100),
target_object_id VARCHAR(100),
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);
形成:
Object
├── Attributes
├── Relations
├── State
├── Events
└── History
20.28 MVC 工程结构
WSaiOS 对象认知模块可以设计为:
object/
│
├── controllers/
│ └── ObjectController.php
│
├── models/
│ ├── ObjectElement.php
│ ├── ObjectIdentity.php
│ ├── ObjectAttribute.php
│ ├── ObjectState.php
│ ├── ObjectRelation.php
│ └── ObjectHistory.php
│
├── services/
│ ├── ObjectService.php
│ ├── ObjectMatcher.php
│ ├── ObjectBuilder.php
│ └── ObjectAnalyzer.php
│
├── repositories/
│ └── ObjectRepository.php
│
└── views/
└── object.tpl
形成:
Controller
↓
ObjectService
↓
Matcher
↓
Builder
↓
Analyzer
↓
Repository
↓
Database
↓
Smarty
20.29 Smarty 对象认知展示
Controller:
$object = $objectService->process($elements);
$smarty->assign(
'object',
$object
);
$smarty->display(
'object.tpl'
);
Smarty:
<h2>对象认知</h2>
<p>对象:{$object.objectId}</p>
<p>类型:{$object.type}</p>
<p>状态:{$object.currentState}</p>
<p>空间:{$object.currentSpace}</p>
<p>意义:{$object.meaning}</p>
原则保持不变:
Smarty 负责表现,不负责认知。
不得在模板中执行:
Object Matching
State Analysis
Relation Analysis
Cognitive Reasoning
这些属于:
Service
Analyzer
Repository
Cognitive Kernel
20.30 对象认知与 Cognitive Kernel
对象认知形成以后,可以进入:
Cognitive Kernel
流程:
Perception
↓
Elements
↓
Fusion
↓
Combination
↓
Object
↓
Object Cognition
↓
Cognitive Kernel
↓
Reasoning
Cognitive Kernel 不再直接处理大量原始感知数据。
而是接收:
Structured Cognitive Objects
这可以显著降低认知处理复杂度。
20.31 对象认知与推理
对象认知形成以后,可以进行规则推理。
例如:
Object = Machine
State = Running
Temperature = High
规则:
IF
Machine.Running
AND
Temperature.High
THEN
Machine.Warning
形成:
Machine Warning
因此:
Object Structure
↓
State
↓
Rule
↓
Inference
20.32 对象认知与决策
推理之后进一步进入决策。
例如:
Machine
Temperature = High
State = Running
推理:
Overheat Risk
决策:
Stop Machine
形成:
Cognition
↓
Reasoning
↓
Decision
最终:
Decision
↓
Method
↓
State Change
↓
Event
↓
New Perception
重新进入闭环。
20.33 对象认知闭环
完整 WSaiOS 对象认知闭环:
Environment
↓
Perception
↓
Perception Elements
↓
Fusion
↓
Combination
↓
Object Formation
↓
Object Cognition
↓
State Analysis
↓
Event Formation
↓
Behavior
↓
Reasoning
↓
Decision
↓
Action
↓
Environment Change
↓
Perception
形成:
对象驱动的认知闭环。
20.34 对象认知的核心层次
WSaiOS 可以将对象认知划分为:
第一层
Identity
回答:
是谁?
↓
第二层
Attribute
回答:
有什么特征?
↓
第三层
Space
回答:
在哪里?
↓
第四层
Time
回答:
什么时候?
↓
第五层
State
回答:
现在怎么样?
↓
第六层
Relation
回答:
与谁有什么关系?
↓
第七层
Event
回答:
发生过什么?
↓
第八层
Behavior
回答:
做了什么?
↓
第九层
History
回答:
过去发生了什么?
↓
第十层
Meaning
回答:
这意味着什么?
20.35 对象认知总体模型
最终形成:
Object Cognition
│
┌──────────────┼──────────────┐
↓ ↓ ↓
Identity Attribute Space
│ │ │
└──────────────┼──────────────┘
↓
Time
↓
State
↓
Relation
↓
Event
↓
Behavior
↓
History
↓
Meaning
20.36 WSaiOS 对象认知 OOP 模型
PerceptionElement
│
↓
ElementFusion
│
↓
ElementCombination
│
↓
ObjectBuilder
│
↓
ObjectElement
│
├── ObjectIdentity
├── ObjectAttribute
├── ObjectSpace
├── ObjectTime
├── ObjectState
├── ObjectRelation
├── ObjectEvent
├── ObjectBehavior
└── ObjectHistory
│
↓
ObjectAnalyzer
│
↓
ObjectCognition
20.37 WSaiOS MVC + Smarty + PHP OOP 总体结构
Request
↓
ObjectController
↓
ObjectService
↓
ObjectMatcher
↓
ObjectBuilder
↓
ObjectElement
↓
ObjectAnalyzer
↓
ObjectCognition
/ | \
/ | \
State Event Relation
\ | /
\ | /
Memory
↓
Cognitive Kernel
↓
Reasoning
↓
Decision
↓
Smarty
↓
Output
20.38 本章与前面理论的连接
前面理论现在可以形成更加完整的结构:
感知器官
↓
感知输入
↓
感知元素
↓
多维感知
↓
感知元素融合
↓
感知元素组合
↓
对象结构
↓
对象认知
↓
方法
↓
状态变化
↓
事件
↓
事件组合
↓
行为
↓
场景
↓
记忆
↓
经验
↓
认知
↓
推理
↓
决策
↓
行动
这里开始出现一个非常重要的体系变化:
WSaiOS 的核心处理对象从“单个感知元素”逐步转变为“结构化认知对象”。
20.39 感知元素到认知对象的转换
可以进一步抽象为:
Raw Perception
↓
Primitive Element
↓
Structured Element
↓
Fused Element
↓
Combined Element
↓
Object
↓
Object Cognition
也就是说:
感知
产生元素。
融合
解决元素统一。
组合
形成结构。
对象
承载结构。
认知
解释对象。
20.40 本章总结
本章建立 WSaiOS 感知元素结构与对象认知理论。
核心观点:
- 感知元素是对象认知的基础;
- 多个感知元素可以通过融合和组合形成对象结构;
- 对象不是简单的数据集合;
- 对象必须具有身份;
- 对象具有类型;
- 对象具有属性;
- 对象具有空间结构;
- 对象具有时间结构;
- 对象具有状态结构;
- 对象具有关系结构;
- 对象可以产生事件;
- 对象可以形成行为;
- 对象具有历史;
- 对象历史可以进入 Memory;
- ObjectMatcher 负责对象匹配;
- ObjectBuilder 负责对象构建;
- ObjectAnalyzer 负责对象认知分析;
- ObjectService 负责对象认知流程;
- Repository 负责对象持久化;
- PHP OOP 负责对象模型;
- MVC 负责工程结构;
- Smarty 负责对象认知结果展示;
- 对象认知可以成为 Cognitive Kernel 的结构化输入;
- 对象状态、事件和行为可以继续进入记忆、经验和推理系统;
- 对象认知是 WSaiOS 从感知系统进入认知系统的重要基础。
20.41 最终理论模型
感知输入
↓
感知元素
↓
感知元素融合
↓
感知元素组合
↓
对象形成
↓
对象身份
↓
对象属性
↓
对象空间
↓
对象时间
↓
对象状态
↓
对象关系
↓
对象事件
↓
对象行为
↓
对象历史
↓
对象意义
↓
对象认知
↓
记忆
↓
经验
↓
推理
↓
决策
↓
行动
WSaiOS 当前认知工程主链
人工感觉器官
↓
感知系统
↓
感知元素系统
↓
感知元素融合
↓
感知元素组合
↓
对象认知
↓
方法
↓
状态变化
↓
事件
↓
事件组合
↓
行为
↓
场景
↓
记忆
↓
经验
↓
认知
↓
推理
↓
决策
↓
行动
由此,WSaiOS 的理论体系从“感知元素理论”进一步进入“结构化对象认知理论”。
下一章自然可以继续建立:
第二十一章 行为感知与行为形成理论
Behavior Perception and Behavior Formation Theory
重点研究:
- 行为元素;
- 动作与行为的区别;
- 状态序列与行为;
- 事件序列与行为;
- 方法链与行为;
- 对象行为模型;
- 行为模式;
- 行为组合;
- 行为记忆;
- 行为认知;
BehaviorElement;BehaviorAnalyzer;BehaviorBuilder;BehaviorService;- MVC + Smarty + PHP OOP 行为工程实现。