Comment se retrouve-t-on avec un exposant non entier en complexité temporelle? (par exemple,


8

Je rencontre périodiquement des phrases comme

"Variante de Winograd [20] de cet algorithme, dont la complexité asymptotique est également O(n2.81)sont considérés "(à partir de https://www.cise.ufl.edu/~sahni/papers/strassen.pdf )

Je comprends intuitivement comment nous nous retrouvons avec des complexités comme O(n2) et O(nlogn)parce que je peux voir comment les boucles et les arbres fonctionnent. Mais je n'ai aucune idée de comment on finit par dériver une complexité avec une décimale. Quelqu'un peut-il me donner un exemple de la façon dont cela se produit?

Réponses:


9

La complexité du temps d'exécution de l'algorithme de Strassen est donnée par la récurrence

T(n)=7T(n/2)+O(n2).
(Avec un cas de base approprié.) La solution de cette récurrence est T(n)=O(nlog27).

L'algorithme de Strassen multiplie deux n×n matrices A,B en les décomposant en quatre (n/2)×(n/2) matrices chacune, calculant sept combinaisons linéaires des plus petites matrices chacune, disons (Ai,Bi)i=1,,7, calcul récursif Ci=AiBiet calculer les quatre (n/2)×(n/2) matrices du résultat en prenant des combinaisons linéaires des matrices Ci. C'est ainsi que ce temps de course a vu le jour. Si vous voulez en savoir plus, il y a beaucoup d'informations sur l'algorithme de Strassen. Il existe d'ailleurs des algorithmes asymptotiquement plus rapides pour la multiplication matricielle, le champion actuel étant Le Gall .


Je pense que je cherche la réponse - «vous obtenez une décimale, dans ce cas, en résolvant cette relation de récurrence». - J'essaie vraiment de poser une question un peu plus générale sur les circonstances dans lesquelles cela se produit. Une relation de récurrence est-elle le seul moyen possible d'obtenir un exposant non entier?
Joe

1
Il existe d'autres moyens. Par exemple, dans les algorithmes de flux réseau, certains algorithmes itératifs peuvent converger dansnpas. D'autres exemples sont les polynômes de Chebyshev, qui se comportent comme des polynômes de degréd mais avoir un diplôme d. Il pourrait y avoir plus d'exemples, et en tout cas il n'y a aucune raison pour qu'une liste soit exhaustive - de nouvelles idées surgissent tout le temps.
Yuval Filmus
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.