基数2上迭代对数的复杂性

时间:2014-09-12 11:36:28

标签: complexity-theory logarithm iterated-function

假设迭代对数定义为:http://en.wikipedia.org/wiki/Iterated_logarithm

我应该如何将其复杂性与其他功能进行比较,例如lg(lg(n))?到目前为止,我已经通过计算限制完成了所有比较,但是如何计算迭代对数的限制?

我知道它增长得非常慢,慢于lg(n),但是有些函数以相同的速度增长,可能是lg*(n)(其中lg*是基数2上的迭代对数)这样可以轻松将其与其他功能进行比较?这样我也可以将lg*(lg(n))lg(lg*(n))进行比较。任何基于成长速度将功能相互比较的提示都将受到赞赏。

1 个答案:

答案 0 :(得分:0)

迭代对数函数log * n与具有相似行为的另一个函数不容易比较,与log n与具有相似行为的另一个函数不容易比较一样。

要了解log *功能,我发现记住以下几点很有帮助:

  1. 此功能会非常缓慢地增长。如图所示,log * 2 2 2 2 2 = 5,并且2s的塔的数量更大比已知宇宙中的原子数多。
  2. 它与对数一起玩,就像对数与除数一起玩。对数的商数规则表示log(n / 2)= log n-log 2 = log n-1,假设我们的日志是以2为底的。一个直觉是,从某种意义上说,log n表示“您必须将n除以2多少次才能将n降至1?”,因此log(n / 2)“应该”为log n-1因为我们事先做了一个额外的部门。另一方面,(log n)/ 2可能比log n-1小很多。类似地,log * n计数为“在将n降到某个常数之前,您必须取n次对数? ”因此log * log n = log * n-1,因为我们还多了一个日志。另一方面,log log * n可能比log * n-1小得多。

希望这会有所帮助!