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

第19章 PHP OOP 智能对象设计

第19章

PHP OOP 智能对象设计


19.1 智能对象化思想

WSaiOS-ICAI 的核心工程思想:

将人工个体智能的组成元素,转换为具有属性、关系和行为的软件对象。


传统软件:

对象模拟:

  • 用户;
  • 商品;
  • 订单;
  • 文件。

WSaiOS-ICAI:

对象模拟:

  • 感知;
  • 认知;
  • 知识;
  • 能力;
  • 行为;
  • 学习;
  • 记忆;
  • 经验。

因此:

人工个体不是一个巨大程序。

而是:

IndividualAI
|
├── Perception Object
├── Cognition Object
├── Knowledge Object
├── Capability Object
├── Behavior Object
├── Learning Object
├── Memory Object
└── Experience Object

19.2 为什么采用对象模型

人的智能具有三个特点:


19.2.1 独立性

人的视觉能力:

可以独立工作。

人的记忆:

可以独立保存。


软件对象:

对应:

class Memory
{
}

19.2.2 组合性

人的能力:

不是单一能力。

而是组合:

认知能力
+
知识
+
经验
=
解决能力

软件:

对象组合:

Capability
{
Knowledge $knowledge;
Experience $experience;
}

19.2.3 可进化性

人的能力:

可以变化。


对象:

可以升级:

$capability->upgrade();

19.3 EOM 理论与 OOP 映射

WSaiOS-ICAI:

元素对象方法理论:

Element

Object

Method


对应软件:


Element(元素)

智能组成单位。

例如:

知识元素
记忆元素
能力元素

对应:

类属性。


Object(对象)

元素的工程表达。

例如:

KnowledgeObject
MemoryObject

Method(方法)

对象行为。

例如:

search()
learn()
execute()

映射:

理论层
Element
工程层
Property
Object
Class
Method
Function

19.4 IndividualAI 根对象设计

人工个体系统:

需要一个总对象。


设计:

IndividualAI

职责:

管理所有智能对象。


结构:

IndividualAI
属性:
name
state
modules
方法:
think()
learn()
solve()
remember()

19.5 IndividualAI 类实现

文件:

modules/core/IndividualAI.php

代码:

<?php
class IndividualAI
{
protected $modules=[];
protected $state;
public function addModule(
$name,
$object
)
{
$this->modules[$name]
=
$object;
}
public function think($input)
{
$perception =
$this->modules[‘perception’]
->process($input);
$cognition =
$this->modules[‘cognition’]
->process(
$perception
);
return $cognition;
}
}

19.6 抽象智能对象设计

所有智能对象:

具有共同特征。


例如:

都有:

  • 状态;
  • 初始化;
  • 处理能力。

建立抽象类:

abstract class AIComponent
{
protected $state;
abstract public function process($data);
public function getState()
{
return $this->state;
}
}

所有模块:

继承:

AIComponent
Perception
Cognition
Memory
Learning

19.7 感知对象设计

感知:

负责:

获取。


对象:

PerceptionObject

属性:

input
source
type
time

方法:

capture()
parse()
normalize()

PHP:

class PerceptionEngine
extends AIComponent
{
public function process($data)
{
return [
“input”=>$data
];
}
}

19.8 认知对象设计

认知:

负责:

理解。


不是生成答案。


核心:

输入
分析
建立关系
形成理解

对象:

CognitionObject

PHP:

class CognitionEngine
extends AIComponent
{
public function process($data)
{
return [
“meaning”=>$data
];
}
}

19.9 知识对象设计

知识:

不是字符串。

而是对象。


结构:

KnowledgeObject
属性:
content
type
source
relation
方法:
search()
update()
apply()

PHP:

class KnowledgeObject
{
protected $content;
protected $type;
public function apply()
{
}
}

19.10 能力对象设计

能力:

是应用知识解决问题的方法集合。


结构:

CapabilityObject
属性:
knowledge
experience
level
方法:
solve()
evaluate()
upgrade()

PHP:

class CapabilityObject
{
protected $level=1;
public function solve($problem)
{
}
public function upgrade()
{
$this->level++;
}
}

19.11 行为对象设计

行为:

负责执行。


结构:

BehaviorObject
属性:
task
action
result
方法:
execute()
feedback()

PHP:

class BehaviorEngine
{
public function execute($action)
{
return $action;
}
}

19.12 学习对象设计

学习:

是行为对象。


不是知识对象。


结构:

LearningObject
属性:
goal
source
process
方法:
discover()
acquire()
update()

PHP:

class LearningEngine
{
public function learn($need)
{
return $need;
}
}

19.13 组合关系设计

人工个体:

通过组合形成。


不是继承所有能力。


结构:

IndividualAI
+
Perception
+
Cognition
+
Knowledge
+
Capability
+
Behavior
+
Learning
+
Memory

PHP:

class IndividualAI
{
private $learning;
private $memory;
private $knowledge;
}

这对应人的智能结构:

多个能力共同组成个体。


19.14 智能对象生命周期

每个智能对象:

都有生命周期。


流程:

创建
初始化
运行
学习
更新
保存
再次运行

例如:

KnowledgeObject:

创建
学习获取
保存
调用
更新

19.15 对象化智能系统优势

第一:

模块独立。

增加新能力:

只增加对象。


第二:

容易扩展。

例如:

增加:

视觉能力。

新增:

VisionObject。


第三:

支持进化。

对象可以:

升级。


第四:

支持个体差异。

不同人工个体:

拥有不同对象组合。


19.16 本章总结

WSaiOS-ICAI 使用 PHP OOP 实现:

不是为了编程方便。

而是因为:

面向对象思想与人工个体智能结构具有天然对应关系。

核心映射:

人工个体元素
智能对象
PHP Class
Object实例
智能行为

最终形成:

IndividualAI
智能对象集合
自主运行系统

下一章

第20章

MySQL 数据库与人工个体状态存储设计

重点:

  • 为什么人工个体需要数据库;
  • 数据不是知识;
  • 状态存储模型;
  • 知识表设计;
  • 记忆表设计;
  • 学习表设计;
  • 能力表设计;
  • PHP Model 数据访问层实现。

Leave a Reply

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