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

Langage PHP Discussion :

Influencer un nombre aléatoire (le retour)


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé Avatar de memento80
    Homme Profil pro
    Boulot : ne rentre pas dans une case
    Inscrit en
    Novembre 2004
    Messages
    163
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Boulot : ne rentre pas dans une case
    Secteur : Industrie

    Informations forums :
    Inscription : Novembre 2004
    Messages : 163
    Par défaut Influencer un nombre aléatoire (le retour)
    Bonjour à tous,

    Je poste ici un sujet que j'ai déjà posté et pour lequel j'ai eu une réponse satisfaisante...... mais c'était dans le cadre d'un autre langage : Python.

    Donc voici mot pour mot ce que j'avais posté :
    Bonjour à tous,

    Je débute en Python... Jusqu'ici j'ai réussi à me débrouiller mais là, je bute sur un petit problème.
    Mon soucis serait peut-être plus proche d'un problème de math que du Python mais bon... peut-être que Python a une solution miracle.

    Voilà, j'essaye juste de générer des nombres aléatoires entre 0 et 100... mais je voudrais qu'il y ait plus de probabilité qu'il soit proche de 100 que de 0.

    Si quelqu'un peut calmer ma migraine, je lui en serais reconnaissant.

    A+
    Memento
    Discussion complète ici :
    http://www.developpez.net/forums/d11...bre-aleatoire/

    Et la réponse que j'avais retenu et qui me convenait était d'utiliser la fonction random.betavariate(alpha, beta).

    Très bien. Python avait effectivement une solution miracle. Mais maintenant, j'ai un peu la même problématique en PHP. Existe-t-il une fonction équivalente ? Ou sinon auriez vous une autre solution miracle ?

    A préciser peut-être : on m'a souligné qu'il valait mieux parler de "Loi/Distribution/Repartition non uniforme" (si je ne me trompe, c'est la distribution Beta que j'avais retenu).

    Enfin... je suis loin d'être un matheux.

    Merci pour votre aide.
    A+

  2. #2
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2007
    Messages
    162
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 162
    Par défaut
    Salut !
    Pas vraiment de réponse à apporter mais le sujet m'intéresse fortement pour un projet que je vais bientôt commencer... Je m'associe donc à ta recherche.

    Sauf erreur, il n'existe pas de fonction PHP dédiée à cet usage. Mais comme tu le disais, je pense que le problème peut être résolu mathématiquement... Mais je ne suis pas très fortiche en math... Je vais essayer de réfléchir à ça quand même...

    Si tu trouves quelque chose entre temps, tiens moi au courant !

  3. #3
    Modératrice
    Avatar de Celira
    Femme Profil pro
    Développeuse PHP/Java
    Inscrit en
    Avril 2007
    Messages
    8 633
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Développeuse PHP/Java
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2007
    Messages : 8 633
    Par défaut
    A priori, il existe quelque de chose de semblable : stats_rand_gen_beta
    Bon évidemment, ce n'est pas une fonction native de php : il faut installer l'extension PECL de statistiques
    (et là s'arrête ma science, les statistiques faisant partie de ces choses que j'ai oublié dans les 3 minutes après la fin du partiel correspondant )
    Modératrice PHP
    Aucun navigateur ne propose d'extension boule-de-cristal : postez votre code et vos messages d'erreurs. (Rappel : "ça ne marche pas" n'est pas un message d'erreur)
    Cherchez un peu avant poser votre question : Cours et Tutoriels PHP - FAQ PHP - PDO une soupe et au lit !.

    Affichez votre code en couleurs : [CODE=php][/CODE] (bouton # de l'éditeur) et [C=php][/C]

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2007
    Messages
    162
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 162
    Par défaut
    Ouaip, c'est une bonne piste tout de même.
    Je manque de temps pour creuser ça maintenant mais si j'arrive à me dégager 5 minutes, je repasse par là en dire plus.

  5. #5
    Membre éclairé Avatar de Pymento
    Homme Profil pro
    Ingé. Info.
    Inscrit en
    Janvier 2008
    Messages
    366
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingé. Info.

    Informations forums :
    Inscription : Janvier 2008
    Messages : 366
    Par défaut
    Salut,
    je n'ai pas cherché mais si jamais tu ne trouve pas de lib pour faire ça, tu pourrais faire un algo bien sale du genre :


    Un nombre aléatoire entre 0 & 100

    puis un nombre aléatoire entre 30 & 60

    tu génère ton premier nombre et si avec l'ajout du second généré tu ne dépasse pas cent tu l'ajoute. Tu peux faire le test N fois .

    Et donc tu auras plus de chance de tomber sur un nombre vers 100 !

  6. #6
    Membre confirmé Avatar de memento80
    Homme Profil pro
    Boulot : ne rentre pas dans une case
    Inscrit en
    Novembre 2004
    Messages
    163
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Boulot : ne rentre pas dans une case
    Secteur : Industrie

    Informations forums :
    Inscription : Novembre 2004
    Messages : 163
    Par défaut
    Oui, c'est la première réaction que j'ai eu : "c'est une très bonne piste !".
    Merci Celira.

    Après, quand j'ai vu qu'il fallait installer un truc (extension PECL, hein ? kesaco ?) et en jetant un oeil (vite-fait car j'ai pas trop le temps au boulot) sur comment ça s'installait, l'enthousiasme est vite retombé. J'ai l'impression que c'est une belle nébuleuse ça aussi pour un débutant comme moi, non ?

    Si vous avez quelques pistes ou manu_71 si tu avances plus vite que moi, ça m'intéresse...

    Sinon, j'essaierai de creuser cette piste ce soir ou demain soir si je peux, et vous tiendrai au courant.

  7. #7
    Membre éclairé Avatar de Pymento
    Homme Profil pro
    Ingé. Info.
    Inscrit en
    Janvier 2008
    Messages
    366
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingé. Info.

    Informations forums :
    Inscription : Janvier 2008
    Messages : 366
    Par défaut
    Ha ok, je parle dans le vide donc ^^

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

Discussions similaires

  1. Influencer un nombre aléatoire
    Par memento80 dans le forum Général Python
    Réponses: 17
    Dernier message: 07/10/2011, 23h56
  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