Projecteuler (280) Ant and seeds - 拼圖

Yedda avatar
By Yedda
at 2010-03-01T20:25

Table of Contents



剛剛想到所有期望值形式上的算法。還是以三乘三為例 abc
def
 ghi

馬可夫矩陣 起始狀態矩陣 (以b為例)
A= S=
0 1/3 0 1/3 0 0 0 0 0 a 0
1/2 0 1/2 0 1/4 0 0 0 0 b 1
0 1/3 0 0 0 1/3 0 0 0 c 0
1/2 0 0 0 1/4 0 1/2 0 0 d 0
0 1/3 0 1/3 0 1/3 0 1/3 0 e 0
0 0 1/2 0 1/4 0 0 0 1/2 f 0
0 0 0 1/3 0 0 0 1/3 0 g 0
0 0 0 0 1/4 0 1/2 0 1/2 h 0
0 0 0 0 0 1/3 0 1/3 0 i 0

在程式的例子中,每到終點(這裡以h為例)的機率不為零時,便

1.乘上目前步數 2.加到期望值 3.然後再將i 歸零。

事實上在3x3或5x5的例子中,零與非零輪流出現,因此這些操作每兩次就得進行一次。

例如第一次是取 (A^2)S 結果中的 h = 1/12

[POINT] 只把h歸零而其他機率不變的方法是乘上矩陣E (E for Elimination)

E=
0 1/3 0 1/3 0 0 0 0 0 a
1/2 0 1/2 0 1/4 0 0 0 0
0 1/3 0 0 0 1/3 0 0 0 .
1/2 0 0 0 1/4 0 1/2 0 0 .
0 1/3 0 1/3 0 1/3 0 1/3 0 .
0 0 1/2 0 1/4 0 0 0 1/2
0 0 0 1/3 0 0 0 1/3 0
0 0 0 0 0 0 0 0 0 h
0 0 0 0 0 1/3 0 1/3 0 i


跳結論,b→i的期望值
= 2 (A^2)S + 4 (AE)(A^2)S + 6 (AE)^2 (A^2)S + ... 即

__∞

/ (2n+2) (AE)^n (A^2)S 的i那一項
 ̄ ̄n=0

然後這是個無窮級數 令原式=EXP, AE= P, (A^2)S = S'


EXP /2 = (Σ n P^n + Σ P^n) (A^2)S

_1 2 _1
=[ ((I-P) ) P + (I-P) P ] (A^2)S 媽呀,我竟然瘋到在PTT打數學式。

我們要的答案還是i那一項
= = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =

這樣應該就可以直接算每種狀態的期望值(精確,還一定是有理數),然後isoneval大

的125X ......管他多少種,只要能有效列舉就一定能算出來。

不過我手邊沒有矩陣運算的工具XD WOW 25階方陣耶,我連四階以上反矩陣怎麼算都忘了

先在這裡掉隊啦。不知道utomaya大有沒有進展~~~




--
Tags: 拼圖

All Comments

Genevieve avatar
By Genevieve
at 2010-03-02T08:58
沒耶 沒學過馬可夫鏈 這題太難了 我已經放棄了
Vanessa avatar
By Vanessa
at 2010-03-07T06:55
不過我看到有人在題目po出後兩小時內就解出來了
他應該用的不是這方法
Regina avatar
By Regina
at 2010-03-11T00:12
剛看了一下 好像最快的人是45分鐘內解出來
是個英國佬 PE裡真的是一堆怪物級的人
Isabella avatar
By Isabella
at 2010-03-11T19:25
isnoneval po的解法就是正解了,這篇方向也對
Carol avatar
By Carol
at 2010-03-15T20:01
wrongbook也是用scipy 解的,方法同 isnoneval
Oscar avatar
By Oscar
at 2010-03-17T20:13
你進到論壇了嗎?
Edith avatar
By Edith
at 2010-03-18T04:43
所以你已經解出來了? 真厲害
Ethan avatar
By Ethan
at 2010-03-22T18:37
因為這題對 python 來說,比較容易一點
Franklin avatar
By Franklin
at 2010-03-27T14:55
嗯 沒錯 scipy好像是python的東西 C++沒有這東西
Megan avatar
By Megan
at 2010-03-31T22:02
嗯 原來你也有在玩PE
Franklin avatar
By Franklin
at 2010-04-05T09:57
暑假來研究python好了 又強大又是OpenSource。
Edith avatar
By Edith
at 2010-04-08T19:23
鴨皇拜托教我python>///<
Olive avatar
By Olive
at 2010-04-12T16:39
你現在才知道他是人名喔 他在計算機科學領域中很有名
Olive avatar
By Olive
at 2010-04-15T08:36
我記得PE的論壇也有談到他
George avatar
By George
at 2010-04-20T08:30
他的 TAOCP 可是資工人的聖經呢 XD
Daniel avatar
By Daniel
at 2010-04-24T16:02
後記:所謂無窮級數的"巧妙方法"其實是行不通的,Why?
Kumar avatar
By Kumar
at 2010-04-25T07:03
因為P一定是singular方陣 Orz 祝賀utomaya解出> <

Projecteuler連不上去

Hedy avatar
By Hedy
at 2010-03-01T19:33
平時都還好好的 剛剛也都好好的 突然就變成IE無法顯示網頁 重新整理也一樣 重新連結亦如是 有人連得上去嗎??? 附網址:http://www.projecteuler.net/ - ...

在32枚金幣中找假幣 by weiweililin

Anthony avatar
By Anthony
at 2010-03-01T10:57
原題:有32枚金幣,其中有一枚是假幣,但不知較輕或較重。 要如何在五次之內,用天平把假幣找出來,並得知它較輕或較重? 只能說我功課做太少了,明明之前就已經有人說過通式解: 若有n個金幣,則k次可以把其中一枚假幣找出,且知較輕較重,則n與k必符合下列關係: 2 andlt; n andlt ...

Projecteuler (280) Ant and seeds

Noah avatar
By Noah
at 2010-03-01T10:10
1.我先講怎麼拆成單獨的小問題,這個部分我和 LPH66 與 jurian0101 想得一樣。 這整個過程必定歷經 初始狀態 → 駝第一顆豆 → 放第一顆豆 → 駝第二顆豆 → ... → 放第五顆豆 這樣 11 階段的狀態。扣掉最後已達終點的階段,每一階段的每一種可能組合, 都是一個我們要算的 p ...

雷諾瓦Heye新品到貨

Megan avatar
By Megan
at 2010-03-01T10:09
http://0rz.tw/7aTP8 新品憑DM可享優惠5%哦 有會員卡的就是再享5% 滿1500元還有限量滿額送: 20週年紀念版 40片圓形隆河星夜 http://newweb.renoirpuzzle.com.tw/deflf7.php?menuID=504 - ...

五次內在32枚金幣中找假幣 solved by weiweililin

Hamiltion avatar
By Hamiltion
at 2010-03-01T01:49
※ [本文轉錄自 ask 看板] 題目:有32枚金幣,其中有一枚是假幣,但不知較輕或較重。 要如何在五次之內,用天平把假幣找出來,並得知它較輕或較重? 如果你成功的話,請試著在四次之內找出。 這是個不錯的題目,如果你百思不得其解。 那麼解答在下面: 作者: we ...