我有2个设备,我正在寻找一种方法来同步它们之间的随机数生成。同步随机数
更多背景:2个设备连接,一个设备发送包含数据集合中的其他文件。数据集然后加载到两个设备上。数据以各种级别随机显示。我希望显示器在设备之间同步,但仍然是随机的。
的概念性的一例:拍摄照片的堆叠。堆栈的副本被发送到远程设备并存储以备将来使用。然后在两个设备上以相同的方式对栈进行混洗,以便在每个设备上绘制第一张图片将产生相同的输出。这是过分简化,我的应用程序中需要更多的随机数,所以优化,如共享排序顺序不适用...
打破:我需要一个简单的方法来从相同的随机数池在2个设备上。我不知道在设备同步之前可能会出现多少次随机抽签,但是一旦同步,应该可以预测,他们将使用相同数量的随机数,因为它们使用的是相同的数据集,但是有机会抽取更多在进行下一批处理之前(这将需要随机数据的重新同步)。
我期待,以避免传递排序顺序,位置信息等,在数据集中显示时(这也引起了关注结构性自项目最初并非设计来共享信息已经被传每个实体),因为能够生成相同的位置,这要求随机数字以相同的顺序出现。
任何想法或建议,将不胜感激。
感谢所有的回复。我最初的尝试(在两台设备上使用相同的种子)都被我没有追踪到的东西抛弃,但现在我意识到了,所以只要设置种子就应该工作,一旦我理清什么是抛出它(我可能是重置它我还没找到的地方...)。然而,一旦我开始移植这个系统跨平台,我认为OscarMk对实施我自己的LCG的建议将成为最小化操作系统与操作系统不一致等等的方式。感谢所有的答复! – ima747
我试着完全一样,有些测试人员报告说有时随机生成的元素不同步。这非常好,因为我在使用rand()之后才开始种子,所以不知道那里发生了什么。难道不同的iDevices(或iDevices vs模拟器)有不同的rand()实现吗? –