Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Операционные системы > Софт
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 13.09.2009, 20:17   #1
3bukvy
 
Регистрация: 13.09.2009
Сообщений: 6
По умолчанию Анализ генератора случайных величин

Смысл в следующем:
1) Известна последовательность из n чисел сгенерированная генератором псевдослучайных чисел (алгоритм скорее всего стандартный)
2) Необходимо узнать какое число будет сгенерированно следующим (n+1).
Есть ли программы проводящие анализ алгоритма генерации и дающие с определенной долей вероятности n+1 число последовательности при известных n числах
3bukvy вне форума Ответить с цитированием
Старый 14.09.2009, 09:03   #2
Utkin
Старожил
 
Аватар для Utkin
 
Регистрация: 04.02.2009
Сообщений: 18,136
По умолчанию

Данных недостаточно. Лично я всегда инициализирую генератор случайных чисел системным временем. Это значит, что какая бы ни была программа, она не сможет определить значение n+1 (соответственно я не умнее остальных, наверняка в Вашем случае тоже самое). Кроме того, была задача, когда требовался более защищенный генератор, тогда один из параметров я сохранял во внешнем файле. Тогда при запуске программы, генератор был более случаен. Для какой задачи Вам это требуется? Хотите подобрать коды к городу Сиону?

ЗЫ. Что значит стандартный? Их вообще-то несколько. Можно применить хитрость, если Вы знаете на каком языке (и версии компилятора) написан генератор.
Маньяк-самоучка
Utkin появился в результате деления на нуль.
Осторожно! Альтернативная логика

Последний раз редактировалось Utkin; 14.09.2009 в 09:06.
Utkin вне форума Ответить с цитированием
Старый 14.09.2009, 09:51   #3
Alex Cones
Trust no one.
Старожил
 
Аватар для Alex Cones
 
Регистрация: 07.04.2009
Сообщений: 6,526
По умолчанию

В принципе, если n достаточное большое (порядка 10 000), то можно будет с некоторой определенностьтю сказать, какое будет следующим. Вот например если идти таким путем:
Код:
Var
 NumericArray:Array[0..9,0..9]:Integer;
Begin
 Получаем первое число;
 Control:=первое число;
 For I:=1 to n-1{так как первое уже получили} do
  Begin
   Inc(NumericArray[Control,ЧислоПоследовательности[I]);
   Control:=ЧислоПоследовательности[I];
  End;
Потом машина нам говорит число, а мы с некоторой долей вероятности сможем сказать, какое будет следующим, например ЭВМ выдало:
"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 ПРИЛОЖЕНИЙ
Alex Cones вне форума Ответить с цитированием
Старый 14.09.2009, 09:58   #4
Utkin
Старожил
 
Аватар для Utkin
 
Регистрация: 04.02.2009
Сообщений: 18,136
По умолчанию

Статистический метод хорош, если только генератор не инициализируется с каждым запуском программы, его содержащим. Если он запустит прогу заново, то метод Alex Cones не сработает .
Маньяк-самоучка
Utkin появился в результате деления на нуль.
Осторожно! Альтернативная логика
Utkin вне форума Ответить с цитированием
Старый 14.09.2009, 09:59   #5
Alex Cones
Trust no one.
Старожил
 
Аватар для Alex Cones
 
Регистрация: 07.04.2009
Сообщений: 6,526
По умолчанию

Я кажись сказал, что мы работаем с ОДНОЙ последовательностью. Нет, не сказал? Тогда дико извиняюсь и говорю: "Мы работаем с одной последовательностью"
SQUARY PROJECT - НАБОР БЕСПЛАТНЫХ ПРОГРАММ ДЛЯ РАБОЧЕГО СТОЛА.
МОЙ БЛОГ
GRAY FUR FRAMEWORK - УДОБНАЯ И БЫСТРАЯ РАЗРАБОТКА WINAPI ПРИЛОЖЕНИЙ
Alex Cones вне форума Ответить с цитированием
Старый 14.09.2009, 10:09   #6
3bukvy
 
Регистрация: 13.09.2009
Сообщений: 6
По умолчанию

генератор из c++ либо php
Alex Cones
т.е. в вашем примере сам генератор не используется вообще (при построение статистической таблицы)? Весь анализ строиться на самой известной последовательности? А потом мы смотрим по таблице, что выпадало после числа, выданным ЭВМ? я правильно понял? Но тогда я так понимаю, что для определения след. числа после выпавшего будет строиться только на текущем числе. Т.е. если есть две последовательности 2,3,4,5 и 7,8,9,5 то при анализе вероятность выпадения след. числа (например 0) будет одинакова для обоих последовательностей.
Чтобы было понятно, речь идет о рулетке в одной онлайн игре)

