Don't really understand the notation - logic

I don't really understand how or what I'm supposed to prove. I've researched into each, but still unclear to me what is expected.
Which of the following statements are true? Prove your answers.
n² ∈ O(n³)
n² ∈ Ω(n³)
2ⁿ ∈ Θ(2n+1)
n! ∈ Θ((n+1)!)
Any help would be much appreciated!

Since this (probably homework) questions is some days old, I think I can answer this question in short.
The wikipedia page (and hopefully your textbook and/or notes too) says
f(n) ∈ O(g(n)) ⇔ lim sup |f(n)/g(n)| < ∞
f(n) ∈ Ω(g(n)) ⇔ lim sup |f(n)/g(n)| > 0
f(n) ∈ Θ(g(n)) ⇔ f(n) ∈ O(g(n)) and f(n) ∈ Ω(g(n))
To prove the left side you can prove the right side.
n² ∈ O(n³) is true, due to
lim sup |n²/n³| = lim (n²/n³) = lim (1/n) = 0 < ∞
n² ∈ Ω(n³) is false, due to
lim sup |n²/n³| = lim (n²/n³) = lim (1/n) = 0
2ⁿ ∈ Θ(2n+1) is true, due to
0 < lim sup |2ⁿ/2<sup>n+1</sup>| = lim (2ⁿ/(2⋅2ⁿ) = lim (1/2) = 1/2 < ∞
n! ∈ Θ((n+1)!) is false, due to
lim sup |n!/(n+1)!| = lim (n!/((n+1)⋅n!) = lim (1/(n+1)) = 0
Notice: All limits holds for n → ∞.

Related

If f(n) = Θ(g(n)) does that f(n) is asymptotically equal to g(n)?

I'm fairly certain that if f(n) = Θ(g(n)) is true, if f(n) is asymptotically equal to g(n). However, I'm concerned I might be overlooking something. Am I correct in thinking that f(n) = Θ(g(n)) then f(n) is asymptotically equal to g(n)? or am I overlooking something?
I'm trying to compare different algorithms with respective runtimes of f(n) and g(n) and prove that f(n) = Θ(g(n)), but I'm not sure if I'm on the right way or not.
A. f(n) = log(n^100), g(n) = log(n^2)
lim n->∞ f(n)/g(n) = lim n->∞ log(n^200)/log(n^2) = 100
Since the result is a constant, we conclude that f(n) ∈ ϴ(g(n)), hence f(n) = ϴ(g(n)).
B. f(n) = sqrt(n), g(n) = log(n)
lim n->∞ f(n)/g(n) = lim n->∞ sqrt(n)/log(n) = ±∞, in my case ∞, hence f(n) ≠ ϴ(g(n)).
C. f(n) = 3^n, g(n) = 5^n
lim n->∞ f(n)/g(n) = lim n->∞ 3^n/5^n = 0, hence f(n) ≠ ϴ(g(n)).
D. f(n) = sin(n)+3, g(n) = cos(n)+1
lim n->∞ f(n)/g(n) = lim n->∞ sin(n)+3/cos(n)+1 = 4/3, hence f(n) ≠ ϴ(g(n)).
Please tell me, am I on the right way?
Am I correct in thinking that if f(n) = Θ(g(n)) then f(n) is asymptotically equal to g(n)?
No, asymptotic equality is a stronger claim than asymptotically bound. The opposite is true: when 𝑓(𝑛) is asymptotically equal to 𝑔(𝑛), then 𝑓(𝑛) is Θ(𝑔(𝑛))
As defined on Wikipedia - Asymptotic Analysis:
if and only if
𝑓(𝑛)
lim ──── = 1
𝑥→∞ 𝑔(𝑥)
the functions 𝑓 and 𝑔 are said to be asymptotically equivalent.
For the first example where 𝑓(𝑛) = log𝑛¹⁰⁰ and 𝑔(𝑛) = log𝑛², this equivalence does not hold:
log𝑛¹⁰⁰ / log𝑛² = log𝑛¹⁰⁰ − log𝑛² = log𝑛⁹⁸, whose limit diverges to infinity and so 𝑓(𝑛) and 𝑔(𝑛) are not asymptotically equal.
See also Wikipedia - Family of Bachmann–Landau notations

How to prove/disprove if (2^{n})^{1/3} is in Θ(2^{n}) using Big-O, Big-Omega and Big-Theta

So I understand Big-O, Big-Omega and Big-Theta conceptually, but I'm not sure how to prove Big-Omega and Big-Theta.
function f is in Big-O(g) if and only if there exists some constant c > 0 and some constant n_0 ≥ 1 such that for all n ≥ n_0, the expression f(n) ≤ c·g(n) is true.
Big-Omega is the opposite, c·g(n) ≤ f(n).
Big-Theta sandwiches c1·f(n) ≤ g(n) ≤ c2·f(n).
I need to prove/disprove if (2^{n})^{1/3} ∈ Θ(2^{n}) by using all three notations.
What I have so far:
Big-O : (2^{n})^{1/3} ≤ c·2^{n} when c=1 and n_0 = 1, so (2^{n})^{1/3} ∈ O(2^{n})
Big-Omega : We can rewrite (2^{n})^{1/3} = (1/(2^{2n/3}))·(2^n). We see that for c·g(n) ≤ f(n), c has to be ≤ 1/(2^{2n/3}) which is not possible since c > 0. So, there does not exist a c > 0 that satisfies c·g(n) ≤ f(n) and thus, (2^{n})^{1/3} ∉ Ω(2^{n})
Big-Theta : Since (2^{n})^{1/3} ∉ Ω(2^{n}), there is no lower bound c1·f(n) ≤ g(n). Therefore, (2^{n})^{1/3} ∉ Θ(2^{n})
Is this how you are supposed to prove it?
First simplify f(n) = (2^n)^(1/3) to f(n) = 2^(n/3). Then, take a limit of lim_{n\to\infty} f(n)/g(n) that g(n) = 2^n:
lim_{n\to\infty} 2^(n/3) / 2^n = lim_{n\to\infty} 1 / 2^(2n/3) = 0
Hence, f(n) = o(g(n)) (little-oh). It means f(n) is not in \Theta(g(n)). Notice that f(n) = O(g(n)) (Big-Oh) as it is in o(g(n)) (little-Oh).

What is the highest possible big O complexity?

Curious O(n^n) is pretty high but O(n^n^n) is higher and O(n^n^n^n) is higher still. Is there a highest big O?
Suppose there exists a maximal big O complexity given by f, that is,
g(n) ∈ O(f(n)), ∀ g:ℝ->ℝ
Then, let g(n) = f(n)^2.
Since lim f(n) = ∞,
f(n) f(n) 1
lim ──── = ────── = ──── = 0
g(n) f(n)^2 f(n)
That means g(n) ∉ O(f(n)). Contradiction.

Comparing complexities

I have these three questions for an exam review:
If f(n) = 2n - 3 give two different functions g(n) and h(n) (so g(n) doesn't equal h(n)) such that f(n) = O(g(n)) and f(n) = O(h(n))
Now do the same again with functions g'(n) and h'(n), but this time the function should be of the form
g'(n) = Ɵ(f(n)) and f(n) = o(h'(n))
Is it possible for a function f(n) = O(g(n)) and f(n) = Ω(g(n))?
I know that a function is O(n) of another, if it is less than or equal to the other function. So I think 1. could be g(n) = 2n²-3 and h(n) = 2n²-10.
I also know that a function is Ɵ(n) of another if it is basically equal to the other function (we can ignore constants), and o(n) if it is only less than the function, so for 2. I think you could have g'(n) = 2n-15 and h'(n) = 2n.
To 3.: It is possible for a function to be both O(n) and Ω(n) because O(n) and Ω(n) allows for the function to be the same as the given function, so you could have a function g(n) that equals f(n) and satisfies the rules for being both O and Ω.
Can someone please tell me if this is correct?
Your answers are mostly right. But I would like to add some points:
Given is f(n) = 2n - 3
With g(n) = 2n²-3 and h(n) = 2n²-10 f(n) is in O(g(n)) and in O(h(n)). But your g(n) and h(n) are basicly the same, at least they are both in Θ(n²). There exists many other function that would also work. E.g.
f(n) ∈ O(n) ⇒ g(n) = n
f(n) ∈ O(nk) ⇒ g(n) = nk ∀ k ≥ 1
f(n) ∈ O(2ⁿ) ⇒ g(n) = 2ⁿ
g'(n) = 2n-15 reduces to g'(n) = n, if we think in complexities, and this is right. In fact, it is the only possible answer.
But f(n) ∈ o(h'(n)) does not hold for h'(n) = 2n. Little-o means that
limn → ∞ | f(n)/g(n) | = 0 ⇔ f(n) ∈ o(g(n))
So you can choose h'(n) = n² or more general h'(n) = nk ∀ k > 1 or h'(n) = cⁿ for a constant c > 1.
Yes it is possible and you can take it also as a definition for Θ(g(n)):
f(n) ∈ Θ(g(n)) ⇔ f(n) ∈ O(g(n)) and f(n) ∈ Ω(g(n))

Checking big theta, little oh and little omega with limits?

Say we have two functions f(n) and g(n). If we we wanted to check if f(n) is little oh o(g(n)) would it be valid to do the following:
lim n -> infinity f(n)/g(n) and the result would have to = 0 ?
So if the above comes out to 0, will it mean f(n) is o(g(n))? And how can we check the big theta and little omega with limits?
yes.
o(g(n)) = { f(n): for all constants c > 0, there exists a constant n0 such that 0 ≤ f(n) < cg(n) for all n ≥ n0}.
ALSO: 0 = lim f(n)/g(n)

Resources