10.4在IBM XT上启动M. 1
10.3在IBM PC上启动M. 1
目 录 3
第一部分 引 论 3
第一章专家系统引论 3
1.1什么是专家系统 3
1.1.1专家系统的历史 3
第四部分知识工程语言OPS5和OPSS+及其应用第十六章知识工程语言OPS 5
1.1.2专家系统的特性 5
1.1.3专家系统的构造者及其工具 6
1.1.4专家系统的优越性 7
1.2如何组织专家系统 10
1.2.1知识的组织 10
1.2.2知识表示 12
1.3专家系统与传统程序的区别 13
1.3.1专家系统的基本特点 13
1.3.2专家系统存在问题 17
1.4.1使用规则的知识表示 17
1.4专家系统的知识表示 17
1.4.2使用语义网络的知识表示 22
1.4.3使用框架的知识表示 24
1.5专家系统的作用 26
1.5.1专家系统的分类和基本活动 26
1.5.2专家系统求解的类型 31
第二章专家系统建造 38
2.1专家系统能够解决我的问题吗 38
2.1.1什么情况下开发专家系统是可能的 38
2.1.2什么情况下开发专家系统是合理的 39
2.1.3什么情况下开发专家系统是合适的 41
2.2建造专家系统 43
2.2.1建造专家系统的任务 43
2.2.2专家系统开发的阶段 45
2.3.1知识获取过程 46
2.3知识获取 46
2.3.2访问专家 49
2.4.1问题 51
2.4专家系统建造实例 51
2.4.2确定问题的特征 52
2.4.3求解需要的概念 53
2.4.4知识的形式化表示方法 56
2.4.5原型系统的实现 57
2.4.6验证规则 57
第三章专家系统开发工具引论 61
3.1专家系统开发工具的特征 61
3.1.1应用于专家系统的程序设计语言 62
3.1.2知识工程语言 63
3.1.3系统构造辅助工具 63
3.1.4支撑设施 67
3.2专家系统工具的开发过程 71
3.2.1工具支撑的知识表达和程序设计方法 72
3.2.2 专家系统工具的开发阶段 75
3.3知识工程语言示例 82
3.3.1 EMYCIN 82
3.3.2 EXPERT 85
3.3.3 OPS5 87
3.3.4 ROSIE 89
3.4如何选择专家系统建造工具 91
3.4.1选择工具需考虑的问题 92
3.4.2评价专家系统建造工具 95
3.4.3最佳开发工具未必就是最佳产品工具 96
第二部分知识工程语言M.1及其应用第四章M.1概述 99
4.1一般介绍 99
4.2 M.1的体系结构 99
4.3操作原理 100
4.4 M.1的特征 101
4.4.1知识系统开发特征 101
4.4.2终端用户特征 102
4.4.3技术特征 102
4.5 M.1应用领域 103
4.6 CM.1和M.1(2.1版)简介 103
第五章M.1的知识表示 105
5.1知识库的语法 105
5.2.1常量 107
5.2项的语法 107
5.2.2变量 108
5.2.3结构 109
第六章 M.1的命令和预定义项 113
6.1 M.1的命令 113
6.1.1有关知识库的命令 113
6.1.2有关缓存的命令 114
6.1.3值的查找和启动咨询 116
6.1.4彩色和调试控制 116
6.1.5跟踪和记录命令 118
6.1.6终端用户系统的命令 119
6.1.7退出M.1 119
6.1.8用户信息命令 119
6.1.9命令一览表 120
6.2 M.1的预定义项 121
6.2.1元事实 121
6.2.2布尔联接符 125
6.2.3算术命题 126
6.2.4元命题 129
7.1概述 132
第七章 M.1的推理机 132
7.2.3事实 133
7.2.1已知值 133
7.2进一步的考察 133
7.2.2使用知识库项 133
7.2.5规则 134
7.2.4元事实 134
7.2.6测试规则的前提 135
7.3可信度计算 136
7.3.1其他证据与可信度的增强 136
7.3.2非确定前提和可信度的减小 137
7.3.3合取前提可信度计算 137
3.3.5析取前提可信度计算 137
7.3.4前提终止规则的引用 137
7.3.6可信度与单值表达式 138
7.3.7回溯 138
7.4调节推理过程 138
7.4.1初始数据 138
7.4.4个数访问 139
7.4.2先决条件 139
7.4.3 whenfound 139
7.4.5无缓存 140
第八章M.1与外部函数的接口 141
8.2说明外部函数 141
8.1概述 141
8.3编写外部函数 142
8.4连接外部函数 147
8.5调用外部函数 147
第九章建立终端用户系统 149
9.1概述 149
9.2.1改变M.1的配置 149
9.2构作知识库 149
9.2.2知识库中加入解释 150
9.2.3保护知识库 150
9.3建立终端用户系统 150
9.4建立终端用户系统示例 151
第十章M.1系统的使用 153
10.2 M.1的文件配置 153
10.1 M.1的保护设施 153
10.4.1从软盘上运行M.1 154
10.4.2从硬盘上运行M.1 154
10.5执行咨询 155
10.5.1交互的层次 155
10.5.2装入知识库 155
10.5.3启动咨询 155
10.5.4询问响应选择 156
第十一章M.1的应用 159
11.1酒品顾问 159
11.1.1知识库概貌 159
11.1.2酒品顾问系统 160
11.1.3酒品顾问知识库 174
11.2微型照相顾问 182
11.2.1建立知识库 183
11.2.2观察M.1的动作 183
11.2.3在知识库中添加规则 184
11.2.4在知识库中添加提问 184
11.2.5处理unknown数据 185
11.3交通工具顾问 186
11.4带变量的酒品顾问Vine 190
11.4.1 Vine中的变量、事实和初始数据 191
11.4.2 Vine运行实例 192
11.4.3Vine知识库 193
11.5摄影顾问 198
11.5.1建立系统 198
11.5.2摄影顾问知识库 205
11.5.3摄影顾问的扩充 206
11.6小结 207
第三部分 专家系统开发工具INSIGHT2及其应用 211
12.1 INSIGHT2的主要功能 211
12.2 INSIGHT2的体系结构 212
第十三章INSIGHT2的知识表示和推理机制 214
13.1 INSIGHT2的知识表示:产生式规则与PRL 214
13.1.1产生式规则 214
13.1.2产生式规则语言PRL 215
13.1.3知识库结构 217
13.1.5 THRESHOLD语句 219
13.1.4标题语句 219
13.1.6 CONFIDENCE语句 219
13.1.7目标语句 220
13.1.8产生式规则 222
13.1.9 PRL数据类型 223
13.1.10提供附加信息 228
13.2 INSIGHT2的推理机 232
13.2.1目标选择 232
13.2.2目标与规则 234
13.2.3高级PRL概念 235
13.2.4调用外部程序和多知识库的连接 242
13.3.2一个PRL样本程序 244
13.3 PRL源程序及其示例 244
13.3.1 PRL源程序 244
13.4 PRL编译程序 258
第十四章INSIGHT2的使用 259
14.1 INSIGHT2的运行环境及使用入门 259
14.2菜单系统 260
14.2.1主菜单 260
14.2.2编译知识库 261
14.2.3运行知识库 263
14.2.4标题显示 263
14.2.6简单事实询问 264
14.2.5求助功能 264
14.2.7数值询问 265
14.2.8对象属性值(OAV)询问 266
14.2.9信息显示 267
14.2.10结论显示 268
14.3报告功能及其使用 269
14.3.1显示当前规则 269
14.3.2显示结论 271
14.3.3显示或编辑事实 272
14.3.4显示推理路径 273
14.4 DBPAS及其数据库 274
操作 274
14.4.1DBPAS源程序 274
14.4.2 DBPAS语言元素 275
14.4.3 DBPAS程序开发 279
14.4.4 DBPAS的数据库接口 279
14.4.5 DBPAS和dBASE数据库连接示例 283
14.5.1编辑菜单 287
14.5正文编辑程序及其使用 287
14.5.2光标移动命令 289
14.5.3行编辑命令 289
14.5.4块命令 290
14.6数据库编辑程序及其使用 290
14.6.1建立数据库 290
14.6.2编辑数据库 293
14.7 外部程序调用和用户定义程序安装 294
14.7.1外部程序调用 294
14.7.2用户定义程序的安装 298
15.1聚合物选择助理 299
第十五章INSIGHT2的应用举例 299
15.2货物装箱编排:演示正向链的知识库 315
15.3天气预报专家系统 319
16.1语言定义的数据类型 330
16.1.1原始数据类型 330
16.1.2复合数据类型 331
16.2工作存储器 334
16.3产生式存储器 336
16.3.1条件元 336
16.3.3 OPS5规则的右部 339
16.3.2 OPS5规则的左部 339
16.4.1匹配 347
16.4 OPS5的推理机 347
16.4.2选择规则策略 348
16.4.3例子 348
16.5初始化工作存储器技术 354
16.5.1用一条规则初始化 354
16.5.2参数化的初始化 354
16.6程序的停止 356
16.6.1清除冲突集 356
16.5.3用顶层命令初始化 356
16.6.2 Halt动作 357
16.7 OPS5的其他特征 357
16.7.1项和↑算符 357
16.7.2 LHS项 357
16.7.3 RHS动作和结果元 357
16.8顶层命令 358
16.8.1 make 358
16.8.2 remove 358
16.8.7 run 359
16.8.6 call 359
16.8.8 back 359
16.8.3 oPenfile 359
16.8.4 closefile 359
16.8.5 default 359
16.8.9 strategy 360
16.8.10 watch 360
16.8.11 pbreak 360
16.8.14 cs 361
16.8.16 matches 361
16:8:15 pm 361
16.8.13 exit 361
16.8.12 excise 361
16.8.17 wm 362
16.8.18 ppwm 362
16.9命令的错误 363
16.9.1数据的语法和类型检查 363
16.9.2规则的错误 365
第十七章 OPS5的一个应用例子——猴子与香焦问题 367
17.1问题的描述 367
17.3.1物理空间 368
17.3对象和属性的识别 368
17.2需求分析 368
17.3.2物理对象 369
17.3.3自行对象 370
17.4动作识别 371
17.5解决问题的策略和对象 373
17.6问题的输入和输出 374
17.6.1合法的工作存储器构造 375
17.6.2简单的初始构造 375
17.6.3初始化工作存储器的技巧 375
17.7规则识别 381
17.6.4程序输出 381
17.7.1规则测试 383
17.7.2目标类型“ON” 383
17.7.3测试目标类型“ON” 391
17.7.4 目标类型“Holds” 393
17.8判定序列与问题序列 397
17.8.1判定序列 398
17.8.2问题序列 398
18.2.1编程方面的扩展和规定的具体化 399
18.2 OPS5+概述 399
18.1 OPS5语言的各种版本 399
第十八章OPS5+ 399
18.2.2 OPS5+扩展的顶层命令 402
18.2.3 OPS5+与C语言的接口方法 406
18.3 用OPS5+开发产生式系统的步骤 407
18.3.1产生式系统及其工作方式 407
18.3.2 OPS5开发产生式系统的步骤 409
第五部分 专家系统构筑工具GURU及其应用第十九章GURU的基本特性和功能 415
19.1 引言 415
19.2.1规则表达方式 416
19.2基于规则的专家系统构筑工具 416
19.2.2推理方式 417
19.2.3变量 417
19.2.4 GURU中的可信度 419
19.3 GURU专家系统的规则集 420
19.3.1 GURU主要子句的语法规则和使用方法 421
19.3.2一个规则集的例子——商品推销专家系统 423
19.4 GURU的实用命令 426
19.5自然语言接口 428
19.5.1词法分析阶段 428
19.5.5 Chat-GURU的自然语言接口 429
19.5.4形式语言生成阶段 429
19.5.2语法分析阶段 429
19.5.3填写框架阶段 429
19.5.6自然语言会话实例 433
第二十章GURU的使用及应用实例 438
20.1 GURU的装配和启动 438
20.1.1 GURU的装配 438
20.1.2 GURU的启动 440
20.2 GURU专家系统菜单的特点 441
22.2.1专家系统的构筑方法 442
20.2.2专家系统的咨询 453
20.2.3 GURU演示程序的运行 454
20.2.4专家系统 454
20.2.5自然语言 456
20.2.6信息管理程序 457
20.3 GURU装配故障诊断表和运行演示程序故障诊断表 457
20.3.1 GURU装配故障诊断表 457
20.3.2演示程序运行故障诊断表 458
20.4 GURU实现的“农业顾问”专家系统示例 458
参考文献 469