第10章
问题解决系统工程
10.1 问题解决是人工个体智能的核心表现
人工智能最终目的不是:
- 存储知识;
- 识别信息;
- 输出文字。
而是:
面对未知问题,通过理解、学习、调用能力,形成解决方案并产生实际结果。
自然人的智能活动:
例如:
遇到:
“企业网站访问速度下降”
人的思考:
发现问题
↓
了解现象
↓
分析原因
↓
寻找知识
↓
制定方案
↓
实施解决
↓
总结经验
WSaiOS-ICAI 将这一过程抽象为:
Problem Object
问题对象
↓
Analysis
问题分析
↓
Knowledge
知识调用
↓
Solution
方案形成
↓
Action
行为执行
↓
Experience
经验沉淀
10.2 问题解决系统定义
WSaiOS-ICAI:
问题解决系统是能力系统中的核心应用模块,负责将认知结果转化为可执行解决方案。
问题解决不是单一功能。
它包含:
问题发现能力
↓
问题理解能力
↓
方案设计能力
↓
方案评价能力
↓
执行能力
↓
反馈优化能力
10.3 问题对象模型 Problem Object
10.3.1 为什么需要问题对象
普通程序:
问题只是字符串。
例如:
“网站慢”
人工个体:
问题必须对象化。
因为问题包含:
- 主体;
- 状态;
- 原因;
- 目标;
- 环境。
形成:
ProblemObject
属性:
name
state
cause
goal
context
方法:
analyze()
solve()
evaluate()
PHP:
class ProblemObject
{
protected $name;
protected $state;
protected $context;
public function analyze()
{
}
public function solve()
{
}
}
10.4 问题解决流程模型
WSaiOS-ICAI:
完整问题解决流程:
问题输入
↓
问题对象建立
↓
问题理解
↓
知识查询
↓
能力调用
↓
方案生成
↓
方案评价
↓
执行行为
↓
结果反馈
↓
经验学习
10.5 问题发现阶段
10.5.1 问题来源
问题来源:
包括:
外部输入
例如:
用户提出:
如何开发一个商城系统?
环境变化
例如:
服务器负载增加
内部检测
例如:
能力不足
知识不足
问题进入:
ProblemObject。
10.6 问题分析阶段
问题分析:
依赖认知系统输出。
输入:
ProblemObject
分析:
问题是什么?
影响什么?
涉及哪些对象?
需要哪些能力?
缺少哪些知识?
形成:
Problem Analysis Model
PHP:
class ProblemAnalyzer
{
public function analyze(
ProblemObject $problem
)
{
return [
‘object’=>$problem,
‘needs’=>[]
];
}
}
10.7 知识调用阶段
问题解决不是直接产生方案。
需要调用知识资源。
流程:
问题
↓
知识需求分析
↓
Knowledge Engine
↓
相关知识
↓
能力系统
例如:
问题:
设计网站系统
需要:
知识:
PHP
MVC
数据库
安全
部署
10.8 方案生成阶段
方案不是知识复制。
而是:
知识 + 认知 + 能力组合。
例如:
问题:
网站慢。
知识:
缓存技术
数据库优化
服务器配置
能力组合:
性能优化能力
形成:
方案:
1. 检查数据库
2. 优化查询
3. 增加缓存
4. 测试效果
方案对象:
SolutionObject
属性:
method
steps
resource
risk
10.9 方案评价阶段
多个方案:
需要评价。
评价因素:
效果
成本
风险
时间
资源
决策:
选择:
最佳方案。
代码:
class SolutionEvaluator
{
public function evaluate(
$solutions
)
{
return $solutions[0];
}
}
10.10 行为执行阶段
方案进入:
Behavior Engine。
关系:
SolutionObject
↓
BehaviorObject
↓
Action
↓
Result
例如:
方案:
优化数据库。
行为:
修改SQL
建立索引
测试查询
10.11 反馈与经验形成
解决问题后:
必须记录。
否则:
下一次仍然从零开始。
反馈:
执行结果
↓
效果评价
↓
经验保存
经验:
类似问题:
优先检查数据库索引
进入:
Memory Engine。
10.12 ProblemSolvingEngine 工程设计
目录:
modules/
└── problem/
├── ProblemObject.php
├── Analyzer.php
├── Solution.php
├── Evaluator.php
└── ProblemSolvingEngine.php
核心类:
class ProblemSolvingEngine
{
protected $analyzer;
protected $evaluator;
public function solve($problem)
{
$analysis =
$this->analyzer
->analyze($problem);
$solutions =
$this->generate(
$analysis
);
return
$this->evaluator
->evaluate(
$solutions
);
}
}
10.13 问题解决系统与人工个体成长
每一次解决问题:
都会产生:
新的知识
+
新的经验
+
新的能力
循环:
解决问题
↓
获得经验
↓
提升能力
↓
解决更复杂问题
这就是:
人工个体成长机制。
10.14 本章总结
WSaiOS-ICAI 问题解决系统:
不是一个答案生成器。
而是:
问题对象
↓
理解
↓
知识调用
↓
能力组合
↓
方案形成
↓
行为执行
↓
经验积累
核心思想:
人工个体智能的价值,不在于知道多少,而在于面对未知问题时是否能够形成解决能力。
工程实现:
ProblemObject
+
Analyzer
+
Solution
+
Evaluator
+
ProblemSolvingEngine
=
问题解决系统
下一章:
第11章 行为系统 Behavior Engine
重点:
- 行为 = 执行;
- 能力如何转化为行动;
- Action、Task、Decision 对象设计;
- 行为反馈机制;
- PHP OOP 工程实现。