powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Программирование [игнор отключен] [закрыт для гостей] / Я тут задумался
25 сообщений из 38, страница 1 из 2
Я тут задумался
    #39098030
scf
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Есть колода карт. Как определить, хорошо ли она перемешана?
...
Рейтинг: 0 / 0
Я тут задумался
    #39098065
Соколинский Борис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я бы критерий инверсии проверял для мастей и карт одного достоинства.
...
Рейтинг: 0 / 0
Я тут задумался
    #39098429
mini.weblab
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
scf,

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

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

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

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

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

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

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

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

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

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

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

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

Ну примеру.

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

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

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

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

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

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

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

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

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

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

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


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