Здравствуйте, гость Правила · Помощь

»  Сдачи для анализа торговли. Байкеру, Просьба НЕ писать в неё другим ничего до выкладывания 100 сдач Подписаться | Сообщить другу | Версия для печати
      » 26/03/2013, 12:04,  Киник 
Число способов извлечь 2 карты из 22 (10 уже фиксированы на руке)равно C(22,2)=22!/2!*20!=11*21=231.
      » 26/03/2013, 12:21,  isabsent 
Киник ("26/".$m["мар"]."/2013," 12:04)
Число способов извлечь 2 карты из 22 (10 уже фиксированы на руке)равно C(22,2)=22!/2!*20!=11*21=231.

Понял. Моя прога посчитает мизер на открытых картах в среднем за несколько секунд (хотя цифра очень условная, попадались как особо злостные мизеры которые и больше минуты считались, так и некоторые хитрые типа Ласкера или Ковалевской - за десятые доли секунды). Если принять что требуется обсчитать 300 рук 231 раз по ~1 сек., то это займет сутки smile.gif.

Это сообщение отредактировал isabsent - 26/03/2013, 12:22
      » 26/03/2013, 19:51,  isabsent 
Оценка выше для среднего Андроида. На 2х-ядерном Intel i5 в 10 раз быстрее. На 4х-ядерном будет в 20 раз быстрее - за час управится smile.gif ...

Это сообщение отредактировал isabsent - 26/03/2013, 20:01
      » 26/03/2013, 20:23,  extasy 
Кстати, есть некая потребность в решении такой задачи:

1. Рэндомная генерация потока сдач. От 10 000 штук и больше.
2. Фиксируем 2-ю руку в каждой сдаче.
3. На каждой сдаче на 2-й руке расчитывается среднее количество взяток ДО ПРИКУПА на контрактах: 10ПИК, 10ТРЕФ, 10БУБ, 10ЧЕРВ, 10БК, МИЗЕР - результаты сохраняются и формируют массив, скажем в экселе.

Что означает Среднее количество взяток до прикупа:
1) Фиксировали 2-ю руку.
2) Имеем 231 равновероятный прикуп.
3) Фиксировали 1 прикуп.
4) Из 12 карт сделали 12*11 = 132 возможных сноса.
5) Фиксировали 1 снос.
6) Сгенерировали 300-1000 рэндомных раскладов для 2-х других рук.
7) Фиксировали расклад.
8) Разыграли на открытых картах по ГО.
9) Записали результат.
10) Проделали это для всех рэндомных раскладов 2-х других рук.
11) Нашли оптимальный снос, записали количество взяток на нем.
12) Повторили это для каждого прикупа. Получили 431 результат на оптимальных сносах.
13) Нашли среднее арифметического. Записали результат. Этот результат и будет "средним количеством взяток до прикупа".

Какие мощности нужны и сколько времени понадобится на выполнение задачи?

--------------------
the elephant has you..
      » 26/03/2013, 20:30,  extasy 
Получается минимум 431х132х1000х10000х6 = 3413520000000 розыгрышей всветлую по ГО.

--------------------
the elephant has you..
      » 26/03/2013, 20:34,  isabsent 
extasy ("26/".$m["мар"]."/2013," 20:23)
Кстати, есть некая потребность в решении такой задачи:

1. Рэндомная генерация потока сдач. От 10 000 штук и больше.
2. Фиксируем 2-ю руку в каждой сдаче.
3. На каждой сдаче на 2-й руке расчитывается среднее количество взяток ДО ПРИКУПА на контрактах: 10ПИК, 10ТРЕФ, 10БУБ, 10ЧЕРВ, 10БК, МИЗЕР - результаты сохраняются и формируют массив, скажем в экселе.

Что означает Среднее количество взяток до прикупа:
1) Фиксировали 2-ю руку.
2) Имеем 231 равновероятный прикуп.
3) Фиксировали 1 прикуп.
4) Из 12 карт сделали 12*11 = 132 возможных сноса.
5) Фиксировали 1 снос.
6) Сгенерировали 300-1000 рэндомных раскладов для 2-х других рук.
7) Фиксировали расклад.
8) Разыграли на открытых картах по ГО.
9) Записали результат.
10) Проделали это для всех рэндомных раскладов 2-х других рук.
11) Нашли оптимальный снос, записали количество взяток на нем.
12) Повторили это для каждого прикупа. Получили 431 результат на оптимальных сносах.
13) Нашли среднее арифметического. Записали результат. Этот результат и будет "средним количеством взяток до прикупа".

Какие мощности нужны и сколько времени понадобится на выполнение задачи?

Не совсем понял для чего это надо и кое-какие детали. Может быть будет проще Вам самому прикинуть? Я могу сказать среднее время на 2х-ядерном Intel i5 - мизер на открытых руках считается меньше чем за 0.1 сек. Правда мизера эти достаточно условны - в том смысле, что генерируются случайно и нормальный человек скорее всего 4/5 из них никогда по своей воле играть не будет. Если ядер больше, то делим время соответственно - задача хорошо распараллелена.
      » 26/03/2013, 20:42,  extasy 
Решение задачи нужно для создания теоретической базы в игре Разбойник.

3.5 триллиона розыгрышей всветлую надо произвести. Впринципе, можно обойтись и меньшим количеством в 10-20 раз.
20% розыгрышей будут ловлей рэндомных мизеров, хотя вприцнипе можно обойтись и без мизеров вовсе.

Получается, что нужно 35 миллиардов розыгрышей немизерных контрактов.

Это сообщение отредактировал extasy - 26/03/2013, 20:43

--------------------
the elephant has you..
      » 26/03/2013, 20:56,  isabsent 
Если только обычные игры, то раз в 10 быстрее. Точнее не могу сказать, так как счет связан с выводом в консоль и я подозреваю, что вывод занимает не меньше времени чем счет (если не больше). Можно ориентироваться на 0.001 - 0.01 сек/расклад. Если брать оптимистический вариант, то 35 000 000 /(24 * 3600) ~ около года smile.gif

А почему у вас 11*12? Это число сочетаний С(2, 12)? Тогда 66 должно быть?

Это сообщение отредактировал isabsent - 26/03/2013, 21:09
      » 26/03/2013, 21:02,  extasy 
Да, 66 правильно.

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

А просто вычислить Среднее количество взяток до прикупа на конкретной карте? Это была бы исключительно полезная и важная программа. Помогла бы в оценке карты и прогнозировании.

Понадобится 431х66х300 = 8 533 800 розыгрышей, с возможностью устанавливать разную погрешность вычисления среднего.

Это сообщение отредактировал extasy - 26/03/2013, 21:03

--------------------
the elephant has you..
      » 26/03/2013, 21:08,  isabsent 
8 533 800 розыгрышей - часа за 3 уложимся скорее всего, если это все не мизеры. А что за слова насчет разной погрешности? Каждый открытый расклад считается точно - никаких погрешностей в расчете нет.
« Предыдущая тема | Перечень тем | Следующая тема »
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей: