如何解决算法可以是一条指令吗?
算法这个词最常见的定义是:
“算法是一组明确的指令”
说的对吗
“算法是一组明确的指令/指令”
简单的算法可以是一条指令吗?
解决方法
你引用的定义说一个算法是一个“有限有序集”,它不仅允许一个算法是一个单一的指令(即一个具有一个元素的集合),它甚至允许对于具有无指令(即空集)的算法。
也就是说,我们不应该从字面上理解“有限有序集合”,因为集合不能有重复的元素,而算法可以有重复的指令。此外,“相同”算法可以有多种不同的“实现”,它们并不是严格相同的有序指令集;例如,参见 Rosetta Code,其中列出了冒泡排序算法的许多不同实现,它们在严格的数学意义上都是不同的“指令集”,但在程序员通常理解的意义上它们是相同的“算法”和计算机科学家。
所以真正的答案是,如果您定义“算法”一词来允许,那么算法可以是单个指令,并且大多数定义要么允许它,不明确排除它,要么并不意味着严格无论如何,数学定义。
作为一个语法注释,没有必要说“指令集/指令集”,以包含集合大小为 1 的可能性;如果您想排除这种可能性,则必须说“至少包含两条指令”。
,可以说是的,例如,您可能有一个将两个值相加的算法(或更有趣的是 vectors of values?)
这可能既是您的编程语言中的一条指令,也可能是处理器中的一条指令支持!
处理器可能会做大量工作来执行指令(并且肯定会有自己的算法来执行此操作!),但只有一个指令。
然而,你如何定义这样的东西有些模糊(所以我不会太担心),例如如果你为自定义处理器编译(比如一个写到 FPGA board ),你可以用巨大的算法复杂性来制作你自己的指令。
.. 或在逻辑处理器(例如著名的 JVM)或中间表示(例如 LLVM IR)上,您可能会遇到这样的情况:代码中的一条指令变成了逻辑系统,但随后由现代处理器上的单个操作支持(我不知道这种情况的真实情况,但它肯定会发生在 LLVM 中)
,在那种情况下,您通常会将其称为指令,但我认为这也是正确的。归根结底,这只是一个解释问题,就像问水是否湿一样。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。