Projet Algo

previous up next contents
Précédent : Présentation générale et objectifs Remonter : Projet ALGO, Algorithmes Suivant : Grands domaines d'application



Fondements scientifiques

Analyse d'Algorithmes



Participants : Philippe Dumas , Philippe Flajolet , Michèle Soria


Mots-clés : analyse d'Algorithmes, analyse combinatoire, combinatoire analytique, structures aléatoires discrètes, arbres d'index, Algorithmes de hachage, algorithmes géométriques, lois limites


Résumé : L'analyse d'Algorithmes vise à une quantification précise des principaux Algorithmes et structures de données de l'informatique. Elle repose sur une étude approfondie de l'aléa discret. Une approche originale développée dans le projet se fonde sur la ``combinatoire analytique''. Les applications en sont les principaux problèmes de recherche de l'information dans de grands volumes de données et l'Algorithmique de la communication.


 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 ALGOs'appuient sur une approche originale fondée sur

L'application aux séquences textuelles ou génétiques de ces idées fait l'objet de la section [*]. L'automatisation de ces méthodes visant à l'analyse complète de modèles complexes est traitée à la section [*].

Traditionnellement, l'analyse d'Algorithmes propose des prédictions quantitatives de comportement moyen, c'est à dire des analyses d'espérances de coûts. Une évolution importante qui commence au début des années 1990 avec la thèse de doctorat ès-sciences de Michèle Soria consiste à aborder des études en distribution. Ceci permet non seulement de connaître les comportements moyens attendus mais encore de prédire les profils de coûts sous la forme de distributions limites ou de bornes de grandes déviations. En d'autres termes, on parvient depuis peu à quantifier très précisément les compromis de type risque-efficacité. Du point de vue mathématique, les travaux établissent un pont intéressant entre approches probabilistes classiques et approches issues de la combinatoire analytique.

Un travail de synthèse qui est une mini-monographie de 123 pages due à Flajolet et Sedgewick (Princeton) [26] exhibe un ensemble cohérent de trois schémas fondamentaux pour lesquels l'apparition de lois gaussiennes est inéluctable.

Plus généralement, le rapport [26] fait partie d'un programme de recherche visant à établir un corpus cohérent de méthodes pour le domaine de la combinatoire analytique et pour la quantification de l'aléa discret. Les méthodes qui sous-tendent ce programme ont de nombreuses applications en l'analyse d'Algorithmes, parmi lesquelles sont traités spécifiquement dans le projet:

Ces méthodes inspirent également une partie des recherches en calcul formel (section [*]) par les problèmes que pose l'automatisation de la manipulation de grands modèles combinatoires.

Calcul formel



Participants : Frédéric Chyzak , François Morain , Bruno Salvy


Mots-clés : calcul formel, fonctions spéciales, échelles asymptotiques, courbes elliptiques, bases de Gröbner


Résumé : Le projet ALGO développe des Algorithmes de calcul formel qui permettent: le traitement de modèles combinatoires récursifs ; l'analyse asymptotique automatique de nombreuses classes de problèmes ; le traitement de fonctions spéciales et de suites combinatoires de manière unifiée, et notamment leur intégration ou leur sommation ; une arithmétique efficace en très grande précision. Ces Algorithmes sont dans la plupart des cas validés par des implantations. Leur développement est motivé par l'automatisation d'une approche combinatoire à l'analyse d'Algorithmes.


 Les trois étapes fondamentales de l'analyse d'Algorithmes telle qu'elle est pratiquée au projet ALGO sont la modélisation combinatoire, la manipulation de séries génératrices et l'analyse asymptotique. Chacune de ces étapes requiert des capacités de calcul symbolique importantes, tant pour l'application des méthodes symboliques que pour l'expérimentation. Ce besoin explique l'importance de l'activité en calcul formel au sein du projet. L'objectif à long terme est de systématiser et d'automatiser ces trois étapes.

Au cours des années ont été élaborés de nombreux Algorithmes et programmes. Les domaines mathématiques permettant l'expression et la preuve de nos Algorithmes sont la combinatoire, l'analyse asymptotique, l'algèbre différentielle (corps de Hardy et anneaux de polynômes non-commutatifs) ou les propriétés des courbes elliptiques sur les corps finis. Notre travail en calcul formel est ainsi complémentaire de celui du projet SAFIR consacré aux systèmes polynomiaux.

