Автор: cfytr 21.11.2010, 11:57
Пост начинается с достаточно непонятных слов, но затем все будет изложено попроще.
Считается, что вероятность желаемого исхода не зависит от предыдущих исходов случайного события. Но в то же время Зако́н больши́х чи́сел утверждает, что среднее арифметическое достаточно большой конечной выборки из фиксированного распределения близко к математическому ожиданию этого распределения.
Основываясь на этих двух утверждениях я решил проверить справедливость первого, проведя эксперимент с "подбрасыванием монетки". Естественно в век компьютерных технологий бросать монетку никто не собирается.
Итак суть эксперимента:
1) До начала эксперимента у нас имеется 0 условных единиц.
2) Будем бросать идеальную монетку, вероятность выпадания орла=вероятности выпадания решки=0,5.
3) Перед броском, будем загадывать, что выпадет: орел или решка.
4) Если наше "предсказание сбывается", то мы увеличиваем количество условных единиц на 1, если нет, уменьшаем на 1.
Тогда плотность распределения выглядит так:
http://img72.imageshack.us/i/23082620.png/
5) После каждого броска будем вести подсчет количества выпавших орлов и количество выпавших решек.
6) Загадывать сторону монетки будем так: если орлов выпало меньше чем решек, то загадываем орла.
Теперь давайте посчитаем мат ожидание каждого броска. M(x)=1*0.5+(-1)*0.5=0
Условия для каждого броска одинаковые, а значит сколько бы раз монетку не бросали, в среднем у нас будет 0 условных единиц. Этого результата я и ждал когда писал код эксперимента. Но каково же было мое удивление, когда среднее арифметическое по результатам эксперимента оказалось >0!!!
Вот результаты 100 экспериментов, каждый начинался с обнуления всех параметров. В каждом эксперименте проводилось 100млн бросков монеток.
Код
баланс | среднее |максимальное
условных | арифмети- |отрицательное
единиц | ческое |значение
| каждого |баланса
| броска |
______________________________
244030 | 0.00244 | 96
537102 | 0.00537 | 134
500348 | 0.00500 | 64
579780 | 0.00580 | 142
799488 | 0.00799 | 42
695784 | 0.00696 | 34
726128 | 0.00726 | 74
476026 | 0.00476 | 130
536974 | 0.00537 | 82
579778 | 0.00580 | 132
836118 | 0.00836 | 36
750650 | 0.00751 | 108
927792 | 0.00928 | 66
640830 | 0.00641 | 77
1013202 | 0.01013 | 74
1037648 | 0.01038 | 28
823932 | 0.00824 | 60
592004 | 0.00592 | 20
842228 | 0.00842 | 38
695802 | 0.00696 | 19
1000912 | 0.01001 | 58
793426 | 0.00793 | 35
878856 | 0.00879 | 62
579744 | 0.00580 | 33
530894 | 0.00531 | 114
750602 | 0.00751 | 63
372300 | 0.00372 | 84
561408 | 0.00561 | 16
268530 | 0.00269 | 124
280630 | 0.00281 | 84
341716 | 0.00342 | 144
524718 | 0.00525 | 66
311198 | 0.00311 | 190
359986 | 0.00360 | 100
500436 | 0.00500 | 134
689588 | 0.00690 | 30
659106 | 0.00659 | 150
823868 | 0.00824 | 24
695784 | 0.00696 | 54
689596 | 0.00690 | 52
750716 | 0.00751 | 85
750658 | 0.00751 | 40
860624 | 0.00861 | 61
836124 | 0.00836 | 50
732426 | 0.00732 | 69
823986 | 0.00824 | 24
683626 | 0.00684 | 22
830082 | 0.00830 | 70
1037620 | 0.01038 | 54
622466 | 0.00622 | 104
579786 | 0.00580 | 24
836104 | 0.00836 | 47
878912 | 0.00879 | 9
830010 | 0.00830 | 92
1013150 | 0.01013 | 35
689688 | 0.00690 | 62
842202 | 0.00842 | 51
207484 | 0.00207 | 134
659068 | 0.00659 | 4
286798 | 0.00287 | 148
671218 | 0.00671 | 16
488174 | 0.00488 | 140
671174 | 0.00671 | 68
341736 | 0.00342 | 144
305064 | 0.00305 | 82
531000 | 0.00531 | 128
536984 | 0.00537 | 52
463824 | 0.00464 | 144
836130 | 0.00836 | 54
683582 | 0.00684 | 36
671188 | 0.00671 | 96
494318 | 0.00494 | 116
500346 | 0.00500 | 86
524856 | 0.00525 | 132
799464 | 0.00799 | 38
842178 | 0.00842 | 108
830130 | 0.00830 | 56
549288 | 0.00549 | 79
1037624 | 0.01038 | 82
1013240 | 0.01013 | 20
787290 | 0.00787 | 74
524860 | 0.00525 | 20
750676 | 0.00751 | 40
683588 | 0.00684 | 21
891054 | 0.00891 | 58
878872 | 0.00879 | 29
793436 | 0.00793 | 60
524806 | 0.00525 | 27
536994 | 0.00537 | 122
836056 | 0.00836 | 67
311256 | 0.00311 | 108
433226 | 0.00433 | 32
323472 | 0.00323 | 100
256212 | 0.00256 | 94
384442 | 0.00384 | 132
591846 | 0.00592 | 60
372222 | 0.00372 | 186
439334 | 0.00439 | 100
537054 | 0.00537 | 114
567518 | 0.00568 | 24
итоги:
среднее | среднее |максимальное
644162 | 0.00644 | 190
А вот код программы на с++
Код
#include<time.h>
#include<iostream>
using namespace std;
int main()
{
FILE *file=fopen("test.txt","w");
srand(time(0));
long double Nflip=100000000;
long double Ntries=100;
bool a1,a2,a;
bool stavka=0;
long double maxloss=0;
long double win=0;
long double nol=0;
long double odin=0;
long double maxmaxloss=0;
long double everagewin=0;
long double sumwin=0;
for(long double j=0;j<Ntries;++j)
{
stavka=0;
maxloss=0;
win=0;
nol=0;
odin=0;
for(long double i=0;i<Nflip;++i)
{
if(nol>=odin)
stavka=0;
else
stavka=1;
do
{
a1=rand()%2;
a2=rand()%2;
}
while(a1==a2);
if(a1==1)
a=true;
else
a=false;
if(a==true)
++nol;
else
++odin;
if(a==stavka)
++win;
else
--win;
if((win<0)&&(abs(win)>maxloss))
{
maxloss=abs(win);
}
}
if(maxmaxloss<maxloss)
maxmaxloss=maxloss;
sumwin+=win;
printf("% 8.0Lf | % 10.5Lf | % 6.0Lf\n",win,win/Nflip,maxloss);
fprintf(file,"% 8.0Lf | % 10.5Lf | % 6.0Lf\n",win,win/Nflip,maxloss);
}
everagewin=sumwin/Ntries;
printf("% 8.0Lf | % 10.5Lf | % 6.0Lf\n",everagewin,everagewin/Nflip,maxmaxloss);
fprintf(file,"% 8.0Lf | % 10.5Lf | % 6.0Lf\n",everagewin,everagewin/Nflip,maxmaxloss);
fclose(file);
char t;
cin>>t;
}
Ну вот теперь я подошел к самому главному.
1)Как вы считаете чем определяются такие отличия теоретического мат. ожидания от практического средне арифметического?
2)Как можно рассчитать вероятность выпадания орла, если в прошлый раз орел уже выпадал. Ведь как показал эксперимент вероятность выпадания орла при каждом последующем броске различны. ИМХО, они должны в теории отличаться на бесконечно малую величину, но 0,644%/2=0,322% это не такая уж бесконечно малая.
Автор: malkolm 21.11.2010, 21:14
Объясните, что за колонки у Вас в таблице. Непонятно, что такое "среднее арифметическое одного броска", "баланс у.е." и т.п.
Автор: cfytr 22.11.2010, 13:23
Цитата(malkolm @ 21.11.2010, 21:14)

