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 :

Classes de complexités P,NP


Sujet :

Algorithmes et structures de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2007
    Messages
    257
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Décembre 2007
    Messages : 257
    Par défaut Classes de complexités P,NP
    Bonsoir,
    J'étudie en ce moment les classes de complexités P et NP. Dans un exercice, un certain problème qui est proposé est identique au problème du sac à dos(entier). On sait qu'une stratégie gloutonne ne permet de résoudre le problème mais que la programmation dynamique le permet. En effet, en utilisant la programmation dynamique, on obtient un algorithme avec une complexité en temps polynomiale.
    Juste aprés, on nous demande de trouver le problème de décision équivalent au problème de départ(qui est de type optimisation), ce qui se fait facilement.
    Mais ensuite on nous demande de prouver que le problème de décision est NP-complet et ca je ne comprends pas pourquoi.
    Résoudre le problème de décision est simple:
    1) On utilise l'algorithme de programmation dynamique obtenu plus haut pour obtenir la solution optimale et sa valeur.
    2) On compare la valeur obtenu avec le parametre du probleme de décision et on peut répondre alors au problème par oui ou non.
    Et tout cela peut se faire en temps polynomial.
    Donc je ne comprends plus trop quelle est la différence entre P, NP et NP-complet.

    Merci d'avance

  2. #2
    Membre Expert Avatar de Nemerle
    Inscrit en
    Octobre 2003
    Messages
    1 106
    Détails du profil
    Informations personnelles :
    Âge : 55

    Informations forums :
    Inscription : Octobre 2003
    Messages : 1 106

  3. #3
    Membre éclairé
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2007
    Messages
    257
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Décembre 2007
    Messages : 257
    Par défaut
    Merci pour le lien mais je ne vois pas en quoi ca répond à la question.
    D'après l'article, j'ai bien compris qu'un problème qui est NP-Complet est aussi NP(c'est une des deux conditions pour qu'un problème soit NP-Complet). Mais dans le cas du problème de sac à dos, on a un algorithme utilisant la programmation dynamique qui résous le problème en temps polynomial et il devrait être P et non NP, je me trompe?

  4. #4
    Rédacteur
    Avatar de pseudocode
    Homme Profil pro
    Architecte système
    Inscrit en
    Décembre 2006
    Messages
    10 062
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Architecte système
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2006
    Messages : 10 062
    Par défaut
    Citation Envoyé par Miko95 Voir le message
    Mais dans le cas du problème de sac à dos, on a un algorithme utilisant la programmation dynamique qui résous le problème en temps polynomial et il devrait être P et non NP, je me trompe?
    ? En temps polynomial par rapport a quoi ?

    - au nombre d'éléments ? si oui, tu es millionnaire.

    - au poids max du sac ? Ah, c'est déjà connu. Pas de bol.
    ALGORITHME (n.m.): Méthode complexe de résolution d'un problème simple.

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

    Informations forums :
    Inscription : Février 2010
    Messages : 766
    Par défaut
    Tu confonds théorie des algorithmes et méthode de résolution d'un problème.

    Le problème du sac à dos est NP-Complet il a été étudié à de maint reprise.
    Il existe des algorithmes pour le résoudre, la programmation dynamique est l'un d'eux.
    La solution naive produit un algorithme de complexité exponentielle car teste toutes les solutions.
    La programmation dynamique produit un algorithme de complexité polynomial en optimisant les tests.

  6. #6
    Membre expérimenté

    Profil pro
    Inscrit en
    Octobre 2009
    Messages
    104
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2009
    Messages : 104
    Par défaut
    Citation Envoyé par Miko95 Voir le message
    Mais dans le cas du problème de sac à dos, on a un algorithme utilisant la programmation dynamique qui résous le problème en temps polynomial et il devrait être P et non NP, je me trompe?
    Citation Envoyé par Jimmy_ Voir le message
    La programmation dynamique produit un algorithme de complexité polynomial en optimisant les tests.
    Les algorithmes utilisant la programmation dynamique ont une complexité pseudo-polynomiale : O(nW) avec n le nombre d'objets et W la capacité du sac. C'est différent d'un algorithme polynomial et on peut voir que ça reste coûteux sur certaines instances. En particulier, l'article Where are the Hard Knapsack Problems de D. Pisinger présente des instances du problème mettant à genoux de très bons algorithmes.

Discussions similaires

  1. Classe pour la création d'un graphe xy
    Par Bob dans le forum MFC
    Réponses: 24
    Dernier message: 03/12/2009, 17h20
  2. Réponses: 31
    Dernier message: 30/03/2006, 16h57
  3. Variable d'une Classe Ancêtre
    Par Génie dans le forum Langage
    Réponses: 3
    Dernier message: 18/09/2002, 19h24
  4. Complexités
    Par victorracine dans le forum Algorithmes et structures de données
    Réponses: 29
    Dernier message: 07/09/2002, 16h13
  5. Sortir un typedef d'une classe
    Par Theophil dans le forum C++Builder
    Réponses: 13
    Dernier message: 03/07/2002, 17h21

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