什么是算法? – Algorithm

news/2025/2/7 11:25:41/

人工智能有三驾马车:数据、算法、算力。本文重点介绍算法相关的知识。

本文将介绍算法在人工智能里的概念,算法的4个特征、6个通用方法。以及在选择算法时需要注意的3个点。

目录

什么是算法

算法的4个基本特征

算法的6个基本方法

选择算法时的3个Tips

百度百科+维基百科


1. 什么是算法

简单的说,算法就是:解决问题的手段,并且是批量化解决问题的手段。

菜谱就是一种“算法”,只要按照菜谱的方法做,就能做出对应的菜。

人工智能里的算法主要是用来训练模型的。

机器学习 一共有7步,第3步就是选择合适的算法模型。通过训练得到最后的可预测模型。

2. 算法的4个基本特征

<a class=算法的4个基本特征" height="639" src="https://i-blog.csdnimg.cn/img_convert/ecb4b0661dab6796ced7828df98d8345.png" width="1500" />

算法具有下面4个特征:

  1. 可行性
  2. 确定性
  3. 有穷性
  4. 拥有足够的情报

关于这4项特征详细的说明请查看《算法的基本概念》

3. 算法的6个基本方法

计算机的算法和人类计算的方式不同,大致有6种不同的思路:

  1. 列举法
  2. 归纳法
  3. 递推
  4. 递归
  5. 减半递推技术
  6. 回溯法

想要了解详情可以查看《算法的基本概念》

4. 选择算法时的3个Tips

选择<a class=算法的3个tips" height="639" src="https://i-blog.csdnimg.cn/img_convert/d39c10e2eaab7aa4221aa8ba46d8723e.png" width="1500" />

  1. 解决不同的问题可能会用到不同的算法,也可能用相同的算法没有某种算法是万能的,只是适用的范围不同而已。
  2. 算法没有高级和低级之分,快速便宜的解决问题才是目的,一味追求复杂的算法(例如:深度学习),相当于“用大炮打蚊子”
  3. 有时候有多种算法可以解决同一个问题,用最低的成本和最短的时间解决问题才是目的。根据不同环境选择合适的算法很重要。

5. 百度百科+维基百科解释

百度百科版本

算法是指解题方案的准确而完整的描述,是一系列解决问题的清晰指令,算法代表着用系统的方法描述解决问题的策略机制。也就是说,能够对一定规范的输入,在有限时间内获得所要求的输出。

如果一个算法有缺陷,或不适合于某个问题,执行这个算法将不会解决这个问题。不同的算法可能用不同的时间、空间或效率来完成同样的任务。一个算法的优劣可以用空间复杂度与时间复杂度来衡量。 算法中的指令描述的是一个计算,当其运行时能从一个初始状态和(可能为空的)初始输入开始,经过一系列有限而清晰定义的状态,最终产生输出并停止于一个终态。

维基百科版本

在数学和计算机科学中,算法是如何解决一类问题的明确规范。算法可以执行计算,数据处理和自动推理任务。

作为一种有效的方法,算法可以在有限的空间和时间内以及用于计算函数的明确定义的形式语言中表达。从初始状态和初始输入开始,指令描述了一种计算,当执行时,通过有限个明确定义的连续状态,最终产生“输出”和终止于最终结束状态。

算法的概念已经存在了几个世纪。希腊数学家在例如Eratosthenes的筛子中使用算法来寻找素数,并使用Euclidean算法来找到两个数的最大公约数。算法这个词本身来自9世纪的数学家MuḥammadibnMūsāal-Khwārizmī,拉丁化的Algoritmi。对于现代算法概念的部分形式化始于试图解决大卫希尔伯特于1928年提出的Entscheidungsproblem(决策问题)。后来的形式化被定义为试图定义“有效可计算性”或“有效方法” 。这些形式化包括1930年,1934年和1935年的Gödel-Herbrand-Kleene递归函数,1936年的Alonzo Church的lambda演算,1936年的Emil Post的Formulation 1,以及1936-37和1939年的Alan Turing的图灵机。


http://www.ppmy.cn/news/1570052.html

相关文章

大数据学习之Spark分布式计算框架RDD、内核进阶

一.RDD 28.RDD_为什么需要RDD 29.RDD_定义 30.RDD_五大特性总述 31.RDD_五大特性1 32.RDD_五大特性2 33.RDD_五大特性3 34.RDD_五大特性4 35.RDD_五大特性5 36.RDD_五大特性总结 37.RDD_创建概述 38.RDD_并行化创建 演示代码&#xff1a; // 获取当前 RDD 的分区数 Since ( …

蓝桥杯刷题 DAY4:小根堆 区间合并+二分

import os import sys import heapq# 请在此输入您的代码if __name__"__main__":x,n map(int,input().split())l[]a[0]*nb[0]*nc[0]*nq[]for i in range(n):l.append(list( map( int ,input().split()) ))l.sort(keylambda pair:-pair[1])total0j0for i in range(x,0…

使用Ollama 在Ubuntu运行deepseek大模型:以DeepSeek-coder为例

DeepSeek大模型这几天冲上热搜啦&#xff01; 咱们来亲身感受下DeepSeek模型的魅力吧&#xff01; 整个操作流程非常简单方便&#xff0c;只需要2步&#xff0c;先安装Ollama&#xff0c;然后执行大模型即可。 安装Ollama 在Ubuntu下安装Ollama非常简单&#xff0c;直接sna…

GB/T 43698-2024 《网络安全技术 软件供应链安全要求》标准解读

一、43698-2024标准图解 https://mmbiz.qpic.cn/sz_mmbiz_png/rwcfRwCticvgeBPR8TWIPywUP8nGp4IMFwwrxAHMZ9Enfp3wibNxnfichT5zs7rh2FxTZWMxz0je9TZSqQ0lNZ7lQ/640?wx_fmtpng&fromappmsg 标准在线预览&#xff1a; 国家标准|GB/T 43698-2024 相关标准&#xff1a; &a…

基于单片机的智能感控杆设计(论文+源码)

2.1功能设计 本次以智能感控杆设计为题&#xff0c;智能感控杆是一种可以应用在多种场合的设备&#xff0c;可以极大的节约人类的精力和时间。在此将其主要功能设计如下&#xff1a; 1.LCD1602液晶显示当前感控杆状态开启/关闭&#xff0c;显示当前模式手动/自动&#xff1b…

K8S学习笔记-------2.极简易懂的入门示例

K8S学习笔记-------2.极简易懂的入门示例 1. 准备应用代码1.1 确保 Node.js 和 npm 已安装1.2. 创建项目目录并初始化项目1.3. 安装 Express1.4 验证安装 2.容器化应用2.1 准备 Dockerfile2.2 构建镜像 3.编写K8s配置文件创建 Deployment创建 Service 4.部署到K8s集群应用Deplo…

技术架构师成长路线(2025版)

目录 通用知识 计算机原理&#xff08;1 - 2 个月&#xff09; 数据结构&#xff08;2 - 3 个月&#xff09; 网络编程&#xff08;1 - 2 个月&#xff09; 软件工程&#xff08;1 个月&#xff09; 基础知识 Java 编程语言基础&#xff08;2 - 3 个月&#xff09; JVM&…

【深度学习框架】MXNet(Apache MXNet)

MXNet&#xff08;Apache MXNet&#xff09;是一个 高性能、可扩展 的 开源深度学习框架&#xff0c;支持 多种编程语言&#xff08;如 Python、R、Scala、C 和 Julia&#xff09;&#xff0c;并能在 CPU、GPU 以及分布式集群 上高效运行。MXNet 是亚马逊 AWS 官方支持的深度学…