Регистрация
Регистрация Поиск Сообщество  
CGM > Казино > Игры казино > Настольные игры > Покер против казино
Опции темы

Программисты помогите

Важные объявления
Старый 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 (не помню точно) при первом (случайном) прогоне, при последующем трудно оценить (вбиваешь карты вручную).
Это Я вне форума      
Старый 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 сек.
Fabrica вне форума      
Старый 13.11.2005, 10:12     TS Старый   #83 (permalink)
Увлечённый
 
Регистрация: 26.10.2005
Адрес: Провинция
Сообщений: 462
2Fabrica. Привет. Массив рук хорошая мысль. Надеюсь, вы это не запатентовали, и я втихаря займусь плагиатом. Но не врубаюсь, как их запаковать в 5 метров. Получается сил комбинаций (у меня менее удачные 15 рангов) меньше 65536/10=6553 для любой комбинации. Еще не понял, как любую руку преобразовать в индекс 0…2598960. Наверное, начну делать – дойдет. Насколько сложные правила вы считаете. Если не сложно выдайте пример расчета руки типа моего.
Это Я вне форума      
Старый 13.11.2005, 10:19     TS Старый   #84 (permalink)
Увлечённый
 
Регистрация: 26.10.2005
Адрес: Провинция
Сообщений: 462
P.S. Забыл добавить, что у меня 3 функции, выдающие комбинацию: на 5 картах, на 6 картах, и на 5 картах с джокером. Причем с джокером сложнее всего преобразовать в массив т.к. там куча условных операторов, отвечающих за правило куда джокер подходит, а куда нет.
Это Я вне форума      
Старый 13.11.2005, 10:24   #85 (permalink)
Увлечённый
 
Регистрация: 13.02.2004
Сообщений: 443
2Fabrica
У вас с Коровиным проги различные - у тебя полный перебор, у него симулятор/перебор - что их сравнивать то?!

Кстате, можно и без файла обойтись
ёжик вне форума      
Старый 13.11.2005, 10:44   #86 (permalink)
Участник
 
Регистрация: 13.10.2004
Сообщений: 165
Нет условия одни и теже, тока что добавил в прогу кнопочку и генерацию 10млн. случайных рук, если выше пары - играю, генерирую еще руку, сравниваю. Считаю МО. И время на все тоже.

Действительно не выходит засунуть все в 5 мегов. Всего различных пятерок - 28496, если упростить (выкинуть пустышки и т.д.) останется 7461 штука. Получаем 74610 - в слово не влазит
Fabrica вне форума      
Старый 13.11.2005, 10:58     TS Старый   #87 (permalink)
Увлечённый
 
Регистрация: 26.10.2005
Адрес: Провинция
Сообщений: 462
Может я тормоз. Вы какие 10 млн. комбинаций все считаете за 5,8с или 9с. Вы мне скажите, сколько миллиардов рук (типа той задачи, которую я выше давал) вы можете просчитать за секунду (час, год). У меня секунд 5 только 1 руку считает при включение опции “точно”. Есть надежда улучшить этот результат в 100…1000 раз при реализации идеи Fabrikи.
Это Я вне форума      
Старый 13.11.2005, 11:36   #88 (permalink)
Бессмертный
 
Аватар для Grey
 
Регистрация: 30.04.2004
Сообщений: 3,612
Цитата:
Сообщение от Fabrica писал
2Korovin, //У меня в качестве слабого звена вылезла функция определения комбинации на руке, ее время сопоставимо со временем анализ игры дилера. //
А зачем ее вычислять/определять?
Я сразу сделал массив из 2598960 4-байтных слов по всем пятеркам карт.
Порочный путь, IMHO. C техасским холдемом не приходилось сталкиваться? Там как быть? Делать массив размером 133784560?
__________________
Arthur Grey
Grey вне форума      
Старый 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 сек.
Fabrica вне форума      
Старый 13.11.2005, 12:23     TS Старый   #90 (permalink)
Увлечённый
 
Регистрация: 26.10.2005
Адрес: Провинция
Сообщений: 462
2Фабрика. Вы, я так понял, обмены еще не добавили. А стратегия что-то уж очень примитивная, на ТК, получается, не закрываетесь никогда. Погоняйте хоть 100 млн. все равно быстро считает. При стандартных выплатах и ТК играет сколько получается МО.
Это Я вне форума      
Старый 13.11.2005, 12:43   #91 (permalink)
Участник
 
Регистрация: 13.10.2004
Сообщений: 165
Все что надо уже добавлено, даже заброшено давно. Все это еще было в июле 2003г., посмотрел дату файла пятерок.
Правда нет русского.

Есть 6-я, обмен 1,2.

А разговор идет про идею Коровина, для определения скорости расчета покера чтоб прога не зависела от компа. Имеется простая задача расчета простого покера без обменов на скорость. И стратегия тут не причем, про нее в этой задаче нет разговора.
Fabrica вне форума      
Старый 13.11.2005, 12:50   #92 (permalink)
Бессмертный
 
Аватар для Grey
 
Регистрация: 30.04.2004
Сообщений: 3,612
Цитата:
Сообщение от Fabrica писал
А чем техасский от простого отличается?
Там разве не 5-тикарточные комбинации?
В 7-ми картах есть 7*6/2 = 21 пятерка.
И все 21 по очереди проверять???
__________________
Arthur Grey
Grey вне форума      
Старый 13.11.2005, 13:07     TS Старый   #93 (permalink)
Увлечённый
 
