Christelle CAUSSE Ludwig BERTHAUD Grand Projet RECHERCHE DE MOTIFS Mii3 1. ANALYSE DU PROJET A. Outils et objectifs Outils Techniques: Langage C Visual Studio Gcc Algorithmiques: Naïf Knuth-Morris-Pratt Boyer-Moore Karp-Rabin Recherche sur les 4 algorithmes donnés Mesurer la performance des 4 algos Suivre le cahier des charges Objectifs Pédagogiques: Du projet: 1. ANALYSE DU PROJET B. Analyse et fonctions Les fonction de menu et de saisie Saisie manuelle du texte Choix d’un fichier à traiter Tester un algorithme (une fois) Tester un algorithme sur une période à déterminer Tester tous les algorithmes sur une période à déterminer Les algorithmes Naïf Knuth-Morris-Pratt Boyer-Moore Karp-Rabin Algorithme Naïf 1. Principe Vérifier, pour chaque position du texte où le motif pourrait s’apparier, si il y a concordance ou non 2 pointeurs, i et j, incrémentés si ils pointent sur des caractères concordants. Si les caractères discordent, j pointe sur le début du motif, et i repositionné. 2. Complexité O ( mn ) Algorithme de Knuth-Morris-Pratt 1. 2. Principe Complexité O (m n) 2 Algorithme de Boyer-Moore 1. 2. Principe Complexité O ( mn ) Algorithme de Karp-Rabin 1. 2. Principe Complexité O (mn) 2. PROGRAMMATION DU PROJET A. Difficultés, nos choix… Problèmes de portabilité avec les fonction pour mesurer le temps Problèmes de recherche Utilisation de variables globales 2. PROGRAMMATION DU PROJET B. Les améliorations Mesure du temps (utilisation de fonctions propres à l’OS) Créer des librairies propres à l’OS B. Jeux d’essais . . . . . . . . . . . . . . . CONCLUSIONS et réflexions personnelles