| ||||
| ||||
|
Важные объявления |
|
12.12.2007, 11:18 | #2 (permalink) |
Бессмертный
Регистрация: 24.11.2006
Адрес: Минск
Сообщений: 4,396
|
Простого изящного решения тут нет. Объем и сложность расчетов не стоят ценности результата
__________________
БЕЛАРУСЬ CGM.RU |
0 |
12.12.2007, 11:24 | #3 (permalink) |
Энтузиаст
Регистрация: 19.11.2007
Сообщений: 244
|
Тангес угла наклона твоего винрейта равен производной от функции твоего винрейта. (Сорри за оффтоп, не сдержался после прочтения предыдущей темы)
__________________
Свободного времени куча иногда даже скучно становится :( Не учусь, не работаю. Играю нл400-600 (c) |
0 |
12.12.2007, 11:30 | #4 (permalink) |
Ветеран
|
Ну конечно, никто не считает - все ведь знают - придет CorwinXX и быстренько все посчитает оптимальным способом, да еще и выводы сделает . А ведь полезно такие вещи считать, чтобы потом, если вдруг сложилась ситуация, где нужно было бы знать какую-то похожую вещь, проще было бы прикинуть ориентировочное число.
__________________
In long play we trust :/...? I Love Annette Obrestad :h: |
0 |
12.12.2007, 12:30 | #6 (permalink) |
Энтузиаст
|
Вероятность неспаренной доски 48/51*44/50*40/49*36/48 = 2112/4165. Для неспаренной доски вероятность отсутствия три-флеша 75/128. Осталось посчитать вероятость отсутствия три-стрита. Для этого я написал нехитрую программку и получилось, что доска без три стрита бывает очень редко - всего с вероятностью 79/1287. Таким образов общая вероятность - около 1.82%.
|
0 |
12.12.2007, 15:02 | #10 (permalink) | |
Бессмертный
Регистрация: 13.05.2007
Адрес: Moscow
Сообщений: 4,663
|
Цитата:
Для пятикарточного покера. Общее кол-во комбинациий. Кол-во сетов см. ниже Посчитать самому легко, для любой руки....не только для сета |
|
0 |
12.12.2007, 15:12 | #11 (permalink) |
Бессмертный
Регистрация: 13.05.2007
Адрес: Moscow
Сообщений: 4,663
|
Кто любит сам считать....
К сожелению, не помню где взял...но расчеты понятны и так. http://forum.cgm.ru/lofi/f4/th5090.html |
0 |
12.12.2007, 16:08 | #12 (permalink) |
Энтузиаст
Регистрация: 01.04.2004
Адрес: Киев
Сообщений: 233
|
2Mercator
Точно - нужно считать. -Вероятность, что на доске из 3ти карт не может быть стрита - 46% (могу ошибаться с небольшой вероятностью, возможно 54%) . Полгода назад была интересная ветка на эту тему. -Вероятность, что на 5тикарточной доске будет 3 карты конкретной масти 8,15% (ГИПЕРГЕОМЕТ(3,5,13,52)) итого - 32,6%, ну плюс еще надо добавить 4 масти 1,07% и 5 мастей 0,05% итого 37% -Ну и как было показано - вероятность пары - 50% Если принять, что события: мастевость, стритовость и ненеспаренность независымы, то выходит около 17%. Естественно, например стритовость и спаренность сильно коррелируют (если доска нестритовая, то она скорей с большей вероятностью спаренная, чем неизвесная) поэтому реальный результат будет по чуйке в районе 12-15%, при условии, что я не ошибся с пунктом 1. |
0 |
12.12.2007, 19:09 | #14 (permalink) | |
Бессмертный
Регистрация: 08.02.2006
Адрес: Москва
Сообщений: 12,352
|
Цитата:
Как ты получил 75/128? У меня получилось (240 + 360)/1024, то есть то же самое. Но, похоже, ты считал более оптимальным способом.
__________________
Моё мнение здесь для того, чтобы узнать, почему оно неправильное. |
|
0 |
12.12.2007, 19:55 | #15 (permalink) | ||
Бессмертный
Регистрация: 13.05.2007
Адрес: Moscow
Сообщений: 4,663
|
Цитата:
|
||
0 |
12.12.2007, 21:34 | #17 (permalink) |
Энтузиаст
|
Мой код, если кому интересно. На кривость не ругацца!
Код:
bool TestStraight(int a, int b, int c) { #define min(z, x) (((z) < (x)) ? (z) : (x)) #define max(z, x) (((z) > (x)) ? (z) : (x)) int minV, maxV; minV = min(min(a, b), c); maxV = max(max(a, b), c); if(maxV - minV < 5) return true; if(a == 1) a = 14; if(b == 1) b = 14; if(c == 1) c = 14; minV = min(min(a, b), c); maxV = max(max(a, b), c); if(maxV - minV < 5) return true; return false; } //—————————————————————————————————————- void __fastcall TForm1::Button1Click(TObject *Sender) { int i, j, k, n; int board[5]; int value[5]; int suit[5]; int noDraws; randomize(); noDraws = 0; for(i = 0; i < Edit1->Text.ToInt(); i++) { // Генерация борда board[0] = board[1] = board[2] = board[3] = board[4] = -1; for(j = 0; j < 5; j++) { do { n = random(52); if(n == board[0] || n == board[1] || n == board[2] || n == board[3] || n == board[4]) { continue; } else { board[j] = n; break; } } while(true); } // Проверка на флеш-дро for(j = 0; j < 5; j++) suit[j] = board[j] / 13; n = 0; for(j = 0; j < 5; j++) if(suit[j] == 0) n++; if(n >= 3) continue; n = 0; for(j = 0; j < 5; j++) if(suit[j] == 1) n++; if(n >= 3) continue; n = 0; for(j = 0; j < 5; j++) if(suit[j] == 2) n++; if(n >= 3) continue; n = 0; for(j = 0; j < 5; j++) if(suit[j] == 3) n++; if(n >= 3) continue; // Проверка на пары for(j = 0; j < 5; j++) value[j] = board[j] % 13 + 1; n = 0; for(j = 0; j < 4; j++) for(k = j + 1; k < 5; k++) if(value[j] == value[k]) n++; if(n) continue; // Проверка на стрит-дро // 11100 if(TestStraight(value[0], value[1], value[2])) continue; // 11010 if(TestStraight(value[0], value[1], value[3])) continue; // 11001 if(TestStraight(value[0], value[1], value[4])) continue; // 10110 if(TestStraight(value[0], value[2], value[3])) continue; // 10101 if(TestStraight(value[0], value[2], value[4])) continue; // 10011 if(TestStraight(value[0], value[3], value[4])) continue; // 01110 if(TestStraight(value[1], value[2], value[3])) continue; // 01101 if(TestStraight(value[1], value[2], value[4])) continue; // 01011 if(TestStraight(value[1], value[3], value[4])) continue; // 00111 if(TestStraight(value[2], value[3], value[4])) continue; // Дров нет! noDraws++; } Label4->Caption = i; Label5->Caption = noDraws; Label6->Caption = 100 * float(noDraws) / float(i); } |
0 |
12.12.2007, 21:34 | #18 (permalink) |
Старожил
Регистрация: 20.11.2006
Адрес: Москва
Сообщений: 996
|
Посыпаю голову пеплом - лох я а не программист.
ROYAL NO IS 0 STR8FLUSH NO IS 133 CARE NO IS 2445 FULLHOUSE NO IS 13909 FLUSH NO IS 19245 STR8 NO IS 39167 THREE NO IS 209714 TWO PAIRS NO IS 475222 PAIR NO IS 4224129 CHETFLUSH NO IS 296846 TRIFLUSH NO IS 1773389 CHETSTR8 NO IS 575493 TRISTR8 NO IS 2186150 NOTHING NO IS 184158 ————————————— TOTAL IS 10000000 Подтверждаю цифру 1,8% |
0 |
12.12.2007, 23:19 | #19 (permalink) | ||
Энтузиаст
|
Цитата:
|
||
0 |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
вопрос к математикам | miniput | Около покерного стола | 16 | 19.12.2010 21:01 |
вопрос математикам | koreetz | Покер один на один | 12 | 30.09.2009 13:48 |
Вопрос математикам ... | KID | Покер софт | 1 | 29.08.2009 21:58 |
Вопрос к математикам | Bull | Теории, стратегии, основы покера | 8 | 13.08.2007 23:16 |
Вопрос к математикам | Trample | Одностоловые турниры | 7 | 14.01.2007 04:49 |
|
|