2010-03-17

離散數學











想請問這兩大題各該怎麼解..
麻煩了~感謝!

5 則留言:

AIdrifter 提到...

第一題是證有理數
a.只要把(p+q)/2就是介在這兩者之間就是r了

b.接下來要證無限多有理數
p+(q-p)/n p+2(q-p)/n p+3(q-p)/n....依此類推

用矛盾證法 不存在無限多個有理數
則n有限 改成p+(q-p)/(n+1) 也是有理數 造成矛盾

線代離散助教(wynne) 提到...

2. (a) 這個問題叫做 Josephus problem, 舉個例子來說, 假設 n=8, 一開始我們會先把偶數的item都刪掉, 再刪完一輪後, 若想要觀察再繼續做下去最後會剩下哪一個item, 那我們可以去query若對剩下的items 1,3,5,7 進行同樣的process最後會剩下誰, 而query的方法就相當於是問假設今天有 4 個 item 1,2,3,4 時所剩餘的item會是第幾個, 再把那一個的編號抓出來對應到n=8時的編號即可, 也就是說因為
1 = 2*1 - 1
3 = 2*2 - 1
5 = 2*3 - 1
7 = 2*4 - 1
且 f(4)=1, 所以當只剩1,3,5,7時一定是1,3,5,7的第一個item最後會留下, 而在這裡第一個item剛好就是 1, 因為 2*f(4)-1=1

所以in general, 若把總數有偶數個item與有奇數個的情形分開來討論, 可歸納出:
f(2n) = 2f(n)-1, for n≧1
f(2n+1) = 2f(n)+1, for n≧1
f(1)=1

(b) 至於要如何導出closed form, 你可以往 n 的二進位表示的方向去想, 把 n 寫成 n=2^m+l 的形式去觀察, 最後用歸納法可證 f(2^m+l)=2l+1, for m≧0, 0≦l<2^m

匿名 提到...

謝謝AIdrifter~

助教,看不懂你寫的耶= ="
可以在淺顯一點嗎..XD

線代離散助教(wynne) 提到...

再說明一個 n=6 的例子, 不過建議你也可以自己先用例子try看看, 因為要解一個問題我覺得要自己試過後才會更有感覺, 也更能理解別人的想法是甚麼

你可以把 1~6 這八個數字依序繞成一個cycle來看, 然後順時針每往下數兩個還沒被刪的item就把他刪掉, process 的過程如下:
1 2 3 4 5 6
- x - x - x
在第一輪把偶數都刪掉後, 會剩下 1,3,5 共 3 個item, 所以我們會想要知道那當只有 3 個 item 時, 也就是 f(3) 會是什麼, 因為如果知道當 n=3 時最後剩下的會是第幾個, 結果就差不多都出來了

而當 n=3 時, process 如下:
1 2 3| 1 3
- x -| x 
最後剩下來的是 3, 所以 f(3)=3

現在要把 f(3)=3 的結果對應回去 n=6 時的情形, 因為 f(3)=3 告訴我們當有三個item時是第 3 個會留下, 所以 1,3,5 會留下來的是 5, 所以 f(6)=5, 而 f(2n)=2f(n)-1 就是在做上面這件事, 也就是把那個對應回去的原編號用式子推出來而已, i.e., 2*3-1=5, 所以得到 f(6)=5

完整的跑一次來驗證一下結果:
1 2 3 4 5 6| 1 3 5| 1 5
- x - x - x| - x -| x

匿名 提到...

喔喔,這樣我了解了。
原來要將sequence看成"cycle"來解就比較明顯了。大約帶了2,3,4,5,6就可以得出助教給的conclusion~感謝!