Optimization 对数和统一成本标准之间的差异

Optimization 对数和统一成本标准之间的差异,optimization,logarithm,Optimization,Logarithm,我在理解对数(Lcc)和统一(Ucc)成本标准之间的差异以及如何在计算中使用它时遇到了一些问题 有人能解释一下两者之间的区别吗?也许能说明如何计算像a+B*C这样的问题的复杂性 (是,这是赋值的一部分=)) 谢谢你的帮助 /Marthin我认为你应该研究一下大O符号 如果您发现部分描述难以编辑您的问题。问题大小会影响复杂性 因为复杂性取决于系统的大小 我们将复杂性定义为一个函数 问题规模 定义:T(n)表示系统的复杂性 一种应用于数学问题的算法 尺码。 问题实例(I)的大小(n)是 用于表示数据

我在理解对数(Lcc)和统一(Ucc)成本标准之间的差异以及如何在计算中使用它时遇到了一些问题

有人能解释一下两者之间的区别吗?也许能说明如何计算像a+B*C这样的问题的复杂性

(是,这是赋值的一部分=))

谢谢你的帮助


/Marthin

我认为你应该研究一下大O符号


如果您发现部分描述难以编辑您的问题。

问题大小会影响复杂性 因为复杂性取决于系统的大小 我们将复杂性定义为一个函数 问题规模 定义:T(n)表示系统的复杂性 一种应用于数学问题的算法 尺码。 问题实例(I)的大小(n)是 用于表示数据的(二进制)位数 例如。所以问题的大小就是问题的长度 实例的二进制描述。 这称为对数成本标准

单位成本标准 如果您假设: -每一条计算机指令都需要一次 单位,, -每个寄存器是一个存储单元 -而且一个数字总是适合一个寄存器 然后您可以使用输入的数量作为 输入长度后的问题大小(以位为单位)
将是一个常数乘以输入数。

统一成本标准为每台机器操作分配一个常数成本,而不管涉及的位数是多少,而对数成本标准为每台机器操作分配一个成本,该成本与涉及的位数成比例。

统一成本标准假设指令占用单个时间单位,每个寄存器需要单个空间单位

对数成本标准假设每条指令采用对数时间单位(相对于操作数长度),并且每条寄存器需要对数空间单位

更简单地说,这意味着统一成本标准统计操作数,对数成本标准统计位操作数

例如,假设我们有一个8位加法器

如果我们使用统一的成本标准来分析加法器的运行时间,我们会说加法只需要一个时间单位;i、 e,T(N)=1

如果我们使用对数成本标准来分析加法器的运行时间,我们会说加法需要lg⁡n时间单位;i、 e.,T(N)=lgn,其中N是根据时间复杂度必须添加的最坏情况数(在本例中,N为256)。因此,T(N)=8

更具体地说,假设我们将256增加到32。要执行加法,我们必须在1s列、2s列、4s列等(表示位位置的列)中将二进制位相加。数字256需要8位。这就是对数进入我们分析的地方。lg256=8。所以要把这两个数字相加,我们必须对8列进行加法。对数成本标准表明,这8个加法计算中的每一个都需要一个时间单位。统一成本标准表示,整个8次加法计算只需一个时间单位


在空间方面也可以进行类似的分析。寄存器占用固定的空间量(在统一成本标准下)或对数空间量(在统一成本标准下)。

我知道关于大O表示法的大部分内容。但所有这些都与对数成本标准有关,不是吗?链接没有告诉我任何关于统一成本以及如何在计算中使用它的信息。我四处搜索,似乎没有太多关于这个特定问题的信息。你能解释一下什么是1,2,3。。。列是具体的?也可参考