目录 1
第一篇LISP程序设计 1
第一章引言 1
§1.1 LISP语言的历史及其重要性 1
§1.2 LISP语言的特性 2
第二章LISP的数据结构——S-表达式 3
§2.1原子 3
§2.2 S-表达式的定义 4
§2.3 S表达式的表表示法 4
习题 6
第三章基本函数 8
§3.1基本函数 8
§3.2赋值函数和EVAL函数 12
§3.3其它表处理函数 15
§3.4算术运算函数 20
§3.5逻辑运算函数 22
习题 24
第四章条件函数、定义函数 26
§4.1条件函数COND 26
§4.2定义函数DEFINE 28
§4.3 COND使DEFINE定义更多的函数 30
习题 32
第五章递归与迭代 33
§5.1递归 34
§5.2迭代 39
习题 47
第六章LISP程序设计例子 48
§6.1 LISP程序结构和用LISP语言解题 48
§6.2符号微分 49
§ 6.3中缀表示转换成前缀表示 55
§ 6.4梵(Hanoi)塔问题 59
§6.5皇后问题 62
§6.6 LISP元语言——M-表达式 64
习题 65
第七章性质表和A表 66
§7.1性质表 66
§7.2 A表,ASSOC函数和PAIRLIS函数 68
§7.3数组及其函数 70
§7.4 S-表达式的存贮形式 70
§ 7.5破坏原子值的函数 72
习题 76
第八章LAMBDA定义,LABEL定义 78
§8.1 LAMBDA定义无名函数 78
§8.2 LABEL表达式 80
§8.3 A表在实现中的作用 82
习题 83
第九章LISP的输入/输出 85
§9.1 READ函数 85
§9.2 PRINT函数 86
§9.3其它特殊输入/输出函数 86
§9.4输入/输出例子 88
§9.5 PDP-11机磁盘操作函数 89
习 题 91
第十章函数的类型 92
§10.1 FEXPR函数 92
§10.2 MACRO型函数 95
习题 98
第十一章LISP在人工智能中的实例 99
§11.1广度优先和深度优先的搜索策略 99
§11.2修道士与野人过河问题 108
§11.3积木世界 113
§11.4符号模式匹配 120
§11.5基于归结原理的简单定理证明 122
§11.6 自然语言句子结构分析 128
§11.7框架和框架函数 134
习题 141
第二篇PrOlog程序设计 142
第十二章引言 142
§12.1 Prolog语言的发展和应用 142
§12.2 Prolog语言的特点 142
第十三章Prolog的三个基本语句 144
§13.3规则 146
§13.4询 问 148
习题 155
§14.1项 156
第十四章P rolog的数据结构和递归 156
§14.2表和它的递归性 157
§14.3 Prolog的算术运算 158
§14.4 Prolog的比较运算 162
§14.5程序的递归性及其例子 163
§14.6 Prolog语法与Horn子句 169
习题 172
第十五章Prolog的搜索方法 173
§15.1关于Prolog的控制 173
§15.2 Prolog的搜索和回溯 173
§15.3 cut 179
§16.2输入、输出 185
习题 187
第十六章内部谓词 188
§16.1引言 188
§16.3分类项 197
§16.4结构成分的建立和取接 201
§16.5控制回溯及其它 206
§16.6程序的增、删、改 209
§16.7说明运算符 218
习题 221
第十七章Prolog程序设计例子 222
§17.1梵(Hanoi)塔问题 222
§17.2数学函数 223
§17.3表处理 227
§17.4集合处理 231
§17.5 Prolog在数据库中的应用 233
§17.6符号微分 236
§17.7排序 237
§17.8皇后问题 241
§13.1简单实例 244
习题 245
§13.2事实 245
第十八章一些人工智能中的例子 246
§18.1深度优先和广度优先搜索策略 246
§18.2修道士和野人过河问题 249
§18.3量水问题 253
§18.4 自然语言句子结构分析 257
§18.5基于归结原理的简单定理证明 266
习题 269
第十九章LISP和Prolog的比较 270
附录 275
附录一LISP内部函数 275
附录二Prolog内部谓词 279
附录三L-LISP 280
附录四 用LISP写的一个Portable Prolog解释程序 289
附录五中英名词对照表 294