Asymptotic comparison of functions: Difference between revisions
(Created page with "http://huffmann.algo.informatik.tu-darmstadt.de/wiki/wiki.algo.informatik.tu-darmstadt.de/index.php/Asymptotic_comparison_of_functions.html") |
No edit summary |
||
Line 1: | Line 1: | ||
http://huffmann.algo.informatik.tu-darmstadt.de/wiki/wiki.algo.informatik.tu-darmstadt.de/index.php/Asymptotic_comparison_of_functions.html | http://huffmann.algo.informatik.tu-darmstadt.de/wiki/wiki.algo.informatik.tu-darmstadt.de/index.php/Asymptotic_comparison_of_functions.html | ||
== One-dimensional case == | |||
Let <math>f:\mathbb{N}\rightarrow\mathbb{R}^+_0</math> be a function. The following sets (a.k.a. '''classes''') are defined for <math>f</math>: | |||
# <math>\mathcal{O}(f)</math> consists of all functions <math>g:\mathbb{N}\rightarrow\mathbb{R}^+_0</math> such that there are <math>N_g,\,c_g\in\mathbb{N}</math> that fulfill <math>g(n)\leq c_g\cdot f(n)</math> for all <math>n\neq N_g</math>, <math>n\in\mathbb{N}</math>; | |||
# <math>\Omega(f)</math> consists of all functions math>g:\mathbb{N}\rightarrow\mathbb{R}^+_0</math> such that there are <math>N_g,\,c_g\in\mathbb{N}</math> that fulfill <math>g(n)\geq c_g\cdot f(n)</math> for all <math>n\neq N_g</math>, <math>n\in\mathbb{N}</math ; | |||
# <math>\Theta(f):=\mathcal{O}(f)\cap\Omega(f)</math>; | |||
# <math>o(f):=\mathcal{O}(f)\setminus\Theta(f)</math>. | |||
== Mathematical rules for asymptotic comparison == | |||
Let <math>f,g,h:\mathbb{N}\rightarrow\mathbb{R}^+_0</math> be three functions. | |||
# Anti-reflexivity: If <math>f\in\mathcal{O}(g)</math>, it is <math>g\in\Omega(f)</math>, and vice versa. | |||
# Transitivity: If <math>f\oplus(g)</math> and <math>g\oplus(h)</math> then <math>f\oplus(h)</math>, where "<math>oplus</math>" is anyone of "<math>\mathcal{O}</math>", "<math>\Omega</math>", "<math>\Theta</math>", and "<math>o</math>". | |||
# It is <math>\mathcal{O}(f)\cup\mathcal{O}(g)\subseteq\mathcal{O}(f+g)</math>.. | |||
# If <math>f\in\mathcal{O}(g)</math>, it is <math>\oplus(f+g)</math>, where "<math>\oplus</math>" is anyone of "<math>\mathcal{O}</math>", "<math>\Omega</math>", "<math>\Theta</math>", and "<math>o</math>". | |||
# It is <math>f\in\mathcal(g)</math> if, and only if, the [[http://en.wikipedia.org/wiki/Limit_superior_and_limit_inferior|limit superior]] of the series <math>f(n)/g(n)</math> for <math>n\rughtarrow+\infty</math> is finite. | |||
It is <math>f\in o(g)</math> if, and only if, this limit superior is zero. Note that, due to nonnegativity, this is equivalent to the statement that <math>\lim_{n\rightarrow+\infty}f(n)/g(n)</math> exists and equals zero. | |||
For <math>a,b\mathbb{R}</math>, <math>a,b>1</math>, it is <math>\oplus(\log_a(n))=\oplus(\log_b(n))</math>, where "<math>\oplus</math>" is anyone of "<math>\mathcal{O}</math>", "<math>\Omega</math>", "<math>\Theta</math>", and "<math>o</math>" (follows immediately from the basic rule const). In particular, the base of a logarithm function may be omitted: <math>\oplus(\log(n))=\oplus(\log_a(n))</math>. | |||
For , , it is . | |||
For all , it is . | |||
For all and , , it is . | |||
For all , , it is . | |||
Known Related Topics | |||
Remark | |||
Reference | |||
Comparison with specific functions | |||
A function is said to be | |||
linear if ; | |||
quadratic if ; | |||
cubic if ; | |||
logarithmic if ; | |||
"n-log-n" if ; | |||
polynomial if there is a polynomial such that ; | |||
subexponential if for every , ; | |||
exponential if there are , , such that and ; | |||
factorial if . | |||
Known Related Topics | |||
Remark | |||
Note that the notion of polynomial is based on an "", not on a "". In fact, in this context, "polynomial" is usually used short for "polynomially bounded from above". | |||
Reference | |||
Multidimensional case | |||
Let and let . The following sets (a.k.a. classes) are defined for : | |||
consists of all functions such that there are and that fulfill for all such that ; | |||
consists of all functions such that there are and that fulfill for all such that ; | |||
; | |||
. |
Revision as of 08:29, 26 May 2015
One-dimensional case
Let [math]\displaystyle{ f:\mathbb{N}\rightarrow\mathbb{R}^+_0 }[/math] be a function. The following sets (a.k.a. classes) are defined for [math]\displaystyle{ f }[/math]:
- [math]\displaystyle{ \mathcal{O}(f) }[/math] consists of all functions [math]\displaystyle{ g:\mathbb{N}\rightarrow\mathbb{R}^+_0 }[/math] such that there are [math]\displaystyle{ N_g,\,c_g\in\mathbb{N} }[/math] that fulfill [math]\displaystyle{ g(n)\leq c_g\cdot f(n) }[/math] for all [math]\displaystyle{ n\neq N_g }[/math], [math]\displaystyle{ n\in\mathbb{N} }[/math];
- [math]\displaystyle{ \Omega(f) }[/math] consists of all functions math>g:\mathbb{N}\rightarrow\mathbb{R}^+_0</math> such that there are [math]\displaystyle{ N_g,\,c_g\in\mathbb{N} }[/math] that fulfill [math]\displaystyle{ g(n)\geq c_g\cdot f(n) }[/math] for all [math]\displaystyle{ n\neq N_g }[/math], [math]\displaystyle{ n\in\mathbb{N}\lt /math ; # \lt math\gt \Theta(f):=\mathcal{O}(f)\cap\Omega(f) }[/math];
- [math]\displaystyle{ o(f):=\mathcal{O}(f)\setminus\Theta(f) }[/math].
Mathematical rules for asymptotic comparison
Let [math]\displaystyle{ f,g,h:\mathbb{N}\rightarrow\mathbb{R}^+_0 }[/math] be three functions.
- Anti-reflexivity: If [math]\displaystyle{ f\in\mathcal{O}(g) }[/math], it is [math]\displaystyle{ g\in\Omega(f) }[/math], and vice versa.
- Transitivity: If [math]\displaystyle{ f\oplus(g) }[/math] and [math]\displaystyle{ g\oplus(h) }[/math] then [math]\displaystyle{ f\oplus(h) }[/math], where "[math]\displaystyle{ oplus }[/math]" is anyone of "[math]\displaystyle{ \mathcal{O} }[/math]", "[math]\displaystyle{ \Omega }[/math]", "[math]\displaystyle{ \Theta }[/math]", and "[math]\displaystyle{ o }[/math]".
- It is [math]\displaystyle{ \mathcal{O}(f)\cup\mathcal{O}(g)\subseteq\mathcal{O}(f+g) }[/math]..
- If [math]\displaystyle{ f\in\mathcal{O}(g) }[/math], it is [math]\displaystyle{ \oplus(f+g) }[/math], where "[math]\displaystyle{ \oplus }[/math]" is anyone of "[math]\displaystyle{ \mathcal{O} }[/math]", "[math]\displaystyle{ \Omega }[/math]", "[math]\displaystyle{ \Theta }[/math]", and "[math]\displaystyle{ o }[/math]".
- It is [math]\displaystyle{ f\in\mathcal(g) }[/math] if, and only if, the [superior] of the series [math]\displaystyle{ f(n)/g(n) }[/math] for [math]\displaystyle{ n\rughtarrow+\infty }[/math] is finite.
It is [math]\displaystyle{ f\in o(g) }[/math] if, and only if, this limit superior is zero. Note that, due to nonnegativity, this is equivalent to the statement that [math]\displaystyle{ \lim_{n\rightarrow+\infty}f(n)/g(n) }[/math] exists and equals zero. For [math]\displaystyle{ a,b\mathbb{R} }[/math], [math]\displaystyle{ a,b\gt 1 }[/math], it is [math]\displaystyle{ \oplus(\log_a(n))=\oplus(\log_b(n)) }[/math], where "[math]\displaystyle{ \oplus }[/math]" is anyone of "[math]\displaystyle{ \mathcal{O} }[/math]", "[math]\displaystyle{ \Omega }[/math]", "[math]\displaystyle{ \Theta }[/math]", and "[math]\displaystyle{ o }[/math]" (follows immediately from the basic rule const). In particular, the base of a logarithm function may be omitted: [math]\displaystyle{ \oplus(\log(n))=\oplus(\log_a(n)) }[/math]. For , , it is . For all , it is . For all and , , it is . For all , , it is . Known Related Topics Remark Reference
Comparison with specific functions
A function is said to be linear if ; quadratic if ; cubic if ; logarithmic if ; "n-log-n" if ; polynomial if there is a polynomial such that ; subexponential if for every , ; exponential if there are , , such that and ; factorial if . Known Related Topics Remark Note that the notion of polynomial is based on an "", not on a "". In fact, in this context, "polynomial" is usually used short for "polynomially bounded from above". Reference
Multidimensional case
Let and let . The following sets (a.k.a. classes) are defined for :
consists of all functions such that there are and that fulfill for all such that ; consists of all functions such that there are and that fulfill for all such that ;
.