|
|
|
Я тут задумался
|
|||
|---|---|---|---|
|
#18+
Есть колода карт. Как определить, хорошо ли она перемешана? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.11.2015, 10:17 |
|
||
|
Я тут задумался
|
|||
|---|---|---|---|
|
#18+
Я бы критерий инверсии проверял для мастей и карт одного достоинства. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.11.2015, 10:52 |
|
||
|
Я тут задумался
|
|||
|---|---|---|---|
|
#18+
scf, 1) нужно определить критерий "что такое хорошо" - и вперед 2) с задачей об алгоритме перемешивания будет гораздо проще - она стандартная ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.11.2015, 14:33 |
|
||
|
Я тут задумался
|
|||
|---|---|---|---|
|
#18+
Надо определить критерий качеаства перемешивания и вычислить его для заданной перестановки карт в колоде. Об этом недавно была тема в С++. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.11.2015, 18:15 |
|
||
|
Я тут задумался
|
|||
|---|---|---|---|
|
#18+
Критерий качества перемешивания? Да запросто: Сколько индивидуальных шагов потребуется для восстановления сортировки? Берешь свой любимый метод сортировки и прогоняешь колоду через него подсчитывая количество сколько раз ты поменял две карты местами. Полученную цифру делишь на максимально возможное количество перестановок (мы его знаем из определения алгоритма сортировки) и получаешь искомый "процент перемешанности". Хотя, наверное надо будет еще поделить максимум на два перед делением. Потому что максимум шагов мы можем получить если начальный массив (колода) находится в идеально-обратном порядке, что не может считаться перемешанным... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.11.2015, 19:25 |
|
||
|
Я тут задумался
|
|||
|---|---|---|---|
|
#18+
White Owl, В этом случае колода, строго упорядоченная обратно "начальной" будет считаться идеально перемешанной. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.11.2015, 19:42 |
|
||
|
Я тут задумался
|
|||
|---|---|---|---|
|
#18+
Упс, недочитал до конца. ИМХО, с перестановками ничего путного не выйдет, очень много будет "особых" ситуаций. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.11.2015, 19:45 |
|
||
|
Я тут задумался
|
|||
|---|---|---|---|
|
#18+
в идеале не должно быть 1) повторяющихся мастей 2) повторяющихся достоинств 3) возрастающих/убывающих по порядку достоинств 4) повторяющихся последовательностей ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.11.2015, 19:59 |
|
||
|
Я тут задумался
|
|||
|---|---|---|---|
|
#18+
eNoseв идеале не должно быть 1) повторяющихся мастей 2) повторяющихся достоинств 3) возрастающих/убывающих по порядку достоинств 4) повторяющихся последовательностей совсем немного из всего этого, все-таки должо быть, иначе это будет каким-то упорядочиванием. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.11.2015, 23:20 |
|
||
|
Я тут задумался
|
|||
|---|---|---|---|
|
#18+
eNoseв идеале не должно быть 1) повторяющихся мастей 2) повторяющихся достоинств 3) возрастающих/убывающих по порядку достоинств 4) повторяющихся последовательностейруки сдающему надо за такие сдачи отрывать, и канделябром по голове ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.11.2015, 01:52 |
|
||
|
Я тут задумался
|
|||
|---|---|---|---|
|
#18+
White OwlКритерий качества перемешивания? Да запросто: Сколько индивидуальных шагов потребуется для восстановления сортировки? Берешь свой любимый метод сортировки и прогоняешь колоду через него подсчитывая количество сколько раз ты поменял две карты местами. Полученную цифру делишь на максимально возможное количество перестановок (мы его знаем из определения алгоритма сортировки) и получаешь искомый "процент перемешанности". Хотя, наверное надо будет еще поделить максимум на два перед делением. Потому что максимум шагов мы можем получить если начальный массив (колода) находится в идеально-обратном порядке, что не может считаться перемешанным... Значит если использовать quicksort все колоды будут иметь примерно одинаковую меру "перемешанности" ? На самом деле практически любой метод сортировки в большинстве случаев будет давать примерно одинаковые между собой результаты данного критерия. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.11.2015, 07:19 |
|
||
|
Я тут задумался
|
|||
|---|---|---|---|
|
#18+
SashaMercuryЗначит если использовать quicksort все колоды будут иметь примерно одинаковую меру "перемешанности" ? Нет, при использовании quicksort самой перемешанной будет считаться изначально упорядоченная колода. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.11.2015, 14:59 |
|
||
|
Я тут задумался
|
|||
|---|---|---|---|
|
#18+
Ну... я к сдыду должен признаться что нифига не понимаю в карточных играх. И умею играть только в дураки. Но вроде-бы я читал что для некоторых игр типа Покер или Блек Джек нужно собирать "правильные" комбинации. Разумеется колода, отсортированная машинным детерминированным псевдо-случайным обменом может иметь некоторые под-последовательности которые приведут к слишком-уж подозрительному порядку сдачи. Поэтому конечно-же Надо брать Secured-Random. Особенно если учесть тот факт что карточные игроки и лудоманы проявляют дьявольскую наблюдательность в оценке того как сдаёт тот или иной игровой автомат или интернет-казино. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.11.2015, 16:07 |
|
||
|
Я тут задумался
|
|||
|---|---|---|---|
|
#18+
ИМХУ "Хорошо перемешано" невозможно оценить. И это главное с точки зрения оценивающих перемешивание. Любая оценка, т.е. подгонка под оценку однозначно приводит к результату "плохо перемешано". Хорошо перемешано должно быть так, чтобы невозможно было оценить как перемешано. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.11.2015, 20:07 |
|
||
|
Я тут задумался
|
|||
|---|---|---|---|
|
#18+
Можно еще перенумеровать все карты в колоде и считать тестируемый вариант результатом работы генератора случайных чисел. Методов для оценки их качества множество. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.11.2015, 21:08 |
|
||
|
Я тут задумался
|
|||
|---|---|---|---|
|
#18+
Dima TИМХУ "Хорошо перемешано" невозможно оценить. И это главное с точки зрения оценивающих перемешивание. Любая оценка, т.е. подгонка под оценку однозначно приводит к результату "плохо перемешано". Хорошо перемешано должно быть так, чтобы невозможно было оценить как перемешано. Для симметричного шифрования был критерий который я запомнил. Вобщем смена 1 бита в открытом тексте должна порождать 50% изменившихся битов к шифро-блоке. +Там еще была куча стат-показателей типа автокорреляции и т.п. Но не суть. Вобщем. Мне кажется к тасованию карт можно применить нечто вроде критерия "добротности" как в шифрах и хешах. Ну примеру. 1. Отсортированная колода (по мастям и по рангу) после одного раудна тасования должна порождать 50% изменившихся бит. 2. Повторный раунд тасования - тоже самое. 3. Не должно быть технической возможности узнать ГДЕ будет нужная карта через 1 раунд тасования. Это мне кажется ключевой момент для всех карточных игр. 4. Для ГПСЧ период должен быть достаточно большой. Эээ.... еще больше. Нет еще-еще больше. Как-тот так. По поводу битов ... эээ я еще не могу придумать чо как. Для 36/53 карт надо подумать. Возможно это нетривиально. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.11.2015, 23:40 |
|
||
|
Я тут задумался
|
|||
|---|---|---|---|
|
#18+
maytonОсобенно если учесть тот факт что карточные игроки и лудоманы проявляют дьявольскую наблюдательность в оценке того как сдаёт тот или иной игровой автомат или интернет-казино. В казино есть хорошее истинно случайное число - точное время очередной сдачи. Думаю, достаточно грамотно внести его во входные данные, чтобы получить надёжное средство против любой "дьявольской наблюдательности". ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.11.2015, 14:08 |
|
||
|
Я тут задумался
|
|||
|---|---|---|---|
|
#18+
Для онлайн-казино (а я думаю мы скорее всего будем обсуждать именно такой кейс) я-бы не стал использовать время как аргумент для случайного числа. Системное время в мс конечно иногда используют для seed. Но думаю что это может быть как сильной так и слабой стороной алгоритма. Пока не готов аргументировать. Надо подумать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.11.2015, 15:08 |
|
||
|
Я тут задумался
|
|||
|---|---|---|---|
|
#18+
softwarer, нужна будет синхронизация по времени с сервером он-лайн казино ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.11.2015, 22:21 |
|
||
|
Я тут задумался
|
|||
|---|---|---|---|
|
#18+
mayton, use case: пусть он-лайн казино использует время раздачи как случайную величину всего комбинаций 36! (36 факториал) т.е имеем цикл с периодом Т=36! Пусть одна комбинация соответствует одному моменту времени, это означает, что точно установив время раздачи можно точно узнать комбинацию. Установив приблизительно время раздачи, узнаем диапазон возможных комбинаций. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.11.2015, 22:44 |
|
||
|
Я тут задумался
|
|||
|---|---|---|---|
|
#18+
mini.weblabпусть он-лайн казино использует время раздачи как случайную величину всего комбинаций 36! (36 факториал) т.е имеем цикл с периодом Т=36! Мысль потерял. Между временем и "всего комбинаций". ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.11.2015, 09:30 |
|
||
|
Я тут задумался
|
|||
|---|---|---|---|
|
#18+
mayton, посмотри основы работы псевдо ГСЧ ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.11.2015, 11:16 |
|
||
|
Я тут задумался
|
|||
|---|---|---|---|
|
#18+
mini.weblabПусть одна комбинация соответствует одному моменту времени, Вот это уже вряд ли разумно. Время нужно использовать для внесения "непредсказуемости" в раздачу ГСЧ, а не как номер комбинации. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.11.2015, 11:33 |
|
||
|
|

start [/forum/topic.php?fid=16&msg=39101541&tid=1340879]: |
0ms |
get settings: |
8ms |
get forum list: |
9ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
50ms |
get topic data: |
6ms |
get forum data: |
1ms |
get page messages: |
60ms |
get tp. blocked users: |
1ms |
| others: | 245ms |
| total: | 384ms |

| 0 / 0 |
