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:

  • f∈O(g)f \in O(g): f(n)≤c g(n)f(n) \le c\,g(n) per una costante c>0c > 0;
  • f∈Ω(g)f \in \Omega(g): f(n)≥c g(n)f(n) \ge c\,g(n) per una costante c>0c > 0;
  • f∈o(g)f \in o(g): f(n)≤c g(n)f(n) \le c\,g(n) per ogni costante c>0c > 0 (equivale a lim⁡f/g=0\lim f/g = 0);
  • f∈Θ(g)f \in \Theta(g): OO e Ω\Omega insieme.

Prima versione

(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: f∈Θ(g)f \in \Theta(g).

Seconda versione

(a) Vera. Da f(n)≤c g(n)f(n) \le c\,g(n) si ottiene 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. (Esempio: n+n2∈Θ(n2)n + n^2 \in \Theta(n^2).)

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