Titre : Performances de l’algorithme 2-BFS Sous titre : Etude d’une heuristique pour le calcul du diamètre dans des graphes de très grandes tailles Dans de nombreuses applications pratiques les graphes servent à modéliser une partie (ou la totalité) du contexte considéré (logistique, réseaux, production, biologie, etc.). Le programme manipule ces graphes et nécessite souvent, comme résultats partiels, le calcul de paramètres « classiques » de graphes. Or, ces graphes peuvent avoir des tailles très importantes et le temps consacré au calcul de ces paramètres (intermédiaires) doit être le plus petit possible. Suivant les contextes d’applications, une réponse exacte et déterministe n’est pas toujours nécessaire. On peut alors profiter de cela pour proposer des algorithmes capables de travailler « rapidement » sur de grands graphes mais qui ne donnent pas à coup sur la « réponse exacte ». Ce projet consiste à programmer, expérimenter et analyser les performances d’un tel algorithme, noté ici 2-BFS, calculant (ou estimant) le diamètre d’un graphe. Très schématiquement, la question à laquelle il faut tenter de répondre est : quelle est la probabilité pour que l’algorithme calcule exactement le diamètre du graphe ? (Sinon à combien est on du résultat exact ?) D’un point de vue pratique, on tachera de répondre à la question : dans quels contextes applicatifs/de production cet algorithme pourrait être utilisé en toute « sécurité » ? Principaux travaux demandés : • Programmation de l’algorithme (la programmation n’est pas très compliquée en elle même car la stratégie est simple et se base sur un algorithme de graphe classique enseignée à l’ISIMA). • Programmation de générateurs de graphes (aléatoires, arbres, familles diverses de graphes). Certains de ces graphes peuvent représenter des « graphes applicatifs ». • Expérimentation du programme sur ces graphes. On prendra notamment en compte la densité des graphes (nombre d’arêtes par rapport au nombre de sommets). • Recherche (expérimentale ou analytique) : o de cas pathologiques : dans quels cas (pour quel type de graphes) l’algorithme retourne « mauvais » résultat ? o de cas optimaux : proposez des conditions suffisantes pour que l’algorithme retourne exactement le diamètre. • Evaluer l’écart moyen entre ce que retourne l’algorithme et le diamètre dans certains graphes. • Autres paramètres pour l’évaluation de cet algorithme. Termes clés : graphes, programmation, simulations, analyse. Encadrant : Christian Laforest, Prof. ISIMA, Bureau D 121. Mél : [email protected]