PCDVD數位科技討論區
PCDVD數位科技討論區   註冊 常見問題 標記討論區為已讀

回到   PCDVD數位科技討論區 > 其他群組 > 七嘴八舌異言堂
帳戶
密碼
 

  回應
 
主題工具
AdaHsu
Major Member
 
AdaHsu的大頭照
 

加入日期: Nov 2001
文章: 298
引用:
作者傳說
我不熟VB
但就請教Google大神的結果
宣告了Option Base 1(據說用以指定陣列元素註標起始值為1)
那麼Text1(0)不會遇到錯誤嗎????
至於機率上應該是沒問題的


咦?搞不好問題就出在這邊喔~~
害大家在機率上瞎鬧了半天... XD
     
      
舊 2008-09-22, 09:00 PM #81
回應時引用此文章
AdaHsu離線中  
Statics
Major Member
 
Statics的大頭照
 

加入日期: Sep 2001
文章: 262
引用:
作者PCVCD
那個亂數表沒用時間常數
會不會照成選了20
20換39
之後4次選到20的機率降低
亂數表相同的數字應該不會很接近

他前面有用Randomize 去種RND的Seed,
沒帶參數的話就是用目前時間去當Seed
 
舊 2008-09-23, 01:21 AM #82
回應時引用此文章
Statics離線中  
奶油銓
Basic Member
 

加入日期: Feb 2002
您的住址: 地球
文章: 20
經過我用fortran 77 改寫過後. 分析的結果也顯示這個程式沒有問題.不過我在意的不是程式本身有多精簡. 我在意的是產生的亂數到底有多亂. 而這個部分是可以測試的. 這個部分有需要者可以參閱 numerical recipe in fortran or numerical recipe in c.

底下附錄我常用的產生亂數的程式碼(從recipe中抄出來的):
----------------------------------------------------------------------
subroutine ggubs(dseed,nr,r)
double precision dseed,d2p31m,d2p31i,r(nr)
parameter(d2p31m=2147483647.d0 ,d2p31i=1.d0/2147483711.d0)

do 5 i=1,nr
dseed=dmod(16807.d0*dseed,d2p31m)
5 r(i)=dseed
do 10 i=1,nr
10 r(i)=r(i)*d2p31i
return
end
------------------------------------------------------------------------

與跑 300萬次後每個數字產生的次數(%)
total number 18000000
Times of Ball Number 1= 2.56215556
Times of Ball Number 2= 2.56126111
Times of Ball Number 3= 2.56350556
Times of Ball Number 4= 2.56408333
Times of Ball Number 5= 2.56159444
Times of Ball Number 6= 2.56643889
Times of Ball Number 7= 2.56441111
Times of Ball Number 8= 2.56470556
Times of Ball Number 9= 2.56382778
Times of Ball Number 10= 2.56243333
Times of Ball Number 11= 2.56430556
Times of Ball Number 12= 2.56394444
Times of Ball Number 13= 2.56118889
Times of Ball Number 14= 2.5694
Times of Ball Number 15= 2.56303333
Times of Ball Number 16= 2.56233889
Times of Ball Number 17= 2.56622222
Times of Ball Number 18= 2.56330556
Times of Ball Number 19= 2.56142222
Times of Ball Number 20= 2.56612222
Times of Ball Number 21= 2.56035556
Times of Ball Number 22= 2.56219444
Times of Ball Number 23= 2.56603889
Times of Ball Number 24= 2.56196111
Times of Ball Number 25= 2.56607222
Times of Ball Number 26= 2.56246667
Times of Ball Number 27= 2.56561667
Times of Ball Number 28= 2.56228333
Times of Ball Number 29= 2.56981111
Times of Ball Number 30= 2.56630556
Times of Ball Number 31= 2.56455556
Times of Ball Number 32= 2.56855
Times of Ball Number 33= 2.56631111
Times of Ball Number 34= 2.56595556
Times of Ball Number 35= 2.56980556
Times of Ball Number 36= 2.55696111
Times of Ball Number 37= 2.56235556
Times of Ball Number 38= 2.55862778
Times of Ball Number 39= 2.56807222

