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 :

temps d'exécution des fonctions


Sujet :

Algorithmes et structures de données

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    122
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 122
    Points : 54
    Points
    54
    Par défaut temps d'exécution des fonctions
    Bonjour ,

    Est ce que vous connaissez des (méthodes, tutoriels....) pour comprendre pourquoi le temps d'exécution des fonctions mathématique par exemple
    exp(x+1)
    est plus long que celui de
    racine(x+1)/42
    qui est plus long que
    1/(x^2+1)
    j'ai fais le test avec des données de tailles 4 MO

  2. #2
    En attente de confirmation mail
    Inscrit en
    Octobre 2007
    Messages
    285
    Détails du profil
    Informations personnelles :
    Âge : 42

    Informations forums :
    Inscription : Octobre 2007
    Messages : 285
    Points : 348
    Points
    348
    Par défaut
    Bonjour Pipip,

    Je ne répondrai pas précisément à la question sur les fonctions décrites, mais d'un ordre général.

    Les processeurs ne sont pas capables de calculer avec leurs opérateurs de bases certaines fonctions, même de base comme la racine carrée d'un nombre.
    Il faut s'imaginer que le processeur possède simplement des opérateurs tels que addition/soustraction, multiplication/division, opérateurs logiques, ....

    Donc, pour les exemples cités :

    la machine va réaliser "x" multiplication de e si x est entier

    Pour la racine carré, c'est un algorithme plus complexe qui est utilisé. Petite recherche sur google pour avoir des exemples

    enfin :
    est plus simple que les autres car :
    1 multiplication,
    1 addition,
    1 division.

    De plus, les temps peuvent varier suivant le type de x : entier, entier long, floatant, ....
    Et pour compliquer, suivant le langage et même les librairies utilisées, les temps de calculs (liés aux nombres d'opérations et leurs natures) peuvent varier.
    On peut également prendre en compte l'architecture du processeur....

    En espérant vous avoir mis sur la piste...

  3. #3
    Rédacteur
    Avatar de Zavonen
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    1 772
    Détails du profil
    Informations personnelles :
    Âge : 76
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 772
    Points : 1 913
    Points
    1 913
    Par défaut
    Est ce que vous connaissez des (méthodes, tutoriels....) pour comprendre pourquoi le temps d'exécution des fonctions mathématique par exemple
    La meilleure méthode consiste à prendre un crayon un papier et à se palucher les calculs un à un en mesurant le temps mis avec un chrono. Sûr que si tu fais ça tu vas comprendre, et tu vas apprendre quelque chose par dessus le marché.
    Ce qu'on trouve est plus important que ce qu'on cherche.
    Maths de base pour les nuls (et les autres...)

  4. #4
    Modérateur
    Avatar de ToTo13
    Homme Profil pro
    Chercheur en informatique
    Inscrit en
    Janvier 2006
    Messages
    5 793
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : Chercheur en informatique
    Secteur : Santé

    Informations forums :
    Inscription : Janvier 2006
    Messages : 5 793
    Points : 9 860
    Points
    9 860
    Par défaut
    Bonsoir,

    euh... pour l'exponentielle et la racine il me semble que l'ordi utilise des fonctions convergentes qui donnent de bon résultat plus rapidement que ce que l'on nous enseigne en math.
    Consignes aux jeunes padawans : une image vaut 1000 mots !
    - Dans ton message respecter tu dois : les règles de rédaction et du forum, prévisualiser, relire et corriger TOUTES les FAUTES (frappes, sms, d'aurteaugrafe, mettre les ACCENTS et les BALISES) => ECRIRE clairement et en Français tu DOIS.
    - Le côté obscur je sens dans le MP => Tous tes MPs je détruirai et la réponse tu n'auras si en privé tu veux que je t'enseigne.(Lis donc ceci)
    - ton poste tu dois marquer quand la bonne réponse tu as obtenu.

  5. #5
    Expert éminent sénior

    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    10 603
    Détails du profil
    Informations personnelles :
    Âge : 66
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 10 603
    Points : 17 913
    Points
    17 913
    Billets dans le blog
    2
    Par défaut
    pas franchement..

    La racine carrée est, si ne me trompe, toujours calculée comme série de Taylor approchée... (d'où l'intérêt, lorsqu'on a à comparer des distances, à comparer au carré... Et ne prendre la racine que à la sortie du calcul).
    "Un homme sage ne croit que la moitié de ce qu’il lit. Plus sage encore, il sait laquelle".

    Consultant indépendant.
    Architecture systèmes complexes. Programmation grosses applications critiques. Ergonomie.
    C, Fortran, XWindow/Motif, Java

    Je ne réponds pas aux MP techniques

  6. #6
    Rédacteur

    Homme Profil pro
    Comme retraité, des masses
    Inscrit en
    Avril 2007
    Messages
    2 978
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 83
    Localisation : Suisse

    Informations professionnelles :
    Activité : Comme retraité, des masses
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2007
    Messages : 2 978
    Points : 5 179
    Points
    5 179
    Par défaut
    toujours calculée comme série de Taylor approchée
    Désolé de te contredire, mais on utilise le plus souvent des polynômes orthogonaux (Legendre, Tchébyscheff, Laguerre ou Hermite)
    Jean-Marc
    Calcul numérique de processus industriels
    Formation, conseil, développement

    Point n'est besoin d'espérer pour entreprendre, ni de réussir pour persévérer. (Guillaume le Taiseux)

  7. #7
    Expert éminent sénior

    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    10 603
    Détails du profil
    Informations personnelles :
    Âge : 66
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 10 603
    Points : 17 913
    Points
    17 913
    Billets dans le blog
    2
    Par défaut
    Citation Envoyé par FR119492 Voir le message
    Désolé de te contredire, mais on utilise le plus souvent des polynômes orthogonaux (Legendre, Tchébyscheff, Laguerre ou Hermite)
    Jean-Marc

    ok pas de problème

    c'était juste pour dire que les algos ne sont pas directs, et que ça "coûte"...
    "Un homme sage ne croit que la moitié de ce qu’il lit. Plus sage encore, il sait laquelle".

    Consultant indépendant.
    Architecture systèmes complexes. Programmation grosses applications critiques. Ergonomie.
    C, Fortran, XWindow/Motif, Java

    Je ne réponds pas aux MP techniques

  8. #8
    alex_pi
    Invité(e)
    Par défaut
    Citation Envoyé par JeromeBcx Voir le message
    Donc, pour les exemples cités :

    la machine va réaliser "x" multiplication de e si x est entier
    Puisqu'on est sur forum d'algo, je me permets de souligner que même pour n^p, avec n et p entier, on ne fait pas p - 1 multiplication, mais plus de l'ordre de log(p) (log en base 2)

    Sinon pour le reste de ce qui a été dit, je suis d'accord

  9. #9
    Expert éminent sénior

    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    10 603
    Détails du profil
    Informations personnelles :
    Âge : 66
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 10 603
    Points : 17 913
    Points
    17 913
    Billets dans le blog
    2
    Par défaut
    Citation Envoyé par FR119492 Voir le message
    Désolé de te contredire, mais on utilise le plus souvent des polynômes orthogonaux (Legendre, Tchébyscheff, Laguerre ou Hermite)
    Jean-Marc
    une petite précision, Jean-Marc :

    j'étais quand même pas si hors-sujet que ça

    Mechanical Verification of a Square Root Algorithm using Taylor Theorem

    Mes maths sont (très très) loin, mais j'ai quelques.... racines

    Un article de 2000 mentionne :

    http://lib.tkk.fi/Diss/2005/isbn9512275279/article3.pdf

    Et il me semble que j'avais trouvé une petite bibliographie quelque part...


    [EDIT]

    ça y est.. J'ai retrouvé

    Post #13

    d'un thread portant le même nom que celui-ci, mais dans le forum Langages Général :
    Temps de calcul - Coût d'une opération

    "Un homme sage ne croit que la moitié de ce qu’il lit. Plus sage encore, il sait laquelle".

    Consultant indépendant.
    Architecture systèmes complexes. Programmation grosses applications critiques. Ergonomie.
    C, Fortran, XWindow/Motif, Java

    Je ne réponds pas aux MP techniques

  10. #10
    Expert éminent

    Inscrit en
    Novembre 2005
    Messages
    5 145
    Détails du profil
    Informations forums :
    Inscription : Novembre 2005
    Messages : 5 145
    Points : 6 911
    Points
    6 911
    Par défaut
    Citation Envoyé par souviron34 Voir le message
    Où on lit que la technique classique pour les racines carrées est l'utilisation d'une approximation suivie d'une série d'itérations Newton-Raphson. Que pour le POWER4, ils ont remplacé ces itérations par un polynôme de Chebyshev (ils ont utilisé le théorème de Taylor pour prouver que l'approximation était suffisante), peut-être plus coûteux en calcul si on ne fait que compter les opérations mais se prêtant mieux à une exploitation du micro-parallélisme (faire 4 opérations plutôt que 3 peut donner un résultat plus rapidement si on peut les grouper 2 par 2 dans le premier cas).

    Un problème des l'utilisation des séries de Taylor est qu'elles ont une erreur qui augmente plus on s'éloigne du point autour duquel le développement est fait. Donc pour un intervalle et un degré donné du polynôme, c'est rarement le polynôme qui offre la meilleur erreur maximale (en fait, on travaille plutôt dans l'autre sens: on cherche dans un intervalle donné le polynôme de degré le plus faible qui a une erreur maximale inférieure à une borne donnée).
    Les MP ne sont pas là pour les questions techniques, les forums sont là pour ça.

  11. #11
    Expert éminent sénior

    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    10 603
    Détails du profil
    Informations personnelles :
    Âge : 66
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 10 603
    Points : 17 913
    Points
    17 913
    Billets dans le blog
    2
    Par défaut
    je ne disais pas le contraire

    Je parlais du nom...

    Pour quelqu'un qui n'a pas touché aux maths de ce style depuis plus de 30 ans, je trouve que j'avais une (assez) bonne mémoire


    (d'ailleurs, les séries de Taylor c'est pas pour les divisions ??)
    "Un homme sage ne croit que la moitié de ce qu’il lit. Plus sage encore, il sait laquelle".

    Consultant indépendant.
    Architecture systèmes complexes. Programmation grosses applications critiques. Ergonomie.
    C, Fortran, XWindow/Motif, Java

    Je ne réponds pas aux MP techniques

  12. #12
    En attente de confirmation mail
    Inscrit en
    Octobre 2007
    Messages
    285
    Détails du profil
    Informations personnelles :
    Âge : 42

    Informations forums :
    Inscription : Octobre 2007
    Messages : 285
    Points : 348
    Points
    348
    Par défaut
    Citation Envoyé par alex_pi Voir le message
    Puisqu'on est sur forum d'algo, je me permets de souligner que même pour n^p, avec n et p entier, on ne fait pas p - 1 multiplication, mais plus de l'ordre de log(p) (log en base 2)

    Sinon pour le reste de ce qui a été dit, je suis d'accord
    Autant pour moi...
    J'ai répondu un peu trop rapidement pour la fonction "x^y". Il est vrai que l'on peut réaliser le calcul sans faire les p-1 multitplications

Discussions similaires

  1. Fonctions exécutant des fonctions mathématiques
    Par degseb dans le forum Pascal
    Réponses: 11
    Dernier message: 10/01/2008, 16h05
  2. Mesurer le temps de calcul des fonctions
    Par dzada dans le forum Caml
    Réponses: 2
    Dernier message: 12/03/2007, 19h54
  3. Temps d'exécution des portions de codes
    Par xela dans le forum Autres éditeurs
    Réponses: 2
    Dernier message: 23/01/2007, 22h29
  4. [AJAX] Ajax et exécution des fonctions javascript
    Par Bobtop dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 27/06/2006, 15h22
  5. Temps d'exécution des instructions FPU
    Par ubi dans le forum Assembleur
    Réponses: 2
    Dernier message: 24/10/2003, 18h39

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