看板 Soft_Job 關於我們 聯絡資訊
# Python3 # rand() will return number from [0, R) with the same posibility # assume R > N > 0 def getNum(N): num = rand() while num > N: num = rand() return num # How many times the while-loop may executed? 若要以 R 跟 N 表示 time complexity 想請問這題有什麼方法可以下手嗎? 感謝各位大神們 :) -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 1.163.221.45 ※ 文章網址: https://www.ptt.cc/bbs/Soft_Job/M.1542620611.A.2B8.html ※ 編輯: wheels (1.163.221.45), 11/19/2018 17:49:52
AnifalaKeiko: R/(R-N)次? 11/19 17:50
wheels: 答案我也不知道,只想知道有什麼辦法可以切入分析 @@ 11/19 17:51
motherboard: 最多就跑R-2次阿 11/19 17:54
wheels: 為什麼是 R-2 呢?還是有機率一直骰不到 < N 的數吧? 11/19 17:55
motherboard: 我的錯 XD 11/19 17:56
wheels: 話說應該是問 big O notation,但無從下手起 orz 11/19 17:57
dnabossking: 直覺1 11/19 17:58
motherboard: 我看成N只會產生0~R... 11/19 17:58
ripple0129: 實務上我會cProfile下去查就對了 11/19 18:01
Domos: O( ) 11/19 18:03
Domos: O(無限) 11/19 18:03
Domos: omega(1) 11/19 18:05
ohohoh: 迴圈執行次數是無窮等比級數,每次離開機率是N/R 11/19 18:10
ohohoh: 題目是在問次數不是時間複雜度吧 11/19 18:11
wheels: 其實是在問怎麼估 time complexity啦,寫的不太好 11/19 18:14
wheels: 真是抱歉@@ 11/19 18:15
wheels: 請多多包涵 11/19 18:15
sherees: O(R/(R-N))? 11/19 18:16
gofigure: 不是O(1)嗎? 和跑幾次沒關 跑1次也是 跑100次也是 N/R? 11/19 18:52
kokacal: 如果是big O的話應該是worst case? 11/19 19:55
ernieyang09: 帕斯卡三角形? 11/19 20:06
Muscovy: 把 random() 換成 [0, R) 的均勻分布再往下算就好了啊. 11/19 20:19
Muscovy: 變成 [0, 0.01, 0.02, ..., R) 這樣子, 沒必要跟他隨機 11/19 20:19
creativity8: 高雄又美又好 http://bit.ly/2ToBZUc 11/19 22:39
itoni: 大O的話應該是無限 這演算法不保證會結束 11/20 01:59
gofigure: 樓上的結論怎麼得出的? 11/20 09:30
gofigure: 題目說[0,R)產生的數字機率一樣 11/20 09:31
gofigure: 所以大數法則保證一定會結束 11/20 09:32
gofigure: 如果是PRNG 那更不是probabilistic的範圍 11/20 09:41
gofigure: 因為任何的PRNG都是deterministic 11/20 09:41
gofigure: 換句話說 確定的原因跟大數法則沒關係 因為它不是真隨機 11/20 09:42
gofigure: 這也是為什麼有的樂透可以被破解 因為規則被找到 11/20 09:43
youtuuube000: big O不是upper bound嗎? 沒有結束上限當然是無限 11/20 12:12
youtuuube000: 大吧? 11/20 12:12
cha122977: big O可以算average case或worst case 11/20 17:58
BangSaint: while loop的次數也是一個random variavle吧 可以算平 11/21 09:48
BangSaint: 均 11/21 09:48
DrTech: N越大(或越小),執行時間越久。與N的值是線性關係。所以是 11/21 19:08
DrTech: O(n) 11/21 19:08
reymk619: O(N) 11/21 23:53
iq1000x: 大數法則有保證會結束嗎? 趨近而已吧 趨近還是不等於啊 11/22 02:47
CJacky: O(R) 11/22 12:59
pig2014: 平攤是O(n) 11/24 08:13
pig2014: 但我覺得這是在rand有暫存R大小的狀況下 11/24 08:17