【问题标题】:Family of Bachmann–Landau notationsBachmann-Landau 符号家族
【发布时间】:2018-05-23 10:56:49
【问题描述】:

能否帮我理解图中提到的符号?,我尝试理解“巴赫曼-朗道符号家族”下的“Big O notation” strong> 表中有“正式定义”列,其中有很多等式的符号,我以前没有遇到过这些符号。任何人都可以熟悉这个吗? https://en.wikipedia.org/wiki/Big_O_notation#Family_of_Bachmann–Landau_notations

【问题讨论】:

  • 这些定义究竟让您感到困惑的是什么?您对 Big-O 了解多少?你知道不同的定义吗?如果有,是哪个?目前,您的问题很广泛,需要一个充分的答案来整体解释 Big-O 的大主题,以涵盖您可能想说的所有内容。请只提出精确的、非广泛的问题(参见How to Askhelp center)。
  • @Zabuza 感谢您抽出宝贵时间,我对这些符号的理解有疑问,(A(反向)和 E(反向))!
  • @user3764118、 是大多数数学中使用的典型数学符号。 被称为Universal quantification,通常被解读为“所有人”或“所有人”,而Existential quantification,通常被解读为“存在(至少一个)......这样” .
  • @SergGr 是的,谢谢你,我正在寻找!
  • @user3764118,例如,∀ k > 0 ∃ n0 ∀ n > n0 |f(n)| < k*g(n) 行应该读作“对于每个正数 k,存在一个值 n0,这样对于每个 nn > n0 它认为|f(n)| < k*g(n)"。或者更通俗地说,对于每个正乘数 k,您可以走得足够远(n0),以至于在那之后(n > n0|f(n)| 的值小于 k*g(n)。或者甚至更非正式地在无穷大f(n) 是“基本上小于”g(n)

标签: algorithm math computer-science


【解决方案1】:

定义背后的逻辑实际上很简单,它基本上说无论什么常数乘以结果,从n足够大的某个点开始,函数之一将开始变大/变小并且还是那样。

要看到真正的区别,我将解释small-o(它表示某些函数的复杂度比其他函数小),它表示对于所有大于零的k,您可以找到n 的某个值,称为@ 987654325@,所有大于 n_0n 都遵循以下模式:f(n) <= k*g(n)

所以你有两个函数,你把n作为参数放在那里。那么无论你输入什么k,你总能找到n 的值,f(n) <= k*g(n) 和所有比你找到的值更大的值也适合这个等式。

考虑例如:

f(n) = n * 100
g(n) = n^2

因此,如果您尝试将即n=5 放在那里,它并没有说明您有更大的复杂性,因为5*100=5005^2=25。如果你输入的数字足够大,即n=100,那么f(n)=100*100=10000g(n)=100^2=100*100=10000。所以我们得到相同的值。如果你尝试放比这更大的东西,g(n) 会越来越大。

它还必须遵循等式f(n) <= k*g(n)。例如,如果我输入即k=0.1 那么

100*n <= 0.1*n^2 *10
1000n <= n^2 /n
1000 < n

因此,使用这些函数,您可以看到对于 k=0.1,您有 n_0 = 1000 来满足方程式,但这已经足够了。所有n &gt; 1000 都会更大,函数g(n) 总是更大,因此它具有更高的复杂性。 (好吧,真正的证明并不那么容易,但你可以看到模式)。关键是,无论k是什么,即使等于k=0.000000001,总会有n_0的断点,从那个点开始,所有g(n)都会大于f(n)

我们也可以尝试一些负方程来看看O(n)O(n^2)之间的区别。

让我们来:

f(n) = n
g(n) = 10*n

所以在标准代数中g(n) &gt; f(n),对吗?但在复杂性理论中,我们需要知道它是否会变大,如果是,它是否会变大,而不仅仅是将其与常数相乘。

所以如果我们考虑k=0.01,那么你可以看到,无论n 有多大,你永远找不到满足f(n) &lt;= k*g(n)n_0,所以f(n) != o(g(n))

就复杂性理论而言,您可以将符号视为更小/更大,所以

f(n) = o(g(n)) -> f(n) < g(n)
f(n) = O(g(n)) -> f(n) <= g(n)
f(n) = Big-Theta(g(n)) -> f(n) === g(n)
//... etc, remember these euqations are not algebraic, just for complexity

【讨论】:

  • 感谢您的简短解释,您能否建议我在哪里可以进一步了解这些符号的 (A(reverse),E(reverse))?
  • @user3764118 - 不知道这个(A(reverse),E(reverse)) 是什么意思:)
  • 在该等式中使用的符号或字母(在第一个等式 v*k&gt;0E(reverse)*n0 中)
  • @user3764118 - 抱歉,不太确定你在说什么 :)
  • 他在谈论数学量词。因此,可以在互联网上或任何超出学校水平(如大学)的数学课程中学习基础数学。
猜你喜欢
  • 1970-01-01
  • 2018-03-05
  • 2015-03-15
  • 2020-08-29
  • 2015-12-10
  • 1970-01-01
  • 2019-11-28
  • 1970-01-01
  • 2020-03-31
相关资源
最近更新 更多