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

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

  回應
 
主題工具
michelle_lai529
*停權中*
 

加入日期: Dec 2005
文章: 21
引用:
作者Statics
這樣的作法會不會讓前面6個的出現機率偏高呢?

以交換的方式,先把牌洗亂了,亂數取出1∼倒數第2張,跟最後1張交換,再亂數取出1∼倒數第3張跟最後第2張交換...以此類推,每張牌都換過一次,牌也洗的夠亂了,然後要幾張牌,就發幾張,也沒有什麼重複或是比較容易出現的問題了
     
      
舊 2008-09-21, 11:03 PM #41
回應時引用此文章
michelle_lai529離線中  
MrHermes
*停權中*
 
MrHermes的大頭照
 

加入日期: Aug 2005
文章: 102
大樂透是49 選 6 吧.... 我已經槓到快脫褲子了別想唬弄我.
 
舊 2008-09-21, 11:05 PM #42
回應時引用此文章
MrHermes離線中  
seiws
Advance Member
 
seiws的大頭照
 

加入日期: Mar 2003
文章: 337
完全看不出來程式有什麼問題
不可能有重覆數字
別說
For i = 0 To 5
即使
For i = 0 To 38
也不會重複

雖然我vb很爛,但這樣子的結果應該不會錯
舊 2008-09-21, 11:10 PM #43
回應時引用此文章
seiws離線中  
qw334353
New Member
 

加入日期: Feb 2007
文章: 3
離題一下...如果用PHP這樣寫,機率是否會跟實際的樂透理論一樣?

$ball=array(0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36);
unset($ball[0]);
for($c=0;$c<=5;$c++){
$keys=array_rand($ball,1);
unset($ball[$keys]);
print $keys."\n";
}
__________________
-
舊 2008-09-21, 11:31 PM #44
回應時引用此文章
qw334353離線中  
passerx
*停權中*
 

加入日期: Feb 2005
文章: 164
vb沒學過,不過這個程式....

第1次如果不是39,下一次39就會消失,對於39而言下5次選中的機率等於0,
第2次如果不是38,下一次38就會消失,對於38而言下4次選中的機率等於0,
第3次如果不是37,下一次37就會消失,對於37而言下3次選中的機率等於0,
第4次如果不是36,下一次36就會消失,對於36而言下2次選中的機率等於0,
第5次如果不是35,下一次35就會消失,對於35而言下1次選中的機率等於0,

就選中的機率而言39,38,37,36,35這幾個數跟其他數是不一樣的,
所以.....此程式是不公平的.

另外這種程式是會有重復數字的.
舊 2008-09-21, 11:37 PM #45
回應時引用此文章
passerx離線中  
Paulfang
New Member
 
Paulfang的大頭照
 

加入日期: Mar 2007
文章: 3
引用:
作者passerx
vb沒學過,不過這個程式....

第1次如果不是39,下一次39就會消失,對於39而言下5次選中的機率等於0,
第2次如果不是38,下一次38就會消失,對於38而言下4次選中的機率等於0,
第3次如果不是37,下一次37就會消失,對於37而言下3次選中的機率等於0,
第4次如果不是36,下一次36就會消失,對於36而言下2次選中的機率等於0,
第5次如果不是35,下一次35就會消失,對於35而言下1次選中的機率等於0,

就選中的機率而言39,38,37,36,35這幾個數跟其他數是不一樣的,
所以.....此程式是不公平的.

另外這種程式是會有重復數字的.

真神人出現了嗎
__________________
有人知道我大頭照的女生是誰嗎? 煩請PM
舊 2008-09-22, 12:00 AM #46
回應時引用此文章
Paulfang離線中  
lemming
New Member
 
lemming的大頭照
 

加入日期: Dec 2003
文章: 3
引用:
作者passerx
vb沒學過,不過這個程式....

第1次如果不是39,下一次39就會消失,對於39而言下5次選中的機率等於0,
第2次如果不是38,下一次38就會消失,對於38而言下4次選中的機率等於0,
第3次如果不是37,下一次37就會消失,對於37而言下3次選中的機率等於0,
第4次如果不是36,下一次36就會消失,對於36而言下2次選中的機率等於0,
第5次如果不是35,下一次35就會消失,對於35而言下1次選中的機率等於0,

