|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
05.02.2014, 19:52 | #1 |
Регистрация: 29.02.2012
Сообщений: 3
|
ГСЧ борется сам с собой
Дано:
1) Label на форме; 2) Код:
UPD: Есть подозрения, что мой ГСЧ не такой уж ГСЧ. Но все же - в чем причина именно либо положительной, либо отрицательной динамики? Последний раз редактировалось 1450; 05.02.2014 в 19:58. |
05.02.2014, 20:05 | #2 |
Заблокирован
Регистрация: 31.03.2011
Сообщений: 976
|
1) Что такое ГСЧ? Просьба использовать общепринятый Русский язык без сокращения слов при формировании вопросов/ответов.
2) Задача какая? При формировании ответа смотрим первый пункт. 3) Ну и так, чисто для себя. А что значит UPD? |
05.02.2014, 20:12 | #3 | |
Старожил
Регистрация: 29.09.2009
Сообщений: 9,713
|
...рекомендовал бы в качестве ГПСЧ использовать линейный конгруэнтный метод или вихрь Мерсенна.
И да, ваш ГСЧ не ГСЧ, а псевдо ГСЧ, причем хреновый. Хотите реальный ГСЧ - используйте шумящие биты АЦП аудиокарты, к примеру. Цитата:
Разработки и научно-технические публикации :: Видеоблог :: Твиттер
Radar systems engineer & Software developer of industrial automation |
|
05.02.2014, 20:57 | #4 |
Старожил
Регистрация: 31.05.2010
Сообщений: 13,543
|
Пиши пьяным, редактируй трезвым.
Справочник по алгоритмам С++ Builder |
05.02.2014, 21:20 | #5 |
Высокая репутация
СуперМодератор
Регистрация: 27.07.2008
Сообщений: 15,596
|
Во-первых, вы ошиблись на счет стремления переменной к нулю. У вас 50 на 50 +1 или -1.
Во-вторых, вынесите Randomize из цикла. В-третьих, у вас не ГСЧ, а ГПСЧ. И этим все объясняется. E-Mail: arigato.freelance@gmail.com
|
05.02.2014, 21:32 | #6 | |
Старожил
Регистрация: 02.03.2008
Сообщений: 2,499
|
Цитата:
Код:
Конечное значение: win кон = win нач + x1 + x2 + ... x10000, где x1,x2, ... - независимые дискретные случайные выличины, принимающие начения -1 или +1 с вероятностями 0,5 У каждого из низ мат.ожидание M(x1)=M(x2)=..=0 дисперсии D(x1)=D(x2)=..=1 По свойствам M и D , для суммы M(x1 + x2 + ... x10000)= M(x1)+M(x2)+.. = 0 для дисперсии, для независимых D(x1 + x2 + ... x10000)= D(x1)+D(x2)+.. = 10000 То есть мат.ожидание win кон : M(win кон )= win нач +0= = win нач Дисперсия D(win кон )= 0 + 10000 = 10000 Среднеквадратичное отклонение (сигма)= корень из D = 100 По правилу " трех сигм " ожидаемое значение win кон вероятнее всего будет болтаться вокруг M(win кон ) плюс-минус 3 сигмы. То есть в интервале (win нач-300;win нач+300) - где-то так. Это при SpinsCount=10000. При увеличении SpinsCount интервал будет расти. Так что все правильно. Если в самом деле Random хорошо работает. Он вроде ниче-так ... PS А зачем Randomize внутри цикла. Можно и вне. Последний раз редактировалось type_Oleg; 05.02.2014 в 21:40. |
|
06.02.2014, 17:21 | #7 | ||||
Регистрация: 29.02.2012
Сообщений: 3
|
Цитата:
2. Задача - один ГСЧ загадывает 0 либо 1, второй пытается угадать. Цель - изучить динамику изменения соотношения угадал\не угадал. 3. UPD значит что я в исходное сообщение методом редактирования добавил новую информацию, которую пытаюсь выделить на фоне исходного сообщения. Цитата:
Цитата:
Некий абсолютный ГСЧ мне в общем-то не нужен, лишь нормальное его подобие. Извиняюсь, слаб в теории; Мне достаточно, если я смогу, скажем, 1000 раз сгенерировать массив из 1000 случайных чисел, чтобы ни один из них не совпадал. Ф-ия Randomize этого не дает? Цитата:
type_Oleg За теорию спасибо, из дома прочитаю! Не углублялся еще, решил с простого начать |
||||
06.02.2014, 19:20 | #8 |
Старожил
Регистрация: 02.03.2008
Сообщений: 2,499
|
Randomize удали из цикла. Перед for его поставь.
Я попробовал, в этом случае нормально - число прыгает около 0 , то + , то - Последний раз редактировалось type_Oleg; 06.02.2014 в 19:24. |
06.02.2014, 19:25 | #9 | ||
Старожил
Регистрация: 20.04.2008
Сообщений: 5,527
|
Цитата:
Постоянное (она у вас в цикле) ее использование приводит к постоянному выбору (почти) одной точки старта. Отсюда и неверные результаты. Цитата:
программа — запись алгоритма на языке понятном транслятору
|
||
06.02.2014, 19:38 | #10 |
Регистрация: 29.02.2012
Сообщений: 3
|
Помогло, большое спасибо, тему можно закрывать!
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
ГСЧ | k3fir4ik | Общие вопросы C/C++ | 1 | 04.10.2012 16:14 |
Предугадать ГСЧ | Леон- | Помощь студентам | 1 | 07.04.2011 21:01 |
ГСЧ на C++ | Memfis_nya | Помощь студентам | 0 | 15.09.2010 17:22 |
ГСЧ на основе шума. | RomanIgorevi4 | Общие вопросы C/C++ | 0 | 04.06.2009 22:16 |