Projet : ALGO

previous up next contents
Précédent : Résultats nouveaux Remonter : Résultats nouveaux Suivant : Calcul formel


Sous-sections


   
Analyse d'algorithmes



Participants : Philippe Dumas, Julien Clément, Philippe Flajolet, Xavier Gourdon, Michèle Soria, Brigitte Vallée.

 L'analyse d'algorithmes ou de structures de données dépend très étroitement d'une évaluation et d'une quantification précise de l'aléa discret. Il s'agit en effet de caractériser le comportement des principaux paramètres de structures combinatoires d'arbres, de mots, de graphes ou d'allocations aléatoires. Dans ce domaine, les travaux du projet Algorithmes s'appuyent sur une approche originale et systématique qui a été baptisée ``Combinatoire Analytique''. La combinatoire analytique repose sur deux ingrédients mathématiques essentiels, dont le développement a largement pris place dans le Projet Algorithmes:

L'exploitation de ces idées dans le domaine des protocoles de communication est détaillée à la section 6.4 ainsi que dans le rapport d'activité du projet HIPERCOM tandis que l'application aux séquences textuelles ou génétiques fait l'objet de la section 6.3. Enfin, l'automatisation de ces méthodes visant à l'analyse complète de modèles complexes est intimement liée au calcul formel et traitée à la section 6.2.

Combinatoire analytique.

Un premier lot de travaux conçus ou publiés en 1998 a trait à l'approfondissement des méthodes fondamentales de la combinatoire analytique. Ainsi l'article [[23]] propose-t-il un cadre original pour les nombres de Stirling. Ces ``nombres spéciaux'' apparaissent dans de nombreux modèles d'allocation aléatoire (hachage, gestion de cache) ou de recherche (arbres de recherche, arbres quadrants, par exemple). Les identités combinatoires correspondantes soutendent un grand nombre d'analyse et un cadre unificateur en est fourni dans l'article [[23]]. Sur le plan des méthodes, l'article [[25]] montre une extension de l'analyse de singularité (technologie développée principalement par Flajolet et Odlyzko d'ATT Research) à une riche classe de sommes hybrides mêlant quantités combinatoires et quantités transcendantes. Les résultats s'appliquent notamment à ce que P. Jacquet et W. Szpankowski nomment ``théorie analytique de l'information''. Voir également [[24]] pour une combinaison délicate de techniques mêlant analyse de singularité, transformation de Mellin, et analyse de col, cela dans le but de quantifier finement la redondance de certaines sources en théorie de l'information.

Algorithmes et structures de données.

La gestion de tables de hachage en place s'effectue classiquement par la méthode dite des essais linéaires (``linear probing hashing''). C'est là sans doute la méthode de hachage la plus utilisée dans le monde. Flajolet, Poblete (Chili) et Viola (Uruguay) [[6]] ont résolu une conjecture de Knuth datant du début des années 1990 et concernant la dispersion des coûts lors de la construction d'une telle table. L'analyse repose sur une équation fonctionnelle et aux dérivées partielle non-linéaire
$\displaystyle {\frac{\partial}{\partial z}}$F(z, q) = F(z, q) . $\displaystyle {\frac{F(z,q)-qF(qz,q)}{1-q}}$,
une méthode de moments, et l'utilisation extensive des méthodes d'analyse de singularité issues du projet. Un phénomène délicat de transition de phase est décrit où l'on part d'une loi gaussienne et à faible dispersion des coûts tant que le remplissage de la table reste faible, et l'on parvient à une ``prise en masse'' de la table caractérisée par une ``loi d'Airy''. Cette loi se manifeste également dans plusieurs domaines des structures aléatoires discrètes (connectivité des graphes, aire des chemins, longueur de cheminement dans les arbres, par exemple) tout en se reliant à des modèles de physique statistique très divers.

Les méthodes de combinatoire analytique inspirées de celles qui sont développées pour les tables de hachage s'avèrent aussi efficaces dans le domaine de l'évaluation de la sélection et du tri par distribution. Les algorithmes fondamentaux sont analysés dans [[26]], article écrit en collaboration avec l'Université George Washington et le Projet HIPERCOM.

Sur un autre registre, J. Clément (doctorant de l'Université de Caen associé au projet), P. Flajolet et B. Vallée (Caen) [[15]] ont pu quantifier très précisément le comportement des arbres digitaux hybrides (``hybrid tries'' ou ``ternary tries'') dus à Bentley et Sedgewick. Par la concision de son code interne, cette structure généraliste est sans nul doute l'une des meilleures manières d'implanter la recherche dans de grands volumes de données textuelles. Ce fait est validé dans [[15]] à la fois par une modélisation probabiliste (reposant sur les méthodes symboliques, modèles poissonniens et transformation de Mellin) et par confrontation à des données réelles. Par exemple, il est établi, théoriquement et pratiquement, que de tels arbres présentent des gains d'efficacité de l'ordre de 3 en temps et 10 en mémoires par rapport à leurs concurrents immédiats.

Les méthodes de la combinatoire analytique s'appliquent encore à de nombreuses heuristiques de l'optimisation combinatoires. Un exemple est fourni par le ``bin packing''; il est montré dans un travail commun avec E. Coffman et L. Flatto (Bell Labs, Lucent Technology) ainsi que M. Hofri (Renssler Polytechnic) [[5]] qu'un principe très simple d'allocation conduit à un algorithme à la fois efficace (quasilinéaire) en temps et quasi-optimal en espace perdu.

La combinatoire analytique atteint désormais l'âge mûr. Ses applications dans les domaines traditionnels des structures de données s'étendent aux modèles de l'aléa discret en informatique dans toute leur généralité et l'on en retrouve la trace dans les analyses de systèmes cryptographiques, la théorie de l'information et de la communication, l'algorithmique probabiliste [[9]], ou encore le calcul formel. Sur ce dernier point voir par exemple la toute première analyse complète de la chaîne classique de factorisation de polynômes univariés dans [[22],[18]].

Analyses dynamiques.

Il convient enfin de souligner l'émergence sous l'impulsion de B. Vallée (Université de Caen, membre associé au projet) d'une direction nouvelle. Il s'agit de l'irruption des opérateurs de transfert dans le domaine de l'analyse d'algorithmes. Ces opérateurs ont été initialement introduits par Ruelle pour les besoins de la thermodynamique statistique. Certains chercheurs (Wirsing, Babenko, Hensley) se sont rendus compte graduellement de leur rôle dans l'analyse des propriétés probabilistes et métriques des fractions continues. Puis B. Vallée en a largement systématisé l'usage à une large classe d'algorithmes de théorie algorithmique des nombres (``computational number theory'') résolvant au passage le problème de l'analyse du PGCD binaire et les conjectures correspondantes de Brent qui datent de 1976 (voir le Séminaire Algorithmes, édition 1998). La base de la théorie est exposée dans [[8]]. Les méthodes soutendent l'analyse des arbres digitaux hybrides, dès que les sources de données ont un caractère un peu plus général que les modèles classiques (de Bernoulli ou Markov). Enfin, ce domaine se relie naturellement à l'algorithmique de base du calcul formel, réduction de réseaux, symboles de résidualité quadratique, comparaison de rationnels et signe du déterminant, etc.



previous up next contents
Précédent : Résultats nouveaux Remonter : Résultats nouveaux Suivant : Calcul formel