Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Программирование [игнор отключен] [закрыт для гостей] / Я тут задумался / 25 сообщений из 38, страница 1 из 2
09.11.2015, 10:17
    #39098030
scf
scf
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Я тут задумался
Есть колода карт. Как определить, хорошо ли она перемешана?
...
Рейтинг: 0 / 0
09.11.2015, 10:52
    #39098065
Соколинский Борис
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Я тут задумался
Я бы критерий инверсии проверял для мастей и карт одного достоинства.
...
Рейтинг: 0 / 0
09.11.2015, 14:33
    #39098429
mini.weblab
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Я тут задумался
scf,

1) нужно определить критерий "что такое хорошо" - и вперед
2) с задачей об алгоритме перемешивания будет гораздо проще - она стандартная
...
Рейтинг: 0 / 0
09.11.2015, 18:15
    #39098752
MasterZiv
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Я тут задумался
Надо определить критерий качеаства перемешивания и вычислить его для заданной перестановки карт в колоде.

Об этом недавно была тема в С++.
...
Рейтинг: 0 / 0
09.11.2015, 19:25
    #39098836
White Owl
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Я тут задумался
Критерий качества перемешивания? Да запросто: Сколько индивидуальных шагов потребуется для восстановления сортировки?

Берешь свой любимый метод сортировки и прогоняешь колоду через него подсчитывая количество сколько раз ты поменял две карты местами. Полученную цифру делишь на максимально возможное количество перестановок (мы его знаем из определения алгоритма сортировки) и получаешь искомый "процент перемешанности".
Хотя, наверное надо будет еще поделить максимум на два перед делением. Потому что максимум шагов мы можем получить если начальный массив (колода) находится в идеально-обратном порядке, что не может считаться перемешанным...
...
Рейтинг: 0 / 0
09.11.2015, 19:42
    #39098852
Соколинский Борис
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Я тут задумался
White Owl,
В этом случае колода, строго упорядоченная обратно "начальной" будет считаться идеально перемешанной.
...
Рейтинг: 0 / 0
09.11.2015, 19:45
    #39098854
Соколинский Борис
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Я тут задумался
Упс, недочитал до конца.

ИМХО, с перестановками ничего путного не выйдет, очень много будет "особых" ситуаций.
...
Рейтинг: 0 / 0
09.11.2015, 19:59
    #39098858
eNose
Участник
[не активирован]
[не одобрен]
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Я тут задумался
в идеале не должно быть

1) повторяющихся мастей
2) повторяющихся достоинств
3) возрастающих/убывающих по порядку достоинств
4) повторяющихся последовательностей
...
Рейтинг: 0 / 0
09.11.2015, 20:24
    #39098872
scf
scf
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Я тут задумался
Всё немного интереснее)
...
Рейтинг: 0 / 0
09.11.2015, 23:20
    #39098964
S.G.
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Я тут задумался
eNoseв идеале не должно быть

1) повторяющихся мастей
2) повторяющихся достоинств
3) возрастающих/убывающих по порядку достоинств
4) повторяющихся последовательностей совсем немного из всего этого, все-таки должо быть, иначе это будет каким-то упорядочиванием.
...
Рейтинг: 0 / 0
10.11.2015, 01:52
    #39099063
egorych
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Я тут задумался
eNoseв идеале не должно быть

1) повторяющихся мастей
2) повторяющихся достоинств
3) возрастающих/убывающих по порядку достоинств
4) повторяющихся последовательностейруки сдающему надо за такие сдачи отрывать, и канделябром по голове
...
Рейтинг: 0 / 0
10.11.2015, 07:19
    #39099110
SashaMercury
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Я тут задумался
White OwlКритерий качества перемешивания? Да запросто: Сколько индивидуальных шагов потребуется для восстановления сортировки?

Берешь свой любимый метод сортировки и прогоняешь колоду через него подсчитывая количество сколько раз ты поменял две карты местами. Полученную цифру делишь на максимально возможное количество перестановок (мы его знаем из определения алгоритма сортировки) и получаешь искомый "процент перемешанности".
Хотя, наверное надо будет еще поделить максимум на два перед делением. Потому что максимум шагов мы можем получить если начальный массив (колода) находится в идеально-обратном порядке, что не может считаться перемешанным...

Значит если использовать quicksort все колоды будут иметь примерно одинаковую меру "перемешанности" ?

На самом деле практически любой метод сортировки в большинстве случаев будет давать примерно одинаковые между собой результаты данного критерия.
...
Рейтинг: 0 / 0
10.11.2015, 14:59
    #39099641
Dimitry Sibiryakov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Я тут задумался
SashaMercuryЗначит если использовать quicksort все колоды будут иметь примерно одинаковую меру "перемешанности" ?
Нет, при использовании quicksort самой перемешанной будет считаться изначально упорядоченная колода.
...
Рейтинг: 0 / 0
10.11.2015, 16:07
    #39099755
mayton
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Я тут задумался
Ну... я к сдыду должен признаться что нифига не понимаю в карточных играх.
И умею играть только в дураки. Но вроде-бы я читал что для некоторых игр
типа Покер или Блек Джек нужно собирать "правильные" комбинации.