------------------------------------------------------------------------
(請大家不要鞭我有效位數的問題.) 又此一結果與 maria 網友的結果相同.
可以看出每個數值出現的次數趨近 2.56%. (1/39 = 0.025641026)

此文章於 2008-09-23 02:13 AM 被 奶油銓 編輯.
舊 2008-09-23, 02:11 AM #83
回應時引用此文章
奶油銓離線中  
PCVCD
Regular Member
 

加入日期: Apr 2007
文章: 55
引用:
作者Statics
他前面有用Randomize 去種RND的Seed,
沒帶參數的話就是用目前時間去當Seed


原來如此 感謝告知


自己寫過都沒想到這方法
舊 2008-09-23, 02:16 AM #84
回應時引用此文章
PCVCD離線中  
suhsien
Major Member
 

加入日期: Feb 2003
文章: 120
如果以很嚴謹的討論來說,這個程式的危機有兩個

第一個在於時間上的危機
為了採用類似bubble sort去除選取數的方式
一開始設定了ball(i)的39次for迴圈是很花時間的
如果採用重複性確認的方式
可由機率算出,不見得會花比較多迴圈

第二,機率上的危機
Rnd是否為真亂數? 通常是亂數產生理論上一定有某些數字的機率比較高
時間種子是否真能無規律?當同樣的程式跑個一千萬遍時,取時間的種子有可能有規律
可以採用類似quick sort 避免worst case的危機
把ball(i)採用亂數排列
這樣子規律幾乎可以被排除
舊 2008-09-23, 08:00 AM #85
回應時引用此文章
suhsien離線中  
booger
Amateur Member
 
booger的大頭照
 

加入日期: Nov 2004
您的住址: 丁丁科技大學
文章: 45
樓主呢?這個程式的問題到底是啥?
__________________
動怒不動氣(對不滿的事情表達不悅,但是不讓其過份影響個人情緒)
挑嘴不挑食(對飲食頗有想法但是有得吃就吃)
舊 2008-09-30, 07:35 AM #86
回應時引用此文章
booger離線中  
DragonQuad
Major Member
 
DragonQuad的大頭照
 

加入日期: Jan 2008
文章: 187
答案到底是啥呢 關注很久了耶
__________________
ABK ABK YT CHANNEL
舊 2008-09-30, 09:33 PM #87
回應時引用此文章
DragonQuad離線中  
Jianzy
Major Member
 
Jianzy的大頭照
 

加入日期: Jan 2002
您的住址: 雷王星宙域
文章: 267
引用:
作者a9607

1.說要公佈答案的人自己其實是沒答案的...

2.搞了半天 是要別人trace其他人的程式...這種「標題殺人法」還真是有心機啊∼∼∼∼


多看一些樓主的文就知道他是什麼貨色了

此文章於 2008-09-30 10:28 PM 被 Jianzy 編輯.
舊 2008-09-30, 10:20 PM #88
回應時引用此文章
Jianzy離線中  
jack31
Regular Member
 

加入日期: Apr 2005
文章: 87
抽出34~39的機率比較高,而且有可能重複
舊 2008-09-30, 10:53 PM #89
回應時引用此文章
jack31離線中  
jack31
Regular Member
 

加入日期: Apr 2005
文章: 87
6個數字都猜中的機率是 1/39C6=1/3262623
不知道對不對
舊 2008-09-30, 11:16 PM #90
回應時引用此文章
jack31離線中  


    回應


POPIN
主題工具

發表文章規則
不可以發起新主題
不可以回應主題
不可以上傳附加檔案
不可以編輯您的文章

vB 代碼打開
[IMG]代碼打開
HTML代碼關閉



所有的時間均為GMT +8。 現在的時間是12:30 AM.


vBulletin Version 3.0.1
powered_by_vbulletin 2025。