类似推荐
编辑推荐
本书从数字、递归、对称、范畴、融合、无穷、悖论七个方面介绍了计算机程序的数学基础和原理。
内容简介
全书共分为七章。
第1章介绍皮亚诺算术公理系统,通过5条公理,构筑了计算机程序大厦的基石;通过单向链表、斐波那契数列等例子,展示了和自然数同构的计算结构。
第2章介绍递归,通过欧几里得算法作为开端,最终把递归的数学原理构建在Lambda演算和Y组合子之上。
第3章介绍对称群、环、域等抽象代数结构,解释了伽罗瓦理论这一抽象思维的明珠。
第4章介绍范畴论,把列表、异常、多态、类型系统、复合数据结构等众多编程概念构筑在范畴论的基础上。
第5章介绍融合律,它是进行算法推导和优化的有力工具。
第6章介绍无穷,给出了康托尔的无穷集合论和超限数概念,介绍了编程中流的概念和无穷的关系。
第7章以罗素悖论、可计算性和哥德尔不完全性定理结束本书,介绍了计算能力的边界和对编程基础哲学的影响。
本书还在各个章节中介绍相关数学家的人生经历和逸闻趣事,讲解他们如何克服困难、追求真理、创造奇迹,并穿插讲述编程、数学、艺术、音乐之间的有趣联系。
作者简介
编著者刘新宇,亚马逊中国研发中心研发经理,负责分布式仓储物流系统的开发。1999年和2002年在清华大学自动化系分别获得学士和硕士学位。长期专注于函数式基础算法。
章节目录
版权信息
推荐序
前言
第1章 数字
1.1 数的诞生
1.2 皮亚诺自然数公理
1.3 自然数和计算机程序
1.4 自然数的结构
1.5 自然数的同构
1.6 形式与结构
第2章 递归
2.1 万物皆数
2.2 欧几里得算法
2.2.1 欧几里得和《几何原本》
2.2.2 欧几里得算法概述
2.2.3 扩展欧几里得算法
2.2.4 欧几里得算法的意义
2.3 λ演算
2.3.1 表达式化简
2.3.2 λ抽象
2.3.3 λ变换规则
2.4 递归的定义
2.5 λ演算的意义
2.6 更多的递归结构
2.7 递归的形式与结构
2.8 附录:倒水趣题完整程序
第3章 对称
3.1 什么是对称
3.2 群
3.2.1 群的定义
3.2.2 幺半群与半群
3.2.3 群的性质
3.2.4 置换群
3.2.5 群与对称
3.2.6 旋转对称与循环群
3.2.7 分圆方程
3.2.8 子群
3.2.9 拉格朗日定理
3.3 环与域
3.3.1 环的定义
3.3.2 除环和域
3.4 伽罗瓦理论
3.4.1 扩域
3.4.2 从牛顿、拉格朗日到伽罗瓦
3.4.3 自同构和伽罗瓦群
3.4.4 伽罗瓦基本定理
3.4.5 可解性
3.5 附录:伽罗瓦群
第4章 范畴
4.1 范畴概述
4.1.1 范畴的例子
4.1.2 箭头≠函数
4.2 函子
4.2.1 函子的定义
4.2.2 函子的例子
4.3 积与和
4.3.1 积与和的定义
4.3.2 积与和的性质
4.3.3 积与和作为函子
4.4 自然变换
4.4.1 自然变换的例子
4.4.2 自然同构
4.5 数据类型
4.5.1 起始对象和终止对象
4.5.2 幂
4.5.3 笛卡儿闭和对象算术
4.5.4 多项式函子
4.5.5 F-代数
4.6 小结
4.7 扩展阅读
4.8 附录:例子代码
第5章 融合
5.1 叠加-构建的融合
5.1.1 列表的叠加操作
5.1.2 叠加-构建融合律
5.1.3 列表的构建形式
5.1.4 使用融合律化简
5.1.5 类型限制
5.1.6 用范畴论推导融合律
5.2 巧算100
5.2.1 穷举法
5.2.2 改进
5.3 小结和扩展阅读
5.4 附录:巧算100问题的代码
第6章 无穷
6.1 无穷概念的提出
6.1.1 无穷的哲学
6.1.2 穷竭法与微积分
6.2 潜无穷与编程
6.3 实无穷的思考
6.3.1 无穷王国的花园
6.3.2 一一对应与无穷集合
6.3.3 可数无穷与不可数无穷
6.3.4 戴德金分割
6.3.5 超限数和连续统假设
6.4 无穷与艺术
6.5 附录:例子代码
6.6 附录:康托尔定理的证明
6.7 附录:巴赫《音乐的奉献》无限上升的卡农
第7章 悖论
7.1 计算的边界
7.2 罗素悖论
7.3 数学基础的分歧
7.3.1 逻辑主义
7.3.2 直觉主义
7.3.3 形式主义
7.3.4 公理集合论
7.4 哥德尔不完全性定理
7.5 不完全性定理的证明
7.5.1 构建形式系统
7.5.2 哥德尔配数
7.5.3 构造自我指涉
7.6 万能的程序与对角线证明
7.7 尾声
附录
加法交换律的证明
积与和的唯一性
集合的笛卡儿积和不相交并集构成积与和的证明
参考答案
参考文献
同构:编程中的数学是2022年由机械工业出版社出版,作者刘新宇 编著。
得书感谢您对《同构:编程中的数学》关注和支持,如本书内容有不良信息或侵权等情形的,请联系本网站。