Объясните, что за колонки у Вас в таблице. Непонятно, что такое "среднее арифметическое одного броска", "баланс у.е." и т.п.
"баланс у.е." - это количество условных единиц после окончания одного эксперимента, то есть после 100млн бросков монеток. Можно сказать наш выигрыш, после 100млн бросков.
"среднее арифметическое одного броска" - показывает сколько в среднем мы выигрываем за каждый бросок, считал как "баланс у.е." деленное на 100млн. бросков, этот показатель соответствует теоретическому мат ожиданию.
"максимальное отрицательное значение баланса" - показывает сколько у.е. мы максимально проиграли, понимаю что в мат статистике вместо этого показателя должна быть дисперсия или среднеквадратичное значение такой стратегии, но было лень разбираться как их измерять.
Автор: malkolm 22.11.2010, 16:55
Выбросьте свой генератор случайных чисел. Вот результат прогонки Вашей программы на двух разных машинах:
Код
26362 | 0.00026 | 2051
5124 | 0.00005 | 5315
-3186 | -0.00003 | 3413
-13726 | -0.00014 | 15831
464 | 0.00000 | 3158
18382 | 0.00018 | 1846
18714 | 0.00019 | 42
-1298 | -0.00001 | 3046
2142 | 0.00002 | 3796
-5120 | -0.00005 | 5323
-2762 | -0.00003 | 7987
6542 | 0.00007 | 3699
-1180 | -0.00001 | 3789
-226 | -0.00000 | 12835
14314 | 0.00014 | 2641
-14960 | -0.00015 | 22516
2248 | 0.00002 | 6856
8992 | 0.00009 | 1466
-13430 | -0.00013 | 14159
10436 | 0.00010 | 4148
-12612 | -0.00013 | 13514
3126 | 0.00003 | 213
12198 | 0.00012 | 1392
18058 | 0.00018 | 1928
13782 | 0.00014 | 11689
19840 | 0.00020 | 344
-12420 | -0.00012 | 16226
19520 | 0.00020 | 1838
5240 | 0.00005 | 3666
-1244 | -0.00001 | 2214
10494 | 0.00010 | 3589
-1188 | -0.00001 | 3415
-8092 | -0.00008 | 13201
13366 | 0.00013 | 1471
10378 | 0.00010 | 1204
3402 | 0.00003 | 6511
-7250 | -0.00007 | 9080
174 | 0.00000 | 4646
10428 | 0.00010 | 4335
978 | 0.00001 | 6677
-4794 | -0.00005 | 8423
6950 | 0.00007 | 833
-23550 | -0.00024 | 24763
14282 | 0.00014 | 1749
2042 | 0.00002 | 5381
270 | 0.00000 | 2935
-10856 | -0.00011 | 12329
-10168 | -0.00010 | 10608
12424 | 0.00012 | 922
17284 | 0.00017 | 2069
-4222 | -0.00004 | 8796
-1014 | -0.00001 | 6351
-566 | -0.00001 | 5002
-12760 | -0.00013 | 16305
12062 | 0.00012 | 1820
-2142 | -0.00002 | 4497
36 | 0.00000 | 15281
12128 | 0.00012 | 1286
-15670 | -0.00016 | 19880
22388 | 0.00022 | 3792
6884 | 0.00007 | 562
-2254 | -0.00002 | 6591
-1506 | -0.00002 | 4716
-15926 | -0.00016 | 16869
-2470 | -0.00002 | 5399
6746 | 0.00007 | 1789
23854 | 0.00024 | 3214
4180 | 0.00004 | 9989
13014 | 0.00013 | 5563
-11604 | -0.00012 | 15700
16938 | 0.00017 | 3051
5764 | 0.00006 | 4468
9432 | 0.00009 | 2032
9634 | 0.00010 | 4301
-1594 | -0.00002 | 2388
-3072 | -0.00003 | 8539
15078 | 0.00015 | 1957
13332 | 0.00013 | 1051
2256 | 0.00002 | 11053
-10270 | -0.00010 | 10407
-2532 | -0.00003 | 5784
1008 | 0.00001 | 3013
8678 | 0.00009 | 6700
-5988 | -0.00006 | 7181
2350 | 0.00002 | 3371
-22938 | -0.00023 | 25369
...
Код
-5910 | -0.00006 | 14302
-1684 | -0.00002 | 10053
-3674 | -0.00004 | 6542
-13896 | -0.00014 | 15399
-9444 | -0.00009 | 16324
8164 | 0.00008 | 1072
-20748 | -0.00021 | 21401
-17556 | -0.00018 | 19409
7450 | 0.00007 | 30
-464 | -0.00000 | 5393
14578 | 0.00015 | 2733
2914 | 0.00003 | 4407
-2680 | -0.00003 | 4697
-8268 | -0.00008 | 9757
1162 | 0.00001 | 5090
-6342 | -0.00006 | 10239
4128 | 0.00004 | 8780
-13140 | -0.00013 | 15489
-9552 | -0.00010 | 9943
15942 | 0.00016 | 1371
-6792 | -0.00007 | 7190
10804 | 0.00011 | 7068
11680 | 0.00012 | 4698
1526 | 0.00002 | 5989
550 | 0.00001 | 2152
2308 | 0.00002 | 3738
-2636 | -0.00003 | 3095
1412 | 0.00001 | 7046
-3846 | -0.00004 | 14260
5190 | 0.00005 | 2519
14554 | 0.00015 | 856
7752 | 0.00008 | 2896
-18550 | -0.00019 | 22068
15138 | 0.00015 | 2826
9282 | 0.00009 | 6566
-13082 | -0.00013 | 17382
-5194 | -0.00005 | 8144
-14010 | -0.00014 | 15383
11450 | 0.00011 | 2535
-27556 | -0.00028 | 31020
7942 | 0.00008 | 3174
688 | 0.00001 | 5588
22398 | 0.00022 | 500
-6266 | -0.00006 | 17106
-576 | -0.00001 | 6033
-14948 | -0.00015 | 17825
-18566 | -0.00019 | 19845
-6112 | -0.00006 | 16668
960 | 0.00001 | 8188
-366 | -0.00000 | 3571
-10356 | -0.00010 | 14136
-2296 | -0.00002 | 3288
-2378 | -0.00002 | 7229
13360 | 0.00013 | 943
5542 | 0.00006 | 4843
1818 | 0.00002 | 5304
2652 | 0.00003 | 7887
-2296 | -0.00002 | 6360
-19182 | -0.00019 | 19582
1498 | 0.00001 | 7198
-6528 | -0.00007 | 11281
-16750 | -0.00017 | 16803
14692 | 0.00015 | 511
-12828 | -0.00013 | 15994
12784 | 0.00013 | 5854
12218 | 0.00012 | 5458
4778 | 0.00005 | 3685
-4842 | -0.00005 | 8372
-1714 | -0.00002 | 2144
-5308 | -0.00005 | 8342
4952 | 0.00005 | 5722
-352 | -0.00000 | 7258
-314 | -0.00000 | 5251
13608 | 0.00014 | 184
5868 | 0.00006 | 4338
-7776 | -0.00008 | 15274
9490 | 0.00009 | 3776
16020 | 0.00016 | 2520
-1494 | -0.00001 | 5116
-4306 | -0.00004 | 5562
-14472 | -0.00014 | 14569
14282 | 0.00014 | 803
-22394 | -0.00022 | 28290
1782 | 0.00002 | 6386
8004 | 0.00008 | 2722
19660 | 0.00020 | 756
3200 | 0.00003 | 9798
-2992 | -0.00003 | 11421
-9420 | -0.00009 | 13473
-21364 | -0.00021 | 21550
1410 | 0.00001 | 10266
-1608 | -0.00002 | 7994
-14162 | -0.00014 | 16497
-4812 | -0.00005 | 9918
-7612 | -0.00008 | 7880
5656 | 0.00006 | 4285
7190 | 0.00007 | 3179
9180 | 0.00009 | 1941
-1064 | -0.00001 | 11190
...
Автор: cfytr 22.11.2010, 18:18
забавно) такой результат я и ждал...
malkolm, каким гсч ты пользовался?
Автор: malkolm 22.11.2010, 20:44
Завтра спрошу у сына, какой генератор на его дебиан линюксах дома и на работе
Автор: malkolm 23.11.2010, 17:58
Обычный /dev/random в UNIX/Linux: http://ru.wikipedia.org/wiki/Генератор_псевдослучайных_чисел