暂无商品咨询信息 [发表商品咨询]
本书是关于程序组织策略灵活性的大师之作,是《计算机程序的构造和解释》的“高级续篇”。本书源于麻省理工学院的课程讲义,结合两位作者多年的编程经验,描述了用于构建人工智能应用以及编译器等复杂系统的有效技术。这些技术将帮助程序员灵活地建立系统,了解其中的依赖关系,从而避免陷入编程困境。
本书主要介绍如何利用数学符号操作、基于规则的系统和通用程序构建灵活的软件,并利用依赖系统跟踪、解释和控制回溯。第1章通过对编程哲学的介绍提出灵活性的概念。第2章探讨如何用一些普遍适用的方法构建易于扩展的系统。第3章介绍谓词分派的通用程序。第4章介绍符号模式匹配,首先启用术语重写系统,然后通过合一展示类型推理的实现。第5章探讨解释和编译。第6章展示如何构造分层数据和分层程序的系统,并用各种元数据注释其中的数据项。第7章引入传播这一概念来摆脱计算机语言的面向表达式范式。
目录<br /><br />译者序推荐序前 言<br />致 谢<br />第 1 章 自然和设计中的灵活性 1<br />1.1计算体系结构 3<br />1.2灵活的智能组件 4<br />1.3冗余和简并 7<br />1.4探索行为 9<br />1.5灵活性的成本 10<br />第 2 章 领域专用语言 13<br />2.1组合器 13<br />2.1.1函数组合器 14<br />2.1.2组合器和形体构造 24<br />2.2正则表达式 25<br />2.2.1一种正则表达式组合语言 26<br />2.2.2翻译器的实现 26<br />2.3包装器 32<br />2.3.1定制化包装器 34<br />2.3.2实现定制器 35<br />2.3.3适配器 36<br />2.4抽象领域模型 37<br />2.4.1单一化实现 38<br />2.4.2领域模型分解 41<br />2.5小结 46<br />第 3 章 算 术 主题 48<br />3.1组合算术 48<br /> <br />XIII<br /><br />3.1.1一个简单的 ODE 积分器 48<br />3.1.2调整算术运算符 50<br />3.1.3组合运算 52<br />3.1.4算术函数 57<br />3.1.5组合器问题 60<br />3.2可扩展的通用程序 63<br />3.2.1通用运算 65<br />3.2.2构建取决于顺序 68<br />3.2.3实现通用程序 70<br />3.3示例:自动微分 75<br />3.3.1自动微分的工作原理 77<br />3.3.2n 元函数的导数 81<br />3.3.3一些技术细节 82<br />3.3.4微分参数的文字函数 90<br />3.4高效的通用程序 91<br />3.4.1trie 91<br />3.4.2缓存 96<br />3.5高效的用户自定义类型 97<br />3.5.1谓词的类型 97<br />3.5.2谓词之间的关系 99<br />3.5.3谓词调度关键字 99<br />3.5.4示例:冒险游戏 101<br />3.6小结 113<br />第 4 章模式匹配 115<br />4.1模式 115<br />4.2项重写 117<br />4.2.1代数中的段变量 118<br />4.2.2规则系统的实现 120<br />4.2.3旁白:魔术宏 122<br />4.2.4有向模式调用 123<br />4.3匹配器设计 124<br />4.3.1编译模式 130<br />4.3.2匹配变量 132<br />4.4合一匹配 135<br /> <br />XIV<br /><br />4.4.1合一的工作原理 137<br />4.4.2应用:类型推断 143<br />4.4.3类型推断的工作原理 144<br />4.4.4添加段变量— 一个实验 150<br />4.5图上的模式匹配 155<br />4.5.1将列表表示为图 155<br />4.5.2实现图 156<br />4.5.3图上的匹配 158<br />4.5.4棋盘和可交换图形视图 160<br />4.5.5棋步 164<br />4.5.6实现图形匹配 167<br />4.6小结 172<br />第 5 章评估 174<br />5.1通用 eval/apply 解释器 174<br />5.1.1eval 175<br />5.1.2apply 182<br />5.2具有非严格参数的程序 187<br />5.3编译为可执行程序 194<br />5.4探索行为 202<br />5.4.1amb 203<br />5.4.2实现 amb 205<br />5.5探索潜在连续 210<br />5.5.1作为非本地出口的连续 213<br />5.5.2控制权的非本地转移 214<br />5.5.3从连续到 amb 216<br />5.6能力与责任 223<br />第 6 章分层 225<br />6.1使用分层 225<br />6.2分层的实现 226<br />6.2.1分层数据 227<br />6.2.2分层程序 229<br />6.3分层算法 232<br />6.3.1单位运算 233<br /> <br />XV<br /><br />6.4使用依赖项注释值 237<br />6.4.1支持层 239<br />6.4.2提供正当性 243<br />6.5分层的前景 243<br />第 7 章 传 播 245<br />7.1示例:到恒星的距离 246<br />7.2传播机制 257<br />7.2.1单元 257<br />7.2.2传播器 259<br />7.3多种不同的世界观 261<br />7.4合并值 263<br />7.4.1合并基值 263<br />7.4.2合并支持值 264<br />7.4.3合并值集 265<br />7.5搜索可能的世界 266<br />7.5.1依赖定向回溯 268<br />7.5.2解决组合问题 273<br />7.6传播导致简并 277<br />后 记 279 附录 A 支持软件 281 附录 B Scheme 编程语言 283 参考文献 297<br /> <br /><br />
基本信息 | |
---|---|
出版社 | 机械工业出版社 |
ISBN | 9787111747048 |
条码 | 9787111747048 |
编者 | [美]克里斯·汉森(Chris Hanson) [美]杰拉尔德·杰伊·萨斯曼(Gerald Jay Sussman) |
译者 | |
出版年月 | 2024-03-01 00:00:00.0 |
开本 | 16开 |
装帧 | 平装 |
页数 | 306 |
字数 | 438 |
版次 | 1 |
印次 | 1 |
纸张 |
暂无商品评论信息 [发表商品评论]
暂无商品咨询信息 [发表商品咨询]