Random avec probabilité
Posted: 09 Mar 2018, 00:39
Bonjour à nouveau ! J'ai trouver l'outil me permettant de supprimer les crochets du nombre généré par randbin grâce à product()... le nouveau problème, (c'est comme une onde... chaque problème résolu engendre un autre tel le niveau de l'eau s'egalisant.) c'est que mon product() et randbin() n'aiment pas les fractions... qui font des nombre à virgule. Et je n'arrive pas à éliminer mes fractions à cause du fait que je fais la moyenne de a et b dans mon Randbin() de cette façon :
a:=100
b:=0
ApproxRational((Randbin(a,0.5,1)+b/2+0.25),1)->y (Vous noterez que +0.25 est une tentative désespérée pour enpecher b/2 de faire des 0.5...)
y->l13
approxRational(product(l13,1,1),1)->y
Et boum ! Ma liste avec ses crochets n'en a plus !
Mais avec tout ça, j'ai à un endroit fais :
Si p>a alors
à+j+5->a
FinSi
Si p<b alors
b-j-5->b
FinSi
Si y<p alors
y->b
FinSi
Si y>p alors
y->a
FinSi
"J" étant ma variable de fluctuation de p, lui-même étant le nombre à trouver.
Il n'y a pas tout le programme, bien sûr mais j'en ai fais de nouvelles version et ce soir le 9 mars, je mets normalement un nouvelle version vers minuit. Avec bien sûr le bug.
Je n'ai pas besoin de beaucoup de conseil, mais juste savoir comment faire un random binomial de b à a avec probabilité à la moitié qui ne fait pas de nombre à virgule à terme.
À l'aide ! ?
-----
....Ancien.... c'est le sujet du début mais il est réglé. Il reste intéressant.
-----
"Bonjour, j'ai légèrement avancé dans mon problème. J'ai trouvé mon random, avec ce que je voulais faire... randbin. J'ai adapté le jeu mais je me heurte malheureusement à un problème. Le random me donne une liste et mon programme n'aime pas les listes. Comment je récupère la valeur du liste entre crochets pointus, comme nombre sans rien avec, pour lui donner une variable ?
Je ne veux pas {85}, mais je veux 85.
Parce que je ne sais trop pourquoi mais :
{85}->a
Ne fonctionne pas... puisque c'est la valeur qui va dans mon randbin.
Et randbin({85},0.5,1) ne fonctionne pas.
Je suis bloqué ! À l'aide !!!"
"Bonjour, j'ai besoin d'aide. Enfin ça vous l'aviez deviné !
Je cherche à avoir un random de 0 à 100 avec une plus grande probabilité d'avoir 50 et ce qu'il y a autour que 99 ou 4... de plus je veux aussi des nombres entiers. (Ce n'est pas toujours 0 à 100...)
Je travail bien sûr en Ti-basic avec une ti-nspire-cx-cas.
Mon problème : je fabrique mon jeux de plus ou moins... PouM, il est disponible en ligne, et je vais bientôt le mettre à jour, et le but est de créer un programme qui joue au jeux. Bien sûr, l'approche purement statistique est facile et bien, mais pas aussi bien que statistique et aléatoire. Je défini 100->a et 0->b y:=50 et randInt(0,100)->p.
Ainsi si y<p alors b:=y. Bien sûr avec le randInt(-j,j) (défini par moi) de chaque tour qui change p, j'ai déjà appliqué ce qu'il faut pour que ça fonctionne.
Il me faut quelque chose qui me donne des entiers de "b" à "a" qui a plus de chance de donner des résultats aléatoires autours de (b+a)/2 avec un écart type ainsi que la moyenne réglable si possible entre les deux valeurs "b" et "a" qui rentrent dans le truc pour lequel j'ai besoin d'aide. C'est un random de Gauss... de "b" à "a" avec une probabilité plus grande en fonction de la courbe de gauss avec la loi normale il me semble... Je suis débutant en programmation, j'ai commencé il y a trois semaines mais j'apprends très vite. Soyez indulgents.
Pour être précis, il me faudrait des coups entre b et a qui soient du genre de 10% de 0-9 et 90-100 ; 20% de 10-19... mais pas de truc par paliers. Cette courbe ne fait pas de paliers, il me faut une probabilité qui s'adapte à la quantité de nombres.
Tour 0 il y en a 100 et tour 1 après avoir mis 50, bas il reste 50 possibilités sans compter la variation de p selon j. Et tour... 10, il peut m'en rester plus que 13... alors ça doit être adaptatif... mais entier car c'est un plus ou moins.
Je vous invite à télécharger mon jeu PouM, pour voir de quoi il s'agit.
Par contre ce n'est pas la version automatique que je n'ai pas mis en ligne... elle est trop rationnelle. Je n'aime pas. Je trouve que l'aléatoire à sa place dans un jeu où il y a de l'aléatoire."
Merci de votre attention, et de l'aide que j'espère vous m'apporterez.
?
a:=100
b:=0
ApproxRational((Randbin(a,0.5,1)+b/2+0.25),1)->y (Vous noterez que +0.25 est une tentative désespérée pour enpecher b/2 de faire des 0.5...)
y->l13
approxRational(product(l13,1,1),1)->y
Et boum ! Ma liste avec ses crochets n'en a plus !
Mais avec tout ça, j'ai à un endroit fais :
Si p>a alors
à+j+5->a
FinSi
Si p<b alors
b-j-5->b
FinSi
Si y<p alors
y->b
FinSi
Si y>p alors
y->a
FinSi
"J" étant ma variable de fluctuation de p, lui-même étant le nombre à trouver.
Il n'y a pas tout le programme, bien sûr mais j'en ai fais de nouvelles version et ce soir le 9 mars, je mets normalement un nouvelle version vers minuit. Avec bien sûr le bug.
Je n'ai pas besoin de beaucoup de conseil, mais juste savoir comment faire un random binomial de b à a avec probabilité à la moitié qui ne fait pas de nombre à virgule à terme.
À l'aide ! ?
-----
....Ancien.... c'est le sujet du début mais il est réglé. Il reste intéressant.
-----
"Bonjour, j'ai légèrement avancé dans mon problème. J'ai trouvé mon random, avec ce que je voulais faire... randbin. J'ai adapté le jeu mais je me heurte malheureusement à un problème. Le random me donne une liste et mon programme n'aime pas les listes. Comment je récupère la valeur du liste entre crochets pointus, comme nombre sans rien avec, pour lui donner une variable ?
Je ne veux pas {85}, mais je veux 85.
Parce que je ne sais trop pourquoi mais :
{85}->a
Ne fonctionne pas... puisque c'est la valeur qui va dans mon randbin.
Et randbin({85},0.5,1) ne fonctionne pas.
Je suis bloqué ! À l'aide !!!"
"Bonjour, j'ai besoin d'aide. Enfin ça vous l'aviez deviné !
Je cherche à avoir un random de 0 à 100 avec une plus grande probabilité d'avoir 50 et ce qu'il y a autour que 99 ou 4... de plus je veux aussi des nombres entiers. (Ce n'est pas toujours 0 à 100...)
Je travail bien sûr en Ti-basic avec une ti-nspire-cx-cas.
Mon problème : je fabrique mon jeux de plus ou moins... PouM, il est disponible en ligne, et je vais bientôt le mettre à jour, et le but est de créer un programme qui joue au jeux. Bien sûr, l'approche purement statistique est facile et bien, mais pas aussi bien que statistique et aléatoire. Je défini 100->a et 0->b y:=50 et randInt(0,100)->p.
Ainsi si y<p alors b:=y. Bien sûr avec le randInt(-j,j) (défini par moi) de chaque tour qui change p, j'ai déjà appliqué ce qu'il faut pour que ça fonctionne.
Il me faut quelque chose qui me donne des entiers de "b" à "a" qui a plus de chance de donner des résultats aléatoires autours de (b+a)/2 avec un écart type ainsi que la moyenne réglable si possible entre les deux valeurs "b" et "a" qui rentrent dans le truc pour lequel j'ai besoin d'aide. C'est un random de Gauss... de "b" à "a" avec une probabilité plus grande en fonction de la courbe de gauss avec la loi normale il me semble... Je suis débutant en programmation, j'ai commencé il y a trois semaines mais j'apprends très vite. Soyez indulgents.
Pour être précis, il me faudrait des coups entre b et a qui soient du genre de 10% de 0-9 et 90-100 ; 20% de 10-19... mais pas de truc par paliers. Cette courbe ne fait pas de paliers, il me faut une probabilité qui s'adapte à la quantité de nombres.
Tour 0 il y en a 100 et tour 1 après avoir mis 50, bas il reste 50 possibilités sans compter la variation de p selon j. Et tour... 10, il peut m'en rester plus que 13... alors ça doit être adaptatif... mais entier car c'est un plus ou moins.
Je vous invite à télécharger mon jeu PouM, pour voir de quoi il s'agit.
Par contre ce n'est pas la version automatique que je n'ai pas mis en ligne... elle est trop rationnelle. Je n'aime pas. Je trouve que l'aléatoire à sa place dans un jeu où il y a de l'aléatoire."
Merci de votre attention, et de l'aide que j'espère vous m'apporterez.
?