Берсерк: Возрождение

Разработчикам => Предложения => Тема начата: TetAteT от Сентября 17, 2017, 02:38:05 pm

Название: Закон больших чисел.
Отправлено: TetAteT от Сентября 17, 2017, 02:38:05 pm
     Хочу предложить реализацию в БВ закона больших чисел, и применить его на броски куба.
     К выводу, что броски куба прописаны полной случайностью и никак технически не пытаются быть приведены к единому значению, я пришел после того, как отыграл с противником 50+ ходов, при этом у противника изначально было 20+ бросков и в конце их число составляло минимум 3 каждый ход.  Моё кол-во бросков в мой ход не было таким внушительным, тем не менее, изначально составляло 8 и в дальнейшем медленно снижалось. Финальный подсчет показал, что среднее арифметическое наших бросков составило 3.3 у меня против 3.6 у противника. Факт меня несколько опечалил, поскольку в финале ходов 30 всё решалось именно пробитием и непробитием открытых карт.
     Можно ответить "мы следуем реальности, где броски кубика никто не балансирует", но следовать тенденциям реальности в компьютерной игре никто не заставляет. Можно реализовать это и снизить количество рандома в игре, которого и так полным полно, и получить благодарных пользователей. Если же система уже реализована, интересно узнать для тестов, сколько бросков кубика должны проделать обе стороны, чтобы их среднее арифметическое составило 3.5 для каждого из них, или на каком отрезке происходит уравнение среднего арифметического бросков двух пользователей.
Название: Re: Закон больших чисел.
Отправлено: Schoroh от Сентября 17, 2017, 07:19:36 pm
(http://www.clanberserk.ru/forum/images/smilies/i-upset.gif)
Название: Re: Закон больших чисел.
Отправлено: Призрачный Конунг от Сентября 17, 2017, 08:59:18 pm
+ я вкурил шо он там напесал
Название: Re: Закон больших чисел.
Отправлено: Алхид от Сентября 18, 2017, 01:53:28 pm
Если в кратце, то для используемой псевдорандомной системы пресуща псевдо повторяемость, предполагаю, что заморачиваться написанием ДЕЙСТВИТЕЛЬНО рандомом никто не стал, банально вызвав функцию системную - рандом, то мы получаем  совершенно не сбалансированную систему, в которой все предопределяет текущее состояние рандомайзера и текущее время на сервере, и часто при одинаковом псевдорандомайзере у паралельных игр начавшихся в одно и то же время значения бросков куба будут идентичными. Так что к вопросу отличия псевдорандома и рандома в том что при реально большом значении бросков у второго среднее 3.5 а у первого - как повезет, это строго определено системой. Так что в слудующий раз когда будете рыдать над кубом - помните, СЕРВЕР ПРОТИВ ВАС!
Название: Re: Закон больших чисел.
Отправлено: oleginer от Сентября 18, 2017, 11:59:53 pm
ТС написал нечто странное.

Естественно истинно случайные числа никто тут генерировать не будет.

Те псевдослучайные, которые тут используются (детерминированные, наверное), и так гарантированно имеют среднее 3,5 внутри одного цикла (по крайней мере верить в иное было бы странно).
Закон больших чисел безусловно в любом генераторе псевдослучайных чисел выполняется, соответственно, в чем претензия ТС - непонятно.
Название: Re: Закон больших чисел.
Отправлено: TetAteT от Сентября 19, 2017, 12:14:45 am
     Претензия в том, что на большом отрезке оно так и не сошлось относительно двух игроков. Суть предложения была именно в том, чтобы сбалансировать броски обоих игроков относительно друг друга, через усреднение к 3.5. Приведен был пример большой партии, в которой не наблюдалось равенства бросков на большом отрезке (по крайней мере, для этой игры) бросков. Поэтому и возникает сомнение в адекватном ГСЧ.
Название: Re: Закон больших чисел.
Отправлено: oleginer от Сентября 19, 2017, 12:33:51 am
Что и куда не сошлось? У вас там было, если я правильно понял, около 200 и 100 бросков. Вполне нормальные средние для такой выборки.


Ты хочешь на 50 ходах видеть всегда 3,5-3,5? Тогда только 2 пути:
1) детерминированный генератор с маленьким циклом. тогда 3,5 будет встречаться не всегда, но почти всегда в длинных играх
2) поменять распределение вероятностей выбросить определенное число, уменьшить вероятность 1 и 6, например.

Но 1 путь доведет до того, что кто-то в итоге будет таки играть, зная броски кубика наперед. А второй как-то уводит нас от оригинальной игры с броском кубика.
Да и вообще, оба пути - явные ухудшения в игре.

Нужно тебе просто свыкнуться, что закон больших чисел - не про то, что в партии в БВ 2 игрока будут иметь одинаковое среднее значение кубика.

Название: Re: Закон больших чисел.
Отправлено: Ситх от Сентября 19, 2017, 07:58:52 am
в шахматы играй там нету рандома
Название: Re: Закон больших чисел.
Отправлено: B1ackNote от Сентября 19, 2017, 08:19:45 am
Обсуждалось как-то..

