作者Peter1986110 (Self-reference)
看板tutor
標題Re: [解題] GrayChu 板友的題目
時間Wed May 5 17:04:19 2010
※ 引述《TOOYA (在草地等流星)》之銘言:
: ※ 引述《vvbird (vv)》之銘言:
: : 用 A、B、C、D、E、F 六個字母形成一個 9 個字母的單字
: : 至少出現一組三個連續字母 BAD 的機率為何?
: :(恕刪)
: -----------------------------------------------------------------------
: 剛想了一下 這裡的排容又跟之前的不是完全一樣 這裡沒有三個圈圈(AUBUC之類)
: 我在這裡解釋一下
: ┌───┬───┬───┬───┬───┐
: │ │ 沒有 │ 恰一 │ 恰二 │ 恰三 │
: ├───┼───┼───┼───┼───┤
: │ 任意 │ ˇ│ ˇ│ ˇ│ ˇ│
: ├───┼───┼───┼───┼───┤
: │ 一組 │ │ ˇ│ ˇˇ│ˇˇˇ│
: ├───┼───┼───┼───┼───┤
: │ 二組 │ │ │ ˇ│ˇˇˇ│
: ├───┼───┼───┼───┼───┤
: │ 三組 │ │ │ │ ˇ│
: ├───┼───┼───┼───┼───┤
: │ +-+- │ ˇ│ │ │ │
: └───┴───┴───┴───┴───┘
: ˇ個數表在這個計算[N組(以上)]下,恰N被算到的次數
: 一組的情形 有 B A D _ _ _ _ _ _
: _ _ _ B A D _ _ _
: 它將恰二中的 B A D B A D C E F 計算了兩次 所以在一組x恰二的空格記作ˇˇ
: 一組的情形 有 B A D _ _ _ _ _ _
: _ _ _ B A D _ _ _
: _ _ _ _ _ _ B A D
: 它將恰三中的 B A D B A D B A D計算了三次 所以在一組x恰三的空格記作ˇˇˇ
: 其他就類推吧
所以用萬用暴力討論法(笑)時,倒著想比較快
Note That: 恰Ni組 與 恰Nj組 在 i=\=j 時為 互斥事件,故計算完洽N組可直接加總不
用考慮
恰三組 BADBADBAD → 一種
恰兩組 BAD---BAD (類數)*{(所有排法)-(此位子下出現恰三組)}
BADBAD--- 共三類 → 3 * ( 6*6*6 - 1 )= 645
---BADBAD
BAD-BAD--
--BAD-BAD
BAD--BAD- (類數)*{(所有排法)-(此位子下出現恰三組(不可能))}
-BAD--BAD 共七類 → 7 * ( 6*6*6 - 0 )= 1512
-BADBAD--
--BADBAD-
-BAD-BAD-
(用3H3=10知恰兩組共十類BAD分配法)
恰一組 BAD------ (類數)*{(ALL)-(此位子恰兩組(對照上面)-(三組) )
------BAD 此兩類 → 2 * (6^6 - (2*(6^3)+2*(6^3-1)) - 1)= 91586
-BAD-----
-----BAD- 此兩類 → 2 * (6^6 - (3*(6^3)) - 0)= 92016
--BAD----
----BAD-- 此兩類 → 2 * (6^6 - (2*(6^3)) - 0)= 92448
---BAD--- 此一類 → 1 * (6^6 - (2*(6^3-1)) - 1)= 46225
(2H6=7沒有其他類)
Total= 324433 (訂正之前計算錯誤)
324433
P=Total/6^9= -------- ~= 0.0321932 = 3.21932%
10077696
其實暴力法沒我想像的慢......
以上,有問題請不吝指教。
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 218.166.198.243
※ 編輯: Peter1986110 來自: 218.166.198.243 (05/05 17:16)
1F:推 TOOYA:BADBADBAD在任意算1次 一組算3次 二組算3次 三組算1次 05/05 17:46
2F:→ TOOYA:+-+-之後剛好扣光了啊?? 看不是很懂錯在哪裡@@ 05/05 17:47
抱歉!是我想錯了,T大的算是對的!已刪掉錯誤想法,另外之前計算錯誤,更正後機率一樣
注:T大算式小改:(2H6)*6^6 - (3H3)*6^3 + 1 = 324433
(其實除了7跟10可以用H來算不用慢慢窮舉以外沒變)
※ 編輯: Peter1986110 來自: 218.166.198.243 (05/06 00:53)
3F:推 TOOYA:我不要小改 我喜歡窮舉XDDD 這種小東西窮舉才是王道 05/06 11:16
4F:→ TOOYA:以不變應萬變 真的大(麻煩)的東西再發展一套想法就好了 05/06 11:17
5F:→ Peter1986110:我用nHm目的也只是要驗算也沒有舉錯而已 05/06 12:26
6F:→ Peter1986110:當然,我個人傾向要窮舉就從頭到尾窮舉 05/06 12:27
7F:→ Peter1986110:要用想的就從頭到尾用想的,像這題既然都想的到用排容 05/06 12:29
8F:→ Peter1986110:以學生的能力想不到用H來算是有點奇怪,當然假如是自 05/06 12:30
9F:→ Peter1986110:己上課我會順便會提nHm的,畢竟比教有教學意義 05/06 12:31
10F:→ Peter1986110:而且nHm可以回學生問:你保證你舉完了嗎?的問題 05/06 12:33
11F:推 TOOYA:不是想得到想不到的問題 像這麼小的東西 數一數就完了 05/06 16:30
12F:→ TOOYA:而且說實在的 我不知道也不想理解H怎麼來的 05/06 16:32
13F:→ TOOYA:如果今天一個特別的算法可以解決複雜的計算 我會說它好 05/06 16:32
14F:→ TOOYA:但是 它處理的東西這麼單純 又何必要多教一個增加負擔的東西 05/06 16:33
15F:推 TOOYA:像是#1Br-1O6O 透過這樣一個轉換可以簡化題目到這種地步 05/06 16:39
16F:→ TOOYA:我會覺得這個想法很好 但像是拘泥在要寫4C2還是4!/(2!2!) 05/06 16:40
17F:→ TOOYA:我就覺得有點無聊了 05/06 16:40
無聊?我的確是無聊到想要一般化這個問題才搬出H:
排n個,有m種,給定完全不自重複字串k個字(之所以說不自重複像規定這種字串:BADBA因
為字串有自重複會導致BADBA---在填BAD就算重複兩次),問至少出現一次之機率
用排容&手算只能做到:
(手數)m^(n-k)-(手數)*m^(n-2k)+(手數)*m^(n-2k)-...+......../m^n
不手算而用 H or C or whatever 公式算出幾組特殊字串排法種類數 就很清楚是:
(2H(n-k))m^(n-k)-(3H(n-2k))*m^(n-2k)+.../m^n
其中第t項為: (-1)^(t+1)*[(t+1)H(n-tk)]*m^(n-tk)
尾項之t為 t=t0 s.t. n-tk<k
i.e. 通式為:(n=字串長,m=字種類,k=特定不自重複字串長)
t
P(至少出現一次字串)=[Σ (-1)^(i+1)*[(i+1)H(n-ik)]*m^(n-ik)]/m^n
i=1
其中 t=min[{t|n-tk<k,t屬於自然數}]
18F:推 phxcon:你算錯了。BAD的中間還是可以放ABD, 三個字母 05/06 21:35
對不起,我不太懂ph大的意思,可否詳述之?
※ 編輯: Peter1986110 來自: 218.166.192.105 (05/07 23:14)
19F:推 TOOYA:複雜的地方暴力 簡單的地方刁別人的算式 實在看不出高明在哪 05/08 21:06
20F:→ TOOYA:一開始指正我的算式錯 後來確認是自己錯又要嫌我的算式麻煩 05/08 21:09
21F:→ TOOYA:難道不值得無聊兩個字嗎?? 我好話說盡了 本來想笑笑帶過 05/08 21:10
22F:→ TOOYA:如果手算都不敢相信自己沒算錯 學生又怎麼相信nHm沒想錯?? 05/08 21:12
23F:→ TOOYA:更何況你連暴力也暴錯 05/08 21:12
我那個時候趕出門隨便算算你也要鞭......
我暴力算並非我的本意,但是想算算看暴力算法在可用計算機的情況下有多難算才算的
24F:推 TOOYA:排容加手算"只能得到"正確的答案 暴力+過度延伸能得到什麼? 05/08 21:36
老實說,我只是想要討論這個問題而已,因為我對這個問題的一般化有興趣,T大之前所言
亦讓我受惠良多,但我不懂得T大為何要如此惡言相向?假如你覺得我的用語讓你情感上有
不悅之處,那我道歉,假如我在學問上有所不足,那還請你多多指教
但假如你質疑我nHm的用法有錯,請證明我下面的論述是錯誤的,畢竟數學的方法要用數學
解決:
Q:對一個特定字串長k,重複取m種字排n長度字串,在特定字串長k重複t次的種類數
pf:
考慮 特定字串 特定字串 .....t個特定字串(共kt個字已填)
^ ^ ^ t+1個可填其他字的位置
剩下n-kt字可以填在這t+1個位置
即為特定字串視為符號A(t個),其他字元視為符號B(n-kt個)之直線排列
故有(t+n-kt)!/t!(n-kt)!種可能,亦等於(t+1)H(n-kt)種可能 //
-----
我的確很無聊,我現在在思考的是不考慮迴文視為同字串情況下,有哪些情況會導致那個
一般式掛掉?(雖然我知道T大對我的公式存疑,但在我自己實驗下我還看不到反例,同時我
也還看不出我的證明那裡有問題),以及所有會讓我的一般式掛掉的狀況是否亦有自己的一
般解,現在已知指定一自重複(如AA、BABA)、或部分自重複字串(如BAB、BACB)會出事,想
找一般解中......
※ 編輯: Peter1986110 來自: 61.231.24.163 (05/09 13:37)
25F:推 TOOYA:我一開始也已經好言相告 不希望你修改我的東西 在我認為那是 05/09 18:36
26F:推 TOOYA:沒有必要的前提之下 第二段我也說明了我之所以認為沒必要的 05/09 18:38
27F:→ TOOYA:原因 這一題真的有必要做這樣的延伸?? 即使有請你自己寫一個 05/09 18:39
28F:→ TOOYA:方法 因為在我認為沒有必要的情況 你執意要修改我的東西 我 05/09 18:39
29F:→ TOOYA:認為你沒有尊重別人的東西 所以我也不想再顧慮你的感受了 05/09 18:41
30F:→ TOOYA:我說過 在這一題我根本不想用H去做這種小東西 所以你寫的那 05/09 18:42
31F:→ TOOYA:一整段我根本連看都沒看 我也不會去找你哪裡有錯 你如果想找 05/09 18:43
32F:→ TOOYA:人跟你討論你有興趣的主題 或許重發一篇文章會有更多回響 05/09 18:44
33F:→ TOOYA:我有空我也會去跟你討論 但是在這一題 我認為"沒必要" 05/09 18:45
34F:→ TOOYA: ^又有興趣的話 05/09 18:56