Thèse soutenue

Series generatrices et analyse automatique d'algorithmes
FR  |  
EN
Accès à la thèse
Auteur / Autrice : Paul Zimmermann
Direction : Philippe Flajolet
Type : Thèse de doctorat
Discipline(s) : Sciences appliquées
Date : Soutenance en 1991
Etablissement(s) : Palaiseau, Ecole polytechnique

Résumé

FR

L'objet de cette these est la mise en evidence de procedes systematiques pour determiner automatiquement le cout moyen d'un algorithme. Ces procedes s'appliquent en general aux schemas de descente dans des structures de donnees decomposables, ce qui permet de modeliser une vaste classe de problemes. Cette these s'interesse plus precisement a la premiere phase de l'analyse d'un algorithme, l'analyse algebrique, qui traduit le programme en objets mathematiques, tandis que la seconde phase extrait de ces objets les informations desirees sur le cout moyen. Nous definissons un langage de specification pour definir des structures de donnees decomposables et des procedures de descente sur celles-ci. Lorsque l'on utilise comme objets mathematiques des series generatrices (de denombrement pour les donnees, de cout pour les procedures), nous montrons que les algorithmes decrits dans ce langage se traduisent directement en systemes d'equations pour les series generatrices associees, et de surcroit par des regles simples. A partir de ces equations, nous pouvons ensuite determiner en temps polynomial le cout moyen exact pour une valeur fixee de la taille des donnees. On pourra aussi utiliser ces equations pour calculer par analyse asymptotique le cout moyen lorsque la taille des donnees tend vers l'infini, puisque l'on sait par ailleurs que le cout moyen asymptotique est directement lie au comportement des series generatrices au voisinage de leurs singularites. Ainsi nous montrons qu'a une classe donnee d'algorithmes correspond une classe bien definie de series generatrices, et par consequent une certaine classe de formules pour le cout moyen asymptotique. Ces regles d'analyse algebrique ont ete incorporees dans un systeme d'analyse automatique d'algorithmes, lambda-upsilon-omega (luo), qui s'est avere etre un outil tres utile pour l'experimentation et la recherche