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

infosimple

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


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

Lord_Alfred

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

infosimple

Client
Регистрация
01.01.2015
Сообщения
422
Благодарностей
61
Баллы
28
Вот более корректный вариант 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
 

Max

Client
Регистрация
17.06.2012
Сообщения
168
Благодарностей
44
Баллы
28
тс как ты это себе преставляешь...контролировать пропорцию не зная количество значений... тогда надо знать процентую вероятность хотя бы..
а вообще вопрос баян.. ответ должен быть 0 процентов. диназавры давно померли. а вот вопрос можно ли встретить чела в костюме диназавра и дальше какие то данные - уже более менее смахивает на задачу.
числа генерить дисятичные не обязательно ранд вроде генерит до единицы - те смотришь больше 0.5 значит можно ..меньше или равно значит нет.
надеюсь ты запихнул рандом в статик и общий код - ибо если не запихнул у тебя разброс будет обратен количеству выполнений.
 

Astraport

Client
Регистрация
01.05.2015
Сообщения
4 943
Благодарностей
4 339
Баллы
113
Чем столбцы отличаются?
Что-то странное. У меня норм работает рандом.
 

RoyalBank

Client
Регистрация
07.09.2015
Сообщения
557
Благодарностей
547
Баллы
93
С этого сообщения и ниже, описывают проблему ранлдома, возможно кастомное решение поможет с вероятностью.
 

Phoenix78

Client
Read only
Регистрация
06.11.2018
Сообщения
11 790
Благодарностей
5 691
Баллы
113
делать какие то выводы на выборке из 10 значений ? o_O
а какие выводы вообще делаются ? и что значит контролировать пропорциональность ?
если нужен рандом в какой то пропорции то rnd.Next(0,100) < 75 , где 75 процент возникновения события.
если вопрос к равномерности распределения , то это вопрос не к рандому, так как в любых событиях (реальные или синтетических) всегда есть отклонения. и они бывают довольно ощутимые. Показательный пример из Монте Карло. там периодически фиксируются выпадения одного цвета на рулетке , более 30 раз подряд. (аля привет мартингельщикам :-) ) при чем после таких случаев всегда проводяться проверки рулеток, столов и кубиков и даже крупье проверяют. и те столы до сих пор стоят там. Именно поэтому это не рандом, а Его Величество Рандом :-)
тем более нормально распределяет
56392
 
Последнее редактирование:

Lord_Alfred

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

infosimple

Client
Регистрация
01.01.2015
Сообщения
422
Благодарностей
61
Баллы
28
Ок, давай пробовать дальше.
Проверь вот такой вариант (тут рандом должен быть синхронизирован между всеми потоками):
C#:
if(Global.Classes.rnd.Next(0,100) < 50){
    return 1;
}
return 0;
PS: выложи, пожалуйста, шаблон для проверки и опиши методику измерений.
Вот такой результат меня удовлетворяет.
56399
 

Lord_Alfred

Client
Регистрация
09.10.2015
Сообщения
3 916
Благодарностей
3 857
Баллы
113
Вот такой результат меня удовлетворяет.
Давай пойдем дальше и протестим вариант от @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;
После прочтения той темы - есть ощущение, что этот вариант будет вообще самым лучшим.
Нужно чтоб ты у себя протестил так же, чтоб были скрины и доказательства на будущее, чтоб не проделывать всё тоже самое со старта топика как ты делал :-)
 

infosimple

Client
Регистрация
01.01.2015
Сообщения
422
Благодарностей
61
Баллы
28
Давай пойдем дальше и протестим вариант от @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
 

Lord_Alfred

Client
Регистрация
09.10.2015
Сообщения
3 916
Благодарностей
3 857
Баллы
113
А пропорции менял судя по всему в этих разах? Не 50/50 ведь?
 

infosimple

Client
Регистрация
01.01.2015
Сообщения
422
Благодарностей
61
Баллы
28

radv

Client
Регистрация
11.05.2015
Сообщения
3 681
Благодарностей
1 864
Баллы
113

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