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 :

La qualité d'un algorithme à travers sa complexité


Sujet :

Algorithmes et structures de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Collégien
    Inscrit en
    Décembre 2019
    Messages
    28
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : Collégien

    Informations forums :
    Inscription : Décembre 2019
    Messages : 28
    Par défaut La qualité d'un algorithme à travers sa complexité
    Bonjour,

    J'ai un algorithme qui traite un graphe avec n nœuds et m arcs ( |nœuds| = n et |arcs| = m). La complexité de cet algo est n2+n.m2

    Quel est votre avis sur cette complexité ? est ce qu'elle est très mauvaise ?

    Merci

  2. #2
    Membre émérite
    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Juillet 2020
    Messages
    352
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Chef de projet NTIC

    Informations forums :
    Inscription : Juillet 2020
    Messages : 352
    Par défaut
    Bonjour,

    la complexité (temporelle je suppose) d'un algorithme permet d'en comparer le comportement asymptotique avec ou d'autres algos ou une complexité théorique optimale. Une simple complexité donnée sans plus de contexte ne sert pas à grand chose. Aucun algo n'est bon «dans l'absolu».

    Pour se faire une idée plus précise il faut aussi contextualiser les données traitées. Par exemple un insertion sort (en O(n²)) sera meilleur qu'un merge sort (en O(n log n)) si les données à trier le sont presque. Pourtant, par réflexe on pourrait dire que O(n²) c'est pire/moins bien qu'un O(n log n) … De manière similaire si tu veux comparer un Kruskal (O(E log V)) avec un Prim (O(E+V log V)), en notant plus classiquement V le nombre de nœuds et E le nombre d'arrêtes, on ne peut qu'affirmer que Prim traitera sans doute plus efficacement un graphe dense.
    Il y a aussi les cas extrêmes comme AKS qui détermine la primalité d'une nombre en temps polynomial n'est pas utilisé à cause des grandes constantes que l'on omet avec une complexité asymptotique.

    Donner une complexité temporelle d'algo sans contexte ne permet pas de dire grand chose. Ici on peut tout au plus dire que plus ton graphe sera dense et pires seront ses temps de réponses, car on peut comparer les complexité d'un algo avec des données particulières. Si c'est un algorithme de connexité il est sans doute très mauvais, en revanche s'il résout le problème du voyageur de commerce alors il est exceptionnellement bon.

    Bref, dis nous en plus.

  3. #3
    Membre averti
    Homme Profil pro
    Collégien
    Inscrit en
    Décembre 2019
    Messages
    28
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : Collégien

    Informations forums :
    Inscription : Décembre 2019
    Messages : 28
    Par défaut
    Merci

    L'algorithme en question exécute certains calculs et cherche les plus court chemins, il est composé de 3 parties:
    1- Un simple calcul en parcourant les nœuds du graphe --> complexité n
    2- La construction d'un arbre de plus court-chemin --> complexité n²
    3- Parcourir l'arbre pour faire des tests sur les arcs --> complexité n.m² (m est le nombre des arcs)

    Je ne sais pas si j'ai bien répondu à la question ?

  4. #4
    Membre émérite
    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Juillet 2020
    Messages
    352
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Chef de projet NTIC

    Informations forums :
    Inscription : Juillet 2020
    Messages : 352
    Par défaut
    Je suppose que le graphe est orienté ? les arcs ont-ils des poids ? les poids peuvent-ils être nuls ou négatifs ? les graphes traités sont-ils quelconques ou particuliers ?
    Le plus court chemin … d'un nœud à un autre ? d'un nœud vers tous les autres (je suppose que c'est cela) ? de tous les nœuds vers tous les autres ? chemin hamiltonien ? chemin eulérien ?

    Le plus simple serait sans doute d'exposer dans un premier temps le problème que tu cherches à résoudre, puis à nous montrer l'algorithme que tu as pondu.

  5. #5
    Membre averti
    Homme Profil pro
    Collégien
    Inscrit en
    Décembre 2019
    Messages
    28
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : Collégien

    Informations forums :
    Inscription : Décembre 2019
    Messages : 28
    Par défaut
    Merci beaucoup WhiteCrow pour ces éclaircissements

  6. #6
    Membre très actif
    Profil pro
    Inscrit en
    Février 2010
    Messages
    299
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2010
    Messages : 299
    Par défaut Théorie de la complexité
    Il faut étudier la théorie de la complexité .
    Un arbre où tu ne passes qu'une fois revient à du O n ln n pour l'algro de roy

    l'application la plus évidente est le MPM ou le PERT

Discussions similaires

  1. Complexité de l'algorithme de multiplication de Karatsuba
    Par judge06 dans le forum Algorithmes et structures de données
    Réponses: 4
    Dernier message: 27/03/2007, 12h02
  2. Complexité de l'algorithme de Tri Fusion
    Par judge06 dans le forum Algorithmes et structures de données
    Réponses: 10
    Dernier message: 26/03/2007, 22h04
  3. [Complexité d'un algorithme] Triangle de Sierpinski
    Par Opérateur dans le forum Algorithmes et structures de données
    Réponses: 18
    Dernier message: 18/12/2006, 15h25
  4. Complexité d'algorithmes
    Par Weedo dans le forum Algorithmes et structures de données
    Réponses: 2
    Dernier message: 17/01/2006, 20h51
  5. complexité d'un algorithme par un...algorithme??
    Par afrikha dans le forum Algorithmes et structures de données
    Réponses: 5
    Dernier message: 02/11/2005, 00h59

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