欢迎来到专家系统的世界!
在本章中,我们将一起探索专家系统 (Expert Systems)。试想象你有一个朋友,他对汽车引擎的所有知识了如指掌;或者想象有一位医生,他读过所有曾出版的医学教科书,且从未遗漏任何细节。专家系统正是如此——它是一个计算机程序,设计目标是模仿人类专家,以解决复杂的问题。
如果这听起来有点像科幻小说,别担心!读完这些笔记后,你会发现它们其实只是帮助人类做出更好决策的逻辑工具。让我们开始吧!
1. 什么是专家系统?
专家系统是一种利用人工智能 (AI) 的软件,用于模拟在特定领域拥有专业知识和经验的人类或组织的判断力与行为。
比喻:你可以把专家系统想象成一位“数字顾问”。你提供有关情况的事实,它会运用其“大脑”(软件)来为你提供建议或解决方案。
2. 专家系统的组成部分
为了正确运作,专家系统需要多个部分协同工作。你可以将这些部分想象成人类专家大脑的不同功能区域。
用户界面 (User Interface)
这是用户与系统互动的方式。通常是一个显示屏幕,系统会在屏幕上提出问题(例如:“病患是否有发烧?”),而用户则输入答案。
知识库 (Knowledge Base)
这是系统的“图书馆”,包含两项内容:
1. 事实 (Facts):关于该主题的基本事实(例如:“水在 100°C 下沸腾”)。
2. 规则库 (Rules Base):一组 IF...THEN(如果……那么……)结构(例如:“IF 引擎无法启动 AND 车灯昏暗,THEN 电池很可能没电了”)。
推理引擎 (Inference Engine)
这是负责思考的“引擎”或“大脑”。它会查看用户提供的资讯,并在知识库中通过规则库进行搜索与比对。它将用户的回答与规则连接起来,从而得出结论。
解释系统 (Explanation System)
人类专家可以解释他们 为什么 给出某个建议。解释系统也能做到这一点。它会向用户展示它得出结论所使用的逻辑,这有助于建立对系统的信任。
知识库编辑器 (Knowledge Base Editor)
知识会随着时间而改变(例如,新药物的发明)。知识库编辑器允许人类专家更新系统中的事实和规则,而无需重新编写整个程序。
快速回顾:
• 用户界面:屏幕/输入方式。
• 知识库:事实与规则。
• 推理引擎:逻辑/思考部分。
• 解释系统:告诉你“为什么”。
• 知识库编辑器:用于更新信息。
3. 现实世界中的应用场景
专家系统并非万能,它们仅用于特定的高风险任务。以下是你考试中需要了解的常见应用:
• 医疗诊断:根据症状协助医生识别疾病。
• 汽车引擎故障诊断:协助技工找出汽车运作异常的原因。
• 矿产勘探:分析土壤和岩石数据,预测地下黄金或石油的可能藏匿点。
• 投资分析:预测哪些股票或债券能带来最高收益。
• 财务规划:协助人们规划退休储蓄。
• 保险规划:针对客户的特定风险,确定最合适的保险方案。
• 货运车辆路线调度:为物流车队寻找派送包裹的最快路径。
• 动植物鉴定:使用特征(如叶片形状或毛发类型)来辨识物种名称。
4. 专家系统如何“思考”:链结 (Chaining)
推理引擎使用两种主要方法来得出解决方案。这往往是学生容易感到困惑的地方,但其实比看起来更简单!
正向链结 (Forward Chaining / 数据驱动)
这种方法从现有数据开始,利用规则库查看数据会导致什么结果。它是“数据驱动 (Data Driven)”的。
例子:你告诉医疗系统“我有咳嗽”且“我有发烧”。系统查看这些事实并向前推导,得出结论:“你患了流感”。
反向链结 (Backward Chaining / 目标驱动)
这种方法从目标或结论开始,向后推导以查看现有事实是否支持该结论。它是“目标驱动 (Goal Driven)”的。
例子:系统设定一个目标:“该病患是否患有流感?”然后它向后检查:问“病患是否有发烧?”以及“病患是否有咳嗽?”。如果这些事实都符合,则目标得到证实。
记忆小撇步:
• Forward(正向)从 Facts(事实)开始。
• Backward(反向)从 Big goal(大目标)开始。
5. 数据驱动与目标驱动的应用
我们在不同的领域使用这些不同的逻辑:
• 诊断:通常使用正向链结(从症状开始以找出疾病)。
• 游戏:非玩家角色 (NPC) 通常使用目标驱动逻辑。例子:一个 NPC 的目标是“攻击玩家”。接着它会检查自己是否有武器以及玩家是否在攻击范围内。
• 社交媒体中的人工智能:用于操控你看到的内容。系统有一个目标(让你更长时间留在应用程序上),并透过反向推导来决定哪些贴文能实现此目标。
6. 优点与缺点
如同任何技术一样,专家系统有其优缺点。
优点
• 全天候可用:计算机不需要睡觉、吃饭或休假。
• 一致性:与人类不同,系统不会因为“心情不好”而对同一个问题给出不同的答案。
• 汇集多位专家:系统可以将多位不同专家的知识集合在同一个地方。
• 适用于危险区域:它们可以用在对人类专家而言不安全的地方(例如核电厂)。
缺点
• 没有“常识”:系统盲目遵循规则。如果用户提供的答案明显荒谬,它无法察觉。
• 成本高昂:建立和维护它们非常昂贵且耗时。
• 垃圾进,垃圾出 (Garbage In, Garbage Out):如果知识库中的规则或事实错误,建议也会错误。
• 缺乏情感/共情:在医疗等领域,计算机无法提供人类医生所能给予的“人情味”或情感支持。
重点总结:专家系统之所以强大,是因为它们具备一致性且永不遗忘,但它们受限于人类提供规则的质量,以及缺乏一般的人类直觉。
需避免的常见错误
• 错误:认为推理引擎 就是 知识库。
• 修正:知识库是 存储(书本);推理引擎是 处理器(阅读书本的人)。
• 错误:认为专家系统具有“创造力”。
• 修正:它们严格遵循逻辑。它们只知道通过 IF...THEN 规则所告知的内容。
如果刚开始觉得链结逻辑有点抽象,请别担心。只要记住:正向 (Forward) 从你已知 (Known) 的开始,而反向 (Backward) 从你想要证明 (Prove) 的目标开始即可!