Voici les différents codes que j'ai testés (et implémentés pour la plupart) :
Code C++ testé sous Debian :
Code : Tout sélectionner
#include <iostream>
#include <cstdlib>
using namespace std;
int main(){
srand(time(NULL));
int result = 0;
for (int i = 0 ; i < 2000000000 ; ++i){
result += (double(rand())/RAND_MAX < 0.5) ? 1 : -1;
}
// result positif si proche de 0, négatif si proche de 1
cout << result << '\n';
}
Résultat : vraiment rien de bien concret, une dominance très négligeable pour un result positif.
Code matlab testé sous Debian :
Code : Tout sélectionner
result = 0;
for i = 0:200000000
if (rand(1) < 0.5)
++result;
else
--result;
endif
endfor
result
Pour avoir testé le code 2 fois (les calculs sont très lents), voici les résultats :
result = 5701
result = -6061
Résultat : Une égalité apparente...
Code Python (à peine modifié) du poussin testé sous Debian :
Code : Tout sélectionner
from random import *
n0 = 0
n1 = 0
for i in xrange(20):
print "i = %d : %d" % (i, n0-n1)
for x in xrange(100000000):
if random()<0.5:
n0 += 1
else:
n1 += 1
print "0 : %d" % n0
print "1 : %d" % n1
print "0-1 : %d" % (n0-n1)
résultat :
i = 0 : 0
i = 1 : 2756
i = 2 : 10362
i = 3 : 9006
i = 4 : 3282
i = 5 : 9992
i = 6 : -3632
i = 7 : 58
i = 8 : 5664
i = 9 : 16482
i = 10 : 20120
i = 11 : 22376
i = 12 : 24314
i = 13 : 36788
i = 14 : 27818
i = 15 : 31964
i = 16 : 22102
i = 17 : 28938
i = 18 : 34202
i = 19 : 36548
0 : 1000016640
1 : 999983360
0-1 : 33280
C'est-à-dire une dominance négligeable pour le 0.
Le code Java testé sous Windows :
Code : Tout sélectionner
import java.util.Random;
public class Main {
public static void main(String[] args) {
int subresult, result = 0;
Random random = new Random();
for (int j = 0 ; j < 20 ; ++j){
subresult = 0;
for (int i = 0 ; i < 2000000000 ; ++i){
subresult += (random.nextDouble() < 0.5) ? 1 : -1;
}
System.out.println("subresult = " + subresult);
result += subresult;
}
System.out.println("result = " + result);
}
}
Le résultat :
subresult = 50494
subresult = 67066
subresult = -3872
subresult = -40166
subresult = -21338
subresult = 10036
subresult = 6434
subresult = 64086
subresult = 76722
subresult = -94830
subresult = 45194
subresult = -86448
subresult = 15254
subresult = -6672
subresult = -29864
subresult = 54682
subresult = 7940
subresult = -4546
subresult = -77638
subresult = 41128
result = 73662
Résultat : Une dominance négligeable pour une proba proche de 0.
Résultat général : un semblant de dominance pour une proba proche de 0, mais rien de flagrant.
Je demanderai plus en détail à mon n+1 pour savoir si je n'ai pas dit de la merde.
