算法的本质

先来看看网上对“算法”的定义。

(1)百度百科:解题方案的准确而完整的描述。

老金疑问:把大象装冰箱的解题方案描述是算法吗?如果它是算法,那么宋老师当时一定是在进行算法表演了?

(2)百度AI:为解决某一特定问题而规定的、有限长的操作序列。

老金疑问:按照这个定义,世上所有的标准、流程、规范都可纳入算法的范畴。

网上说算法有三个核心要素,五个特征。

三个核心要素:

特定问题:算法是针对某一具体问题设计的。

②有限长的操作序列:算法是一系列步骤或操作的集合,这些步骤或操作的数量是有限的,即算法不能是无限循环的。

③规定性:算法的每一个步骤或操作都必须是明确、无歧义的,以便计算机或其他执行者能够准确执行。

五个特征:

有穷性(Finiteness):算法的步骤是有限的;

②确切性(Definiteness):算法的每一步必须明确;

③输入项(Input):有0个或多个输入(0个输入是指算法本身定出了初始条件);

④输出项(Output):有一个或多个输出。没有输出的算法是毫无意义的;

⑤可行性(Effectiveness):算法中的任何计算步骤都是可以被分解为基本的可执行的操作步骤,即每个计算步骤都可以在有限时间内完成(也称之为有效性)。

但以上说的都不是算法的本质特征,在老金看来这些表述几近于严谨的废话。

算法区别于其他东东的独特性在哪里呢?

老金解释问题喜欢从文字的本源出发。算就是计算,法就是方法,所以算法就是计算的方法。计算就是算术、就是数学,所以老金认为算法的本质就是:用数学解决问题的方法。

“算法”的中文名称出自《周髀算经》,英文名称Algorithm 源自于9世纪波斯数学家al-Khwarizmi,是他在数学上提出了算法这个概念。“算法”原为"algorism",意思是阿拉伯数字的运算法则,在18世纪演变为"algorithm"。

所以,无论从字面意思还是从历史渊源,算法都离不开数学。

算法的本质是数学。

宋老师的装大象三步曲只是一种纯语文描述,因而不能视为算法,除非它具有数学特征(有数据、有运算),才能视为算法。

装大象问题真要进行算法描述,可能会是这样:

1.大象数据获取

(1)大象的三维尺寸数据。

(2)大象的体重范围。

(3)大象的攻击强度。

2.确定冰箱参数

(1)按大象的尺寸确定冰箱的长宽高。

(2)根据大象的最大体重及破坏力确定冰箱的材质、结构。

(3)冰箱门从内部开启力需小于大象的最大输出力。

(4)设定冰箱的适宜温度。

(5)设定冰箱的氧气供应量。

3.打造冰箱

(1)对所有参数进行运算,确定冰箱打造可行性。

(2)发出冰箱制造指令。

4.将大象放入冰箱

(1)检查大象的位置和状态。

(2)移动冰箱到装大象的合适位置。

(3)打开冰箱。

(4)食物引诱大象进入冰箱,如果30分钟内它不自行进入召唤擎天柱采取强硬措施。

5.关闭冰箱

(1)确定大象身体完全进入冰箱。

(2)关闭冰箱门,并确认冰箱完全关闭、锁止,以确保大象不会逃出。

当然,这个算法描述也只是个大框,缺少细节,而且可能也不完整。但它是包含了数学特征的,所以是可以视为算法的。

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

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

相关文章

【多模态融合】SuperFusion 激光雷达与相机多层次融合 远距离高清地图预测 ICRA 2024

前言 本文介绍激光雷达与相机进行多层次融合,包括数据级融合、特征级融合和BEV级融合。 融合后的BEV特征可以支持不同的任务头,包括语义分割、实例编码和方向预测,最后进行后处理生成高清地图预测,它是来自ICRA 2024的。 会讲解…

【ZZULIOJ】1001: 整数a+b(Java)

目录 题目描述 输入 输出 样例输入 样例输出 code 题目描述 计算两个整数的和。 输入 输入两个整数,两个整数用空格隔开。 输出 输出为两个整数的和,单独占一行。 样例输入 1 1 样例输出 2 code import java.util.*;public class M…

集合系列(十五) -CopyOnWriteArrayList详解

一、摘要 在介绍 CopyOnWriteArrayList 之前&#xff0c;我们一起先来看看如下方法执行结果&#xff0c;代码内容如下&#xff1a; public static void main(String[] args) {List<String> list new ArrayList<String>();list.add("1");list.add(&quo…

[BT]BUUCTF刷题第8天(3.26)

第8天 Web [CISCN2019 华北赛区 Day2 Web1]Hack World 题目明确提示flag在flag表里的flag列&#xff0c;这里先尝试1 返回&#xff1a;你好&#xff0c;glzjin想要一个女朋友。 再尝试1&#xff0c;返回bool(false) 到这里就感觉是布尔盲注的题目类型了&#xff08;虽然我没…

Java方法返回类型详解

文章目录 在Java编程语言中&#xff0c;方法&#xff08;函数&#xff09;的返回类型可以非常多样&#xff0c;主要包括以下几类&#xff1a; 1.无返回值类型&#xff1a; 使用 void 关键字表示&#xff0c;这类方法不返回任何值&#xff0c;主要用于执行某种操作&#xff0c;如…

EtherCAT转RS232网关在风电领域的应用

开疆智能EtherCAT转RS232网关在风电领域的应用主要体现在以下几个方面&#xff1a; 1.数据采集与传输&#xff1a;在风力发电设备中&#xff0c;传感器和执行器的数据采集和传输至关重要。EtherCAT转RS232网关可以将风力发电设备中的RS232通信协议转换为EtherCAT协议&#xff0…

