Офлайн-казино / Рулетка / "Поймать" ГСЧ - реально?
  Страницы(2): [#  1  2  >  »]   Перейти вниз
"Поймать" ГСЧ - реально?   ID:19671 Чт, 29 июня 2006 11:49 [#] [»)
sniff Форумы CasinoGames
Здравствуйте, уважаемы форумчане! Я человек в этом деле новый (играю в рулетку около 3-4-х месяцев), стараюсь развиваться в этом направлении Smile поэтому регулярно читаю ваш форум (надо отметить, наиболее конструктивный и информативный чем все, которые я видел). И у меня возник один вопрос, который мучает меня уже довольно давно: понятно, что двух совершенно одинаковых ГСЧ не бывает (то есть нету 2-х ГСЧ, генерирующих одинаковые числа в один и тот же момент времени). Все они ведь чем-то отличаются (например, алгоритмом генерации, мне кажется). И поэтому меня очень интересует: а можно ли "поймать" какой то конкретый ГСЧ на лично его каких-то "фишках"? Например, если при определенных обстоятельствах выпадают совершенно определенные числа, дюжины или цвета и т.д. Очень хотелось бы услышать мнение по этому вопросу.
        
 
Re: "Поймать" ГСЧ - реально?   ID:19673   ответ на 19671 Чт, 29 июня 2006 12:08 («] [#] [»)
CLON Форумы CasinoGames
sniff писал чт, 29 июня 2006 12:49
И поэтому меня очень интересует: а можно ли "поймать" какой то конкретый ГСЧ на лично его каких-то "фишках"? Например, если при определенных обстоятельствах выпадают совершенно определенные числа, дюжины или цвета и т.д. Очень хотелось бы услышать мнение по этому вопросу.
Если рассматривать реальную-механическую "рулетку" как псевдо-генератор случайных чисел, то попытаться поймать можно.

Думаю, что в скором времени выложу программу - "кладоискатель", которая по статистике определяет "пристрастные" колеса. Думаю, что в ДЕМО версии будут анализироваться статистики до 200-370 спинов. А в реальной версии думаю удасться "потолок" длины статистики увеличить до 1700-3700 спинов.

Планирую, что поиск пристастных секторов будет вестись, на сектора от 1 номера до 18. При этом пристастия будут вестись как на "фаворитов", так и на "аутсайдеров" статистики.

Надеюсь работу завершу в течении 2-х - 3-х месяцев.

ЗЫ: Реальный ГСЧ надо ловить на сектора, а не на ставки в поле. Искать "перекосы" в интернет-ГСЧ, лично мне, кажется абсурдным и не перспективным. Cool

ЗЫ2: Демо версию программы, по её завершению выложу на форум.
        
 
Re: "Поймать" ГСЧ - реально?   ID:19674   ответ на 19671 Чт, 29 июня 2006 12:56 («] [#] [»)
CLON Форумы CasinoGames
В программе-анализаторе статистики будут заложенны принципы анализа "пристрастий" описанные в книге Е.Терентьева, но анализ будет делаться для любых выборок от 37 до 2000 спинов (демо версия от 37 до 370 спинов), на сектора от 1 до 18 номеров.

При этом, статистику можно подключать из файлов (точнее из списка файлов).
        
 
Re: "Поймать" ГСЧ - реально?   ID:19675   ответ на 19671 Чт, 29 июня 2006 15:33 («] [#] [»)
Sharky Форумы CasinoGames
CLON писал чт, 29 июня 2006 13:08
Надеюсь работу завершу в течении 2-х - 3-х месяцев.
Не скромный такой вопрос: почему так долго? 4K спинов = 0.0038 Mb стат. данных.. тут работы максимум на дня два, имхо.. Может помочь чем?

P.S. Если надумаешь связываться с БД, попробую Firebird (почти тоже что InterBase, но с бесплатной лицензией).
        
 
Re: "Поймать" ГСЧ - реально?   ID:19677   ответ на 19671 Чт, 29 июня 2006 16:21 («] [#] [»)
CLON Форумы CasinoGames
Во первых - все упирается в проблемму вычисления факториалов больше 1753! (for extended) и 170! (for real).

Во вторых - элементарная не хватка времени. 2-3 месяца - это в лучшем случае. На работе полный "аврал" на 2-3 недели. В семейной жизни от месяца и до полугода. На учебе от сентября до Нового Года. Поэтому работа продвигается медленно (максимум 1-2 часа в день). Хотя все основные функции анализатора уже написал, остается только "сервис" в работе с БД. Smile

В третьих - возникли не которые вопросы при перепроверке таблиц в книге Е. Терентьева. Автор (Е.Т.) пока не дал ответа почему такие рассхождения. Ждем-с. Cool
        
 
Re: "Поймать" ГСЧ - реально?   ID:19678   ответ на 19671 Чт, 29 июня 2006 16:46 («] [#] [»)
Jack Daw Форумы CasinoGames
CLON писал чт, 29 июня 2006 17:21
все упирается в проблемму вычисления факториалов больше 1753! (for extended) и 170! (for real)
CLON, создай один раз массив FACT от 1 до 1753 со значениями факториалов и просто бери оттуда значения, когда потребуется.
FACT(1)=1
FACT(2)=2
FACT(3)=6
....
итд

Инициализировать этот массив можно как
FACT(1)=1
for i=2 to 1753
FACT(i)=FACT(i-1)*i
next i
        
 
Re: "Поймать" ГСЧ - реально?   ID:19679   ответ на 19671 Чт, 29 июня 2006 17:03 («] [#] [»)
CLON Форумы CasinoGames
Jack Daw, зачем все так усложнять?

Пишешь функцию Факториал и все. Ни каких проблемм. Потом, только вызываешь в теле программы. Хотя я пошел еще дальше, написал все функции: Факториал (рекурсивный), а^b, РБернули, РБернилиИнтеграл и Р37.

Например: РБернули(н, х - "интеджер", р - "реал") : "экстендед".

В данную функцию "вкладываешь" функции Факториал и а^b.

Остальное дело техники. Проблемма в том, что компьютер не вычисляет факториалы больше 1753!, т.к. результат вычисления такого факториала выходит за предел "экстендед". Но и данный момент можно обойти заменив C(n-x)=n!/(x!*(n-x)!) to C(n-x)=П(n - n+1-x)/x!

Эта замена позволяет расширить диаппазон, но на "больших" секторах это не помогает. Хотя 1750! >> 170! Поэтому анализировать статистику на 1750 спинов гораздо лучше, чем 170 спинов. Smile

Но как например взять факториал 5000! ????????????????

Или упростить выражения: C(n-x)=n!/(x!*(n-x)!) to C(n-x)=П(n - n+1-x)/x! ??????????????????
        
 
Re: "Поймать" ГСЧ - реально?   ID:19680   ответ на 19671 Чт, 29 июня 2006 17:12 («] [#] [»)
Sharky Форумы CasinoGames
Зачем тебе тип extended, если результат будет целочисленный?
        
 
Re: "Поймать" ГСЧ - реально?   ID:19682   ответ на 19671 Чт, 29 июня 2006 17:20 («] [#] [»)
Jack Daw Форумы CasinoGames
CLON писал чт, 29 июня 2006 18:03
Jack Daw, зачем все так усложнять?

Пишешь функцию Факториал и все. Ни каких проблемм. Потом, только вызываешь в теле программы.
Изначально я понял проблему так, что программа медленно вычисляет значение факториала.
Поэтому предложил вариант не вычислять каждый раз факториал заново, а просто брать значение из ячейки массива.

Если проблем с быстродейтвием нет, то вопрос снят.
        
 
Re: "Поймать" ГСЧ - реально?   ID:19683   ответ на 19671 Чт, 29 июня 2006 17:22 («] [#] [»)
CLON Форумы CasinoGames
Sharky писал чт, 29 июня 2006 18:12
Зачем тебе тип extended, если результат будет целочисленный?
Результат то целочисленный, только какие еще из вещественных типов поддерживают числа величиной в 10^4950???????

Ответа не требуется - сегодня посмотрю в "ХЕЛПЕ" описание параметров вещественных чисел. Может и заменю "экстендед", на что-нибудь из вещественных, если там будут подходящие диаппазоны.
        
 
Re: "Поймать" ГСЧ - реально?   ID:19684   ответ на 19671 Чт, 29 июня 2006 17:27 («] [#] [»)
Sharky Форумы CasinoGames
Jack Daw писал чт, 29 июня 2006 18:20
Поэтому предложил вариант не вычислять каждый раз факториал заново, а просто брать значение из ячейки массива.

Очень правильная мысль.
        
 
Re: "Поймать" ГСЧ - реально?   ID:19688   ответ на 19671 Чт, 29 июня 2006 18:35 («] [#] [»)
CLON Форумы CasinoGames
Sharky писал чт, 29 июня 2006 18:12
Зачем тебе тип extended, если результат будет целочисленный?
Ответ: целочисленные типы не позволяют решить задачу из-за ограниченности диаппазонов.

Цитата из Делфи:
An integer type represents a subset of the whole numbers. The generic integer types are Integer and Cardinal; use these whenever possible, since they result in the best performance for the underlying CPU and operating system. The table below gives their ranges and storage formats for the current 32-bit Delphi compiler.

Generic integer types for 32-bit implementations of Delphi
Type Range Format
Integer -2147483648..2147483647 signed 32-bit
Cardinal 0..4294967295 unsigned 32-bit
Fundamental integer types include Shortint, Smallint, Longint, Int64, Byte, Word, and Longword.

Fundamental integer types
Type Range Format
Shortint -128..127 signed 8-bit
Smallint -32768..32767 signed 16-bit
Longint -2147483648..2147483647 signed 32-bit
Int64 -2^63..2^63-1 signed 64-bit
Byte 0..255 unsigned 8-bit
Word 0..65535 unsigned 16-bit
Longword 0..4294967295 unsigned 32-bit
In general, arithmetic operations on integers return a value of type Integer--which, in its current implementation, is equivalent to the 32-bit Longint. Operations return a value of type Int64 only when performed on one or more Int64 operand. Hence the following code produces incorrect results.

Зато вещественные числа имеют более широкие диаппазоны.
Цитата из "Делфи":
A real type defines a set of numbers that can be represented with floating-point notation. The table below gives the ranges and storage formats for the fundamental real types.

Fundamental real types
Type Range Significant digits Size in bytes
Real48 2.9 x 10^-39 .. 1.7 x 10^38 11-12 6
Single 1.5 x 10^-45 .. 3.4 x 10^38 7-8 4
Double 5.0 x 10^-324 .. 1.7 x 10^308 15-16 8
<font color="red">Extended 3.6 x 10^-4951 .. 1.1 x 10^4932 19-20 10</font>
Comp -2^63+1 .. 2^63 -1 19-20 8
Currency -922337203685477.5808.. 922337203685477.5807 19-20 8
The generic type Real, in its current implementation, is equivalent to Double.

Этим и обьясняется "необходимость" использовать "Экстендед" вместо "Интеджер".
        
 
Re: "Поймать" ГСЧ - реально?   ID:19689   ответ на 19671 Чт, 29 июня 2006 18:41 («] [#] [»)
Sharky Форумы CasinoGames
Clon,
Чета я не понял, как ты вычислил факториал «1700!»?
Ты уверен, что правильно?

clon, снял вопрос -- я тормознул Embarassed
удали две нижних темы
        
 
Re: "Поймать" ГСЧ - реально?   ID:19697   ответ на 19671 Пт, 30 июня 2006 08:40 («] [#] [»)
CorwinXX Форумы CasinoGames
А какая точность нужна при вычислении факториала?
Может формула Стирлинга подойдёт?
        
 
Re: "Поймать" ГСЧ - реально?   ID:19699   ответ на 19671 Пт, 30 июня 2006 08:58 («] [#] [»)
CLON Форумы CasinoGames
CorwinXX писал пт, 30 июня 2006 09:40
А какая точность нужна при вычислении факториала?
Может формула Стирлинга подойдёт?
А что за формула Стирлинга? Можешь просветить?

О точности пока судить не могу, но если будет формула, то протестирую её на точность.

ЗЫ: Проблемма не в вычислении величины факторала, а в переполнении численного ряда. Т.е. комп не может рассчитать данный факториал из-за ОГРОМНОСТИ ответа.
        
 
Re: "Поймать" ГСЧ - реально?   ID:19700   ответ на 19671 Пт, 30 июня 2006 09:22 («] [#] [»)
CorwinXX Форумы CasinoGames
Например, на этой странице в самом низу:
<a rel="nofollow" href="http://newasp.omskreg.ru/probability/cgi-bin/pt_rus/ptcgi.ex" target="_blank">http://newasp.omskreg.ru/probability...t_rus/ptcgi.ex e?9024</a>



Что касается огромного значения:

Вряд ли тебе нужно такое большое число. Полагаю, что это всего лишь промежуточный результат, и дальше ты будешь делить его на что-нибудь. Тогда можно представить факториал в виде произведения двух чисел. Например, перемножать отдельно чётные и нечётные множители. Так ты сможешь вычислять факторилы до (10^4932)^2, то есть до 10^9800. Главное потом в вычислениях сделать деление до умножения, чтобы не было переполнения.

Можно пойти более универсальным путём. Отдельно вычислять основание и отдельно степень результата.
То есть, во время вычислений ты сравниваешь текущее значение с sqrt(MAX_EXTENDED_NUMBER) и "скидываешь" степень в специальную переменную.

Пример:
a = b * c
if(abs(a) > 10^2400) { a = a/(10^2400); exp += 2400 }

В переменной a у нас результат вычислений, но его нужно будет в конце домножить на 10^exp. (В переменной exp у нас порядок результата).


з.ы. Поправил - второе сравнение не нужно.

з.з.ы. Ну и понятно, что 10^2400 и 2400 будут сидеть в константах, а не вычисляться каждый раз.
        
 
Re: "Поймать" ГСЧ - реально?   ID:19701   ответ на 19671 Пт, 30 июня 2006 09:49 («] [#] [»)
CLON Форумы CasinoGames
CorwinXX, Огромное спасибо. Интересные идеи.

Со временем обязательно ими воспользуюсь. Пока хватает и 1750 спинов. Но со временем обязательно "расширю выборку" поиска пристрастий колеса, хотя бы до 3700 спинов.

Особенно понравилась идея "пошагового разделения".
        
 
Re: "Поймать" ГСЧ - реально?   ID:19703   ответ на 19671 Пт, 30 июня 2006 12:11 («] [#] [»)
CLON Форумы CasinoGames
Проверил идею разбиения действий на промежуточные.
Получил интересный результат.

Если брать формулу в "лоб", то макимум, что можно было "выжать" из вещественного "реал" был 170!

Перейдя к методу разбиений действий, решение удалось расширить до 1029! при том же ограничении на "реал" 1.7*10^307.

Теперь думаю на экстендед можно будет с "легкостью" получить анализатор статистики до 10 000 спинов, т.е. на порядок больше, т.к. максимум экстендед 1.1*10^4932.

Это радует. Very Happy
        
 
Re: "Поймать" ГСЧ - реально?   ID:19710   ответ на 19671 Пт, 30 июня 2006 19:40 («] [#] [»)
IDS Форумы CasinoGames
CLONу от астронавтов Smile

<img src="http://forum.cgm.ru/attachments/roulette/47817-poimat-_gsch-realno-cumulative_bd.jpg" border="0" alt="Название: cumulative bd.JPG
Просмотров: 351

Размер: 4.6 Кб" style="margin: 2px" />

… то, что в первоисточник не вошло. «Переработка» именно этой всем известной формулы дала финальный «софт» для крупных секторов и многочисленных спинов.
        
 
Re: "Поймать" ГСЧ - реально?   ID:19711   ответ на 19671 Пт, 30 июня 2006 20:03 («] [#] [»)
CLON Форумы CasinoGames
IDS, спасибо, но я нашел другой более простой путь (для себя). Теперь факториалы до 10 000 не представляют проблемм, хотя я наверное ограничусь и 3700 спинами.

Время покажет, но всеравно спасибо.

ЗЫ: Локальная теорема Лапласа не дает "точных" результатов.
        
 
Страницы(2): [#  1  2  >  »]  
Предыдущая тема:Ваш любимый "марш" для "дЛамбера" ???
Следующая тема:Как запомнить последовательность номеров на колесе "рулетки"?
Быстрый переход к форуму
  
Текстовая версия  RSS лента
Вернуться вверх

Текущее время: Чт, 28 ноября 00:16:05 2024
Время, затраченное на генерацию страницы: 0.01911 секунд