![]() |
|
![]() ![]() ![]() |
|
szz |
|
||||||||||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1289 Регистрация: 31.5.2005 Где: Moscow, Jerusalem Репутация: нет Всего: 33 |
У меня такая загвоздка.
Сделал я такой тренажер интуиции (можно его тут попробовать http://xkiosk.net/pea/game.php ) Зайдите туда, посмотрите чтоб дальше понять о чем я говорю. Так вот, загвоздка в том, чтобы сделать идеальный генератор случайных чисел, точнее такой генератор, который бы выводил всего два рандомальных числа : 0 и 1. Чтоб идиализировать этот генератор, я делаю в той программе следующее: перед началом тренировки заставляю пользователя двигать мышью по экрану, а сам собираю координаты его движения в массив. Каждая точка, по которой бегал хаотично человек по экрану, собирается в массив длиной в тыщу элементов. А потом для сброса черных и белых горошин использую следующую функцию (простите за привидение кода, напишу я ее на нескольких языках, чтоб как мжно большему количеству людей понятно было): generated_impulse - в нашем случае - массив из тех самых 1000 элементов:
То есть как можно сильнее запутываю: генерирую случайное число, прибавляю к нему случайный элемент из пользоватеьского импульса и возвращаю остаток на два. Только вот почему в большинстве случаев выпадает черная горошина (0) ? Единственное, чего я пытаюсь добиться - это убиение закономерности стандартной псевдорандомальности, а у меня почему-то к нулю больше тянет... --------------------
|
||||||||||
|
|||||||||||
cardinal |
|
|||
![]() Инженер ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 6003 Регистрация: 26.3.2002 Где: Германия Репутация: 5 Всего: 99 |
Посмотри тут:
VB-VB-002236 и тут http://forum.vingrad.ru/index.php?showtopi...ndpost&p=308153 если дисскусию почитать хочешь... -------------------- Немецкая оппозиция потребовала упростить натурализацию иммигрантов В моем блоге: Разные истории из жизни в Германии "Познание бесконечности требует бесконечного времени, а потому работай не работай - все едино". А. и Б. Стругацкие |
|||
|
||||
esperant0 |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 714 Регистрация: 20.5.2005 Репутация: 4 Всего: 14 |
определи вначале понятие идеальный рандом формално, и быть может тебе смогут помочь
как правило правильный вопрос это половина ответа -------------------- Student->Teacher Assistant ->Research assistant->Microsoft Software Development Engineer Пользователь получил наказание за то, что проигнорировал замечание которое было написано модератором а затем стерто и которое он - пользователь не мог видеть. |
|||
|
||||
nworm |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 502 Регистрация: 22.10.2005 Репутация: 4 Всего: 8 |
szz, Вы где-то ошибаетесь. По датчикам случайных чисел много всего написано. Например, можно посмотреть начало 2-го тома книге Д. Кнута "Искусство программирования".
|
|||
|
||||
maxim1000 |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 3334 Регистрация: 11.1.2003 Где: Киев Репутация: 33 Всего: 110 |
усложнение генератора случайных чисел далеко не всегда ведет к улучшению его характеристик, зато почти всегда ведет к тому, что исследовать его и целенаправлено модифицировать становится все труднее...
есть движения мышки, в их числах может быть некоторая закономерность (мало ли, с какой точностью драйвер меряет положение мышки?) есть стандартный генератор случайных чисел, который тоже имеет свои закономерности (какие именно, зависит от реализации) эти две системы объединяются в одну, где их закономерности переплетаются самым причудливым образом, и в конце вылазит большой перекос в сторону черных горошин поому я бы посоветовал просто взять один из изученных генераторов (на форуме обсуждалось) или придумать свой и исследовать его характеристики (ну это, если нравится сам процесс ![]() -------------------- qqq |
|||
|
||||
Helicopterr |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 355 Регистрация: 20.8.2005 Где: Stavropol Репутация: нет Всего: 3 |
szz
Вот уж не знаю кто первый придумал заставлять пользователя двигать по экрану мышей и тыкать по клавиатуре для генерации случайных значений, но сейчас это делает, например, клиентская прога Web Money. Как ещё не заставили пользователя болтать ногами, ерзать на стуле, бится головой в разные участки монитора, этим, ведь похоже, можно повысить рандомальность... ![]() Ты писал о "разработке" идеального рандома? Вообще я иногда думаю, что наш бог/природа и тот на генерирование по-настоящему случайных чисел не способен. Так что ты без всяких угрызений совести можешь заняться заботами более мирскими и насущными ![]() -------------------- people can fly |
|||
|
||||
szz |
|
||||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1289 Регистрация: 31.5.2005 Где: Moscow, Jerusalem Репутация: нет Всего: 33 |
Судя по тому, что ты написал ответ через 2 месяца после того, как к этой тебе все потеряли интерес, я уже как раз все это время и занимаюсь более мирскими и насущными заботами. В любом случае, большое спасибо за мораль. --------------------
|
||||
|
|||||
DENNN |
|
|||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 3878 Регистрация: 27.3.2002 Где: Москва Репутация: 1 Всего: 43 |
В последних версиях FReeBSD при первом запуске SSH генерится ключ. В этот момент пользователя просят "постучать" по клавиатуре и нажать Enter, навроде как добавить случайности при генерации. ![]() |
|||
|
||||
teplotaya |
|
|||
Новичок Профиль Группа: Участник Сообщений: 46 Регистрация: 10.3.2006 Репутация: нет Всего: 2 |
szz
чувак спасибо крутая маза а дай мне исходники пажалусто ? |
|||
|
||||
teplotaya |
|
|||
Новичок Профиль Группа: Участник Сообщений: 46 Регистрация: 10.3.2006 Репутация: нет Всего: 2 |
машина на машину ;) |
|||
|
||||
szz |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1289 Регистрация: 31.5.2005 Где: Moscow, Jerusalem Репутация: нет Всего: 33 |
Ой, не напоминай - я исходники случайно все стер при переустановке винды нескоко месяцев назад...
--------------------
|
|||
|
||||
![]() ![]() ![]() |
Правила форума "Алгоритмы" | |
|
Форум "Алгоритмы" предназначен для обсуждения вопросов, связанных только с алгоритмами и структурами данных, без привязки к конкретному языку программирования и/или программному продукту.
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, maxim1000. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Алгоритмы | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |