2010年7月25日 星期日

再論詰將棋

上一篇詰將棋討論了一般方法,但是實際使用上會有更細微的技巧,

1. 猜測最後將死的型態。猜出最後要用哪幾隻棋子來將死對方,對於詰將棋非常有幫助,速度上面也大幅提升。多做一些題目可以體會一些常見的型態。

2. 打入王將逃走方向的那一條動線。有時候某條路決計不能讓王將走到,這時直接打入那條線是一個很常見的手段。

3. 角行攻擊範圍的辨認。角行常常是讓初學者非常頭痛的一顆棋子,如果盤面上兩隻角行那是更加頭痛,因為棋盤並未畫出黑白格,所以角行攻擊方位不易辨認。這時可以心中自己設想黑白格,某隻角所在格直接設定為黑格,按照西洋棋棋盤畫法黑格旁必定是白格,那兩隻角必須一在黑格一在白格,才能達到最大的攻擊涵蓋範圍。

4. 飛車攻擊範圍的辨認。飛車看似簡單,但是升變成龍王之後,就變成沒那麼簡單了。常常要注意的是龍王並沒有辦法直接攻擊到馬步所在(意思就是龍王無法直接攻擊前一格再斜前方一格之處)。換句話說,如果可以封鎖龍王所在點的馬步格,那一隻龍王就可以直接將死對方。

5. 金銀將應用。銀將用來封鎖王將退路非常有用,金將則是常常發起最後一擊。銀將弱點是左右兩側和正後方,金將弱點是兩個斜後側。金將銀將要互保,只有兩種型態,一是銀將在金將正後方,二是金將在銀將斜後方。

6. 棄大駒的方向。在底線王手讓王將吃掉大駒,常常可以有效的強迫王將進入底線。

7. 經常忽略的要點。將棋中不能打步詰,但是可以突步詰。

2010年7月12日 星期一

益智遊戲解法

益智遊戲又稱頭腦體操,這裡指的是一些有明確答案的問題。回答這類問題通常涉及一個不會太長,但是具有創意的推理過程,絕不會用到高等數學,通常也不需要很專門的知識(隨便舉個例子:請問地球上最大的影子是什麼?)。當然,有些問題再深入研究後會發現需要很專門的知識,不過這種進階版的謎題通常不會被稱為益智問題。以下就我解題的經驗提出幾個解答這類問題的方法。

1. 從特例或極端狀況討論起。有些問題剛開始看很模糊,不知從何著手,這個時候可以先考慮會比較簡單的特例。因為益智問題必須有答案,通常是從任何假設都能得到答案,這假設當然包含了特例。另外一種情況是題目本身就必須從特例討論起,再慢慢推演至更複雜的狀況,這種問題只有這個方法可以解決。

2. 博弈理論問題。如果你讀過博奕理論的書籍,那麼會知道這些博奕理論的益智問題,一定會有均衡解,推理過程中如果尚未確定為均衡解就不能停止。通常你會有第一個想法,這想法是合理的,然後就立刻將它視為解答,但是這幾乎肯定是錯誤的解答,你必須要想,如果你的第一個想法成立,接下來會發生什麼事?直到你確定事情不會再發生變化為止。

3. 整數理論問題。有些益智問題其實就是某些數論問題的簡化版,通常是整數理論問題。這個就需要一些簡單的整數理論知識方能解答。

4. 鴿龍問題。有五隻鴿子要住到四個鴿籠裡,那麼其中一個鴿籠,一定會包含兩隻或以上隻鴿子。當然題目通常不會這麼容易,這裡只有一點要注意,就是要找到鴿龍在哪裡。當然,鴿籠一定比鴿子少。例如整數A除以整數B,餘數一定比B小,餘數就能拿來當做鴿籠。

5. 邏輯推演問題。通常要從會導致矛盾的假設來推演,畫表格會非常有幫助。

6. 運用對稱性解題。其實會下棋的都知道這一招。很多時候會答案具有對稱性,從這一點來思考會有很多意想不到的好處。

7. 將問題變換形式。很多問題其實只是另外一種很簡單的問題的另一種形式,只是一開始看不出來。

8. 先去除掉絕對不可能發生的事,縮減答案的範圍。有些問題本身就是表格式的,這在填表格時會非常有用,甚至可能是唯一的策略。