Однажды, солнечным весенним утром, почитывая городской форум, я наткнулся на ссылку с простенькой игрой от известной торговой сети. Игра (акция), посвящённая чемпионату мира по футболу, представляла собой незамысловатое поле три на три, заполненное футбольными мячами. Кликая по мячу, мы открывали картинку с тем или иным товаром. При открытии трёх одинаковых картинок участнику гарантировалось бесплатное получение данного товара в одном из магазинов сети. Также под одним из мячей имелось изображение красной карточки, открытие которой означало конец игры.



Интерес к игре быстро угасал по причине крайне редких случаев выигрыша. Играя вчетвером с 6 номеров телефона за несколько дней (около 15 партий) выиграть не удалось никому. “А какова вообще вероятность выиграть в данной игре?” — спросил я себя и достал лист бумаги, на ходу вспоминая курс высшей математики. Расписывая формулы, выяснилось, что каждая игра может содержать от 1 до 9 ходов, а каждый ход приводит к одному из трёх состояний — победа, поражение или продолжение игры (за исключением первых двух ходов, которые могут привести только к двум состояниям). Быстро поняв, что формула для 9 полей слишком сложна, я начал с простого — 4 поля (три одинаковых продукта и красная карточка). Быстрый набросок формул на салфетке, и выяснилось, что вероятность выигрыша — 1/4. Для 5 полей пришлось повозиться, но расчётная вероятность получилась также 25%. В этот момент, я задумался и трижды перепроверил расчёт. Всё верно. Не сказать, что я сильно удивился, ещё со времён учёбы в ВУЗе я привык, что в теории вероятности возможны самые неожиданные результаты. Расчёт для 9 полей занял бы несколько листов бумаги и не один час времени, поэтому было принято более простое решение. Смоделировать игру скриптом. Несколько десятков минут, кружка кофе, и скрипт готов. Использовался PowerShell, как инструмент, который всегда под рукой у системного администратора.

$fail = 0
$win = 0
for ($m=1; $m -lt 1001; $m++)
{
 $mas = 1, 2, 3, 4, 5, 6, 7, 8, 9
 $sum = 0
 $result = ""
 for ($i=0; $i -lt 8; $i++)
 {
  $j = Get-Random -Minimum $i -Maximum 9
  if ($mas[$j] -eq 9)
  {
   $result = "FAIL"
   break
  }
  if ($mas[$j] -eq 1 -or $mas[$j] -eq 2 -or $mas[$j] -eq 3) { $sum++ }
  if ($sum -eq 3)
  {
   $result = "WIN"
   break
  }
  $mas[$j] = 0
  $mas = $mas | Sort-Object
 }
 $result
 if ($result -eq "WIN") { $win++ } 
 if ($result -eq "FAIL") { $fail++ } 
}
$fail
$win

Выигрышные номера я принял за 1, 2 и 3, а красную карточку за 9. Забегу немного вперёд, как выяснилось позже, программисты, которые писали эту игру, мыслили примерно в том же ключе.

Запустив скрипт, я получил неожиданный результат — 25% выигрышей. Поиграв с количеством выигрышных элементов и общим количеством полей, я выяснил, что вероятность выигрыша в подобной игре не зависит от количества полей и равна единице, поделенной на количество выигрышных элементов, увеличенных на единицу.

В этот момент в мою голову закрались большие сомнения в честности игры. Ведь я должен был выигрывать каждый четвёртый раз. Но к тому времени я проиграл уже раз 10. Вероятность такого развития была крайне низка, и я начал исследовать скрипты игры.

А параллельно открыл правила.
Правила участия в маркетинговом мероприятии

1.3 Организатор гарантирует, что при определении возможности получения поощрений не используется алгоритмов или процедур, которые могут определить результаты Акции до начала ее проведения.
Отлично! Значит, доказав наличие этих алгоритмов и процедур, мы поймаем организатора за руку.

F12 в Chrome, и начинаем исследование. Играем до конца, одни глазом поглядывая в мониторинг сети. Достаточно стандартная работа приложения, загрузка страницы, скриптов, спрайтов и нескольких наборов данных в формате JSON. Но странное дело, от момента нажатия кнопки “Начать игру” до её завершения нет никакого обмена данными с сервером. Вторая странность — выигрышный спрайт даже не грузится, грузится только спрайт “Вы проиграли”. Очевидно, что скрипт ещё до начала игры “знает” её итог. Осталось поймать его за руку.

Основной JS с игрой очень большой, 1.5 Мб, без форматирования, всё «в кашу». Беглый поиск в Google выдал нам сервис JS Beautifier, и вот мы уже читаем отформатированный код. Но объём его очень велик, более 40 000 строк. Беглый просмотр JSON не дал результатов, слишком много данных, было решено идти другим путём — от обратного. Поиском по именам файлов спрайтов был найден JSON с нужными данными.



Спрайты 0, 1 и 2 — выигрышные, спрайт 3 — красная карта, остальные не имеют значения.

Поиск по имени массива спрайтов приводит нас в нужный блок скрипта игры.



Меня заинтересовал массив Outcome в скрипте, я ещё раз глянул в JSON, и о, чудо! Вы не поверите!



Да это же порядок выпадения спрайтов! И он заканчивается крайной картой! Абсолютно не важно, в какие поля вы кликаете мышкой, спрайты отображаются в заданном порядке, сгенерированном сервером. Сам сервер управляет процессом и регулирует вероятность. Никакой случайности не прослеживается.

Снова обратимся к правилам игры:
8. Призовой фонд:

8.1. Доступные призы: названия и количества

Итого 166000
Очевидно, что при честной игре призы закончатся ориентировочно через 664000 игр, что, видимо, не устроило руководство торговой сети с учётом времени проведения акции и потенциального количества участников.

Выводы (немного очевидные).

Играйте в честные оффлайн игры (например, шахматы). Не верьте организаторам онлайн-розыгрышей. Все врут. (с)

