Re: Самое быстрое определение покерной комбинации ID:24581 ответ на 24521 |
Пт, 8 сентября 2006 00:01 («] [#] [») |
|
|
Запись 2 байта - номер комбинации, а почему в оперативку не положиш? У меня 2 гига стоит, все влазит, только грузится долго.
|
|
|
Re: Самое быстрое определение покерной комбинации ID:24582 ответ на 24521 |
Пт, 8 сентября 2006 00:17 («] [#] [») |
|
|
все нормально, просто вариантов будет не 13^7 а поменьше, ведь комбинаций типа 'AAAAAxx' не существует, итого всего примерно 30 метров.
Я понял, что у тебя к каждой записи привязан ее статус (т.е. ее сила)
Но как по заданной комбинации ты формируешь адрес в памяти? Или деревом все сделано?
|
|
|
Re: Самое быстрое определение покерной комбинации ID:24583 ответ на 24521 |
Пт, 8 сентября 2006 00:41 («] [#] [») |
|
|
Все, я понял: это как 13-ричная система: переводим соответственно руку типа 'AAAAKKK' в десятиричную - и ее номер готов.
Причем соответствие взаимооднозначное. Угадал? У тебя также наверное.
|
|
|
Re: Самое быстрое определение покерной комбинации ID:24584 ответ на 24521 |
Пт, 8 сентября 2006 04:17 («] [#] [») |
|
|
Korovin писал | Запись 2 байта - номер комбинации, а почему в оперативку не положиш? У меня 2 гига стоит, все влазит, только грузится долго. |
Цитата: | Давай так, во сколько раз будет быстрее твоего, такая и цена в $ ок? | Давай так, во сколько раз будет меньше памяти использовать, такая и цена в $ ок?
|
|
|
Re: Самое быстрое определение покерной комбинации ID:24585 ответ на 24521 |
Сб, 9 сентября 2006 10:49 («] [#] [») |
|
|
YuDmAk, может уже пора в личку переходить ... ?!
|
|
|
Re: Самое быстрое определение покерной комбинации ID:24586 ответ на 24521 |
Сб, 9 сентября 2006 11:34 («] [#] [») |
|
|
А зачем иметь массив 52^5?
Достаточно иметь 13^5=371293 элементов. Имеем пятерку карт, разделяем отдельно на масти и номиналы. Перемножаем масти (их всего 4). У флешей произведение мастей всех 5 карт=1^5, 2^5, 3^5, 4^5. Если произведение не равно этим константам, значит не флеш. По номиналам определяем все кроме флешей, стритфлешей и роялей. Т.е. определяем нет игры, ТК, пара и т.д. как ячейка в массиве М(а[1],a[2],a[3],a[4],a[5]). За одно обращение к массиву и одно произведение 5 чисел определяем силу руки.
|
|
|
Re: Самое быстрое определение покерной комбинации ID:24587 ответ на 24521 |
Сб, 9 сентября 2006 11:59 («] [#] [») |
|
|
Цитата: | А зачем иметь массив 52^5? | Я тоже так считал, раньше. Но теперь то реализация такого массива - не проблема. Если цкоь - максимальная скорость, почему нет?
|
|
|
Re: Самое быстрое определение покерной комбинации ID:24588 ответ на 24521 |
Сб, 9 сентября 2006 12:51 («] [#] [») |
|
|
Если цель скорость, то конечно лучше сразу взять силу пятерки.
Но тогда можно с диска считывать не 52-массив, а 13-массив, и расширить его уже внутри программы на 52-массив, добавив все флеши в 13-массив. Тогда сократится время на загрузку массива. Или вообще переписать 13-массив в двоичном виде и подгрузить его в текст проги, и он будет ВСЕГДА сразу в проге , а после загрузки уже расширить его.
Хотя возможно проще считать массив с диска, чем проходить кучу циклов внутри программы.
|
|
|
Re: Самое быстрое определение покерной комбинации ID:24589 ответ на 24521 |
Сб, 9 сентября 2006 13:11 («] [#] [») |
|
|
Меня 5-карточные руки интересуют как частный случай, так-что я сторонник всеже 13^n массивов. Однако я имел переписку с человеком, профессионально считающим МО игр для казино, который использует именно 52^5 массив, а 6-7 карточные руки определяет за 6 и 21 обращение к этому массиву. Дальше раскрывать чужие секреты считаю некорректным, а свои идеи я уже сформулировал.
|
|
|
Re: Самое быстрое определение покерной комбинации ID:24590 ответ на 24521 |
Вт, 12 сентября 2006 11:44 («] [#] [») |
|
|
Korovin писал | я имел переписку с человеком, профессионально считающим МО игр для казино | Долго думал IMHO профессионализм -- это не возможность получать деньги за свой труд (на поверку это просто умение или случай оказаться "в нужном месте и в нужное время"), а способность делать свое дело так, как мало кто может...
|
|
|
Re: Самое быстрое определение покерной комбинации ID:24591 ответ на 24521 |
Вт, 12 сентября 2006 16:52 («] [#] [») |
|
|
Цитата: | Долго думал IMHO профессионализм -- это не возможность получать деньги за свой труд (на поверку это просто умение или случай оказаться "в нужном месте и в нужное время"), а способность делать свое дело так, как мало кто может... | <div align="left">Рано или поздно до твоего уровня дорастут другие. Делать так, как мало кто может возможно только постоянно придумывая либо новые методы счета, либо сами обьекты этого счета(ИМХО
С нынешним темпом развития техники потребность в программный оптимизации отпадает. Можно будет просчитывать полным перебором с приемлимой скоростью, техника позволит.
Надеюсь человечество придумает что-то ещё более сложное и гем..ое сегодняшним клубным и казиношным играм, оно это умеет
Для определения статусности комбинации лично использую 52^5 и 13^(3-7) массива одновременно. К сожалению Дельфи не позволил создать 52^(5-6),чтобы позволило бы не вычленять масти вовсе</div>
|
|
|
Re: Самое быстрое определение покерной комбинации ID:24592 ответ на 24521 |
Вт, 12 сентября 2006 17:30 («] [#] [») |
|
|
Так ты и есть тот самый профессионал?
|
|
|
Re: Самое быстрое определение покерной комбинации ID:24593 ответ на 24521 |
Вт, 12 сентября 2006 18:12 («] [#] [») |
|
|
Вряд ли. Просто хорошо знаю тему. Есть люди более профессиональных чем я
|
|
|
Re: Самое быстрое определение покерной комбинации ID:24594 ответ на 24521 |
Ср, 13 сентября 2006 15:50 («] [#] [») |
|
|
YuDmAk писал пт, 08 сентября 2006 01:41 | Все, я понял: это как 13-ричная система: переводим соответственно руку типа 'AAAAKKK' в десятиричную - и ее номер готов.
Причем соответствие взаимооднозначное. Угадал? У тебя также наверное. | А масти куда деть? Проще наверно по два разряда на карту использовать.
|
|
|
Re: Самое быстрое определение покерной комбинации ID:24661 ответ на 24521 |
Пн, 25 сентября 2006 21:48 («] [#] [») |
|
|
Sharky писал чт, 07 сентября 2006 18:33 | Коровин где-то писал, что обмен 5 у него 2 сек на его супер компе. У меня все обмены и +1 карта -- 2,3 сек на моем компе с меньшей частотой в 2 раза. Запускал демку Блица, и засекал секундомером на мобилке его скорость перебора в районе 6-7 секунд против моих 2,3. | Шарки, а у тебя какая конфигурация копьютера? Такая скорость напоминает мне Р-III. Или ты имел ввиду тестовый точный движок? Так это не в счет, на то он и "тестовый"... Сравнивать нужно с коммерческой версией, но боюсь, что опять начнется баян про "скорость" и "точность".
Какие, кстати, современные достижения по скорости обсчета "пятака"?
Блиц.
|
|
|
Re: Самое быстрое определение покерной комбинации ID:24662 ответ на 24521 |
Пн, 25 сентября 2006 22:10 («] [#] [») |
|
|
Blitz писал пн, 25 сентября 2006 21:48 | Шарки, а у тебя какая конфигурация копьютера? Такая скорость напоминает мне Р-III. Или ты имел ввиду тестовый точный движок? Так это не в счет, на то он и "тестовый"... Сравнивать нужно с коммерческой версией, но боюсь, что опять начнется баян про "скорость" и "точность".
Какие, кстати, современные достижения по скорости обсчета "пятака"?
Блиц. | AMD Athlon XP 2000+
1,67 ГГц, 512 МБ
Замерял тестовый точный для всех обменов.. в демке вроде нет выбора..
По достижениям скорости, все нужно мерить на одном компе...
|
|
|
Re: Самое быстрое определение покерной комбинации ID:24663 ответ на 24521 |
Пн, 25 сентября 2006 22:31 («] [#] [») |
|
|
Sharky писал вт, 26 сентября 2006 00:10 | По достижениям скорости, все нужно мерить на одном компе... | Кто готов предоставить эталонный комп?
Блиц.
|
|
|
Re: Самое быстрое определение покерной комбинации ID:24664 ответ на 24521 |
Вт, 26 сентября 2006 04:05 («] [#] [») |
|
|
Sharky писал | По достижениям скорости, все нужно мерить на одном компе... | IMHO, скорость практически линейно зависит от тактовой частоты CPU, размер памяти не имеет значения. Ну если только вашей проге не требуется 2 гига мозгов...
|
|
|
Re: Самое быстрое определение покерной комбинации ID:24666 ответ на 24521 |
Вт, 26 сентября 2006 05:05 («] [#] [») |
|
|
Приветствую!
2 Blitz
Blitz писал вт, 26 сентября 2006 01:31 | Sharky писал вт, 26 сентября 2006 00:10 | По достижениям скорости, все нужно мерить на одном компе... | Кто готов предоставить эталонный комп?
Блиц. | Скоро должен прийтие сервер на Xeon. Вот на нем можно будет и померить.
|
|
|
Re: Самое быстрое определение покерной комбинации ID:24667 ответ на 24521 |
Вт, 26 сентября 2006 05:28 («] [#] [») |
|
|
Grey писал вт, 26 сентября 2006 04:05 | Sharky писал | По достижениям скорости, все нужно мерить на одном компе... | IMHO, скорость практически линейно зависит от тактовой частоты CPU, размер памяти не имеет значения. Ну если только вашей проге не требуется 2 гига мозгов... | У меня постоянно висят какие-то сервисы жрущие ресурсы в том числе процессорные, такие как фаервол, антивирус, БД и т.д. Плюс постоянно подключен к Lan, где постоянно шныряют броуткасты. Поэтому даже на таком же железе, но на другом компьютере скорость будет разниться. Поэтому для чистоты эксперимента нужно тестировать все проги на одной машине, а лучше на 2,3 и т.п. Только зачем это все и кому это нужно на самом деле?
|
|
|