就選中的機率而言39,38,37,36,35這幾個數跟其他數是不一樣的,
所以.....此程式是不公平的.

另外這種程式是會有重復數字的.


你應該沒看清楚喔
迴圈裡有兩行是
ball(b1) = ball(num)
num = num - 1

這兩行會解決你提出的問題
舊 2008-09-22, 12:03 AM #47
回應時引用此文章
lemming離線中  
8:5
Major Member
 

加入日期: Dec 2002
您的住址: 謎
文章: 265
引用:
作者michelle_lai529
我的寫法,模擬洗牌發牌方式,機率應該比較接近實際吧,參考看看吧

Lotto = rnd_plus( 6, 49 ) '49選6

Function rnd_plus( Vquantity , Vrange )
Randomize
ReDim hand_card(Vquantity)
ReDim card(Vrange)
for i = 1 to Vrange
card(i) = i
next

for j = 1 to Vrange
chang_1 = int((Vrange * Rnd) + 1)
chang_2 = int((Vrange * Rnd) + 1)
temp_card = card(chang_1)
card(chang_1) = card(chang_2)
card(chang_2) = temp_card
next

for k = 1 to Vquantity
hand_card(k) = card(k)
next
rnd_plus = hand_card
End Function

洗完牌後,會亂,但是不會亂得很均勻。

比如說,rnd_plus(49,49) 有可能產生的洗牌結果有 49! 種。
如果是樂透的話,我們會期望每一種發生的機率都是 1/49!。
但是洗牌的結果顯然不會 1/49!...

比如說,我們要依照這個演算法,洗完牌後,順序剛好完全倒置的機率?
因為程式總共取了 2*49 次的亂數,每個亂數有 1-49 種可能。
所以樣本空間是 49^98。

其中某 X 種樣本,洗完後會完全倒置,則剛好導置的機率是.. X / 49^98。
但不管 X 是多少, X / 49^98 都不會是 1/49!

同樣的,我們想算洗完牌後,1,2 剛好交換,其餘都不動的機率?
那會是 Y / 49^98,也不會是 1/49!。

--
如果對於上面的描述很難體會的話,跑 rnd_plus(3,3) 幾萬次,統計一下結果看看...

此文章於 2008-09-22 12:09 AM 被 8:5 編輯.
舊 2008-09-22, 12:04 AM #48
回應時引用此文章
8:5離線中  
bean01
Regular Member
 

加入日期: Jun 2001
文章: 68
引用:
作者passerx
vb沒學過,不過這個程式....

第1次如果不是39,下一次39就會消失,對於39而言下5次選中的機率等於0,
第2次如果不是38,下一次38就會消失,對於38而言下4次選中的機率等於0,
第3次如果不是37,下一次37就會消失,對於37而言下3次選中的機率等於0,
第4次如果不是36,下一次36就會消失,對於36而言下2次選中的機率等於0,
第5次如果不是35,下一次35就會消失,對於35而言下1次選中的機率等於0,

就選中的機率而言39,38,37,36,35這幾個數跟其他數是不一樣的,
所以.....此程式是不公平的.

另外這種程式是會有重復數字的.



請參考 selection sort 的演算法
舊 2008-09-22, 12:07 AM #49
回應時引用此文章
bean01離線中  
八豆妖
*停權中*
 
八豆妖的大頭照
 

加入日期: Jan 2008
文章: 4
引用:
作者twu2
這樣說的話, 你是懷疑 VB 的 Rnd() 的亂數表不夠亂了? (難道自己寫一個亂數產生的函式就能保證一定夠亂了嗎?)
基本上這與上頭程式的邏輯無關吧.

我也覺的自己寫, 也很難"夠"亂, 如果可以寫出一定"亂的". 個人覺的可以賣錢
但要有數學式佐證..

真想知道答案是什麼... 不過如果我會 vb 的話, 我大楖會跑個 100 萬次
看是不是很平均落在 1 ~ 39 吧, 以及第一次中獎的數字為何, 依序下去...等等
舊 2008-09-22, 12:27 AM #50
回應時引用此文章
八豆妖離線中  


    回應


POPIN
主題工具

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

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



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


vBulletin Version 3.0.1
powered_by_vbulletin 2025。