С Новым годом! Форум программистов, компьютерный форум, киберфорум
PHP для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/6: Рейтинг темы: голосов - 6, средняя оценка - 5.00
0 / 0 / 0
Регистрация: 22.09.2018
Сообщений: 43

Почему подбрасывая монету хоть 1млн раз будет лишь 14 выпадений подряд максимум

01.07.2019, 22:22. Показов 1206. Ответов 12
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Задал вопрос жене программисту, а она так и не объяснила. Интерес возник после того, как я в онлайн казино 11 или 12 раз подряд получил один и тот же цвет (там было только 2 варианта, подобно монетке, когда на ребро не может упасть). Так поставив 10$ поднялся до 116$ и вдруг слился в 0. В общем не играйте.

Тогда решил сесть за php, что-то навалял и, вдруг понял, это действительно возможно получить 11-12 повторов подряд. Не вот тебе часто, но не это меня удивило.
Даже если подбрасывать монету 1 млн раз - все равно выпадет не более 14 раз подряд одной стороны. Вот 15 раз подряд - никогда не выпадает! Почему так?
Код прилагаю... Может в нем что или теперь теорию вероятности надо учить?
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
Вывод максимального числа повторов 0 или 1 подряд в заданном интервале.
<br><br>
<form action="" method="post" >
Сколько раз подкинуть монету (повторить рандом между 0 и 1): <br>
    <input type="textbox" name="num1" value="<?php echo (isset($_POST['num1']))?$_POST['num1']:'';?>" />    <br><br>
Поставить на:
    <input type="radio" value="0" name="radio"  checked  /> <label>0</label>
    <input type="radio" value="1" name="radio" /> <label>1</label><br><br>
    <input type="submit" name="submit" />   <br><br>
</form>
<?php
 $num1 = (int) $_POST[num1];
 $radio = (int) $_POST[radio];
 
$res = 0;
$res_max = 0;
for($i=1;$i <= $num1; $i++) {
    $rand = rand(0, 1);
    if ($rand == $radio) {
    $res++; 
    $res_max = $res;
    } else $res = 0;
echo $arr[] = $res;
}
?> 
<br>Максимальное кол-во выпадений подряд заданного числа<b style="color: red;">
<? echo $_POST[radio]; ?></b>: <?php echo "<span style=\"font-size: 150%; color: red;\">". max($arr) . " раз! </span>";
echo  "<br>При этом максимум в самом конце число: $res";
echo  "<br>При этом максимум в последний раз дошло до: $res_max";
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
01.07.2019, 22:22
Ответы с готовыми решениями:

Сколько раз подряд можно будет вытащить красный шар раньше зеленого?
Всем добрый день! Подскажите пожалуйста решение задачи! Задача: есть N шаров, из них 1 шар зеленый (g), и один шар красный (r)....

Почему Memo выводит одну строку 6 раз подряд?
Уважаемые помогите ! Задолбался я. Гляньте кому не сложно. В потоке TCOMReadThread.execute в самом конце вызываю synchronize(outInfo);...

Сколько раз будет использована цифра 6, если записать подряд последовательные натуральные числа от a до b?
Сколько раз будет использована цифра 6, если записать подряд последовательные натуральные числа от a до b? Входные данные 1 89 ...

12
 Аватар для atanov
640 / 481 / 172
Регистрация: 26.05.2016
Сообщений: 2,674
02.07.2019, 07:45
Цитата Сообщение от TyPOY Посмотреть сообщение
как я в онлайн казино 11 или 12 раз подряд получил один и тот же цвет
а здесь вообще жульничество не исключено.

Батенька, а для Ваших умозаключений Вам в академическую науку надо бы, называется теория вероятности. А потом сравнить алгоритм получения случайного, например на уровне двоичного кода и Вы поймёте, что машинный алгоритм только притянут к чистой теории. Поэтому теоретический расчёт и не сойдётся с Вашей практикой.
1
0 / 0 / 0
Регистрация: 22.09.2018
Сообщений: 43
02.07.2019, 10:21  [ТС]
Если так, то, увеличивается вероятность моего следующего умозаключения: выбрав довольно большое число, например, 100 000 и подкидывая монетку столько же раз с помощью, например, php (а не вручную) каждый раз мы примерно будем получать места скоплений выпаданий чисел подряд. Так при 1 броске в диапазоне от 1 до 100к это будет незаметно, но подкинув 100к по 100к, возможно, мы сможем увидеть некоторые скопления.

