- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我创建了一个可以用作随机数生成器的类,它比标准的 rand() 效果更好。下面我包含了我的类的 .cpp 文件,其中包含类变量 std::mt19937 gen 和 std::uniform_real_distribution distribution。
我的问题是是否有必要为我的号码生成器创建多个实例。例如,如果我有 A 类和 B 类,并且每个类都需要在 [0,1] 范围内采样随机数,如果 A 和 B 每个都有自己的 UniformNumberGenerator 实例会更好,还是我应该采用单例方法并使用两个类的一个实例?
UniformNumberGenerator::UniformNumberGenerator(double min, double max)
{
gen = CreateGenerator();
distr = std::uniform_real_distribution<double>(min, max);
}
std::mt19937 UniformNumberGenerator::CreateGenerator()
{
std::random_device rd;
std::mt19937 result(rd());
return result;
}
//Take a sample
double UniformNumberGenerator::operator()()
{
return distr(gen);
}
最佳答案
拥有多个伪随机数生成器 (PRNG) 实例的一个正当理由是使用相关归纳策略提高两个系统之间差异的模拟估计精度。其中最简单的是“common random numbers”(CRN)*。直觉上,如果你的银行或杂货店有两种不同的安排,并且你想确定哪种配置最有效,将它们与完全相同的一组客户和交易进行比较是有意义的。 CRN 通过为两种情况生成完全相同的 PRN 序列来做到这一点,但您必须非常小心地保持 PRNG 流同步。如果两个系统具有不同数量的永久实体(例如服务器),这将是一个真正的挑战。在这种情况下,每个服务器一个 PRNG 是合适的,一个 PRNG 也可以为每个到达流生成特征。所有 PRNG 都将在一次运行中独立播种(因此服务器看起来彼此独立),并且在运行之间以相同的方式播种以产生运行级同步。
底线——除非您计划使用相关归纳策略来减少方差并且您真的确定您知道自己在做什么,否则您应该使用单个 PRNG。 MT19937 为相当大的 k 值生成顺序不相关的 k 元组,如果我没记错的话超过 600。如果您的目标是生成独立样本,这正是 MT19937 和其他体面的生成器旨在通过生成器的单个实例进行模拟的目的。
* - 也有一篇关于此的维基百科文章,但目前写得非常糟糕,所以我不建议将其用作资源。
关于c++ - 使用随机数生成器 : multiple instances or singleton approach?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25360241/
Under the push parsing approach, a push parser generates synchronous events as a document is parsed,
我刚刚开发了一个 Android 应用程序(minSdkVersion 23/targetSdkVersion 29),可以连接到 BluetoothLE 设备以定期获取数据。 现在,在 MainAc
我现在编程了一段时间(初学者),递归函数对我来说是一个有点抽象的概念。我不会说我卡住了,程序运行良好,我只是想知道是否可以在代码中没有 pow 函数的情况下编写函数本身(但仍然完全按照问题的建议进行操
http://www.codechef.com/OCT14/problems/PRLADDU 这是当前的运行比赛。 我不想要它的答案,只是让我知道我的方法是否正确。 我遵循的方法是按交换方式添加人和恐
我是Python线程的新手,作为我写的第一个任务: from twitterHandler import Twitter_User from text_analyzer import text_ana
我不是 DBA,我不知道什么是最好的解决方案。我有两个表, Custumers Table CustomerId (primary key, identity) ... 和 Suppliers Tab
我对Spring和Apache Tika集成感兴趣。 这种方法是线程安全的吗? 我可以从不同的线程安全地调用detect()方法吗? 是否有任何Spring-Tika集成模式? 提前致谢。 最佳答案
这听起来可能是一个新手问题,但我是 iOS 开发新手。 我在我的项目中跟踪了代码,该项目启用了 ARC,但我在执行时遇到错误(访问错误),并且想了解问题的原因并解决它。 按下某些按钮后,将在 MTCl
自从 AsyncTask 自2009年在Cupcake(API 3,Android 1.5)中引入以来,它一直被Android团队一如既往地推广: “Painless threading” “an e
就目前情况而言,这个问题不太适合我们的问答形式。我们希望答案得到事实、引用资料或专业知识的支持,但这个问题可能会引发辩论、争论、民意调查或扩展讨论。如果您觉得这个问题可以改进并可能重新开放,visit
我一直在为这个 leetcode 问题绞尽脑汁。想知道是否有一种实用的方法可以解决这个问题。我能想到的就是使用可变对象(在 Scala 中)。 给定一个表示为数字链接列表的非负整数,该整数加一。 存储
我一直在为这个 leetcode 问题绞尽脑汁。想知道是否有一种实用的方法可以解决这个问题。我能想到的就是使用可变对象(在 Scala 中)。 给定一个表示为数字链接列表的非负整数,该整数加一。 存储
我正在考虑编写一个函数,该函数使用 calloc 创建一个数组来容纳文件中的数据(目前以字符形式)。据我了解,我的两个最明显的选择是读取所有字符以获得所需的总大小,使用 calloc 分配所需的空间,
很难说出这里要问什么。这个问题模棱两可、含糊不清、不完整、过于宽泛或夸夸其谈,无法以目前的形式得到合理的回答。如需帮助澄清此问题以便重新打开,visit the help center . 关闭 1
我必须准备一个包含很多字段(大约 100 个)的表单。我可以使用一个大的 HTML\PHP 文件,但为了提高可访问性和轻松访问字段,我宁愿使用选项卡菜单。原始表格(称为临床评估)在逻辑上可以分为 3
关闭。这个问题是opinion-based .它目前不接受答案。 想要改进这个问题? 更新问题,以便 editing this post 可以用事实和引用来回答它. 关闭 7 年前。 Improve
我想获取所有带有 编辑:如果您不想显式定义 for 循环和 if 语句,请尝试使用 .filter() 和 .match( ): var arr = ["cat", "apple", "window
我正在寻找一种 dojo 工具包方法来跨 iFrame 进行通信。与此处显示的 Julien Lecomte 的 CrossFrame 技术类似的东西 http://www.julienlecomte
问题 我想实现TransparencyChecker Interface,它将验证网络中的任何交易所是否都可以使用来自其他交易所的所有交易信息。 问:TransparencyChecker Infer
我有一个类 ClassA,它调用另一个类(DAO)来获取查询结果。在特定的业务场景下, ClassA 使用查询参数调用 DAO 大约 20,000 次。其中,ClassA 向 DAO 发送了大约 10
我是一名优秀的程序员,十分优秀!