首页 理论教育 算法理论中的指令解析与应用

算法理论中的指令解析与应用

时间:2023-05-16 理论教育 版权反馈
【摘要】:“指令”这个概念居于算法理论的核心,这是算法理论不同于其他竞争性学说的关键之处。首先要强调的是,“指令”绝不是什么神秘的东西。“停止”是一个“空指令”,它不操作任何数据。某些程序语言中的“命令”也可以拿来当作“指令”予以理解。这就引起了“重复”的问题;也即,特定指令清单中的特定指令,实际上是其他若干指令的组合,“指令”与“命令”是混用的。

算法理论中的指令解析与应用

算法理论的核心部分已经介绍完毕,现在我们转向讨论其中的若干要点、疑点或难点。

“指令”这个概念居于算法理论的核心,这是算法理论不同于其他竞争性学说的关键之处。首先要强调的是,“指令”绝不是什么神秘的东西。由于智力之谜尚未得到令人满意的揭示,我们不能确切地知道它的全部内容,但是,可以通过多种途径予以探索。第一种途径,就是检视计算机的指令清单(也即一份载有所有指令的清单)。加、减、乘、除、逻辑加、逻辑乘、比较、传送、循环、停止(或“停机”)等常用指令都是容易理解的。某些指令是功能性或服务性的,并不真正“加工”数据。例如,数据传送类的指令,它只针对单个的数据进行操作,把它从一个地方移送到另一个地方。“停止”是一个“空指令”,它不操作任何数据。这些指令的执行都被统统纳入了“计算”这个概念。这是一个重要的概括。人的思维活动显然也包括了这些功能性的活动。例如,“回忆”就是指寻找和“读取”数据,“结束某个思维过程”可以理解为执行了“停止”这个指令。为了执行某个决策,需要大脑指挥身体器官进行工作;这些器官一边作业,大脑需要同步地运行,并且往往还要特别集中注意力。这可以理解为是在执行某些“硬件控制型”的指令。在计算机中,有许多这类指令。

某些程序语言中的“命令”也可以拿来当作“指令”予以理解。例如,“寻找”或“搜索”是应用程序中的常用命令。“在某个范围内搜索A”意味着要把该数据范围内的每个数据都与A 对比一下,看看它是否等于A。如果等于,则要标记出来;如果不等于,就要继续搜索。所以,实际上这是由众多指令、数据、也即由“元计算”所组成的一个复杂的计算过程。但是,为了便于表述,当提及“搜索”时,我们一般并不需要把它累赘地分解为上述复杂的步骤,而只是简单提及“搜索”一词,且将之与“比较”“传送”等指令并列讨论。这就引起了“重复”的问题;也即,特定指令清单中的特定指令,实际上是其他若干指令的组合,“指令”与“命令”是混用的。然而,这是一种有益的重复,它带来便利性。例如,作为一种高级语言的“C 语言”就是采用这样的结构。(www.xing528.com)

这种相对性还体现在指令与程式、算法等概念的关系上。一定的程式和算法是相对于一定的指令清单而言的;反之,假如指令清单不能确定,就会引起用语的模糊性。例如,在《算法》中,我们曾分别在“指令”和“算法”的题目下讨论过“联想”。这种重复虽然无损大局,但也有必要予以注意。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