L' analyse lissée a- t-elle trouvé son chemin dans l'analyse principale des algorithmes? Est-il courant que les concepteurs d'algorithmes appliquent une analyse lissée à leurs algorithmes?
L' analyse lissée a- t-elle trouvé son chemin dans l'analyse principale des algorithmes? Est-il courant que les concepteurs d'algorithmes appliquent une analyse lissée à leurs algorithmes?
Réponses:
Je peux me tromper, mais je considère l'analyse lissée comme un moyen d' expliquer le comportement en pratique des algorithmes qui ont de mauvaises garanties théoriques (simplex, k-means, etc.). Je ne sais pas ce que cela signifierait d' utiliser analyse lissée dans la pratique, sauf pour justifier l'utilisation d'une heuristique particulière avec de mauvaises performances dans le pire des cas ("Mon heuristique a un comportement dans le pire des cas, mais une analyse lissée indique bien faire en pratique etc etc ")
La façon dont les gens analysent les algorithmes dans le monde réel est très différente de celle du milieu universitaire. Alors que dans le monde universitaire, le but est de trouver une limite supérieure prouvée correcte sur le temps de course, dans la vie réelle, le but est de comprendre comment l'algorithme fonctionne et quels ajustements peuvent améliorer le temps de course. Il existe deux méthodes principales interdites dans le monde universitaire mais utilisées dans la pratique:
Cela dit, je ne pense pas qu'il soit très courant d'analyser un algorithme dans la pratique, à part ajouter du texte de remplissage dans une publication universitaire connexe. L'accent est mis sur le génie logiciel ou sur l'optimisation de bas niveau, selon le sujet.
Enfin, l'analyse lissée est une heuristique qui peut être utilisée pour expliquer pourquoi les algorithmes fonctionnent mieux en pratique que ne le suggérerait leur pire cas - à savoir que certaines entrées sont "aléatoires" dans un certain sens. Cette heuristique peut être utilisée pour approximer le comportement de l'algorithme si l'on utilise la méthode d'approximation.