А если растянуть диапазон 100к до 100млн, то можно увидеть и вовсе абсолютно слепые зоны, в то время как будут образовываться целые облака скоплений выпаданий, даже если мы опять таки, будем столько же раз подкидывать (те подкинем 100млн раз выбрав диапазон от 1 до 100млн). Если это верно, то, различные online сервисы, которые помогают в выборе победителей в тч крупным блогерам, компаниям и прочим разыгрывающим среди большого кол-ва игроков, в тч по ТВ на самом деле дают возможность, определенным диапазонам номеров больше шансов чем другим, или, вообще некоторым не дают. А, зная кол-во участников и места этих скоплений шансы игрока могут значительно увеличиваться, особенно, если он будет иметь скопы билетов, тем более халявных, к которым есть доступ у организаторов. Мб это вообще давно используется... Хотя однажды, ехал по пути я с бывшим сис админом одного из закрытых офлайн казино. Он рассказал про различные ПО, что, в автоматах есть много хитростей. Было давно, больше 10 лет назад - плохо помню)) Но, вроде про это не говорил. Хитрости вроде банального наблюдения за наполненностью и частотой выпадений + ПО.

Я в ассемблере пока 0, я и в php неделю, но, интересно, как оно там. Буду признателен, в тч и за предположения, будут ли реально скопления и пустоты при неограниченно больших подкидываниях неограниченно большое раз. МБ еще чуть поучусь, попробую провести эксперимент, но у меня довольно дохлый ПК, а тут еще, скорее и в БД надо будет записывать результаты, тк моя портянка считает лишь при 1 подбрасывании, а их надо делать в 100млн раз больше)) Хотя, по идее, в новый массив надо записывать лишь положительные результаты. Или, лучше за раз считать и обратную сторону, а не только для одной. Вдруг, ставя на оба числа уже не обнаружить никаких скоплений... Тогда все равно, почему не больше 14...

Пока я вообще без понятия как реально это происходит на двоичном коде, предполагаю, что в основе рандома, стоит довольно большое число, тем не менее, оно как раз сравнимо со 100к, для скорости обработки, таким образом при малых диапазонах rand() отрабатывает отлично, а при больших уже проявляются зависимости. С другой стороны, я, вроде бы не имею ничего общего с этим большим числом ничего, тк подкидываю лишь 0 или 1. Но, как оно там на самом деле...
0
 Аватар для atanov
640 / 481 / 172
Регистрация: 26.05.2016
Сообщений: 2,674
02.07.2019, 10:36
Цитата Сообщение от TyPOY Посмотреть сообщение
будем получать места скоплений выпаданий чисел подряд
в теории каждое подкидывание независимо от других, поэтому подкинув -> infinity, получите '0' -> 0.5 & '1' -> 0.5. А программно зависимо, очень-очень незначительно, но зависимость есть.
1
1 / 1 / 0
Регистрация: 06.08.2016
Сообщений: 8
08.07.2019, 15:38
У на миллионе подбрасываний максимальная серия одинаковых результатов - 24 получалась.

PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
$red = 0;
$black = 0;
$maxSeries = 0;
$maxIteration = 1000000;
for ($i = 1; $i < $maxIteration; $i++)
{
    $random = rand(0, 1);
    if ($random === 0) 
    {
        $red++;
        $black = 0;
        if ($red > $maxSeries) $maxSeries = $red;
    }
    if ($random === 1) 
    {
        $black++;
        $red = 0;
        if ($black > $maxSeries) $maxSeries = $black;
    }
}
echo $maxSeries;
Но тут дело даже не в этом. Казиношники в курсе про мартингейл). Казино существует, чтобы зарабатывать на азартных людях и на тех, кто думает что нашел способ обыграть казино).
0
1152 / 554 / 320
Регистрация: 21.06.2012
Сообщений: 1,854
08.07.2019, 22:16
На самом деле, правила казино и ПО "одноруких бандитов" строго регламентировано законодательством (речь идет о лицензированных заведениях и автоматов). И там строго прописано сколько казино (автомат) должен возвращать игрокам в виде выигрышей, и сколько забирает себе заведение. Помню даже такое выражение как "заряженный автомат", это машина которая уже проглотила достаточно для того чтобы выдать крупный выигрыш. Поэтому казино и автоматы в принципе нельзя обыграть, и теория вероятности здесь не причем.

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

