|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
13.09.2009, 20:17 | #1 |
Регистрация: 13.09.2009
Сообщений: 6
|
Анализ генератора случайных величин
Смысл в следующем:
1) Известна последовательность из n чисел сгенерированная генератором псевдослучайных чисел (алгоритм скорее всего стандартный) 2) Необходимо узнать какое число будет сгенерированно следующим (n+1). Есть ли программы проводящие анализ алгоритма генерации и дающие с определенной долей вероятности n+1 число последовательности при известных n числах |
14.09.2009, 09:03 | #2 |
Старожил
Регистрация: 04.02.2009
Сообщений: 17,351
|
Данных недостаточно. Лично я всегда инициализирую генератор случайных чисел системным временем. Это значит, что какая бы ни была программа, она не сможет определить значение n+1 (соответственно я не умнее остальных, наверняка в Вашем случае тоже самое). Кроме того, была задача, когда требовался более защищенный генератор, тогда один из параметров я сохранял во внешнем файле. Тогда при запуске программы, генератор был более случаен. Для какой задачи Вам это требуется? Хотите подобрать коды к городу Сиону?
ЗЫ. Что значит стандартный? Их вообще-то несколько. Можно применить хитрость, если Вы знаете на каком языке (и версии компилятора) написан генератор.
Маньяк-самоучка
Utkin появился в результате деления на нуль. Осторожно! Альтернативная логика Последний раз редактировалось Utkin; 14.09.2009 в 09:06. |
14.09.2009, 09:51 | #3 |
Trust no one.
Старожил
Регистрация: 07.04.2009
Сообщений: 6,526
|
В принципе, если n достаточное большое (порядка 10 000), то можно будет с некоторой определенностьтю сказать, какое будет следующим. Вот например если идти таким путем:
Код:
"5" Мы смотрим в массив NumericArray, а именно нас интересует тот десяток цифр, которые соответствуют первому измерению массива под номером "5": NumericArray[5, ...]; Далее мы смотрим, как располагаются значения второго измерения, например: NumericArray[5,0] =1 000 NumericArray[5,1] =500 NumericArray[5,2] =500 NumericArray[5,3] =250 NumericArray[5,4] =250 NumericArray[5,5] =250 NumericArray[5,6] =250 NumericArray[5,7] =1 500 NumericArray[5,8] =500 NumericArray[5,9] =1 000 И теперь мы можем утверждать, что следующей цифрой в данной последовательности будет: 0 с вероятностью 16 % 1 с вероятностью 8 % 2 с вероятностью 8% 3 с вероятностью 4 % 4 с вероятностью 4 % 5 с вероятностью 4 % 6 с вероятностью 4 % 7 с вероятностью 25 % 8 с вероятностью 8 % 9 с вероятностью 16 % Примерно так.
SQUARY PROJECT - НАБОР БЕСПЛАТНЫХ ПРОГРАММ ДЛЯ РАБОЧЕГО СТОЛА.
МОЙ БЛОГ GRAY FUR FRAMEWORK - УДОБНАЯ И БЫСТРАЯ РАЗРАБОТКА WINAPI ПРИЛОЖЕНИЙ |
14.09.2009, 09:58 | #4 |
Старожил
Регистрация: 04.02.2009
Сообщений: 17,351
|
Статистический метод хорош, если только генератор не инициализируется с каждым запуском программы, его содержащим. Если он запустит прогу заново, то метод Alex Cones не сработает .
Маньяк-самоучка
Utkin появился в результате деления на нуль. Осторожно! Альтернативная логика |
14.09.2009, 09:59 | #5 |
Trust no one.
Старожил
Регистрация: 07.04.2009
Сообщений: 6,526
|
Я кажись сказал, что мы работаем с ОДНОЙ последовательностью. Нет, не сказал? Тогда дико извиняюсь и говорю: "Мы работаем с одной последовательностью"
SQUARY PROJECT - НАБОР БЕСПЛАТНЫХ ПРОГРАММ ДЛЯ РАБОЧЕГО СТОЛА.
МОЙ БЛОГ GRAY FUR FRAMEWORK - УДОБНАЯ И БЫСТРАЯ РАЗРАБОТКА WINAPI ПРИЛОЖЕНИЙ |
14.09.2009, 10:09 | #6 |
Регистрация: 13.09.2009
Сообщений: 6
|
генератор из c++ либо php
Alex Cones т.е. в вашем примере сам генератор не используется вообще (при построение статистической таблицы)? Весь анализ строиться на самой известной последовательности? А потом мы смотрим по таблице, что выпадало после числа, выданным ЭВМ? я правильно понял? Но тогда я так понимаю, что для определения след. числа после выпавшего будет строиться только на текущем числе. Т.е. если есть две последовательности 2,3,4,5 и 7,8,9,5 то при анализе вероятность выпадения след. числа (например 0) будет одинакова для обоих последовательностей. Чтобы было понятно, речь идет о рулетке в одной онлайн игре) Последний раз редактировалось 3bukvy; 14.09.2009 в 10:18. |
14.09.2009, 10:15 | #7 |
Старожил
Регистрация: 04.02.2009
Сообщений: 17,351
|
Не пойдет. Надо конкретно либо php версия такая-то, либо С++ компилятор такой-то. Даже от версии к версии алгоритм генератора случайных чисел (если это встроенная функция) может изменяться. Смысл в том, чтобы на данном языке написать простенький генератор и отследить его последовательности.
Маньяк-самоучка
Utkin появился в результате деления на нуль. Осторожно! Альтернативная логика |
14.09.2009, 11:14 | #8 | |
Trust no one.
Старожил
Регистрация: 07.04.2009
Сообщений: 6,526
|
Цитата:
SQUARY PROJECT - НАБОР БЕСПЛАТНЫХ ПРОГРАММ ДЛЯ РАБОЧЕГО СТОЛА.
МОЙ БЛОГ GRAY FUR FRAMEWORK - УДОБНАЯ И БЫСТРАЯ РАЗРАБОТКА WINAPI ПРИЛОЖЕНИЙ |
|
14.09.2009, 12:42 | #9 | ||
Старожил
Регистрация: 04.02.2009
Сообщений: 17,351
|
Цитата:
Цитата:
Повторяю еще раз, генератор через определенные промежутки времени инициализируется, а это означает, что его последовательности имеют очень маленький n. Соответственно, Вы не сможете построить большую последовательность и не сможете просчитать вероятность. Скажем за 100 игр, он инициализируется раз 20 (если не больше), а при n=5 Вам выиграть таким способом никак не удасться.
Маньяк-самоучка
Utkin появился в результате деления на нуль. Осторожно! Альтернативная логика Последний раз редактировалось Utkin; 14.09.2009 в 12:45. |
||
14.09.2009, 13:16 | #10 |
Старожил
Регистрация: 22.05.2007
Сообщений: 9,085
|
Там может вообще никакого рандома нету. Если играет постоянно много человек, то можно тупо последовательно им числа возможные выдавать, для каждого человека в отдельности они будут очень даже случайные)
Да и опять же кто знает чего они там случайно генерируют. Может силу броска шарика и на основе её уже определяют выпавшее число. Опять же может у них генератор глобальный. Первое выпавшее число - это на самом деле десятое, сгенерированное им, а второе для вас - сотое для генератора. В общем, вряд ли тут обманешь "казину", разве что там совсем дураки работают ) |
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
файл генератора отчетов и .exe Помогите | Ahtorynok | БД в Delphi | 5 | 06.04.2009 15:33 |
Перевод величин | Лубышев | Помощь студентам | 4 | 17.07.2008 08:48 |
расшифрование текста с помощью генератора ПСЧ | MARGO | Помощь студентам | 0 | 30.11.2007 19:11 |
перевод величин | Vasya | Свободное общение | 13 | 18.11.2007 00:08 |
С++ Создать класс содержащий 3х-мерный массив int'ов, заполнять с помощью генератора случайных чисел | vipER | Помощь студентам | 1 | 22.09.2007 22:08 |