| ||||
| ||||
|
Важные объявления |
|
13.11.2005, 09:06 TS | #81 (permalink) |
Увлечённый
Регистрация: 26.10.2005
Адрес: Провинция
Сообщений: 462
|
Привет Korovin. Спасибо нашел микроошибку.
Пришло: 5ч,10ч,Вб,Кк,Tв против 6ч. Предложил: Играть МО= -1,048963 верно (верно) Сдаться МО= -1,000000 верно (верно) Купить шестую МО= -0,701079 (-0,6950) (-0,694930) Покупаем шестую (теряем 1 АНТЕ долее не где не отражается), пришла 9к. получили 5ч,9к,10ч,Вб,Кк,Tв против 6ч. Предложил: Играть МО=-1,056820 верно (верно) Сдаться МО=-1,000000 верно (верно) Замена карты 5ч МО= -0,703711 (-0,7000) (-0,699922) Замена карты 9к МО= -0,808083 не знаю (-0,804215) Замена карты 10ч МО= -1,355116 не знаю (-1,351194) Замена карты Вб МО= -1,361140 не знаю (-1,356936) Замена карты Кк МО= -1,379597 не знаю (-1,373679) Замена карты Тв МО= -0,844030 не знаю (-0,839698) Меняем карту 5ч (теряем 1 АНТЕ долее не где не отражается) на Вв. получили 9к,10ч,Вб,Вв,Кк,Tв против 6ч. Предложил: Играть МО= 1,177059 (1,1824) (1,182363) Сдаться МО= -1,000000 верно (верно) Помните в фильме “Матрица” жизнь представлялась на экране компьютера как набор каких-то падающих цифр. У меня в голове колода карт давно уже массив 13х4. Хотел написать, что пришло: 5-1,10-1,11-0,13-3,14-2 против 6-1. Да побоялся, что не поймете. На 2 этапе, я так понял, вы откидываете определенные варианты по определенной логике. А при игре на 6 боксе как такая логика будет работать. Любопытно сколько у вас времени считается, у меня секунд 5…10 (не помню точно) при первом (случайном) прогоне, при последующем трудно оценить (вбиваешь карты вручную). |
0 |
13.11.2005, 09:42 | #82 (permalink) |
Участник
Регистрация: 13.10.2004
Сообщений: 165
|
2Korovin, //У меня в качестве слабого звена вылезла функция определения комбинации на руке, ее время сопоставимо со временем анализ игры дилера. //
А зачем ее вычислять/определять? Я сразу сделал массив из 2598960 4-байтных слов по всем пятеркам карт. Отсортировал все пятерки по возрастанию силы. Каждой пятерке соответствует ее номер, который вычисляется однозначно. В массиве 2 байта - сила комбинации, 1 байт старший - номер комбинации от 0-пустышка, до 10 - рояль, даже 1 байт пропадает, вообще можно все засунуть в 2 байта. 5 мегов будет файло. Засасываю его вначале в прогу. И сравнение двух пятерок == простому сравнению двух чисел в массиве, какое больше => тот и победил. У меня без всяких премудростей/оптимизаций обсчет 10млн комбинаций около 5,8 сек. Для сравнения Ваша прога на 10 млн. дает 9 сек. |
0 |
13.11.2005, 10:12 TS | #83 (permalink) |
Увлечённый
Регистрация: 26.10.2005
Адрес: Провинция
Сообщений: 462
|
2Fabrica. Привет. Массив рук хорошая мысль. Надеюсь, вы это не запатентовали, и я втихаря займусь плагиатом. Но не врубаюсь, как их запаковать в 5 метров. Получается сил комбинаций (у меня менее удачные 15 рангов) меньше 65536/10=6553 для любой комбинации. Еще не понял, как любую руку преобразовать в индекс 0…2598960. Наверное, начну делать – дойдет. Насколько сложные правила вы считаете. Если не сложно выдайте пример расчета руки типа моего.
|
0 |
13.11.2005, 10:19 TS | #84 (permalink) |
Увлечённый
Регистрация: 26.10.2005
Адрес: Провинция
Сообщений: 462
|
P.S. Забыл добавить, что у меня 3 функции, выдающие комбинацию: на 5 картах, на 6 картах, и на 5 картах с джокером. Причем с джокером сложнее всего преобразовать в массив т.к. там куча условных операторов, отвечающих за правило куда джокер подходит, а куда нет.
|
0 |
13.11.2005, 10:44 | #86 (permalink) |
Участник
Регистрация: 13.10.2004
Сообщений: 165
|
Нет условия одни и теже, тока что добавил в прогу кнопочку и генерацию 10млн. случайных рук, если выше пары - играю, генерирую еще руку, сравниваю. Считаю МО. И время на все тоже.
Действительно не выходит засунуть все в 5 мегов. Всего различных пятерок - 28496, если упростить (выкинуть пустышки и т.д.) останется 7461 штука. Получаем 74610 - в слово не влазит |
0 |
13.11.2005, 10:58 TS | #87 (permalink) |
Увлечённый
Регистрация: 26.10.2005
Адрес: Провинция
Сообщений: 462
|
Может я тормоз. Вы какие 10 млн. комбинаций все считаете за 5,8с или 9с. Вы мне скажите, сколько миллиардов рук (типа той задачи, которую я выше давал) вы можете просчитать за секунду (час, год). У меня секунд 5 только 1 руку считает при включение опции “точно”. Есть надежда улучшить этот результат в 100…1000 раз при реализации идеи Fabrikи.
|
0 |
13.11.2005, 11:36 | #88 (permalink) | |
Бессмертный
Регистрация: 30.04.2004
Сообщений: 3,612
|
Цитата:
__________________
Arthur Grey |
|
0 |
13.11.2005, 12:02 | #89 (permalink) |
Участник
Регистрация: 13.10.2004
Сообщений: 165
|
А чем техасский от простого отличается?
Там разве не 5-тикарточные комбинации? В 7-ми картах есть 7*6/2 = 21 пятерка. Про 10млн. Я ж написал: запоминаю время. Далее цикл от 1 до 10 000 000, генерирую 2 пятерки, одна моя, другая дилера. Если у меня пара и выше, закрываюсь. Проверяю есть ли игра у дилера, если есть, чья рука старше. Если его -> мне -3 анте, если моя -> мне + по правилам покера в зависимости от моей силы пятерки. Все это складываю 10млн. раз. Запоминаю время конца цикла. Отнимаю от начального. Сумму / на 10млн. получаю МО простого покера, и время затраченное на игру 10 млн. рук. Если обе руки генерирую сразу - 5,8сек, если руку дилера только если у меня есть игра - 4,4 сек. |
0 |
13.11.2005, 12:23 TS | #90 (permalink) |
Увлечённый
Регистрация: 26.10.2005
Адрес: Провинция
Сообщений: 462
|
2Фабрика. Вы, я так понял, обмены еще не добавили. А стратегия что-то уж очень примитивная, на ТК, получается, не закрываетесь никогда. Погоняйте хоть 100 млн. все равно быстро считает. При стандартных выплатах и ТК играет сколько получается МО.
|
0 |
13.11.2005, 12:43 | #91 (permalink) |
Участник
Регистрация: 13.10.2004
Сообщений: 165
|
Все что надо уже добавлено, даже заброшено давно. Все это еще было в июле 2003г., посмотрел дату файла пятерок.
Правда нет русского. Есть 6-я, обмен 1,2. А разговор идет про идею Коровина, для определения скорости расчета покера чтоб прога не зависела от компа. Имеется простая задача расчета простого покера без обменов на скорость. И стратегия тут не причем, про нее в этой задаче нет разговора. |
0 |
13.11.2005, 12:50 | #92 (permalink) | |
Бессмертный
Регистрация: 30.04.2004
Сообщений: 3,612
|
Цитата:
__________________
Arthur Grey |
|
0 |
13.11.2005, 13:07 TS | #93 (permalink) |
Увлечённый
Регистрация: 26.10.2005
Адрес: Провинция
Сообщений: 462
|
Понятно. Вы тут друг друга, наверное, еще с форума покер.ру знаете. И у всех это пройденный этап. Тут хоть есть люди, кто успешно что-нибудь сейчас разрабатывает. И скажите, что сейчас актуально, а то я так плетусь сзади. Хотя у меня кроме русского тоже уже делать нечего.
|
0 |
13.11.2005, 13:22 | #94 (permalink) |
Участник
Регистрация: 13.10.2004
Сообщений: 165
|
Да, все 21
Ну во-первых, в 7-ми картах определить, старшую комбинацию очень легко из массива 13*4. Суешь любое кол-во карт (например, в нашем случае 7) в этот массив, или например 46 карт, которые остались от руки игрока и КД, и практически сразу определяешь кол-во стритов, каре и т.д., очень быстро. Для 46 карт это выгодней, чем перебирать все 163185 возможный комбинаций. А вот для 21 наверно проще сделать 21 сравнение, чем разбирать сложной процедуров сравнений "в лоб" 7-ку карт. Надо же отсортировать, поискать флеши, стриты, каре, потом тройки, пары и т.д. |
0 |
13.11.2005, 15:43 | #95 (permalink) | ||
Бессмертный
Регистрация: 13.02.2004
Адрес: Россия
Сообщений: 3,027
|
Цитата:
Цитата:
Насчет массива, я думал об этом. Если флеши проверять отдельно, все замечательно получается для рук из 5-6 карт, с 7-ю сложнее. А мне сейчас как раз 7 и нужно. |
||
0 |
13.11.2005, 17:20 | #99 (permalink) |
Бессмертный
Регистрация: 13.02.2004
Адрес: Россия
Сообщений: 3,027
|
А время на генерацию 10 млн. случайных рук вычитаеш? Я очень много сил положил на оптимизацию скорости но всеравно меньше чем за 1000-2000 тактов процесоора анализировать нереально. Быстрее только прямая адресация в таблицу, но современной технике это не под силу.
|
0 |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Есть программисты тут? | AllMAD | Железо | 5 | 02.07.2010 12:30 |
SAP программисты всех стран... | alexejv | Поговорим за жизнь | 6 | 27.01.2009 13:43 |
Программисты дайте совет | Брюс | Поговорим за жизнь | 11 | 07.01.2006 11:52 |
|
|