Добавлено через 2 часа 10 минут
А по поводу 12 выпадений подряд, вот скриптик:
PHP
1
2
3
4
5
6
7
8
9
10
$step = 0;
$count = 0;
$prize = 0;
while(1){
    $count++;
    $prize = (mt_rand(0,1)) ? $prize+=1 : 0;
    if($prize == 0)$step+=1;
    elseif($prize == 12)break;
}
echo "step: {$step}, count: {$count}, prize: {$prize}";
step: 2837, count: 5720, prize: 12
step: 7548, count: 15351, prize: 12
step: 1141, count: 2300, prize: 12
step: 2865, count: 5778, prize: 12

Добавлено через 10 минут
step: 14, count: 38, prize: 12 )))
0
08.07.2019, 22:28

Не по теме:

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

0
08.07.2019, 22:57

Не по теме:

Цитата Сообщение от Jewbacabra Посмотреть сообщение
Это понятие было специально придумано чтобы активнее заманивать игроков
Предприимчивые ребята, в сговоре с администратором клуба, ошивались в этих заведениях и вычисляли в какой автомат больше всего закидывали. И в определенный момент туда подсаживался человек с приличной суммой и снимал приличный выигрыш. Возможно были заведения в которых ПО было прошито на выдачу 0% беднягам игроманам, но были и такие заведения которые играли более менее по правилам, да и там предприимчивые ребята снимали все сливки.

0
08.07.2019, 23:46

Не по теме:

Цитата Сообщение от sasha0012 Посмотреть сообщение
Предприимчивые ребята, в сговоре с администратором клуба, ошивались в этих заведениях и вычисляли в какой автомат больше всего закидывали. И в определенный момент туда подсаживался человек с приличной суммой и снимал приличный выигрыш.
Именно такие истории и придумывались, чтоб игроманы свои деньги активнее несли. Чтобы какие-то "предпреимчивые ребята" что-то крупное выиграли просто смешно, и дело не в ПО. А даже если бы и выиграли, то в лучшем случае их бы просто в следующий раз туда не пустили, а в худшем случайно на нож упали бы раз 20. Понастоящему предпреимчивые такими клубами владели.

0
 Аватар для zeroalef
200 / 236 / 33
Регистрация: 29.03.2019
Сообщений: 667
09.07.2019, 00:16

Не по теме:

Цитата Сообщение от Jewbacabra Посмотреть сообщение
Именно такие истории и придумывались, чтоб игроманы свои деньги активнее несли.
Вы, вероятно, выдаете желаемое за действительное. Слова sasha0012 -- чистая правда и я таких случаев знаю десятки и десятки. Не знаю как с этим делом сейчас всё обстоит, но в 90-е, нулевые все обстояло именно так.


TyPOY, вы упускаете такую деталь что каждый отдельный бросок имеет вероятность 50% независимо от предыдущих результатов. В теории даже все подряд броски могут быть с одним результатом. Правда, это событие крайне мало вероятно.
0
09.07.2019, 10:01

Не по теме:

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

В общем можете верить в сказку про "заряженный автомат", мне все равно

0
1152 / 554 / 320
Регистрация: 21.06.2012
Сообщений: 1,854
09.07.2019, 10:21

Не по теме:

Цитата Сообщение от Jewbacabra Посмотреть сообщение
Именно такие истории и придумывались,
Эта история не придумана, а как говорится, из первых рядов. Просто я не вижу смысла отстаивать здесь ее правдоподобность.

