Ordres de magnitud
Aquesta lliçó explica com classificar funcions segons la seva velocitat de creixement quan la variable tendeix a l'infinit, utilitzant ordres de magnitud. Veurem per què aquest concepte és fonamental en informàtica per analitzar l'eficiència dels algorismes i entendre els límits pràctics del tractament de grans volums de dades.
Comparació de funcions per a valors grans
La precisió és inherent a les matemàtiques: no és el mateix
Quan només ens interessa com creix una funció quan la seva variable tendeix a l'infinit, podem classificar les funcions segons la seva velocitat de creixement utilitzant ordres de magnitud.
Per exemple, per a
Igualment, per a
De la mateixa manera, per a
Entre les tres funcions, podem establir l'ordre de creixement següent:
on el símbol
Ordres de magnitud comuns
En informàtica hi ha alguns ordres de magnitud especialment habituals:
| Ordre de magnitud | Descripció |
|---|---|
| Constant | |
| Logarítmic | |
| Lineal | |
| Quasilineal | |
| Superlineal | |
| Quadràtic | |
| Cúbic | |
| Polinòmic | |
| Exponencial | |
| Factorial |
La gràfica següent mostra una comparació visual entre alguns d'aquests ordres de magnitud per a petits valors d'
I la gràfica següent mostra una comparació visual entre alguns d'aquests ordres de magnitud per a valors més grans d'
Mentre que per a valors petits d'
Temps d'execució aproximats
A continuació es mostra una taula amb els temps d'execució aproximats per a diferents ordres de magnitud, assumint que una operació elemental triga 1 nanosegon (ns):
| Funció | Temps per n = 10³ | Temps per n = 10⁴ | Temps per n = 10⁵ |
|---|---|---|---|
| 10 ns | 13.3 ns | 16.6 ns | |
| 31.6 ns | 100 ns | 316 ns | |
| 1 µs | 10 µs | 100 µs | |
| 10 µs | 133 µs | 1.7 ms | |
| 1 ms | 100 ms | 10 s | |
| 1 s | 16.7 min | 11.6 dies | |
| 16.7 min | 116 dies | 3171 anys | |
Aquesta taula il·lustra com els temps d'execució creixen de manera radicalment diferent segons l'ordre de magnitud. Mentre que els algorismes logarítmics i lineals es mantenen tractables fins i tot per a valors grans d'
La següent taula (extreta de Algorithm Design per Jon Kleinberg i Éva Tardos, Addison Wesley 2006) mostra els temps d'execució aproximats per a diferents ordres de magnitud, assumint que una operació elemental triga 1 microsegon (µs), i posa de manifest quin és el límit pràctic per a cada ordre de magnitud en aplicacions de big data:

Fixeu-vos que ni tan sols una millora d'un factor 10 en la velocitat dels computadors permetrà tractar conjunts de dades gaire més grans quan l'ordre de magnitud és elevat. L'única alternativa real és disposar d'algorismes més eficients, amb ordres de magnitud més baixos. Aquest fet explica per què la recerca d'algorismes eficients és un dels problemes centrals de la informàtica.

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