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 :

Générateur de nombres pseudo-aléatoires de Stoll-Kirckpatrick


Sujet :

Algorithmes et structures de données

  1. #1
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2015
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : Suisse

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2015
    Messages : 3
    Points : 2
    Points
    2
    Par défaut Générateur de nombres pseudo-aléatoires de Stoll-Kirckpatrick
    Bonjour,

    je dois implémenter le générateur Stoll-Kirckpatrick selon la formule :

    Nom : stoll.PNG
Affichages : 143
Taille : 10,2 Ko

    J ai dejà une une liste de 250 "bons" nombres aléatoires sur la quelle je vais me baser pour en générer 300000 a partir de la formule ci dessus et de ma liste de 250 nombres.

    mais visiblement je ne la comprend pas puisque'il me semble qu on obtient des indices négatifs par exemple le premier est X_1-249 ce qui donnerait X_-248 ce qui est biensur absurde...

    J ai l impression que la formule indique qu il faut prendre le nombre d indice i-249 dans la liste xor le nombre indice i-102 ... ce qui ferait donc qu on prendrait le nombre à l indice -248 ... indice négatif qui evidemment n as aucun sens ... j imagine donc qu il y a quelque chose d évident qui m échappe!

    pourriez vous m expliquer comment utiliser correctement cette formule ?

    merci d avance.

  2. #2
    Rédacteur/Modérateur

    Avatar de yahiko
    Homme Profil pro
    Développeur
    Inscrit en
    Juillet 2013
    Messages
    1 423
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur

    Informations forums :
    Inscription : Juillet 2013
    Messages : 1 423
    Points : 8 700
    Points
    8 700
    Billets dans le blog
    43
    Par défaut
    Visiblement si i est supérieur à 249, ça marche.
    Tutoriels et FAQ TypeScript

  3. #3
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2015
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : Suisse

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2015
    Messages : 3
    Points : 2
    Points
    2
    Par défaut
    oui mais ca n as pas de sens car ca ne pourrait aller que jusqu'à i = 499 ... au dela cela donnera un indice >250 et mon tableau de nombres source est de 250 nombres ...
    c est donc absude... vu que je dois générer 300000 nb a partir de cette formule (qui a priori doit pourvoir generer un nombre arbitraire de nombres)

  4. #4
    Rédacteur/Modérateur

    Avatar de yahiko
    Homme Profil pro
    Développeur
    Inscrit en
    Juillet 2013
    Messages
    1 423
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur

    Informations forums :
    Inscription : Juillet 2013
    Messages : 1 423
    Points : 8 700
    Points
    8 700
    Billets dans le blog
    43
    Par défaut
    Une fois que tu as "épuisé" tes nombres prédéfinis, tu devras utiliser les nombres que tu as générés.
    X0 = nombre prédéfinis
    ...
    X249 = nombre prédéfinis
    X250 = X1 xor X148 (nombre généré)
    X251 = X2 xor X149 (nombre généré)
    ...
    X499 = X250 xor X397 (nombre généré)
    X500 = X251 xor X398 (nombre généré)
    ...
    Tutoriels et FAQ TypeScript

  5. #5
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2015
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : Suisse

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2015
    Messages : 3
    Points : 2
    Points
    2
    Par défaut
    merci pour la réponse.

    toujours un peu tordu ces trucs récursifs.

  6. #6
    Expert éminent sénior Avatar de Flodelarab
    Homme Profil pro
    Inscrit en
    Septembre 2005
    Messages
    5 243
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Charente (Poitou Charente)

    Informations forums :
    Inscription : Septembre 2005
    Messages : 5 243
    Points : 13 459
    Points
    13 459
    Par défaut
    Bonjour,

    une récurrence, quelle qu'elle soit, nécessite toujours un premier élément.

    Si la récurrence qui regarde dans le passé te gêne (Xi+1=Xi-249 xor Xi-102), utilise une récurrence qui regarde vers l'avenir:
    Xi+103=Xi-147 xor Xi

    Cela dit, il n'est pas malin que, ni le point de départ, ni le point d'arrivée utilisent l'indice i:
    Xi=Xi-250 xor Xi-103
    Cette réponse vous apporte quelque chose ? Cliquez sur en bas à droite du message.

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

Discussions similaires

  1. Deux générateurs de nombres pseudo-aléatoires
    Par Davidlouiz dans le forum C++
    Réponses: 4
    Dernier message: 04/07/2011, 19h41
  2. Réponses: 3
    Dernier message: 20/04/2011, 13h52
  3. générateur de nombre (pseudo)-aléatoire
    Par mangeclous dans le forum Mathématiques
    Réponses: 0
    Dernier message: 28/08/2009, 05h18
  4. générateur de nombres pseudo-aléatoire
    Par salseropom dans le forum C
    Réponses: 3
    Dernier message: 22/08/2006, 13h21
  5. Générateur de nombres pseudo-aléatoires
    Par gege2061 dans le forum Algorithmes et structures de données
    Réponses: 10
    Dernier message: 25/08/2005, 13h38

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