亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

請教理解“隨機性”

請教理解“隨機性”

有只小跳蛙 2019-08-02 07:02:32
我無法理解這件事,哪個更隨意?rand()或rand() * rand()我發現這是一個真正的腦筋挑逗,你能幫我一下嗎?編輯:直覺上,我知道數學上的答案是,它們都是隨機的,但我不禁要想,如果你“運行隨機數算法”兩次,當你將兩者相乘時,你會創造出比只做一次更隨機的東西。
查看完整描述

3 回答

?
互換的青春

TA貢獻1797條經驗 獲得超6個贊

我想這兩種方法都是隨機的,盡管我的直覺會說rand() * rand()不那么隨機,因為它會產生更多的零。一早rand()0,總數變成0

查看完整回答
反對 回復 2019-08-03
?
長風秋雁

TA貢獻1757條經驗 獲得超7個贊

也不是“更隨意”。

rand()基于psuedo隨機種子生成一組可預測的數字(通?;诋斍皶r間,該時間總是在變化)。將序列中的兩個連續數字相乘會產生一個不同但同樣可預測的數字序列。

關于這是否會減少碰撞,答案是否定的。它實際上會增加碰撞,這是由于兩個數字相乘的結果,其中0 < n < 1..結果將是一個較小的分數,導致結果偏向低端的光譜。

一些進一步的解釋。在下面,“不可預測”和“隨機”指的是某人根據先前的數字猜出下一個數字的能力。神諭。

給定種子x它生成以下值列表:

0.3, 0.6, 0.2, 0.4, 0.8, 0.1, 0.7, 0.3, ...

rand()將生成上述列表,以及rand() * rand()將產生:

0.18, 0.08, 0.08, 0.21, ...

這兩種方法都會為相同的種子生成相同的數字列表,因此,甲骨文也同樣可以預測。但是,如果你看一下這兩個呼叫相乘的結果,你會發現它們都在下面0.3盡管在最初的序列中有很好的分布。由于兩個分數相乘的影響,這些數字是有偏的。結果的數字總是較小,因此更有可能是碰撞,盡管仍然是不可預測的。




查看完整回答
反對 回復 2019-08-03
  • 3 回答
  • 0 關注
  • 646 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號