Salut !
Dans le cadre du développement d'un synthétiseur sonore libre, je suis confronté à un petit problème de proba, que je pensais simple en me le posant (et il l'est sûrement), mais je me rends compte que mes cours de lycée sont bien loin et je n'arrive pas à l'aborder…
Un p'tit coup de pouce serait bienvenu, merci d'avance :)
j'ai deux sources de signal A et B. Je veux en sélectionner une au hasard, avec une pondération par un float p qui peut varier entre 0 et 1 (choisi par l'utilisateur).
si p == 0, alors A est sélectionnée dans 100% des cas,
si p == 1, alors B est sélectionnée dans 100% des cas,
si p == 0.5, alors 50% de chance pour chaque source d'être sélectionnée
etc. vous avez compris le truc.
Si je détermine au hasard un entier h, compris entre 0 et RAND_MAX, quelle relation dois-je créer entre p et h pour obtenir en sortie soit 0 soit 1, pour déterminer ma source ?
# C'est bien simple
Posté par Julien.D . Évalué à 7.
Bonjour,
Soit j'ai pas compris, soit c'est tout simplement (python) :
[^] # Re: C'est bien simple
Posté par WrathOfThePixel . Évalué à 3.
Oui, je cherchais à me compliquer inutilement la vie…
Merci !
[^] # Re: C'est bien simple
Posté par Toto . Évalué à 4.
Attention aux bornes:
si p = 1 et randint = 0, alors tu obtiens:;
int(0 > 0) = int(False) = 0 => 'A'
mais si tu mets un >= alors tu auras le pb dans le cas ou p = 0 et randint = 1:
int(1 >= 1) = int(True) => 'B'
Pour éviter ça, je serais plutôt sur une approche d'exclusion des cas p=0 et p=1:
Suivre le flux des commentaires
Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.