首页 理论 架构 工程 文档 白皮书 著作 研究 案例 下载 博客 关于 开始使用 →

第二十七章 个体决策工程

第二十七章 生命状态元素工程

——Individual State Element Model


27.1 人工个体为什么需要生命状态

在前面的章节中,人工个体已经建立了身份、性格、价值、经历、教育、职业、社会角色和关系等基本元素。

这些元素回答的是:

这个人工个体具有什么。

但是,仅仅拥有这些元素,还不足以形成一个能够持续运行的人工个体。

因为个体并不是静止存在的。

同一个人工个体,在不同时间、不同环境、不同经历以及不同内部条件下,会处于不同状态。

例如,一个人工个体具有:

身份:工程师
职业:软件开发
价值:重视效率
关系:家庭成员、同事、朋友
经历:多年软件开发经验

这些内容可以长期存在。

但是,在某一个具体时间,它可能处于:

工作
休息
疲劳
学习
疾病
恢复
旅行
压力
专注
社交

等不同状态。

因此,在人工个体的对象结构中,必须增加一个独立维度:

Individual
├── Elements
├── Relationships
└── States

其中:

Elements描述个体拥有的属性。

Relationships描述元素之间以及个体与其他对象之间的关系。

States描述个体在特定时间和条件下所处的实际状态。


27.1.1 状态不是身份

例如:

姓名:张某
职业:工程师

这是身份和职业元素。

而:

当前正在工作

不是职业本身,而是当前状态。

同一个职业元素:

职业 = 工程师

可以对应不同状态:

工作中
休假中
学习中
失业中
退休中

因此:

职业 ≠ 工作状态

同样:

年龄 ≠ 身体状态
健康经历 ≠ 当前健康状态
家庭关系 ≠ 当前家庭关系状态

状态必须作为独立对象存在。


27.1.2 状态具有时间性

普通元素可以相对稳定地存在。

例如:

姓名
学历
专业
职业经历

而状态具有明显的时间属性。

例如:

08:00 → 工作
12:00 → 休息
14:00 → 工作
18:00 → 下班
23:00 → 睡眠

因此状态不能简单设计成:

$status = ‘working’;

因为这种设计只能知道:

现在是什么状态。

却无法知道:

之前是什么状态。

更不能知道:

为什么发生了变化。

所以人工个体的状态必须具有时间结构:

State
├── Type
├── Value
├── StartTime
├── EndTime
├── Source
└── Status

27.1.3 状态具有变化性

状态不是一个永久固定的值。

它应该被理解为:

State(t1)
State Change
State(t2)
State Change
State(t3)

例如:

正常
疲劳
休息
恢复

这条变化过程本身,就是人工个体历史的一部分。

因此,本章研究的并不仅仅是:

“当前状态是什么?”

而是进一步研究:

人工个体的状态如何产生、如何持续、如何变化,以及状态变化如何影响认知、判断、决策和行为。


27.1.4 状态进入人工认知

状态最重要的工程意义在于:

状态会进入认知过程。

同一个对象,在不同状态下,人工个体可能产生不同理解。

例如:

对象:一个新的工作任务

当人工个体处于:

精力充足

状态时,可能形成:

任务可完成

当人工个体处于:

高度疲劳

状态时,可能形成:

任务负担较大

对象没有发生变化。

变化的是人工个体自身状态。

因此可以形成:

对象
+
个体状态
个体认知

进一步:

个体状态
+
个体经历
+
个体价值
+
个体关系
理解
判断
决策

这说明,状态不是附加信息,而是人工个体认知结构的重要输入。


27.1.5 状态进入软件对象

在PHP OOP实现中,状态不能只是Individual类中的几个字段。

不推荐:

class Individual
{
public $health;
public $emotion;
public $workStatus;
public $sleepStatus;
}

因为随着系统发展,Individual会不断膨胀。

更合理的结构是:

class Individual
{
protected $id;
protected $elements;
protected $relationships;
protected $states;
}

状态独立成为对象:

class IndividualState
{
protected $id;
protected $individualId;
protected $type;
protected $value;
protected $startTime;
protected $endTime;
}

于是形成:

Individual
IndividualState

状态成为人工个体中的独立工程对象。


27.1.6 状态进入WSaiOS

在WSaiOS-ICAI中,状态进一步由独立Engine负责:

Individual
State
StateEngine

状态Engine负责:

创建状态
读取状态
更新状态
改变状态
保存状态
查询历史

系统结构可以形成:

StateController
StateService
StateEngine
IndividualState
StateRepository
Database

而前端表现由Smarty完成:

IndividualState
Controller
Smarty
View

由此,本章开始把“生命状态”从理论概念转化为真正能够进入PHP OOP、MVC、Smarty和数据库体系的工程对象。


27.1.7 生命状态元素的基本定义

因此,本书将生命状态元素定义为:

与人工个体当前存在条件、时间位置、身体条件、心理条件、环境条件和生活条件相关,并能够随经历、事件和行为发生变化的动态个体元素。

其基本结构为:

人工个体
生命状态
状态属性
状态变化
状态历史

最终进入:

状态
认知
判断
决策
行为
结果
状态变化

由此形成一个完整的动态循环。


27.1 小结

27.1建立了本章最基本的工程定义:

人工个体不仅需要拥有元素,还必须拥有状态。

元素解决:

“个体有什么?”

关系解决:

“元素如何联系?”

状态解决:

“个体现在处于什么条件?”

因此,ICAI的个体结构进一步从:

Individual
Elements
Relationships

发展为:

Individual
├── Elements
├── Relationships
└── States

而状态又会继续进入:

State
Cognition
Judgment
Decision
Behavior
State Change

这就使人工个体从一个静态对象集合,开始转变为一个能够持续变化的动态人工对象

Leave a Reply

Your email address will not be published. Required fields are marked *