Comme pour l'analyse d'Algorithmes, l'approche du projet aux algorithmes du calcul formel est globalisante et unificatrice. La résolution d'un problème appliqué de cryptosystèmes, de combinatoire ou d'analyse d'Algorithmes est abordée à un niveau de généralité qui permet le développement d'une Algorithmique à large portée. Ainsi, les travaux sur les cryptosystèmes mettent en jeu des courbes elliptiques et ont des retombées sur la factorisation d'entiers et les tests de primalité ; les travaux sur la combinatoire fournissent des générateurs aléatoires efficaces susceptibles de nombreuses applications ; les travaux sur l'analyse d'Algorithmes ont abouti au développement d'une Algorithmique d'échelles asymptotiques très générale, dont le besoin s'était fait sentir en intégration numérique et en physique mathématique. Les outils développés dans le projet touchent donc maintenant un public assez large d'utilisateurs du calcul formel intéressés tant par la combinatoire que par les manipulations de séries ou par l'analyse asymptotique. La diversité de ce public est encore accrue par la présence de certains de nos programmes dans les bibliothèques du système MAPLE.

On peut distinguer quatre grandes directions de travail dans notre activité en calcul formel: les structures combinatoires ; les suites et fonctions spéciales ; l'asymptotique automatique et l'Algorithmique des nombres.

Structures combinatoires

Un langage de description généralisant les grammaires context-free permet d'exprimer des objets aussi divers que permutations, arbres binaires, arbres généraux, partitions d'entiers ou d'ensembles, graphes fonctionnels ou molécules chimiques, par exemple carbures ou alcools. À partir d'une description de structure décomposable, il est possible de (i) compter efficacement le nombre d'objets d'une certaine taille répondant à la spécification ; (ii) produire des fonctions de génération aléatoire uniforme de faible complexité -- utiles pour des tests statistiques ; (iii) produire des fonctions de génération exhaustive de ces objets -- utiles pour des tests de robustesse de procédures ; (iv) produire des itérateurs, c'est-à-dire des fonctions permettant d'accéder successivement à tous les objets d'une certaine taille, mais sans les stocker tous en mémoire ; (v) calculer des équations satisfaites par les séries génératrices d'énumération de ces objets -- utiles pour la phase d'analyse asymptotique.

Le programme $\Lambda$$\Upsilon$$\Omega$ réalisé au début des années 90 par B. Salvy et P. Zimmermann fournissait déjà une partie de ces fonctionnalités, mais sa portabilité et ses fonctionnalités étaient limités par l'usage de CAML en conjonction avec MAPLE. Notre objectif est maintenant de tirer parti de l'expérience acquise avec $\Lambda$$\Upsilon$$\Omega$ pour réaliser une version (combstruct) entièrement intégrée en MAPLE, en mettant l'accent sur la modularité, la robustesse et la souplesse d'emploi. La possibilité de produire des visualisations de grandes structures décomposables est par ailleurs étudiée au projet EURECA par P. Zimmermann.

Suites et fonctions spéciales

Selon l'origine combinatoire du problème, les séries génératrices que l'on est amené à étudier peuvent être données sous des formes diverses. Elles peuvent être connues sous forme explicite, mais elles peuvent aussi être définies par une ou plusieurs équations, fonctionnelles, différentielles ou aux différences. De même, leurs coefficients peuvent vérifier des récurrences de natures diverses. Manipuler ces fonctions définies implicitement nécessite des innovations théoriques, ainsi qu'un important effort d'implantation. Ce thème de recherche touche aux fondements du calcul symbolique, où il apparaît qu'il est paradoxalement souvent plus facile de traiter une fonction lorsqu'elle est représentée comme solution d'équations que lorsqu'elle est représentée sous forme close. En particulier, les questions de simplification et de formes normales qui sont une des difficultés majeures rencontrées par l'utilisateur trouvent une bien meilleure réponse dans ce contexte.

