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

Mathématiques Discussion :

question sur la complexité d'un algorithme?


Sujet :

Mathématiques

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Octobre 2007
    Messages
    29
    Détails du profil
    Informations forums :
    Inscription : Octobre 2007
    Messages : 29
    Par défaut question sur la complexité d'un algorithme?
    salut,

    je voudrais savoir comment déterminer la complexité d'un algorithme quelconque et peut-on dire que cette dernière peut être un indice de performance d'un algorithme par rapport à un autre ou bien il faut chercher un autre critère pour comparer deux algorithmes (par exemple le temps d'exécution)?
    Excusez moi mon ignorance et merci d'avance pour votre explication.

  2. #2
    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 : 85
    Localisation : Suisse

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

    Informations forums :
    Inscription : Avril 2007
    Messages : 2 978
    Par défaut
    Salut!
    Les modérateurs qui interviennent sur ce forum sont pour une part des algorithmiciens pour lesquels le critère essentiel est la complexité, et, pour une autre part, des numéristes comme moi pour lesquels il n'y a que le temps de calcul qui compte. Dans beaucoup de domaines, les deux critères sont équivalents, mais il y a des exceptions. Alors, à toi de choisir.
    Jean-Marc Blanc

  3. #3
    Membre confirmé
    Inscrit en
    Septembre 2007
    Messages
    114
    Détails du profil
    Informations forums :
    Inscription : Septembre 2007
    Messages : 114
    Par défaut
    La compléxité d'un algorithm décrit le comportement de ce dernier en fonction de ces entrées ( le fameux n ).
    Un algo en O(n) est un algorithm dont le temp d'execution croit de facon lineaire par rapport au nombre d'entrées. Un algo en O(n²) croit de facon lineaire par rapport au carré de ce nombre. Bien sur, un algo en O(n²) est plus lent qu'un algo en O(n), mais ce n'est qu'une consequence de la compléxité.
    Une autre consequence est par exemple de dire qu'un algo en O(n!) est un algo dont la complexité le rend inoperable pour un grand nombre d'elements (20! = 2432902008176640000)

    D'ailleurs, si on prend deux algo, le premier parcour un tableau deux fois alors que le second ne le fait qu'une seule fois. Les deux effectueant une seul operation par element. Il est claire que le premier est 2 fois plus lent que le premier, pourtant les deux sont de compléxité O(n).

    Comme on peut le voir, la complexite ne pemet pas de differencier tous les algo, sauf cas evidents. Elle permet simplement de prevoir le comportement de l'algorithm dans les cas extremes, c'est d'ailleurs pour cela que la plupart du temps, quand on parle de complexite, on parle réelement de complexité au pire des cas ( d'autres types existent comme la complexité en moyenne...).
    Parfois, le pire des cas, n'intervient jamais dans le domaine d'application de l'algo.

    Le temps d'execution, lui est un autre critére, qui comme son nom l'indique permet de tester la rapidité de l'algorithm. D'autre critéres existent , telque l'occupation de la mémoire, la frequence d'utilisation...

    Ps: comme l'a precisé FR119492, la complexite et le temps d'execution vont generalement de paire, sauf quelques exceptions.

  4. #4
    Membre averti
    Inscrit en
    Octobre 2007
    Messages
    29
    Détails du profil
    Informations forums :
    Inscription : Octobre 2007
    Messages : 29
    Par défaut
    Merci à vous deux.
    Pourriez vous me donner les étapes à faire pour calculer la complexité d'un algorithme quelconque.

    Merci encore pour vos explications.

  5. #5
    Expert confirmé

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

    Informations forums :
    Inscription : Janvier 2007
    Messages : 10 610
    Billets dans le blog
    2
    Par défaut
    • ecrire l'algorithme
    • l'analyser
    • additionner

  6. #6
    Membre confirmé
    Profil pro
    Développeur informatique
    Inscrit en
    Mars 2009
    Messages
    136
    Détails du profil
    Informations personnelles :
    Âge : 58
    Localisation : Algérie

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mars 2009
    Messages : 136
    Par défaut Complexité des algorithmes
    Bonjour,

    la complexité des algorithmes est un domaine fortement lié au calcul de la fiabilité et de la "sûreté" de l'algorithme. Les algorithmes à temps d'exécution polynomial (P) sont beaucoup moins complexes que ceux à temps Non polynomial (NP). Beaucoup cherchent à transformer un algo NP en un algo P !!! Ce n'est pas toujours réussi, malheureusement.

    Un temps polynomial (P) est proportiionnel à t^a (t puissance a où a est un nombre réel) alors qu'un temps NP est proportionnel à a^t !!! qui croit très très rapidement avec la quantité de l'information à traiter et peut même prendre des milliards et des milliards d'années.

    L'exemple de la célèbre tour de Hanoï le montre bien.

    Au fait, on ne sait pas toujours si NP=P???? est-ce que tout problème NP est transformable en un problème P????

    Bon courage

Discussions similaires

  1. Question sur les algorithmes génétiques
    Par TristanL dans le forum Intelligence artificielle
    Réponses: 4
    Dernier message: 14/05/2011, 23h04
  2. [buffer] Question sur l'algorithme breada
    Par lichman dans le forum Algorithmes et structures de données
    Réponses: 5
    Dernier message: 14/10/2010, 23h13
  3. Question sur algorithme et icone exe
    Par kqesar dans le forum Qt
    Réponses: 4
    Dernier message: 17/06/2010, 14h08
  4. Question sur l'algorithme et la cryptologie
    Par Ramdoulou dans le forum Algorithmes et structures de données
    Réponses: 2
    Dernier message: 01/03/2009, 17h20
  5. Questions sur les algorithmes génétiques
    Par ziad.shady dans le forum Algorithmes et structures de données
    Réponses: 2
    Dernier message: 03/01/2009, 23h14

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