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 :

un algo tout simple de randomisation (enfin, j'espere)


Sujet :

Algorithmes et structures de données

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    23
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2004
    Messages : 23
    Points : 7
    Points
    7
    Par défaut un algo tout simple de randomisation (enfin, j'espere)
    bonjours, voila, j'aimerais faire un algo de randomisation qui donne un nombre aleatoire sans qu'on lui donne rien en entrée

    ca fait bien 3 jours que je me creuse la tete et que je retourne le net sans succes ... quelqun a til une idée ?

  2. #2
    Inactif  
    Avatar de Mac LAK
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    3 893
    Détails du profil
    Informations personnelles :
    Âge : 49
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Octobre 2004
    Messages : 3 893
    Points : 4 846
    Points
    4 846
    Par défaut
    Petite correction : c'est un nombre pseudo-aléatoire...

    Question bête : que veux-tu dire par "sans rien lui donner en entrée" ? En général, une suite pseudo-aléatoire est calculée via une fonction très dispersée avec des tas de raffinements possibles comme des convergences, des divergences, etc... Bref, c'est déjà un problème à part entière, surtout mathématique d'ailleurs. Le problème, c'est qu'en général la suite de nombres générée est prévisible si l'on connaît la racine (le terme initial), et tu voudrais justement le fixer, c'est ça ? Ta fonction ne serait alors plus vraiment aléatoire, puisque prévisible...

    Ou alors, il y a un truc qui m'échappe dans ta question... Pourrais-tu détailler stp ? Avec le besoin initial éventuellement ?
    Mac LAK.
    ___________________________________________________
    Ne prenez pas la vie trop au sérieux, de toutes façons, vous n'en sortirez pas vivant.

    Sources et composants Delphi sur mon site, L'antre du Lak.
    Pas de question technique par MP : posez-la dans un nouveau sujet, sur le forum adéquat.

    Rejoignez-nous sur : Serveur de fichiers [NAS] Le Tableau de bord projets Le groupe de travail ICMO

  3. #3
    Futur Membre du Club
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    23
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2004
    Messages : 23
    Points : 7
    Points
    7
    Par défaut
    merci et escuze moi

    donc de je disais , je recherche a faire une fonction de generation de nombtre aléatoire, sans terme initial, sans rien du tout , l'algorithme doit etre tel qu'il ne necessite aucun argument et qu'il genere un nombre sans le moindre apport externe (il ne doit PAS se baser sur l'heure ,NI sur un nombre du dd mais rien du tout)

    et la j'ai aucune idée , je trouve pas comment faire jaillir un terme du néant
    merci pour toutes les reponses

  4. #4
    Membre habitué

    Profil pro
    Inscrit en
    Avril 2002
    Messages
    99
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2002
    Messages : 99
    Points : 126
    Points
    126
    Par défaut
    Ca semble impossible car il te faut au moins un élément aléatoire pour initier la suite. (a moins d'utiliser rand() )
    A+---------------> Nat <-------------------

  5. #5
    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
    En théorie de l'information, comme en thermodynamique :
    rien ne se perd, rien ne se crée
    Ton nombre pseudo-aléatoire sera toujours le résultat d'une fonction, qui elle même aura reçu des informations en entrée.
    Dans les cas les plus simples, ces informations sont des variables non initialisées, qui vaudront zero, ou le contenu antérieur de la mémoire, etc.
    Et sinon, classiquement, on utilise des éléments de mesure temporelle.

    Et même comme ça, les nombres sont dits pseudo-aléatoires, car les mêmes conditions (valeurs) d'entrées vont créer les mêmes valeurs de sortie.

    Le hasard est très difficile à créer, et d'autant plus ex-nihilo.
    La FAQ Perl est par ici
    : La fonction "Rechercher", on aurait dû la nommer "Retrouver" - essayez et vous verrez pourquoi !

  6. #6
    Inactif   Avatar de Médiat
    Inscrit en
    Décembre 2003
    Messages
    1 946
    Détails du profil
    Informations forums :
    Inscription : Décembre 2003
    Messages : 1 946
    Points : 2 227
    Points
    2 227
    Par défaut
    Citation Envoyé par 2Eurocents
    Et même comme ça, les nombres sont dits pseudo-aléatoires, car les mêmes conditions (valeurs) d'entrées vont créer les mêmes valeurs de sortie.
    Et c'est bien agréable et nécessaire quand tu veux debuguer !
    J'affirme péremptoirement que toute affirmation péremptoire est fausse
    5ième élément : barde-prince des figures de style, duc de la synecdoque
    Je ne réponds jamais aux questions techniques par MP

  7. #7
    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
    Je partage l'avis de mes valeureux confrères: un ordinateur est déterministe, il te faut bien au moins te baser sur l'heure par exemple pour initialiser ta suite de pseudo-aléatoires!

    Penser le contraire, c'est ne pas avoir compris le fonctionnement de base d'une bécane
    Nemerle, mathématicopilier de bars, membre du triumvirat du CSTM, 3/4 centre

  8. #8
    Futur Membre du Club
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    23
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2004
    Messages : 23
    Points : 7
    Points
    7
    Par défaut
    arg j'en etais sur merci pour vos reponses
    donc je vais reformuler ce topic
    comment faire un algo de generation de nombre pseudo aleatoire qui ne donne jamais 2 fois la meme suite de nombre ? (tout du moins sur 500 appels)

    est surtout qui soit ultra rapide

    parce que en fait avec le rand fourni dans le C, on retrouve tres tres souvent les memes suites de valeur
    et c nul !
    merci infiniment pour toutes vos reponses

  9. #9
    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
    fait un randomize time...

    Ou choppe sur le net un algo de type Mersenne Twister: ton cycle est de l'ordre de 2^19000...
    Nemerle, mathématicopilier de bars, membre du triumvirat du CSTM, 3/4 centre

  10. #10
    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
    Ce n'est pas parce que tu retrouves la même suite de nombre que ce n'est pas pseudo-aléatoire ! "Retrouver la même suite de nombre" a une probabilité calculable ...

    Maintenant, rand est une fonction cyclique, donc ça finit par reboucler (tout a déja été expliqué ICI), donc il faut trouver d'autres implémentations, effectivement, si le cycle est trop court pour toi
    La FAQ Perl est par ici
    : La fonction "Rechercher", on aurait dû la nommer "Retrouver" - essayez et vous verrez pourquoi !

  11. #11
    Futur Membre du Club
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    23
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2004
    Messages : 23
    Points : 7
    Points
    7
    Par défaut
    merci infiniment a tous, j'ai trouvé mon bonheur grace a vous
    merci merci merci

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Petit truc tout simple que je comprend pas
    Par Olaf MENJI dans le forum Général JavaScript
    Réponses: 6
    Dernier message: 29/11/2005, 16h56
  2. [RegEx] Aide sur une expression régulière toute simple
    Par tchoumak dans le forum Langage
    Réponses: 3
    Dernier message: 29/11/2005, 15h46
  3. creation d'une procedure ou fonction toute simple?
    Par atlas2003 dans le forum SQL Procédural
    Réponses: 2
    Dernier message: 16/11/2005, 14h56
  4. [debutant] Frame tout simple ?
    Par Invité dans le forum JBuilder
    Réponses: 1
    Dernier message: 05/07/2005, 16h00
  5. [langage] Problème tout simple
    Par marouanitos dans le forum Langage
    Réponses: 5
    Dernier message: 24/09/2003, 11h25

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