什么是算法?

news2024/9/24 17:14:28

目录

算法是指解决方案的准确而完整的描述。

  1.算法的基本特征

所谓算法,是一组严谨地定义运算顺序的规则

并且每一个规则都是有效的,且是明确的

此顺序将在有限的次数下终止

什么是算法?

算法的4个基本特征

算法的6个基本方法

选择算法时的3个Tips

算法


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

算法是指解决方案的准确而完整的描述。

  对于一个问题,如果可以通过一个计算机程序,在有限的存储空间内运行有限的时间,而得到正确的结果,则称这个问题是算法可解的。但算法不等于程序,也不等于计算方法。当然,程序也可以作为算法的一种描述,但程序通常还需要考虑很多与方法和分析无关的细节问题,这是因为在编写程序时要受到计算机系统运行环境的限制。通常,程序的编制不可能优于算法的设计。

  1.算法的基本特征

  (1)可行性(Effectiveness)

    针对实际问题设计算法,人们总希望能够得到满意的结果。但一个算法又总是在某个特定的计算工具上执行的,因此,算法在执行的过程中往往要受到计算工具的限制,使执行结果产生偏差。例:若某计算工具具有7位有效数字,则设:A=10^12,B=1,C=-10^12,则A+B+C=0,A+C+B=1。所以在设计一个算法的时候必须考虑他的可行性。

  (2)确定性(Definiteness)

   算法的确定性,是指算法中的每一个步骤必须是有明确定义的,不允许有模凌两可的解释,也不允许有多义性。在解决实际问题时,可能会出现这样的情况:针对某种特殊问题,数学公式是正确的,但按此数学公式设计的计算过程可能会使计算机系统无所适从。这是因为根据数学公式设计的计算过程只考虑了正常使用的情况,而当出现异常情况时,次计算过程就不能适应了。

  (3)有穷性(Finiteness)

   算法的有穷性,是指算法必须能在有限的时间内做完。算法的有穷性还应包括合理的执行时间的含义。若一个算法需要执行千万年,显然失去了使用的价值。

  (4)拥有足够的情报

    一个算法执行的结果总是与输入的初始数据有关,不同的输入将会有不同的结果输出。但输入不够或输入错误时,算法本身也就无法执行或导致执行有错。

所谓算法,是一组严谨地定义运算顺序的规则

并且每一个规则都是有效的,且是明确的

此顺序将在有限的次数下终止

什么是算法?

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

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

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

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

 

算法的4个基本特征

算法的4个基本特征

算法具有下面4个特征:

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

算法的6个基本方法

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

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

选择算法时的3个Tips

选择算法的3个tips

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

算法

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

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

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

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/935503.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

浏览器输入一个URL之后发生了什么?

URL解析DNS解析TCP连接TSL连接HTTP请求TCP挥手接收并解析响应 URL 解析 主要分为: 协议,eg http,https域名或者ip地址,eg www.baidu.com 域名相对于ip地址来说,更方便人们记忆,但是实际的网络传输中使用的是ip地址 端…

Java“牵手”天猫商品快递费用API接口数据,天猫API接口申请指南

天猫平台商品快递费用接口是开放平台提供的一种API接口,通过调用API接口,开发者可以获取天猫商品的标题、价格、库存、商品快递费用,宝贝ID,发货地,区域ID,快递费用,月销量、总销量、库存、详情…

十几款拿来就能用的炫酷表白代码

「作者主页」:士别三日wyx 「作者简介」:CSDN top100、阿里云博客专家、华为云享专家、网络安全领域优质创作者 「推荐专栏」:小白零基础《Python入门到精通》 表白代码 1、坐我女朋友好吗,不同意就关机.vbs2、坐我女朋友好吗&…

订单状态定时处理、来单提醒和客户催单

一、Spring Task 1.1 基本介绍 1.2 cron表达式 cron表达式其实就是一个字符串,通过cron表达式可以定义任务触发的时间 构成规则:分为6或7个域,由空格分隔开,每个域代表一个含义 每个域的含义分别为:秒、分钟、小时、日…

C++|观察者模式

观察者模式: 定义对象间的一种一对多(变化)的依赖关系,以便当一个 对象(Subject)的状态发生改变时,所有依赖于它的对象都 得到通知并自动更新 动机: 在软件构建过程中,我们需要为某些对象建立…

【深度学习 | 核心概念】那些深度学习路上必经的核心概念,确定不来看看?(一)

🤵‍♂️ 个人主页: AI_magician 📡主页地址: 作者简介:CSDN内容合伙人,全栈领域优质创作者。 👨‍💻景愿:旨在于能和更多的热爱计算机的伙伴一起成长!!&…

基于吉萨金字塔建造算法优化的BP神经网络(预测应用) - 附代码