港澳青年看祖国—千名青年创业家内地暨江港青年交流活动在江举行

为聚焦“一点两地”全新定位&#xff0c;助力纵深推进新阶段粤港澳大湾区建设&#xff0c;3月22日&#xff0c;江门市委统战部、团市委、市青联联合香港深水埗区青年发展及公民教育委员会、愿景基金会、香港青年创业家总商会举办千名青年创业家内地行暨江港青年交流活动&#x…

网络安全威胁

目录 <威胁> 1.网络硬件设备和线路的安全威胁 2.网络系统和软件的安全威胁 3.环境的安全威胁 4.网络管理人员和网络使用人的安全意识威胁 <措施> 1、物理安全措施 2、访问控制措施 3、网络通信安全措施包括建立物理安全的传输媒介&#xff0c;以及对传输数…

【小黑送书—第十四期】>>重磅升级——《Excel函数与公式应用大全》(文末送书)

今天给大家带来AI时代系列书籍&#xff1a;《Excel 2019函数与公式应用大全》全新升级版&#xff0c;Excel Home多位微软全球MVP专家打造&#xff0c;精选Excel Home海量案例&#xff0c;披露Excel专家多年研究成果&#xff0c;让你分分钟搞定海量数据运算&#xff01; 由北京…

出场人物介绍

小张&#xff1a;2年工作经验&#xff0c;工作浮躁&#xff0c;什么都涉猎都不深入。解决问题往往流于表面。bug创造者。 月薪15000 开发的功能客户评价“反人类”&#xff0c;虽然能用就是不好用。 总是抱怨客户需求老变&#xff0c;口头语是“你怎么不早说&#xff1f;” 整天…

Redis 教程系列之Redis PHP 使用 Redis(十二)

PHP 使用 Redis 安装 开始在 PHP 中使用 Redis 前&#xff0c; 我们需要确保已经安装了 redis 服务及 PHP redis 驱动&#xff0c;且你的机器上能正常使用 PHP。 接下来让我们安装 PHP redis 驱动&#xff1a;下载地址为:https://github.com/phpredis/phpredis/releases。 P…

fs.1.10 ON CENTOS7 docker镜像制作

概述 freeswitch是一款简单好用的VOIP开源软交换平台。 centos7 docker上编译安装fs1.10版本的流程记录。 环境 docker engine&#xff1a;Version 24.0.6 centos docker&#xff1a;7 freeswitch&#xff1a;v1.10.7 手动模式 centos准备 docker hub拉取centos镜像。…

3.26学习总结java初步实现学生管理系统

(该项目通过视频讲解过程中完成,其中将一些操作进行了修改和完善,其目的是为了巩固前面学习java的一些用法,熟悉写项目的过程) 一.项目要求 学生类: 属性:id、姓名、年龄、家庭住址 添加功能: 键盘录入每一个学生信息并添加&#xff0c;需要满足以下要求: ID唯一 删除功能…

VMware扩容硬盘

最近研究Oracle的备份导入导出功能&#xff0c;但是因为磁盘容量不够导致表空间的扩容没办法&#xff0c;从而没办法导入数据库的dmp文件。得想办法先扩容磁盘容量。话不多说上截图操作。 操作环境&#xff1a;VMware10 , Centos 6.9 VMware扩容硬盘步骤 一、关闭虚拟机&…

v4l2采集视频

Video4Linux2&#xff08;v4l2&#xff09;是用于Linux系统的视频设备驱动框架&#xff0c;它允许用户空间应用程序直接与视频设备&#xff08;如摄像头、视频采集卡等&#xff09;进行交互。 linux系统下一切皆文件&#xff0c;对视频设备的操作就像对文件的操作一样&#xff…

蓝桥杯刷题-子串简写

子串简写 代码 kint(input()) s,c1,c2input().split() pre[0]*len(s) ans0 for i in range(len(s)):pre[i]pre[i-1]if c1s[i]:pre[i]1elif c2s[i] and i1-k>0:anspre[i-k1] print(ans)

【MySQL】4.MySQL日志管理与数据库的备份和恢复

备份的目的只要是为了灾难恢复&#xff0c;备份还可以测试应用&#xff0c;回滚数据&#xff0c;修改和查询历史数据&#xff0c;审计等 日志在备份、恢复中起着重要作用 一、数据库备份的重要性 在生产环境中&#xff0c;数据的安全性至关重要 任何数据丢失都可能产生严重的…

苍穹外卖项目-01(开发流程,介绍,开发环境搭建,nginx反向代理,Swagger)

目录 一、软件开发整体介绍 1. 软件开发流程 1 第1阶段: 需求分析 2 第2阶段: 设计 3 第3阶段: 编码 4 第4阶段: 测试 5 第5阶段: 上线运维 2. 角色分工 3. 软件环境 1 开发环境(development) 2 测试环境(testing) 3 生产环境(production) 二、苍穹外卖项目介绍 …

spring cloud 熔断、限流、服务降级、负载均衡总结

springcloud 微服务网关 zuul.strip-prefixtrue zuul.routes.postgres-client.path /ps01/** zuul.routes.postgres-client.service-idpostgres-client zuul.routes.postgres-client02.path/ps02/** zuul.routes.postgres-client02.service-idpostgres-client02 zuul.semaphor…

第二证券|股票限售解禁是怎么回事?

限售股是指那些卖出受到限制的股票&#xff0c;其受到了不少投资者的重视。关于股票限售解禁是怎么回事&#xff0c;第二证券下面就为大家详细介绍一下。 股票限售解禁是指一些本来不能在二级商场上自在买卖的股票&#xff0c;当满足必定的条件后能够在二级商场上自在买卖。一…