нужно ввести 6 счетчиков на каждое значение кубика (dice1, dice2, ... dice6), которые будут увеличиваться с каждым событием, генерирующим значение кубика. ещё понадобится пара переменных: maxdice и premaxdice. при выдаче каждого нового псевдослучайного события увеличивается соответствующий счетчик и проверяется его кратность скажем сотни (довольно много для масштабов БВ). если увеличенный счетчик кратен сотни, значение maxdice переносится в premaxdice, maxdice получает соответствующее новое значение (1..6), далее сравнивается maxdice и premaxdice - если значения равны - кубик перебрасывается (счетчик уменьшается до предыдущего значения, кубик генерируется заново используемым рандомом) - если значения неравны - счетчик полученного кубика обнуляется.
для получения рандомного значения достаточно пользоваться простой системной функцией (значение зависит от тиков времени).
Название: Re: Закон больших чисел.
Отправлено: Rednaxxxela от Сентября 20, 2017, 04:04:40 pm
Слишком маленькая выборка. 200-300 бросков куба - ни о чем. Ту же монету кинь 200-300 раз, у тебя практически всегда будет отличатся частота выпадания орла и решки. В идеале оно будет приближено к 50%, но 50% это будет редкость. Так и здесь. Чем больше бросков, тем меньше погрешность.  В целом 3.3 и 3.6 показывает, что среднее значение броска 3.4 - 3.5. Поэтому не на что жаловаться :)
Ну и как написали выше, если среднее значение будет стремиться к 3.5, то ты будешь примерно знать, какой бросок куба тебя ждет следующий.
Название: Re: Закон больших чисел.
Отправлено: TetAteT от Сентября 20, 2017, 04:33:56 pm
     Сложно будет примерно знать значение следующего броска, если ты не знаешь, за какое кол-во бросков должно всё выравняться к среднему. Или по крайней мере ошибки в таких примерных знаниях будут достаточно частыми.
Название: Re: Закон больших чисел.
Отправлено: B1ackNote от Сентября 20, 2017, 07:51:43 pm
Да нормально кубик кидается, там тогда были вопросы к случайности выдачи очерёдности хода.

Исходя из предложенной мной тогда балансировки бросков кубика, практически ничего нельзя было предугадывать. По крайней мере, никто не будет сидеть и записывать броски кубиков или даже привлекать к этому какой-то софт.. Зато слишком больших перекосов типа средний куб 3.2 против 3.8 должно было стать меньше, хотя для этого пришлось бы заводить по массиву счётчиков на каждого игрока..
Название: Re: Закон больших чисел.
Отправлено: CRAEL от Сентября 21, 2017, 01:11:00 am
Отсыпте покурить, или Вы нюхаете?
Название: Re: Закон больших чисел.
Отправлено: T!mK@ от Сентября 21, 2017, 05:19:04 am
я не понимаю смысла дискуссии... вам не нравится, что рандом не рандомный???
Название: Re: Закон больших чисел.
Отправлено: TetAteT от Сентября 21, 2017, 09:27:28 am
     Именно. Хочется больше логики и расчетов, и меньше рандома  :)
Название: Re: Закон больших чисел.
Отправлено: Rednaxxxela от Сентября 21, 2017, 12:28:15 pm
А ещё в реале кубик перебрасывать, если не понравилось, что ты пятый раз подряд своей рукой выкинул единицу или двойку
Название: Re: Закон больших чисел.
Отправлено: fogile от Сентября 21, 2017, 02:43:12 pm
А мне нравится рандом.)
Название: Re: Закон больших чисел.
Отправлено: TetAteT от Сентября 21, 2017, 03:24:55 pm
     Мне тоже нравится. А вот я ему нравлюсь не так часто, как хотелось бы  :(.
Название: Re: Закон больших чисел.
Отправлено: fogile от Сентября 21, 2017, 04:53:26 pm
Это хорошо, кто-то должен проигрывать).
Название: Re: Закон больших чисел.
Отправлено: Gluk от Ноября 04, 2017, 11:16:52 pm
Вот такой псевдорандом, куб 2.9 против 4.1 (число ходов 10), думаю не надо дальше рассказывать сколько я получил ударов. Очевидно, что псевдорандомная система дает сбои *drink* Всем правильного куба.

(http://imgdisk.ru/images/2017/11/05/PSEVDORANDOM.jpg)
Название: Re: Закон больших чисел.
Отправлено: Змееглав от Ноября 05, 2017, 07:53:13 am
Путь Праведников в помощь!
Название: Re: Закон больших чисел.
Отправлено: Ситх от Ноября 05, 2017, 09:31:52 am
Вот такой псевдорандом, куб 2.9 против 4.1 (число ходов 10), думаю не надо дальше рассказывать сколько я получил ударов. Очевидно, что псевдорандомная система дает сбои *drink* Всем правильного куба.

(http://imgdisk.ru/images/2017/11/05/PSEVDORANDOM.jpg)
Куб все время должен на 3,5 падать или как?
Название: Re: Закон больших чисел.
Отправлено: Кот Феликс от Ноября 05, 2017, 01:12:38 pm
10 ходов - слишком большая выборка, даешь больше скринов после боев с 1-2 ходами, что бы контрастнее и нагляднее  :)
Название: Re: Закон больших чисел.
Отправлено: Alendert от Ноября 05, 2017, 08:34:29 pm
Включу капитана очевидность: закон больших чисел работает как при рандоме, так и при псевдорандоме.