同构:编程中的数学

同构:编程中的数学

查阅电子书
手机扫码
  • 微信扫一扫

    关注微信公众号

因版权原因待上架

编辑推荐

本书从数字、递归、对称、范畴、融合、无穷、悖论七个方面介绍了计算机程序的数学基础和原理。

内容简介

全书共分为七章。

第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年由机械工业出版社出版,作者刘新宇 编著。

得书感谢您对《同构:编程中的数学》关注和支持,如本书内容有不良信息或侵权等情形的,请联系本网站。

购买这本书

你可能喜欢
我的Python世界:玩Minecraft我的世界学Python编程 电子书
游戏化学习已成为趋势,而软硬件结合让你真正拥有“万物皆可造”的感觉。
Python少儿趣味编程 电子书
适读人群 :任何想要学习Python或初次接触编程的人;Python语言的初学者、计算机专业的学生。尤其适合信息技术课教师或培训机构的老师以及青少年读者(初高中学生)阅读。 《Python少儿趣味编》由少儿编程畅销图书作者精心编写,是少儿学习Python编程的趣味指南,全书共17章,按照由简到难、逐步深入的方式组织各章内容。《Python少儿趣味编》精心选取内容,注重难易适度,语言通俗易懂,代码示例丰富。在每章的末尾,还给出了一些练习题并给出了解答。 《Python少儿趣味编》具有以下特色: ● 精心选取和组织内容,注重难易适度——涵盖基础知识、趣味应用和热门应用。 ● 坚持“做中学”的理念和方法——通过详细的示例和课后练习帮助读者学习和掌握。 ● 体现趣味性——用海龟给图绘制的机器猫、小猪佩奇等卡通角色,编写贪吃蛇游戏,对古典名著《西游记》分词。 ● 增强可拓展性——逐步扩展和改进的“成绩单”示例程序,章末习题既巩固知识,也拓展编程技能。 《Python少儿趣味编》适合想要学习Python 编程基础的少年儿童(尤其是10 岁以上的孩子)及想要教孩子学习编程的家长阅读,也适合少儿编程培训班的老师用作少儿编程培训的教材。 本书带领读者编写的趣味程序包括: ● 帮Johnson 找到回家的路; ● 逐步扩展和改进的“成绩单”示例程序; ● 用海龟绘图绘制的机器猫; ● 用海龟绘图绘制小猪佩奇; ● 弹球游戏; ● 编写贪吃蛇游戏; ● 对古典名著《西游记》分词。
Python游戏趣味编程 电子书
1.易于学习和理解:先讲解较少的语法知识,通过游戏案例逐步引入新的语法知识; 2.为初学者量身打造:案例从易到难,所有程序的代码均不超过100行; 3.趣味性强:12个案例,涵盖了多种游戏类型,寓教于乐; 4.可拓展性强:提供练习题和参考答案,巩固知识,训练逻辑思维; 5.配套素材齐全:提供完整源代码和分步骤源代码、游戏素材、游戏效果演示视频,可通过异步社区观看游戏开发步骤讲解视频; 6.全彩印刷。 美国教育家杜威曾说过:“大多数的人,只觉得五官能接触的、实用的东西才有趣味,书本上的趣味是没有的。” 《Python游戏趣味编程》通过介绍12个由易到难的有趣游戏案例的编写过程,带领读者学习用Python开发趣味游戏,从而提升读者对编程的兴趣和能力。 《Python游戏趣味编程》把趣味游戏开发应用于Python编程教学,通过介绍12个由易到难的有趣游戏案例的编写过程,带领读者从零基础开始学习。全书共13章,系统讲解了Python语言基本概念、开发环境搭建、循环、列表、数据类型、条件、复合运算符、字符串拼接、布尔变量、数组、函数、列表操作、面向对象编程等基础知识,还介绍了图片操作、文件读写、声音播放、异常处理等较为实用的编程技能,所有这些知识和技能,都通过游戏案例展示其用法。贯穿各章,还给出了一些练习,帮助读者巩固所学的知识。附录A给出了这些练习题的答案,附录B给出了Python语法知识在书中相关章节的索引。 《Python游戏趣味编程》适合不同年龄、不同层次的Python编程初学者阅读和自学,也可以作为中学生、大学生学习程序设计的教材和少儿编程培训机构的参考教材。 本书适合以下人群阅读: 想要让孩子学习Python编程的家长,或者想要自己教孩子编程的家长。 学习过其他编程语言,想要快速学习Python的人。 对计算机游戏感兴趣,想要尝试Python游戏编程的人。 想要学习Python编程的中学生和大学生。 少儿编程培训机构的老师和学生。 任何对计算机编程感兴趣、特别是初次接触编程的人。 本书中制作和讲解的小游戏 弹跳的小球 美丽的圆圈画 疯狂的小圆圈 飞翔的小鸟 见缝插针 飞机大战 勇闯地下一百层 贪吃蛇 拼图游戏 消灭星星 坚持一百秒 趣味图像生成
Go语言高级编程 电子书
Go语言进阶实战,CGO编程web编程书。
Python快速编程入门 电子书
Python是一种面向对象、解释性的高*程序语言,它已经被应用在众多领域,包括Web开发、操作系统管理、服务器运维的自动化脚本、科学计算、桌面软件、服务器软件(网络软件)、游戏等方面。本书以Windows为平台,系统全面地讲解了Python3的基础知识,其中,第1章主要是带领读者认识Python;第2章主要针对Python的基础语法进行讲解;第3章主要介绍Python中的常用语句;第4~5章主要介