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 :

Nombre aléatoire ?


Sujet :

Algorithmes et structures de données

  1. #1
    Candidat au Club
    Inscrit en
    Septembre 2005
    Messages
    4
    Détails du profil
    Informations forums :
    Inscription : Septembre 2005
    Messages : 4
    Points : 4
    Points
    4
    Par défaut Nombre aléatoire ?
    Quel sont les principes pour générer un nombre aléatoire ? On se trouve en présence du paradoxe : formuler une loi "positive" pour rendre compte d'une absence de loi.

  2. #2
    Membre confirmé
    Profil pro
    Enseignant
    Inscrit en
    Avril 2004
    Messages
    440
    Détails du profil
    Informations personnelles :
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Avril 2004
    Messages : 440
    Points : 451
    Points
    451
    Par défaut
    Salut,

    Pour la seconde partie de ta question, je comprends pas bien le truc...
    Mais pour la 1ère question, générer un nombre aléatoire, c'est en toute rigueur impossible en informatique : on génère en fait des nombres pseudo-aléatoires, en se basant par exemple sur l'horloge du processeur (le nombre tiré 'au hasard' est lié au moment où on le demande), sur des algorithmes ou autres... Mais ça n'est pas du vrai hasard !

    C'est quoi une loi positive ? Une loi qui génère toujours des nombres positifs ???

    A+
    "Cultiver les sciences et ne pas aimer les hommes, c'est allumer un flambeau et fermer les yeux." Proverbe chinois

  3. #3
    Candidat au Club
    Inscrit en
    Septembre 2005
    Messages
    4
    Détails du profil
    Informations forums :
    Inscription : Septembre 2005
    Messages : 4
    Points : 4
    Points
    4
    Par défaut
    Je voulais dire positif au sens de "qui établit un principe bien établi, qui exclut l'incertitude" (site du TLF). Le mot est un peu philosopheux mais tu as très bien expliqué qu'on ne pouvait que générer des nombres pseudo-aléatoires.

    En fait il faut surtout que la loi de génération des nombres et celle du calcul ne se rapprochent pas, sinon on va créer des cas particuliers. C'est peu probable mais on peut y arriver si des tas d'usagers utilisent des classes dérivées par ex.

  4. #4
    Membre habitué Avatar de Mandalar
    Profil pro
    Étudiant
    Inscrit en
    Mai 2004
    Messages
    121
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2004
    Messages : 121
    Points : 128
    Points
    128
    Par défaut
    Si j'ai bien compris, on génère une suite de nombres pseudo-aléatoires a partir d'une donnée supposée aléatoire (temps de l'horloge, temps d'éxecution d'une fonction, etc), puis on pour tirer un élément, on se sert de chaque élément pour calculer le suivant (j'ai pas l'impression d'etre tres clair...)

    voici un exemple:

    Je veux générer une suite de 50 nombres "aléatoires":
    je note n le nombre supposé aléatoire trouvé (exemple l'heure courante),
    puis, pour calculer le nombre aléatoire suivant je procède ainsi :

    a = 9821 * n
    NombreAleatoire = (a + 0.211327) - E(a + 0.211327)

    (fonction E: partie entiere du réel)

    Ensuite je recommence pour les 50 éléments de la suite en prenant pour valeur de n le nombre trouvé précemment

  5. #5
    Rédacteur

    Avatar de Matthieu Brucher
    Profil pro
    Développeur HPC
    Inscrit en
    Juillet 2005
    Messages
    9 810
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Développeur HPC
    Secteur : Industrie

    Informations forums :
    Inscription : Juillet 2005
    Messages : 9 810
    Points : 20 970
    Points
    20 970
    Par défaut
    Il y a un sujet qui en traitait récemment ici, on parliat du générateur Mersenne Twister qui a une période de 2^19000 et quelques. Avec ça, tu as une variable aléaoire avec de bonnes propriétés spectrales pour beaucoup d'applications.

  6. #6
    Membre régulier Avatar de kaisse
    Profil pro
    Inscrit en
    Novembre 2003
    Messages
    100
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2003
    Messages : 100
    Points : 117
    Points
    117
    Par défaut
    Je voulais dire positif au sens de "qui établit un principe bien établi, qui exclut l'incertitude" (site du TLF).
    Dans ce cas, on dit déterministe.
    Le mot est un peu philosopheux mais tu as très bien expliqué qu'on ne pouvait que générer des nombres pseudo-aléatoires.
    Soyons pompeux. Ca dépend de ce que tu appelles aléatoire. On s'accorde en général à dire qu'un événement aléatoire est un événement non-prédictible. Ramenons notre générateur de "nombres" à un générateur de bits(ce qui est plus juste mais moins pratique). Il génère une suite de bits aléatoires, si, connaissant, les n premiers bits, on ne peut pas prédire avec une probabilité > 1/2 ce que sera le n+1 ème bit. Le problème d'un comportement déterministe est qu'il va forcément boucler (pour raison de finitude du nombre de configurations possibles). Donc si tu te contentes de très peu de nombres, il peut sembler se comporter comme un générateur vraiment aléatoire, mais il arrivera toujours un moment ou on pourra prédire le prochain bit avec une probabilité > 1/2.

  7. #7
    Rédacteur

    Avatar de Matthieu Brucher
    Profil pro
    Développeur HPC
    Inscrit en
    Juillet 2005
    Messages
    9 810
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Développeur HPC
    Secteur : Industrie

    Informations forums :
    Inscription : Juillet 2005
    Messages : 9 810
    Points : 20 970
    Points
    20 970
    Par défaut
    Arf, j'ai des amis qui ont faits un véritable générateur de nombre aléatoire. OK, c'était un générateur physique à partir du bruit d'une diode zéner

  8. #8
    Membre éprouvé Avatar de Nemerle
    Inscrit en
    Octobre 2003
    Messages
    1 106
    Détails du profil
    Informations personnelles :
    Âge : 53

    Informations forums :
    Inscription : Octobre 2003
    Messages : 1 106
    Points : 1 213
    Points
    1 213
    Par défaut
    et de même certains générateurs aléatoires proviennent de considération physiques (quantiques), à partir de photons. Mais de là à se que cela soit intégré à la prochaine mouture de Windows
    Nemerle, mathématicopilier de bars, membre du triumvirat du CSTM, 3/4 centre

  9. #9
    Membre éprouvé
    Avatar de Celelibi
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    1 087
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 1 087
    Points : 1 122
    Points
    1 122
    Par défaut
    Il est possible tout simplement de mesurer l'entropie de la tension délivré par l'alimentation.
    Certe ce hasard serait plus facilement contrôlable que la mesure de la désintégrations de particules radioactives, mais ça doit donner des bons résultats.
    Les vaches ne peuvent PAS voler, quoi qu'elles aient pu vous raconter.

  10. #10
    Membre éprouvé Avatar de Nemerle
    Inscrit en
    Octobre 2003
    Messages
    1 106
    Détails du profil
    Informations personnelles :
    Âge : 53

    Informations forums :
    Inscription : Octobre 2003
    Messages : 1 106
    Points : 1 213
    Points
    1 213
    Par défaut
    se baser sur l'entropie de la tension restera "pseudo-aléatoire", désolé.
    Nemerle, mathématicopilier de bars, membre du triumvirat du CSTM, 3/4 centre

  11. #11
    Membre averti Avatar de Rafy
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    415
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 415
    Points : 417
    Points
    417
    Par défaut
    Vous pouvez vous pencher sur les "mutex" si vous voulez rire.
    Ce sont des nombres, ou plutot des combinaisons de bits qui détermine l'identité d'une application de manière unique....
    Cela sert à identifier les applications entre elles. Le mutex est généré par le programmeur (avec un générateur de mutex). Sans aucun contact avec les autres programmeurs de la terre, mais la probabilité pour que deux mutex soient identiques pour deux application est tellement faible qu'elle en est plus que négligeable.

    Cette génération s'effectue grâce à l'heure de création, et à d'autres paramètres que j'ai oubliés....
    Donc par conséquent pour qu'il y est 2 mutex identiques, il faut qu'au même instant, les deux programmeurs génèrent, avec les mêmes paramètres...... Ce qui est malheureusement impossible.

    Je crois même que la définition d'un mutex c'est suite de bits UNIQUE...
    Bien sur si on génère le mutex avec le générateur de mutex.... !!!
    Mais bon faut pas être débile... Si je recopie le mutex de mon pot c'est normal que ce soit le même....
    Première grosse démo en construction :
    http://bitbucket.org/rafy/exo2/

  12. #12
    Rédacteur

    Avatar de Matthieu Brucher
    Profil pro
    Développeur HPC
    Inscrit en
    Juillet 2005
    Messages
    9 810
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Développeur HPC
    Secteur : Industrie

    Informations forums :
    Inscription : Juillet 2005
    Messages : 9 810
    Points : 20 970
    Points
    20 970
    Par défaut
    Mais c'est basé sur un calcul, tandis que le bruit d'un élément physique n'est relié à rien d'autre que lui-même

  13. #13
    Membre expert
    Avatar de 2Eurocents
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    2 177
    Détails du profil
    Informations personnelles :
    Âge : 54
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 2 177
    Points : 3 166
    Points
    3 166
    Par défaut
    Les mutex n'ont rien d'aléatoire !

    Une suite aléatoire peut fort bien présenter la même valeur plusieurs fois (simplement, cela ne pourra pas être prédit) ... alors que cela a l'air bien plus délicat (voire improbable) pour un générateur de mutex.
    La FAQ Perl est par ici
    : La fonction "Rechercher", on aurait dû la nommer "Retrouver" - essayez et vous verrez pourquoi !

Discussions similaires

  1. p'tite question de cryptage ( nombre aléatoire )
    Par smyley dans le forum Algorithmes et structures de données
    Réponses: 53
    Dernier message: 08/11/2004, 10h07
  2. Nombres aléatoires
    Par Mat 74 dans le forum Assembleur
    Réponses: 20
    Dernier message: 29/08/2004, 13h31
  3. recherche algo de génération de nombre aléatoire
    Par Pascale38 dans le forum MFC
    Réponses: 2
    Dernier message: 26/01/2004, 14h20
  4. Nombre aléatoire en SQL
    Par sqlnet dans le forum Langage SQL
    Réponses: 8
    Dernier message: 19/08/2003, 12h38
  5. Générer un nombre aléatoire entre 0 et 1 (INCLUS !!!)
    Par haypo dans le forum Algorithmes et structures de données
    Réponses: 3
    Dernier message: 22/08/2002, 16h30

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