Le cas des solutions d'équations différentielles ou de récurrences linéaires attire beaucoup l'attention de la communauté de combinatoire et de calcul formel. De nombreuses suites et fonctions spéciales sont définies par de telles équations, qui bénéficient d'une Algorithmique très riche, implantée en grande partie dans le package GFUN développé par B. Salvy et P. Zimmermann (projet EURECA). Le pendant multivarié de ces travaux est extrêmement prometteur, puisqu'il permet d'envisager une approche Algorithmique à de nombreux calculs avec des polynômes orthogonaux, des fonctions spéciales, ou plus généralement des fonctions, suites, séries ou distributions définies par un système d'équations linéaires. Le travail mené par F. Chyzak dans sa thèse considère des systèmes d'opérateurs linéaires qui peuvent être différentiels, aux différences, aux q-différences, ou de nombreux autres types. Il s'avère que les opérations d'addition, de produit, d'intégration ou de sommation peuvent s'effectuer Algorithmiquement par le biais de techniques d'élimination sophistiquées dans des algèbres non commutatives d'opérateurs linéaires. Le package MGFUN développé par F. Chyzak valide et motive les recherches théoriques correspondantes.

Séries et échelles asymptotiques

Les besoins de la combinatoire analytique en matière de développements asymptotiques dépassent les capacités actuelles des systèmes de calcul formel. En effet, les calculs de coûts moyens et plus encore de variance donnent systématiquement lieu à des annulations non seulement dans les premiers termes des développements mais aussi dans l'ordre de grandeur exponentiel des croissances. La construction automatique des échelles asymptotiques nécessaires et le calcul avec ces échelles pose de nombreux problèmes sur lesquels le calcul formel est en progrès rapide. Les premiers travaux sur ce sujet datent des années 90. En 1988, G. Gonnet et K. Geddes (créateurs du système MAPLE) proposent un modèle permettant de traiter des formules de complexité proche de la formule de Stirling. Puis en 1990, John Shackell (université de Canterbury) publie un Algorithme qui permet de déterminer de manière garantie la limite des fonctions exp-log (fonctions de base de l'asymptotique). L'année suivante, la thèse de B. Salvy propose une première implantation de développements asymptotiques dans des échelles asymptotiques générales. Depuis lors, grâce à une série de travaux en commun de B. Salvy et J. Shackell, des classes de plus en plus vastes de fonctions ont reçu un Algorithme permettant le calcul asymptotique de manière garantie. Ces progrès n'ont pas toujours été suivi d'implantation, mais une nouvelle structure de données pour les développements asymptotiques, les multiséries, a vu le jour récemment. L'Algorithmisation de cette structure de données conduit à revisiter et prolonger les Algorithmes anciens, et mène à la réalisation de prototypes permettant déjà de résoudre des problèmes du niveau de la recherche. Cette structure de données a fait l'objet d'une proposition aux développeurs du système MAPLE. Là encore, on s'attaque à une brique essentielle du système, puisque les séries en MAPLE sont la structure de donnée utilisée pour les polynômes, eux-mêmes base de nombreuses structures de données.

Arithmétique en très grande précision

L'arithmétique des grands nombres est la pierre de base de la cryptologie à clefs publiques. C'est un thème de base de l'Algorithmique, et elle bénéficie de l'apport d'autres branches, comme par exemple la complexité et l'analyse d'Algorithmes.

Un axe de recherche récent étudié par F. Morain concerne les aspects Algorithmiques liés à l'utilisation des courbes elliptiques sur les corps finis. Ces objets prennent une importance grandissante dans les applications industrielles liées à la cryptologie et au commerce électronique. Une des retombées intéressantes des progrès faits dans les domaines évoqués précédemment, hors la cryptologie, concerne le calcul formel. Tous les systèmes de calculs symboliques utilisent de l'arithmétique en précision arbitraire, ce qui permet d'empiler ensuite dessus de nombreuses autres couches logicielles (nombres flottants ou réels, rationnels, algébriques, etc.). Un des exemples récents concerne la factorisation de polynômes dans les corps finis, qui a bénéficié de découvertes récentes de Shoup, faites en relation avec des Algorithmes puissants traitant des courbes elliptiques.

