《数学与泛型编程:高效编程的奥秘》一第2章 算法初谈

简介: 本节书摘来自华章出版社《数学与泛型编程:高效编程的奥秘》一 书中的第2章,第2.1节,作者:丹尼尔E.罗斯(Daniel E. Rose),更多章节内容可以访问云栖社区“华章计算机”公众号查看。

第2章

算 法 初 谈
摩西很快就学会了算术与几何。
……这些知识是他从埃及人那里学来的,
埃及人最重视的研究科目是数学。
——亚历山大的斐洛(Philo of Alexandria),《摩西生平》(Life of Moses)
算法(algorithm)是用来完成计算任务的一系列有限步骤。由于算法与计算机编程的关系特别密切,因此很多人或许认为,算法是一个来自计算机科学专业的概念。其实算法这个词已经有几千年历史了。数学中充满了各种各样的算法,有些算法我们天天在用,就连小学生计算加法时所用的竖式(long addition)都可以说是一种算法。
尽管算法的历史很悠久,但它并不是天生就有的,而是由人发明出来的。虽然我们并不清楚第一个发明算法的人是谁,但我们知道,早在四千多年前埃及就已经有了某些算法。

    • *
      古埃及文明以尼罗河为中心,尼罗河发洪水之后,土壤就变得肥沃起来,从而促进了古埃及的农业发展。可是问题在于,每次洪水过后,用来划分财产边界的那些标志也随之消失了。于是,埃及人就用绳子丈量距离,并拟定一套流程,使自己能够根据早前的书面记录来恢复当时的边界划分情况。有一批专职的祭司负责研究与此有关的数学技巧,这些人叫做“rope-stretcher”(拉绳者),希腊人后来把他们称为geometer,也就是“Earth-measurer”(地形测量者)的意思。

我们很少发现与古埃及人的数学知识有关的文字记录。对于那个时期,目前只发现了两份数学文献,其中一份就是此处要提到的莱因德数学纸草书(Rhind Mathematical Papyru),它以苏格兰收藏家莱因德得名。莱因德在埃及所买的这份纸草书是公元前1650年左右由一位名叫阿姆士(Ahmes)的抄写员所写的。其中含有一系列算术与几何问题,而且还列有一些计算用的表格。这份卷轴里面所写的第一个算法是一种能够迅速计算乘法的技巧,此外还有第二个算法,用来迅速地计算除法。我们首先来讲这个快速乘法算法,在本书后面的章节中大家会发现,该算法当今依然是一项重要的运算技巧。

相关文章
|
存储 安全 算法
|
3月前
|
机器学习/深度学习 人工智能 算法
当AI提示词遇见精密算法:TimeGuessr如何用数学魔法打造文化游戏新体验
TimeGuessr融合AI与历史文化,首创时间与空间双维度评分体系,结合分段惩罚、Haversine距离计算与加权算法,辅以连击、速度与完美奖励机制,实现公平且富挑战性的游戏体验。
|
10月前
|
机器学习/深度学习 算法
扩散模型=进化算法!生物学大佬用数学揭示本质
在机器学习与生物学交叉领域,Tufts和Harvard大学研究人员揭示了扩散模型与进化算法的深刻联系。研究表明,扩散模型本质上是一种进化算法,通过逐步去噪生成数据点,类似于进化中的变异和选择机制。这一发现不仅在理论上具有重要意义,还提出了扩散进化方法,能够高效识别多解、处理高维复杂参数空间,并显著减少计算步骤,为图像生成、视频合成及神经网络优化等应用带来广泛潜力。论文地址:https://arxiv.org/pdf/2410.02543。
307 21
|
11月前
|
机器学习/深度学习 算法 PyTorch
深度强化学习中SAC算法:数学原理、网络架构及其PyTorch实现
软演员-评论家算法(Soft Actor-Critic, SAC)是深度强化学习领域的重要进展,基于最大熵框架优化策略,在探索与利用之间实现动态平衡。SAC通过双Q网络设计和自适应温度参数,提升了训练稳定性和样本效率。本文详细解析了SAC的数学原理、网络架构及PyTorch实现,涵盖演员网络的动作采样与对数概率计算、评论家网络的Q值估计及其损失函数,并介绍了完整的SAC智能体实现流程。SAC在连续动作空间中表现出色,具有高样本效率和稳定的训练过程,适合实际应用场景。
3703 7
深度强化学习中SAC算法:数学原理、网络架构及其PyTorch实现
|
11月前
|
机器学习/深度学习 人工智能 算法
Transformer打破三十年数学猜想!Meta研究者用AI给出反例,算法杀手攻克数学难题
《PatternBoost: Constructions in Mathematics with a Little Help from AI》提出了一种结合传统搜索算法和Transformer神经网络的PatternBoost算法,通过局部搜索和全局优化交替进行,成功应用于组合数学问题。该算法在图论中的Ramsey数研究中找到了更小的反例,推翻了一个30年的猜想,展示了AI在数学研究中的巨大潜力,但也面临可解释性和通用性的挑战。论文地址:https://arxiv.org/abs/2411.00566
281 13
|
算法 Java Go
斐波那契数列是一个非常经典的数学问题,在计算机科学中也经常被用作算法设计和分析的例子。
斐波那契数列是一个非常经典的数学问题,在计算机科学中也经常被用作算法设计和分析的例子。
|
算法 安全 网络安全
支付系统,网络安全06----支付安全---,机密性,加密算法,目前最流行的加密算法,AES加密算法,目前最流行的非对称加密算法RSA,对称加密和非对称加密的优缺点,非对称加密是基于非常复杂的数学算法
支付系统,网络安全06----支付安全---,机密性,加密算法,目前最流行的加密算法,AES加密算法,目前最流行的非对称加密算法RSA,对称加密和非对称加密的优缺点,非对称加密是基于非常复杂的数学算法
|
算法 数据挖掘 定位技术
算法必备数学基础:图论方法由浅入深实践与应用
算法必备数学基础:图论方法由浅入深实践与应用
|
算法
数学算法总结(面积、博弈)
数学算法总结(面积、博弈)
176 0
|
算法 测试技术 C#
【数学】【C++算法】780. 到达终点
【数学】【C++算法】780. 到达终点

热门文章

最新文章