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 :

La méthode du gradient


Sujet :

Mathématiques

  1. #1
    Nouveau Candidat au Club
    Homme Profil pro
    Inscrit en
    Décembre 2012
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Décembre 2012
    Messages : 3
    Points : 1
    Points
    1
    Par défaut La méthode du gradient
    Bonsoir, j'ai besoin pour mon projet math-info de programmer la méthode du Gradient, voici l'énnoncé:
    Dans cette partie nous nous intéressons à la méthode du gradient qui consiste à construire une suite (xn)n>=0 qui va tendre
    vers la solution x* du problème de minimisation. Cette suite est définie comme suit :
    
    x0 donné;
    xk+1 =xk -α f'(xk); k >= 1;
    où α est un réel strictement positif.

    Programmer, dans le langage de votre choix, cette méthode.
    (je vous précise qu'on peut prendre f(x) quelconque, mettons par exemple: f(x)=x²+3x+2
    Merci d'avance

  2. #2
    Membre émérite
    Avatar de prgasp77
    Homme Profil pro
    Ingénieur en systèmes embarqués
    Inscrit en
    Juin 2004
    Messages
    1 306
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Eure (Haute Normandie)

    Informations professionnelles :
    Activité : Ingénieur en systèmes embarqués
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Juin 2004
    Messages : 1 306
    Points : 2 466
    Points
    2 466
    Par défaut
    Bonjour. Sur quoi bloques-tu ? Est-ce la compréhension de l'énoncé ? celle de la méthode ou bien l'implémentation de la solution ?

    Et je pense qu'il s'agit de f'(x_k) .
    -- Yankel Scialom

  3. #3
    Nouveau Candidat au Club
    Homme Profil pro
    Inscrit en
    Décembre 2012
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Décembre 2012
    Messages : 3
    Points : 1
    Points
    1
    Par défaut
    Citation Envoyé par prgasp77 Voir le message
    Bonjour. Sur quoi bloques-tu ? Est-ce la compréhension de l'énoncé ? celle de la méthode ou bien l'implémentation de la solution ?

    Et je pense qu'il s'agit de f'(x_k) .
    Bonjour prgasp77 et merci pour ta réponse si rapide
    c'est l'implémentation de la solution qui me bloque!
    oui vous avez raison c'est bien f'(x_k)

  4. #4
    Membre émérite
    Avatar de prgasp77
    Homme Profil pro
    Ingénieur en systèmes embarqués
    Inscrit en
    Juin 2004
    Messages
    1 306
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Eure (Haute Normandie)

    Informations professionnelles :
    Activité : Ingénieur en systèmes embarqués
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Juin 2004
    Messages : 1 306
    Points : 2 466
    Points
    2 466
    Par défaut
    « Tu » ou « vous », il va falloir choisir ; note qu'en général on se tutoie sur les forums de développez.

    Alors pour commencer, je te propose d'appliquer la méthode a la mano pour f(x) = (x+2)^2 ; x_0 = 42 (soit « très loin » du minima, -2).

    Une fois que tu auras compris le principe, tente une implémentation dans la langage de ton choix (lequel sera-t-il ?). Voici quelques pistes :

    • il te faut une procédure pour calculer x_{k+1} en fonction de x_k ;
    • tu dois appliquer cette procédure tant que tu n'as pas atteint un minimal, à un epsilon près.


    La grande question étant, que prendre comme valeur pour a ? Et aussi, en fonction du langage choisi, comment représenter et traiter la fonction f et sa dérivée dont tu cherches le minima ? Idéalement, il te faut choisir un langage qui te facilite la tâche sur ce point.
    -- Yankel Scialom

  5. #5
    Nouveau Candidat au Club
    Homme Profil pro
    Inscrit en
    Décembre 2012
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Décembre 2012
    Messages : 3
    Points : 1
    Points
    1
    Par défaut
    Concernant la valeur de a c'est l'utilisateur qui la choisit.

    Mais pour pour programmer la dérivée d'une fonction, on voulait utiliser le langage JAVA qu'est ce que tu en penses?

  6. #6
    Membre émérite
    Avatar de prgasp77
    Homme Profil pro
    Ingénieur en systèmes embarqués
    Inscrit en
    Juin 2004
    Messages
    1 306
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Eure (Haute Normandie)

    Informations professionnelles :
    Activité : Ingénieur en systèmes embarqués
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Juin 2004
    Messages : 1 306
    Points : 2 466
    Points
    2 466
    Par défaut
    Il vaut parfois mieux des outils maîtrisés à des outils adéquats. Enfin ça fera l'affaire (en fait j'ai une certaine aversion pour Java ).

    Il te faut donc trouver une structure de données pouvant représenter une fonction de R dans R et permettant le calcul de sa dérivée en un point. C'est partit ! à ton clavier !
    -- Yankel Scialom

Discussions similaires

  1. Méthode du Gradient Conjugué
    Par Carew dans le forum Mathématiques
    Réponses: 10
    Dernier message: 15/01/2013, 12h51
  2. [Optimisation] Méthodes des gradients
    Par plegat dans le forum Mathématiques
    Réponses: 0
    Dernier message: 22/08/2008, 09h16
  3. Réponses: 17
    Dernier message: 06/02/2008, 19h44
  4. Programmation de la méthode du gradient conjugué
    Par Boule de coco dans le forum MATLAB
    Réponses: 11
    Dernier message: 18/01/2008, 22h12
  5. Méthode du gradient
    Par sof007 dans le forum Fortran
    Réponses: 2
    Dernier message: 07/06/2007, 11h18

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