推 bill42362:推 12/28 01:46
推 loveme00835:我還是再推 <tr1/random> 12/28 01:46
→ tropical72:我也推love大的作法,只是做特殊研究的話C的亂數不夠亂 12/28 01:47
→ loveme00835:你PSO亂數是用來做第一代的分布嗎? 12/28 02:07
→ loveme00835:XD 我記錯 12/28 02:11
→ Semisphere:因為設計變數值域很大嗎,亂數太小還蠻不常見的qq 12/28 02:16
推 loveme00835:自己跑實驗的結果, std::tr1::mt19937 就很亂了, 速度 12/28 02:17
→ loveme00835:倒還可以 12/28 02:18
→ tropical72:太慢知道 std::trl 這種東西 XD 12/28 02:30
→ tropical72:to Semi~:當時我只知道用rand(),然而vc的RAND_MAX是 12/28 02:47
→ tropical72:32767,這個數字是真的很小,資料十萬筆抽二筆出來馬上就 12/28 02:49
→ tropical72:有問題了 12/28 02:49
推 ericinttu:請問可以用兩次亂數值去直接拓展亂數值域嗎? 12/28 07:40
→ ericinttu:例如(0~32767)x(0~32767) => (0~1073741823). 12/28 07:42
→ tropical72:樓上問題我沒確定過,不知道這樣會不會影響所謂的均勻度 12/28 07:58
推 ericinttu:個人以為均勻度問題跟亂數本身有關,跟拓展方式無關. 12/28 09:05
→ ericinttu:lib的亂數是均勻的且為獨立事件,就可以用這樣去增大亂數 12/28 09:06
→ ericinttu:的值域範圍. 12/28 09:07
推 ledia:有用 % 取你要的範圍, 就有可能會不均勻了 12/28 10:13
→ tropical72:to eric:想到一件事,這樣算的話,大於32767的質數永遠都 12/28 13:40
→ tropical72:取不到,這樣應該就不叫均勻了吧? 12/28 13:40
推 loveme00835:直接串接起來每個數字至少都會相距 32768, 相鄰的數字 12/28 14:21
→ loveme00835:不太可能出現, 有這規律其實不是很亂 12/28 14:21
→ james732:Linux底下有個亂數源/dev/random 這個東西夠亂嗎? 12/28 14:29
推 LPH66:樓樓上的問題其實還好...拓展後的數字相距32768內等於原亂數 12/28 14:54
→ LPH66:出現第一和第三個相等 兩個機率是一樣的... 12/28 14:55
→ LPH66:呃 我是指高15bit相等 @_@ 12/28 14:55
→ LPH66:只要原來是 uniform 的 拓展出來就是 uniform 12/28 14:55
→ LPH66:當然 LCG 拿來做這種事的確不太能說均勻就是了... 12/28 14:56
→ loveme00835:要很獨立才能辦到吧? ... 12/28 15:13
推 LPH66:嚴格一點的話上下兩半要用獨立的 PRG 生出來才行 12/28 15:23
→ loveme00835:搞剛 Orz ... 12/28 15:44
推 ericinttu:tropical72誤會我了. 那個"x"並不是乘法,算是2維表示法. 12/28 20:56
→ tropical72:真的誤會大了,樓上是說 rand()*RAND_MAX+rand() 吧? 12/28 23:37
→ loveme00835:RAND_MAX 要 +1 喔~ 12/28 23:44
推 VictorTom:那個, << 加 | 不就好了嗎@_@" 保險一點的話多個 & 遮掉 12/29 00:01
→ VictorTom:RAND_MAX可能不一定是32767的問題....XD 12/29 00:01
→ tropical72:目前的討論前提是RAND_MAX太小,大家都假設是32767 12/29 00:36