Salut,
comment calculeriez-vous avec une précision à deux chiffres après la virgule la somme des C(n,i)x^i(1-x)^(N-i) pour i de 0 à S<N, avec x<1 ? Pour N=5000 par exemple et S=4000...
Salut,
comment calculeriez-vous avec une précision à deux chiffres après la virgule la somme des C(n,i)x^i(1-x)^(N-i) pour i de 0 à S<N, avec x<1 ? Pour N=5000 par exemple et S=4000...
Bonjour,
Un petite question sur le terme à sommer : faut-il lire :
ou
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 / \ | N | i N-i | | x (1-x) | i | \ /
?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 / \ N-i | N | i (1-x) | | x | i | \ /
Si c'est la première solution, on retombe sur le binôme de Newton (en fait non puisse qu'on s'arrête à S < N ...)
il faut lire ta 1ière proposition.
effectivement, le problème vient de la somme partielle...
certes, mais ça n'avance pas le chimilimi...
si on reprend le schéma du triangle, il y a peut etre quelque chose à fouiller :
Si N égale 5 et S 3
On pourrait dire que la somme à trouver est 1 moins les coefficients collés à droite, mais je pense qu'on retombe sur un problème similaire avec beaucoup de coefficients à sommer.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 1 1 1 1 2 1 1 3 3 1 1 4 6 4 1 1 5 10105 1
EDIT :
En creusant, on pourrait peut-être approximer les coefficients à sommer à une loi gaussienne, leur somme à l'intégrale donc une loi normale. (Mes anciens prof de maths doivent s'en retourner dans leur classe)
Arf. J'ai besoin de vacances.Je pensais que le 1er terme de la somme valait 1 et donc que ca simplifiait la somme de Log.
Hum... bon. C'est vrai que c'est pas simple comme problème. Ca revient au calcul de la fonction de répartition d'une distribution binomiale, non ?![]()
çà me fait penser à une courbe de Bezier de degré N ?
…sauf que vous "coupez" au degré S dans l'évaluation…
courbe de Bezier :
B(t) = Somme de i=0 à N de C(n,i) * (1-t)^(N-i) * t^i * Pi
votre formule, sauf erreur :
F(x) = Somme de i=0 à S de C(n,i) * (1-x)^(N-i) * x^i
Donc votre F(x) serait une courbe de Bezier de degré N avec Pi=(1,1) pour tout i <= S et Pi=(0,0) pour i > S…
?
Il me semble que la solution de ce problème se trouve entre (en combinant) les deux articles:
Cumulative Binomial Distribution
et
Incomplete Beta Fonction
de Numerical recipes in C
adresse:
http://www.fizyka.umk.pl/nrbook/bookcpdf.html
examinez la similitude avec la courbe de Bezier, si c'est bien le cas ce n'est pas les algorithmes efficaces qui manquent… et dans votre cas vous n'avez qu'une dimension à évaluer…
par exemple :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28 /* Simplified Casteljau algorithm for only one dimension and control "points" only 1 and 0 t in [0-1] p array of N (number of control points) float */ float evaluate1(float *p,int n, int s, float t) { // we evaluate only one coordinates of the Bezier // with P[0 -> S].x = 1 and P[S+1 -> N-1].x = 0 // n the degree of the "curve" == number of control points - 1 == N - 1 for(int i=0;i<=s;i++) p[i] = 1.0 ; for(int i=s+1;i<=n;i++) p[i] = 0.0 ; float t1 = (1.0 - t) ; for(int j=1;j<n;j++) { for(int i=0;i<n-j;i++) { p[i] = t1 * p[i] + t * p[i+1] ; } } return p[0] ; }
Zavonen: oui, ça répond à mon besoin.
Mais finalement, on a implémenté la représentation en rationnel & la norme MPFR, pour calculer tout ça!![]()
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager