IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Algorithmes et structures de données Discussion :

Algos pour Convolution et FFT


Sujet :

Algorithmes et structures de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Mars 2003
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2003
    Messages : 3
    Par défaut Algos pour Convolution et FFT
    Bonjour à tous,

    je suis en train d'implémenter des algorithmes dans le cadre d'un travail sur le Pattern Matching with Don't Cares (en français la recherche de motif dans un texte avec un caractère "joker")
    Ce domaine utilise énormément de calcul de FFT et de convolution malheureusement je dois dire que je patauge un peu là dedans

    Par exemple, je suis plongé dans l'algorithme de Kalai http://people.cs.uchicago.edu/~kalai/PAPERS/dontcare.ps. Celui-ci indique qu'il faut calculer une somme de produit à l'aide de FFT:

    soit une chaine de caractères: X=x1....xn et une chaine d'entier R=r1....rm (m<n)
    il faut calculer:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Somme de i=1 à m de:  x_{j-1+i}r_{i}
    où pourrais-je trouver une librairie (ou un algo) me permettant de résoudre ce genre de calcul? Toutes les implémentations de FFT que j'ai pu trouver sur le net servent à traiter des signaux et des échantillonages. J'ai bien compris le lien qui existe entre la multiplication de grands entiers et le calcul de FFT (http://en.wikipedia.org/wiki/Multiplication_algorithm mais je ne vois pas comment l'adapter à mon problème

    merci d'avance à ceux qui pourront m'aider

    PS: je code ces algos en c++

  2. #2
    Rédacteur

    Avatar de Matthieu Brucher
    Profil pro
    Développeur HPC
    Inscrit en
    Juillet 2005
    Messages
    9 810
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Développeur HPC
    Secteur : Industrie

    Informations forums :
    Inscription : Juillet 2005
    Messages : 9 810
    Par défaut
    Pour la FFT, cherche du côté de FFTW.
    Pourquoi veux-tu faire une multiplication avec FFT ? Cela permet de gagner en vitesse, OK, mais avant, il vaut mieux que ton algorithme fonctionne ! Donc fais une multiplication normale et utilise l'algo de Strassen après.

  3. #3
    Candidat au Club
    Profil pro
    Inscrit en
    Mars 2003
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2003
    Messages : 3
    Par défaut
    Citation Envoyé par Miles
    Pour la FFT, cherche du côté de FFTW.
    Pourquoi veux-tu faire une multiplication avec FFT ? Cela permet de gagner en vitesse, OK, mais avant, il vaut mieux que ton algorithme fonctionne ! Donc fais une multiplication normale et utilise l'algo de Strassen après.
    ben en fait c'est pas moi qui le veut c'est celui qui a inventé l'algorithme
    C'est sur que c'est pas forcément utile pour de simples multiplications, mais c'est surtout pour améliorer la complexité finale de la méthode.

    En ce qui concerne l'algo de Strassen dont tu me parles, y a t il un endroit ou je pourrais le trouver déja implémenté?

    merci d'avance

  4. #4
    Rédacteur

    Avatar de Matthieu Brucher
    Profil pro
    Développeur HPC
    Inscrit en
    Juillet 2005
    Messages
    9 810
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Développeur HPC
    Secteur : Industrie

    Informations forums :
    Inscription : Juillet 2005
    Messages : 9 810
    Par défaut
    Non, mais si tu relis le lien sur la multiplication que tu as mis, tu verras qu'il y a un Strassen.
    Le gars qui a inventé l'algorithme n'a mis une multiplication comme celle-ci que pour réduire sa complexité, mais pour un début, il a commencé par une version sans cette optimisation afin de véirifier que tout marche. Tu peux donc faire exactement la même chose et t'occuper de mettre la multplication dedans apèrs, une fois que tout fonctionnera.

  5. #5
    Candidat au Club
    Profil pro
    Inscrit en
    Mars 2003
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2003
    Messages : 3
    Par défaut
    merci
    l'algorithme fonctionne bien en utilisant la multiplication basique.

    Maintenant j'aimerais bien pouvoir implémenter la méthode par FFT, je vais essayer en regardant la méthode de Strassen, mais si quelqu'un est déja passé par là et peux m'éviter de perdre de précieux jours je lui en serai éternellement reconnaissant (l'échéance de mon travail arrive à grand pas )

  6. #6
    pe
    pe est déconnecté
    Candidat au Club
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 3
    Par défaut
    FFTW est la librairie de FFT la plus utilisée. Elle est peut-être un peu complexe au début mais elle dispose de nombreux algos de FFT. Elle est aussi très rapide.
    Il existe pour cette librairie des projets VC++ ainsi que des .lib déjà compilés.
    http://www.fftw.org/

Discussions similaires

  1. Algo pour déterminer la couleur d'un objet
    Par Nath71 dans le forum Algorithmes et structures de données
    Réponses: 4
    Dernier message: 26/04/2005, 01h58
  2. Algo pour enlever les yeux rouges
    Par cha266 dans le forum Algorithmes et structures de données
    Réponses: 26
    Dernier message: 25/04/2005, 11h14
  3. Déterminer Algo pour une formule mathématique
    Par jekyll_omiwane dans le forum Algorithmes et structures de données
    Réponses: 4
    Dernier message: 07/01/2005, 18h28
  4. Algo pour écrire un chiffre
    Par Skyw4lKR dans le forum Algorithmes et structures de données
    Réponses: 5
    Dernier message: 11/08/2004, 13h32
  5. Algo de calcul de FFT
    Par djlex03 dans le forum Traitement du signal
    Réponses: 15
    Dernier message: 02/08/2002, 17h45

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo