Combinatoire sur les mots et recherche de motifs
Institution:
Université de Marne-la-ValléeDisciplines:
Directors:
Abstract EN:
Pas de résumé disponible.
Abstract FR:
Rechercher un mot ou un ensemble de mots dans un texte est un problème fondamental en informatique qui est a la base de beaucoup d'autres : la gestion de base de données textuelles et la recherche dans des séquences d'ADN en bio-informatique. Les algorithmes efficaces de recherche de mots utilisent en général des propriétés fines de combinatoire sur les mots. Si les algorithmes classiques effectuaient une reconnaissance dans le texte de préfixes ou suffixes du mot recherche, les algorithmes les plus efficaces effectuent une reconnaissance des facteurs du mot recherche grâce a des structures telles que l'automate des suffixes ou l'arbre des suffixes. Nous approfondissons cette approche en proposant un nouvel algorithme, optimal en moyenne et dans le pire cas, utilisant pour seule structure un automate des suffixes. Nous présentons ensuite une nouvelle approche pour résoudre le problème de recherche d'un mot basée sur une reconnaissance approchée des facteurs du mot recherche. Pour cela, nous introduisons une nouvelle structure, l'oracle des facteurs, qui construite sur un mot reconnaît au moins tous les facteurs de ce mot. Cette structure étant plus petite et plus simple a construire que l'automate des suffixes, elle permet d'obtenir des algorithmes plus simples, moins gourmands en espace mémoire et tout aussi performants. Face aux très bons résultats expérimentaux de ces nouveaux algorithmes, nous avons décidé d'étendre la notion d'oracle des facteurs a un ensemble de mots. Les algorithmes de recherche d'un ensemble de mots dans un texte que nous obtenons ainsi sont les plus performants en pratique et les moins gourmands en mémoire des algorithmes existants. Enfin, nous verrons comment des techniques propres a la recherche de mots et a l'algorithmique du texte peuvent être mises en pratique pour résoudre un problème de combinatoire sur les mots : la représentation et le calcul du shuffle de plusieurs mots