最近要寫份報告,分析Dijkstra和Bellman-Ford 演算法的效率
這兩個演算法並不難寫,但我對與生成測資卻毫無方向
報告希望我們測試在不同測資下演算法的表現
應該不是單純亂數生成吧,google很久也沒頭緒
想請大家給我些方向,感謝!!
方向主要是各自的 best case, worst case, average case
作者: kevin898y (請輸入暱稱) 2016-04-30 15:41:00
抱歉 還是不太瞭解,可否告訴我如何生成一張圖 可以讓演算法運行
作者: kevin898y (請輸入暱稱) 2016-04-30 15:49:00
小數據單然沒問題,可要比較程式的執行時間 需要極大的資料量,我不會生成
大量的話,當然 random case 也是一種方法,但是 random對某些演算法是 best, 對另一些演算法是 worst 或都不是你找出不同 case 的生成規則就能寫程式生成像是一字長蛇陣等等,手畫只能畫十節,依樣產生一百萬節這你要自己去想一想啦,不同題目會有不同的 case 要考慮
作者: kevin898y (請輸入暱稱) 2016-04-30 16:03:00
也許是我對演算法不夠熟悉才想不出規則吧, 我再研究
作者:
wtchen (沒有存在感的人)
2016-04-30 16:26:00在linux下可以用/dev/urandom生成亂數,那應該是真亂數
作者:
Caesar08 (Caesar)
2016-04-30 16:35:00mt19937很夠用了,用machine的random會很慢題外話,想用真正的亂數,請找量子電腦 ^.<
作者:
Clangpp (Clang++)
2016-04-30 20:34:00Linux上面那個也不是真亂數啦 除非你接的裝置可以偵測熱噪訊號或是上面說的量子電腦
這個我不同意,Linux 會吸收多種亂源 (我不是說八卦板)所以 /dev/random 的不可預測性是很好的那所謂真亂數是相對 pseudo random number generator來說的,/dev/random 可以稱為真亂數沒錯啊
作者:
Clangpp (Clang++)
2016-04-30 20:39:00可是跟數學上定義的隨機亂數好像又有差了??
統計學上定義的隨機亂數根本不用具備不可預測性好嗎 XD/dev/random 和 /dev/urandom 也是有符合你要的統計特性它不是直接拿現實生活中的亂數源吐給你而已
作者:
Clangpp (Clang++)
2016-04-30 20:42:00喔喔 長知識了
作者:
mike0227 (我又小看了那複雜的世界)
2016-05-01 00:24:00要給seed就是pseudo吧?
作者:
CoNsTaR ((const *))
2016-05-01 12:42:00void *ptr = malloc(0);srand((unsigned)ptr);free(ptr); 如何?
首先是 srand()/rand() 用的 LFSR 演算法很容易破解只要觀察 2N 個輸出亂數就能完整重現 N 個 register 的內部狀態,進而預測接下來吐出的每一個亂數等等歪樓了啦,原 PO 是要產生測資,為什麼我們在講不可預測性... 產生測資根本不需要不可預測好嗎malloc 能供應給你的 random bits 不算太多你在 PC 上第一次 malloc 得到的指標,尾巴永遠是一樣的仔細探討下去可能要長篇連載了,總之 /dev/urandom 萬歲
作者:
wtchen (沒有存在感的人)
2016-05-01 16:10:00歪樓好像是我的錯....(眼殘看錯)