Просмотреть всю тему "Скорость и точность вычислений (покер)" »»
Скорость и точность вычислений (покер)   ID:24204 Вт, 14 марта 2006 23:39 [#]
Sharky Форумы CasinoGames
Вопрос скорее к программистам..

1. Сколько нужно пермутаций, что бы сосчитать МО руки, для обмена 1-, 2-, 3-, 4- и 5-ти карт.. (только один обмен на одном боксе).
2. Сколько требуется на это время?
3. Какая точность при этом?

Если потраченное время зависит в основном от скорости процессора, то 1 и 3 вопрос актуальны..

Я получил следующий результат:

1.
52 – (5 +1) = 46 // неоткрытое число карт
C{4,46} = 163 185 // требуется на просчет всех комбинаций дилера
C{1,5} * C{1,46} * C{4,45} = 5 * 46 * 148 995 = 34 268 850 // обмен 1 карты + оценка руки дилера
C{2,5} * С{2,46} * C{4,44} = 10 * 1 035 * 135 751 = 1 405 022 850 // обмен 2 карт + оценка руки дилера
C{3,5} * С{3,46} * C{4,43} = 10 * 15 180 * 12 341 = 1 873 363 800 // обмен 3 карт + оценка руки дилера
С{4,5} * C{4,46} * C{4,42} = 5 * 163 185 * 111 930 = 91 326 485 250 // обмен 4 карт + оценка руки дилера
С{5,5} * C{5,46} * C{4,41} = 1 * 1 370 754 * 101 270 = 138 816 257 580 // обмен 5 карт + оценка руки дилера

Итого все слаживаем вместе:
163 185 +
34 268 850 +
1 405 022 850 +
1 873 363 800 +
91 326 485 250 +
138 816 257 580 = 233 455 561 515!!!

2. Скорость просчета всех событий (по условию) не превышает 40 секунд на AMD Athlon XP 2000+. Что говорит о 233 455 561 515 / 40 =~ 5 836 389 038 пермутаций в секунду.

3. Точность вычислений абсолютная*.

Может, кто сможет чтонить сказать. Может у меня крышу снесло или перепил...

* -- Абсолютная на столько, на сколько позволяет 8-байтовая мантисса в диапазоне 5.0*10^–324..1.7*10^308. Не исключаю вероятность ошибки, но если таковая имеется – это будет не логическая а синтаксическая, не влияющая на скорость вычислений...

И вот еще что, теоретически скорость можно оптимизировать в 1.5 (2.0) раза, но это максимум имхо, без потери точности..