F. Morain a pour rattachement principal le LIX (École Polytechnique) dans le cadre duquel sont développés et valorisés les aspects cryptographiques de son action.

Algorithmiques des séquences



Participants : Frédéric Chyzak , Philippe Dumas , Pierre Nicodème , Mireille Régnier


Mots-clés : combinatoire des mots, séquences, recherche de motifs, génome


Résumé : L'objet des recherches sur les séquences est la conception de nouveaux Algorithmes, l'obtention de la complexité moyenne des Algorithmes et l'application à l'algorithmique de certains résultats statistiques. Plus généralement, nous développons une théorie analytique de l'information qui s'appuie sur la combinatoire, les probabilités et l'analyse.


  L'Algorithmique des séquences ou objets textuels, couvre des domaines d'application variés (compression, images, biologie, ...). Ce sujet comprend d'abord des recherches Algorithmiques. Il s'agit de rechercher efficacement un motif ou un ensemble de motifs dans un texte. Cet ensemble peut en particulier être l'ensemble des mots voisins d'un mot donné, à un nombre d'erreurs près, où le type et le nombre d'erreurs autorisées sont déterminés par l'application. Dans certaines applications (biologie, compression de textes), on recherche des similarités, c'est-à-dire des mots, ou des ensembles de mots similaires souvent répétés. L'aléa combinatoire est au coeur de ces problèmes. D'une part, tant du point de vue de la conception que de l'analyse, la structure des mots, leurs périodes, apparaît essentielle. Par exemple, tout Algorithme raisonnable de recherche de motif est conçu pour exploiter certaines régularités et on relie son domaine d'efficacité à des structures de langages particulières. D'autre part, dans les recherches de similarité, des résultats statistiques sur les mots ou sous-séquences d'un texte sont nécessaires pour évaluer la pertinence des similarités mises à jour par les Algorithmes.

D'un point de vue méthodologique, des théorèmes probabilistes trouvent des applications naturelles dans l'étude des séquences. Plus précisément, nous avons mis en évidence différents types de processus de renouvellement, la loi limite étant généralement gaussienne; le calcul effectif des paramètres de coût peut être très délicat et les outils combinatoires et analytiques permettent pour cette classe de problèmes les calculs effectifs des distributions. Nous cherchons à développer une théorie analytique de l'information. La ``dépoissonisation analytique'' est un procédé de portée générale (inventé par P. Jacquet et M. Régnier, développé avec W. Szpankowski de l'Université de Purdue) sans analogue probabiliste direct, car il revient à considérer un processus de Poisson de taux complexe. Elle trouve de nombreuses applications en combinatoire statistique car elle permet des développements asymptotiques complets sur des paramètres comme l'entropie et la compressibilité d'un texte qu'il était difficile d'estimer auparavant. Parallèlement, nous développons des outils de calcul dans le modèle probabiliste markovien [29,35]. La complexité des évaluations de performances dans le cas markovien provient du nombre de cas différents à considérer. Nous définissons pour chaque problème des langages caractéristiques dont la contribution au coût total de l'Algorithme est calculable. Ceci équivaut à une agrégation des états de l'automate associé. Les résultats s'appliquent à la compression et à la recherche de motifs avec erreurs ou de motifs exceptionnels dans les textes (DosDNA, reconnaissance de gènes, ...). Ils permettent aussi d'établir les domaines d'efficacité des différents Algorithmes de recherche de similarités dans des bases de données protéiques.

Algorithmique et modélisation des réseaux



Participants : Jean-François Dantzer , Vincent Dumas , Philippe Robert , Jean-Marc Wachter


Mots-clés : grands réseaux, méthodes de renormalisation, vitesse de convergence


