算法是啥

算法从古代计数方法到现代计算机程序,历经数千年发展,起源于数学和逻辑推理,如今在人工智能领域发挥关键作用。神经网络算法在图像识别、语音处理等领域取得显著成就,但也面临大数据依赖、可解释性等问题。算法的核心问题包括计算的完备性、一致性和可判定性,以及P?=NP问题。常见的算法流派有排序、搜索、加密、规划等,解题思路包括递归、分治、动态规划和贪心算法。算法已渗透到日常生活,如搜索引擎、导航和调度系统。未来算法将继续解决复杂问题,人与计算机合作将成为趋势。
摘要由CSDN通过智能技术生成

关注:灰质,有趣有料的AI技术分享

9f5bde4462f947c91c132530974149de.png

说到人工智能大家经常会提到算法,算法也是被认为当代人工智能兴起的三大要素“算法、算力和数据”之一,但是算法的历史远比人工智能悠久的多,而且不同行业对于算法的定义不尽相同,或者说用到的算法类型差别很大,今天我们来聊聊算法那些事。

前言

“算法”(algorithm)一词的英文名得名于波斯数学家花拉子密。公元9世纪,这位数学家写过一本书,讨论用纸笔解决数学问题的技巧。[书名为“al-Jabrwa’l-Muqabala”,其中的“al-jabr”就是后来“algebra”(代数)这个词的前身。]不过,最早的数学算法早于花拉子密。在巴格达附近出土的4000年前的苏美尔人泥板文献上,就刻有一幅长除法示意图。算法的中文名则起源于中国古代的《周髀算经》,是中国最古老的天文学和数学著作,约成书于公元前1世纪。

在计算机领域、数学领域、逻辑学等方面对于算法都有相关定义与描述,总的来说算法指的就是计算的方法,计算机通过程序实现,数学通过公式推导实现(其实在希尔伯特将数学机械化、抽象化之前,数学还有很多自然的表达方式,更加直观易懂),逻辑则通过逻辑推理描述。

数学和逻辑的角度,算法本质上是一种逻辑关系的推理,面向现实问题的时候就要选择一套比较符合现象描述的逻辑关系,比如咱们从小学习的四则运算,以及与或非这些逻辑关系,都是与现实问题的描述比较契合的,在这个基础上做逻辑关系的推理,就可以形成一套逻辑运算过程,来指导实际问题解决的步骤。

计算机的角度,算法通常指由计算机执行的一系列指令,即所谓的程序,有明确的输入和输出,用于解决输入给计算机的问题,计算机中的算法表述方式有自然语言、伪代码、程序语言等。其背后的原理可以由信息论和数学来支撑,主要描述的对象是现实世界,现实世界的现象和问题可以尝试用算法来描述,但未必都是精确和最优的解,有时候仅是可行的解,甚至未必有解。

所以玩算法不要脱离现实世界,实事求是比较好,同时要训练好数学、信息论和编程,这是算法的基本功,数学和信息论是内功,编程是招式和技巧。

万物皆可以在一定程度上转化为算法问题,不过也别指望着算法能够解决一切问题,因为理论上,并不是所有问题都可以计算,可以计算的问题也未必能在有生之年计算出来,即使将来有了量子计算机也不一定行。

关于算法的基础理论知识有一门课叫做计算理论,有本经典的书大家可以翻一翻《计算理论导论》,非常抽象,都是计算机领域的大佬们思考的深刻问题,像是什么问题是可以计算的,计算的效率怎么度量和预测等等,一般人稍微知道点常识就可以。搞这个领域的基本都是图灵、哥德尔、希尔伯特这些数学家和数理逻辑学家。比如衡量算法好坏的标准

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值