- 1
Math.pow(-1,Math.round(1+Math.random()))*Math.random() * x
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
−109
Math.pow(-1,Math.round(1+Math.random()))*Math.random() * x
случайное число в диапазоне [-x, x].
jQuery 02.08.2011 20:47 # 0
gegMOPO4 02.08.2011 21:14 # +6
Fai 02.08.2011 22:05 # −2
wvxvw 02.08.2011 22:41 # 0
guest 02.08.2011 22:59 # 0
2*х*(Math.random() - 0.5) ;
makc3d 29.08.2011 03:44 # 0
hyzhak 30.08.2011 17:45 # 0
makc3d 30.08.2011 17:56 # 0
Fai 02.08.2011 23:48 # −4
guest 02.08.2011 23:58 # +3
ling 03.08.2011 14:34 # −1
И можно обойтись без возведения в степень.
Lure Of Chaos 03.08.2011 14:51 # 0
bugmenot 03.08.2011 14:57 # 0
wvxvw 04.08.2011 00:04 # 0
т.е., чем больше x, тем выше вероятность, что результат будет 0.
macGovno 04.08.2011 16:49 # +1
$\frac{1}{2^r}{r \choose r/2}$
для чётных r, и она будет уменьшаться с увеличением r.
guest 04.08.2011 17:14 # −1
bugmenot 04.08.2011 17:16 # +4
guest 05.08.2011 07:48 # 0
wvxvw 04.08.2011 23:59 # 0
Вряд ли это имеет какое-то отношение к AS.
macGovno 05.08.2011 01:36 # +2
Но давайте посмотрим на пример, допустим подбрасываем монетку r раз (естественно рассматриваем только чётные значения).
Надеюсь очевидно что общее число возможных исходов = 2^r.
Теперь обозначим решку 1, а орла 0. И будем записывать последовательность как ряд нулей и единиц.
Для случая r = 2 мы имеем 4 варианта:
00 (орёл,орёл)
01 (орёл,решка)
10 (решка,орёл)
11 (решка,решка)
только в двух из них количество орлов и решек совпадает. По известной формуле P(2) = M/N = 2/4 = 0.5
Теперь пусть r = 4, получаем:
0000
0001
0010
...
1111
Не трудно убедится, что число вариантов, когда выпало одинаковое количество орлов и решек - 6. Итого, P(4) = N/M = 6/16 = 3/8.
P(4) < P(2). Вероятность уменьшается. И решения совпадает с моей формулой. (нерспарсившим формулу говнам TeX в помощ)
В этом же можно убедиться представив себе кривую плотности распределения, с увеличением r кривая будет всё шире и шире. А площадь её как ни крути = 1. Естественно в нуле плотность распределения будет проседать.
guest 05.08.2011 07:48 # +2
inkanus-gray 05.08.2011 09:30 # +1
wvxvw 05.08.2011 17:31 # 0
ЗЫ. Вам противопоказано играть в азартные игры :)
wvxvw 05.08.2011 17:41 # 0
wvxvw 05.08.2011 17:53 # −5
macGovno 05.08.2011 18:42 # +1
> типа 0000000001 и 0101010101 (или любой похожий по количеству нулей и единиц) будут встречатся одинаково часто.
Два события подбрасывания монетки НЕЗАВИСИМЫ друг от друга. Первый раз подбрасываем - вероятность получить орла = 0.5, второй раз подбрасываем вероятность получить орла = 0.5. Вероятность получить 2 орлов подряд = 0.5 * 0.5.
Итого:
P(01) = 0.25
P(10) = 0.25
P(11) = 0.25
P(11) = 0.25
В сумме единица.
С вами сложно спорить, вы оперируется недоказанными умозаключениями. Прежде чем будете писать ответ сходите по этой ссылке http://www.random.org/coins/?num=2&cur=20-novelty.decision-maker и подкиньте 2 монеты не менее 50 раз. И напишите сюда результат.
guest 05.08.2011 21:30 # −3
Fai 30.08.2011 15:55 # −4
CPPGovno 30.08.2011 17:04 # −3
guest 05.08.2011 21:33 # −3
guest 05.08.2011 21:34 # 0
guest 05.08.2011 21:36 # +1
Lure Of Chaos 05.08.2011 22:36 # +1
wvxvw 05.08.2011 22:50 # −1
wvxvw 05.08.2011 23:19 # 0
macGovno 05.08.2011 23:54 # 0
Чем выше N тем реже выпадает ноль:
p[2] = 482
p[4] = 393
p[6] = 307
p[8] = 267
p[10] = 252
p[12] = 225
p[14] = 220
p[16] = 190
guest 06.08.2011 00:05 # 0
macGovno 06.08.2011 00:23 # 0
less then ten: 66641
less then twenty: 29203
less then fifty: 4157
others: 0
total: 100001
Что это доказывает? Чем помогают три диапазона? У вас там даже сравнения нет.
Посчитайте сколько раз выпадает ноль при bogus-random от 2 до 50 чтобы результат был в таком же формате как у меня в плюсах
wvxvw 06.08.2011 01:33 # −2
Диапазоны для того, чтобы показать общую тенденцию. А про сравнение я не понял - что с чем сравнивать? Если хотите, можете поменять проверку на что-нибудь такое:
Если после того, что вы увидите, что нулей в полученых результатах в общем больше, чем любых результатов больше x/4 - то я тогда даже не знаю...
macGovno 06.08.2011 02:17 # 0
во первых не 7, а 6 из 16. Но даже если 7 из шестнадцати, формула расчёта вероятности из педовикии:
Согласно определению П. Лапласа, мерой вероятности называется дробь, числитель которой есть число всех благоприятных
случаев, а знаменатель — число всех равновозможных случаев
Разбираем по буквам: 2 из 4, 7 из 16. В первом случае вероятность получить ноль = 2/4. Во втором = 7/16. 0.5 больше чем 0.44 (тут вы надеюсь не будуте спорить). Вероятность для первого случая больше чем для второго. Это следует из определения вероятности.
Мне тоже не понятно как с вами дальше разговаривать. Я привожу формулы и определения а вы прлогаете что "увидеть".
wvxvw 06.08.2011 02:56 # 0
macGovno 06.08.2011 03:20 # 0
> В первом случае было 50%.... во втором случае - 45% для нуля.
45% меньше чем 50%. Про это я и говорил, и даже привёл формулу, по которой вероятность выпадения нуля можно посчитать. И всех остальных чисел тоже если её немного обобщить.
Про другие числа я не говорил ничего. Я согласен с тем что 0 самый вероятный результат при любом раскладе. Но вероятность получения нуля уменьшается. 50% для 2 итераций. 37.5% для четырёх, 31.25% для 6.
wvxvw 06.08.2011 12:20 # 0
macGovno 06.08.2011 13:19 # 0
> чем больше итераций, тем вероятнее получить ноль
> доля нулей будет уменьшаться медленнее, чем доля других чисел,
Эти два утверждения противоречат друг другу просто по ОПРЕДЕЛЕНИЮ вероятности.
wvxvw 06.08.2011 16:25 # −2
macGovno 06.08.2011 16:56 # +1
Мы спорим о вероятности выпадения 0 при изменении параметра алгоритма. Вы утверждаете что при расчёте вероятности события теория вероятности не причём?
Не имели намерения обсуждать -- не обсуждайте, оставьте свои глупости при себе.
wvxvw 06.08.2011 19:47 # −1
bugmenot 06.08.2011 19:49 # +1
стохастический подход - неверен
macGovno 06.08.2011 20:25 # +1
makc3d 29.08.2011 04:24 # 0
macGovno разумеется прав насчёт уменьшения вероятности 0лей.
а вот wvxvw не прав насчёт того, что вероятность 0лей растёт по отношению к вероятностям прочих значений - всё строго наоборот. единственное, в чём wvxvw прав, так это в том, что 0ли выпадают чаще (но это преимущество падает с ростом x).
wvxvw 29.08.2011 09:26 # 0
makc3d 29.08.2011 11:52 # 0
п.с. но если вдруг совершенно все в этом топике неправильно понимают твои утверждения, велкам отредактировать код как надо (лисп неосилил)
macGovno 29.08.2011 15:22 # 0
> Проблема ваших рассчетов заключается в том, что вы предполагаете, что результат типа 0000000001 и 0101010101 (или любой похожий по количеству нулей и единиц) будут встречатся одинаково часто.
Вы лучше скажите признаёте ли вы ошибочность данного высказывания?
roman-kashitsyn 29.08.2011 15:31 # +1
roman-kashitsyn 29.08.2011 10:28 # +1
roman-kashitsyn 29.08.2011 10:35 # 0
makc3d 29.08.2011 11:56 # 0
roman-kashitsyn 29.08.2011 12:00 # 0
macGovno 29.08.2011 15:18 # 0
Блядь, об этом я и говорил в посте http://govnokod.ru/7422#comment100782 . Там и про кривую Гаусса. Кто же виноват, что некоторые товарищи упоротые?
roman-kashitsyn 29.08.2011 15:21 # 0
wvxvw 05.09.2011 12:10 # 0
macGovno 06.09.2011 14:00 # 0
До сих пор ли вы считаете что при подбрасывании монетки вероятность исхода 0000000001 не равна вероятности исхода 0101010101 ?
wvxvw 06.09.2011 16:22 # 0
macGovno 06.09.2011 16:51 # 0
До сих пор ли вы считаете что при последовательном подбрасывании монетки вероятность исхода 0000000001 (9 орлов подряд, затем решка) не равна вероятности исхода 0101010101 (орёл, решка и так 6 раз)?
roman-kashitsyn 06.09.2011 15:00 # +2
wvxvw 06.09.2011 16:43 # +1
macGovno 06.09.2011 16:53 # 0
macGovno 06.08.2011 01:18 # 0
Но если мы возьмём ваше замечательную программу и заменим в ней
на
то получим для
(bogus-random 10) less then one: 45264
(bogus-random 50) less then one: 22044
(bogus-random 100) less then one: 15731
То есть при увеличении числа итераций 0 выпадает реже, что в точности соответствует моему первоначальному заявлению.
wvxvw 06.08.2011 03:03 # 0
macGovno 06.08.2011 03:25 # 0
guest 06.08.2011 09:59 # 0
bugmenot 06.08.2011 11:15 # +3
и представили её в Сколково
roman-kashitsyn 29.08.2011 12:27 # 0
gegMOPO4 19.08.2011 18:26 # +1
guest 03.09.2011 01:20 # 0
bugmenot 04.08.2011 17:18 # 0
ling 03.08.2011 15:05 # 0
guest 05.08.2011 13:00 # 0
hyzhak 30.08.2011 17:47 # 0
Особенно забавным был тот факт, что тот же человек чуть ниже, вполне резонно написал привычную конструкцию:
2*х*(Math.random() - 0.5);
gegMOPO4 19.08.2011 18:27 # 0