基于吉萨金字塔建造算法优化的BP神经网络(预测应用) - 附代码 文章目录 基于吉萨金字塔建造算法优化的BP神经网络(预测应用) - 附代码1.数据介绍2.吉萨金字塔建造优化BP神经网络2.1 BP神经网络参数设置2.2 吉萨金字塔建造算法应用…

SpringBoot与前端交互遇到的一些问题

一、XXX.jar中没有主清单属性 场景: SpringBoot打的jar包在Linux运行报错 解决方案: 百度找了很多都是一样的答案,但是解决不了我的问题,于是我新建了一个springboot项目发现打的jar包可以在Linux上运行。检查了下只要把下面这2个…

R语言之缺失值处理

文章和代码已经归档至【Github仓库:https://github.com/timerring/dive-into-AI 】或者公众号【AIShareLab】回复 R语言 也可获取。 文章目录 缺失值处理1. 识别缺失值2. 探索数据框里的缺失值3. 填充缺失值3.1 删除缺失值:na.omit( )、complete.cases( …

机器学习:异常检测实战

文章目录 Anomaly Detection目录任务介绍数据集方法评估Baseline报告报告评价标准 Anomaly Detection 目录 任务介绍 无监督的异常检测 数据集 方法 autoencode 是否能够还原出原始类型图片,基于重构loss来判断是否正常 重构误差当作异常分数 评估 采用ROC和AUC…

Kubernetes入门 十、HPA 自动扩/缩容

目录 概述安装metrics-server使用HPA 概述 我们已经可以通过手动执行 kubectl scale 命令实现Pod的扩缩容,但是这显然不符合 Kubernetes 的定位目标–自动化和智能化。Kubernetes 期望可以通过监测Pod的使用情况,实现 Pod 数量的自动调整,于…

Orange Pi 3B 开发板 开箱评测 和 系统安装教程

香橙派 Orange Pi 3B(RK3566)开发板 开箱测评 和 系统烧录教程 简介 香橙派 Orange Pi 3B 是一款树莓派大小的单板计算机,但接口更加齐全,包括一个全尺寸 HDMI 接口和一个 M.2 存储插槽,售价199起。 Orange Pi 3B 采…

【Tkinter系列02/5】界面初步和布局

本文是系列文章第二部分。前文见:【Tkinter系列01/5】界面初步和布局_无水先生的博客-CSDN博客 说明 一般来说,界面开发中,如果不是大型的软件,就不必用QT之类的实现,用Tkinter已经足够,然而即便是Tkinter规…

软考:中级软件设计师:OSI/RM七层模型,网络技术标准与协议

软考:中级软件设计师:OSI/RM七层模型 提示:系列被面试官问的问题,我自己当时不会,所以下来自己复盘一下,认真学习和总结,以应对未来更多的可能性 关于互联网大厂的笔试面试,都是需要细心准备的…

No117.精选前端面试题,享受每天的挑战和学习

文章目录 断点续传怎么做的秒传怎么实现var let const 块级作用域ts Partial Omit 怎么实现的箭头函数有哪些限制箭头函数为什么不能作为构造函数promise常用apiMap和Object的区别vue怎么实现双向绑定 断点续传怎么做的 断点续传是指在文件下载或上传过程中,当连接…

ForexClub七夕交易大赛启动! 点燃交易之火为爱而战!

在这个充满激情的七夕季,ForexClub与您携手,掀起交易狂潮!点燃您心中的交易热忱,冲锋市场,赢取惊人奖金!别等了,参赛即有机会获得77美元的交易赠金,让我们一同为迸发的交易机会,燃烧一片天! 【大…

直流无刷电机工作原理及有感方波控制

BLDC方波控制 BLDC工作原理BLDC换向驱动过程有感控制模式 BLDC工作原理 首先要知道,BLDC转起来是基于什么原理 BLDC包括定子(线圈)和转子(永磁体),线圈要通电,通电的线圈具有磁场,该…

基于寄生捕食算法优化的BP神经网络(预测应用) - 附代码

基于寄生捕食算法优化的BP神经网络(预测应用) - 附代码 文章目录 基于寄生捕食算法优化的BP神经网络(预测应用) - 附代码1.数据介绍2.寄生捕食优化BP神经网络2.1 BP神经网络参数设置2.2 寄生捕食算法应用 4.测试结果:5…

01.基于自定义MVC架构的用户登录与首页展示实现 — OA项目实践

目录 本章节目标:完成OA项目用户登录及首页展示 一.用户登录 User.java UserDao.java IUserDao.java UserAction.java login.jsp(登录界面) userManage.jsp (数据绑定,修改,删除) userEdit.jsp(用…

windows wvp-gb28181-pro一键安装的脚本流程

流程图 【金山文档】 windows wvp安装脚本流程https://kdocs.cn/l/cataPonNMXNm