Регистрация: 26.10.2005
Адрес: Провинция
Сообщений: 462
Понятно. Вы тут друг друга, наверное, еще с форума покер.ру знаете. И у всех это пройденный этап. Тут хоть есть люди, кто успешно что-нибудь сейчас разрабатывает. И скажите, что сейчас актуально, а то я так плетусь сзади. Хотя у меня кроме русского тоже уже делать нечего.
Это Я вне форума      
Старый 13.11.2005, 13:22   #94 (permalink)
Участник
 
Регистрация: 13.10.2004
Сообщений: 165
Да, все 21

Ну во-первых, в 7-ми картах определить, старшую комбинацию очень легко из массива 13*4. Суешь любое кол-во карт (например, в нашем случае 7) в этот массив, или например 46 карт, которые остались от руки игрока и КД, и практически сразу определяешь кол-во стритов, каре и т.д., очень быстро. Для 46 карт это выгодней, чем перебирать все 163185 возможный комбинаций. А вот для 21 наверно проще сделать 21 сравнение, чем разбирать сложной процедуров сравнений "в лоб" 7-ку карт. Надо же отсортировать, поискать флеши, стриты, каре, потом тройки, пары и т.д.
Fabrica вне форума      
Старый 13.11.2005, 15:43   #95 (permalink)
Бессмертный
 
Аватар для korovin
 
Регистрация: 13.02.2004
Адрес: Россия
Сообщений: 3,027
Цитата:
Сообщение от Цитата:
Про 10млн. Я ж написал: запоминаю время. Далее цикл от 1 до 10 000 000, генерирую 2 пятерки, одна моя, другая дилера. Если у меня пара и выше, закрываюсь. Проверяю есть ли игра у дилера, если есть, чья рука старше
Мы говорим о разных вещах. Моя демка раздает 6 карт, 5 игроку и 1 дилеру. Считает точное число ВОЗМОЖНЫХ вариантов игры дилера старше/младше/равно. Вычисляет МО решения "закрыть", если оно больше -1, суммирует его, иначе -1. И так заданное число раз. Улавливаете разницу: сравнить 2 руки о посчитать МО руки против 1 карты дилера? Т.е моя демка демонстрирует скорость анализа руки игрока, а ваша скорость сравнения двух рук.

Цитата:
Сообщение от Цитата:
На 2 этапе, я так понял, вы откидываете определенные варианты по определенной логике
Считает все варианты, просто визуально показывает лучшее решение.

Насчет массива, я думал об этом. Если флеши проверять отдельно, все замечательно получается для рук из 5-6 карт, с 7-ю сложнее. А мне сейчас как раз 7 и нужно.
korovin вне форума      
Старый 13.11.2005, 17:02   #96 (permalink)
Участник
 
Регистрация: 13.10.2004
Сообщений: 165
Признаю, у меня тоже самое делает 10млн за 21,8 сек, против 9 сек Вашей проги. Т.е. считаю кол-во пятерок меньше/равно/больше и т.д.
Fabrica вне форума      
Старый 13.11.2005, 17:11   #97 (permalink)
Бессмертный
 
Аватар для korovin
 
Регистрация: 13.02.2004
Адрес: Россия
Сообщений: 3,027
Всего в 2 раза, это же не в разы! Это Я, для точного расчета покупки шестой с обменом требуется 46*6*45=12420 анализов. При средней скорости 1 000 000 в секунду получаем 80 рук в секунду.
korovin вне форума      
Старый 13.11.2005, 17:15   #98 (permalink)
Участник
 
Регистрация: 13.10.2004
Сообщений: 165
Сорри, даже за 31 сек., нашел ошибку
Fabrica вне форума      
Старый 13.11.2005, 17:20   #99 (permalink)
Бессмертный
 
Аватар для korovin
 
Регистрация: 13.02.2004
Адрес: Россия
Сообщений: 3,027
А время на генерацию 10 млн. случайных рук вычитаеш? Я очень много сил положил на оптимизацию скорости но всеравно меньше чем за 1000-2000 тактов процесоора анализировать нереально. Быстрее только прямая адресация в таблицу, но современной технике это не под силу.
korovin вне форума      
Старый 13.11.2005, 18:04   #100 (permalink)
Участник
 
Регистрация: 13.10.2004
Сообщений: 165
Не вычитаю. Всеравно у меня гораздо больше. Пусть "грязного" времени будет не 9, 9.5 сек, против 31сек всеравно меньше.
Fabrica вне форума      

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Есть программисты тут? AllMAD Железо 5 02.07.2010 12:30
SAP программисты всех стран... alexejv Поговорим за жизнь 6 27.01.2009 13:43
Программисты дайте совет Брюс Поговорим за жизнь 11 07.01.2006 11:52



Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Trackbacks are Выкл.
Pingbacks are Выкл.
Refbacks are Выкл.

Быстрый переход
Правила форумов CGM Контакты Справка Обратная связь CGM.ru Архив Вверх Главная
 
Использование материалов сайта разрешено только при наличии активной ссылки на источник.
Все права на картинки и тексты принадлежат Информационному агентству CGM и их ПАРТНЕРАМ. Политика конфидециальности
CGM.ru на Youtube CGM.ru на Google+ CGM.ru в Twitter CGM.ru на Facebook CGM.ru в vKontakte CGM.ru в Instagram

В сотрудничестве с Pokeroff.ru
Текущее время: 21:55. Часовой пояс GMT +3.
Powered by vBulletin® Version 3.8.7
Copyright ©2000 - 2024, vBulletin Solutions, Inc. Перевод: zCarot