170 похожих чатов

Братцы, у меня два вопроса, он как один, но его

два...
Вопрос первый.
Вот код:

#include <iostream>
#include <random>
#include <stdexcept>

using namespace std;

int main () {
mt19937 gen;
uniform_real_distribution<> unif(-10, 10);
for (int n = 0; n < 10; ++n) {
auto a = unif(gen);
cout << a << endl;
}
return 0;
}
Я, конечно, могу загуглить про mt19937 gen, uniform_real_distribution, но не смог в докуменатции найти ряд ответов:
Насколько распространенно применение mt19937 / uniform_real_distribution?

при переходе по ссылке мало примеров, можно ли утверждать, что mt19937 и uniform_real_distribution взаимосвязаны и более эти коснструкции, помимо как паре, ни где не встречаются?

Еще не понятно, зачем в качестве аргумента в uniform_real_distribution передавать параметр типа mt19937, мол, ввиду определения uniform_real_distribution: "Produces random floating-point values x , uniformly distributed on the interval [ a , b )" зачем туда передавать mt19937 == движком случайных чисел...

Вопрос второй.

Еще есть такой код:

#include <iostream>
#include <random>
#include <stdexcept>

using namespace std;

int main () {
random_device rd;
mt19937 gen(rd());
uniform_real_distribution<> unif(-10, 10);
for (int n = 0; n < 10; ++n) {
auto a = unif(gen);
cout << a << endl;
}
return 0;
}

зачем нужен какой-то random_device, если результат у этих программ один и тот же — вывод 10 случайных чисел? Если, опять же, залезть в докуменатцию по поводу random_device, узнает, что это движок, как и mt19937?

4 ответов

11 просмотров

1. не обязательно, конечно, может быть другой источник 2. std::random_device may be implemented in terms of an implementation-defined pseudo-random number engine if a non-deterministic source (e.g. a hardware device) is not available to the implementation (то есть он системный) заметьте, что mt19937 определен как переносимый (правда, остальное в этой части - нет)

если разница между источником энтропии и выходным распределением не очевидна, могу поразжовывать

F-L Автор вопроса
F L
разве что кратко, если не лень)

реши задачу дано: монетка, которая с неизвестной тебе вероятностью p выпадает орлом и с вероятностью 1-p решкой сгенерировать на выходе честную монетку (орел и решка равновероятны)

Похожие вопросы

Обсуждают сегодня

30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
Добрый день! Скажите пожалуйста, а какие программы вы бы рекомендовали написать для того, чтобы научиться управлять памятью? Можно написать динамический массив, можно связный ...
Филипп
7
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Ребят в СИ можно реализовать ООП?
Николай
33
Как передать управляющий символ в открытую через CreateProcess консоль? Собсна, есть процедура: procedure TRedirectThread.WriteData(Data: OEMString); var Written: Cardinal;...
Serjone
6
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
Вот еще странный косяк, подскажите как бороться. Я git clone сделал себе всего embassy и примеры там запускаю. Всё хорошо. Но вот решил в cargo.toml зависимости не как в приме...
Lukutin R2AJP
5
Карта сайта