Перейти к содержимому













Фотография
Скачать

Универсальный генератор выигрыша - КОД ГОСЛОТО



  • Авторизуйтесь для ответа в теме
Сообщений в теме: 19

#16 instagib

instagib
  • Platinum
  • Сообщений: 873
  • Регистрация: 16.09.2014
  • Заработано: 100 руб.
Репутация: 328

Награды: 27

  
  
  
  
  
  
  
  

Отправлено 10 Сентябрь 2015 - 15:45

Тщетные попытки победить лотерею
Математика*, Алгоритмы*
Представим воображаемого хитрого дядю, который хочет обмануть и заработать деньги на «лопухах». Назовем его Геннадий Обмануев. 
В самый обычный вторник, Геннадию Обмануеву вдруг пришла гениальная идея: создать лотерею, в которой каждый игрок может сам указывать свой шанс на победу и, следовательно, множитель выигрыша и играть на выставленных им правилах! Для того, чтобы всегда оставаться в плюсе, Геннадий в конце каждой удачной игры берет символическую плату в 5% от выигрыша. 
 
 
*если кратко об игре
 
Как и в случае с казино, чем дольше игрок играет в такую игру — тем более вероятно, что он, в конце концов, проиграет. Но неужели нельзя обмануть хитрого дядю, придумав чудесную тактику, благодаря которой можно увеличить свои шансы на победу? 
 
Для начала попробуем стандартную тактику в любых начинаниях: сотня тысяч итераций со случайными значениями. В среднем, это покажет результаты огромной массы людей, которые играют не систематично. Естественно, что ставить на процент 100% с пятипроцентным налогом неразумно, поэтому ставки ограничим от 10% (названный Геннадием минимум) до 94%.
 
Я знаю только php, поэтому писать буду на нем, думаю, он вполне всем понятен:
<?php
$bank = 1000000000; //банк богатого хитрого дяди
define('START_MONEY', 10000);
$money = START_MONEY; //деньги игрока
 
 
for($i = 0; $i < 100000; $i++){
    $bet = mt_rand(10, 100); //минимальная ставка = 10. 
    $chance = mt_rand(10, 94); //94+ ставить нет смысла - забирает комиссия
    $random = mt_rand(1, 100);
 
    $money -= $bet;
    $bank += $bet; //сразу отправляем деньги игрока в банк
 
    if($chance >= $random){
        $money += $bet * 95/$chance; //отдаем игроку :)
        $bank -= $bet * 100/$chance; //забираем у банка :)
    }
}
 
echo floor($money-START_MONEY);
 
 
Результаты получились предсказуемыми, но не систематичными из-за огромной доли случайности в игре. 
Я пять раз запустил этот цикл, у меня вышли результаты:
 
Игрок проигрывает 225043.
Игрок проигрывает 272766.
Игрок проигрывает 320369.
Игрок проигрывает 276055.
Игрок проигрывает 254899.
 
 
Результаты выглядят плачевно: наши игроки задолжали хитрому дяди ~25 первоначальных денег. В среднем, игроки проигрывают за 100 000 итераций ~250 000 условных единиц. Попробуем добавить логику в наш алгоритм. Естественно, самым разумным было бы написать
break;
 
в начале цикла, но мы не ищем простых путей! Начнем со смены случайных значений. Попробуем играть при строго поставленных значениях. Например, минимальную ставку на максимальный шанс. К чему приведет такая тактика?
$bet = 10;
$chance = 94;
 
 
В результате мы, конечно, проигрываем намного меньше, ведь мы и ставим меньше! Хотя можно заметить, что проигрыш стал более предсказуемым. Он колеблется около 50 000, практически без разброса. 
 
Игрок проигрывает 50940.
Игрок проигрывает 50900.
Игрок проигрывает 51274.
Игрок проигрывает 51041.
Игрок проигрывает 49344.
 
 
Величина проигрыша не столь важна, если мы проигрываем десятки начальных сумм и должны хитрому Геннадию. Я специально не меняю алгоритм в сторону «вовремя остановиться», потому что мне интересно, возможно ли получить положительные результаты после 100 000 итераций.
 
Попробуем играть при минимальной ставке и минимальном шансе выиграть. 
$bet = 10;
$chance = 10;
 
 
Опять мы проигрываем. На этот раз разброс очень большой, и это логично: ведь мы играем при минимальном шансе на победу.
 
Игрок проигрывает 37650.
Игрок проигрывает 58075.
Игрок проигрывает 52660.
Игрок проигрывает 43635.
Игрок проигрывает 40310.
 
 
Кстати, что интересно: если в лотерее минимальная ставка была бы 0.1%, то результаты стали бы такими:
 
Игрок Выигрывает 83000!
Игрок проигрывает 78500.
Игрок проигрывает 12000.
Игрок Выигрывает 7000!
Игрок проигрывает 69000.
 
 
Множитель получается настолько маленьким, что увеличивает нашу ставку почти в тысячу раз, но это происходит так нечасто, что результаты абсолютно непредсказуемые.
 
Попытаемся применить какой-нибудь алгоритм для выигрыша. Например: чем больше денег мы выиграли, тем рискованнее мы можем играть. Я реализовал это таким образом:
$bank = 1000000000; //банк
define('START_MONEY', 10000);
$money = START_MONEY; //деньги игрока
 
 
for($i = 0; $i < 100000; $i++){
    $bet = 10;
    $pre_chance = 100 * (2 - 0.94 * $money/START_MONEY); //94+ ставить нет смысла - забирает комиссия
 
    if($pre_chance > 94){
        $chance = 0.94;
    }else{
        $chance = $pre_chance;
    }
    
    $random = mt_rand(1, 1000)/10;
 
    $money -= $bet;
    $bank += $bet; //сразу отправляем деньги игрока в банк
 
    if($chance >= $random){
        $money += $bet * 95/$chance; //отдаем игроку :)
        $bank -= $bet * 100/$chance; //забираем у банка :)
    }
}
 
