繁体   English   中英

哪个熵更高?

[英]Which one has higher entropy?

因此,假设您必须在rand() % 9 +1 9个数字之间随机选择,其中每个数字对应于一个不同的对象

是否与通过首先执行rand() % 3 +1随机选择相同,其中每个数字对应于3个不同的行(包含3个不同的对象),然后再次使用rand() % 3 +1选择对象

我的意思是两种方法的结果分布相同吗?

希望你明白我的意思。 对不起我的英语不好。

首先,您的熵与RNG直接相关。 所有 rand()版本都有令人沮丧的低熵。 获得更好的RNG。

但是,不管您做什么,为了保持熵,您还必须避免使结果产生偏差,并且正如已经提到的,模就是这样做的。 (使用Pigeonhole原理。)最好是将超出范围的值扔掉,直到得到一个范围内的值。 在comp.lang.c常见问题解答列表中有一个与此相关的答案

要回答您的特定问题,分为两个部分:

1)由于有余数运算,所以两者没有同等的偏置。 但是...假设您正确消除了这种偏见...

2)对同一PRNG的两个连续调用不是独立的,因此尽管每个调用中的位是随机分布的,但它们的串联不一定具有与单个调用相同的熵。 请参阅crypto.stackexchange.com上Chris Peikert的答案

[编辑]因此,首先回答您的问题。

希望这可以帮助。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM