Re: Программисты помогите ID:10333 ответ на 10276 |
Ср, 9 ноября 2005 16:03 [#] |
|
|
Да, сорри, про каре хотел как раз сказать обратное, что все 12 каре от 8-ки попадают в одну группу. Тоже самое и с тройками. Ошибочка вышла, что-то меня отвлекло и я написал совершенно противоположное.
По-поводу деления на масти 4-1, 3-2, 3-1-1, это для того чтоб знать надо ли менять/докупать шестую. Конечно это можно опустить и менять все карты по очереди, или пытаться докупать 6-ю ко всем рукам не смотря недофлеш у нас или недострит.
А как Вам такой метод полного перебора. У дилера берем для рассмотрения 1 масть, например, только пик. Уменьшаем в 4 раза кол-во карт дилера.
Группируем все комбинации по силе, их будет 28496 рук. И это будет не статистический набор, а будут участвовать/задействованы/учтены все комбинации, со своими весами. В каждой группе из большого количества равноценных комбинаций выбираем ту в которой НЕТ пик. Такое возможно для всего, кроме каре. Учтем это.
Таким образом цикл по 28496 рукам игрока * 13 карт дилера. Всего 370448 циклов. И не надо никаких 10млн. и даже 100млн. циклов случайных рук. Т.к. в 10млн. рук будет оч. много совпадающих рук. А тут мы рассмотрим ВСЕ возможные руки ровно по 1 разу и ничего не упустим. Для каждой руки и карты дилера вычисляем кол-во комбинаций меньше/равно/больше (я это тоже могу) оцениваем МО этой руки, и получаем быстрый расчет. Умножаем результаты на веса 28496 рук игрока, потом * на 4 из-за 4-х мастей, и все ОК! Конечно в случае, когда подойдем к каре, мы учтем что пика одна уже вышла и карта дилера не может попасть в группу с каре, просто опустим расчет для этого случая.
Причем 28496 рук это при условии ТОЧНОГО совпадения в группе. Например флеш A,D,8,7,6 пик и бубен в одной группе, а флеш A,D,9,7,6 например треф будет по-старше,хотя их тоже можно с небольшими потерями объединить, и найти можно много таких "одинаковых" стритов/флешей, и тем самым еще БОЛЬШЕ уменьшить число групп комбинаций.
|
|
|