echo floor($money-START_MONEY);
 
*надеюсь, это работает
 
И также у меня ничего не вышло, разброс результатов был большим, но в любом случае я проигрывал. 
 
Тогда я попробовал пойти на серьезные меры, организовав «внутренний карман». Туда игрок складывает деньги, которые ни за что не потратит, чтобы остаться хоть с какими-нибудь грошами. Пришлось поменять логику, потому что сейчас попыток будет явно меньше, чем 100 000. И самое важное, что я сделал: я поставил игроку цель. Например, увеличить выигрыш вдвое.
$bank = 1000000000; //банк
define('START_MONEY', 10000);
$money = START_MONEY; //деньги игрока
$pocket = $money/2;
$money /= 2;
$goal = START_MONEY*2;
 
for($i = 0; $i < 100000; $i++){
    if($money < START_MONEY/10){
        break; //доигрались...
    }
 
    if($money + $pocket >= $goal){
        break; //наигрались!
    }
 
    $bet = mt_rand(10, $money/10); //минимальная ставка = 10. 
    $chance = mt_rand(10, 94); //94+ ставить нет смысла - забирает комиссия
    $random = mt_rand(1, 100);
 
    $money -= $bet;
    $bank += $bet; //сразу отправляем деньги игрока в банк
 
    if($chance >= $random){
        $money += $bet * 95/$chance / 2; //половину отдаем игроку :)
        $pocket += $bet * 95/$chance / 2; //половину кладем в карман :)
        $bank -= $bet * 100/$chance; //забираем у банка :)
    }
}
 
echo floor($money-START_MONEY);
 
 
И только при таком раскладе, с некоторой вероятностью, я начал выигрывать относительно небольшие суммы. Впрочем, проигрывать тоже. 
 
Вывод
 
В играх, где процент уходит «заведению» или хитрому Геннадию Обмануеву, при длительной игре большого количества людей выиграть мне не удалось и сомневаюсь, что это возможно. В любом случае, в связи с тем, что события происходят случайно, а лотерея забирает выигрыш в любом случае, она всегда остается в плюсе. Налог в данном случае выполняет ту же цель, что и Zero на рулетке в казино: смещает общий шанс победы в сторону заведения, а не игрока. 
 
Об ошибках в тексте и в логике кода сообщайте, пожалуйста, в личные сообщения. Я оперативно исправлю.
 
Кстати, может кто-нибудь может придумать алгоритм, который-таки побеждает в этой лотерее? Было бы очень интересно. Какой алгоритм действительно является самым лучшим в этой игре?

  • 3

#17 Tip_the_besT

Tip_the_besT
  • Platinum
  • Сообщений: 121
  • Регистрация: 23.05.2015
  • Заработано: 0 руб.
Репутация: 63

Награды: 15

  
  
  
  
  
  
  
  

Отправлено 11 Сентябрь 2015 - 08:09

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

 

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

 

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


Сообщение отредактировал Tip_the_besT: 11 Сентябрь 2015 - 08:31

  • -2

#18 олег526

олег526
  • Сливапер LVL 5
  • Сообщений: 83
  • Регистрация: 14.09.2015
  • Заработано: 9 руб.
Репутация: 187

Награды: 13

  
  
  
  
  
  
  
  

Отправлено 22 Сентябрь 2015 - 22:28

да если б  прога была рабочей , она бы стоила соответствующие и не висела бы тут в общем доступе 


  • 0

#19 bobah45py

bobah45py
  • Сливапер LVL 4
  • Сообщений: 396
  • Регистрация: 28.04.2015
  • Заработано: 0 руб.
Репутация: 74

Награды: 17

  
  
  
  
  
  
  
  

Отправлено 24 Сентябрь 2015 - 01:22

да если б  прога была рабочей , она бы стоила соответствующие и не висела бы тут в общем доступе 

А ты хочешь сказать что здесь только Г... сливают?


  • 0

#20 Tesak

Tesak
  • Сливапер LVL 5
  • Сообщений: 752
  • Регистрация: 17.08.2014
  • Заработано: 48 руб.
Репутация: 446

Награды: 21

  
  
  
  
  
  
  
  

Отправлено 28 Сентябрь 2015 - 08:00

Что обнаружил. Правообладатель обеспокоился и стуканул в Роскомнадзор.

Открытое письмо на форум СКЛАДЧИНА

Открытое письмо на форум СКЛАДЧИНА администратору!

Дорогие администраторы форума, убедительная просьба убрать с Ваших форумов ссылки на: программы, ключи, информацию, а также сами программы приобретённые в интернет-магазине STORE.HelpSet.ru и не законно размещённые на Ваших Интернет сайтах, файлообменниках, а равно размещённые в открытом доступе в сети, без согласия правообладателя. По факту Вы нарушаете Авторские права, Соглашение об использовании, а также Смежные права разработчиков и авторов программ. Следующим шагом со стороны магазина будет рассмотрение жалобы в арбитражном суде, совместно с разработчиками (фирмами, авторами, юристами) по адресу: г.Москва, Большая Тульская, д.17, подобная практика уже имеется. Давайте решать вопрос мирным путём! Ждём отчёта о результатах проведённой Вами работы.

Подробнее: http://www.helpset.r...httpslivup-biz/


  • 0



Похожие темы Collapse

Количество пользователей, читающих эту тему: 0

0 пользователей, 0 гостей, 0 анонимных

×

Зарегистрируйся моментально!