Цитата Сообщение от Jewbacabra Посмотреть сообщение
в лучшем случае их бы просто в следующий раз туда не пустили, а в худшем случайно на нож упали бы раз 20
А с чего Вы взяли что они действовали без ведомо администрации? Вы поймите, что если бы никто и никогда в этих автоматах не выигрывал, то туда мало бы кто ходил. А просто пускать слухи о том что не происходило, просто невозможно. Именно по этому в крупных заведениях автоматы на самом деле выдавали крупные выигрыши. Только, как Вы понимаете, мимо предприимчивых ребят ничего не могло пройти просто так. И простой игроман конечно никогда не видел крупных призов. Все доставалась подставным лицам, по всем законам жанра. Пришел солидный дядя, достал котлету, сунул ее в автомат, поднял в сто раз больше, снял наличку и с гордой походкой победителя вышел из заведения. И вот такие истории и пересказывались потом взахлеб.



Добавлено через 4 минуты

Не по теме:

Цитата Сообщение от Jewbacabra Посмотреть сообщение
А я знаю как от работавших в таких заведениях как радостно свои деньги несли в "заряженный автомат"
Повторюсь, обычным смертным и ловцам удачи, никогда и ничего не перепадало. Значит они несли деньги в автоматы которые в принципе не настроены на выдачу выигрыша.

0
0 / 0 / 0
Регистрация: 22.09.2018
Сообщений: 43
21.09.2019, 23:57  [ТС]
Да, ребята, и я такое слышал, что охранники в заведениях иногда нанимались подставные или договаривались с текущими, а может и сами охранники были активны в поисках хороших кошельков и за % давали инфо. Я не проверял и только слышал. Но, этому мало доверяю, тем более ПО за 10 лет уже переписано. Меня эта тема не волнует никак) но, вот что ведущий сис админ крупной сети казино мне сказал - алгоритмы глобально работают так, что все равно деньги там сливают и намек был на спец доработки. Как управляются и как они устроены, в виде вируса или на базе основного ПО - хз, я не уточнял. А то, что жестко где-то прописано по поводу % выигрыша - не факт что в жизни реализуемо. Дал взятку - все норм, даже там, где руками пощупать можно. А тут сложное ПО, какой специалист будет его анализировать, как. Если в магазинах нас дурят подделками и отравляющими продуктами в открытую и никакие разоблачения даже на официальных каналах типа доброе утро не влияют ни на закрытие компании, ни на покупательский спрос на вредный продукт, а в этой области все на порядок сложнее в принципе.

Вот что по своему скрипту заметил - если запускать на других ПК, то ограничение в 14 совпадений подряд смещается. Их может быть больше или меньше, но на конкретном ПК - постоянно => при рандоме ф-я использует данные ПК (собственно это известно, я уже не помню какие именно). Опять таки, да, размер узора может быть изменен, но, не факт что сам узор от этого пропорционально сильно изменится. Хотя учесть и попасть в нужное даже при сохранении формы узора уже становится почти невозможным.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
21.09.2019, 23:57
Помогаю со студенческими работами здесь

Монету бросают, пока два раза подряд не выпадет герб
Монету бросают, пока два раза подряд не выпадет герб. Найти вероятность того что будет сделано n бросков(n&gt;=4)

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

Бросаем монету 40 раз
Бросаем монету 40 раз. Чему равна вероятность того , что герб появится 25 раз?

Монету бросают 6 раз
2. Монету бросают 6 раз. Найти наиболее вероятное число выпадения герба и вероятность такого числа гербов.

Монету подбросили 2n+1 раз
Монету подбросили 2n+1 раз. Найти вероятность того, что хотя бы один раз появится герб, если известно, что решка выпала не менее n+1 раза.


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
13
Ответ Создать тему
Новые блоги и статьи
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Programma_Boinc 28.12.2025
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост. Налог на собак: https:/ / **********/ gallery/ V06K53e Финансовый отчет в Excel: https:/ / **********/ gallery/ bKBkQFf Пост отсюда. . .
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Нашел на реддите интересную статью под названием Anyone know where to get a free Desktop or Laptop? Ниже её машинный перевод. После долгих разбирательств я наконец-то вернула себе. . .
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Рецензия / Мнение/ Перевод Нашел на реддите интересную статью под названием The Thinkpad X220 Tablet is the best budget school laptop period . Ниже её машинный перевод. Thinkpad X220 Tablet —. . .
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru