Come si finisce con un esponente non intero nella complessità temporale? (per esempio,


8

Periodicamente mi imbatto in frasi come

"La variante di Winograd [20] di questo algoritmo, la cui complessità asintotica è anche O(n2.81)sono considerati "(da https://www.cise.ufl.edu/~sahni/papers/strassen.pdf )

Capisco intuitivamente come finiamo con complessità come O(n2) e O(nlogn)perché posso vedere come funzionano gli anelli e gli alberi. Ma non ho idea di come si finisce per derivare una complessità con un decimale. Qualcuno può darmi un esempio di come ciò accada?

Risposte:


9

La complessità del tempo di esecuzione dell'algoritmo di Strassen è data dalla ricorrenza

T(n)=7T(n/2)+O(n2).
(Con un caso di base adatto.) La soluzione di questa ricorrenza è T(n)=O(nlog27).

L'algoritmo di Strassen moltiplica due n×n matrici UN,B scomporli in quattro (n/2)×(n/2) matrici ciascuna, calcolando sette combinazioni lineari delle matrici più piccole ciascuna, diciamo (UNio,Bio)io=1,...,7, calcolo ricorsivo Cio=UNioBioe calcolare i quattro (n/2)×(n/2) matrici del risultato prendendo combinazioni lineari delle matrici Cio. Ecco come è arrivato questo tempo di esecuzione. Se vuoi saperne di più, ci sono molte informazioni sull'algoritmo di Strassen. A proposito, ci sono algoritmi asintoticamente più veloci per la moltiplicazione della matrice, il campione attuale è Le Gall .


Penso di cercare la risposta: "in questo caso ottieni un decimale risolvendo questa relazione di ricorrenza". - Sto davvero cercando di porre una domanda leggermente più generale sulle circostanze in cui ciò accade. Una relazione di ricorrenza è l'unico modo possibile per ottenere un esponente non intero?
Joe

1
Ci sono altri modi Ad esempio, negli algoritmi del flusso di rete, alcuni algoritmi iterativi potrebbero convergerenpassi. Altri esempi sono i polinomi di Chebyshev, che si comportano "come" i polinomi di gradod ma avere laurea d. Potrebbero esserci più esempi e, in ogni caso, non vi è alcun motivo per cui un elenco sia esaustivo: nuove idee nascono continuamente.
Yuval Filmus,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.