Какова вероятность встретить на улице динозавра?

  • Автор темы Автор темы infosimple
  • Дата начала Дата начала

infosimple

Client
Регистрация
01.01.2015
Сообщения
466
Реакции
63
Баллы
28
У мужчины спросили: "Какова вероятность встретить на улице динозавра?"
50 на 50 - либо встретишь, либо не встретишь.
А теперь к вопросу.
Можно ли как-то контролировать пропорциональность не зная количество значений?
Пример:
Развернуть Свернуть Копировать
Random rnd = new Random();
if(rnd.Next(-75,25) > 0){
    return 1;
}
return 0;
Получается результат непредсказуемый:
56383


Вариант: собирать сгенерированные ранее значения и отталкиваться от них. Но тогда возникает проблема, как в столбце А.
 
Вот более корректный вариант 50/50:
C#:
Развернуть Свернуть Копировать
Random rnd = new Random();
if(rnd.Next(0,100) < 50){
    return 1;
}
return 0;

1. Что с этим вариантом получается?
2. Выполнение в ZP или PM?
3. Какая версия?
 
Вот более корректный вариант 50/50:
C#:
Развернуть Свернуть Копировать
Random rnd = new Random();
if(rnd.Next(0,100) < 50){
    return 1;
}
return 0;

1. Что с этим вариантом получается?
2. Выполнение в ZP или PM?
3. Какая версия?
Под ваш вариант:
Развернуть Свернуть Копировать
Random rnd = new Random();
if(rnd.Next(0,100) < 75){
    return 1;
}
return 0;
1.
56385

2. ZP
3. 7.1.4.0
 
тс как ты это себе преставляешь...контролировать пропорцию не зная количество значений... тогда надо знать процентую вероятность хотя бы..
а вообще вопрос баян.. ответ должен быть 0 процентов. диназавры давно померли. а вот вопрос можно ли встретить чела в костюме диназавра и дальше какие то данные - уже более менее смахивает на задачу.
числа генерить дисятичные не обязательно ранд вроде генерит до единицы - те смотришь больше 0.5 значит можно ..меньше или равно значит нет.
надеюсь ты запихнул рандом в статик и общий код - ибо если не запихнул у тебя разброс будет обратен количеству выполнений.
 
С этого сообщения и ниже, описывают проблему ранлдома, возможно кастомное решение поможет с вероятностью.
 
делать какие то выводы на выборке из 10 значений ? o_O
а какие выводы вообще делаются ? и что значит контролировать пропорциональность ?
если нужен рандом в какой то пропорции то rnd.Next(0,100) < 75 , где 75 процент возникновения события.
если вопрос к равномерности распределения , то это вопрос не к рандому, так как в любых событиях (реальные или синтетических) всегда есть отклонения. и они бывают довольно ощутимые. Показательный пример из Монте Карло. там периодически фиксируются выпадения одного цвета на рулетке , более 30 раз подряд. (аля привет мартингельщикам :-) ) при чем после таких случаев всегда проводяться проверки рулеток, столов и кубиков и даже крупье проверяют. и те столы до сих пор стоят там. Именно поэтому это не рандом, а Его Величество Рандом :-)
тем более нормально распределяет
56392
 
Последнее редактирование:
Ок, давай пробовать дальше.
Проверь вот такой вариант (тут рандом должен быть синхронизирован между всеми потоками):
C#:
Развернуть Свернуть Копировать
if(Global.Classes.rnd.Next(0,100) < 50){
    return 1;
}
return 0;

PS: выложи, пожалуйста, шаблон для проверки и опиши методику измерений.
 
  • Спасибо
Реакции: infosimple
Ок, давай пробовать дальше.
Проверь вот такой вариант (тут рандом должен быть синхронизирован между всеми потоками):
C#:
Развернуть Свернуть Копировать
if(Global.Classes.rnd.Next(0,100) < 50){
    return 1;
}
return 0;

PS: выложи, пожалуйста, шаблон для проверки и опиши методику измерений.
Вот такой результат меня удовлетворяет.
56399
 
Вот такой результат меня удовлетворяет.
Давай пойдем дальше и протестим вариант от @BAZAg: https://zennolab.com/discussion/threads/vstavka-randomnogo-teksta-c.75257/#post-505869

Нужно вставить потокобезопасный рандом в общий код и поменять текущий на:
C#:
Развернуть Свернуть Копировать
GoodRandom grnd = new GoodRandom();
if(grnd.Next(0,100) < 50){
    return 1;
}
return 0;

После прочтения той темы - есть ощущение, что этот вариант будет вообще самым лучшим.
Нужно чтоб ты у себя протестил так же, чтоб были скрины и доказательства на будущее, чтоб не проделывать всё тоже самое со старта топика как ты делал :-)
 
Давай пойдем дальше и протестим вариант от @BAZAg: https://zennolab.com/discussion/threads/vstavka-randomnogo-teksta-c.75257/#post-505869

Нужно вставить потокобезопасный рандом в общий код и поменять текущий на:
C#:
Развернуть Свернуть Копировать
GoodRandom grnd = new GoodRandom();
if(grnd.Next(0,100) < 50){
    return 1;
}
return 0;

После прочтения той темы - есть ощущение, что этот вариант будет вообще самым лучшим.
Нужно чтоб ты у себя протестил так же, чтоб были скрины и доказательства на будущее, чтоб не проделывать всё тоже самое со старта топика как ты делал :-)
Этот еще интересней.
56405
 

Кто просматривает тему: (Всего: 0, Пользователи: 0, Гости: 0)