《同构:编程中的数学》刘新宇 | PDF下载|ePub下载
同构:编程中的数学 版权信息
- 出版社:机械工业出版社
- 出版时间:2023-06-01
- ISBN:9787111725640
- 条形码:9787111725640 ; 978-7-111-72564-0
同构:编程中的数学 本书特色
从数字、递归、对称、范畴、融合、无穷、悖论七个方面介绍了计算机程序的数学基础和原理
同构:编程中的数学 内容简介
本书从七个方面介绍了计算机程序的数学基础和原理,并以“同构”概念为线索揭示出编程本质上是和数学同构的。这七个方面分别是:数字、递归、对称、范畴、融合、无穷、悖论。第1章“数字”介绍皮亚诺算术公理系统。通过5条公理,构筑了计算机程序大厦的基石。通过单向链表,斐波那契数列等例子,展示了和自然数同构的计算结构。第2章介绍递归。通过欧几里得算法作为开端,把递归的数学原理构建在Lambda演算和Y组合子之上。第3章通过对称介绍群、环、域等抽象代数结构,并解释伽罗瓦理论这一抽象思维的明珠。第4章介绍范畴论。把列表、异常、多态、类型系统、复合数据结构等众多编程概念构筑在范畴论的基础上。第5章介绍融合律。它是进行算法推导和优化的有力工具。第6章介绍无穷。给出了康托尔的无穷集合论和超限数概念,介绍了编程中流的概念和无穷的关系。第7章以罗素悖论、可计算性和哥德尔不接近性定理结束本书。介绍了计算能力的边界和对编程基础哲学的影响。
同构:编程中的数学 目录
第1章数字11.1数的诞生11.2皮亚诺自然数公理21.3自然数和计算机程序41.4自然数的结构61.5自然数的同构101.6形式与结构14第2章递归162.1万物皆数162.2欧几里得算法182.2.1欧几里得和《几何原本》192.2.2欧几里得算法概述192.2.3扩展欧几里得算法222.2.4欧几里得算法的意义262.3λ演算282.3.1表达式化简302.3.2λ抽象312.3.3λ变换规则312.4递归的定义352.5λ演算的意义362.6更多的递归结构382.7递归的形式与结构392.8附录:倒水趣题完整程序42第3章对称433.1什么是对称433.2群463.2.1群的定义503.2.2幺半群与半群523.2.3群的性质553.2.4置换群583.2.5群与对称613.2.6旋转对称与循环群623.2.7分圆方程653.2.8子群663.2.9拉格朗日定理723.3环与域823.3.1环的定义843.3.2除环和域863.4伽罗瓦理论873.4.1扩域873.4.2从牛顿、拉格朗日到伽罗瓦893.4.3自同构和伽罗瓦群953.4.4伽罗瓦基本定理963.4.5可解性983.5附录:伽罗瓦群 100第4章范畴1024.1范畴概述1044.1.1范畴的例子1064.1.2箭头≠函数1104.2函子1114.2.1函子的定义1114.2.2函子的例子1124.3积与和1184.3.1积与和的定义1204.3.2积与和的性质1224.3.3积与和作为函子1234.4自然变换1264.4.1自然变换的例子1274.4.2自然同构1304.5数据类型1314.5.1起始对象和终止对象1314.5.2幂1364.5.3笛卡儿闭和对象算术1404.5.4多项式函子1424.5.5F-代数1434.6小结1564.7扩展阅读1584.8附录:例子代码158第5章融合1605.1叠加-构建的融合1615.1.1列表的叠加操作1625.1.2叠加-构建融合律1635.1.3列表的构建形式1645.1.4使用融合律化简1655.1.5类型限制1675.1.6用范畴论推导融合律1685.2巧算1001715.2.1穷举法1715.2.2改进1735.3小结和扩展阅读1755.4附录:巧算100问题的代码175第6章无穷1776.1无穷概念的提出1796.1.1无穷的哲学1816.1.2穷竭法与微积分1836.2潜无穷与编程1866.3实无穷的思考1916.3.1无穷王国的花园1926.3.2一一对应与无穷集合1946.3.3可数无穷与不可数无穷2006.3.4戴德金分割2036.3.5超限数和连续统假设2056.4无穷与艺术2096.5附录:例子代码2146.6附录:康托尔定理的证明2156.7附录:巴赫《音乐的奉献》无限上升的卡农216第7章悖论2187.1计算的边界2217.2罗素悖论2227.3数学基础的分歧2257.3.1逻辑主义2257.3.2直觉主义2277.3.3形式主义2297.3.4公理集合论2307.4哥德尔不完全性定理2327.5不完全性定理的证明2347.5.1构建形式系统2347.5.2哥德尔配数2377.5.3构造自我指涉2387.6万能的程序与对角线证明2397.7尾声240附录241加法交换律的证明241积与和的唯一性242集合的笛卡儿积和不相交并集构成积与和的证明243参考答案246参考文献296
同构:编程中的数学 作者简介
刘新宇,毕业于清华大学,现任亚马逊中国研发中心物流技术团队研发经理,拥有二十余年研发经验,长期专注于函数式基础算法。