Skip to content

Notació asimptòtica ​

La notació asimptòtica és una eina matemàtica que permet expressar l'eficiència dels algorismes de manera senzilla i clara. Però per un moment, oblidem-nos dels algorismes, i centrem-nos en les matemàtiques. A continuació es presenten les principals notacions asimptòtiques que necessitem i es presenten les seves propietats bàsiques. També s'inclouen exemples d'ús i es donen exemples i intuïcions per entendre-les millor.

Notació O gran ​

Definició: Donada una funció g:N→N, es defineix la notació O gran com:

O(g)={f:N→N∣∃c∈N:∃n0∈N:∀n≥n0:f(n)≤c⋅g(n)}

Així doncs, O(g) és el conjunt de les funcions que creixen com a màxim tan ràpidament com g per a valors grans de n, ignorant constants multiplicatives i termes d'ordre menor.

Exemple: Si f(n)=3n2+100n+5, llavors f(n)∈O(n2).

Demostració: Cal trobar constants c i n0 tals que per a tot n≥n0, es compleixi que f(n)≤c⋅n2. En aquest cas, podem triar c=4 i n0=101. En efecte, per a n≥101, tenim que 4n2≥3n2+100n+5. ▢

Visualització de O gran ​

TODO: Fer una gràfica.

Exemples i intuïcions per a O gran ​

A continuació es dónen uns exemples de l'ús de la notació O gran:

  • 3n2+5n−7∈O(n3)
  • n+15∈O(n)
  • O(n5)⊆O(n6)
  • n3∉O(n2)
  • n3∈O(2n)

Intuitivament, podem entendre aquesta notació de la següent manera:

  • f(n)∈O(g(n)) significa que, per a valors grans de n, la funció f(n) creix com a màxim, tan ràpidament com g(n), tot ignorant la seva pendent i què passa per a valors petits de n.

Notacions Omega i Theta ​

Un cop presentada la O gran, introduïm dues notacions complementàries que ens permeten caracteritzar millor el creixement de les funcions.

Definicions: Donada una funció g:N→N, es defineixen:

Ω(g)={f:N→N∣∃c∈N:∃n0∈N:∀n≥n0:f(n)≥c⋅g(n)}Θ(g)={f:N→N∣∃c1,c2∈N:∃n0∈N:∀n≥n0:c1g(n)≤f(n)≤c2g(n)}

Així doncs:

  • Ω(g) és el conjunt de les funcions que creixen com a mínim tan ràpidament com g per a valors grans de n, ignorant constants multiplicatives i termes d'ordre menor.

  • Θ(g) és el conjunt de les funcions que creixen exactament com g per a valors grans de n, ignorant constants multiplicatives i termes d'ordre menor.

Seguint amb l'exemple anterior, si f(n)=3n2+100n+5, es pot comprovar que f(n)∈Ω(n2) i, per tant, f(n)∈Θ(n2).

Exemples i intuïcions per a Omega i Theta ​

Aquests són uns exemples de l'ús de la notació Ω:

  • 2n∈Ω(n)
  • n2∈Ω(n)
  • n∈Ω(n)
  • n∉Ω(n2)
  • Ω(n6)⊆Ω(n5)

I ara uns exemples de l'ús de la notació Θ:

  • 75n∈Θ(n)
  • 1023n2∉Θ(n)
  • n2∉Θ(n)
  • 2n∉Θ(2n2)
  • Θ(n)≠Θ(n2)

Convencions ​

Malgrat que O(g) és un conjunt de funcions i no una funció en si mateixa, sovint es comet un abús de notació i s'utilitza la notació f(n)=O(g(n)) per indicar que f∈O(g).

Aquesta és una convenció àmpliament utilitzada en l'anàlisi d'algorismes i facilita la comunicació dels resultats. Per tant, no ens n'estarem d'utilitzar-la. Però sempre cal tenir present que, estrictament parlant, O(g) és un conjunt de funcions i no una funció en si mateixa.

Amb aquest convenció, escriurem expressions com ara

3(n−1)(n+2)=3n2+3n−6=O(n2)=O(n3)

que, en realitat, vol dir que

3(n−1)(n+2)=3n2+3n−6∈O(n2)⊂O(n3).

Igualment, és habitual estendre la notació a altres dominis diferents de N, com ara R+, això no comporta cap problema.

Propietats ​

Donades dues funcions f i g, aquestes propietats relacionen les diferents notacions asimptòtiques:

  • f=Ω(g)⟺g=O(f)
  • Θ(f)=O(f)∩Ω(f)
  • f=Θ(g)⟺f=O(g) i f=Ω(g)

Donades les funcions f, f1, f2, g, g1, g2 i h, la O gran compleix les propietats següents:

  • Reflexivitat: f=O(f)
  • Transitivitat: h=O(g)∧g=O(f)⇒h=O(f)
  • Caracterització: g=O(f)⟺O(g)⊆O(f)
  • Suma: g1=O(f1)∧g2=O(f2)⇒g1+g2=O(f1+f2)=O(max(f1,f2))
  • Producte: g1=O(f1)∧g2=O(f2)⇒g1⋅g2=O(f1⋅f2)
  • Invariància multiplicativa: Per a tota constant c=R+, O(f)=O(c⋅f)

Per a Ω es compleixen propietats similars, i en el cas de Θ es compleixen les següents propietats:

  • Reflexivitat: f=Θ(f)
  • Transitivitat: h=Θ(g)∧g=Θ(f)⇒h=Θ(f)
  • Simetria: g=Θ(f)⟺f=Θ(g)⟺Θ(g)=Θ(f)
  • Suma: g1=Θ(f1)∧g2=Θ(f2)⇒g1+g2=Θ(f1+f2)=Θ(max(f1,f2))
  • Producte: g1=Θ(f1)∧g2=Θ(f2)⇒g1⋅g2=Θ(f1⋅f2)
  • Invariància multiplicativa: Per a tota constant c=R+, Θ(f)=Θ(c⋅f)

Més abusos de notació ​

Seguint amb l'abús de notació esmentat anteriorment, es solen usar directament operacions entre les classes de funcions definides per les notacions asimptòtiques:

Si F1 i F2 són classes de funcions (com ara O(f) o Ω(f)):

  • F1+F2={f+g∣f=F1∧g=F2}
  • F1⋅F2={f⋅g∣f=F1∧g=F2}

En aquest context, es compleixen les propietats següents per a dues funcions f i g qualssevol:

  • O(f)+O(g)=O(f+g)=O(max{f,g})
  • O(f)⋅O(g)=O(f⋅g)
  • Θ(f)+Θ(g)=Θ(f+g)=Θ(max{f,g})
  • Θ(f)⋅Θ(g)=Θ(f⋅g)

Exercicis ​

Compara asimptòticament les següents parelles de funcions i indica quina creix més ràpidament quan n tendeix a l'infinit:

  • n412 vs 1.02n
  • 243n2 vs n3
  • 2n vs 3n
  • (log⁡n)923 vs n0.0001
  • n(ln⁡n)4 vs n2ln⁡n
  • (log2⁡7)n vs (log4⁡7)n
  • (ln⁡n)7842 vs 1.001n
  • n2n vs n31.5n
  • 2log⁡n vs n

Jordi Petit
Lliçons.jutge.org
© Universitat Politècnica de Catalunya, 2026

lliçons.jutge.org