За последние 24 часа нас посетили 34566 программистов и 1709 роботов. Сейчас ищут 770 программистов ...

Вероятность события

Тема в разделе "PHP для новичков", создана пользователем 0x0, 29 авг 2013.

  1. 0x0

    0x0 Новичок

    С нами с:
    29 авг 2013
    Сообщения:
    13
    Симпатии:
    0
    Как в php реализовать вывод события с определенной вероятностью?

    Допустим выполнить
    echo 123;
    с вероятностью 75%
     
  2. vikrorpert

    vikrorpert Активный пользователь

    С нами с:
    13 окт 2010
    Сообщения:
    984
    Симпатии:
    10
    Код (Text):
    1. if (mt_rand(0, 100) >= 75)
    2.   echo 123;
     
  3. 0x0

    0x0 Новичок

    С нами с:
    29 авг 2013
    Сообщения:
    13
    Симпатии:
    0
    vikrorpert, спасибо
    но вроде правильнее mt_rand(1, 100) не?
     
  4. vikrorpert

    vikrorpert Активный пользователь

    С нами с:
    13 окт 2010
    Сообщения:
    984
    Симпатии:
    10
  5. Fell-x27

    Fell-x27 Суперстар
    Команда форума Модератор

    С нами с:
    25 июл 2013
    Сообщения:
    12.156
    Симпатии:
    1.771
    Адрес:
    :сердА
    0,100 покорректнее будет, разве нет?
     
  6. artoodetoo

    artoodetoo Суперстар
    Команда форума Модератор

    С нами с:
    11 июн 2010
    Сообщения:
    11.128
    Симпатии:
    1.248
    Адрес:
    там-сям
  7. Fell-x27

    Fell-x27 Суперстар
    Команда форума Модератор

    С нами с:
    25 июл 2013
    Сообщения:
    12.156
    Симпатии:
    1.771
    Адрес:
    :сердА
    Почему же? Чем вам нулевой процент не угодил? Тем что по факту в рендже будет 101 значение? Или 0:1 в тервере уже не бывает?
     
  8. artoodetoo

    artoodetoo Суперстар
    Команда форума Модератор

    С нами с:
    11 июн 2010
    Сообщения:
    11.128
    Симпатии:
    1.248
    Адрес:
    там-сям
    "вероятность 75%" означает 75:100, а не 75:101, не?
     
  9. Fell-x27

    Fell-x27 Суперстар
    Команда форума Модератор

    С нами с:
    25 июл 2013
    Сообщения:
    12.156
    Симпатии:
    1.771
    Адрес:
    :сердА
    А на руках у вас тогда 9 пальцев :)
    Вероятность считается от 0% до 100%. Это не массивчик, это диапазон, описывающий шанс события. Если следовать вашей логике, то любое событие имеет минимальную вероятность 1%, следовательно, один из ста жителей Земли - Человек Паук.
     
  10. artoodetoo

    artoodetoo Суперстар
    Команда форума Модератор

    С нами с:
    11 июн 2010
    Сообщения:
    11.128
    Симпатии:
    1.248
    Адрес:
    там-сям
    у меня на руках 10 пальцев ))) от 1 до 10, нулевого пальца нет.
    если говорить о вероятности, с которой я ковырну в носу определенным пальцем, то эта вероятность будет в пределах от 0.1 до 1

    Добавлено спустя 19 минут 44 секунды:
    b.t.w. классический пример веростности - как ляжет монетка, орлом или решкой - дает 50% каждого варианта. рассуждать о том, что есть еще некий вариант "0" можно, но ненужно :)
    соответственно
    берем всего СТО вариантов, в 75 из них делаем дело
    Код (PHP):
    1. if (mt_rand(1, 100) <= 75) { echo 123; } 
     
  11. Fell-x27

    Fell-x27 Суперстар
    Команда форума Модератор

    С нами с:
    25 июл 2013
    Сообщения:
    12.156
    Симпатии:
    1.771
    Адрес:
    :сердА
    Ну еще бы. Ковыряние одним пальцем из десяти - вероятность 10%. А какова вероятность, что я тот самый Человек-Паук? Да черт с ним. Какова вероятность, что у меня на аватарке моя настоящая фотография и я - действительно веселый сурикат?
     
  12. CyberPulse

    CyberPulse Новичок

    С нами с:
    30 авг 2013
    Сообщения:
    16
    Симпатии:
    0
    Если я не ошибаюсь, то вероятности в 0% вообще не бывает, бывает вероятность стремящееся к нулю, в программирование это выглядит так:
    Код (Text):
    1.  
    2. $percent = mt_rand(1, 100000)/1000; //в зависимости от требуемой точности
    3. if ($percent <= 75) {
    4. echo 123;
    5. }
    Любое событие действительно имеет минимальную вероятность, но 1%, а стремящуюся к нулю, например тогда вероятность что я человек паук стремится к нулю, но не 0%
     
  13. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    ох как лихо-то
     
  14. Fell-x27

    Fell-x27 Суперстар
    Команда форума Модератор

    С нами с:
    25 июл 2013
    Сообщения:
    12.156
    Симпатии:
    1.771
    Адрес:
    :сердА
    Я вас понимаю. Число ноль вообще в свое время считалось числом дьявола и отрицалось человечеством. Действительно...число, не означающее ничего.

    Есть же анекдот, что мол у программиста в километре 1024 метра, а на руках 9 пальцев. Это удивительно, но между 0 и 100 в мирской математике действительно 101 число.

    Чисто как пример:
    Возьмите количество разумных русскоговорящих сурикатов-программистов с выходом в интернет на планете - 0;
    Возьмите количество человек на планете - ~6 500 000 000
    Рассчитайте вероятность того, что я не человек, а разумный сурикат-программист с выходом в интернет.
     
  15. [vs]

    [vs] Суперстар
    Команда форума Модератор

    С нами с:
    27 сен 2007
    Сообщения:
    10.559
    Симпатии:
    632
    между - 99 :lol:
    в этом и фишка.
    А между 1 и 100 - 98.
    100 - четное число :lol:
     
  16. Your

    Your Старожил

    С нами с:
    2 июл 2011
    Сообщения:
    4.074
    Симпатии:
    7
    0 % = 0
    Собственно число 0, хоть-это и число но соотношения к процентам дробей оно не имеет, так как ничего не значит (пустота), а значит расчет будет от " 0 < x ".
    0.1% = 0.0001
    1% = 0.01
     
  17. MouseZver

    MouseZver Суперстар

    С нами с:
    1 апр 2013
    Сообщения:
    7.816
    Симпатии:
    1.333
    Адрес:
    Лень
    в php оно имеет значение 0 =) но не false "" , пусто
     
  18. Fell-x27

    Fell-x27 Суперстар
    Команда форума Модератор

    С нами с:
    25 июл 2013
    Сообщения:
    12.156
    Симпатии:
    1.771
    Адрес:
    :сердА
    окай, "включительно" забыл сказать)

    Добавлено спустя 2 минуты 2 секунды:
    А как же 0 сурикатов к 6,5 лярдам человек? Или что-то опять изменили и теперь и ноль нельзя делить, читай, использовать в дробях числителем?
     
  19. artoodetoo

    artoodetoo Суперстар
    Команда форума Модератор

    С нами с:
    11 июн 2010
    Сообщения:
    11.128
    Симпатии:
    1.248
    Адрес:
    там-сям
    Похоже ты изучал риторику, а не математику :) Сурикаты сурикатами, а процент по прежнему равен 1/100.
     
  20. Колбася

    Колбася Активный пользователь

    С нами с:
    12 дек 2011
    Сообщения:
    722
    Симпатии:
    0
    да пофиг ставь хоть 1,3 33% норм жи
     
  21. Fell-x27

    Fell-x27 Суперстар
    Команда форума Модератор

    С нами с:
    25 июл 2013
    Сообщения:
    12.156
    Симпатии:
    1.771
    Адрес:
    :сердА
    Каждый сотый человек - это говорящий сурикат?
     
  22. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    в данном случае - кот.
     
  23. artoodetoo

    artoodetoo Суперстар
    Команда форума Модератор

    С нами с:
    11 июн 2010
    Сообщения:
    11.128
    Симпатии:
    1.248
    Адрес:
    там-сям
    на этом форуме - да. или даже так: только каждый сотый НЕ сурикат.
     
  24. Fell-x27

    Fell-x27 Суперстар
    Команда форума Модератор

    С нами с:
    25 июл 2013
    Сообщения:
    12.156
    Симпатии:
    1.771
    Адрес:
    :сердА
    )))
    Но тем не менее нулевая вероятность существует.
     
  25. [vs]

    [vs] Суперстар
    Команда форума Модератор

    С нами с:
    27 сен 2007
    Сообщения:
    10.559
    Симпатии:
    632
    По порядку:
    1) нулевая вероятность - это 0 к N
    2) если бы mt_rand показывал вероятность, то при аргументах 0, 100 он всегда бы возвращал 0 (см. пункт 1).
    3) но (пичалька!) mt_rand всего лишь возвращает случайное число из диапазона чисел, которое к показателям вероятности не имеет никакого отношения.
    Это выгодная математика: с 1000 руб дохода платить не 130 руб подоходного, а 129 :lol:

    кстати, конкретно обманули парня
    таки вероятность здесь 25%. Интересно, не проглядел ли он правильную формулу?