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

第二章 人工个体的软件工程基础

第二章

人工个体的软件工程基础

——面向对象编程、MVC、Smarty 与 PHP OOP 结构实现


2.1 人工个体与软件工程

个体人工智能不是单一算法模型,而是一个具有长期运行能力的软件实体。

如果把人工个体作为软件对象,它必须具备:

  • 自身属性;
  • 自身状态;
  • 自身行为;
  • 自身关系;
  • 自身生命周期。

这与面向对象编程(Object-Oriented Programming)的核心思想高度一致。

面向对象的基本思想:

将现实世界中的对象,通过类、属性、方法和关系映射为软件对象。

因此:

人工个体可以被抽象为:

Individual Object
Identity
Personality
Experience
Memory
Cognition
Decision
Behavior

2.2 人工个体对象模型

传统软件对象:

Object
=
Data
+
Method

人工个体对象:

Individual Object
=
Identity
+
Element
+
Relationship
+
State
+
Memory
+
Experience
+
Cognition
+
Behavior

例如:

一个人工医生个体:

Doctor Individual
属性:
姓名
年龄
性别
学历
职业
专业
经历
性格
健康状态
方法:
理解()
判断()
分析()
决策()
学习()
更新()

这意味着:

人工个体不是数据库中的一条记录。

而是:

一个具有内部结构和运行能力的软件对象。


2.3 PHP OOP 与人工个体对象

PHP OOP 提供了实现人工个体的基础结构。

例如:

class Individual
{
protected $identity;
protected $personality;
protected $experience;
protected $memory;
protected $cognition;
public function understand($event)
{
}
public function judge($information)
{
}
public function decide()
{
}
}

其中:

属性对应:

个体元素。

方法对应:

个体能力。


2.4 个体元素类设计

人工个体不是一个巨大类。

应该采用对象组合。

结构:

Individual
|
├── IdentityElement
├── PersonalityElement
├── ExperienceElement
├── RelationshipElement
├── HealthElement
├── CognitiveElement
└── DecisionElement

例如:

身份元素:

class IdentityElement
{
private $name;
private $age;
private $gender;
private $origin;
}

性格元素:

class PersonalityElement
{
private $traits;
private $preferences;
private $behaviorPattern;
}

经历元素:

class ExperienceElement
{
private $events;
private $history;
private $weights;
}

这样:

人工个体不是固定结构。

而是:

多个认知元素对象组合形成。


2.5 个体元素关系对象

第二章的重要工程基础:

个体差异来自元素关系。

因此需要:

ElementRelationship Object。


结构:

ElementRelationship
|
├── Element A
├── Element B
├── Relationship Type
├── Weight
└── History

PHP:

class ElementRelationship
{
protected $elementA;
protected $elementB;
protected $weight;
public function calculate()
{
}
}

例如:

创业经历
风险意识
投资判断

在系统中表现为:

ExperienceElement
|
Relationship
|
DecisionElement

2.6 MVC 架构与人工个体系统

WSaiOS-ICAI 采用 MVC 架构。

MVC:

Model
View
Controller

但是在人工个体系统中:

MVC 对应:

Model
个体认知数据与对象
View
个体状态展示
Controller
个体行为控制

Model:个体认知模型

负责:

  • 身份;
  • 元素;
  • 关系;
  • 记忆;
  • 经验。

例如:

app/models/
Individual.php
Identity.php
Experience.php
Memory.php
Cognition.php

Controller:个体行为控制

负责:

接收事件:

调用认知:

形成判断:

执行行为。

例如:

class IndividualController
{
public function analyze()
{
}
public function decide()
{
}
}

View:个体认知表现

负责:

展示:

  • 当前状态;
  • 分析结果;
  • 决策结果。

2.7 Smarty 模板与个体表达层

Smarty 是 PHP 经典模板引擎。

在 ICAI 中:

Smarty 对应:

人工个体外部表达层。


结构:

Cognitive Engine
Controller
Smarty Template
Output

例如:

模板:

{$individual.name}
{$individual.state}
{$individual.decision}

输出:

人工个体:
姓名:张某
当前状态:健康分析
判断:
需要降低风险
决策:
调整生活方式

模板层不负责认知。

它只负责:

将人工个体内部状态表达出来。


2.8 Engine 设计模式

人工个体需要多个引擎。

结构:

Individual Kernel
|
├── Perception Engine
├── Cognitive Engine
├── Memory Engine
├── Experience Engine
├── Thinking Engine
├── Decision Engine
└── Learning Engine

PHP:

class CognitiveEngine
{
public function analyze($elements)
{
}
}

决策:

class DecisionEngine
{
public function makeDecision($cognition)
{
}
}

学习:

class LearningEngine
{
public function updateExperience()
{
}
}

2.9 数据库与个体记忆

人工个体需要长期保存:

  • 经历;
  • 状态;
  • 关系;
  • 经验。

数据库对应:

人工个体长期记忆。


例如:

individual
id
name
age
gender
experience
id
individual_id
event
weight
relationship
id
element_a
element_b
weight

数据库不是人工个体。

数据库只是:

人工个体记忆存储。


2.10 人工个体运行流程

完整运行:

外部事件
Controller
Perception Engine
Cognitive Engine
Element Relationship
Experience Memory
Thinking Engine
Decision Engine
Behavior
Learning Engine
更新个体结构

形成:

人工个体生命周期。


2.11 面向对象工程原则

ICAI 软件工程遵循:

封装

每个人工个体拥有自己的内部元素。


继承

不同类型人工个体可以继承基础能力。

例如:

Individual
DoctorIndividual
ResearchIndividual

多态

不同人工个体:

面对相同事件:

产生不同处理。


组合

个体由多个元素对象组成。


2.12 本章总结

个体人工智能不仅是理论模型,更需要软件工程实现。

通过:

  • PHP OOP;
  • MVC;
  • Smarty;
  • Object Model;
  • Engine Architecture;

可以将:

身份、

性格、

经历、

关系、

认知、

经验、

决策

转化为可运行的软件对象。

最终形成:

Individual Class
Element Objects
Cognitive Engine
Decision Engine
Artificial Individual Runtime

本章建立了《个体人工智能——认知元素人工认知工程》的软件工程基础:

人工个体不是被描述出来的,而是通过面向对象工程被构建出来的。

Leave a Reply

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