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

C++ Discussion :

Toutes les solutions d'une équation à plusieurs variables entières du premier ordre


Sujet :

C++

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre à l'essai
    Femme Profil pro
    Enseignant
    Inscrit en
    Décembre 2014
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Décembre 2014
    Messages : 6
    Par défaut Toutes les solutions d'une équation à plusieurs variables entières du premier ordre
    Bonjour à tous;
    j'essaye de programmer une fonction qui me donne toutes les solutions entières d'une équation à plusieurs variables entières
    j'espère que quelqu'un pourra me donner un coup de main
    Merci d'avance.

  2. #2
    Membre Expert
    Inscrit en
    Mars 2005
    Messages
    1 431
    Détails du profil
    Informations forums :
    Inscription : Mars 2005
    Messages : 1 431
    Par défaut
    Qu'as-tu essayé jusqu'à présent ?

  3. #3
    Expert éminent

    Femme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2007
    Messages
    5 202
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Juin 2007
    Messages : 5 202
    Par défaut
    Autre question: comment fais-tu sans ordinateur?

  4. #4
    Membre à l'essai
    Femme Profil pro
    Enseignant
    Inscrit en
    Décembre 2014
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Décembre 2014
    Messages : 6
    Par défaut
    Merci pour vos réponses; alors pour la question de Matt_Houston, j'ai pensé à résoudre un système d'équation à plusieurs variables car normalement cette étape contient deux sommes dont une variable est commune exemple :
    x1+x2+x3+x4+x5=7
    x2+x6+x7+x8+x9=10 normalement y a une infinité de solution si on travaille sur R mais pour mon cas je travaille sur N.
    sinon sans ordinateur, pour la question de ternel, je vais par exemple :
    7 0 0 0 0
    6 1 0 0 0
    6 0 1 0 0
    6 0 0 1 0
    6 0 0 0 1
    5 2 0 0 0
    5 0 2 0 0

    ....

    Ma première idée était de travailler sur la distribution de la somme de cette façon mais je n'aurai pas toute les combinaisons le problème principale et comment générer toutes les solutions possibles, par exemple j'aurai pas 5 1 1 0 0 j'ai pensé même à la récursivité mais franchement j'ai pas su comment l'appliquer pour cette exemple.

  5. #5
    Expert éminent

    Femme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2007
    Messages
    5 202
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Juin 2007
    Messages : 5 202
    Par défaut
    Tu as un ensemble V de variables, avec des domaines de valeurs, tu dois trouver toutes les combinaisons qui vérifie un ensemble C de contraintes.
    Il n'y a que deux manières de procéder: soit tu sais construire la liste des solutions en passant directement d'une quelconque à la suivante, soit ce n'est pas le cas.
    Si tu le sais, il suffit de coder l'opération "solution suivante".
    Sinon, il te faudra parcourir l'ensemble des possibilités en vérifiant si chacune est une solution.

    Visiblement, tu es dans la seconde solution.
    Si tu as la garantie que les variables sont toutes positives, tu peux trouver une valeur maximale à chacune.
    Si tu sait qu'elles sont même strictement positives, tu peux aller encore plus loin.

    avec x1+x2+x3+x4+x5=7:
    si pour tout i, xi >= 0, tu peux déduire que pour i dans {1,2,3,4,5}, xi <= 7.
    si pour tout i, xi > 0, tu peux déduire que pour i dans {1,2,3,4,5}, xi <= 7 - 5 = 2.

    tu as aussi toutes les équations sous-jacentes, telles que:
    • x2 + x3 + x4 + x5 = 7 - x1
    • x3 + x4 + x5 = 7 - x1 - x2
    • x4 + x5 = 7 - x1 - x2 - x3
    • x5 = 7 - x1 - x2 - x3 - x4

    Cela signifie que tu n'as pas besoin de tester toutes les combinaisons. (cas positif)
    pour x1 de 0 à 7
        pour x2 de 0 à 7 - x1
            pour x3 de 0 à 7 - x1 - x2
                pour x4 de 0 à 7 - x1 - x2 - x3
                    une solution est {x1, x2, x3, x4, (7 - x1 - x2 - x3 - x4)}
    A priori, il y a des techniques mathématiques d'optimisation (à base de matrice, je crois). Cherche "système d'équations linéaires"

  6. #6
    Membre à l'essai
    Femme Profil pro
    Enseignant
    Inscrit en
    Décembre 2014
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Décembre 2014
    Messages : 6
    Par défaut
    Merci d'avoir détaillé votre réponse mais le problème est la généralisation c'est à dire pour N variables entières et pour n'importe quelle somme donc pour N boucles ce n'est pas évident

  7. #7
    Membre Expert
    Inscrit en
    Mars 2005
    Messages
    1 431
    Détails du profil
    Informations forums :
    Inscription : Mars 2005
    Messages : 1 431
    Par défaut
    Pour que les choses soient bien claires, on parle ici d'équations à plusieurs inconnues, pas d'équations polynomiales ?

    Non parce que « x2+x6+x7+x8+x9 » peut prêter à confusion, peut-être faudrait-il écrire « a + b + c + ... » ?

Discussions similaires

  1. Réponses: 0
    Dernier message: 22/05/2015, 14h42
  2. Réponses: 4
    Dernier message: 25/01/2013, 08h38
  3. avoir toute les solutions en une seul itération
    Par tntneo dans le forum Prolog
    Réponses: 3
    Dernier message: 08/04/2010, 01h29
  4. Réponses: 4
    Dernier message: 29/01/2009, 14h44
  5. macro excel renvoyant toutes les valeurs d'une variable
    Par eclipse012 dans le forum Macros et VBA Excel
    Réponses: 8
    Dernier message: 05/11/2008, 15h41

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