Approximation fractionnaire - Page 2
Répondre à la discussion
Page 2 sur 2 PremièrePremière 2
Affichage des résultats 31 à 50 sur 50

Approximation fractionnaire



  1. #31
    invite18230371

    Re : Approximation fractionnaire


    ------

    En fait j'ai l'impression que « la fraction la plus simple » n'est pas unique.
    Bonne remarque, et bravo

    Avec x < y Il faut trouver le plus petit n tel que E(nx) < E(ny)
    Grace à ta proposition j'ai trouvé entre 14/31 et 15/31 la valeur de 5/11 !!!
    Valeur que j'attendais pas ^^
    Ca semble être la bonne stratégie.
    Un moyen pour trouver n ?

    Maintenant, je pense qu'il suffit de faire l'écriture en fraction continue de A et de B,
    Dès que les coefficients divergent, on garde le plus petit+1 des deux et on tronque...

    -----

  2. #32
    invite18230371

    Re : Approximation fractionnaire

    Sur le dernier exemple ça donnerait
    14/31 = [0 2 4 1 2]
    15/31 = [0 2 15]

    On prends donc [0 2 (4+1)] = 5/11

  3. #33
    SULREN

    Re : Approximation fractionnaire

    Bonjour,
    @StrangQuark :
    J’ai à l’esprit trois types de problèmes dont deux directement en lien avec cette discussion et pour lesquels j’aurais besoin de votre avis, ou de celui de Médiat, ou de stefjm, en vous remerciant par avance.

    1er type de problème : Vous avez écrit :
    Maintenant, je pense qu'il suffit de faire l'écriture en fraction continue de A et de B,
    Dès que les coefficients divergent, on garde le plus petit+1 des deux et on tronque..
    Je crois avoir compris parce que j’ai obtenu le résultat escompté sur les deux fractions ci-dessous, en appliquant votre méthode, mais je voudrais être sûr d’avoir bien procédé.
    Soit :
    A/B = 213141637 / 153217573 = 1,391104381…..La plus petite.
    C/D = 221312593 / 158931843 = 1,392500010…..

    Un petit "bidouillou" que j’ai créé hier en une paire d’heures me dis que la fraction de plus petit dénominateur et qui est encadrée par A/B et C/D, est : 32/23

    Pour vérifier le résultat j’ai appliqué votre méthode, donc en commençant par trouver les termes de la décomposition en fraction continue :
    A/B donne [1-2-1-1-3-1-8-1-2-26-1-15-2-1-10-3-5]
    C/D donne [1-1-1-1-4-1-2-1-3-611-1-19-3-1-1-4]

    Si je prends les termes de la fraction la plus petite, là où ça diverge, je trouve [1-2-1-1-3]
    Je fais +1 donc : [1-2-1-1-3+1] et cela correspond à 32/23, donc : cqfd
    Je pense que tout est correct mais merci de me le confirmer.

    2eme type de problème :
    Le titre de cette discussion : « Approximation fractionnaire »
    Problème qui ne s’était jamais posé à moi dans mes « hobbies », mais pour lequel j’ai créé le 25 décembre suite à cette discussion un outil maison qui me donne en une fraction de seconde tout le tableau des possibilités dans la fourchette d’erreur relative que je lui ai fixée. Dans le cas présent j’ai fixé : entre : - 2*10^-10 et +2*10^-10

    Le résultat est :A/B = 213141637 / 153217573 s’approxime par :
    24802 / 17829 avec une erreur relative de +1,386 10^-10
    Ou par:
    222311 / 159809 avec une erreur relative de -1,136 10^-10
    Et plein d’autres solutions plus précises mais plus lourdes en digits, dont :
    1212577 / 871665 avec une erreur relative de 8,619*10^-14

    Cela me suffit amplement et c’est extrêmement facile et rapide d’emploi, mais j’aimerais cependant disposer d’outils plus mathématiques, déjà parce qu’ils me permettraient de vérifier que ma méthode ne rate aucune solution dans la fourchette visée et même, je l’espère, qu’elle est la plus exhaustive.
    J’ai dit au post#3 de cette discussion que je connaissais les fractions continues ou l’Arbre de Brocot (moins performant)
    En connaissez vous d’autres ? Merci.

    3eme type de problème :
    Pour rendre A / B réalisable avec des engrenages (par ex pour des horloges astronomiques), je demande à un outil que j’ai été obligé de créer en 2006, et amélioré depuis, de me proposer un train d’engrenages.
    Par exemple : un train à 8 roues avec moins de 100 dents par roue
    Il répond instantanément que :

    A/B = 213141637 / 153217573 peut s’écrire : 17/(2*5) *23/7 * 23/79 * 71/83

    Avec une erreur relative de : 4,76 *10^-10
    Et il propose plein d’autres possibilités avec moins de dents, ou moins de roues, mais moins précises.
    Pour ce problème existe-t-il des méthodes mathématiques, "présentables", ….et pas comme la mienne …..du style "Système D" ?
    Merci.
    Cordialement.

  4. #34
    invite18230371

    Re : Approximation fractionnaire

    Bonsoir,

    Juste pour donner un retour sur ton point 1.

    Médiat à indiquer:
    Avec x < y Il faut trouver le plus petit n tel que E(nx) < E(ny)
    Maintenant pour trouver n...

    J'ai sortie cette martingale uniquement par test.
    Maintenant, je pense qu'il suffit de faire l'écriture en fraction continue de A et de B,
    Dès que les coefficients divergent, on garde le plus petit+1 des deux et on tronque..
    Qui semble fonctionner mais je ne saurais le démontrer, c'est justement le sujet de ma question.
    Et peut-être aussi il y a encore plus simple !?
    Je peux donc rien te confirmer.

  5. #35
    SULREN

    Re : Approximation fractionnaire

    Bonjour,
    Et bonne année 2022 à tous les membres.

    @StrangQuark
    J'ai sortie cette martingale uniquement par test.
    Maintenant, je pense qu'il suffit de faire l'écriture en fraction continue de A et de B,
    Dès que les coefficients divergent, on garde le plus petit+1 des deux et on tronque..

    Qui semble fonctionner mais je ne saurais le démontrer, c'est justement le sujet de ma question.
    Et peut-être aussi il y a encore plus simple !?
    Je peux donc rien te confirmer.
    Merci pour la réponse, et sa franchise. Je vais répondre dans le même esprit et surtout en essayant de mieux communiquer que dans mes posts précédents, afin d’éviter des incompréhensions, sources d’irritation et de posts inutiles.

    Le problème était :
    On peut donner une approximation fractionnaire d'un réel par une écriture en fraction continue.
    Dans la même idée, je me demande si il existe un algorithme donnant :
    la fraction simple (=de dénominateur le plus faible possible) appartenant à un intervalle donné.
    Tu as donné un exemple au post#28, pour lequel la réponse est : 10/7
    A/B = 977 / 684
    C/D = 973 / 681
    J'en ai donné un au post#33, pour lequel la réponse est : 32/23
    A/B = 213141637 / 153217573
    C/D = 221312593 / 158931843

    Comme j’ai décidé dès 2006 de ne plus me fier aux fractions continues pour chercher les solutions aux problèmes rencontrés dans mes hobbies, j’ai écrit (le 25 12 2021) un petit algorithme pour résoudre les problèmes ci-dessus et qui m’a bien donné 10/7 et 32/23 (j’ajoute juste que les valeurs qu’il donne au-délà de 32/23 sont : 71/51, 103/74, etc, et que les fractions continues ne donnent pas ces valeurs, elles).

    Mais comme j’ai de bonnes raisons d’avoir la plus grande affection pour les fractions continues (tout en ne voulant plus les utiliser), et que de surcroît elles sont accessibles à mon petit niveau en maths, j’ai voulu appliquer la même martingale que toi sur les problèmes ci-dessus, à savoir : le développement en fractions continues.
    Depuis longtemps, et pour des raisons que je ne vais pas développer ici, je fais cela sur tableur.

    Et j’ai trouvé les mêmes résultats : 10/7 et 32/23, ce qui m’a fait écrire :
    Je pense que tout est correct mais merci de me le confirmer.
    Tu as écrit :
    Qui semble fonctionner mais je ne saurais le démontrer, c'est justement le sujet de ma question.
    Pas plus que toi je ne prétends avoir fait une démonstration.
    Je dis juste, en examinant la photo ci-dessous, que les développements des fractions A/B et C/D donnent le même numérateur et le même dénominateur pour la fraction approchée, jusqu’à un certain rang du développement et qu’ensuite cela diverge.
    Je considère que la dernière valeur commune de Num/Den dans les deux développements, est la bonne, parce que c’est celle qui représente avec la meilleure précision les deux fractions. Soit en rouge: 32/23 dans un tableau et 10/7 dans l'autre.

    Les Matheux sauront en faire une démonstration, puisque qu’elle donne des résultats exacts (confirmés par mon algo maison, dont je prétends qu’il ne peut pas se tromper, tant il est « rusticos » ).
    Images attachées Images attachées  
    Dernière modification par SULREN ; 02/01/2022 à 15h03.

  6. #36
    SULREN

    Re : Approximation fractionnaire

    Erratum, vraiment désolé.
    Lire au bas des tableaux: "Dans les colonnes B, vertes"

  7. #37
    invite18230371

    Re : Approximation fractionnaire

    Hello,

    Juste pour te notifier un petit probleme dans la gestion des virgules.
    Dans le tableau de droite "B5" devrait être exactement à 97 et le développement devrait s’arrêter là. Toutes les lignes d'après sont sans sens.
    En effet,

    977/684 = [1 2 2 1 97]

    Pareil ici pour l'autre, 973/681 = [1 2 3 97]

    On garde donc [1 2 3] = 10/7
    Dernière modification par StrangQuark ; 02/01/2022 à 18h13.

  8. #38
    SULREN

    Re : Approximation fractionnaire

    Bonsoir,
    Juste pour te notifier un petit probleme dans la gestion des virgules.
    Dans le tableau de droite "B5" devrait être exactement à 97 et le développement devrait s’arrêter là. Toutes les lignes d'après sont sans sens.
    En effet,
    Hello StrangQuark, je connais ce problème et ce n’est pas une erreur. Je l’ai laissé volontairement tel quel.
    A partir du moment ou on retrouve dans les colonnes C et D, le numérateur et le dénominateur de la fraction d'origine, toutes les lignes suivantes ne servent à rien.

    Ce tableur date de Mathusalem. Comme j’ai dès le début abandonné les fractions continues à cause de leur insuffisance par rapport à mes besoins, j’ai relégué ce tableur dans mon répertoire « musée », sans chercher à l’améliorer.
    Pour moi les fractions continues ratent des solutions, ce que je ne peux pas accepter pour mes projets. J’ai donc dès 2006 ou 2007 (je ne sais plus exactement) trouvé une méthode moins mathématique, mais qui ne rate aucune solution.

    Aujourd’hui, si j’avais besoin de faire un développement en fractions continues, j’irais sur un site comme :
    https://fr.planetcalc.com/8456/
    ou bien j’écrirais un bout de code afin de pouvoir aussi visualiser le numérateur et le dénominateur à chaque rang, et les décomposer en éléments simples traduisibles en engrenages.
    J’ai déterré le tableur juste pour visualiser numérateur et dénominateur dans mon post.
    Images attachées Images attachées  
    Dernière modification par SULREN ; 02/01/2022 à 20h11.

  9. #39
    invite18230371

    Re : Approximation fractionnaire

    Pour moi les fractions continues ratent des solutions, ce que je ne peux pas accepter pour mes projets. J’ai donc dès 2006 ou 2007 (je ne sais plus exactement) trouvé une méthode moins mathématique, mais qui ne rate aucune solution.
    Solution à quel problème ?

  10. #40
    invite18230371

    Re : Approximation fractionnaire

    ...

    Car pour trouver d'autre type de fraction, c'est bien sur une autre histoire.

    Si le jeu est d'approximer en huit étage, avec min et max de dent par engrenage, ect... Ce n'est plus du tout le même problème (Même si, je pense, il reste intéressant d'avoir la fraction simple dans l'intervalle).
    Typiquement, Si la fraction simple dans l'intervalle se trouve avoir un grand nombre premier en dénominateur (ou numérateur), vous serez bien embêtez car impossible à décomposer.
    Mais c'est aussi que dans ce cas la précision demandé est très élevée... Donc technologiquement difficile.
    J'ai l'impression que vous chercher un compris entre la taille des numérateur et dénominateur et leurs nombres de diviseur respectif (afin de créer une série d'engrenage).
    La réponse va donc dépendre de la précision, du nombre d'étage, du domaine disponible pour le nombre de dent. Et il se peut que dans certain cas il n'y ai simplement pas de solution.

    Sinon merci à Médiat pour avoir poser clairement mon problème.
    Bonne soirée,

  11. #41
    SULREN

    Re : Approximation fractionnaire

    Re,
    Solution à quel problème ?
    Oui je dois préciser.
    Dans le 1er problème :
    On peut donner une approximation fractionnaire d'un réel par une écriture en fraction continue.
    Dans la même idée, je me demande si il existe un algorithme donnant :
    la fraction simple (=de dénominateur le plus faible possible) appartenant à un intervalle donné.
    Je n’ai pas encore de recul, puisque je ne me pose ce problème que depuis cette discussion.
    Je n’ai donc pas encore d’avis.
    J’ai écrit le 25 décembre un petit algorithme qui lui ne ratera aucune solution. J’essaierai de trouver le temps de prendre des exemples de fractions et de comparer le résultat des deux méthodes, comme je l’ai fait au post#35.

    Problème n°2 :
    Approximation d’une « fraction source » par une « fraction approchée la plus simple possible » (nombre plus faible au numérateur et au dénominateur) en respectant l’objectif que l’erreur relative entre les deux soit comprise dans une fourchette donnée.
    En général, dans les problèmes que j’ai à traiter, cette erreur relative visée va de +-10^-6 à +-10^-10.

    Problème n°3 :
    C’est de loin le problème le plus fréquent que j’ai à traiter.
    C’est en fait le même problème que le n°2, mais en ajoutant à l’objectif de fourchette d’erreur relative, un 2eme objectif qui est que la « fraction approchée simple » soit décomposable en fractions élémentaires dont les numérateurs et dénominateurs soient inférieurs à un nombre faible (en général 70 à 100, mais pouvant dans les cas difficiles aller jusqu’à 200, voire un peu plus (cas des très grandes précisions exigées). Il s'agit d'en faire des trains d'engrenages.

    Dans ces problèmes 2 et 3, que je me pose depuis une quinzaine d’années, j’ai souvent vu que les fractions continues rataient des solutions pourtant très intéressantes techniquement, du point de vue de la réalisation du projet.
    C’est pour cela que je les ai abandonnées (tout en ayant une grande sympathie pour elles, si j’ose dire, liée à l’admiration que j’ai pour des hommes de génie tels que Jean Baptiste Schwilgué. Je pourrais développer pourquoi, si demandé). J'ai donc trouvé une autre approche qui ne rate aucune solution.

    Si le jeu est d'approximer en huit étage, avec min et max de dent par engrenage, ect... Ce n'est plus du tout le même problème (Même si, je pense, il reste intéressant d'avoir la fraction simple dans l'intervalle).
    Non la fraction approchée de plus petit dénominateur ne présente pas d’intérêt.

    Typiquement, Si la fraction simple dans l'intervalle se trouve avoir un grand nombre premier en dénominateur (ou numérateur), vous serez bien embêtez car impossible à décomposer.
    Mais c'est aussi que dans ce cas la précision demandé est très élevée... Donc technologiquement difficile.
    Non, je m’en sors en général très bien. Il suffit de me soumettre des problèmes pour voir ce qu’il en est.

    La réponse va donc dépendre de la précision, du nombre d'étage, du domaine disponible pour le nombre de dent. Et il se peut que dans certain cas il n'y ai simplement pas de solution.
    Peut-être qu’un jour je tomberai sur un os, et ne trouverai pas de solution. Jusqu’à maintenant j’ai toujours résolu mes problèmes et ceux que des membres d’autres forums m’avaient posés (trains d’engrenages pour filetages très spéciaux, pour transmissions spéciales, pour mécanismes astronomiques)
    Un exemple dans la discussion ci-dessous, à prendre à partir de la date du 8 octobre 2017.
    Il s’agissait d’améliorer ce qui avait été fait sur le cadran astrolabe de la cathédrale Notre-Dame de Saint Omer et surtout d’y ajouter le train d’entrainement de « l’Aiguille du Dragon », qui matérialise la ligne des nœuds de l’orbite lunaire (cette aiguille sert dans la prédiction des saisons d’éclipses).
    https://www.webastro.net/forums/topi...avenir/page/2/
    Dernière modification par SULREN ; 02/01/2022 à 23h11.

  12. #42
    invite18230371

    Re : Approximation fractionnaire

    Non la fraction approchée de plus petit dénominateur ne présente pas d’intérêt.
    Peut être vous en avez pas besoin pour votre algo.

    Pour moi, ca reste intéressant à calculer, car si un résultat entre dans les capacités de fabrication alors ce sera un choix valide.
    Par exemple, pour approximer entre [0.500000141 et 0.500000142]
    On obtient :
    0.500000141 = [0 1 1 1773049 6 1 7 5]
    0.500000142 = [0 1 1 1760562 1 7 2 1 5]

    On peut donc rapidement voir si il existe une solution mécaniquement faisable dans les fractions suivantes:
    [0 1 1 1760563] à [0 1 1 1773049]
    C'est ainsi que de base je procéderais... Car on commence par parcourir les dénominateurs les plus faibles, ce qui mécaniquement fait sens aussi.
    Après certes, je suis d'accords, il reste encore des solutions à l'étage du dessous et ect... Et peut être certaine serait mécaniquement réalisables.
    Je reste curieux de voir (si elle existe) la solution de votre algo par exemple avec 10 dent min, 100 dent max et 8 étages...

  13. #43
    SULREN

    Re : Approximation fractionnaire

    Bonjour,

    On peut donc rapidement voir si il existe une solution mécaniquement faisable dans les fractions suivantes:
    [0 1 1 1760563] à [0 1 1 1773049]
    C'est ainsi que de base je procéderais... Car on commence par parcourir les dénominateurs les plus faibles, ce qui mécaniquement fait sens aussi.
    Après certes, je suis d'accords, il reste encore des solutions à l'étage du dessous et ect... Et peut être certaine serait mécaniquement réalisables.
    Je reste curieux de voir (si elle existe) la solution de votre algo par exemple avec 10 dent min, 100 dent max et 8 étages...
    StrangQuark, je ne sais pas quelle train d’engrenage à 8 roues vous proposeriez avec les jeux de coefficients: [0 1 1 1760563] à [0 1 1 1773049]

    De mon côté je trouve une foule de solutions parmi lesquelles j’ai prélevé (J’ai surtout passé beaucoup de temps à les recopier en essayant de ne pas faire d’erreur) :

    7067907 / 14135810 = 21 * 77 *93 * 47 / 65 * 38* 59 * 97 = 0,5000001415

    3539975 / 1769988 = 25 * 37 * 43 * 89 / 22 * 33 * 46 * 53 = 0,5000001412

    3522689 / 7045376 = 17 * 43 * 61 * 79 / 32 * 52 *58 * 73 = 0,5000001419

    Se serait des trains d’engrenages à 4 étages, donc à 8 roues, dont chacune aurait un nombre de dents compris entre 10 et 100 comme vous l’aviez spécifié.
    Par exemple, pour le dernier : 17/32 * 43/52 * 61/58 * 79/73
    Ce qui veut dire que 32 et 43 seraient sur un même axe, 52 et 61 aussi, 58 et 79 aussi.

    On pourrait trouver des trains à 3 étages, donc à 6 roues, mais je crains qu’il faille dans ce cas dépasser les 100 dents sur certaines roues.
    Dernière modification par SULREN ; 03/01/2022 à 09h53.

  14. #44
    SULREN

    Re : Approximation fractionnaire

    Re,
    On trouve bien aussi une foule de solutions à 6 roues, mais avec une bonne dentition:

    1760808 / 3521615 = (145 * 149 * 163) / (56 * 141 * 223) = 0,5000001420

    1766225 / 3532449 = (53 * 155 * 215) / (97 * 183 * 199) = 0,5000001415

  15. #45
    invite18230371

    Re : Approximation fractionnaire

    StrangQuark, je ne sais pas quelle train d’engrenage à 8 roues vous proposeriez avec les jeux de coefficients: [0 1 1 1760563] à [0 1 1 1773049]
    Par exemple:
    [0 1 1 1769987]
    Qui est votre 2eme solution si on la prends dans le bon sens... = 1769988 / 3539975

  16. #46
    SULREN

    Re : Approximation fractionnaire

    Re,
    Chacun est libre d’utiliser la méthode qu’il préfère. On essaie juste dans cette discussion de rechercher de nouvelles approches.

    TON APPROCHE :
    Tu veux obtenir la valeur : 0.5000001415
    Tu l’approximes en l’encadrant par :
    0.500000141 = [0 1 1 1773049 6 1 7 5]
    0.500000142 = [0 1 1 1760562 1 7 2 1 5]
    Et tu dis : on peut donc rapidement voir si il existe une solution mécaniquement faisable dans les fractions suivantes:
    [0 1 1 1760563] à [0 1 1 1773049]

    Je pense qu’il faut appliquer un processus plutôt lourd pour trouver les solutions dans cette plage, et pour sélectionner celles qui, une fois décomposées en éléments simples, donneront : A/B * C/D * E/F * G/H
    avec A, B, C, D, E, F ,G, H qui soient tous < 100 (ou une autre valeur visée)

    LA MIENNE :
    Si je veux obtenir 0,5000001415 avec la même approximation que toi, je vois que l’erreur relative ne doit pas excéder 1*10^-9.
    Je convertis cette valeur en 0,001 millionième, que j’écris 0,001 "ppm" dans mon jargon, pour faire plus court (la ppm est normalement destinée à la chimie, pas pour exprimer des « traces d’erreur » dans des calculs de rouages, mais bon, je suis le seul à utiliser cet outil).

    Je rentre dans mon outil les données :

    Titre de la recherche: Futura Fractions
    NUMERATEUR RAPPORT: 5000001415
    DENOMINATEUR RAPPORT: 10000000000
    Erreur Max ppm spécifiée: 0.0010
    NOMBRE DENTS MAX AUTORISE: 100

    Je fais ENTER et en une fraction de seconde il me sort le fichier ci-dessous, où on trouve une foule de solutions, dont les 3 que j’ai citées dans mon post#43.
    On trouve dans chaque zone de solution :
    - A gauche : l’erreur relative en millionième, par exemple sur la première ligne : 0.00003072 qui signifie donc : 3*10^-12
    - Au milieu : la fraction approchée
    - A droite : la décomposition en nombres premiers du numérateur et du dénominateur, avec tous les termes inférieurs à 100, qui était spécifié.

    Il suffit de recomposer ces termes à sa convenance pour avoir le train de 8 roues
    Dans le tableau ci-dessous, les 3 solutions que j’avais prélevées pour le post 43 sont surlignées en jaune.

    La question que j’avais posée au post#33 était :
    « Pour ce problème existe-t-il des méthodes mathématiques, "présentables", ….et pas comme la mienne …..du style "Système D" ? »
    Images attachées Images attachées
    Dernière modification par SULREN ; 03/01/2022 à 12h09.

  17. #47
    SULREN

    Re : Approximation fractionnaire

    Re,

    On peut donc rapidement voir si il existe une solution mécaniquement faisable dans les fractions suivantes:
    [0 1 1 1760563] à [0 1 1 1773049]
    C'est ainsi que de base je procéderais
    Oui, pourquoi pas. Si j’en trouve le temps j’écrirai le bout de code qui :
    -1) Trouve les 1773049 – 1760563 = 12486 fractions A(i) / B(i) qui correspondent à ces coefficients de fractions continues.
    -2) Pour chaque A(i) / B(i) factorise numérateur et dénominateur et ne conserve que les fractions dont tous les éléments simples au numérateur et au dénominateur sont inférieurs à la limite fixée.
    Il en résulterait un tableau des A(j) / B(j)
    -3) Pour chaque A(j) / B(j) calcule l’erreur relative par rapport à 0,500001415
    -4) Classe tout cela pour ordre de précision décroissante et crée le fichier de sortie.

    J’ai déjà le code tout prêt pour les points 2), 3), 4)
    Reste à trouver l’algo pour 1) et « pisser » le code qui le fera tourner.

    Je pourrais ensuite comparer ce fichier de sortie à celui de mon code actuel et voir si les fractions continues retrouvent notoriété à mes yeux.
    Dernière modification par SULREN ; 03/01/2022 à 13h54.

  18. #48
    invite18230371

    Re : Approximation fractionnaire

    On essaie juste dans cette discussion de rechercher de nouvelles approches.
    De base non, déjà j'ai pas de prétention, et ce n'est pas le sujet original (qui est résolue).

    Ensuite, votre problématique reste intéressante. Et je vous encourage à creuser, notamment ici :
    Oui, pourquoi pas. Si j’en trouve le temps j’écrirai le bout de code (...) et voir si les fractions continues retrouvent notoriété à mes yeux.
    Car ce genre d'affirmation
    Je pense qu’il faut appliquer un processus plutôt lourd pour trouver les solutions dans cette plage
    Sont pour moi totalement injustifié,
    Déjà, car je ne connais pas les besoins en ressource machine de votre algorithme. Et est-ce seulement important ? (on entrerait alors encore dans une nouvelle problématique avec de nouvelle contrainte).

    +

  19. #49
    SULREN

    Re : Approximation fractionnaire

    Bonjour,

    Ensuite, votre problématique reste intéressante. Et je vous encourage à creuser, notamment ici :
    Oui, pourquoi pas. Si j’en trouve le temps j’écrirai le bout de code (...) et voir si les fractions continues retrouvent notoriété à mes yeux.
    J’ai donc creusé, tout simplement pour aller au fond des choses (et aussi comme exercice intellectuel pour 3eme âge ; c’est mieux que le Sodoku), mais sans espérer que les fractions continues apportent un plus par rapport à d’autres méthodes en matière « d’ approximation fractionnaire », ou de problèmes qui se posent à moi habituellement.

    Prenons le dernier problème posé :
    L'approximation de: 5000001415/10000000000= 0,5000001415, dont la matrice des coeff est :
    [0-1-1-1766783 -1-19-1-26]
    On note que le hasard a fait que le coefficient 4 est bien ventru : 1766793.
    (Le nombre Pi, par exemple, donne lui du plus maigre : [3-7-15-1-291-1-75-1-2-9-1-3-3]

    Depuis le Moyen Age et jusqu’à l’arrivée des ordinateurs :
    On faisait l’approximation fractionnaire en développant en fraction continue, à la mano avec papier/crayon. Pour 0,5000001415 on aurait trouvé (sauf erreur de ma part) :

    Numérateur.....Dénominateur... .......Valeur..............Err eur relative
    …………….1…………………..…2………….0,50000 00000………….....2,83E-07
    ..1766784…………3533567………….0,500 0001415xx…….1,52545E-13
    ..1766785………...3533569………….0,5 000001415xx……7,77156E-15
    35335699……….70671378………….0,500 0001415xx…….2,22045E-16
    37102484……….74204947………….0,500 0001415xx…….2,22045E-16

    Je suppose que cela a rendu d’énormes services aux scientifiques de cette époque et je suis même sûr que cela en a rendu à tous ceux qui ont réalisé des mécanismes à engrenages pour reproduire la mécanique céleste, depuis le moine Jean Fusoris au XIVe siècle, jusqu’à Jean Baptiste Schwilgué au XIXe.

    Aujourd’hui avec nos PC on trouve évidemment ces valeurs, plus de nombreuses autres, ce qui ne peut que faciliter les réalisations matérielles.

    Méthode par encadrement proposée par StrangQuark
    (J’ai dit au post#3 qu’Achille Brocot, au XIXe siècle, avait lui aussi proposé une méthode d’approximation par fractions encadrantes, facile à appliquer par les non matheux).

    On encadre donc le 0,5000001415 du problème posé, par :
    0.500000141 = [0 1 1 1773049 6 1 7 5]
    0.500000142 = [0 1 1 1760562 1 7 2 1 5] et StangQuark a dit :
    On peut donc rapidement voir si il existe une solution mécaniquement faisable dans les fractions suivantes: [0 1 1 1760563] à [0 1 1 1773049]
    C'est ainsi que de base je procéderais... Car on commence par parcourir les dénominateurs les plus faibles, ce qui mécaniquement fait sens aussi.
    Après certes, je suis d'accords, il reste encore des solutions à l'étage du dessous et ect... Et peut être certaine serait mécaniquement réalisables.
    Je reste curieux de voir (si elle existe) la solution de votre algo par exemple avec 10 dent min, 100 dent max et 8 étages...
    La plage [0 1 1 1760563] à [0 1 1 1773049] donne 12487 fractions A(i) / B(i)
    Avec 10 lignes de code j’ai créé le tableau Dimension (i) de ces fractions, ce qui a donc permis de faire ensuite sur ce tableau tous les tris possibles, en fonction de critères donnés, en cela à l’aide des bouts de code dédiés supplémentaires.
    C’est à propos de cette opération que j’avais fait la remarque (qui a été mal prise) en pensant à J.B Schwilgué qui n’aurait pas pu l’appliquer à la main :
    Je pense qu’il faut appliquer un processus plutôt lourd pour trouver les solutions dans cette plage
    QUELQUES TRIS :
    - La fraction la plus simple (Num et Den les moins nombrés), c’est évidemment : 1760564 / 3521127
    - Celle avec la plus petite valeur est : 1773050 / 3546099
    - Celle qui approche le plus l’objectif de 0,500000141500, est : 1766785 / 3533569
    - Celles qui peuvent être réalisés avec 8 engrenages de moins de 100 dents sont :
    Il n’y en a qu’une seule : 1769988 / 3539975 = 23/25 * 33/37 * 44/43 * 53/89
    - Celles qui seraient faisables avec 8 engrenages allant jusqu’à 110 dents sont au nombre de 5:
    1761386 / 3522771
    1763675 / 3527349
    1767326 / 3534651
    1769988 / 3539975
    1772348 / 3544695
    - Celles qui pourraient selon tel autre critère…..etc.

    Evidemment, les méthodes combinatoires comme celles que j’utilise, font au minimum aussi bien que la méthode par encadrement et elles trouvent donc les 12847 solutions dont il a été question ci-dessus.
    Mais de plus elles en trouvent des dizaines de milliers d’autres.
    Certes ces autres solutions ont toutes un numérateur supérieur à celui de la plus grande des encadrantes qui était de 1773049, mais ces fractions de simplifient et donnent des solutions intéressantes répondant aux contraintes qu’on s’impose, comme par exemple la réalisation avec au maximum 8 roues dentées de moins de 100 dents chacune.
    Exemple : 3622689 / 7045376 = 17/32 * 43/52 * 61/58 * 79/73

    Remarques :
    -1) Les méthodes combinatoires sont de la « force brute ». Elles consomment donc en principe d’énormes ressources de calculs et sont d’exécution lente.
    C’est vrai si on est obligé de faire du « brutal bestial ».
    C’est faux dans les cas comme l’approximation fractionnaire qui permettent facilement le « brutal frugal » avec un peu d’astuce d’optimisation de l’algorithme. Il tourne alors généralement en quelques fractions de secondes, et exceptionnellement en quelques secondes.

    2) Une fois de tels outils mis au point, ils peuvent de plus servir à résoudre d’autres problèmes que l’approximation fractionnaire, et que les fractions continues ne permettent pas du tout de résoudre.
    Par exemple : la résolution des équations liées aux trains d’engrenages épicycloïdaux complexes, et bien d’autres types de problèmes.

  20. #50
    invite18230371

    Re : Approximation fractionnaire

    Ce que l'on conçoit bien s'énonce clairement.

    Quel longueur !!!
    Qu'il est fastidieux de vous lire M. SULREN.

    Les fractions continues ont-elles retrouvez grâce à vos yeux ?
    Cordialement,

Page 2 sur 2 PremièrePremière 2

Discussions similaires

  1. Ecriture fractionnaire
    Par invite949a348a dans le forum Mathématiques du collège et du lycée
    Réponses: 13
    Dernier message: 27/08/2016, 17h08
  2. expressions fractionnaire
    Par invite9ce05147 dans le forum Mathématiques du collège et du lycée
    Réponses: 3
    Dernier message: 04/01/2013, 17h38
  3. derivées fractionnaire
    Par invite92664de4 dans le forum Physique
    Réponses: 2
    Dernier message: 13/12/2012, 18h54
  4. équation fractionnaire :s
    Par invite17c256e4 dans le forum Mathématiques du collège et du lycée
    Réponses: 4
    Dernier message: 15/11/2006, 18h53
  5. pi en écriture fractionnaire
    Par invite975d9f0f dans le forum Mathématiques du collège et du lycée
    Réponses: 16
    Dernier message: 07/10/2006, 08h34