Последний раз редактировалось 3bukvy; 14.09.2009 в 10:18.
3bukvy вне форума Ответить с цитированием
Старый 14.09.2009, 10:15   #7
Utkin
Старожил
 
Аватар для Utkin
 
Регистрация: 04.02.2009
Сообщений: 18,136
По умолчанию

Не пойдет. Надо конкретно либо php версия такая-то, либо С++ компилятор такой-то. Даже от версии к версии алгоритм генератора случайных чисел (если это встроенная функция) может изменяться. Смысл в том, чтобы на данном языке написать простенький генератор и отследить его последовательности.
Маньяк-самоучка
Utkin появился в результате деления на нуль.
Осторожно! Альтернативная логика
Utkin вне форума Ответить с цитированием
Старый 14.09.2009, 11:14   #8
Alex Cones
Trust no one.
Старожил
 
Аватар для Alex Cones
 
Регистрация: 07.04.2009
Сообщений: 6,526
По умолчанию

Цитата:
речь идет о рулетке в одной онлайн игре)
Рулетку не глупые люди делали. Там последовательности скорее всего рандомизуются каждые 5 заходов.
SQUARY PROJECT - НАБОР БЕСПЛАТНЫХ ПРОГРАММ ДЛЯ РАБОЧЕГО СТОЛА.
МОЙ БЛОГ
GRAY FUR FRAMEWORK - УДОБНАЯ И БЫСТРАЯ РАЗРАБОТКА WINAPI ПРИЛОЖЕНИЙ
Alex Cones вне форума Ответить с цитированием
Старый 14.09.2009, 12:42   #9
Utkin
Старожил
 
Аватар для Utkin
 
Регистрация: 04.02.2009
Сообщений: 18,136
По умолчанию

Цитата:
Чтобы было понятно, речь идет о рулетке в одной онлайн игре
говорит не об
Цитата:
(алгоритм скорее всего стандартный)
а совсем об обратном явлении. Гадая на кофейной гуще, таким образом у Вас не будет шансов. Угадать еще можно, лишь имея исходные коды программы.
Повторяю еще раз, генератор через определенные промежутки времени инициализируется, а это означает, что его последовательности имеют очень маленький n. Соответственно, Вы не сможете построить большую последовательность и не сможете просчитать вероятность. Скажем за 100 игр, он инициализируется раз 20 (если не больше), а при n=5 Вам выиграть таким способом никак не удасться.
Маньяк-самоучка
Utkin появился в результате деления на нуль.
Осторожно! Альтернативная логика

Последний раз редактировалось Utkin; 14.09.2009 в 12:45.
Utkin вне форума Ответить с цитированием
Старый 14.09.2009, 13:16   #10
pu4koff
Старожил
 
Аватар для pu4koff
 
Регистрация: 22.05.2007
Сообщений: 9,520
По умолчанию

Там может вообще никакого рандома нету. Если играет постоянно много человек, то можно тупо последовательно им числа возможные выдавать, для каждого человека в отдельности они будут очень даже случайные)
Да и опять же кто знает чего они там случайно генерируют. Может силу броска шарика и на основе её уже определяют выпавшее число.
Опять же может у них генератор глобальный. Первое выпавшее число - это на самом деле десятое, сгенерированное им, а второе для вас - сотое для генератора.
В общем, вряд ли тут обманешь "казину", разве что там совсем дураки работают )
pu4koff вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
файл генератора отчетов и .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