Salta al contenuto
Note per Studenti Esercizio 2 · relazioni tra O, o, Omega e Theta

Esercizio 2relazioni tra O, o, Omega e Theta

In questa pagina 4

Testo (scritti del 07/08/2026 e del 10/09/2026, parte 1, esercizio 1, 3 punti ciascuno).

Prima versione. Siano f(n)f(n) e g(n)g(n) funzioni positive per nn sufficientemente grande. Per ciascuna affermazione stabilire se è vera o falsa, motivando brevemente. (a) Se f(n)=o(g(n))f(n) = o(g(n)), allora f(n)=O(g(n))f(n) = O(g(n)). (b) Se f(n)=O(g(n))f(n) = O(g(n)), allora f(n)=o(g(n))f(n) = o(g(n)). (c) Se f(n)=O(g(n))f(n) = O(g(n)) e g(n)=O(f(n))g(n) = O(f(n)), allora f(n)=Θ(g(n))f(n) = \Theta(g(n)).

Seconda versione. Siano ff e gg positive con f(n)∈O(g(n))f(n) \in O(g(n)). Per ciascuna affermazione stabilire se è necessariamente vera oppure può essere falsa (in tal caso dare un controesempio). (a) g(n)∈Ω(f(n))g(n) \in \Omega(f(n)). (b) f(n)∈Θ(g(n))f(n) \in \Theta(g(n)). (c) f(n)+g(n)∈Θ(g(n))f(n) + g(n) \in \Theta(g(n)).


Richiami

Definizioni (vedi Notazione asintoticaDefinizioni di O, Omega, Theta e o piccolo con le costanti c ed n0; esempi con costanti esplicite; proprietà (polinomi, esponenziali, logaritmi, somme, implicazioni tra notazioni); sommatorie notevoli; terminologia (logaritmica, lineare, polinomiale, esponenziale).Notazione asintotica →), per nn abbastanza grande:

Prima versione

Prima di rispondere conviene avere due esempi di riferimento: f=nf=n, g=n2g=n^2 (f∈o(g)f\in o(g), quindi anche O(g)O(g), ma non Θ\Theta) e f=nf=n, g=2ng=2n (f∈O(g)f\in O(g) e Θ(g)\Theta(g), ma non o(g)o(g) perché f/g=12↛0f/g=\frac12\not\to0).

(a) Vera. f∈o(g)f \in o(g) vale per ogni c>0c > 0, in particolare per c=1c = 1: esiste n0n_0 con f(n)≤1⋅g(n)f(n) \le 1 \cdot g(n) per n≥n0n \ge n_0. Questa è esattamente la definizione di f∈O(g)f \in O(g).

(b) Falsa. Controesempio: f(n)=g(n)=nf(n) = g(n) = n. Vale f∈O(g)f \in O(g) (con c=1c = 1), ma f(n)g(n)=1↛0\frac{f(n)}{g(n)} = 1 \not\to 0, quindi f∉o(g)f \notin o(g). OO permette lo stesso ordine di grandezza, oo no.

(c) Vera. Da f∈O(g)f \in O(g): f(n)≤c1g(n)f(n) \le c_1 g(n). Da g∈O(f)g \in O(f): g(n)≤c2f(n)g(n) \le c_2 f(n), cioè 1c2g(n)≤f(n)\frac{1}{c_2} g(n) \le f(n). Dunque 1c2 g(n)≤f(n)≤c1 g(n)\frac{1}{c_2}\, g(n) \le f(n) \le c_1\, g(n) per nn abbastanza grande (il più grande dei due n0n_0): f∈Θ(g)f \in \Theta(g). Esempio: f=3n+1f=3n+1, g=ng=n: f≤4gf\le 4g per n≥1n\ge1 e g≤fg\le f, quindi 11g≤f≤4g\frac11 g\le f\le4g.

Seconda versione

(a) Vera. Da f(n)≤c g(n)f(n) \le c\,g(n) si ottiene, dividendo per c>0c>0, g(n)≥1cf(n)g(n) \ge \frac1c f(n), quindi g∈Ω(f)g \in \Omega(f) con costante 1c\frac1c.

(b) Falsa in generale. f∈O(g)f \in O(g) dà solo un limite superiore per ff. Controesempio: f(n)=nf(n) = n, g(n)=n2g(n) = n^2: f∈O(g)f \in O(g) ma f∉Ω(g)f \notin \Omega(g) (il rapporto f/g=1/n→0f/g = 1/n \to 0), quindi f∉Θ(g)f \notin \Theta(g).

(c) Vera. Per n≥n0n \ge n_0 vale f(n)≤c g(n)f(n) \le c\,g(n), e poiché f,g>0f, g > 0: g(n)≤f(n)+g(n)≤(c+1) g(n)g(n) \le f(n) + g(n) \le (c + 1)\,g(n). Quindi f+g∈Θ(g)f + g \in \Theta(g) con costanti 11 e c+1c + 1 (la prima disuguaglianza perché f>0f>0; la seconda perché f+g≤c g+g=(c+1)gf+g\le c\,g+g=(c+1)g). (Esempio: n+n2∈Θ(n2)n + n^2 \in \Theta(n^2): n2≤n+n2≤2n2n^2\le n+n^2\le2n^2 per n≥1n\ge1.)

Errori comuni

  • Leggere OO come "uguale a meno di costanti": OO è solo un limite superiore.
  • Scambiare oo e OO: oo richiede lim⁡f/g=0\lim f/g = 0, quindi esclude f=gf = g.
  • Dimenticare di scrivere un controesempio esplicito dove l'affermazione è falsa.

Versione ripasso

Testo. f,gf, g positive. Prima versione: (a) o⇒Oo \Rightarrow O? (b) O⇒oO \Rightarrow o? (c) f=O(g)f = O(g) e g=O(f)g = O(f) ⇒\Rightarrow Θ\Theta? Seconda versione, con f∈O(g)f \in O(g): (a) g∈Ω(f)g \in \Omega(f)? (b) f∈Θ(g)f \in \Theta(g)? (c) f+g∈Θ(g)f + g \in \Theta(g)?

Teoria collegata