Разумеется колода, отсортированная машинным детерминированным псевдо-случайным
обменом может иметь некоторые под-последовательности которые приведут
к слишком-уж подозрительному порядку сдачи. Поэтому конечно-же
Надо брать Secured-Random. Особенно если учесть тот факт что
карточные игроки и лудоманы проявляют дьявольскую наблюдательность
в оценке того как сдаёт тот или иной игровой автомат или интернет-казино.
...
Рейтинг: 0 / 0
10.11.2015, 20:07
    #39100018
Dima T
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Я тут задумался
ИМХУ "Хорошо перемешано" невозможно оценить. И это главное с точки зрения оценивающих перемешивание. Любая оценка, т.е. подгонка под оценку однозначно приводит к результату "плохо перемешано". Хорошо перемешано должно быть так, чтобы невозможно было оценить как перемешано.
...
Рейтинг: 0 / 0
10.11.2015, 21:08
    #39100041
Соколинский Борис
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Я тут задумался
Можно еще перенумеровать все карты в колоде и считать тестируемый вариант результатом работы генератора случайных чисел. Методов для оценки их качества множество.
...
Рейтинг: 0 / 0
10.11.2015, 23:40
    #39100112
mayton
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Я тут задумался
Dima TИМХУ "Хорошо перемешано" невозможно оценить. И это главное с точки зрения оценивающих перемешивание. Любая оценка, т.е. подгонка под оценку однозначно приводит к результату "плохо перемешано". Хорошо перемешано должно быть так, чтобы невозможно было оценить как перемешано.
Для симметричного шифрования был критерий который я запомнил. Вобщем смена 1 бита в открытом
тексте должна порождать 50% изменившихся битов к шифро-блоке. +Там еще была куча стат-показателей
типа автокорреляции и т.п. Но не суть.

Вобщем. Мне кажется к тасованию карт можно применить нечто вроде критерия "добротности" как в шифрах
и хешах.

Ну примеру.

1. Отсортированная колода (по мастям и по рангу) после одного раудна тасования должна порождать 50%
изменившихся бит.

2. Повторный раунд тасования - тоже самое.

3. Не должно быть технической возможности узнать ГДЕ будет нужная карта через 1 раунд тасования.
Это мне кажется ключевой момент для всех карточных игр.

4. Для ГПСЧ период должен быть достаточно большой. Эээ.... еще больше. Нет еще-еще больше. Как-тот так.

По поводу битов ... эээ я еще не могу придумать чо как. Для 36/53 карт надо подумать. Возможно это нетривиально.
...
Рейтинг: 0 / 0
11.11.2015, 14:08
    #39100701
softwarer
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Я тут задумался
maytonОсобенно если учесть тот факт что карточные игроки и лудоманы проявляют дьявольскую наблюдательность в оценке того как сдаёт тот или иной игровой автомат или интернет-казино.
В казино есть хорошее истинно случайное число - точное время очередной сдачи. Думаю, достаточно грамотно внести его во входные данные, чтобы получить надёжное средство против любой "дьявольской наблюдательности".
...
Рейтинг: 0 / 0
11.11.2015, 15:08
    #39100783
mayton
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Я тут задумался
Для онлайн-казино (а я думаю мы скорее всего будем обсуждать именно такой кейс) я-бы не стал
использовать время как аргумент для случайного числа.

Системное время в мс конечно иногда используют для seed. Но думаю что это может быть как сильной
так и слабой стороной алгоритма. Пока не готов аргументировать. Надо подумать.
...
Рейтинг: 0 / 0
11.11.2015, 22:21
    #39101205
mini.weblab
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Я тут задумался
softwarer,

нужна будет синхронизация по времени с сервером он-лайн казино
...
Рейтинг: 0 / 0
11.11.2015, 22:44
    #39101232
mini.weblab
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Я тут задумался
mayton,

use case:
пусть он-лайн казино использует время раздачи как случайную величину
всего комбинаций 36! (36 факториал)
т.е имеем цикл с периодом Т=36!
Пусть одна комбинация соответствует одному моменту времени,
это означает, что точно установив время раздачи можно точно узнать комбинацию.
Установив приблизительно время раздачи, узнаем диапазон возможных комбинаций.
...
Рейтинг: 0 / 0
12.11.2015, 09:30
    #39101421
mayton
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Я тут задумался
mini.weblabпусть он-лайн казино использует время раздачи как случайную величину
всего комбинаций 36! (36 факториал)
т.е имеем цикл с периодом Т=36!

Мысль потерял. Между временем и "всего комбинаций".
...
Рейтинг: 0 / 0
12.11.2015, 11:16
    #39101541
mini.weblab
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Я тут задумался
mayton,

посмотри основы работы псевдо ГСЧ
...
Рейтинг: 0 / 0
12.11.2015, 11:33
    #39101558
softwarer
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Я тут задумался
mini.weblabПусть одна комбинация соответствует одному моменту времени,
Вот это уже вряд ли разумно. Время нужно использовать для внесения "непредсказуемости" в раздачу ГСЧ, а не как номер комбинации.
...
Рейтинг: 0 / 0
12.11.2015, 11:50
    #39101578
mini.weblab
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Я тут задумался
softwarer,

использование времени раздачи в качестве случайной величины, означает, что seed = момент времени
разве нет?
...
Рейтинг: 0 / 0
Форумы / Программирование [игнор отключен] [закрыт для гостей] / Я тут задумался / 25 сообщений из 38, страница 1 из 2
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]