| |||||
| |||||
|
Важные объявления |
|
06.07.2004, 08:05 TS | #1 (permalink) |
Участник
|
Приветствую всех.
Хотел бы рассмотреть в этой ветке способы расчёта МО и диспы. У меня сразу возникло несколько вариантов: первое это считать перебором всех возможных вариантов со всеми возможными вскрышками С(52,5)*47, что обеспечивает полную сходимость, но очень долго, можно перебрать все варианты и для каждого сгенерировать случайную вскрышку, что тоже всё равно долго. Возможно случайная генерация раскладов и вскрышки, но можно ли при этом пользоваться встроенным ГСЧ в язык программирования, т.к. результат будет псевдослучаен (я программирую на VB6), или же нужно писать собственный. Далее есть ещё два варианта: брать МО каждой раздачи для получения среднего(сумму МО каждай раздачи поделить на число раздач) или же для каждого расклада находить оптимальное решение или задать линию игры заранее и генерировать купленные карты и оставшиеся карты диллеру ( симулировать сам игровой процесс). Далее хотелось бы разобрать варианты расчёта дисперсии: посчитать МО игры, далее перебирая или генерируя расклады вычитать МО игры из МО расклада, и в последствии получить дисперсию, или же брать каждыё расклад в отдельности считать его МО и вычитать из результата каждого возможного исхода, таким образом получая дисперсию каждого расклада. Будут ли отличатся результаты полученные разными способами? Все ли из них имеют право на жизнь, и какой наилучший? Хотулось бы услышать ещё возможные варианты.
__________________
BUGy |
0 |
06.07.2004, 12:37 | #2 (permalink) |
Бессмертный
Регистрация: 13.02.2004
Адрес: Россия
Сообщений: 3,027
|
Я строю таблицу вероятости исхода одной раздачи: -4,-3,-1,0,1,2,3...
По этой таблице легко счтается и М и Д. Метод хорош для любой игры. Если перебором долго, применяю комбинацию перебора карт руки и случайную генерацию остальных карт. |
0 |
07.07.2004, 04:43 TS | #3 (permalink) |
Участник
|
Приветствую Korovin.
Хотел бы спросить. Нельзя ли для оценки МО пробежаться по массиву комбинаций описанных в ветке ускорения расчёта. И если брать комбинации из файла, то по какому принципу их туда заносить. >Я строю таблицу вероятости исхода одной раздачи: -4,-3,-1,0,1,2,3... Как я понял в этот массив заносятся вероятности каждого исхода, потом каждая ячейка делится на число перебрпнных вариантов, потом перемножается каждый исход на свою вероятность и суммируя получаем М. Ну это в принципе тоже самое что и суммировать М для каждого расклада, только можно сразу ещё и Д посчитать.
__________________
BUGy |
0 |
07.07.2004, 07:29 | #4 (permalink) |
Бессмертный
Регистрация: 13.02.2004
Адрес: Россия
Сообщений: 3,027
|
Пример
//каре for i1:=0 to 12 do for i5:=0 to 12 do if i5<>i1 then begin n:=n+1; ArShaf[n,1]:=i1*4+1; ArShaf[n,2]:=i1*4+2; ArShaf[n,3]:=i1*4+3; ArShaf[n,4]:=i1*4+4; ArShaf[n,5]:=i5*4+Random(4)+1; ArShaf[n,0]:=1; end; //фулл for i1:=0 to 12 do for i4:=0 to 12 do if i4<>i1 then begin n:=n+1; p3:=Random(4)+1; p2:=Random(6)+1; ArShaf[n,1]:=i1*4+ArMst3[p3,1]; ArShaf[n,2]:=i1*4+ArMst3[p3,2]; ArShaf[n,3]:=i1*4+ArMst3[p3,3]; ArShaf[n,4]:=i4*4+ArMst2[p2,1]; ArShaf[n,5]:=i4*4+ArMst2[p2,2]; ArShaf[n,0]:=6; end; ... ArShaf[n,0] это вес комбинации/4 |
0 |
08.07.2004, 03:05 TS | #5 (permalink) |
Участник
|
Никак не пойму как можно воспользоваться полученным массивом, но как я понял что для каждой комбинации составляется подобный.
И i1 здесь ранг каре и тройной в фуле, а i5 и i4 ранг остального. Тогда я даже не представляю как посчитать массив для комбинаций которые требуется усилять, и для без игры придётся считать массив для разных заманух.
__________________
BUGy |
0 |
08.07.2004, 07:21 | #6 (permalink) |
Бессмертный
Регистрация: 13.02.2004
Адрес: Россия
Сообщений: 3,027
|
//Прочее
for i1:=4 to 12 do for i2:=3 to i1-1 do for i3:=2 to i2-1 do for i4:=1 to i3-1 do for i5:=0 to i4-1 do begin n:=n+1; p1:=Random(4)+1; ArShaf[n,1]:=i1*4+p1; ArShaf[n,2]:=i2*4+p1; ArShaf[n,3]:=i3*4+p1; ArShaf[n,4]:=i4*4+p1; ArShaf[n,5]:=i5*4+p1; ArShaf[n,0]:=1; n:=n+1; p2:=p1; p3:=p1; p4:=p1; p5:=p1; while (p1=p2) and (p1=p3) and (p1=p4) and (p1=p5) do begin p2:=Random(4)+1; p3:=Random(4)+1; p4:=Random(4)+1; p5:=Random(4)+1; end; ArShaf[n,1]:=i1*4+p1; ArShaf[n,2]:=i2*4+p2; ArShaf[n,3]:=i3*4+p3; ArShaf[n,4]:=i4*4+p4; ArShaf[n,5]:=i5*4+p5; ArShaf[n,0]:=255; end; Отдельно одномастные, отдельно все остальные. Заманухи на стрит описаны полностью, на флеш формируются среднестантистически из за случайной генерации мастей. Мой цикл не описывает строго сжатие мастей, но практика показала что 30-50 циклов достаточно для оценки МО на любом боксе, а это 200-300 тысяч сдач всего. |
0 |
08.07.2004, 13:01 | #7 (permalink) |
Интересующийся
Регистрация: 20.03.2004
Адрес: Москва
Сообщений: 75
|
Раздаю карты себе и дилеру, меняю, если нужно и смотрю, что получилось. Использую встроенный генератор случайных чисел и не вижу причин ему не доверять. Делаю именно так потому, что моя программа оценки позиции не дает абсолютно точного МО, но при этом в выборе ходов практически не ошибается.
[Зарегистрироваться?] |
0 |
09.07.2004, 01:10 TS | #8 (permalink) |
Участник
|
Ivan, но ведь для принятия решения ты считаеш МО расклада, зачем симулировать игру. Ведь грубо говоря раздав себе большое число раз один и тот же расклад и следуя каждый раз оптимальному решению ты безисходно выйдеш на МО этого самого расклада. А следовательно суммируя каждый раз МО а не частный случай какого-то случайного расклада ты гораздо быстрее получишь сходимость.
Насчёт встроенного ГСЧ, он же получает каждое последующее число отталкиваясь от предидущего по какому-то закону, и я бы ему не доверил раздачу в комплексе.
__________________
BUGy |
0 |
11.07.2004, 07:41 | #9 (permalink) |
Интересующийся
Регистрация: 20.03.2004
Адрес: Москва
Сообщений: 75
|
МО одного расклада я считаю только для того, чтобы определить правильный ход. А это во многих случаях можно сделать и не зная точного МО расклада.
Встроенный ГСЧ можно модернизировать, если периодически (скажем раз в мин.) инициализировать его числом, зависящим от времени. |
0 |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Расчет аутов | dedmorozov | Многостоловые турниры | 2 | 27.03.2012 15:15 |
расчет видеопокера | atayants | Программное обеспечение | 2 | 16.03.2011 14:52 |
расчет видеопокера | atayants | Покер софт | 0 | 22.12.2010 13:45 |
Расчет EV | _PaFF86_ | Вопросы от новичков | 1 | 19.12.2009 22:19 |
Опции темы | |
|
|