• [^] # Re: je ne comprends pas

    Posté par . En réponse à la dépêche Fork d'OpenBSD. Évalué à 2.

    Que ça soit imprévisible/chaotique à cause d'arrondis ou autres, ok, mais les machines déterministes et identiques devraient obtenir des résultats identiques. Ou alors il me manque une information...

    Pardon je n'ais pas été assez clair. Si on prend deux machines identiques d'un point de vue constructeur, elle ne le sont pas d'un point de vue sillicium. Tous les processeur et toutes les mémoires sont testées dans certains intervalles, mais il ne sont pas fiables à 100%.
    La meilleure facon de s'en rendre compte est de prendre un vieux compilateur x86 (génération 386) et de lui demander de convertir le nombre 1 entier en flotant. Sur certaines machines ca donnera 1.000....01 et sur d'autres 0.99999999. Jusque là c'est une simple erreur d'arrondi pas de quoi se réjouir.
    Si parcontre on rend un calcul relativement complexe et qu'on itére 20 000 fois
    type x = racine cubique de x fois pi au carré.
    à la première itération on aura une simple erreur d'arrondi, à la deuxième l'erreur aura augmenté d'elle même. A la 20 000 itération l'erreur sera égale à elle même à la puissance 20 000. Ca peut ne pas être suffisant pour sortir des valeurs standards, mais au bout de plusieurs milliards d'itérations l'erreur d'arrondi cumulé aura plus de poid que le résultat du calcul.

    Il y avait une expérience chez SUN avec un modèle asez "simple" de calcul gravitationel à trois particules. Trois planète sont lachées dans l'espace assez proche les unes des autres pour que la gravité entre elle soit forte, et on calcule seconde après seconde leur trajectoires.
    Une batterrie de stations SUN aussi semblables que possible avait lancé au même moment les calculs. Deux heures après des différences notables apparaissaient dans les trajectoires, quatres heures après les trajectoires étaient complètement dissemblables.

    Le plus beau c'est que lorsque que l'on relancait le même calcul depuis une machine elle finissait toujours par obtenir des résultats différents.

    Il y a trois point dans les séries de calculs :
    1°) jusqu'à x itération une machine va donner les même résultats que ses homologues
    2°) jusqu'à y itération une machine va rester consistante avec ses propres résultats mais va s'éloigner des résultats des autres machines similaires.
    3°) a partir de y+1 itération la machine va commencer à rendre des résultats différents de ce qu'elle avait obtenu lors des essais précédents.

    C'est un des outils avec lesquels on peut faire des nombres imprévisibles.(Lent mais simple)

    En espérant avoir été plus clair cette fois.

    Kha
    ----
    -1 parceque hors sujet et chiant à lire.