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 :

Variables hautes précisions


Sujet :

Algorithmes et structures de données

  1. #21
    Expert éminent sénior

    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    10 603
    Détails du profil
    Informations personnelles :
    Âge : 66
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 10 603
    Points : 17 913
    Points
    17 913
    Billets dans le blog
    2
    Par défaut
    Citation Envoyé par chemkacte Voir le message
    Oui, il y a effectivement un truc avec le modulo.
    C'est un peu ce que je voulais dire plus haut..

    C'est comme une suite.. Si on peut exprimer nb2 en fonction de nb1, et ainsi de suite, on peut alors exprimer un nombre en fonction du précédent, et ne pas avoir à utiliser des valeurs grandes, mais uniquement des deltas... (ou des rapports)

    Enfin bref, se ramener à un problème plus simple..


    Citation Envoyé par chemkacte Voir le message
    @souviron34:

    Mais dit-moi, tu as vraiment observé on attrait pour la manip de grands nombres? Tu as une explication?
    Je n'ai pas d'explications, à part peut-être le fait que les profs d'info ont appris Fibonacci et autres, et comme eux-même n'ont pas trop appris les ordres de grandeur et la relativité des précisions et des valeurs dans la Nature, ils enseignent des calculs exacts, certes, mais sans vraie signifcation la plupart du temps.. et surtout sans prévenir que ça n'est qu'à utiliser dans certains extrêmes, mais que la plupart pour ne pas dire 99.99% de cas ne nécessitent rien de tout ça..

    Ou alors l'engouement qu'il y a eu pour le cryptage est une explication..

    Mais quand je vois des posteurs qui viennent dire qu'on est obligé d'utiliser des bibliothèques de grands nombres pour faire des modèles 3D de pièces à usiner, je me dis qu'ils ont loupé quelque chose au cours de leur scolarité, et qui pêche dans leur raisonnement...

    Et il y a une forte recrudescence du nombre de posts concernant les calculs sur les grands nombres en début d'année scolaire (par exemple ici ou sur le forum C)..

    Je n'ai pas vraiment d'explication, mais comme je l'ai dit dans le post où je m'autocitais, écrire la taille de l'Univers en angstrom ne prend QUE 24 décimales, et en fait la précision de la mesure la ramène à 4 ou 6 au max.. Je ne vois pas très bien quoi dans la vie et les calculs en général peut nécessiter 40 ou 60 décimales - et avoir un sens ... En général une précision relative du milliardième est bien le grand maximum, et souvent du millième.. Mais du milliardième de milliardième ??? (avoir un milliard 1/2 d'euros, on n'arrondi pas à l'euro près, hein ?)


    (j'ai par exemple vu des fichiers de coordonnées GPS à 13 ou 14 décimales pour indiquer des chemins ou des limites de parcelles agricoles.. sachant qu'un mètre est 5 décimales, 13 décimales ça fait 10 nanomètres... Pas vraiment de sens pour la position d'un chemin, si ?? Mais, encore plus fort, la précision de l'instrument GPS standard est entre 1 et 3 mètres... Et pourtant il envoie 13 chiffres après la virgule, ce qui signifie que 8 sont juste du "garbage" sans aucun sens, c'est juste les valeurs des bits non initialisés... Alors faire des opérations sur des chiffres avec 13 décimales mais dont seulement 5 ont un sens, et garder les résultats avec 13 est tout simplement mathématiquement et physiquement aberrant)


    Voir aussi plus bas


    Citation Envoyé par droggo Voir le message
    Les matheux, par exemple, en ont souvent besoin.
    Les vrais matheux ne raisonnent que par formules, pas sur des nombres. Ou alors sur les propriétés d'un type de nombre..

    Sinon, ce sont des maths appliquées...

    Peux-tu me citer un exemple réel stp ? je suis toute ouie... A part comme le dit le PO si on veut lister les nombres premiers jusqu'à XXX, mais quel est l'intérêt (même pour un chercheur d'ailleurs) ?? a part une publi, mais qui sera forcément obsolète un jour... (il suffit de regarder le tableau cité dans la page Nombre premier de Wiki... Et comme on n'arrivera jamais au bout puisque c'est infini, je ne vois pas très bien l'intérêt..)

    Mais je dois être bien con..

    Je ré-itère qu'à part pour de la crypto, et sans doute pour des chercheurs, ça ne devrait en aucun cas avoir la couverture et utilisation que ça a (l'utilisation de GIMP devrait dans les faits être purement restreinte à ces 2 domaines.. or les commentaires et les utilisations sont foisons.. Mais j'attend qu'on me démontre que c'est absolument nécessaire..)
    "Un homme sage ne croit que la moitié de ce qu’il lit. Plus sage encore, il sait laquelle".

    Consultant indépendant.
    Architecture systèmes complexes. Programmation grosses applications critiques. Ergonomie.
    C, Fortran, XWindow/Motif, Java

    Je ne réponds pas aux MP techniques

  2. #22
    Candidat au Club
    Inscrit en
    Septembre 2013
    Messages
    13
    Détails du profil
    Informations forums :
    Inscription : Septembre 2013
    Messages : 13
    Points : 3
    Points
    3
    Par défaut
    Citation Envoyé par souviron34 Voir le message
    Les vrais matheux ne raisonnent que par formules, pas sur des nombres. Ou alors sur les propriétés d'un type de nombre..

    Sinon, ce sont des maths appliquées...

    Peux-tu me citer un exemple réel stp ? je suis toute ouie... A part comme le dit le PO si on veut lister les nombres premiers jusqu'à XXX, mais quel est l'intérêt (même pour un chercheur d'ailleurs) ?? a part une publi, mais qui sera forcément obsolète un jour... (il suffit de regarder le tableau cité dans la page Nombre premier de Wiki... Et comme on n'arrivera jamais au bout puisque c'est infini, je ne vois pas très bien l'intérêt..)

    Mais je dois être bien con..

    Je ré-itère qu'à part pour de la crypto, et sans doute pour des chercheurs, ça ne devrait en aucun cas avoir la couverture et utilisation que ça a (l'utilisation de GIMP devrait dans les faits être purement restreinte à ces 2 domaines.. or les commentaires et les utilisations sont foisons.. Mais j'attend qu'on me démontre que c'est absolument nécessaire..)
    Un exemple ou la manipe de grand nombre peut-être utile : problème de Brocard! (http://en.wikipedia.org/wiki/Brocard%27s_problem)

    Je suis d'accord avec toi : la résolution, la preuve de sa non validité, se fera avec des preuves purement logique, algébrique, géométrique, etc., sans utiliser de grands nombres. Mais, pour savoir dans quelle direction chercher, on a calculé de 8! à 10^9!. MAintenant on sait a 99% sûre que ce problème est insoluble. Il ne reste plus qu'à le prouver, ce qui n'a toujours pas été fait. Pour te donner un ordre de grandeur : Mathematica, sur mon i7 et 16Gb de ram, peut m'afficher 10^10'000'000 en quelques secondes :

    (\!\(\*
    TagBox[
    RowBox[{"1000000000000000000000000000000000000000000000000000000000000\
    0000000000000000000000000000000000000000000000000000000000000000000000\
    00000000000000000000000",
    RowBox[{"<<", "9999693", ">>"}],
    "00000000000000000000000000000000000000000000000000000000000000000\
    0000000000000000000000000000000000000000000000000000000000000000000000\
    0000000000000000000"}],
    Short[#, 5]& ]\)) .

    Quant à : 10^8!, me donne le message suivant : General::ovfl: Overflow occurred in computation. >>. Et eux, ils ont calculer TOUTES les valeurs entre 8! et 10^9!.

  3. #23
    Expert éminent sénior

    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    10 603
    Détails du profil
    Informations personnelles :
    Âge : 66
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 10 603
    Points : 17 913
    Points
    17 913
    Billets dans le blog
    2
    Par défaut
    Citation Envoyé par chemkacte Voir le message
    Pour te donner un ordre de grandeur : Mathematica, sur mon i7 et 16Gb de ram, peut m'afficher 10^10'000'000 en quelques secondes :
    Et si tu es sur un 232 bits, ou etc, tu peux toujours..

    Ce que je veux dire, c'est la SIGNIFICATION....

    entre

    1000000000000000000000000000000000000000000000000000000000000\
    0000000000000000000000000000000000000000000000000000000000000000000000\
    00000000000000000000000

    et

    1000000000000000000000000000000000000000000000000000000000000\
    0000000000000000000000000000000000000000000000000000000000000000000000\
    00000000000000000000001

    Comme je disais, je ne conteste pas que pour certains problèmes de maths (et encore, je ne vois pas en quoi on peut être sûr, même à 99%, quand on parle d"infini par rapport même à 10^10^10.....ni que ça ait un intérêt quelcquonque) . Tous les THEOREMES (y compris par exemple Fermat) se démontrent par une démonstration, pas par une valeur numérique.. même si il faut des siècles pour la trouver.. Et faire la liste des entiers premiers, ou des chiffes de Pi ou n'importe uoi, n'a strictement aucun sens mathématique théorique, puisque justement c'est infini... et qu'on n'atteindra jamais l'infini, par définition... et pratique non plus, puisque justement on est limité par les données et leur imprécision...


    Je pense qu'on confond valeur très grande et infini, ce qui, mathématiquement, est entièrement différent.. Entre "tendre vers l'infini" et "être une très grande valeur", il y a un monde... On peut évaluer - mais par exemple la valeur de e, ou du logN, n'a pas attendu ni eu besoin d'avoir des super machines pour être calculées.. Et qu'on est impressionné (et qu'on fait des publis, d'ailleurs) par ce genre de "perfomance", qui n'ont strictement aucun sens ni aucun intérêt de manière générale, et même mathématique...


    Ce que je veux dire, c'est que ça soit un terrain de jeu pour mathématiciens, soit, mais tu avoueras que c'est un domaine extrêmement restreint .. Qui ne dépasse pas quelques dizaines de personnes dans le monde (normalement).... Et qui ne devrait avoir ni l'audience ni l'utilisation que ça a avec des biblis comme GIMP.. Qui ne font que faire encore plus oublier la réalité à des étudiants - voire des pros - qui n'ont pas conscience des ordre de grandeur et des précisions, et donc de la signification des nombres qu'ils utilisent...

    Mais bon.... Je ne suis qu'un vulgaire physicien de plus de 30 ans d'expérience...



    PS: ton nombre est d'ailleurs bien plus petit que ce que tu dis.. LA première partie ça ne fait que 10^152 (151 "zéro" et 1 "un") .... Or la limite d'un double en 32 bits est 10^308, soit ce nombre-là au carré... (qui, si je comprend la syntaxe de ce que tu mets, est exactement ce qu'affiche ton soft en 2 parties... re )


    PPS :
    Citation Envoyé par chemkacte Voir le message
    Et eux, ils ont calculer TOUTES les valeurs entre 8! et 10^9!.
    Et alors ???? peux-tu me donner l'interêt, à part écrire un papier qui dit qu'on a calculé les valeurs ??? Quelles sont les applications ????
    "Un homme sage ne croit que la moitié de ce qu’il lit. Plus sage encore, il sait laquelle".

    Consultant indépendant.
    Architecture systèmes complexes. Programmation grosses applications critiques. Ergonomie.
    C, Fortran, XWindow/Motif, Java

    Je ne réponds pas aux MP techniques

  4. #24
    Rédacteur

    Homme Profil pro
    Comme retraité, des masses
    Inscrit en
    Avril 2007
    Messages
    2 978
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 83
    Localisation : Suisse

    Informations professionnelles :
    Activité : Comme retraité, des masses
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2007
    Messages : 2 978
    Points : 5 179
    Points
    5 179
    Par défaut
    Je ne suis qu'un vulgaire physicien de plus de 30 ans d'expérience...
    Et moi, je ne suis qu'un vulgaire ingénieur électricien spécialiste en simulation numérique avec 52 ans d'expérience en programmation, mais je partage ton opinion. Je dirais que travailler avec des immenses nombres entiers, c'est très simple (comme je l'ai montré dans un précédent message) même si ça ne sert à rien.
    Jean-Marc Blanc
    Calcul numérique de processus industriels
    Formation, conseil, développement

    Point n'est besoin d'espérer pour entreprendre, ni de réussir pour persévérer. (Guillaume le Taiseux)

  5. #25
    Candidat au Club
    Inscrit en
    Septembre 2013
    Messages
    13
    Détails du profil
    Informations forums :
    Inscription : Septembre 2013
    Messages : 13
    Points : 3
    Points
    3
    Par défaut
    Ok. Un exemple tout simple. Imaginons que nous ne connaissons pas les théorèmes qui permettent de calculer les sommation infini. Voici l'équation à calculer :



    Nous allons commencer par calculer une plus petite valeur limite, exemple "2".



    On voit pas grand chose. regardons maintenant avec 1000 :



    Oh! Nous avons finalement une valeur exacte. Mais cette suite est infinie. Peut-être que la valeur va encore augmenter si on augmente la limite ? Montons à 1 million !



    Ah! ça reste à 0.4. maintenant qu'on a une idée du résultat, on sait quel résultat donnera le théorème que l'on devra trouver pour résoudre ce genre d'équation (je simplifie un peu) Et maintenant, on sait que :



    J'ai un peu inversé le principe, c'est-à-dire qu'on ne parle pas ici de "gros chiffres" mais de suite infinie. Mais l'idée est la même. Il faut parfois calculer un grand nombre de résultat comprendre un problème.

    Et alors ???? peux-tu me donner l'interêt, à part écrire un papier qui dit qu'on a calculé les valeurs ??? Quelles sont les applications ????
    Ben on a une idée de ce qu'on cherche.

    Exemple : si une conjoncture pose la question :
    existe-t-il une infinité de quadruplets de nombres premiers ?
    existe-t-il une infinité de nombres premiers de Mersenne ?
    existe-t-il une infinité de nombres premiers réguliers ?
    existe-t-il une infinité de nombres de Cullen ?
    existe-t-il une infinité de nombres premiers palindromes en base 10 ?

    À défaut d'avoir la preuve, et donc la réponse exacte, on peut expérimentalement confirmer ou infirmer une impression. Plus on augmente le nombre d’essais, plus on risque d'avoir un "préjuger" qui soit vrai. D'ou l'intérêt, dans certain cas, de pousser les calcules au-delà le "raisonnable".

    Je ne suis qu'un vulgaire physicien de plus de 30 ans d'expérience
    C'est plutôt rigolo, car je suis étudiant en physique théorique!

    Ça me fait penser : les calcules sur de gros nombres sont l'équivalent aux testes du CERN. C'est-à-dire que dans la vie, c'est inutile! mais ça permet de confirmer, ou d'infirmer une théorie qui, peut-être, aura des répercutions non-négligeables. Pensons à la relativité générale. Elle ne sert à rien (C'est la relativité restreinte qui a des applications concrètes.)! sinon qu'à comprendre la gravitation. Same thing avec les calcules sur de gros nombres. En pratique, ça ne sert à rien, (Ce n'Est donc pas des maths appliquées) mais ça peut avoir une influence certaine sur notre compréhension du monde des nombres.

    Ai-je été assez claire ?

  6. #26
    Candidat au Club
    Inscrit en
    Septembre 2013
    Messages
    13
    Détails du profil
    Informations forums :
    Inscription : Septembre 2013
    Messages : 13
    Points : 3
    Points
    3
    Par défaut
    PS: ton nombre est d'ailleurs bien plus petit que ce que tu dis.. LA première partie ça ne fait que 10^152 (151 "zéro" et 1 "un") .... Or la limite d'un double en 32 bits est 10^308, soit ce nombre-là au carré... (qui, si je comprend la syntaxe de ce que tu mets, est exactement ce qu'affiche ton soft en 2 parties... re )
    "P.S.III (j'ai édité mon message car après relecture, il me semble que tu aies mal interprété le résultat donné par Mathematica) La partie : RowBox[{"<<", "9542117", ">>"}] signifie qu'il y a 9542117 de chiffres qui séparent les deux morceaux du nombre, et le soft affiche que les deux extrémités. Je peux tout faire afficher si je veux, or cela prendrait trop d'espace sur le forum et serait impertinent."

    Pour répondre à ça. Tu as tout faux (me semble-t-il). Pour mon ordinateur, il n'y a aucune différence entre calculer 10^10'000'000 et 9^10'000'000. En fait, si, il y a une différence. Pour lui, le premier représente une difficulté supérieur au second. Pour nous, c'est l'inverse. en l’occurrence, 10^10'000'000 n'a qu'un chiffre significatif. on écrira donc 1*10^10'000'000, ce qui ne demande pas grand chose a mettre en mémoire. un exposant de 10'000'000 et une mantisse de 1 plus le bit signe. Soit, grosso modo : 101'111'101'011'110'000'100'000'000 + 1 + 0 = est plus petit 32 bits! (en pratique c'Est peut-être un peu différent, j'avoue, mais l'idée, vous l comprennez!) Mais, si on ne dis pas ça à l'ordinateur, il mettra tout ça en mantisse (ce qui donne un nombre de 10 millions de caractère, et ce, en décimal!). (C'est le principe des entiers.) Pour 9^10'000'000, on aura le résultat suivant :

    \!\(\*
    TagBox[
    RowBox[{"1242777118901561676313492794761354046962194659541146010562348\
    2592211415224240952893698255777318730053718584760244940196903348840640\
    11590523070495694445554",
    RowBox[{"<<", "9542117", ">>"}],
    "83451975669510873625896918856490106148472633652186986844691760037\
    1377303294938772450364450190560688969142277351185677012270498747479282\
    66565573104400000001"}],
    Short[#, 5]& ]\)

    ou tous les chiffres de la mantisse sont significatifs. Là, l'humain ne peut simplifier. Si l'on suit ta logique (je l'ai un peu trituré, j'avoue), 9^10'000'000 est plus grand que 10'^10'000'000! Ce qui est évidemment faux. L'un peut nécessite plus d'espace mémoire, mais n'est pas plus grand pour autant.

    Tout ça pour dire que 10^10'000'000, représente à peu près la même difficulté que 9^10'000'000. l'ordinateur applique le même principe. D'ailleurs, si l'on ferait ces même calcules dans d'autres bases, l'ordinateur n'aurait pas plus de problème. Nous par contre!

    P.S. As-tu compris que le nombre a 10 million de chiffres?

    P.S.II Si ma mémoire est bonne, pour faire des calcules qui font intervenir deux nombres, l'ordinateur doit les exprimer sous la même forme (le même exposant), ce qui revient à dire que pour faire intervenir ces deux nombres dans le même calcule, l'ordinateur doit considérer le même nombre de chiffres significatifs pour chacun d'eux, suivant celui qui en à le plus (dans le cas ou ils ne sont pas arrondis ou tronqués, évidemment)

  7. #27
    Expert éminent sénior

    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    10 603
    Détails du profil
    Informations personnelles :
    Âge : 66
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 10 603
    Points : 17 913
    Points
    17 913
    Billets dans le blog
    2
    Par défaut
    Citation Envoyé par chemkacte Voir le message
    Exemple : si une conjoncture pose la question :
    existe-t-il une infinité de quadruplets de nombres premiers ?
    existe-t-il une infinité de nombres premiers de Mersenne ?
    existe-t-il une infinité de nombres premiers réguliers ?
    existe-t-il une infinité de nombres de Cullen ?
    existe-t-il une infinité de nombres premiers palindromes en base 10 ?
    Sauf qu'en mathématiques la réponse est instantanée : il y a , par définition, une infinité ou non de solutions... Et en fait ce sera une infinité, vu que les ensembles considérés sont infinis (au sens mathématique)

    C'est ce que je voulais dire sur la confusion entre "grand nombre" et infini...

    D'ailleurs, le pararaphe de Wiki consacré aux nombres premiers le dit :

    L'esprit ludique et l'émulation ont amené des mathématiciens à définir des seuils de gigantisme pour les nombres premiers, exprimés en nombre de chiffres dans leur développement en base 10. Parmi ces records, battus ou à battre, on notera en particulier
    CQFD....




    Citation Envoyé par chemkacte Voir le message
    C'est plutôt rigolo, car je suis étudiant en physique théorique!
    C'est exactement ce que je disais au début : c'est typiquement un questionnement - ou une approche - d'étudiant ou scolaire...


    Citation Envoyé par chemkacte Voir le message
    ou tous les chiffres de la mantisse sont significatifs.
    Mathématiquement, sans doute.. Mais je répète, quel est l'intérêt ???

    Encore une fois, si tu essayes d'écrire la distance de la Terre au Soleil en Angstrom, ou la masse du Soleil en micro-grammes, tu pourras ajouter autant de zéros ou de chiffres soi-disant significatifs que tu veux, qu'elle sera la signifcation pour un cerveau humain ???? (et dans la réalité)

    Dire que la masse de la Terre est 5.97 10^24 kg, soit 5.97 10^33 microgrammes, et l'écrire sous forme : de 5.97 suivi de 33 zéros sera sans AUCUNE singifcation....


    Citation Envoyé par chemkacte Voir le message
    P.S. As-tu compris que le nombre a 10 million de chiffres?
    Bien sûr, et voir plus haut : même avec seulement 20 chiffres cela n'a strictement aucun intérêt...


    Citation Envoyé par chemkacte Voir le message
    P.S.II Si ma mémoire est bonne, pour faire des calcules qui font intervenir deux nombres, l'ordinateur doit les exprimer sous la même forme (le même exposant), ce qui revient à dire que pour faire intervenir ces deux nombres dans le même calcule, l'ordinateur doit considérer le même nombre de chiffres significatifs pour chacun d'eux, suivant celui qui en à le plus (dans le cas ou ils ne sont pas arrondis ou tronqués, évidemment)
    Tu confonds encore "chiffres signifcatifs de la machine" et "chiffres significatifs du nombre".. C'est ce que j'essayais d'expliquer avec le GPS..

    Le satellite qui fournit les coordonnées GPS envoie 13 ou 14 chiffres après la virgule, mais la défintion de l'instrument de mesure contenu dans le satellite est entre 3 et 10 mètres : GPS Accuracy (Official U.S. Government information about the Global Positioning System (GPS) and related topics)

    The actual accuracy users attain depends on factors outside the government's control, including atmospheric effects and receiver quality. Real-world data collected by the FAA show that some high-quality GPS SPS receivers currently provide better than 3 meter horizontal accuracy
    Donc la majorité des mesures (la mesure standard) est au moins à 3m.. Ce qui veut dire entre 4 et 5 décimales seulement...

    Que l'envoi de la donnée comporte 13 décimales, et que les calculs soient faits après avec 17 (par exemple en double sur un 32 bits) ne change strictement rien au fait que uniquement 4 ou 5 ont un sens...

    On pourrait ajouter 20 décimales de plus ça ne changerait rien..

    Comme je l'ai dit plus haut, c'est la précision relative qui intéresse, dans le cas des grands nombres..

    C'est bien pour ça que l'on se ramène à des échelles correspondantes (les années-lumières pour les distances sidérales, les tonnes pour le poids des étoiles, etc etc) : quand on dit que la masse de la Terre est de 5.97 10^24 kg, c'est que c'est à 10^22 près .... Il ne sert donc strictement à rien d'afficher avec 24 zéros ou n'importe quoi, pusique seulement 2 chiffres sont nécessaires et ont une signification : le minimum qu'on puisse "imaginer", "borner", "mesurer", ou ce que tu veux, est +/- 5 10^21 kg...

    Donc, si l'on écrivait : 59700000000000000000000000000 kg, cela n'a strictement aucune signification, et c'est strictement équivalent à écrire 5.97 10^24.., puisque l'incertitude est de +/- 5000000000000000000000 kg, soit n'importe quelle valeur dans ce domaine...


    Quand donc on manipule des grands nombres comme 10^24, on se limite à une précision relative d'un facteur de 3 à 6 au très grand max.. On n'a donc strictement aucun besoin d'avoir N chiffres, qui ne sont en rien signficatifs..

    C'est pour ça que je dis que l'intérêt est purement et strictement limité aux petites dizaines de chercheurs dans le monde qui veulent établir des listes de nombres, qui n'ont strictement aucun intérêt que temporaire et aux fins de publications..
    "Un homme sage ne croit que la moitié de ce qu’il lit. Plus sage encore, il sait laquelle".

    Consultant indépendant.
    Architecture systèmes complexes. Programmation grosses applications critiques. Ergonomie.
    C, Fortran, XWindow/Motif, Java

    Je ne réponds pas aux MP techniques

  8. #28
    Candidat au Club
    Inscrit en
    Septembre 2013
    Messages
    13
    Détails du profil
    Informations forums :
    Inscription : Septembre 2013
    Messages : 13
    Points : 3
    Points
    3
    Par défaut
    Citation:
    Envoyé par chemkacte Voir le message
    C'est plutôt rigolo, car je suis étudiant en physique théorique!
    C'est exactement ce que je disais au début : c'est typiquement un questionnement - ou une approche - d'étudiant ou scolaire...
    C'est ce qui m'a troublé !!! J'avoue que tu as vu juste

    Ceci dit, je te donne raison pour les applications pratiques. Jamais ne me viendrait l'idée d'exprimer la masse du soleil en tonne, ou même en KG avec plus de 3 chiffres significatifs. À vrai dire, j'exprime la masse du soleil en masse solaire, ce qui est beaucoup plus approprié !

    Mais comprends-tu mon point avec la sommation infinie ?

  9. #29
    Expert éminent sénior

    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    10 603
    Détails du profil
    Informations personnelles :
    Âge : 66
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 10 603
    Points : 17 913
    Points
    17 913
    Billets dans le blog
    2
    Par défaut
    Citation Envoyé par chemkacte Voir le message
    Mais comprends-tu mon point avec la sommation infinie ?
    Comme le dit Wiki, dans un aspect ludique, certes


    Mais disons que la fréquence de tels posts ou questions pose problème, au vu de la méconnaissance générale des ordres de grandeur, de celle de la notion de précision, et de l'expansion de l'utilisation de biblothèques comme GIMP... Qui ne font qu'alourdir des softs qui n'en auraient nullement besoin....


    C'est un peu ça - surtout - qui me fait réagir.. C'est pas contre toi ou un autre posteur en général, c'est le biais qui s'ancre petit à petit dans vos pensées et vos actes de programmation....

    Et, détrompe-moi si je suis dans l'erreur, mais j'ai comme l'impression que ce sont des exercices ou des démarches proposé(e)s / suggéré(e)s par vos profs...
    "Un homme sage ne croit que la moitié de ce qu’il lit. Plus sage encore, il sait laquelle".

    Consultant indépendant.
    Architecture systèmes complexes. Programmation grosses applications critiques. Ergonomie.
    C, Fortran, XWindow/Motif, Java

    Je ne réponds pas aux MP techniques

  10. #30
    Candidat au Club
    Inscrit en
    Septembre 2013
    Messages
    13
    Détails du profil
    Informations forums :
    Inscription : Septembre 2013
    Messages : 13
    Points : 3
    Points
    3
    Par défaut
    Je te détrompe, c'est purement sur mon initiative. Ça doit faire partie de mon développement

    Il est possible que ça ne serve à rien, comme tu le dis si bien. Mais je crois qu'en soi, ç'a certaines propriétés intéressantes, ne serais-ce que pour découvrir que c'est inutile, que ce n'est qu'un concours entre esprit tordu. Je suis le genre de type qui ne croit pas ce que l'on dit, sans vérifier au moins une fois. J'ai déjà appliqué les calcules de la relativité à des problème purement classique pour me rendre conte qu'effectivement, c'était inutile d'alourdir des équations - pour que l'on ne voit une différence qu'à partir de la 20ième décimale passé la virgule. Mais au moins, je sais que personne ne viendra m'apprendre, grâce à ses calcules "inutiles", qu'on c'est tous gourés! J'aime pas les "a priori". Et je crois que c'est sain.

    Pour finir, merci de ta participation. J'ai bien aimé notre échange. Je crois maintenant que le problème est résolu : biblio GIMP!

    Au plaisir de débattre à nouveau avec toi, souviron34.

  11. #31
    Modérateur
    Avatar de Obsidian
    Homme Profil pro
    Développeur en systèmes embarqués
    Inscrit en
    Septembre 2007
    Messages
    7 371
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Développeur en systèmes embarqués
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2007
    Messages : 7 371
    Points : 23 626
    Points
    23 626
    Par défaut
    Bonjour à tous,

    J'arrive après la bataille, pardonnez-moi d'avance si je suis redondant sur certains points mais c'est un débat qui me fait réagir moi-aussi…

    Citation Envoyé par chemkacte Voir le message
    Je viens d'apprendre que la machine opère sous CentOS 6.4. Donc on oublie le C++!
    Le C++, comme le C, est un langage normalisé qui est aujourd'hui très bien pris en charge par g++. À dire vrai, ca fait un certain temps maintenant que je n'ai plus touché à Visual C/C++ mais beaucoup de gens se plaignent encore sur les forums de son respect tout relatif de la norme. Tu confonds peut-être avec C# qui, lui, est en quelque sorte le Java de Microsoft.

    Citation Envoyé par souviron34 Voir le message
    A part pour exercices, et pour de la crypto, il est humainement et physiquement IMPOSSIBLE d'avoir à manipuler des opérations sur de tels nombres nécessitant des bibliothèques spéciales !!!!!!!!!!!!!
    Oui, mais souviens-toi que c'est une discussion que l'on a déjà eue : http://www.developpez.net/forums/d66...rands-nombres/

    Autant je suis entièrement d'accord avec le fait qu'il faut toujours commencer par réfléchir à un problème et pas se lancer d'emblée dans une consommation de ressources inutile, autant il faut se souvenir qu'un ordinateur SERT à effectuer les manipulations de données humainement infaisables.

    Il faut bien garder à l'esprit, également, que l'homme pratique les mathématiques depuis l'antiquité, mais n'utilise les ordinateurs de manière sérieuse que depuis une cinquantaine d'années, et que l'explosion de la puissance de calcul disponible à tous n'est une réalité que depuis 20 ans (le PC sur lequel j'écris ces lignes était considéré comme un super-calculateur à cette époque).

    Cela signifie que l'on a toujours pris l'habitude de pratiquer ces mathématiques en ramenant un problème à ce qui était humainement faisable et surtout humainement appréhendable, faute de quoi le calcul ne se faisait tout simplement pas. Du coup, soit le problème était très simple et on en profitait pour explorer la théorie un peu plus loin, soit il était très compliqué en soi et là, on le ramenait à une approximation plus abordable, rendant un résultat approximatif humainement acceptable lui-aussi. C'est très bien comme cela mais l'esprit humain doit-il forcément être la référence en matière de complexité de calcul ?

    Quand on fait de la thermodynamique, par exemple, on ne s'amuse pas à calculer l'interaction de chacune des particules avec la totalité de ses voisines. Par contre, quand on fait de la météo aujourd'hui, il est utile de pouvoir collecter et traiter rapidement une multitude de données simples pour obtenir un résultat précis. Ça n'aurait jamais été possible sur papier. On a donc aujourd'hui admis l'utilité de traiter un nombre astronomique de petites données. Traiter une petite quantité de nombres astronomiques l'est tout autant à mon avis.

    Citation Envoyé par souviron34 Voir le message
    PS: et utiliser des logs, c'est pas possible ???
    Justement, dans le cas de « 10¹ ⁰⁰⁰ ⁰⁰⁰ ⁰⁰⁰ », le logarithme binaire de ce nombre dépasse les 32 bits ! :-) Il faut donc commencer à envisager un système pour le prendre en compte. Alors effectivement, il tient toujours dans un double. Mais justement, moi j'ai longtemps été « en guerre » contre les gens qui utilisaient systématiquement « double » plutôt que « float » dans leurs programmes, pour les mêmes raisons que toi.

    Mais même sans aller jusque là, il y aura bien un moment où tous les calculs symboliques étant résolus, il faudra déterminer la valeur de ce log. Et le calcul du logarithme — au moins pour les logarithmes à base entière, comme log₁₀ — est justement l'exemple-type de calcul purement arithmétique mais qui réclame une quantité de nombres qui explose très rapidement : si je veux déterminer le logarithme décimal d'un nombre, même entier pour simplifier la chose, je dois l'encadrer entre 10ⁿ et 10ⁿ⁺¹, puis le diviser par 10ⁿ, c'est qui est facile : on déplace la virgule et on conserve exactement le même nombre de chiffres initiaux, puis à l'élever à la puissance 10. C'est très simple aussi en soi, surtout si on fait une exponentiation rapide du style « x² = x × x ; x⁴ = x² × x² ; x⁵ = x⁴ × x ; x¹⁰ = x⁵ × x⁵ » ;

    Donc, quand on utilise le logarithme de sa base de travail (le décimal, la plupart du temps), il est donc techniquement faisable d'obtenir un log parfaitement exact jusqu'à une précision arbitrairement donnée puisqu'il ne s'agira toujours que de faire des multiplications et des décalages de virgule et que leur développement décimal sera donc toujours fini. Par contre, comme on se fait suer à calculer une table justement pour s'épargner de fastidieux calculs par la suite, le logarithme a intérêt à être le plus exact possible.

    Essayez de calculer simplement log₁₀(60), au hasard, jusqu'à la septième décimale, sans faire d'approximation, et regardez combien de chiffres atteignent vos opérandes à partir de la troisième décimale.

    Autre exemple, le développement décimal des inverses des nombres premiers, ou de tout nombre rationnel en général : http://www.developpez.net/forums/d13...nombre-premier

    On est bien loin de la crypto, et cela reste un cas il est typiquement très confortable de disposer de formats à largeur arbitraire.

    Citation Envoyé par souviron34 Voir le message
    Je n'ai pas vraiment d'explication, mais comme je l'ai dit dans le post où je m'autocitais, écrire la taille de l'Univers en angstrom ne prend QUE 24 décimales, et en fait la précision de la mesure la ramène à 4 ou 6 au max.. Je ne vois pas très bien quoi dans la vie et les calculs en général peut nécessiter 40 ou 60 décimales - et avoir un sens ... En général une précision relative du milliardième est bien le grand maximum, et souvent du millième.. Mais du milliardième de milliardième ??? (avoir un milliard 1/2 d'euros, on n'arrondi pas à l'euro près, hein ?)
    C'est vrai mais c'est un exemple qu'il faut savoir abandonner parce qu'il introduit justement le biais inverse. Si on suit ce raisonnement, même le PPM (donc une précision en décimal à six chiffres) est un rapport inutilement précis : ça correspondrait à un écart d'un mètre sur la distance Calais-Perpignan !

    Par contre, 1 PPM, c'est également le rapport qu'il y a entre 1 cm³ et 1 m³, soit à peu près le volume d'un dé à coudre dans une petite cuve d'eau. Retrouver un dé à coudre dans un tel réservoir est à la portée de tout le monde et en matière de toxicologie, par exemple, c'est largement suffisant pour le contaminer.

    Alors certes, on peut exprimer cela avec des ordres de grandeur, donc avec un logarithme qui tient sur les doigts d'une main mais ce n'est pas l'objet : la pertinence d'une précision dépend du contexte et de certains facteurs parmi lesquels la multiplication du nombre de dimensions et surtout le temps ! les erreurs qui se cumulent sur une longue durée peuvent être catastrophiques.

    Enfin, quand on est à l'école primaire, on apprend justement à faire de l'arithmétique, donc des calculs sur des nombres de taille arbitraire. Autant je peux admettre qu'un physicien dont les ordinateurs ne sont pas le métier doive savoir s'en tenir à des formats à la précision déjà très généreuse, autant je pense qu'il est vital pour un informaticien de savoir efficacement manipuler les données de sa machine.

  12. #32
    Expert éminent sénior

    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    10 603
    Détails du profil
    Informations personnelles :
    Âge : 66
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 10 603
    Points : 17 913
    Points
    17 913
    Billets dans le blog
    2
    Par défaut
    Citation Envoyé par Obsidian Voir le message
    Cela signifie que l'on a toujours pris l'habitude de pratiquer ces mathématiques en ramenant un problème à ce qui était humainement faisable et surtout humainement appréhendable,
    Ce n'est pas exactement ce que je dis :

    ce que je dis c'est que la signification n'en est pas une lorsquon atteint une certaine échelle..


    Citation Envoyé par Obsidian Voir le message
    Quand on fait de la thermodynamique, par exemple, on ne s'amuse pas à calculer l'interaction de chacune des particules avec la totalité de ses voisines.
    Par contre, quand on fait de la météo aujourd'hui, il est utile de pouvoir collecter et traiter rapidement une multitude de données simples pour obtenir un résultat précis. Ça n'aurait jamais été possible sur papier. On a donc aujourd'hui admis l'utilité de traiter un nombre astronomique de petites données. Traiter une petite quantité de nombres astronomiques l'est tout autant à mon avis.
    Si, on peut... En astrophysique, les calculs de simulation de collisions de galaxies se font de cette manière-là avec 2 ou 3 galaxies à 1, 10, ou 100 millions d'étoiles...

    MAis là tu parles du nombre de données, pas du nombre représenté par ces données...



    Citation Envoyé par Obsidian Voir le message
    Donc, quand on utilise le logarithme de sa base de travail (le décimal, la plupart du temps), il est donc techniquement faisable d'obtenir un log parfaitement exact jusqu'à une précision arbitrairement donnée puisqu'il ne s'agira toujours que de faire des multiplications et des décalages de virgule et que leur développement décimal sera donc toujours fini. Par contre, comme on se fait suer à calculer une table justement pour s'épargner de fastidieux calculs par la suite, le logarithme a intérêt à être le plus exact possible.
    Sauf que justement on a calculé ce log parce que l'échelle initiale était trop grande...

    On a donc l'illusion que l'on a de la précision, précision qui en fait a été perdue.. C'est ce dont je parlais avec la Masse de la Terre... Que tu n'utilises qu'une échelle log où ton max sera 24, avoir 500 décimales sur ce log ne changera rien au fait que , ré-exponentié, la précision ne sera que de 10^21, et donc seulement 3 décimales seront nécessaires.. Donc une plage simple de 1000... Parce que ré-exponentié, ton log à 500 décimales aura la même valeur, puisqu'il sera tronqué, que si il avait été calculé seulement avec 5 ou 6...



    Citation Envoyé par Obsidian Voir le message
    Autre exemple, le développement décimal des inverses des nombres premiers, ou de tout nombre rationnel en général : http://www.developpez.net/forums/d13...nombre-premier

    On est bien loin de la crypto, et cela reste un cas il est typiquement très confortable de disposer de formats à largeur arbitraire.
    Voir ce que dit Wiki..

    "Esprit ludique et de compétition pour publication"..

    Je l'admet, mais je vois trop de posts sur ce sujet pour croire que tous les mathématiciens des équipes mondiales travaillant sur le sujet ont pris des stagiaires francophones posant des questions sur DVP



    Citation Envoyé par Obsidian Voir le message
    Alors certes, on peut exprimer cela avec des ordres de grandeur, donc avec un logarithme qui tient sur les doigts d'une main mais ce n'est pas l'objet : la pertinence d'une précision dépend du contexte et de certains facteurs parmi lesquels la multiplication du nombre de dimensions et surtout le temps ! les erreurs qui se cumulent sur une longue durée peuvent être catastrophiques.
    Encore une fois, tu cites toi-même la limitation : que tu aies X dimensions, que la pertinence dépende du contexte, et que la précision est relative..

    Ce n'est pas en ayant par exemple une échelle de temps à la micro-seconde que tu décriras l'évolution de le Terre depuis sa naissance..


    Citation Envoyé par Obsidian Voir le message
    Autant je peux admettre qu'un physicien dont les ordinateurs ne sont pas le métier doive savoir s'en tenir à des formats à la précision déjà très généreuse, autant je pense qu'il est vital pour un informaticien de savoir efficacement manipuler les données de sa machine.
    A condition qu'il connaisse les limites.. Les exemples que j'ai donné sur les GPS, et sur d'autres calculs (il y a eu sur ce forum un post sur les calculs aéronautiques des ailes d'avion) montrent que ces exercices / pratiques font perdre la notion de précision réelle, et d'utilité...

    Qu'un infomaticien stocke dans une BD une donnée GPS à 14 ou 17 décimales est tout simplement une aberration.. Quand en plus il la relit et ne l'arrondi pas à la préicison initiale, il propage des erreurs... Multiplié par le nombre d'opérations, cela génère des erreurs énormes... (j'ai eu le cas de lignes droites (une piste de saut à ski) devenant pire qu'un ruban de Moebius, simplement à cause de ça).

    Qui peuvent nécessiter un travail énorme de la part d'autres utilisateurs (correction d'intersections, vérifications des formes, etc).

    Tout ça parce que l'infrmaticien connaissait la précision de sa machine, mais n'avait pas pris en compte celle de la donnée qu'il devait stocker..


    C'est pour ça que je proteste régulièrement : cela ne doit pas se faire au détriment de l'ordre de grandeur et de la réalité..

    Quand tu cites les PPM, on peut même aller jusqu'aux PPMM... Il n'empêche que ton unité de mesure est le PPM. Par 1 ou 100000..

    De manière générale, je ne pexu que réaffirmer : en dehors de la crypto et des personnes/équipes interess"es par l'aspect ludique ou de compétietion sur la publication, utiliser des calculs soi-disant exacts est SANS AUCUNE SIGNIFICATION....

    Si je me met à te demander ton CV à la micro-seconde sur ta vie professionnelle, tu vas m'envoyer balader. A juste titre.. C'est exactemnt la même chose : toute quantité à son échelle, qui peut différer suivant l'usage, mais qui ne nécessite que peu de décimales (en tous cas suffisamment peu pour rentrer dans l'infirmatique "normale"), par construction...

    On peut avoir l'illusion d'un calcul exact, mais cette exactitude est contrebalancée par l'incertitude sur la valeur...


    Dans le post que tu cites, je n'avais pas répondu à ton dernier post :

    Un rapport de 1 à 10^9, c'est peut-être négligeable en sciences, c'est plus chiant si tu tiens des comptes en banques, par exemple. Peu à peu, les centimes se perdent, c'est l'usure des temps modernes. Là encore, si on n'a pas mis le doigt dessus assez tôt, un programmeur essentiellement axé finances est capable d'utiliser un nombre à virgule flottante pour représenter le solde d'un compte à virgule fixe et s'exposer aux mêmes risques.

    Mais là encore, il ne s'agit que d'exemples sporadiques. Je pense que le plus grand « danger » vient de ce que j'ai exposé dans mon précédent post : le cumul des imprécisions. Si tu multiplies n fois un nombre flottant par un autre dont l'imprécision est connue, alors celle-ci progresse jusqu'à gagner tous tes chiffres.

    C'est génant quand tu fais de nombreux calculs, des itérations (calcul de suite, de progressions), mais également quand ton logiciel est amené à fonctionner très longtemps sans être réinitialisé (cas de l'embarqué). Imagine les conséquences de ces imprécisions sur le G.P.S., par exemple.
    Là encore tu mélanges un peu il me semble... La monnaie de se fbrique ni ne s'établit pas, physiquement à moins de 1 centime.. Qu'on y adjoigne 3 décimales de plus (pour tenir compte des .333 ou autres) ne changera rien au fait que l'unité la plus basse - la précision la plus basse de la monnaie - est le centime...

    Stocker une somme à 10^-9 centime est illusoire...

    Quant aux calculs "en suite", c'est équivalent.... Comme je l'avais dit dans la discussion sur les ailes d'avions, si ton échelle est le mm, tu as le micron à 10^-3. En utilisant des doubles, tu as droit à 2^13 opérations par point avant de perdre la précision du micron...

    Bref, si ton échelle est bonne, les imprécisions de calculs ne sont pas à prendre en compte....

    Quant au GPS, j'ai donné le lien de la NASA...
    "Un homme sage ne croit que la moitié de ce qu’il lit. Plus sage encore, il sait laquelle".

    Consultant indépendant.
    Architecture systèmes complexes. Programmation grosses applications critiques. Ergonomie.
    C, Fortran, XWindow/Motif, Java

    Je ne réponds pas aux MP techniques

  13. #33
    Modérateur
    Avatar de Obsidian
    Homme Profil pro
    Développeur en systèmes embarqués
    Inscrit en
    Septembre 2007
    Messages
    7 371
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Développeur en systèmes embarqués
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2007
    Messages : 7 371
    Points : 23 626
    Points
    23 626
    Par défaut
    Citation Envoyé par souviron34 Voir le message
    Si, on peut... En astrophysique, les calculs de simulation de collisions de galaxies se font de cette manière-là avec 2 ou 3 galaxies à 1, 10, ou 100 millions d'étoiles...
    Oui, mais pas sur papier. Pas avec 100 millions d'étoiles.

    MAis là tu parles du nombre de données, pas du nombre représenté par ces données...
    Et j'ai surtout ajouté : « On a donc aujourd'hui admis l'utilité de traiter un nombre astronomique de petites données. Traiter une petite quantité de nombres astronomiques l'est tout autant à mon avis. ».

    Sauf que justement on a calculé ce log parce que l'échelle initiale était trop grande...
    C'est le « on a » qui est important. Comment ces logarithmes ont été calculés, par qui et avec combien de chiffres dans leurs calculs ? Les ordinateurs n'utilisent pas les tables de Neper originales pour les déterminer. Ils le font à la volée avec une précision arbitraire parce que c'est simple à faire et qu'itérer sur des grands nombres est précisément le rôle d'un ordinateur. Plus précisément, il sert à le faire à la place de l'homme.

    Écrire la calculatrice qui trône sur le bureau de ton O.S. préféré est une tâche importante qui, pourtant, est très éloignée de la cryptographie.

    On a donc l'illusion que l'on a de la précision, précision qui en fait a été perdue.. C'est ce dont je parlais avec la Masse de la Terre... Que tu n'utilises qu'une échelle log où ton max sera 24, avoir 500 décimales sur ce log ne changera rien au fait que , ré-exponentié, la précision ne sera que de 10^21, et donc seulement 3 décimales seront nécessaires.. Donc une plage simple de 1000... Parce que ré-exponentié, ton log à 500 décimales aura la même valeur, puisqu'il sera tronqué, que si il avait été calculé seulement avec 5 ou 6...
    On est bien d'accord, sauf que seules 3 décimales sont nécessaires justement parce qu'on a perdu de la précision, ce qui n'est pas forcément souhaitable. C'est précisément parce que ces logarithmes divergent facilement quand ils sont ré-exponentiés qu'il est important qu'ils soient précis au départ.

    Encore une fois, tu cites toi-même la limitation : que tu aies X dimensions, que la pertinence dépende du contexte, et que la précision est relative..
    Et on n'a pas dit le contraire.

    Ce n'est pas en ayant par exemple une échelle de temps à la micro-seconde que tu décriras l'évolution de le Terre depuis sa naissance..
    Même problème qu'au départ. Il s'agit d'une échelle linéaire.

    A condition qu'il connaisse les limites.. Les exemples que j'ai donné sur les GPS, et sur d'autres calculs (il y a eu sur ce forum un post sur les calculs aéronautiques des ailes d'avion) montrent que ces exercices / pratiques font perdre la notion de précision réelle, et d'utilité...
    C'est normal dans une certaine mesure et, effectivement, il faut ramener tranquillement les gens à la réalité dans ce cas.

    Qu'un infomaticien stocke dans une BD une donnée GPS à 14 ou 17 décimales est tout simplement une aberration.. Quand en plus il la relit et ne l'arrondi pas à la préicison initiale, il propage des erreurs... Multiplié par le nombre d'opérations, cela génère des erreurs énormes...
    Oui, mais c'est le même argument que j'utilise en faveur des grands chiffres : le cumul des imprécisions.

    Dans ce cas précis, cela devient une troncature et il est important, surtout en cas d'exponentiations successives, que ces erreurs ou ces arrondis se compensent mutuellement.

    (j'ai eu le cas de lignes droites (une piste de saut à ski) devenant pire qu'un ruban de Moebius, simplement à cause de ça).
    Sur le plan sportif, ça peut être intéressant ! :-)

    Tout ça parce que l'infrmaticien connaissait la précision de sa machine, mais n'avait pas pris en compte celle de la donnée qu'il devait stocker..
    Ça, c'est un vrai problème. Tout le monde colle du double à toutes les sauces même pour les indices de boucle, surtout en Java où ça devient une maladie. À ce stade, il est bon de reprendre l'éditeur hexadécimal et d'aller leur montrer en mémoire ce que représentent huit octets successifs à chaque fois.

    Quand tu cites les PPM, on peut même aller jusqu'aux PPMM... Il n'empêche que ton unité de mesure est le PPM. Par 1 ou 100000..
    Non, justement : je parlais bien de précision dans ce cas précis et montrait qu'en prenant systématiquement l'exemple des distances (qui est donc le mauvais, à mon avis), on arrive à montrer que même le PPM est inutilement précis. Contexte, toujours.

    De manière générale, je ne pexu que réaffirmer : en dehors de la crypto et des personnes/équipes interess"es par l'aspect ludique ou de compétietion sur la publication, utiliser des calculs soi-disant exacts est SANS AUCUNE SIGNIFICATION....
    On avait parlé du CRC, que tu as aussitôt classé dans la cryptologie. Admettons, mais alors la crypto devient vraiment très vaste à ce stade.

    On a aussi cité un post qui voulait étudier le développement décimal périodique des inverses des nombres premiers, ou celui de la calculatrice du bureau d'un système d'exploitation. Dans le premier de ces deux cas, c'est quand même dommage d'utiliser un tableau ou une liste chaînée pour coder une séquence que l'on pourrait enregistrer avec « x = 10x + n » et imprimer à l'écran avec les fonctions habituelles. Il existe justement des trucs comme BigDecimal en Java pour ce genre de cas.

    Là encore tu mélanges un peu il me semble... La monnaie de se fbrique ni ne s'établit pas, physiquement à moins de 1 centime.. Qu'on y adjoigne 3 décimales de plus (pour tenir compte des .333 ou autres) ne changera rien au fait que l'unité la plus basse - la précision la plus basse de la monnaie - est le centime...
    Ce que j'entendais par là, c'est que le calcul doit être exact au delà de la précision de référence si tu veux qu'il soit parfaitement exact en fin de processus sur cette précision.

    De toutes façons, on est d'accord sur le fond. Ce que j'entends en fait se résume en quelques points simples :

    • Il est important de vérifier si un tel besoin ne cache pas, en réalité, une erreur de conception, mais que :
    • On évite de recourir aux grands nombres principalement pour raisons historiques : parce qu'ils sont inutilement fastidieux à calculer et à maintenir. Le côté fastidieux disparaissant avec les ordinateurs ;
    • Qu'à partir du moment où on touche de près ou de loin à l'arithmétique, ils deviennent très utiles ;
    • Qu'un physicien peut se passer d'avoir à les manipuler, mais qu'un informaticien doit savoir le faire ;
    • Qu'il n'est pas forcément plus intéressant de changer de repère en utilisant des log ou autres moyens de représentation s'ils ne sont pas moins coûteux en ressources en temps de calcul de rajouter des chiffres si nécessaires, surtout si le domaine exploré reste proche des limites originales, pour éviter les débordements de type, même si en matière de nombres entiers, il est difficile aujourd'hui de dépasser 2⁶⁴.

  14. #34
    Expert éminent sénior

    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    10 603
    Détails du profil
    Informations personnelles :
    Âge : 66
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 10 603
    Points : 17 913
    Points
    17 913
    Billets dans le blog
    2
    Par défaut
    Citation Envoyé par Obsidian Voir le message
    On est bien d'accord, sauf que seules 3 décimales sont nécessaires justement parce qu'on a perdu de la précision, ce qui n'est pas forcément souhaitable. C'est précisément parce que ces logarithmes divergent facilement quand ils sont ré-exponentiés qu'il est important qu'ils soient précis au départ.
    Sauf que , ce que visblement tu n'arrives à comprendre, ou je m'exprime mal, c'est que la QUANTITE dont on prend le log est imprécise.. DONC que le log d'une valeur imprécise soit précis, ça ne veut rien dire de plus...



    Citation Envoyé par Obsidian Voir le message
    Oui, mais c'est le même argument que j'utilise en faveur des grands chiffres : le cumul des imprécisions.
    Voir plus haut : avoir 200 décimales sur un chiffre obtenu avec une donnée à 3 décimales ne t'avancera en rien.. ça te donne l'illusion que c'est plus précis, mais ça ne l'est pas..


    Citation Envoyé par Obsidian Voir le message
    Dans ce cas précis, cela devient une troncature et il est important, surtout en cas d'exponentiations successives, que ces erreurs ou ces arrondis se compensent mutuellement.
    Encore une fois, c'est une précision IMAGINAIRE...

    Que tu calcules avec 10000 décimales n'y changera rien, même en faisant 10000 fois l'opération...




    Citation Envoyé par Obsidian Voir le message
    Ça, c'est un vrai problème. Tout le monde colle du double à toutes les sauces même pour les indices de boucle,
    ça faut être franchement con, mais j'ai jamais vu ça... Faut croire que t'es entouré de zombies, alors




    Citation Envoyé par Obsidian Voir le message
    Non, justement : je parlais bien de précision dans ce cas précis et montrait qu'en prenant systématiquement l'exemple des distances (qui est donc le mauvais, à mon avis), on arrive à montrer que même le PPM est inutilement précis. Contexte, toujours.
    Je ne l'ai pas compris comme ça.. Pour moi, une fois que tu as mis en PPM (ce que j'indiquais plus hait comme étant une échelle "normale", 10-6), en dehors d'ajouter 2 chiffres après la virgule ça n'a aucun sens d'afficher (et de calculer) des "PPM de PPM"...





    Citation Envoyé par Obsidian Voir le message
    On a aussi cité un post qui voulait étudier le développement décimal périodique des inverses des nombres premiers,
    ou celui de la calculatrice du bureau d'un système d'exploitation.
    Encore une fois, le premier exemple : A QUOI SERT-IL ??????

    Comme le dit Wiki, aspect ludique et de compétition : forcément temporare, et forcément, toujours, et de manière certaine, incomplet...


    Citation Envoyé par Obsidian Voir le message
    Ce que j'entendais par là, c'est que le calcul doit être exact au delà de la précision de référence si tu veux qu'il soit parfaitement exact en fin de processus sur cette précision.
    Encore une fois, je conteste cette position : comment un calcul peut-il être EXACT avec précision PLUS FORTE que celle de la donnée entrée ????

    Que tu additionnes 500 000 fois des sommes, ces sommes (d'argent) ne sont chacune précise qu'au centime près... Que tu rajoutes 30 000 décimales n'y changera rien..

    Et si tu fais une division, la seule chose que tu peux espérer, c'est l'arrondi correct.... Il est illusoire - mathématiquement - d'espérer avoir 8 décimales SIGNFICATIVES sur des nombres qui n'en ont que 2... Alors tu peux faire du virtuel...

    Mais faire 1 euro / 3 ne t'avanceras de toutes façons qu'à 0.33 (et tu peux garder un 3 si tu veux pour la première opération suivante, mais la propagation de l'incertitude est INSTANTANEE , pas à la fin... : si tu fais 1000 opérations : addtionner 2 nombres à 10-2 d'incertitude réelle t'améneras toujours à 10-2 au premier coup... Ce n'est pas en ayant 30 décimales sur ton tiers que tu gagneras en précision... Tu ne gagnes strictement rien, sauf du virtuel... car la fraction de centime n'existe pas... Donc tu arrondis TOUJOURS à 10^-2.... Que tu fasses 0 ou 500 000 opérations.... Entre chacune de ces opérations la valeur DEVRAIT être arrondie, sinon c'est de l'argent virtuel - et donc une opération irréelle, et donc fausse...



    Citation Envoyé par Obsidian Voir le message
    De toutes façons, on est d'accord sur le fond. Ce que j'entends en fait se résume en quelques points simples :
    Je ne crois pas tout à fait qu'on soit d'accord sur le fond


    Citation Envoyé par Obsidian Voir le message
    • On évite de recourir aux grands nombres principalement pour raisons historiques : parce qu'ils sont inutilement fastidieux à calculer et à maintenir. Le côté fastidieux disparaissant avec les ordinateurs ;
    Je ne suis pas d'accord... On évite de recourir aux grands nombres CAR ILS NE SONT D'AUCUNE UTILITE : soit ils sont précis et ponctuels (comme les nombres premiers), et alors ils ne peuvent servir QUE à des listes, soit ils sont des nombres réels quelconques, et LE NOMBRE DE CHIFFRES SIGNFICATIFS EST FAIBLE.......

    Avoir 500 000 000 000 000 000 000 1 est absurde et n'a stictement aucun sens dans AUCUN domaine....





    Citation Envoyé par Obsidian Voir le message
    • Qu'à partir du moment où on touche de près ou de loin à l'arithmétique, ils deviennent très utiles ;
    Encore une fois, pas d'accord... Quelle arithmétique ??? Celle des concours de geeks - ou de chercheurs - qui veulent publier plus que le voisin, ou la vraie arithmétique ????

    Dans la vraie arithmétique, on s'en tamponne comme de l'an 40, de la valeur numérique.... Et dans l'informatique industrielle (méthodes de convergence, numériques, etc) la précision des phénomènes/mesures/coeffs limite la précision...

    Alors il y a la crypto - et si tu veux les CRC.. Très très très très petit domaine, et pas des maths - ni de l'arithmétique - pure.



    Citation Envoyé par Obsidian Voir le message
    • Qu'un physicien peut se passer d'avoir à les manipuler, mais qu'un informaticien doit savoir le faire ;
    Je ne peux pax être d'accord... Un informaticen fait des programmes.. L'utilité des grands nombres est extrêmement restreinte. Pourquoi quelqu'un qui n'est pas du domane devrait-il les connaitre spécifiquement ??

    Tu passes ton permis, tu conduis une voiture. Est-ce que ça veut dire que quand tu passes le permis tu devrais savoir conduuire un semi 35 tonnes 18 essieux sur une route de montagne enneigée à 14% par temps de brouillard ????

    Un infomaticien doit apprendre à ne pas utiliser le Charles de Gaulle pour faire décoller un CESSNA ou un ULM... Il doit donc strictement avoir la même base qu'un physicien, un chimiste, ou n'importe qui: le bon sens pour chosiir l'échelle et l'outil adapté...



    Citation Envoyé par Obsidian Voir le message
    • Qu'il n'est pas forcément plus intéressant de changer de repère en utilisant des log ou autres moyens de représentation s'ils ne sont pas moins coûteux en ressources en temps de calcul de rajouter des chiffres si nécessaires, surtout si le domaine exploré reste proche des limites originales, pour éviter les débordements de type, même si en matière de nombres entiers, il est difficile aujourd'hui de dépasser 2⁶⁴.
    Je me fous des logs... Un changement d'échelle est TOUJOURS nécessaire pour manpuler la bonne échelle, sinon les décimales - ou les unités - n'auront aucuns sens ..... QUELLE QUE SOIT la puissance informatique disponible..




    Le fond de notre désaccord c'est que tu penses que la précision informatique EST une précision réelle... C'est FAUX... : suivant qu'on utilise tel ou tel algo (cablé ou non) , tel ou tel processeur, on n'aura pas le même résultat... Mais, fondamentalement, l'informatique traite - hors cas particuliers comme la recherche des nombres premiers - des nombres représentants des élements du monde (modélisés ou non) et/ou devant être lus/interprétés/compris par des humains (et même des machines).

    La "granularité" de l'humain, d'une monnaie, d'une machine-outil, des données qui ENTRENT et SORTENT du soft LIMITENT la précision...

    Les décimales "artificielles" n'ont AUCUN sens, elles sont purement virtuelles..

    Pour expliquer, je reviens sur l'exemple d'aile d'avion que j'avais eu ailleurs dans un aure thread sur ce forum: l'argument avancé était de dire que puisqu'on avait besoin d'une précision du micron sur une orientation de facette, que puisque qu'on avait plus de 1000 opérations par point, ALORS il était nécessaire d'utiliser des grands nombres puisque la limite des doubles était dépassée... Ben non... Si tu prends l'unité comme le mm et non pas le mètre, le micron relève du 10^-3, et en ayant des doubles tu as le loisir de faire plus de 10^10 opérations par point en étant toujours en dessous du micron... Qu'on utilise 17 décimales n'empêchent pas que ton beau maillage sera mis en oeuvre par une machine qui coupera de l'acier au mieux au micron, et normaleemnt au 1/10 mm. . Basta.. Chaque point est donc au micron... Que tu te sois servi d'un point pour construire le suivant, tu as toujours cette limite.. Que donc tu utilises 18 décimales ou 500 ou 9 ne changera stirictement rien..

    Tu dois donc calculer ta tolérance max (le plus petit mouvement que peut faire la machine-outil)... Et ça te donne la précision limite...

    Mais ne t(y trompe pas.. Utiliser 10 ou 30 ou 500 décimales ne changera strictement rien.... Tex calculs ne seront pas "plus exacts" pour autant...

    C'est je crois, le fond : il y a une illusion persistente que "l'exactitude' des décimales de la machine réprésente une exactitude du nombre , et donc du résultat : non c'est une exactitude du chiffre, de manière ex-nihilo et purement ponctuelle... l'exactitude du nombre et du résultat ne dépend que très peu de l'exactitude du chiffre, si on est à la bonne échelle et qu'on atteint au minimum la précision limite...


    Ouuufffffffff.....


    Ce n'est pas juste un débat philosophique, c'est un débat dans lequel, je pense, il y a vraiment une incompréhension des mécanismes de calculs et des significations des nombres et des décimales...
    "Un homme sage ne croit que la moitié de ce qu’il lit. Plus sage encore, il sait laquelle".

    Consultant indépendant.
    Architecture systèmes complexes. Programmation grosses applications critiques. Ergonomie.
    C, Fortran, XWindow/Motif, Java

    Je ne réponds pas aux MP techniques

  15. #35
    Modérateur
    Avatar de Obsidian
    Homme Profil pro
    Développeur en systèmes embarqués
    Inscrit en
    Septembre 2007
    Messages
    7 371
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Développeur en systèmes embarqués
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2007
    Messages : 7 371
    Points : 23 626
    Points
    23 626
    Par défaut
    Citation Envoyé par souviron34 Voir le message
    Sauf que , ce que visblement tu n'arrives à comprendre, ou je m'exprime mal, c'est que la QUANTITE dont on prend le log est imprécise.. DONC que le log d'une valeur imprécise soit précis, ça ne veut rien dire de plus...
    On est bien d'accord encore une fois, mais tu prends systématiquement ce cas en exemple comme s'il s'agissait de quelque chose d'universel ! Tout le monde ne passe pas sa carrière à faire de la mesure physique, quand même !

    Il y a une vieille blague sur les scientifiques que tu dois déjà connaître :
    Question : les nombres impairs sont-ils tous premiers ?

    — Le mathématicien : faux ! 9 n'est pas premier ;
    — Le physicien : 1 est premier, 3 est premier, 5 est premier, 7 est premier, 9 euh… n'est pas premier, 11 est premier, 13 est premier… Bon bah aux erreurs expérimentales près, c'est bon !
    — L'informaticien : 1 est premier, 3 est premier, 5 est premier, 7 est premier, 9 n'est pas premier, 9 n'est pas premier, 9 n'est pas premier, 9 n'est pas premier…

    ça faut être franchement con, mais j'ai jamais vu ça... Faut croire que t'es entouré de zombies, alors
    Tu n'imagines même pas ce que l'on peut voir…

    Seulement, à l'usage, il y a deux catégories de personnes : d'un côté ceux qui ne veulent pas être informaticiens (c'est leur droit) et qui ne touchent à la programmation que comme spécialisation supplémentaire. Ceux-là, aujourd'hui, s'orientent surtout vers le Java. Et d'autre part, il y a les gens qui font d'énormes erreurs simplement parce qu'ils débutent. Là, en général, on leur montre la voie une seule fois et ils y restent d'eux-mêmes toute leur carrière.

    Encore une fois, le premier exemple : A QUOI SERT-IL ??????
    Il se trouve que ce n'est pas un cas inventé pour en débattre mais un post véritable et une vraie question de la part du demandeur. « À quoi ça sert » est hors sujet. La vraie question ici est « comment t'y prendrais-tu pour obtenir le résultat » ?

    Après, tu peux arguer qu'il ne s'agit que de cas marginaux qui ne justifient pas la mise en place de classes dédiées mais pourquoi s'en priver quand on en a besoin ?

    Encore une fois, je conteste cette position : comment un calcul peut-il être EXACT avec précision PLUS FORTE que celle de la donnée entrée ????
    Ah ben dans le cas du développement décimal ci-dessus, la question ne pose pas ! la précision est forcément absolue puisque la donnée initiale n'est pas une mesure mais une définition mathématique. Même si le développement est infini, il s'agit bien d'écrire un algo qui le perpétue jusqu'au bon plaisir de l'utilisateur. Et il se trouve que cet algo est le même que sur papier.

    Mais faire 1 euro / 3 ne t'avanceras de toutes façons qu'à 0.33 (et tu peux garder un 3 si tu veux pour la première opération suivante, mais la propagation de l'incertitude est INSTANTANEE , pas à la fin...
    Encore une fois, ce n'est pas du tout l'objet de la discussion. Personne ici ne cherche à calculer la valeur d'un tiers d'euro et il n'y a pas du tout non plus d'incertitude sur 1÷3. Ça donne forcément « 0,333333… » jusqu'à l'infini. Dans l'exemple précédent, le demandeur cherche à connaître l'emplacement et la longueur de la séquence de chiffres qui se répète ensuite (en l'occurence, c'est un seul chiffre).

    Voici encore un exemple trivial mais qui, pour le coup, est utilisé en permanence par nos ordinateurs lorsque l'on dialogue avec eux : la conversion de base, et typiquement le décimal vers le binaire et réciproquement. Quand tu convertis un unsigned long long binaire, donc 2⁶⁴ vers du décimal affichable à l'écran, tu obtiens 80 bits en BCD ou 20 caractères en ASCII, soit 160 bits. Il s'agit donc typiquement de faire de l'arithmétique sur des formats qui dépassent la longueur des types natifs standard.

    Ce n'est pas du tout une question anodine parce qu'elle est récurrente sur les forums et qu'on s'aperçoit que même lorsqu'il ne s'agit que de passer d'une base à l'autre, très peu de gens pensent d'emblée à itérer sur « modulo du nombre par la base puis division entière par la base ».

    Or, réécrire printf() ou strtol(), c'est bien plus qu'un cas d'école : c'est à la fois simple et fondamental, et tout le monde ne travaille pas sur PC. Programmer un micro-contrôleur, par exemple, nécessite de savoir comment ça marche.

    : si tu fais 1000 opérations : addtionner 2 nombres à 10-2 d'incertitude réelle t'améneras toujours à 10-2 au premier coup... Ce n'est pas en ayant 30 décimales sur ton tiers que tu gagneras en précision...
    Personne n'a dit le contraire (pour peu que les incertitudes soient uniformément réparties et qu'elles se compensent).

    Je ne crois pas tout à fait qu'on soit d'accord sur le fond
    Bien sûr que si. Tu nous expliques depuis le début que — en pratique — les cas où on a réellement besoin de grands nombres sont rares et qu'il faut donc résister à la tentation d'y recourir dès le départ, avant même de s'être penché sur son problème. Personne n'a dit le contraire, encore une fois.

    Ce que l'on a dit en revanche, c'est que ce n'est pas la peine de s'en passer et encore moins d'en être privés lorsqu'ils sont à la fois simples à mettre en place et qu'ils facilitent les calculs. Seulement, à chaque fois qu'on présente un exemple, tu nous réponds « oui mais ça, on s'en fiche » ou « ça ne sert rien ». C'est peut-être vrai dans ton domaine, ça ne l'est pas systématiquement. Et tout le monde n'est pas « utilisateur final » non plus, surtout ici.

    Calculer Pi, c'est intéressant. Calculer un logarithme jusqu'à une précision arbitraire RÉCLAMÉE par l'utilisateur, c'est intéressant (et c'est surtout intéressant de savoir le faire), calculer une fonction de conversion de base, c'est intéressant.

    Je ne suis pas d'accord... On évite de recourir aux grands nombres CAR ILS NE SONT D'AUCUNE UTILITE : soit ils sont précis et ponctuels (comme les nombres premiers), et alors ils ne peuvent servir QUE à des listes
    Ok. Qui calcule ces listes et comment les stocke-t-on ? Parfois, c'est quand même plus intéressant de les recalculer.

    Encore une fois, pas d'accord... Quelle arithmétique ??? Celle des concours de geeks - ou de chercheurs - qui veulent publier plus que le voisin, ou la vraie arithmétique ????
    L'arithmétique des concours de geeks, ce n'est pas de la vraie arithmétique ?

    Dans la vraie arithmétique, on s'en tamponne comme de l'an 40, de la valeur numérique.... Et dans l'informatique industrielle (méthodes de convergence, numériques, etc) la précision des phénomènes/mesures/coeffs limite la précision...
    Mais n'oublie pas que, bien souvent, quand tu passes une donnée de précision fixe à une fonction et que celle-ci te renvoie un résultat à la même précision (et au même format), celle-ci est obligée de travailler sur un format plus grand et de tronquer le résultat avant de te le renvoyer. Et partir du moment ou tu dépasses le format natif standard, travailler sur deux éléments ou travailler sur mille, c'est le même boulot.

    Je ne peux pax être d'accord... Un informaticen fait des programmes.. L'utilité des grands nombres est extrêmement restreinte. Pourquoi quelqu'un qui n'est pas du domane devrait-il les connaitre spécifiquement ??
    C'est là que nos avis divergent, à mon avis : un informaticien n'est pas un pupitreur qui se contente de nourrir une machine tombée du ciel avec des données pré-machées par les physiciens et pour leur compte. C'était peut-être vrai dans un premier temps avec les batchs et lorsque les premiers ordinateurs centralisés ont remplacé les bureaux de calcul, mais même là, il a bien fallu que quelqu'un les conçoive et les fabrique.

    Pour moi, l'informaticien est précisément la personne qui doit — sinon concevoir — être au fait du fonctionnement de sa machine.

    C'est une question que j'avais posé à un élève ingénieur en informatique à qui les cours d'architecture des ordinateurs et d'électronique numériques ne parlaient pas et qui considérait de façon assez ostentatoire que ce n'était pas leur rôle d'étudier ces choses-là. Je lui avais demandé « c'est le métier de qui, alors, de concevoir les ordinateurs, si ce n'est celui des ingénieurs en informatique ? ». Il m'avait répondu pudiquement « — Quelqu'un au dessus de moi… » en souriant.

    À ce stade, des gens au-dessus de lui, il en reste mais pas beaucoup.

    Tu passes ton permis, tu conduis une voiture. Est-ce que ça veut dire que quand tu passes le permis tu devrais savoir conduuire un semi 35 tonnes 18 essieux sur une route de montagne enneigée à 14% par temps de brouillard ????
    Non, et ce n'est pas l'objet non plus ici. Mais on t'apprend quand même comment fonctionne en gros un moteur à explosion et une boîte de vitesse, même si tu ne les dépannes pas toi-même. Manipuler des chiffres comme on le fait à l'école, c'est plutôt de cet ordre-là.

    Un infomaticien doit apprendre à ne pas utiliser le Charles de Gaulle pour faire décoller un CESSNA ou un ULM... Il doit donc strictement avoir la même base qu'un physicien, un chimiste, ou n'importe qui: le bon sens pour chosiir l'échelle et l'outil adapté...
    L'aviation, c'est typiquement le mauvais exemple aussi, puisqu'on n'y passe pas un permis de voler mais un authentique brevet de pilote, qui demande d'avoir des connaissances et une perception globale de la chose bien plus vaste que la simple exploitation de son appareil.

    Les formations de pilotes de ligne, elles, sont pour ainsi dire de vraies formations d'officier.

    Et puisque tu parles du Charles de Gaulle, les pilotes de chasse s'y posent mais le navire est exploité par des marins. Pas par des pilotes. Ce que tu nous dis en l'occurrence, c'est à peu près : « tout ce qui m'intéresse, c'est : est-ce que le Charles de Gaulle peut voler ? ».

    D'autre part, toute ta réflexion part du principe que soit tu utilises des logiciels de calcul, soit tu utilises des langages qui proposent des le départ des types suffisamment larges pour les besoins quotidiens des scientifiques. Mon premier ordinateur, lui, était un huit bit sous BASIC. Les types entiers étaient forcément des short, et les autres formats numériques étaient des nombres flottants en simple précision (32 bits) ou double précision (64 bits) comme aujourd'hui.

    Or, il n'y avait pas de FPU à l'époque et même les ordinateurs nativement 32 bits ont pris un certain temps avant de se démocratiser. Comment faisait-on alors pour effectuer les opérations en virgule flottante fondamentales sur 64 bits, si ce n'est en itérant sur les 7 octets de sa mantisse ? En plus, les multiplications pouvaient se faire à l'octet près, mais les divisions et les racines carrées, par exemple, se faisaient au niveau du bit.

    Tu ne me feras pas croire qu'en physique, tu n'utilises jamais la racine carrée, par exemple. Qui est chargé d'écrire la fonction sqrt() que tu utilises et à quel niveau d'étude ou à quel rang professionnel peut-on être chargé de l'implémenter dans une machine ?


    Le fond de notre désaccord c'est que tu penses que la précision informatique EST une précision réelle... C'est FAUX...
    Mais bien sûr que non. Où va tu chercher une chose pareille ? Tout le monde connaît les pièges inhérents aux calculs en virgule flottante.

    suivant qu'on utilise tel ou tel algo (cablé ou non) , tel ou tel processeur, on n'aura pas le même résultat...
    Ça, par contre, c'est fondamental : un résultat peut être non-significatif mais il sera toujours déterministe, sur une plateforme donnée. La manière dont le calcul va être mené jusqu'au dernier bit est normalisée, que ce bit ait du sens au final ou pas.

    La "granularité" de l'humain, d'une monnaie, d'une machine-outil, des données qui ENTRENT et SORTENT du soft LIMITENT la précision...
    Tu te répètes ! :-)

    Tout le monde ne fait pas de la mesure physique ni des mathématiques appliquées. Prend le problème à l'envers : si quelqu'un a l'envie de faire des calculs sur des chiffres très grands, alors l'ordinateur est l'outil idéal pour le faire et donc, c'est sur les forums comme les nôtres plus que partout ailleurs que tu trouveras les sujets qui en traitent.

    Pour expliquer, je reviens sur l'exemple d'aile d'avion que j'avais eu ailleurs dans un aure thread sur ce forum: […] Que donc tu utilises 18 décimales ou 500 ou 9 ne changera stirictement rien..
    Mais tout le monde a compris, bon sang. Tout le monde ici sait ce qu'est une précision numérique.

    C'est je crois, le fond : il y a une illusion persistente que "l'exactitude' des décimales de la machine réprésente une exactitude du nombre , et donc du résultat : non c'est une exactitude du chiffre, de manière ex-nihilo et purement ponctuelle... l'exactitude du nombre et du résultat ne dépend que très peu de l'exactitude du chiffre, si on est à la bonne échelle et qu'on atteint au minimum la précision limite...
    Tu nous l'a déjà dit avec l'exemple du G.P.S. : une distance au nanomètre, non seulement ne sert à rien, mais est forcément inexacte puisqu'elle est noyée dans le bruit de la mesure.

    Mais il faut vraiment sortir de ce référentiel, à la fin.

    Ouuufffffffff.....
    Comme tu dis… :-)

  16. #36
    Expert éminent sénior

    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    10 603
    Détails du profil
    Informations personnelles :
    Âge : 66
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 10 603
    Points : 17 913
    Points
    17 913
    Billets dans le blog
    2
    Par défaut
    Citation Envoyé par Obsidian Voir le message
    Tout le monde ne passe pas sa carrière à faire de la mesure physique, quand même !
    ...
    Il se trouve que ce n'est pas un cas inventé pour en débattre mais un post véritable et une vraie question de la part du demandeur. « À quoi ça sert » est hors sujet. La vraie question ici est « comment t'y prendrais-tu pour obtenir le résultat » ?

    Après, tu peux arguer qu'il ne s'agit que de cas marginaux qui ne justifient pas la mise en place de classes dédiées mais pourquoi s'en priver quand on en a besoin ?
    Que ce post ait une vaeur intrinsèque, soit (quoique , comme il l' adit lui-même, il est étudiant et c'est une question que l'on peut se poser justement en n'ayant pas totalement saisi les implications des précisions).

    Comme je le disait plus haut, c'est le nombre et la fréquence de ces posts, ainsi que l'usage de plus en plus répandu de GIMP ou équivalent, qui me font réagir..

    Indépendamment des mesures physiques, avoir une valeur numérique serrt à quoi ???? Justement si les mathématiciens ont lassés le symbole PI, c'est que la valeur est sans importance, c'est ce que ça représente qui a une importance...

    Je pense simplement qu'il y a beaucoup beaucoup trop de posts et de questions pour que ce soit anodin, et que cela réflète une lacune considérable de réflexion.

    Mais enfin, je n'ai plus que 10 ans de carrière, ce n'est pas moi qui aurait à maintenir des softs qui pour calculer une somme ridicule utilise un soft digne d'un batiment du Pentagone...

    Et, contrairement à ce que tu penses, cela n'est en rien lié ni à la précison des machines, ni aux mesures physiques.... C'est général, quel que soit l'usage . Sauf ce cas très particulier des équipes de maths ou de geeks qui concourrent pour une publi sur les N chiffres de telle valeur... et éventuellement la crypto.

    J'arrête là, mais on ne m'empêchera pas de réagir systématiquement lorsque de telles questions sont postées... Il est absolument insensé d'avoir une telle fréquence...
    "Un homme sage ne croit que la moitié de ce qu’il lit. Plus sage encore, il sait laquelle".

    Consultant indépendant.
    Architecture systèmes complexes. Programmation grosses applications critiques. Ergonomie.
    C, Fortran, XWindow/Motif, Java

    Je ne réponds pas aux MP techniques

  17. #37
    Modérateur
    Avatar de Obsidian
    Homme Profil pro
    Développeur en systèmes embarqués
    Inscrit en
    Septembre 2007
    Messages
    7 371
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Développeur en systèmes embarqués
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2007
    Messages : 7 371
    Points : 23 626
    Points
    23 626
    Par défaut
    Citation Envoyé par souviron34 Voir le message
    Comme je le disait plus haut, c'est le nombre et la fréquence de ces posts, ainsi que l'usage de plus en plus répandu de GIMP ou équivalent, qui me font réagir..
    Juste pour la postérité, on rappelle qu'il s'agit bien sûr de GMP (ou GNU MP : Multiprecision Library), et pas de GIMP. GIMP, c'est le logiciel de retouche et de manipulation d'image…

    Indépendamment des mesures physiques, avoir une valeur numérique serrt à quoi ???? Justement si les mathématiciens ont lassés le symbole PI, c'est que la valeur est sans importance, c'est ce que ça représente qui a une importance...
    Oui, mais pas seulement. Dans ce cas précis, c'est aussi parce que Pi est transcendant et qu'il ne peut, par nature, être écrit de façon exacte sous sa forme numérique. C'est pour les mêmes raisons qu'on a inventé, entre autre, le symbole sigma pour représenter une somme qui peut s'étendre ou non jusqu'à l'infini.

    Ça met aussi en lumière que les outils permettant de faire du calcul symbolique à partir des paramètres d'entrées sont peu nombreux quand on travaille avec des langages généralistes.

    Je pense simplement qu'il y a beaucoup beaucoup trop de posts et de questions pour que ce soit anodin, et que cela réflète une lacune considérable de réflexion.
    « Considérable » c'est exagéré, sauf à vouloir troller, mais c'est vrai sur le fond.

    Et, contrairement à ce que tu penses, cela n'est en rien lié ni à la précison des machines, ni aux mesures physiques.... C'est général, quel que soit l'usage . Sauf ce cas très particulier des équipes de maths ou de geeks qui concourrent pour une publi sur les N chiffres de telle valeur... et éventuellement la crypto.
    On n'a pas parlé de « précision des machines », mais du format de leur types natifs. On a cité entre autres le cas de la conversion binaire↔décimale pour saisie ou affichage à l'écran qui est typiquement un cas de manipulation de grands nombres puisque l'on traite une chaîne de caractères qui, eux, représentent en fait chacun un chiffre et sont traités l'un après l'autre. Et il y a plein de gens qui ne parviennent pas à le faire, même en leur demandant de faire preuve d'un poil de bon sens.

    Même si tu t'appuies sur des formats normalisés comme float ou double en 32 ou 64 bits censés être suffisamment larges pour tous (et ils le sont effectivement), il est de fait qu'il faudra bien quelqu'un pour concevoir les machines et les logiciels qui les manipulent. C'est le boulot de tout informaticien, de mon point de vue, de savoir le faire. Sinon c'est simplement l'utilisateur d'une boîte noire. C'est respectable aussi mais ce n'est plus le même métier.

  18. #38
    Expert éminent sénior

    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    10 603
    Détails du profil
    Informations personnelles :
    Âge : 66
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 10 603
    Points : 17 913
    Points
    17 913
    Billets dans le blog
    2
    Par défaut
    Citation Envoyé par Obsidian Voir le message
    il est de fait qu'il faudra bien quelqu'un pour concevoir les machines et les logiciels qui les manipulent. C'est le boulot de tout informaticien, de mon point de vue, de savoir le faire. Sinon c'est simplement l'utilisateur d'une boîte noire. C'est respectable aussi mais ce n'est plus le même métier.
    Euh........... Je pense bien que c'est là que les points de vue divergent radcalement....


    Dans la profession d'informaticiens (c'était déjà vrai avant, mais ça l'est encore plus depuis le Web) quel pourcentage va travailler sur créer une machine ???? 1 à 2% sans doute...

    Et même sur ceux qui font les compilos, quel est le pourcentage par rapport à l'ensemble des informaticiens ??? J'imagine sans doute à peu près la même chose...

    Entre ceux qui font faire des applis VBA/Excel, ceux qui vont administrer des bases de données, ceux qui vont administrer des systèmes, ceux qui vont faire des sites Web, ceux qui vont bosser sur des jeux ou des algos, ceux qui vont faire des IHM, et ceux qui vont faire du logiciel de "détail", de calcul, de pilotage de machine-outil, etc, tu as sans doute environ 90 à 95% des informaticiens...

    Pour tous ceux-là, c'est - et ce doit être - une boite noire...

    Regarde les offres d'emploi... Que ce soit en SSII ou directement dans une boite, combien d'offres vont permettre de travailler à créer un ordi, ou à faire un compilo ???

    C'est bien pour ça que je ne peux pas te suivre... Pour plus de 90% des gens du métier, ça ne sert strictement à rien... et ça ne fait que les embrouiller...

    Du coup, on a des questionnements comme ça, ou sur l'optimisation d'un while() ou d'un for()...

    Combien d'informaticiens aujourdhui savent ce qu'est un bus, à quoi ça sert, que c'est un goulot d'étranglement, qu'on peut en régler la vitesse, etc etc ????

    Alors a fortiori pouvor exprimer un nombre avec 250 chiffres soi-disant significatifs ....



    C'est, pour reprendre l'analogie de la voiture : combien de conducteurs savent ce qui se passe dans une chambre de combustion, dans une tête de Delco, comment marchent les vis platinées ??? A part les mécanos dont c'est le métier de réparer, uniquement ceux qui bricolent sur leurs voitures... Au regard des dizaines de millions de conducteurs, ça ne représente qu'une infîme partie...

    Là c'est la même chose : parce que cela a un intérêt pour quelques pourcents de la population du métier, tu justifies qu'on imprègne tous les autres avec des choses qui leur mélangent les idées, leur font voir l'arbre et non pas la forêt, et les noient en leur faisant omettre la notion d'odre de grandeur et de précision relative.. Alors qu'ils n'auront ni jamais le besoin de le savoir, ni pour la plupart l'envie... (comme la plupart des conducteurs s'en foutent royalement de savoir comment ça marche. Ils tournent la clé, et si ça marche pas ils amènent au garage).

    Au bas mot 90% des informaticiens n'utiliseront que des boites noires (et cette proportion augmente au fur et à mesure qu'on s'éloigne de l'époque où les ressources étaient si peu disponibles qu'il fallait tout "fine-tuner" en hardware : au fur et à mesure que l'on utilise les frameworks, le Web, les bibliothèques, ça sert à ça)... Et qu'en plus tu les traites de "pas du métier", c'est que tu as une vision pas mal restrictive du métier, ce me semble...

    C'est pour ça que je trouve ça aberrant... et que donc je ne peux pas être d'accord avec toi



    PS: même moi, qui suis de l'époque où on "fine-tunait" tout, à part faire des bouts de prog en assembleur (pour des questions de performance), je n'ai strictement jamais eu à connaître/utiliser ça : et pourtant j'ai travaillé sur tout un tas de domaines où des soi-disants "grands nombres" existaient : astrophysique, IRM, Transformées de Fourier 3D, machines-outils, traitement d'images, etc ...
    "Un homme sage ne croit que la moitié de ce qu’il lit. Plus sage encore, il sait laquelle".

    Consultant indépendant.
    Architecture systèmes complexes. Programmation grosses applications critiques. Ergonomie.
    C, Fortran, XWindow/Motif, Java

    Je ne réponds pas aux MP techniques

  19. #39
    Modérateur
    Avatar de Obsidian
    Homme Profil pro
    Développeur en systèmes embarqués
    Inscrit en
    Septembre 2007
    Messages
    7 371
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Développeur en systèmes embarqués
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2007
    Messages : 7 371
    Points : 23 626
    Points
    23 626
    Par défaut
    Citation Envoyé par souviron34 Voir le message
    Pour tous ceux-là, c'est - et ce doit être - une boite noire...
    Ah oui, là, pour le coup, on ne risque pas d'être d'accord. Que quelqu'un se moque de la manière dont ça fonctionne, c'est déjà regrettable, mais alors qu'on me dise que ça DOIT être une boîte noire, ça m'oblige à m'insurger. Personnellement, je licencierais à court ou long terme quelqu'un qui part d'emblée sur ce genre de principe.

    Ça avec le fait que je suis persuadé que, surtout après 30 ans de carrière, à aucun moment tu ne tolérerais un tel approximatisme dans les domaines sur lesquels tu travailles et que tu considères comme « importants ».

    Regarde les offres d'emploi... Que ce soit en SSII ou directement dans une boite, combien d'offres vont permettre de travailler à créer un ordi, ou à faire un compilo ???
    C'est justement une raison pour qu'à l'école, ce soit enseigné correctement. Est-ce que tu réussis à mettre en application au quotidien tout ce que tu as vu dans ton cursus ?

    C'est bien pour ça que je ne peux pas te suivre... Pour plus de 90% des gens du métier, ça ne sert strictement à rien... et ça ne fait que les embrouiller...
    C'est bien le problème : apparemment, tu considères toutes les disciplines qui ne sont pas les tiennes comme secondaires. Il faut que tu admettes qu'informaticien, c'est un métier. Et ce métier, c'est un métier de concepteur, pas d'interprète.

    Du coup, on a des questionnements comme ça, ou sur l'optimisation d'un while() ou d'un for()...
    Et c'est une bonne chose. Quand j'étais jeune, mon ordinateur fonctionnait trois mille fois moins vite qu'aujourd'hui. C'est à peu près la différence entre la vitesse d'une personne qui court à pied et celle d'une météorite. Qu'on n'y passe pas exagérément son temps, je veux bien. Mais aller faire exprès de s'empêcher de penser à optimiser une boucle, ça m'agace, oui.

    Donc aujourd'hui, alors que les ordinateurs sont absolument partout dans la vie courante (et je parle « d'ordinateur » partout où on trouve un micro-processeur, voire n'importe quelle circuiterie de calcul numérique), c'est justement le moment où il faudrait laisser l'informatique à une poignée d'initiés, faire confiance, et faire exprès d'ignorer son fonctionnement ?

    Combien d'informaticiens aujourdhui savent ce qu'est un bus, à quoi ça sert, que c'est un goulot d'étranglement, qu'on peut en régler la vitesse, etc etc ????
    Ah, ben, la plupart ! Je l'espère ! Surtout en ce qui concerne les « goulots d'étranglement » qui ne concernent pas que le hardware, loin de là… On apprend à faire des diagrammes de Gantt et des réseaux de PERT en gestion de projet et un programmeur ne devrait pas avoir à ordonnancer des tâches efficacement ?

    Alors a fortiori pouvor exprimer un nombre avec 250 chiffres soi-disant significatifs ....
    Toujours la même chose : que ce soit 2 ou 250 chiffres signficatifs, le boulot est le même dès lors que tu dépasses le format de ce que « l'ordinateur fait tout seul pour toi ».

    C'est, pour reprendre l'analogie de la voiture : combien de conducteurs savent ce qui se passe dans une chambre de combustion, dans une tête de Delco, comment marchent les vis platinées ???
    La plupart aussi, et heureusement ! Conduire une voiture, ce n'est pas la même chose que prendre le train. D'ailleurs, ces considérations techniques ont été renforcées lors de la réforme de l'examen du permis de conduire de la précédente législature.

    Et d'une manière générale, si toi tu le sais, les autres le savent aussi. Ce n'est pas à l'école que tu l'as appris…

    A part les mécanos dont c'est le métier de réparer, uniquement ceux qui bricolent sur leurs voitures...
    Justement : les développeurs sont les mécaniciens. Pas les conducteurs. Pas seulement, en tout cas.

    Au regard des dizaines de millions de conducteurs, ça ne représente qu'une infîme partie...
    Au vu du nombre de magasins automobiles qui fleurissent en ville comme en périphérie, c'est plus qu'une infime partie : c'est un vrai segment de marché.

    Là c'est la même chose : parce que cela a un intérêt pour quelques pourcents de la population du métier, tu justifies qu'on imprègne tous les autres avec des choses qui leur mélangent les idées,
    Non, mais ici nous sommes sur le club des développeurs et des professionnels de l'informatique.

    Manipuler les grands nombres est censé être trivial en soi. Alors certes, quand on utilise GMP, on ne les manipule pas soi-même mais le débat va bien au delà. Un grand nombre, sur un huit bits, ça commence à trois octets.

    Au bas mot 90% des informaticiens n'utiliseront que des boites noires (et cette proportion augmente au fur et à mesure qu'on s'éloigne de l'époque où les ressources étaient si peu disponibles qu'il fallait tout "fine-tuner" en hardware
    C'est bien le problème : je suis bien d'accord qu'il faille poser un horizon pour éviter de redémarrer systématiquement les études d'informatiques avec les cartes perforées mais là, ça tourne à l'excès. Par exemple, je vois une quantité impressionnante d'étudiants galérer avec le concept de pointeur en langage C, qu'ils abordent de façon entièrement abstraite et comme s'il s'agissait d'un objet mathématique extrêmement spécialisé, alors que c'est naturel à quiconque a fait un peu d'assembleur, voire même s'est contenté de toucher à PEEK et POKE en Basic.

    Et moi-même, j'ai beaucoup peiné en cours quand j'étais au lycée sur certains thèmes, qui me sont apparus évidents quand je les ai repris — dans l'ordre — à l'âge adulte, et sans le cérémonial imposé par l'école.

    N'oublie pas non plus que tu possèdes toi-même le savoir que tu dénies aux étudiants qui postent ici : c'est évidemment toujours plus facile de suivre la bonne voie quand on sait pourquoi.

    au fur et à mesure que l'on utilise les frameworks, le Web, les bibliothèques, ça sert à ça[/I])... Et qu'en plus tu les traites de "pas du métier", c'est que tu as une vision pas mal restrictive du métier, ce me semble...
    Ce n'est pas ce que je dit, au contraire : il s'agit d'une spécialisation, nécessaire au vu de l'envergure de la discipline aujourd'hui. Mais si un développeur web veut savoir comment ça marche, je verrais cela comme un signe extrêmement positif. À aucun moment, je ne vais le renvoyer dans ses cordes en lui disant « t'occupes, c'est pas ton métier. »

    PS: même moi, qui suis de l'époque où on "fine-tunait" tout, à part faire des bouts de prog en assembleur (pour des questions de performance), je n'ai strictement jamais eu à connaître/utiliser ça : et pourtant j'ai travaillé sur tout un tas de domaines où des soi-disants "grands nombres" existaient : astrophysique, IRM, Transformées de Fourier 3D, machines-outils, traitement d'images, etc ...
    … ce qui est dans tous les cas de la physique appliquée à part peut-être le traitement d'image.

    Personnellement, j'ai commencé suffisamment tôt pour être « aussi » de cette époque, surtout quand on faisait des démos censées tirer le meilleur d'une machine donnée.

    Alors les démos, c'est marginal. Les développements décimaux, c'est marginal. Les CRC c'est marginal. Les conversions de base, c'est marginal, et j'en passe. N'empêche que j'ai rencontré suffisamment de cas marginaux pour que, moi même, je finisse par écrire mes propres classes à chaque fois que j'avais besoin de vérifier ces cas spécifiques et c'est justement parce qu'on voit une quantité de gens beaucoup plus importante que prévue poser les mêmes questions et réinventer la roue à chaque fois qu'on a fini par leur sortir GMP qui, en principe, est censée être fiable.

    Travailler sur des formats plus larges que les types natifs, c'est comme travailler au niveau du bit sur les entiers standard. Du coup, je te repose les questions que je t'avais posées au dessus : à partir de quelle moment estimes-tu qu'une personne devrait savoir manipuler un flottant IEEE, implémenter une racine carrée, ou écrire la calculatrice de Windows ?

    Ça fait un moment que les ordinateurs sont plus que de simples « grosses calculatrices ».

  20. #40
    Expert éminent sénior

    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    10 603
    Détails du profil
    Informations personnelles :
    Âge : 66
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 10 603
    Points : 17 913
    Points
    17 913
    Billets dans le blog
    2
    Par défaut
    Citation Envoyé par Obsidian Voir le message
    La plupart aussi, et heureusement !


    Tu vis dans quel monde ????

    Demande à ta femme, ou à n'importe lequel de tes voisins ou collègues pris au hasard, à ta vendeuse préférée à ton épcierie favorite, à ton/ta boulanger(re), etc etc....




    On ne pourra pas être d'accord, puisque nous ne sommes pas d'accord sur la définiton de ce qu'est un infoirmaticien et de son métier...

    On va arrêter là...


    PS: les développeurs ne sont pas les mécaniciens.. CERTAINS en sont, d'autres sont les spécialistes des circuits électriques, d'autres des suspensions, etc etc... Mais bon, ça ne sert à rien...
    "Un homme sage ne croit que la moitié de ce qu’il lit. Plus sage encore, il sait laquelle".

    Consultant indépendant.
    Architecture systèmes complexes. Programmation grosses applications critiques. Ergonomie.
    C, Fortran, XWindow/Motif, Java

    Je ne réponds pas aux MP techniques

+ Répondre à la discussion
Cette discussion est résolue.
Page 2 sur 2 PremièrePremière 12

Discussions similaires

  1. Précisions sur les variables Source de données
    Par =JBO= dans le forum Contribuez
    Réponses: 1
    Dernier message: 28/04/2011, 16h15
  2. Timer haute précision
    Par chris069 dans le forum C++
    Réponses: 3
    Dernier message: 29/04/2009, 15h53
  3. [PHP-JS] Précision sur le passage de variables
    Par tintin72 dans le forum Langage
    Réponses: 1
    Dernier message: 31/05/2007, 08h55
  4. Précision sur .bashrc et variable PS1
    Par zyongh dans le forum Debian
    Réponses: 6
    Dernier message: 21/04/2007, 19h21
  5. [Source] Comment arrondir un nombre avec une précision variable
    Par OhMonBato dans le forum Vos contributions VB6
    Réponses: 2
    Dernier message: 31/03/2007, 12h44

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