Résumé : L'étude quantitative des modèles probabilistes de réseaux, complexe dès lors que le nombre de noeuds est grand, est envisagée du point de vue des techniques de renormalisation de la physique statistique. L'état du réseau est renormalisé avec un paramètre (la taille, la capacité du réseau, l'intensité du trafic) qui tend vers une valeur critique. Asymptotiquement, l'étude du comportement du réseau se ramène à la résolution d'équations différentielles "quasi-déterministes"


Le cadre général de cette recherche concerne les propriétés de renormalisation des réseaux de communication. Le processus de Markov décrivant l'état d'un réseau est en général complexe, même si la distribution à l'équilibre de celui-ci est connue. La combinatoire des expressions ne permet pas une évaluation qualitative de ces réseaux, pour les problèmes de dimensionnement notamment, lorsque leur nombre de noeuds est significatif. Une méthode intéressante, issue de la physique des particules, consiste à renormaliser le processus à la fois en temps et en espace par un petit paramètre $\varepsilon$ et faire tendre celui-ci vers 0. Un processus limite ainsi obtenu conserve les caractéristiques essentielles du réseau, schématiquement la partie ``bruit'' autour des trajectoires est éliminée. Un processus limite obtenu de cette façon est quasi-déterministe, les points de discontinuité de la dynamique conservant une part d'aléatoire. Toute la difficulté de l'étude consiste à identifier et caractériser les limites possibles. Il peut y avoir plusieurs limites et les équations ``limites'' peuvent présenter des solutions pathologiques qu'il convient d'éliminer (les physiciens le font avec des arguments d'entropie dans leur cadre). La renormalisation présente l'intérêt de mettre en évidence les modes de fonctionnement fondamentaux. Ce programme d'étude a déjà largement été entamé dans la thèse de V. Dumas [39], par J.-F. Dantzer dans une thèse en cours, dans le cadre des réseaux multi-classe et par J.-M.  Wachter dans une thèse en cours sur des réseaux avec perte.

Les problèmes de vitesse de convergence constituent un aspect important de notre étude. Ils se situent en amont des questions de renormalisation. Schématiquement, l'étude d'un système donné peut se décrire de la façon suivante : étude de la renormalisation, propriétés gaussiennes autour des trajectoires renormalisées, existence d'un principe de grandes déviations, et enfin étude de la convergence à l'équilibre des modèles considérés. Jusqu'à présent, les résultats obtenus dans ce domaine sont principalement des estimations du taux de convergence exponentielle par rapport au temps, pour obtenir des bornes du type $Ke^{-\lambda_2 t}$. La constante $K$, qui est généralement négligée, joue cependant assez souvent un rôle majeur dans la convergence à l'équilibre. Par exemple, l'étude de la seconde valeur propre suggère souvent un temps de relaxation (le temps pour que la distance à l'équilibre soit $\leq e^{-1})$ de l'ordre de $\frac{1}{\lambda_2}$. Il est cependant très fréquent que l'ordre de grandeur du véritable temps de relaxation soit complètement différent. L'accumulation de valeurs propres au voisinage de $\lambda_2$ semble être à l'origine de ces phénomènes encore mal compris. Notre objectif principal dans ce cadre est de donner des bornes aussi simples et précises que possible de la distance entre l'état d'un système à un instant donné et ce même système à l'équilibre. L'intérêt de tels résultats est de pouvoir donner une description du comportement transitoire d'un système qui n'est pas à l'équilibre. Si l'état d'équilibre a, en général, une expression difficile à utiliser, le cas transitoire est en revanche pratiquement toujours inconnu. Ce type d'étude a été mené avec succès, avec des techniques d'analyse de Fourier, dans le cadre des marches aléatoires sur des graphes ayant une structure assez régulière, voir par exemple le livre de Diaconis [38] sur ce sujet. Les techniques envisagées pour cette étude sont essentiellement probabilistes. Notre objectif est d'étudier dans un premier temps des réseaux simples et de dégager des méthodes d'investigation. Dans ce cadre aussi, nous avons recours à une variable de renormalisation $N$qui permet de dégager le mode majeur de convergence. Outre les bornes explicites sur la distance à l'équilibre, ce type d'étude permet de définir dans certaines situations, le temps d'atteinte de l'équilibre $T_N$ ; avant ce temps, il est possible de trouver un état initial pour lequel la distance est maximale, et après $T_N$ la distance est nulle.



previous up next contents Précédent : Présentation générale et objectifs Remonter : Projet ALGO, Algorithmes Suivant : Grands domaines d'application