Комментарии (284)


  1. ShamanR
    04.06.2018 16:01
    +5

    Как то пробовал дебажить популярные сайты с мгновенными лотереями, так вот там была стандартная схема, когда при нажатии на «играть», отправлялся запрос на сервер, с названием метода уровня «сгенерируй мне билет» (видимо по аналогии с оффлайн билетами лотерей), в ответ возвращался результат этого билета, выигрышный он или нет, и в зависимости от результата запускались анимации самой игры. Это позволяет защититься от тех кто мог бы на стороне клиента изменить скрипт и постоянно выигрывать, а ещё приятный бонус — глобально регулировать выигрыши пользователей.


    1. Greendq
      04.06.2018 21:15
      +2

      Я вам по секрету скажу, что такой алгоритм сразу прописывается в ТЗ на реализацию подобных вещей. Он достаточно честный только при честной реализации логики на сервере. Но проверить это обычный пользователь не в состоянии, чем и пользуются многие (но не все).


      1. python273
        05.06.2018 11:08
        +1

        Но проверить это обычный пользователь не в состоянии

        Раньше в лотереях в ВК при начале игры выводился md5 хеш, в котором было начальное состояние поля. Что-то вроде random32bytesalt;0,1,0,0,1, и в конце открывалась соль и можно было проверить, что действительно в начале игры было такое состояние, а не сервер тупо отпрвил проигрыш


        1. geisha
          05.06.2018 19:02

          Интересно, а если я найду md5-коллизию с результатами в свою пользу — мне отдадут этот пауербанк или очередной фитнес-трекер? ИМХО это всё больше для самоуспокоения.


          1. python273
            05.06.2018 19:20

            Ну с md5 давно было, сейчас бы использовали sha-256 какой-нибудь. Хотя даже для md5 нужно чтобы начальное состояние было выигрышно для выполненных действий. Поэтому выигрышных состояний не так много будет и вероятность такой коллизии мала


      1. Berkof
        05.06.2018 11:08
        +3

        Так давайте вместо «повозмущались и разошлись» кормить такими делами юристов. Пусть судятся, выигрывают себе зарплату (ну и нам на банку пива, хотя-бы символически). Нужно приходить к тому, что:
        1) сервер высылает пользователю шифрованный подписанный билет
        2) пользователь высылает серверу выбранные поля (ячейки, куда пользователь ткнул)
        3) когда игра заканчивается — сервер высылает пользователю ключ для расшифровки, в итоге пользователь может однозначно проверить п 1.3 расшифровав билет… Причём, т.к. этот билет подписан сервером — можно по нему же и требовать получения выигрыша.
        А если лотерея работает как-то по другому — ждите юристов. Я бы задонатил на создание такой организации юристов (особенно если они бы обещали после выхода на самоокупаемость вернуть инвестиции)


        1. VolCh
          05.06.2018 11:13

          А смысл? Чем эта схема кардинально отличается от посылки нешифрованного билета, если в обоих случаях всё, что зависит от пользователя — время отправки запроса на получение билета?


          1. Berkof
            05.06.2018 12:51
            +1

            Если пользователь запрашивает результат игры у сервера при загрузке страницы — конечно никакого смысла нет. Только я подразумеваю под билетом не последовательность выпавших результатов, а всю карту целиком, где какой результат был. И шифровать её, очевидно, необходимо чтобы хитрый клиент не подсмотрел раньше времени. А отправка ключа шифрования гарантирует, что не мухлюет сервер. Вот только этап «требовать получения выигрыша» требует доказывать внешними средствами, что именно пользователь выбрал. Скажем, пользователь первые 3 клетки, а сервер ему ответил, что это проигрышный вариант, поймать за руку можно по подписанному сервером билету, в котором этот вариант выигрышный. Но эта задача в принципе без арбитра не решается, который будет фиксировать порядок публикации 1) билета, 2) выбора пользователя 3) открытого ключа к билету


      1. Hydro
        05.06.2018 12:15

        Наебизнес, одним словом


    1. nikitasius
      05.06.2018 19:57

      Как то пробовал дебажить популярные сайты с мгновенными лотереями

      Лучше с играми и конкурсами дебажить. Они все под копирку сделаны (таймстапм начала и конца сессии и отправка результатов). При правильном дебаге всегда можно быть в топе без палева и получать призы.


  1. ildarz
    04.06.2018 16:03
    +18

    Даже не знаю, что печальнее — что организаторы обманывают, или что те, кто может поймать их за руку, вместо жалобы в контролирующие органы пишут в Спортлото на хабр.


    1. Rambalac
      04.06.2018 17:53
      +4

      А какая разница в какое Спортлото жаловаться? На хабре это хотя бы кто-то увидит.


    1. reci
      04.06.2018 17:54
      +1

      Уверен, что правила акции составлены «как надо», и контролирующие органы ничего не найдут.


      1. 907
        05.06.2018 19:44
        -1

        А если контролирующие органы что-то и найдут, то организаторы лотереи сумеют им глазки прикрыть...)))))В России живем…


    1. apirk Автор
      04.06.2018 19:13
      +6

      1. В своё оправдание укажу, что я ещё до написания статьи написал руководству и маркетологам торговой сети по трём email адресам гневное письмо о том, что они нарушают свои же правила розыгрыша. Ответ не получил по сей день и скорее всего не получу.
      2. Со стороны клиента трудно доказать, что вероятность выигрыша менее 25%. Даже если сотрудник контролирующего органа проиграет 100 игр из 100, есть вероятность, что это событие наступило при абсолютно честной игре по правилам. Мы на Хабре такой вероятностью можем пренебречь, а суд вряд ли.
      3. Статья была написана не для того, чтобы кого-то наказать или пожаловаться, просто мне показалось, что сам процесс исследования был интересным. Захотелось поделиться.


      1. Druu
        05.06.2018 03:24

        Мы на Хабре такой вероятностью можем пренебречь, а суд вряд ли.

        Суд руководствуется внутренним убеждением, так что если объяснить, что вероятность 10^-20, например, это то же самое, что и "никогда", то все ок.


      1. AbstractGaze
        05.06.2018 06:27

        Расскажите, как вы посчитали условия выигрыша 25% не показав входные данные? Я вижу только три поля, красная карта, продолжение хода, и карточку товара. А сколько карточек товаров всего? У меня конечно высшей математики не было, но сдается мне что не может быть у вас одинаковый процент если там всего 1 товар (его я так понял вы и посчитали) и если там 100 товаров.


        1. apirk Автор
          05.06.2018 07:03

          Вчера вечером, за несколько часов до того, как статью опубликовали из песочницы, я как раз осознал, что для расчёта вероятности выигрыша в этой задаче совершенно не важно, сколько всего элементов в линии. Я совершенно неверно решал задачу на листке бумаги. Вы «двигаетесь по линии» длиной N, внутри которой W выигрышных элементов и 1 красная карточка. Если неизвестно N, то открывая любые другие товары, Вы не меняете вероятности (выигрыша или проигрыша), поэтому все эти элементы можно отбросить (эти ходы в игре не влияют на её результат). Важно только взаимное расположение выигрышных элементов и красной карты. Вы выигрываете тогда, когда красная расположена позади выигрышных. При трёх выигрышных элементах вероятность выигрыша — 1/4, при четырёх — 1/5 и так далее… Проверить это Вы можете очень легко, запустив скрипт в PowerShell и поиграв входными данными.


          1. AbstractGaze
            06.06.2018 08:04

            В вашем случае вы двигаетесь по заранее сгенерированной N в которой встречаются выборыки из трех подряд одинаковых товаров. Я Правильно понял?
            А если нет такой линии. Если есть просто линия на 15 товаров и 1 красная карточка, далее случайным образом из этой линии 9 раз выбирают значения пока не попадут на красную карточку. Далее этот ответ отправляется на сторону клиента. Все.
            А нет, не все, можно еще игнорировать результаты где красная карточка выпадает первой, в целях лояльности.(ну это просто очень не приятно будет, а такой цели думаю не стоит)
            Почему такой сценарий не может существовать? Он гораздо проще, плюс удобно добавлять или убирать товары которые уже закончились в акции, все равно количество товаров в подобных акциях всегда ограничено — это затраченные на рекламу деньги и их раздают.

            Это же не казино которое должно только 80% возврата средств делать. Это акция, т.е. это расходы, а не попытка заработать.


        1. wataru
          05.06.2018 13:24

          Есть 4 интересных элемента — 3 товара и красная карточка. Упрощение 1 — после выигрыша или проигрыша игрок продолжает открывать все клетки. Таким образом игрок генерирует одну из N! перестановок. Вы выиграете, если карточка будет выбрана последней из 4-х интересных элементов. Можно забыть про лишние N-4 элемента — пользователь просто генерирует одну из 4! перестановок. Из K! перестановок ровно в 1/K из них заданный элемент стоит на последнем месте (из соображений симметрии). Вот и получается 25% выиграть. А при K выигрышных вариантов — 1/(K+1).


          1. Demetrio77
            06.06.2018 03:46

            Как я понимаю, все эти вычисления сделаны исходя из предположения, что среди 9 карточек есть 3 одинаковые. Но насколько оно справедливо?


      1. vanxant
        05.06.2018 07:29

        А суду не надо ничего доказывать. Это ж не доктор Зло лично весь код писал от забора и до обеда.
        Прокурор вызывает повесткой рядовых исполнителей (которые безусловно в курсе) и предлагает им (каждому, лично) вилочку: «или тебя крайним назначат, или настучи на дядю, что это именно он приказал жульничать».
        Народу участвовало много, кто-нибудь психологически сломается, кого-то злой начальник премии несправедливо лишил… Вот уже есть свидетельские показания, подкреплённые какими-никакими доказательствами (ну там, доки, ТЗ, распечатки емейлов). А дальше уже вызывается тот самый «дядя», которому и предлагается поделиться с бедным прокурором неправедно нажитыми доходами.
        А до суда дело даже не доходит:)


        1. SwingoPingo
          05.06.2018 11:09
          +1

          К сожалению ветка алгоритма не полная. У высоких дядей с погонами должна быть мотивация совершать все эти процессуальные действия, притом на вашей стороне, а оно им надо? Дальше у руководства вполне себе могут быть купленные адвокатские конторы, друзья со связями среди высоких дядей с погонами и как при таких вводных какой то прог будет вести свою уже линию защиты от встречного иска от адвокатской конторы «Mr. Fukcer and partners» на powershell не особо сильно просчитаешь. Автор не похож на гика от юриспруденции заваливать жалобами все инстанции, он все таки прогер. Но абсолютно согласен с Вами, такое жлобство организаторов вызывает у меня только крайне негативные эмоции. Обманывающий в малом…


      1. ruslan_shv
        05.06.2018 10:36

        есть же закон больших чисел


      1. ildarz
        05.06.2018 11:04
        +2

        Если имеет место мошенничество — то, наверное, нет особого смысла писать самому мошеннику, какой он нехороший, не так ли? :) Писать надо надзорной организации, которая его контролирует. В случае с рекламными акциями в форме стимулирующей лотереи (а по признакам из вашего описания это похоже именно на неё) всё это, если не ошибаюсь, попадает под закон "О рекламе", исполнение которого контролирует ФАС. Ни во что играть сотрудник контролирующего органа, конечно же, не будет — подобные акции должны соответствовать ряду формальных признаков, которые и будут проверяться. В конечном счете, у вас не должна болеть голова, что там будет контролирующий орган, если в итоге он нормально отработает. :) Мир, увы, неидеален, и срабатывает не всегда (зависит от массы факторов, включая вашу настойчивость). Но позицию "что ни делай, у НИХ всё равно всё схвачено и распилено" я не разделяю, и принципиально, и исходя из собственного жизненного опыта (не то что бы сильно богатого в данном вопросе, но тем не менее местами положительного). Это первый момент.


        Второй момент более технический — вы своим экспериментом, вообще говоря, не доказали, что тут имеет место обман. Вы исходите из того, что лотерея должна проходить по некоему предполагаемому вами алгоритму. Тогда как тут уже заметили, что ситуацию можно рассматривать так, что сервер как бы генерит лотерейный билет. Т.е. выигрыш/проигрыш определяется не на этапе вашего щелканья мышкой по клеткам, а на этапе, когда вы загружаете страничку с игровым полем. Я не уверен, является ли формально такая ситуация некой формой мошенничества (игрок ожидает одного поведения, а на самом деле оно в силу скрытых факторов совершенно другое). Но это опять уже забота надзорных органов — afaik, правила проведения публичных лотерей должны четко оговаривать алгоритм определения победителей.


        1. VolCh
          05.06.2018 11:10

          Является или нет это чем-то близким к мошенничеству определяется тем, есть ли стороны организатора сознательное введение пользователя в заблуждение, формирование его ожиданий.


          1. sk220976
            06.06.2018 03:46

            Ну почему? Владелец лотореи скажет, что сервер по правилам генерирует выигрушную и проигрышную страницы, а страница на стороне клиента уже зная результат игры сервера имитирует игру. А то, что у вас 100500 проигрышей подряд теории вероятности не противоречит.


            1. VolCh
              06.06.2018 06:12

              Теория и вероятности отдельный разговор. Тут чисто об психологических и семантических моментах — формирует ли организатор у пользователя ожидание, что от порядка открывания полей что-то зависит, например, есть ли в правилах слова «угадает» или «не угадает», или там «окажется» или «не окажется». Ну вот есть мгновенные лотерии, где порядок стирания защитного слоя на билете ни на что не влияет, выигрыш определён задолго до приобретения билета, а есть где нужно стереть, например, только три поля из пяти и при совпадении получить выигрыш. С одной стороны доля детерменизма там тоже может быть (если в пяти полях нет трех одинаковых символов, то билет заведомо проигрышный, а если все одинаковые, то заведомо выигрышный), но с другой есть доля зависимости от действий пользователя. Вот если как-то организатор сообщает пользователю, что его лотерея второго типа, что он своими действиями на что-то влияет, что-то недетерменированное после вступления в игру должен сделать, чем опредлится выиграл он или нет, а по факту этого нет и лотерея первого вида, то обман есть.


              1. sk220976
                06.06.2018 16:09

                Ну тогда нужнна ссылка на правила именно этой лотореи.


    1. SokolovJuri
      04.06.2018 19:19
      +1

      зато, теперь кто-то развеит свои сомненья и не будет тратить время на такие игры


    1. Werewoolf0
      04.06.2018 19:19
      +1

      Под мошенничество не подходит? Вроде до 10 лет можно так поиграть владельцам.

      (мошенничество — это хищение принадлежащих другому лицу денег или имущества (или незаконное приобретение права на данное имущество) при помощи обмана или злоупотребления доверием.)


      1. vanxant
        05.06.2018 07:31

        Особенно в случае с лотереями. Там это всё зарегулировано достаточно жестко, в том числе алгоритмы определения победителей. И вообще это деятельность лицензируемая.
        Хотя, наверняка там есть прокладка с лицензией, вы не поверите, от спортлото.


      1. KivApple
        05.06.2018 09:16
        +5

        Так ведь участие в розыгрыше бесплатное. Так что никакое имущество или деньги похищено не было. А значит статья неприменима.

        Сказать «ты мне 100 рублей, я тебе конфетку», получить деньги и не дать конфетку — мошенничество, ибо жертва лишилась 100 рублей.
        Сказать «я сейчас дам тебе конфетку», а потом «ха-ха обманул» — не мошенничество, ибо жертва не понесла материальных убытков.


        1. AleCC
          05.06.2018 11:07

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


        1. ainoneko
          05.06.2018 12:24
          +1

          Так статья неприменима, даже если участие платное, но вы сами не участвовали и не пострадали.
          Как с "Айфоном за 1 евро" (и за тысячу рублей).


        1. fpir
          05.06.2018 16:13

          Это нарушение публичной оферты. Ну, если таковая имелась, а не написано мелким шрифтом «не является публичной офертой», что бывает в 99, 9% процентов случаев.
          Да и не надо никаких скриптов на PS, если надпись есть, то это равносильно надписи «мы вас разводим».


    1. KYKYH
      04.06.2018 20:11
      +1

      Оставлю это тут на всякий случай. Зная реалии ведения бизнеса торговых сетей, сомневаюсь что прямо любая может на законных основаниях проводить лотерею согласно текущей версии закона. Таким образом рождаются два варианта: 1) акция не считается лотереей и не попадает под регулирование текущим законом; 2) акция нелегальна. Скоре первое, и потому любой квалифицированный юрист вполне сможет уверенно послать нас всех за перелётными птицами.


      1. KivApple
        05.06.2018 09:20
        +3

        Думаю, что ключевой деталью должна быть бесплатность «лотерейных билетов». Ибо главная причина тотального регулирования лотерейной сферы — без него можно было бы продать кучу кусочков бумаги, якобы дающие выигрыш (а на самом деле не дающих ни единого шанса), чем принести объективные финансовые потери покупателям. А если билетики бесплатные, то материального ущерба нет.


      1. ildarz
        05.06.2018 11:08

        Есть понятие "стимулирующая лотерея". Там менее жесткие правила, но, тем не менее, они есть (в отличие от, например, того, что называется "беспроигрышной лотереей", когда каждому участнику как бы вручается подарок). Является это лотереей это или нет, определяется по ряду признаков. Я, конечно, не юрист, но, по описанию автора, признаки стимулирующей лотереи там в полный рост.


    1. akhkmed
      05.06.2018 12:36

      Разве что в полицию на мошеничество. Раньше налоговая лицензировала лотереи, а теперь, как понимаю, нет надзорного органа. С другой стороны, федеральный закон «о лотереях» запрещает проведение лотерей с использованием сети «Интернет» (Статья 6.1 п. 4), возможно, за это нарушение предусмотрена хоть какая-то ответственность.


  1. TheShock
    04.06.2018 16:29
    +5

    Да это же порядок выпадения спрайтов!
    Ну вообще, это, пожалуй, единственный способ вменяемо реализовать такую задачу.
    Основная проблема в нечестных вероятностях выигрыша. Но любая реализация с логикой на сервере может дурить клиента. А любая реализация с логикой на клиенте опасна для сервера.
    То есть от того, что сервер начнет выдавать результаты по одному, а не все сразу — честными они не станут, так какая разница?)


    1. San_tit
      04.06.2018 16:40
      +1

      А что, собственно, мешает сначала высылать зашифрованное сгенерированое поле, а при получении выбранных полей присылать ключ расшифровки? Тогда исходные данные есть у игрока заранее, но не известны, пока не передан выбор на сервер.


      1. stepmex
        04.06.2018 16:48

        Потому что их можно расшифровать. И зачем, когда можно сразу решит выиграл человек или проиграл. А процесс открытия карточек лишь для красоты.


        1. TheShock
          04.06.2018 16:49

          Кстати, даже если их захешировать сложной функцией — есть всего 10 вариантов расшифровки хеша, если я правильно понял правила.


          1. Luxo
            04.06.2018 19:19
            +4

            Именно поэтому перед хешированием добавляется к секрету ещё и случайная соль.
            Принцип в общем называется «provably fair» — проверяемая честность. Имплементирована почти во всех нормальных криптовалютных казино.


          1. IgnisDeus
            04.06.2018 19:39
            +1

            Шифруем поле в виде field=«001011020», только вместо «0 1 2» могут быть любые символы. Берем хэш от field и выдаем пользователю. Пользователь играет. После игры подгружается field, пользователь проверяет и всё.


      1. TheShock
        04.06.2018 16:48
        +3

        Согласен, это и правда более честный вариант, хоть он и рассчитанный на более подкованных технически пользователей. Проблема еще в том, что после каждого открытия необходимо слать запрос на сервер для того, чтобы узнать, какую карту открыли.

        Тем не менее, я все еще считаю, что основная проблема — факт лжи, а не неудачная механика.


      1. sumanai
        04.06.2018 22:09
        +1

        При некотором изощрении можно с помощью разных ключей получать разные данные из одного шифротекста.


        1. unC0Rr
          05.06.2018 11:44

          Но хэш от ключа тоже можно заранее выслать, чтобы исключить возможность манипуляции ключом.


    1. StopKran
      04.06.2018 19:16
      +5

      Реализация позволяющая не дурить клиента, и что бы клиент не обдурил тебя есть, называется: provably fair.
      Если кратко, генерируем на сервере игровое поле заранее, например для этой игры: расположение товаров. Записываем в каком то виде, приплюсовываем соль, и перед началом игры выкладываем в доступ хеш от этого дела. Дальше сервер отвечает на каждый ход. После окончания игры, мы можем проверить что поле было сгенерировано именно такое, с помощью хеша.


      1. Chupaka
        04.06.2018 20:05
        +5

        Помню, в начале 2000-х были казино, которые результаты игры записывали в файл, а файл паковали в зашифрованный RAR-архив. После игры давали пароль — можно было легко убедиться в честности игры. И не надо было быть особо технически подкованным :)


        1. AbstractGaze
          05.06.2018 06:15

          Это случаем не браузреная игра, где казино было игрой в игре? В частности там была так реализована рулетка.


          1. datacompboy
            05.06.2018 09:48

            Нет, именно казино. В браузерной игре я развлекался запуском (в км, мир праху его кода)


        1. dimkss
          05.06.2018 12:47

          Главное что бы архив был не exe. А то написать прогу которая в зависимости от пароля выдает нужный файл не очень сложно.


          1. EviGL
            05.06.2018 20:07

            Ага, выдать truecrypt контейнер, который одним паролем расшифровывает одно содержимое, другим другое =)
            Может даже и WinRaR такое умеет на уровне протокола, я инфы не нашёл.


    1. KYKYH
      04.06.2018 20:23
      +1

      Алгоритмы одноруких бандитов тоже реализованы внутри самих одноруких бандитов, то есть по сути «логика на сервере», клиент без отвёртки и хотя бы неодимового магнитика не сможет внести в процесс ничего. И тем не менее это всё регулируется законодательно, есть ограниченное количество фирм, этих бандитов производящих, всё проходит тщательные проверки, сертифицируется, и за нечестные алгоритмы существуют вполне настоящие наказания. Что мешает лицензировать операторов лотерей на производство результатов? Хотите проводить свою лотерею — добро пожаловать к лицензированному оператору за честными результатами и надёжным обращением с данными клиентов.


      1. KivApple
        05.06.2018 09:23
        +1

        Бесплатная лотерея не совсем лотерея, ибо имеет скорее рекламную функцию, а не несёт организаторам прямого профита. В свою очередь, участники не несут ни материальных потерь, ни значимых моральных.


  1. stepmex
    04.06.2018 16:46
    -14

    1. Вероятность выигрыша 25% не означает что вы будете выигрывать каждую четвёртую игру. Эта вероятность к каждой игре, и вы можете проиграть 200 игр из 200.
    2.

    Абсолютно не важно, в какие поля вы кликаете мышкой, спрайты отображаются в заданном порядке, сгенерированном сервером.
    С таким же успехом с сервера может прийти и выигрышная комбинация, ваш обзор ничего не доказывает и ни кого вы за руку не поймали. Как уже написали — банальная защита от слишком умных.
    3.
    Очевидно, что при честной игре призы закончатся ориентировочно через 664000 игр
    и опять вы не правы. Пример из собственной практики: для того что бы участники не выиграли всё на старте игры, у каждого приза есть дата после которой он становится доступен, таким способом призы распределяются на весь период игры. Так что призы не закончатся раньше чем этого не захочет организатор конкурса.


    1. TheShock
      04.06.2018 16:50
      +13

      Эта вероятность к каждой игре, и вы можете проиграть 200 игр из 200.
      И какая вероятность того, что я проиграю 200 из 200 игр при вероятности выиграша в 25%?


      1. stepmex
        04.06.2018 17:02
        -25

        50/50 =)
        Не помню я формулы логики, пускай кто-нибудь кто помнит посчитает, но на вскидку 75%


        1. valera5505
          04.06.2018 17:09
          +11

          75% это вероятность проиграть одну игру
          56.25% — 2 игры подряд
          10^-23% — 200 игр подряд


        1. TheShock
          04.06.2018 17:13
          +7

          0.75200 = 0,0000000000000000000000001

          То есть вероятность такого события — 0.00000000000000000000001%


        1. kahi4
          04.06.2018 17:14
          +11

          Вероятность проиграть 200 из 200 игр при вероятности выигрыша 25% составляет 0.75 ^ 200, что примерно 1.0e-25. Вероятность того, что вас съест акула на борту терпящего крушение самолета в момент удара грозы по нему и то выше, чем вероятность проиграть 200 раз подряд при шансе выиграть 25%.


          1. Вероятность выигрыша 25% не означает что вы будете выигрывать каждую четвёртую игру. Эта вероятность к каждой игре, и вы можете проиграть 200 игр из 200.
          2. "Очевидно, что при честной игре призы закончатся ориентировочно через 664000 игр" и опять вы не правы.

          Идем читать ЗБЧ


          1. tkirill128
            05.06.2018 10:28

            Это просто вероятность пересечения независимых событий. ЗБЧ тут вообще не к месту упомянут.


            1. kahi4
              05.06.2018 15:36

              ЗБЧ тут при том, что он гласит, что если вероятность выиграть 1 к 4, то при большом количестве попыток четверть игр будет выигрышной, т.е. мат. оценка будет стремиться к распределению. Не гласит какая. При малом количестве игр, скажем, 12, совсем не факт, что выигрышных будет три. Именно из-за этого при 200 играх оценка стремиться к тому, что выигрывать будет каждый четвертый раунд. И это позволяет предсказать оценку сколько нужно игр для того, чтобы разыграть все призы.


              1. tkirill128
                05.06.2018 19:21

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


                То, что при большом количестве попыток с вероятностью выйграть .25 лишь четверть будет выйгрышной вообще говоря неверно, ведь это случайная величина. Правильней будет сказать, что четверть выйгрышей — это самый вероятный исход. И это остаётся правдной хоть для 200 попыток, хоть для 12. Распределение этой случайной величины называется биномиальным и вы даже можете посчитать вероятность для любого количества успехов.


      1. Germanets
        04.06.2018 17:12
        -7

        Это не важно, вне зависимости от цифры вы всё равно можете стать счастливчиком, проигравшим или выигравшим 200 раз подряд…


        1. Survtur
          04.06.2018 21:20
          +4

          можете, но с какой вероятностью?


          1. Goodkat
            05.06.2018 00:10
            -6

            В таких случаях вероятность всегда 0,5: стал/не стал :)


            1. TheShock
              05.06.2018 06:10
              +2

              Вы ведь понимаете, что это цитата блондинки из анекдота?


              1. Goodkat
                05.06.2018 07:20

                Судя по минусам, это понимаю только я.


                1. TheShock
                  05.06.2018 07:26

                  Просто часто встречаются люди, которые действительно так считают. Сложно определить, относитесь ли вы к ним


                  1. Goodkat
                    05.06.2018 12:19

                    Там смайлик, специально доя шелдонов.


                    1. TheShock
                      05.06.2018 16:15

                      Этот смайлик точно так же может означать, что вы считаете, что говорите очевидные вещи и вам забавно, что приходится их озвучивать


          1. Germanets
            05.06.2018 10:42

            Вероятность будет разная, разумеется. Но какая бы она не была — результаты одного опыта ничего не скажут о самой вероятности. При большом количестве опытов — можно конечно получить статистическую вероятность, но и она в данном конкретном случае ничего доказывать не будет — борьба с ботами, защита от скликивания всех призов. Так что не имея исходников самого сервера, генерирующего последовательности, ничего и никому доказать не получится.


            1. Germanets
              05.06.2018 10:51
              -1

              Уже в который раз на хабре одна и та же история — напишешь в статье про вероятность короткий комментарий, не похожий на часть лекций по терверу, а просто направляющий людей на «подумать», получишь кучу голосов к комментарию, только неизвестно в какую сторону)


            1. Survtur
              05.06.2018 11:14

              Если вы хотите для чего-то прочитать вероятность, то она будет вполне определенной, а не разной.


              1. Kanut79
                05.06.2018 11:19

                Если у вас есть формула для расчёта вероятности, то это одно. А если вы «рассчитываете» вероятность на основе эксперимента, то вы никогда не можете быть уверены что она у вас правильная.

                Например eсли вы «рaссчитываете» вероятность выпадения одной из сторон монеты тем, что вы её подбрасываете n раз, то ваши результаты будут скорее всего близки к 50%, но вряд ли будут ровно 50%. И результаты разных серий бросков будут скорее всего отличаться друг от друга.


      1. Pavelfaller
        04.06.2018 19:20
        -4

        Вероятность, на то и вероятность. Возьмём больше, к примеру 1000 игр, сколько из них будет проигрышных? 750? А выигрышных получается 250? Но из этих 750 игр могут быть и 500 подряд проигрышными, никто этого не отменял.


        1. Survtur
          04.06.2018 21:20
          +3

          могут быть, но с какой вероятностью?


          1. Beyondtheclouds
            05.06.2018 02:35
            -1

            посчитай для интереса вероятность что ты выйграешь конкретно на третий раз :)


            1. Germanets
              05.06.2018 10:42

              Такая же, как и на первый )


              1. JuniorNoobie
                05.06.2018 12:24

                Да нет. Выиграть сходу: 25% (0.25)
                Выиграть конкретно на третий раз — это проиграть первые два раза и выиграть в третий: 75% * 75% * 25% = (0.75)^2*0.25.
                Вероятности «немного» разные.


                1. VolCh
                  05.06.2018 12:55

                  Выиграть конкретно на третий раз, это сыграть три игры и в третьей выиграть, результат первой и второй не интересует.


                  1. Beyondtheclouds
                    05.06.2018 13:19
                    -2

                    Все верно, а это вроде бы значит что вероятность состояния — «500 раз проиграл», насколько я понимаю даже немного более вероятна чем вероятность любого конкретного состояния с выигрышем(пусть таких состояний в целом и больше).

                    Так что мне кажется что комент про то что могут быть хоть 500 игр подряд проигрышными, и в этом нет ничего удивительного — довольно разумным :)


                    1. TheShock
                      05.06.2018 15:24

                      Это как получилось сделать такие выводы?


                      1. Beyondtheclouds
                        05.06.2018 16:44

                        Ну типа забавное наблюдение что вариант где ты проиграл 500 игр, более вероятен чем вариант где ты проиграл все игры, кроме пятой и девяносто седьмой :)

                        Если вдруг математика не понятна — то простейший пример для двух игр(для трех уже 8 вариантов, наиболее вероятный все-равно где все проиграно :)(шанс выиграть — 0.25, проиграть 0.75):

                        1. win win: 0.25 * 0.25 = 0.0625
                        2. win lose: 0.25 * 0.75 = 0.1875
                        3. lose win: 0.75 * 0.25 = 0.1875
                        4. lose lose: 0.75 * 0.75 = 0.5625

                        как то так :)


                        1. TheShock
                          05.06.2018 16:47

                          более вероятен чем вариант
                          Просто потому что вероятность проиграть выше, чем вероятность выиграть


                          1. Beyondtheclouds
                            05.06.2018 16:50

                            Ага :)


                1. Germanets
                  05.06.2018 13:26

                  выйграешь конкретно на третий раз
                  мы по-разному трактовали — я, что 3я игра будет выйгрышной, вы, что 3я будет выйгрышной при первых 2х проигрышах… этот сложный русский язык…


            1. Eefrit
              05.06.2018 11:42

              А зачем её считать? Вероятность выиграть в конкретной игре, будь она третьей или сто пятнадцатой = 25%.


            1. roscomtheend
              05.06.2018 11:48
              -1

              Вероятность «выйгрыша» ровно 0 по причине отсутствия такого слова.


      1. toumin
        04.06.2018 19:20

        (1-02.5)^200 ~ 1.03e-25


      1. Areso
        05.06.2018 05:59
        -1

        В студенческие года я играл в онлайн-рулетку. Знаете, самая простая мысль — ставки на красное или черное с удваиванием ставки после каждого проигрыша.
        Мне выпадало иной раз до 20 проигрышей подряд, с шансом около 48,65% каждый раз.
        У меня даже где-то есть калькулятор, написанный в ту пору, который показывает, сколько единиц надо иметь, чтобы удваивать ставку N раз.


        1. TheShock
          05.06.2018 06:16

          Знаете, самая простая мысль — ставки на красное или черное с удваиванием ставки после каждого проигрыша
          Ага, столь простая и неправильная)

          Мне выпадало иной раз до 20 проигрышей подряд, с шансом около 48,65% каждый раз.
          Да, у моих родителей было казино, так что я знаю о таких вероятностях. Тем не менее, к примеру, 10 раз подряд получить одинаковое значение в красное-черное — вероятность 0.1%, то есть раз в тысячу бросков такое случается. Даже для 18 раз подряд случается каждые ~250к бросков, что, на самом деле не так редко. А вот проиграть 200 раз с вероятность в 0.25% выиграша для одного человека — слишком маловероятное событие, чтобы считать, что это возможно


          1. Areso
            05.06.2018 06:27

            Почему неправильная?
            Смотрите. Поставил 1 копейку. -1. Проиграл. Поставил 2 копейки. -2. Выиграл 4. Итого: -1-2+4=+1 копейка.
            Поставил 1,2,4, выиграл 8. -1-2-4-7+8, в итоге +1 копейка.
            И так далее.


            1. TheShock
              05.06.2018 06:41

              Потому что «работает» (то есть позволяет балансировать в районе нуля, как и любая другая система или её отсутствие) только если на рулетке нету нуля и у игрока бесконечные деньги (а зачем человеку с бесконечными деньгами вообще играть по системе в рулетку?).

              Если у вас 100 денег, то вы поставили 1,2,4,8,16,32 и уже не можете поставить 64. А учитывая наличие нуля — проигрывать вы будете в среднем чаще, чем выигрывать. Поймите, матожидание у рулетки такое. Казино в среднем забирает со стола 5% всех ставок каждую игру. И по-детски наивными системами теорию вероятностей не обмануть.


              1. Areso
                05.06.2018 06:46
                -1

                Да, работает около нуля, но в плюс — если у вас условная бесконечность. Потому система работала плюс-минус для игр, где ставка начиналась от 1 цента, а калькулятор подсказывал, как далеко можно зайти.
                Да, в общем случае — ноль и двойной ноль это выигрыш казино, тут бесспорно. 1/37 и 2/38.
                К тому же, изучение темы позволило написать неплохой курсач по теорверу)
                А зарабатывали мы играя в покер там же, в онлайн казино — трое человек за 1 столом почти гарантированно его обносили.


                1. TheShock
                  05.06.2018 07:02
                  +2

                  Да, работает около нуля, но в плюс — если у вас условная бесконечность
                  Глупость какая-то. Оно работает около нуля только если у вас реальная, безусловная бесконечность, а не условная. Чтобы заработать 64 денег — вам необходимо выиграть 64 раза. А чтобы проиграть 64 денег — необходимо проиграть всего 6 раз подряд. А такой проигрышь происходит… раз в 64 игры в среднем, внезапно! То есть вы будете играть, сыграете игр, ну допустим, 50, получите свои 50 единичек, а потом бах и проиграете 6 раз подряд.

                  изучение темы позволило написать неплохой курсач по теорверу
                  Удивительно!


                  1. Areso
                    05.06.2018 07:07

                    С вашими доводами согласен.
                    Ну, четыре — это неплохо (одна из немногих четверок).


                1. vanxant
                  05.06.2018 07:39

                  Калькулятор вам врал (ну или вы неправильно его готовили). Там в основании степени не двойка, а около 1.91 или типа того. Это меняет ожидание исхода с «возможно, выиграю на пиво» на «однозначно проиграю».


              1. 3aicheg
                05.06.2018 08:50

                Казино разве не ограничением на минимальный и максимальный размер ставки с этим удвоением борется? Ну, т. е., к примеру, минимальная ставка не 1, а сразу 10, и далее 20, 40, 80, а 160 уже нельзя, потому что максимальная — 100, и знатоки теории вероятностей становятся строем и идут лесом.

                А так-то чо — инкорпорируем «наличие нуля» в наши расчёты, и будем ставку не удваивать, а, например, у-2.1-ивать.


                1. mayorovp
                  05.06.2018 08:59

                  С чем именно борется казино ограничением на максимальный размер ставки — не знаю, но точно не с удвоением.

                  А размер ставки ни на что не влияет. Разве что на то как быстро можно проиграть все деньги.


                  1. TheShock
                    05.06.2018 15:31
                    +1

                    С чем именно борется казино ограничением на максимальный размер ставки — не знаю, но точно не с удвоением.

                    Тут есть несколько факторов. Казино выгодно, чтобы игрок «растягивал удовольствие» на всю ночь, а не сливался за 7 игр по системе Мартингейла. Тогда он с большей вероятностью вернется.
                    Игрокам интереснее, когда в течении ночи есть множество ставок помельче, а не каждый приходит и делает одну, большую ставку.
                    Ну и главное — попытка уменьшить для казино влияние рандома. Если человек приходит и ставит за один раз 10к долларов, то или казино их забрало с вероятностью в 51% или проиграло с вероятностью в 49%. Если игрок обязан играть их маленькими партиями в 100 долларов, то казино будет в выигрыше по закону больших чисел — просто забирая с каждой партии свои 5%


                  1. 3aicheg
                    05.06.2018 19:15

                    Допустим, минимальная ставка 1 доллар. Вероятность выигрыша — чуть меньше 0.5. На рулетке 36 ячеек, из них выигрышными будут 16 (т. е. половина ячеек за вычетом 0 и 00), проигрышными — оставшиеся 20. Вероятность проигрыша каждый раз будет 0.5555555…

                    Я могу, допустим, последовательно поставить 10 раз подряд так: 1, 2, 4, 8, 16, 32, 64, 128, 256, 512 долларов. Это ещё вовсе даже не астрономическая сумма (1023 доллара всего). Вероятность проиграть все 10 раз подряд составит 0.55555...^10 = 0.0028, следовательно, я почти наверняка (с вероятностью 0.9972) за эти десять раз выиграю доллар. Отыграю всё потраченное, и плюс с казино стрясу один доллар. Зашёл, такой, с 1023 долларами в кармане, сыграл 10 таких заходов по 10 игр максимум каждый, с вероятностью 0.9972^10 = 0.9724 (т. е. почти наверняка!) себе 10 долларов на пиво «заработал» :) Захочу 100 долларов — пожалуйста, 100 серий по 10 игр, вероятность все их выиграть — где-то 0.75, уже не 0.99, но как будто шансы всё ещё на моей стороне. Вот удвоить стартовый капитал уже шансов практически нет — с вероятностью примерно 0.95 проиграешь хотя бы одну серию, а т. к. выигрываешь по доллару, а проигрываешь сразу всё 1023, то на этом всё закончится.

                    Выходит, вы правы — с точки зрения казино не важно, один игрок сыграл тысячу раз, или тысяча игроков сыграла по разу — статистически там окажутся «невезучие лохи», которые «расплатятся» за всех остальных…


                    1. TheShock
                      05.06.2018 19:17

                      На рулетке 36 ячеек, из них выигрышными будут 16 (т. е. половина ячеек за вычетом 0 и 00),
                      На рулетке 37 или 38 ячеек (зависимо от того, есть ли 00)


                      1. 3aicheg
                        06.06.2018 03:29

                        Я ни разу не был в казино, и что-то совершенно не тянет, по-быстрому загуглил Википедию, похоже, неправильно понял, что там написано. Тогда вероятность выигрыша будет 18/37 и 18/38, т. е. 0.4864 и 0.4737, что, как бы, ещё лучше, чем я думал, но ничего принципиально не меняет — всё равно проиграешься :(


                        1. TheShock
                          06.06.2018 03:52

                          Интересный факт — сумма всех чисел на рулетке от 1 до 36 = 666.

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


                1. KivApple
                  05.06.2018 09:27

                  Казино с этим в принципе бороться не нужно, ибо максимум, что сможет выиграть игрок в итоге — сумму минимальной ставки, которую он делает (остальная часть выигрыша пойдёт на покрытие предыдущих проигрышей). А скорее всего вообще всё проиграет.


                  1. VolCh
                    05.06.2018 10:34
                    -1

                    Это если он остановится после первого же выигрыша. А может дальше играть и при толике везения удваиванием опустошит кассу.


                    1. TheShock
                      05.06.2018 15:35

                      Опустошит кассу на сколько? Вот, допустим, одна фишка — 10 долларов. Сколько времени игроку нужно, чтобы эти 10 долларов поднять до 1000? Ему по системе Мартингейла нужно выиграть 100 раз (то есть подниматься, пока не выиграет). И при этом, скорее всего, игрок просто выйдет за пределы своего бюджета и принесет казино солидную сумму


                      1. VolCh
                        05.06.2018 16:19

                        Ну это если по Мартингейлу. А может тупо удваивать ставки при выигрыше. постаивл 10, выиграл 20, поставил 20, выиграл 40 и т. п. После первого выигрыша 10 долларов он может спокойно выигрывать снова и снова, а психологически для некоторых ещё не полноценно их деньги, если в кармане лежит то, с чем пришёл. Да, скорее всего проиграет, но может и выиграть.


                        1. TheShock
                          05.06.2018 16:23

                          Да, скорее всего проиграет, но может и выиграть.
                          Ну так ведь в любом случае так. С любой системой ставок.


                          1. VolCh
                            05.06.2018 16:33

                            Ограничения ставки сверху делает более предсказуемым резерв, который нужно иметь казино на случай появления очень удачливого и богатого игрока. По крайне мере в рамках теорвера и матстата. Крайне маловероятно, что кто-то сможет казино «задавить банком», если есть ограничения по размеру ставки.


                            1. Lissov
                              06.06.2018 13:43

                              Дело ещё и в том, что казино (как и букмекеры), играя на риске для себя выстраивают бизнес-модель минимального риска, а также полного исключения незаконных операций. Игра многих клиентов, паралельно ставящих на противоположные исходы, это гарантированный стабильный заработок на который можно жить. Один клиент, поставивший миллиард с шансом выиграть 1%, хоть и дает прекрасную вероятность быстро разбогатеть, но не вкладывается в такую модель и потому неинтересен.
                              К тому же такой клиент вызывает подозрения в нечестной игре, подкупленном крупье, магните в рулетке и т.д. — то есть с точки зрения стабильности бизнеса ещё и неясно как оценить риски.
                              Благодаря ограничению ставок букмекеры даже спокойно терпят игроков, гарантированно регулярно выигрывающих.


                    1. Lissov
                      05.06.2018 15:54

                      Чисто статистически, чтобы опустошить кассу казино такой стратегией, игроку нужно кроме везения иметь бюджет, сравнимый с кассой казино. Чем меньше начальный бюджет, тем более гарантированно казино его отберёт.
                      А вообще можно ставить все деньги на 0 пока не опустошите кассу. Толика везения (то есть вероятность) та же самая, только результат гораздо быстрее.


                    1. ainoneko
                      05.06.2018 18:51

                      Гм. После первого выигрыша у него будет денег на одну минимальную (начальную) ставку больше, чем когда он только пришёл.
                      Для опустошения кассы везения нежно слишком много.


                      1. VolCh
                        06.06.2018 06:19

                        Ну исход, например, 10 чёрного и 10 красного при ставке на красное в серии из 20 игр ничуть не менее вероятен (0 пренебрежем) чем любой другой. 1-я ставка, напрмиер, 1, вторая 2, десятая 512, ввсё проигрыши, 11-я — 1024 и выигрыш (чистый выигрыш 1), 12-я — снова 1 (но уже халявный) и пошло снова удвоение, но с выигрышами.


                        1. ainoneko
                          06.06.2018 07:35

                          Ну исход, например, 10 чёрного и 10 красного при ставке на красное в серии из 20 игр ничуть не менее вероятен (0 пренебрежем) чем любой другой.
                          Да, те же 0.000095367431640625 процента (если пренебрегаем нулём или нулями).

                          Проблема в том, что если цель — не развлечься, а выиграть (точнее, меньше проиграть «в среднем»), то надо сразу ставить все 2047, что есть (проигранные 1..512 и выигравшие 1024).
                          Или даже все 1048575, с которыми пришли на серию из 20 игр.


                          1. VolCh
                            06.06.2018 09:44

                            Это рациональное поведение, а я говорю про психологический паттерн (не у всех): сначала «на свои» играем по маленькой с минимальным риском с основной целью выиграть на развлечение, а уже получив «халявный» выигрыш развлекаться в основном, стараясь и выиграть по крупному если очень повезёт.


                1. TheShock
                  05.06.2018 15:35

                  и знатоки теории вероятностей становятся строем и идут лесом
                  Не забывайте брать «знатоки» в кавычки, ибо это смешно


              1. Welran
                06.06.2018 07:27
                -1

                Наличие нуля никак не влияет на выигрышность этой стратегии. Она всегда дает прибыль даже если на рулетке все нули кроме одного поля на которое ставите. Дело только за бесконечными деньгами. А еще казино обычно вроде бы как имеет максимальную ставку (но это не точно).


                1. ainoneko
                  06.06.2018 07:38

                  Дело только за бесконечными деньгами.
                  Если у вас уже есть бесконечные деньги, то играть в рулетку уже не нужно (разве что для развлечения?).
                  Если делать только конечные ставки, разориться невозможно.


                  1. Welran
                    06.06.2018 14:01
                    -1

                    Чем это противоречит моему сообщению? Эта стратегия не зависит от вероятности одиночного выигрыша, достаточно что бы она была больше 0. Тогда она всегда будет приносить доход. Причем тут чисто теоретические размышления будете ли вы играть в казино если у вас есть бесконечные деньги?


                1. TheShock
                  06.06.2018 16:37

                  Наличие нуля никак не влияет на выигрышность этой стратегии
                  Дело в том, что если у нас бесконечные деньги и играем мы бесконечно, то в любой момент игры, который бы мы не взяли в среднем доход будет нулевой. Раз уж мы теоретизируем на счет бесконечных денег, тогда уж теоретизировать на полную)


                  1. Welran
                    06.06.2018 18:32
                    -1

                    Вообще то не нулевой, посчитать не берусь, но явно отличен от нуля (вероятно меньше, но это не точно, скорее всего больше). Но эта стратегия позволяет выиграть любое наперед заданное количество денег. И да в процессе вы вероятно будете уходить в минус на суммы превышающие желаемый выигрыш.


                    1. VolCh
                      07.06.2018 00:46

                      Бесконечность минус конечность = бесконечность.


            1. mayorovp
              05.06.2018 06:42

              Потому что у вас всегда остается вероятность проиграть сразу все деньги. И матожидание вашей прибыли в такой игре всегда отрицательно.


              1. Areso
                05.06.2018 06:51

                Такая вероятность есть. Матожидание, при условной бесконечности денег, 1/(2^n), где n — количество игр до выигрыша.


                1. mayorovp
                  05.06.2018 06:53

                  Вы хрень написали, а не матожидание. Количество игр до выигрыша — величина случайная, и матожидание от него зависеть не может.


                1. TheShock
                  05.06.2018 07:04

                  Матожидание
                  Вы ведь не знаете, что это такое.


                  1. Areso
                    05.06.2018 07:10

                    Возможно, я употребил не тот термин. Все это было немало лет тому назад, а с тех пор я в основном занимался интеграциями всего и со всем, а не разработкой игр-лотерей. Уж простите, великодушно, кто чем занимается…


                1. KivApple
                  05.06.2018 09:29
                  +1

                  Чтобы делать ставки надо иметь реальную бесконечность денег, а не условную. Однако, иметь бесконечные деньги и пытаться заработать ещё денег в казино — идиотизм, не?


              1. Welran
                06.06.2018 07:34

                Матожидание прибыли при такой стратегии 18/37 монетки за игру. И оно больше нуля. Проблема в том что стратегия требует бесконечных денег и поэтому не реализуема на практике.


                1. mayorovp
                  06.06.2018 08:39

                  Матожидание прибыли с игры есть сумма матожиданий отдельных ставок. А каждое слагаемое в этой сумме — отрицательно.


                  1. Welran
                    06.06.2018 14:07

                    Что? С чего вдруг отрицательно? Вообще то вы будете выигрывать в среднем 18 из 37 игр. И каждый такой выигрыш очевидно положителен (ведь он выигрыш, а не проигрыш). В среднем каждый выигрыш будет обнулять все проигрыши до него и добавлять 1 монету общему выигрышу. Соответственно в долгосрочной стратегии вы будете просто получать 1 монету за каждый выигрыш и ничего ни терять при проигрыше. И очевидно средний выигрыш будет равняться вероятности выигрыша которая составляет 18/37.


                    1. mayorovp
                      06.06.2018 14:14

                      Всегда остается вероятность возможность что выигрыша не наступит. Даже на бесконечной серии.

                      Вероятность такого события, конечно же, ноль… Вот только потери на ставках при этом бесконечные, а ноль при «умножении» на бесконечность далеко не всегда дает ноль.


                      1. Welran
                        06.06.2018 14:21

                        Нет, вероятность выпадения бесконечного количества проигрышей строго равна 0. То есть этого не может быть.


                        1. mayorovp
                          06.06.2018 14:23

                          Я исправил свой комментарий.


                          1. Welran
                            06.06.2018 14:28

                            Потери на ставках не бесконечны. Очевидно они составляют 2^N — 1, где N это длина проигрышной серии. А так как мы уже доказали что бесконечной серии проигрышей не может быть (так как вероятность появления этой серии равна 0), то это всегда конкретное число, которое будет возмещено следующим выигрышем который добавит 1 монету в общий выигрыш. Это простая математика.
                            З.Ы. для интереса, какая у вас степень знания математики?


                            1. mayorovp
                              06.06.2018 14:36

                              Это вам кажется что доказали. То, что вероятность чего-то равна 0, еще не означает невозможности когда мы работаем с бесконечными множествами исходов.

                              Потери на ставках при исходе «абсолютная неудача» (бесконечная серия поражений) именно что бесконечны.


                              1. Welran
                                06.06.2018 14:38

                                Вероятность равная нулю по определению означает что это событие невозможно. Вы изучали теорию вероятности или просто наслышаны?


                                1. mayorovp
                                  06.06.2018 14:42

                                  Нет такого определения. Кстати, очевидный контрпример — любое непрерывное распределение: там вероятность любого элементарного исхода — ноль, но что-то же в любом случае происходит!


                                  1. Welran
                                    06.06.2018 14:46
                                    -1

                                    Вообще то нет, ни один из исходов любого случайного события с континуальным множеством исходов невозможен и соответственно не происходит. Это связанно с аксиомой выбора. Вы не сможете привести математический пример такой случайной функции. А естественных примеров не существует так как невозможно с абсолютной точностью интерпретировать результат случайного события с континуальным исходом.


                                1. TheShock
                                  06.06.2018 16:41

                                  Вероятность равная нулю по определению означает что это событие невозможно
                                  Тем не менее на ограниченном отрезке времени такая вероятность стремится к нулю, но не равна нулю. А этот отрезок может быть графиком работы казино, или продолжительностью вашей жизни, или время жизни вселенной в конце концов.


                                  1. Welran
                                    06.06.2018 18:23

                                    Вообще то речь идет о мат ожидании, а не о казино закрывается в 4 утра.


                                    1. TheShock
                                      06.06.2018 18:40

                                      Ну так если о матожидании, то оно как раз стремиться к нулю ведь. И мы или допускаем существование бесконечных денег, а значит и времени партии или нет. А то вы как-то лицемерно представляете ситуацию. Бесконечные деньги могут быть, а бесконечная партия — нет.

                                      (бесконечная серия проигрышей, конечно)


                                      1. Welran
                                        06.06.2018 18:57

                                        Лицемерно? :) Вообще то мы тут о математике говорим, а не о морали. И да в случае бесконечной партии мат ожидание выигрыша равно так же бесконечности.
                                        Давайте посчитаем
                                        средний выигрыш последовательности из N элементов равен
                                        с вероятностью 18/37 он равен 18/37 * N (в случае если последний элемент выигрышный (думаю это очевидно)
                                        с вероятностью 19/37 он равен разности от 18/37 * (N-k) — 2^k*(19/37)^k = 18/37 * (N-k) — 38/37^k где k это количество нулей в конце последовательности.
                                        Так как для последовательности выигрышей и проигрышей N-k>>k мат ожидание будет стремится к плюс бесконечности.


                                        1. TheShock
                                          06.06.2018 19:02

                                          Я понял о чем вы говорите. Тем не менее это не противоречит глупости стратегии в реальной жизни


                                          1. Welran
                                            06.06.2018 19:05

                                            Ну тут спорить не о чем. Очевидно в реальной жизни стратегия глупа, так как действительно отсутствуют два важнейших условия задачи — бесконечности денег и времени.


                                  1. VolCh
                                    07.06.2018 00:57

                                    Вы повелись на вероятность равную нулю. :)


                                    1. TheShock
                                      07.06.2018 01:06

                                      Что?


                                      1. VolCh
                                        07.06.2018 01:21

                                        Вероятность проигрыша при бесконечных деньгах и бесконечном времени не равна нулю, а лишь стремится к нему. Кажется, нам как ожин из постулавтов теорвера давали «любой сколь угодно малыовероятный, по вероятный (больший нуля) может осуществиться при первом же испытании, а любой сколь угодно высоковероятный, но не детерменированный (меньши1 единицы) может не наступить никогда. Бесконечные деньги * бесконечное время != гарантированному выигрышу.


                                  1. Welran
                                    07.06.2018 13:36

                                    Вероятность равная 0 означает что ни при каком количестве испытаний это событие не произойдет, ни при одном ни при бесконечном. Если вы говорите о бесконечной серии проигрышей, то она не может произойти на конечном количестве испытаний по определению. Поэтому вероятность этого события равна 0.


                                    1. VolCh
                                      07.06.2018 13:45

                                      На конечном количестве испытаний равна нулю бесконечная серия проигрышей, а на бесконечном стремится к нуль.


                                1. Druu
                                  07.06.2018 13:03
                                  +1

                                  Вероятность равная нулю по определению означает что это событие невозможно. Вы изучали теорию вероятности или просто наслышаны?

                                  Нет, не значит. Возьмите отрезок [0, 1] с равномерным распределением. Выберите наугад точку. Какая была вероятность ее выбрать? 0. Но вы, однако, выбрали. Этот пример, к слову, практически всегда на одной из первых лекций по теорверу приводят, в качестве демонстрации того контринтуитивного факта, что вероятность равная нулю не ведет к невозможности наступления события. Вы прогуляли?


                                  1. Welran
                                    07.06.2018 13:19
                                    -1

                                    А кто сказал что вы можете выбрать точку? Вообще то это далеко не факт и возможность выбора добавляется в теорию как аксиома (аксиома выбора, система аксиом ZFC). При этом приняв эту аксиому вы всё равно не получите конструктивного способа выбрать случайную точку и приняв эту аксиому можно доказать что разрезав шар на 5 частей можно составить из них два точно таких же шара.
                                    Вы прогуливали лекции по терверу :)?
                                    З.Ы. для пущей убедительности попробуйте придумать способ выбрать случайную точку из отрезка [0, 1]


                                    1. Druu
                                      07.06.2018 13:41

                                      А кто сказал что вы можете выбрать точку?

                                      А в чем вы видите проблему?


                                      и возможность выбора добавляется в теорию как аксиома (аксиома выбора, система аксиом ZFC)

                                      Причем тут аксиома выбора?


                                      При этом приняв эту аксиому вы всё равно не получите конструктивного способа выбрать случайную точку

                                      А что вы подразумеваете под "конструктивным способом" выбрать случайное что-то? Можете описать конструктивный способ выбрать случайное число из десяти?


                                      1. Welran
                                        07.06.2018 13:47

                                        А в чем вы видите проблему?
                                        Ну я например не знаю ни одного способа выбрать случайное число из [0, 1]. Можете предложить способ?
                                        А что вы подразумеваете под «конструктивным способом» выбрать случайное что-то? Можете описать конструктивный способ выбрать случайное число из десяти?
                                        Выбрать случайное число из десяти конструктивно? Элементарно. Берем десятигранник с числами на нём и кидаем его, число на верхней грани будет искомым случайным числом. Возможность выбора из конечного числа результатов очевидна.
                                        А вот кинуть кубик с континуальным числом граней не получится (по причине несуществования такого многогранника).


                                        1. Druu
                                          07.06.2018 13:59

                                          Выбрать случайное число из десяти конструктивно? Элементарно. Берем десятигранник с числами на нём и кидаем его, число на верхней грани будет искомым случайным числом. В

                                          При чем тут десятигранники и прочий бред? У вас вероятностное пространство (A, 2^A, p(х) = 0.1*card(x)), где A = {0,1,2,3,4,5,6,7,8,9}. Что, по-вашему, значит "конструктивно выбрать случайное число" в рамках заданного ВП? Опишите математическую конструкцию.


                                          Ну я например не знаю ни одного способа выбрать случайное число из [0, 1]

                                          А аксиома выбора-то тут при чем? По-вашему, вот без нее случайное число выбрать нельзя, а с ней — можно? Вы знаете формулировку аксиомы выбора?


                                          1. Welran
                                            07.06.2018 14:05

                                            Выбрать случайное число именно это и означает, вы выбираете из этих 10 чисел случайно одной число. В зависимости от функции распределения вы получаете вероятность выбора для каждого числа.

                                            А аксиома выбора-то тут при чем?
                                            Она утверждает что вы можете выбрать число. (собственно именно то что вы думаете и до конца 19 века с вами были согласны все математики). И только в 20 веке стало очевидно что это утверждение не выходит из других аксиом теории множеств и её нужно принимать отдельно (с последствиями вроде равносоставленности шара двум своим копиям)


                            1. Lissov
                              06.06.2018 16:18
                              +1

                              Вероятность бесконечного количества денег тоже 0, не так ли? :)
                              А при любом конечном (сколь угодно большом) количестве денег, с увеличением количества игр вероятность проиграть всё асимптотически стремится к 1 (то есть да, она будет 1 при бесконечном количестве игр).


                              1. Welran
                                06.06.2018 18:38

                                Что значит вероятность денег? Бесконечные деньги это не случайное событие, а условие задачи. У них нет вероятности. Люди вы математику только в школе изучали и не понимаете что такое абстрактные задачи и что такое условия?


                            1. ariklus
                              06.06.2018 18:18
                              +1

                              Я думаю имеется ввиду вероятность бесконечной серии проигрышей, которая имеет бесконечно близкую к нулю вероятность )))


                              1. Welran
                                06.06.2018 18:43

                                Бесконечно близкое число к нулю это и есть ноль. 0.(0)=0 (да это так)


                                1. VolCh
                                  07.06.2018 00:59

                                  Нет. Это величина строго большая (в данном контексте) ноля. Периодическая запись тут непричём


                                  1. Welran
                                    07.06.2018 13:29

                                    Строго больше это ???R, x>0+?, что противоречит условию что x бесконечно близко к 0.
                                    Вот скажите, если эта величина строго больше 0, то на сколько она больше?


                                    1. VolCh
                                      07.06.2018 13:31
                                      -1

                                      на бесконечно малую величину.


                                      1. Welran
                                        07.06.2018 13:42

                                        :)
                                        (минус поставил не я, честное слово)
                                        Математика, бессердечная ты сука. Перефразируя Шелдона.


                        1. VolCh
                          07.06.2018 00:47

                          Не ноль, а стремится к нему, но будет отличаться на бесконечно малую величину.


                        1. VolCh
                          07.06.2018 00:56

                          Вероятность выпадения любой конечной комбинации исходов строго больше ноля, если исходов больше одного и вероятность каждого из них безусловно больше ноля. Согласны? Если да, то где грань между сколько угодно большим количеством проигрышей и бесконечно большим? Если нет, то почему?


                          1. Welran
                            07.06.2018 14:12

                            Сколько угодно большое количество и бесконечно большое количество это одно и тоже. При увеличении количества вероятность стремится к 0 (думаю это вы признаете?), получаем для бесконечно большой серии вероятность равна 0.


            1. ariklus
              06.06.2018 03:52

              Таким образом вы просто превращаете равнозначные вероятности «выиграть Х» и «проиграть Х» в в У раз большую вероятность «выиграть X/Y» и малую вероятность «проиграть Х». С сохранением мат. ожидания.


          1. VolCh
            05.06.2018 09:18

            К слову, вероятность любой комбинации красное-чёрное из 10 бросков ~0.1%. Не имеет значения будем мы ставить только на красное, только на чёрное, чередовать их, иметь какой-то более сложный закон типа два черное, три красное или при каждом броске решать с помощью настоящего ГСЧ на что поставить. Вероятность ни разу не выиграть за 10 бросков так и остаётся около 0,1%


            1. TheShock
              05.06.2018 15:36

              Да, тут вы совершенно правы


              1. true_id1
                06.06.2018 03:52

                Не совершенно. Настолько же не совершено как и механическая рулетка. У механической рулетки шанс выпадения каждого конкретного числа разный. Джозеф Джаггер это наглядно доказал.


                1. TheShock
                  06.06.2018 03:56

                  1873-й год? Серьезно? Думаете, точность современных технологий такая же как и тогда? В казино регулярно проверяют столы на дефекты, прокручивая шарик, бракованный стол со смещенными вероятностями — это ночной кошмар любого игорного заведения и никто не допустит этого


                  1. true_id1
                    06.06.2018 14:03

                    Только у математической рулетки вероятность выпадения чисел одинаковая. Я это и указал в комментарии.


                    1. Welran
                      06.06.2018 14:15
                      +2

                      Если вероятность выпадения красного на 0.0000001 больше выпадения черного, то вряд ли вам удастся этим воспользоваться. Поэтому есть некоторые допустимые отклонения которые на практике не дадут кому либо воспользоваться ими. Так что рулетка не обязана быть совершенно совершенной и думаю современные рулетки уже за пределами возможности извлечения прибыли из за их несовершенства.


                      1. VolCh
                        07.06.2018 01:01

                        Закономерный вопрос — извлечения прибыли игроком или владельцем? :) С другой стороны, всегда бывают отклонения от нормы.


                        1. Welran
                          07.06.2018 13:56

                          Кем угодно. А вообще даже заметные отклонения не позволят вам выиграть из за присутствия 0 на рулетки. Вы просто будете терять деньги медленнее :).


        1. 3aicheg
          06.06.2018 06:20

          Зачем писать калькулятор, если это сумма первых N членов геометрической прогрессии со знаменателем 2, равная (2^N - 1)?


  1. Alert123
    04.06.2018 16:51
    +5

    Организатор не обещал что вероятность распределения призов под открываемыми карточками будет линейная. Случайное событие генерится на сервере а не у клиента (скорее всего есть пул уже нагенеренных последовательностей, и вам отдается очередная из них). Т.е. от вас зависит только момент времени когда вы вошли на страницу — он ведь реально случаен.


    1. Germanets
      04.06.2018 17:13

      Т.е. от вас зависит только момент времени когда вы вошли на страницу — он ведь реально случаен.
      Это каким чудом момент открытия страницы сайта является случайным?)


      1. Alert123
        04.06.2018 17:26
        +5

        представь это как покупку моментальной лотереи в киоске, все предопределено кроме момента выбора из оставшихся у продавца лотереек. Ты можешь взять сразу, а можешь подождать пока перед тобою 10 человек купят а потом взять.


    1. apirk Автор
      04.06.2018 19:38
      +2

      Как минимум, нарушен этот пункт правил:

      5.6. После регистрации в цифровой игре Участник Акции автоматически переходит на экран с девятью схематично изображенными мячами, заменяемыми при нажатии изображениями случайных продуктов из списка, указанного в п. 8.1 настоящих Правил. Призом считается тот продукт, изображение которого было открыто Участником три раза в течение одного сеанса игры.


      Продукты не случайны, от действий участника результат не зависит.


      1. VolCh
        05.06.2018 10:32

        Почему не случайны? От того, что генерируются на сервере при запросе не меняется случайны они или нет, даже если преварительно полностью серия сгенерирована, а сервер только отдаёт из неё. А что зависеть должно не декларируется, равно как не декларируется, что должен угадать. Как лотерея со стираемым защитным слоем или просто «конвертик» — выигрыш конкретного билета предопределен заранее, весь азартный процесс «игры» заключается в узнавании повезло тебе или нет вытащить счастливый билет.


      1. Welran
        06.06.2018 07:40

        Продукты вполне могут быть случайными. Но результат генерируется до начала игры (открывания карт) что противоречит пункту

        1.3 Организатор гарантирует, что при определении возможности получения поощрений не используется алгоритмов или процедур, которые могут определить результаты Акции до начала ее проведения.


        1. VolCh
          06.06.2018 09:48

          Просто акция начинается в лучшем (для игрока) случае не в момент открытия первой карты, а в момент, грубо, перехода на страницу игры.


          1. Welran
            06.06.2018 14:58

            Эх всякие юридические хитрости :(


            1. VolCh
              07.06.2018 01:04

              Или просто ничем необоснованные ожидания :( Есть, правда, такой термин в ГК как «обычаи делового оборота», но пропробуйте доказать в суде, что в лотерее типа «3 из 9» обычно исход определяется в момент выбора позиций на поле, а не в момент получения билета.


  1. pyrk2142
    04.06.2018 17:38
    +1

    Как-то находил подобное на игровых проектах от Mail.ru (Властелин Колец Онлайн, Аллоды и другие). Есть поле с ячейками, в них спрятаны какие-то сущности. Выбираешь ячейки, в любой момент можешь забрать приз. Чем больше ячеек открыл удачно, тем лучше призы. Но если открыл ячейку с ловушкой, то ты проиграл, приз исчезает полностью.

    Посмотрел трафик, все аккуратно, при каждом открытии на сервер идёт запрос, приходит ответ, что именно лежит в ячейке. Но ни одного идентификатора ячейки нет. Все решается на сервере (честность зависит от алгоритма), выбор ячеек — иллюзия.

    И небольшой бонус: игры были подвержены CSRF, можно было разместить кучу картинок на форуме игры и заставить пользователей потратить все игровые монетки (так как вращения платные).


  1. reci
    04.06.2018 17:51
    +3

    1. Представьте себя на месте организатора — у Вас ограниченное количество призов, которое нужно растянуть на весь период акции. Единственный вариант — контролировать на сервере возможность выигрыша.
    2. Вычисленная Вами вероятность — необязательно соответствует заложенной. Там может быть и 0,025% и 0,00013%, в правилах про это ни слова. Вы также не знаете сколько игроков играло одновременно с Вами, помимо Ваших знакомых.
    3.

    1.3 Организатор гарантирует, что при определении возможности получения поощрений не используется алгоритмов или процедур, которые могут определить результаты Акции до начала ее проведения.
    Я понимаю этот так — не используются алгоритмы, распределяющие выигрыш до начала акции, а не отдельной игры.

    А в целом — я согласен с автором статьи, шанс выиграть значимый приз в любой лотерее/акции всегда довольно мал.


    1. Kanut79
      05.06.2018 09:39

      Вот и я тоже понял правила точно так же и и точно так же не вижу в чём должна заключаться проблема.

      P.S. Ну а в целом есть такая хорошая поговорка: «Когда любители садятся с профессионалам за один карточный стол, они всегда совершают одну и ту же большую ошибку. А именно начинают играть». В данном случае её можно перефразировать как «Когда люди начинают участвовать в лоттереях...» :)


    1. Lissov
      05.06.2018 16:03

      1.3 Организатор гарантирует, что при определении возможности получения поощрений не используется алгоритмов или процедур, которые могут определить результаты Акции до начала ее проведения.

      Вообще крайне размытая формулировка. Что значит «определить»? Например, «ограниченное количество призов, которое нужно растянуть на весь период акции» — это и есть определение результата (выиграно ровно N призов) до начала акции. С другой стороны не определено, кто именно выиграет.
      Лично моё понимание лотерей в принципе — организатор всегда статистически выигрывает, и до участия стоит оценить, сколько и как. В данном случае организатор получает рекламу, и при правильной организации шанс выиграть определяется отношением рекламного бюджета к количеству участников. Это немного, но не так и плохо как за бесплатно.


  1. Stecenko
    04.06.2018 17:57
    +1

    Могу ошибаться, но, по-моему, исходные предположения автора статьи содержат ошибку. Вероятности победы, продолжения, и проигрыша не равновероятны и зависят от числа товаров, чьи картинки могут быть открыты. При наличии 10^n товаров и случайного выбора из них, вероятность выигрыша (того, что среди девяти картинок будут 3 одинаковых) будет очень мала, навскидку число возможных комбинаций 10^(n*9), а число выигрышных (сейчас накосячу) 10^(n*7)+10^(n*6)+...+10^n, что для n=1 (10 товаров) дает 1.1*10^7/(10^9 ), т.е вероятность выигрыша, даже не считая красной карточки, для 10 товаров составит чуть больше 1 процента. Для 100 товаров — чуть больше одной сотой процента, и так далее.


    1. Stecenko
      04.06.2018 20:22

      Если посмотреть скрипт автора, то он написан из предположения, что на поле ОБЯЗАТЕЛЬНО есть три карточки одного товара, по одной карточке еще пяти других товаров, и одна красная карточка, в то время как из описания игры этого абсолютно не следует — в правилах не сказано, что на поле обязана присутствовать выигрышная комбинация.

      Набросал свой скрипт, исходя из равновероятности:
      public static void main(String[] args) {
              Random random = new Random(System.currentTimeMillis());
      
              //число сыгранных партий
              int maxGameCnt = 1000000;
      
              //номера товара, минимальный и максимальный.
              //предполагаем, что есть по одной карточке каждого товара с максимального по минимальный включительно
              int minItem = 1;
              int maxItem = 110;
              int redCard = Integer.MAX_VALUE;
      
              int[] field = new int[9];
      
              int cnt_win=0;
              for (int gameCnt =0 ; gameCnt<maxGameCnt; gameCnt++){
      
                  //для подсчета результатов одной игры
                  int[] arr_rez = new int[maxItem+1];
      
                  //инициализация поля
                  for (int i = 0; i < 9; i++) {
                      field[i] = random.nextInt(maxItem - minItem + 1) + minItem;
                  }
                  field[random.nextInt(9)] = redCard;
      
                  //вскрытие поля
                  for (int i=0; i<9; i++){
                      if (field[i]==redCard) break;
                      arr_rez[field[i]]++;
                      if (arr_rez[field[i]]==3){
                          cnt_win++;
                          break;
                      }
                  }
      
              }
      
              System.out.println((double) cnt_win/(double) maxGameCnt);
          }
      


      1. Stecenko
        04.06.2018 21:03

        Нагуглил правила,
        26 товаров.
        Если бы товары выдавались равновероятно, то вероятность выиграть была бы 1,8%.


        1. Serge3leo
          05.06.2018 10:46

          Хм. Это точно те правила? Что-то в них ничего нет за «красную карточку».


          1. Stecenko
            05.06.2018 16:03

            Извините, если невольно ввел в заблуждение.
            Это правила проведения акции с использованием цифровой игры, но список товаров, которые могут быть выданы в качестве приза, и, соответственно, чья картинка может появиться на поле, там есть.
            Именно с этими правилами Вы соглашаетесь, ставя галочку в боксе «Согласен с Правилами акции»


      1. Stecenko
        04.06.2018 21:30

        Для 26 товаров вероятность выигрыша в одной игре — 1,8%.
        Автор сделал 15 попыток.
        Вероятность хотя бы одного выигрыша с 15 попыток — 11%
        Со 100 попыток — 55%.
        С 400 попыток — 95%.
        С 570 попыток — 99%, что хотя бы раз выиграешь.
        Т.е., на мой взгляд, жаловаться на нечестную игру имеет смысл после примерно 500 неудачных попыток.


  1. Rambalac
    04.06.2018 18:00
    +4

    Обман не в том, что результат генерится на сервере, а в том, то на это никак не влияет выбор пользователя. Если бы это было официальной лотерей с вписыванием номеров и выяснились, что выигрыш выбирается просто по серийному номеру билета, а не вписанному номеру, то это было бы натуральным мошенничеством.


    1. lostpassword
      04.06.2018 18:55

      А что это за лотереи со вписыванием номеров? Я только про зачёркивание номеров слышал.


      1. BD9
        04.06.2018 19:59

        Спортлото же (и прочие Кено).


      1. Survtur
        05.06.2018 11:21

        Так то же чисто техническая разница. просто чтобы было удобнее.


    1. mayorovp
      04.06.2018 21:26

      Что интересно, именно этот обман никак не влияет на вероятность выиграть…


  1. MaxVetrov
    04.06.2018 19:18
    +1

    Сам сервер управляет процессом и регулирует вероятность.


    А как без сервера? Ну сделаешь ты случайность в клиенте — найдется «товарищ» который себе эту случайность подкрутит.


    1. apirk Автор
      04.06.2018 19:26

      Знаю, что Хабр жесток по отношению к тем, кто ошибается, но я рискну.

      Шифровать каждое поле отдельно одним и тем же ключом, передать всё на клиента. Клиент запрашивает на сервере расшифрованное поле при клике по нему. После ошибки (красная карточка) клиент запрашивает ключ шифрования и открывает уже сам все поля. Вроде бы честная и рабочая схема.


      1. MaxVetrov
        04.06.2018 19:36

        Организатору нужен контроль, да и проще программировать(и дешевле соответственно), если все на серваке.


    1. MaxVetrov
      04.06.2018 19:28
      -1

      Смотрите всегда кому выгодно.

      участнику гарантировалось бесплатное получение данного товара в одном из магазинов сети

      Сеть магазинов — не совсем шарага же.

      Для чего они это делают?
      Для привлечения большего количества покупателей.

      Кому выгодно с их точки зрения делать выйгрыш?
      Платежеспособным людям.

      Из этого можно сделать вывод, что возможно Ваши данные могут отправляться на сервер уже когда Вы первый раз установили приложение. Там определяется платежеспособный Вы или нет, и если да то Вам предоставляется выйгрыш. Ну и конечно же этот выйгрыш, Вы можете себе позволить без этой лотереи(Вы же платежеспособный). Т.е. Вас просто заманивают в магазин на шопинг, а еще распространение информации о сети магазинов через такие статьи.


      1. Ezhyg
        04.06.2018 20:30
        +1

        выйгрыш
        аж трижды!
        За что вы так ненавидите людей?

        Все войны выйгрывают войны-андройды, они майнят биткойны, работают на стеройдах, заряжены йонами...


        1. MaxVetrov
          04.06.2018 20:32

          А я то тут причем? ))) выИгрыш
          У Вас тоже Й


          1. Ezhyg
            04.06.2018 20:36

            Так а в чьём комментарии трижды слово «выйгрыш»? :)


            1. MaxVetrov
              04.06.2018 20:39

              А ну так это просто в цикле опечатка, поэтому и 3 штуки.)))


              1. Ezhyg
                04.06.2018 21:06

                А я уж было подумал, «поди переклинило человека после общения с безграмотными, дай-ка сделаю ему HALT и RESET» :).


            1. MaxVetrov
              04.06.2018 20:46

              А вы за что ненавидите людей?

              нихачунибуду


              1. MaxVetrov
                04.06.2018 20:55

                Я про слово не про статью.


                1. Ezhyg
                  04.06.2018 21:12

                  А загуглите, ради интереса :).

                  Вообще, так дети говорят и я говорил, когда-то. Это слово, своим написанием — слитностью и через «ни», может отражать целый спектр эмоций, от проговаривания «сквозьзубы», до истерики, в зависимости от контекста.

                  В моём случае:

                  разбираться в хитросплетениях «что думал/хотел сказать автор?» нихачунибуду
                  И правда, зачем я буду выдумывать что-то на тему «что хотел сказать автор» и страдать «синдромом поиска глубинного смысла», если можно разобрать данность, как она есть.


                  1. MaxVetrov
                    04.06.2018 22:01

                    загуглил, гугл правит слово на автомате. Вы мне в словаре покажите без пробелов!!! .) Какой дотошный однако.
                    Я может со своим «Й» новую норму в язык внедряю? Кто знает может Вы присутствуете перед новым открытием. А Вы на корню присекаете это, грамма-наци.) Шучу конечно.


                    1. Ezhyg
                      04.06.2018 23:17

                      Ну там же ниже: «Искать вместо этого нихачунибуду».

                      А я и не говорил, что это словарное слово, наоборот это такой речевой… оборот.

                      присекаете

                      пресекаете, грамотей :)


                      1. MaxVetrov
                        04.06.2018 23:24

                        Ну так я ж говорю, новую норму создаю, язык меняется эволюционирует. Трям!
                        В гугле — Киркоров выпрыгивает на пикабу.


                        1. DS28
                          05.06.2018 05:59

                          Ох, люблю, когда про язык обсуждения)) Интересную тему подняли…

                          Мне видится похожей парой для "играть — выиграть" — "идти — выйти"…
                          Т.е. сочетание ы+и — делает и кратким, ведь со словом проиграть такой проблемы нет. Хотя, как уже было указано, встречаются йоны, андройды… Интересно…


                          1. Ezhyg
                            05.06.2018 10:40

                            Раньше были формы «подите вон» и «выдите вон».


                            1. DS28
                              05.06.2018 12:11

                              В XIX веке отмечались даже выдь и подь. как просторечные от выйти. И глагол был итти (в том числе и итить).
                              А выигрыш в то же время оставался выигрышем))

                              Зато в других языках слово играть иногда теряет первую букву и получаются грати(укр.), grac(польск.), hrat(словац.), hrat(чеш.).

                              Вполне может быть, что выйгрыш станет допустимым по норме)


                      1. MaxVetrov
                        04.06.2018 23:37

                        А Вы у нас, не грамотеях, тоже научились:

                        клёвую штукуёвину
                        начепятала
                        новую хренологию
                        двумя спообами
                        геморой


                        1. Ezhyg
                          05.06.2018 00:26

                          Первые два — речевые обороты.
                          «Новая хренология» — известная насмешка над «Новой хронологией» Фоменко и Носовского.
                          Последние две — опечатки :P Спасибо, исправил!


                          1. MaxVetrov
                            05.06.2018 00:41

                            А ЁжЫГ?


                            1. Ezhyg
                              05.06.2018 00:55

                              «Разгрызи тебя гном»

                              Как сделать 4 ошибки в слове из двух букв — Ёж?
                              Легко! ЙОШЬ.

                              Изначально ник был Hedgehog (но очень недолго), но «ох уж эти собеседники в чате» — Йож, Иожик, Ежык, Ёжыг, E}l{blr и прочие варианты. А всё потому что я по жизни колючий, обычно про таких говорят ершистый, а про меня почему-то всегда было — ежистый.


                              1. MaxVetrov
                                05.06.2018 01:11

                                Можно как ник взять igel или erizo, тоже короткие .)
                                Кстати igel, проще запоминается(иголка)


                                1. Ezhyg
                                  05.06.2018 01:21

                                  И больше 10 лет использования насмарку? Ну уж спасибо :).

                                  Кстати, Igel меня называл один человек из какой-то европейской страны, когда я ему чисто случайно помог разобраться с серьёзной проблемой, настолько серьёзной, что он аж в гости приглашал на халяву.


                                  1. MaxVetrov
                                    05.06.2018 01:36

                                    Igel из немецкого, соответственно германские языки.(Германия, Австрия, ну и соседние страны, Швеция возможно)

                                    Как так можно случайно помочь, что аж в гости приглашают?
                                    Решил гипотезу Пуанкаре?


                                    1. Ezhyg
                                      05.06.2018 10:34

                                      Ну, случайно зашёл на форум, посещаемый мной ооочень редко, там юзер задал вопрос, я ему ответил, что нужно сделать по пунктам, он ответил, что сможет выполнить только первый, остальные он не сможет в силу отсутствия опыта, я предложил помочь через удалённый доступ, он согласился, попутно он рассказывал о других проблемах, которые я так же легко решил имея доступ. В общем потратили мы на это дело чуть больше двух часов, но зато сделали вообще всё что нужно и даже больше :). А я отказывался от денег, ну вот он и решил отблагодарить приглашением.


                                      1. MaxVetrov
                                        05.06.2018 23:10

                                        А от денег то зачем отказались, 2 часа все таки трудов, или самому просто интересно было?
                                        Немец мог подумать, что Вы нахулигали там у него.


                                        1. Ezhyg
                                          06.06.2018 11:11

                                          В начале было дело на 15 минут. А я в это время неспешно переводил некоторые тексты.
                                          Попутно нашлась проблема, которую вдвоём решали полчаса, потому что если её исправлять — отпадывает связь и нужно восстанавливать, потом ещё что-то, потом я посоветовал пару приложений для блокировки всякой фигни, потом в браузеры пару расширений… Ну в общем вот так и затянулось на пару часов.
                                          Нет, он всё видел и проверял, чтобы всё работало как надо, я ему это специально говорил.
                                          А отказался… да не знаю, у меня всякие бзики по этому поводу :(.


                                          1. MaxVetrov
                                            06.06.2018 14:06

                                            Вот так всегда, кажется на 15 минут, а потом затягивает, самому интересно становится.))
                                            С расширениями для браузера не работал(разработка), просто необходимости не было.
                                            Тоже переводами занятся хочу по-немножку, может здесь статью напишу.


      1. awesomer
        04.06.2018 21:26

        Кому выгодно с их точки зрения делать выйгрыш?
        Платежеспособным людям.


        Имел отношения к подобным системам.
        Владельцу сети магазинов — наплевать, кто выиграет.

        Изредка имеют значения такие факторы как фотогеничность выйгрывшего (так как фоторепортаж с вручения публикуется).
        На этом все.

        Всякие умные мысли про платежеспособность — это лишние заморочки.


        1. MaxVetrov
          04.06.2018 21:54

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


      1. BraginAl
        05.06.2018 04:21

        Мало было «войнов». Теперь еще и «выйгрыши». Фанаты «й» атакуют (


        1. ainoneko
          05.06.2018 12:39

          Фанаты «й» атакуют
          Может, это из статьи «Невозможная» ретро игра, где упоминался
          персонаж кириллитической расы первого уровня с прокачанным скилзом 'Й' (заклинание «Йохарный бабай»). Такое заклинание недоступно персонажам расы латиницы.
          ?


      1. KivApple
        05.06.2018 09:38

        Платёжеспособным клиентам нафиг не упёрлись все эти лотереи, ибо за время потраченное на регистрацию в программе и каждодневное участие, можно заработать на большее количество товаров, да ещё и гарантированно.


  1. alexgp13
    04.06.2018 19:18
    +3

    Хочу обратить внимание на юридическую тонкость — к сожалению, полные правила лотереи вы не привели, но ведь там наверняка нигде нет фразы о вероятности выигрыша в процентах, да и сам алгоритм определения победителя не зафиксирован. Там лишь написано, что будет выдано 166000 призов. Рискну предположить, что для поддержания интереса к акции призы выдаются небольшими порциями ежедневно. К слову, мне приходилось участвовать в подобных акциях на стороне организаторов и всегда призы и победители были настоящие. Это для вас 166000 призов — много, а для крупной торговой сети это где то на уровне погрешности в учете, в большинстве случаев обман не имеет смысла.
    Но в любом случае — очень интересно было прочитать вашу статью, спасибо!


  1. ArsMak
    04.06.2018 19:18

    Вообще надо понимать, что посылать реальное игровое поле в онлайн-лотерее некорректно по той простой причине, что особо умные могут его расшифровать и выиграть всё.
    Организатор, как уже сказали выше, на своей стороне рассчитывает "выиграли-проиграли" и присылает на сторону участника готовый результат, который тот открывает.
    Нарушение организатора — заниженные шансы на победу при расчёте (разумеется, если они действительно заниженные и номинальные шансы должны соответствовать приведённым)


  1. fun_for_fun
    04.06.2018 19:19

    Возможно ошибаюсь, но как понял если задача состоит так «На поле есть всего 4 картинки, 1 из них красная карточка 3 другие товар… », то вероятность выигрыша очевидно 1/4. Потому что вот у нас есть пространство событий т.е. в нашем случае как раз, как мы можем открыть 9 мячей(картинок), для любого открытия есть еще 3 такие, что картинки переходят по циклу, ну то есть на пример мы открываем не 9, а 4 то если у нас есть 1 событие открыли в следующем порядке (красная, товар, товар, товар), тогда для этой последовательности есть (товар, красная, товар, товар), (товар, товар, красная, товар), (товар, товар, товар, красная) причем эти события считаем равновероятными, и только 1 из них нас устраивает (мы выиграли). То есть у нас все пространство разбивается на четверки, причем они не пересекаются. В результате в любой четверке выигрышная только 1/4 значит и вся вероятность 1/4.
    (P.S. В случае если есть и другие товары то вероятность выигрыша конечно возрастает .)


  1. Viacheslav01
    04.06.2018 19:48
    +1

    Какая разница какая вероятность, кака разница сколько у них призов, какая разница как сделана защита? Пользователю пытаются навязать иллюзию честной игры, связывая её с его выбором, в то время как выбор пользователя не влияет на результат. На мой взгляд это свинство.


    1. mayorovp
      04.06.2018 21:29

      Самый прикол в том, что выбор пользователя в таких играх никогда не влияет на результат, но от «обмана» все равно обидно :-)


      1. VolCh
        05.06.2018 10:40

        Может и зависит — сначала рандом, если проиграл, то проиграл, а вот если выиграл включаются корректировки «а может слишком много выиграл?»


  1. awesomer
    04.06.2018 21:20

    ещё со времён учёбы в ВУЗе я привык, что в теории вероятности


    первое, чему нас научили на этом предмете — правильно называть его.
    Теория вероятностЕЙ. Их много.


  1. Survtur
    04.06.2018 21:28

    Так они же обещают «отсутствие алгоритмов и процедур… до начала акции». Акция уже началась, это утверждение перестало работать.


  1. zenkz
    04.06.2018 23:51

    Можно было бы сделать эту лотерею честной.
    На сервере генерируется поле (на клиент не передаётся, а передаётся только ID игры).
    Далее юзер кликает на карточке и на сервер идут координаты ячейки — в ответ возвращается картинка для данной ячейки поля.
    В случае проигрыша/выигрыша все карточки открываются, что демонстрирует наличие выигрышного варианта на поле.


    1. progman_rus
      05.06.2018 05:43

      Это сложнее — запрос-ответ на каждое действие клиента.
      Лишняя нагрузка на сервер. Сгенерить какие картинки будут показаны клиенту на его непосредственные действия рациональнее.


      1. zenkz
        05.06.2018 16:20

        Нагрузка на сервер копеечная… Сгенерировать картинки-то можно, но если передать все картинки на клиент, то клиент можно взломать, если передать заранее последовательность (как в статье), то от действий игрока ничего не зависит, а значит это мошенничество…


        1. VolCh
          05.06.2018 16:22

          Откуда мошенничество? Где в правилах, что от игрока что-то должно зависеть?


          1. zenkz
            05.06.2018 19:15

            Ну понятно, что в правилах этого нет — юристы же наверно составляли. От этого мошеничества меньше не становится… В моментальных лотереях, где ты должен стереть, к примеру, 3 поля из 9, после проигрыша ты мог стереть оставшиеся и посмотреть где была выигрышная комбинация. А в данном случае во-первых нет разницы куда кликнуть — всё равно покажется тот же результат, и к тому же в конце игры не показывается поле с выигрышной комбинацией (потому что его не существует).


            1. VolCh
              06.06.2018 06:28

              Если создатели лотери «3 из 9» явно не гарантируют, что в каждом билете есть возможность выиграть, то стерев все и не увидев вообще выигрышной комбинации, ты должен чувствовать себя неудачником, купившим билет, у которого не было шансов, а не обманутым.


            1. progman_rus
              06.06.2018 13:49

              >>В моментальных лотереях, где ты должен стереть, к примеру, 3 поля из 9, после проигрыша ты мог стереть оставшиеся и посмотреть где была выигрышная комбинация.
              В таких билетах выигрыша может и не быть — это не гарантируется организаторами.
              А если декларировать контроль честности то сервер сначала должен был сгенерить игровое поле. Сохранить его в картинку и отдать зашифрованную картинку игроку. Игрок открывает поля по запросу на сервер. На стороне клиента массив картинок изначально не хранится.
              После игры сервер выдает игроку ключ чтобы тот мог убедиться что в результате игровое поле совпадает с той картинкой которую игрок получил в самом начале.

              Только сложно это. Применительно к этому кейсу все равно что микроскопом гвозди забивать.


        1. progman_rus
          06.06.2018 13:46

          речь не про нагрузку на сервер а существенное усложнение клиент-серверного приложенияю


    1. VolCh
      05.06.2018 10:48

      За все не скажу, но для некоторых организаций важнее даже раздать весь призовой фонд, чем доверится «за время акции с вероятностью 95% мы всё честно раздадим, а с вероятностью 0.00000001% никто не выиграет и всё останется у нас», так что им важно исключить случайность на больших числах — все призы должны быть выданы, даже если придётся каждому игроку обеспечить выигрыш. Вернее число выигрышей должно быть не больше количества призов, но не меньше числа сеансов игры, если оно меньше числа призов.


  1. tyamgin
    05.06.2018 00:00
    +1

    Беглый поиск в Google выдал нам сервис JS Beautifier, и вот мы уже читаем отформатированный код

    В хроме есть встроенный beautifier (иконка {}).


  1. amperkotfwb
    05.06.2018 04:22

    Вывод один — победы ждать не стоит, или: лохотрон( отсюда и лототрон:) )


  1. progman_rus
    05.06.2018 05:41
    +1

    Странное возмущение с вашей стороны. То есть вы хотели бы что бы по F12 вы могли найти в памяти браузера правильные картинки что бы выиграть?
    Собственно все азартные игры, a la лотереи или слоты генерят секвенцию на стороне сервера и после того как сервер решил выиграете вы или проиграете от вас уже ничего не зависит.
    Те же игровые слоты в казино — как только вы нажали кнопку SPIN — игра моментально приняла решение какую картинку вам в итоге показать и сколько вы выиграли и все эти вращения барабанов на экране не более чем фэйк для придания игре атмосферности


  1. anprs
    05.06.2018 08:11

    Ведь я должен был выигрывать каждый четвёртый раз. Но к тому времени я проиграл уже раз 10. Вероятность такого развития была крайне низка, и я начал исследовать скрипты игры.
    Вот, как раз, вероятность такого развития достаточно высока. Вот если провести 1000 игр и посчитать процент побед, то да…


  1. Dessloch
    05.06.2018 09:24

    ИМХО в наш век слегка наивно верить в честные лотереи, когда поддельные не только молоко и пиво, но даже лекарства.


  1. LbISS
    05.06.2018 09:29
    +1

    И это уровень хабра? И в топе комментов продолжение поста с возмущением вместо ответа автору "сам дурак"?
    Вы действительно думаете что вам в JS должны генерить последовательность чтобы вы вот так нажали F12 и скорректировали на выигрышную? Я думал это очевидно, что всё генерится на сервере исходя из соображений безопасности. И для экономии ресурсов естественно просто генерируется вся последовательность, вместо того чтобы гонять десятки запросов просто так. Разницы помимо нагрузки и тормозов нет никакой.


    При расчете вероятности в условии не написано самое важное — количество доступных видов товаров и их соотношение. А это зашито на сервере и вы это не узнаете. И поэтому дальнейшие расчеты абсолютно бессмысленны, т.к. работают по неполным условиям, поэтому высчитанная вероятность вообще может не иметь ничего общего с реальным. Может там вообще 8 товаров и красная карточка и три набрать никогда нельзя. А может из 9 — 1 красная карточка, 6 товаров №1, 1 товар №2 и 1 товар №3.


    1. TheShock
      05.06.2018 15:39

      Вы комменты не читали? Там вполне работающие идеи поданы.


  1. Visphord
    05.06.2018 09:37
    -3

    В очередной раз убеждаюсь, что большая часть акций в РФ — лохотрон. Из моих личных примеров:
    — Акция на BP и Европе+ (зарегистрируй код, получи шанс выиграть приз) — написал перебиралку кодов, начал активно регистрировать. В последние минуты внезапно призовые места заняли другие люди (да даже просто вбить руками столько кодов за минуту-две нереально). Кодов на приз надо было более 200 (200 раз заправиться на заправке за неделю?).
    — Акция Аэрофлота (Угадай место по Google Street View). Написал угадывалку, она вытаскивала координаты из HTML. Люди там якобы набирали больше чем мой бот, причем выглядело это так — мой бот ставит рекорд, появляется человек, который набрал больше. Вплоть до того, что человек якобы угадывал место за пару миллисекунд.

    С тех пор в наших, Российских конкурсах я больше не участвую (за редким исключением).

    В китайских магазинах в этом плане все честно, проверял не раз.


    1. VolCh
      05.06.2018 10:53
      +2

      Проверяли тем же способом? не возникло мысли, что после ваших проверок и в китайских станет как в российских исходя из ваших же критериев «просто вбить руками столько кодов за минуту-две нереально», «человек якобы угадывал место за пару миллисекунд». Просто чтобы самим не оказаться «лохами», которых разводят ботоводы.


    1. MAXInator
      05.06.2018 11:13
      +4

      Не думали, что кто-то просто написал бота лучше вашего?

      Вообще, жалоба от ботовода на нечестность — это как-то лицемерно.


    1. opckSheff
      05.06.2018 12:05
      +1

      То есть вы используете для победы всякие «угадывалки» и обвиняете кого-то в нечестности? Ну-ну…


  1. pensnarik
    05.06.2018 09:48
    -1

    Можно статистику сделать открытой для просмотра всем желающими, чтобы каждый мог убедиться, что игра честная. Какой-то вариант blockchain'а почему-то тут первое, что приходит в голову.


  1. Cim
    05.06.2018 10:46

    Очень много лет назад, когда я был молодым и диким программистом, через меня по разным причинам прошли разные очень популярные «php-скрипты» онлайн-казино. Слот-машины, видео-покер и прочее. Всё оно имело примерно следующую математику:

    ```
    if userWinAmount < userInitialBallance
    chanceToWin = 50%
    else
    chanceToWin = 0%
    end
    ```
    Мат.ожидание — 100%, сириоз бизнесс!

    Так что прививку от всяких казин я получил навегда.


    1. VolCh
      05.06.2018 10:56

      Это слишком грубо, быстро палится игроками. Если не жадничать и давать выигрывать пока есть плановая прибыль, то в целом денег больше получается в среднесрочной перспективе. Проверено даже на А/Б тестах.


      1. Cim
        05.06.2018 11:24

        Это был лет 12 назад, и людей, что пользовались такими скриптами, бизнес идея крутилась вокруг «насетапить казино, получить денег, закрыть через месяц. Повторить». Все одинаковые и стремные. Посмотрел на пару таких «скриптов» и сказал, что ну вас к черту, ребятя, без меня, без меня. Мало того, что гемблинг, так еще и тупо разводняк.
        Но прививку получил.


        1. VolCh
          05.06.2018 11:34

          Мне больше с людьми повезло, видимо.


          1. Cim
            05.06.2018 11:47
            -1

            Я допускаю, что где-то в слот-машинах может быть и честная ленточная математика, но всё равно это гемблинг, и мероприятие более законным не становится.


  1. MrDaedra
    05.06.2018 10:56
    +1

    В Chrome есть кнопка Pretty print в правом нижнем углу при просмотре файла JS. Сторонние сервисы для этого не нужны.


  1. amarao
    05.06.2018 12:04
    -1

    Внезапно — лотерея на базе блок-чейна позволит проверить честность. Как? Потому что все розыгрыши записаны (и это легко проверить — записываются они или нет), а раз все записываются, то можно посмотреть статистику выигрышей.


    1. VolCh
      05.06.2018 12:16
      +1

      Надо различать общую честность и чувство справедливости конкретного игрока, который думает какой квадратик открыть, не зная, что выиграет он или нет уже определено самое позднее в момент, когда страница загружалась.


    1. Germanets
      05.06.2018 14:06
      +1

      И что самое главное — под реализацию варианта с блокчейном можно сразу заложить в пару раз больший бюджет…


  1. SergeyPerm
    05.06.2018 12:26

    Я делал когда-то делал онлайн-игру по аналогии с оффлайн лотереей «автомобиль». На карточке матрица из ячеек, за ними буквы, если открываешь буквы из которых складывается только слово «автомобиль», то ты выиграл.

    Так мы разыгрывали призы на своем сайте (не автомобиль, конечно, а попроще).

    При этом все было честно. Время игры 5 минут, тебе на почту отсылается архив с ответами, пароль в конце игры (это все было лет 15 назад, подобрать было нереально).

    Так вот, если в ячейках содержатся разные буквы, вероятность выигрыша стремилась к нулю. Если в буквы подмешивать буквы из открываемого слова, то вероятность выигрыша увеличивалась. Высокая вероятность выигрыша была (около 20%), если используются только буквы из открываемого слова. Короче, для заманухи надо быть раздавать призы, и алгоритм постепенно увеличивал количество повторяемых букв. После выигрыша, буквы становилось разными. Спустя какое-то время снова подмешивал буквы из открываемого слова подогревая интерес. Если бы все буквы в матрице всегда были разные, то никто бы ничего не выигрывал. А так никто никого и не обманывал, но игра была более чем управляемая :))


  1. Zolg
    05.06.2018 16:18

    А где самая интересная часть? С написанием эрзац-клиента игры, брутфорсящего заветный outcome?


  1. Goliaf73
    06.06.2018 04:37

    Мошенничеством это стало бы в тот момент, когда организаторы попросили бы Вас заплатить за билетик. А так это не более чем контролируемая рекламная акция.


  1. Mnilionic
    06.06.2018 04:37

    Так если комбинация заранее грузится с сервера и на клиенте нужно только отобразить их в 9 полях, что в тогда в этих 40 000 строках?


    1. Zolg
      06.06.2018 13:51

      говнокод?


      1. VolCh
        07.06.2018 01:05

        обфускация? React/Angular/vue/etc?