2013年7月31日 星期三

三棋雜談

象棋的來源:
世界上象棋分成三大類,將棋,中國象棋和西洋棋。一般的說法是三棋都源自印度的查得蘭卡遊戲。不過中國科技史權威李約瑟(中國科技史權威是個洋人...)認為中國象棋是自己發明的,非是源自印度。我的看法是三棋都源自印度。

首先,查德蘭卡應該不會是來自中國,查德蘭卡一方只有四個子,玩法也單調,沒有道理從中國傳來卻越傳越糟,反過來講反而自然些:從印度傳出去之後各地自行作了改良。當然,中國象棋也有可能是獨自發展的。真的肯定是中國獨自發明的,只有圍棋。

各地的改良:基本的縱橫,斜行和馬步是印度人發明的,西洋棋加上了皇后,並且添加兵行二步和吃過路兵的走法,大大加快了遊戲節奏。中國象棋加上了砲(這是到唐朝才發明的),也是為了遊戲節奏(可以想像把砲拿掉,中國象棋會變得多無聊)。將棋改變最多,我可以理解為什麼日本人發明將棋以後,其他兩棋就不玩了。

厚勢和兵陣:一群良好協同的小兵,可以形成強大的厚勢,厚勢一旦築成,什麼詭計兵法也都不管用了。中國象棋比較缺乏厚勢的概念,主要棋子佈置很疏鬆,一方的兵也只有五個,而且可能沒多久就被吃掉二到三個,很難出現厚勢,也就是比較缺乏兵陣的概念(其他兩棋都有),這跟中國人的基本思維差異頗大(這也是我認為中國象棋外來的原因之一,比較弱的原因),但是圍棋全部都是小兵,厚勢的觀念極為重要(如果不是最重要),這比較像是中國人會發明的棋。
砲和馬步:三種象棋規則都有它的道理,究竟馬步這東西是怎麼出現的呢?為何要設計馬步?直行斜行是第一個會想到的走法,斜行和直行都可以攻擊對方而不被攻擊,那麼要如何添加新的棋子,使得可以在離舊有棋子最近的地方,同時攻擊斜行直行,而不被攻擊?只有馬步而已。那麼中國的砲呢?因為遠程斜行子都去掉了,如果可以隔子攻擊,那麼也能答到上述要求:添加可以攻擊舊有的棋子,而不被攻擊的新子。所以說,世界三棋中棋子的走法,並不是因為個人喜好或個性,而是必須的。

將棋的規則可探討的又更多了,例如為什麼同筋不二步,為什麼不能打步詰等等。據說每年都有人向將棋協會抗議,為何不能有打步詰?其實如果詰將棋作多了,就會知道為何不行:可以的話,將棋的殺玉就變得太容易了。

2013年7月29日 星期一

自我指涉

自我指涉如果沒有初始條件,就會形成無窮迴圈。其實大部分人也學過自我指涉,因為這就叫做數學歸納法(高中的時候的標準數學課程):證明正整數問題的時候常常會遇到,雖然證明看起來是從1開始,但是你完全可以想成"遇到了這個問題,把問題丟給同一個問題,只是規模小一點",規模小一點的問題如果是對的,目前的問題也是對的。就這樣一直到規模縮減到1,而你一開始已證明了規模為1的時候是正確的。這在資訊界的術語稱之為遞迴。數學歸納法這名詞不好,因為它是演繹法,不是歸納法。

那如果沒有證明規模為1的時候是正確的,所指的也不只是正整數的時候(所以沒有最小值)怎麼辦?那就可以拍電影了。例如發生了船難,然後主角很幸運的爬上"另一艘"船,但是那艘只是時光倒流後的同一艘,所以又會再發生一次船難,但是這故事並未有初始條件(或者編劇可以想一個?),那就無法停止了。

但是這樣的無窮只是"最小"的無窮,叫做可數無窮。如果再做一次自我指涉(對自己的所有子集),可以形成所謂的"不可數無窮",最早證明這個的是集合論始祖,也是大師的康特。所以無窮的種類也是無窮多,但是又可以再探討無窮的種類到底是"可數無窮多"還是"不可數無窮多"?答案是後者,但是要證明它似乎不這麼容易了(這容易是相對來說,畢竟人類想了幾千年一直到差不多20世紀才知道有不可數無窮這種東西)。

康特簡介:
http://zh.wikipedia.org/wiki/格奥尔格·康托尔

2013年7月17日 星期三

日本的教育

有個日本作家小島寬之,他的書我買了三本。他是數學系畢業,後來獲得了經濟學博士學位,專長是機率的決策論。他有一本"從數學看人類進步的軌跡"裡面講到了量子電腦,科普書講了量子電腦的運作原理的,這本以外我還未看過,這不但作者得有料,敘述也得非常清楚而且簡明,在少用數學符號的狀況下,這是很不容易的事。

他的書講到很多日本教育的問題。日本教育中各種升學考試的數學題目,嗯...普遍比台灣難很多(附帶一提,日本有12年國教,但是形同虛設,因為大家都去考私立的),我有看到一題小學升國中的的試題,是考碎形的...這真的是小學生會的東西嗎?

2013年6月29日 星期六

將棋的理論書:初段最短course

內藤國雄九段著,一本好書。

裡面有談到先手的價值。這裡有探討各種棋類遊戲先下和後下對勝負的影響。有些棋類遊戲,如果不增加額外規定,會有先手必勝或是先手大優的困擾。例如五子棋就是有先手必勝的困擾,而圍棋則是先手大優,所以另外增加了很多規定來消除這個不公。但是將棋先下優勢則是最小的,不需要再額外添加規定來消除這個優勢。例如將棋有一手損換角的奇妙戰法,這種事在其他棋戲幾乎不可能出現(以我自己的看法,"幾乎"這兩個字是要去掉的)。我當初喜歡將棋,這也是很重要的原因。這規則十分的成熟啊!先後的差距居然可以這麼小。

另外還有角行定律。之前我自己是使用奇數格和偶數格的算法,對應了西洋棋中的黑白格。因為將棋盤沒有像西洋棋這麼佛心,所以角筋得自己算清楚,但是這個方法其實不太適合人腦,要隨時對每個棋子計算縱橫座標相加的奇偶性還蠻不自然的(雖然對電腦來說應該是很好用)。這本書裡面推薦的方法是計算"夾住的格子",夾了奇數格就是同角筋(所以有兩取機會),夾了偶數格就不是。不在同一直線上的也可以比照使用(其實就是一個奇偶性直接的應用:旁邊的格子因為座標只差一,一定會改變奇偶性)。當然,我覺得這是大人用的方法,因為年紀大了,記憶力和眼力實在也不行了(而且還持續退化中),只好把它理論化。

這本書裡面還講到"歪頭法"和"扇子法"。原來扇子還有這功能,可以用來偷比斜線。

2013年6月26日 星期三

角換自戰解說




自戰譜。kif格式除了棋譜之外可以記錄評論,上面介紹過的網站會連評論也記到swf檔中,按驚嘆號就可以看,相當便利。

這是標準的換角局。其實我一直逼電腦下換角局,因為學了一些定跡想試試。電腦的實力也選2級,這樣我可以比較輕鬆獲勝,總手數也比較少。
12手:這裡雙方都嚴格按照定跡,銀前金後是好形,金前銀後有個名詞叫做"金銀逆行",是壞形。

13手:銀將直進。通常居飛方銀將會走4八,但是這裡不走4八,準備早操銀,棒銀和腰掛銀選一個戰法,這裡有剪刀石頭步的關係,很複雜,得很小心,初學者通常不建議下換角局原因在此。另外是我右邊的金將會留在原地,防守3九,這個地方也是換角局的超級要點,這裡被角打入誰受得了。換角的後手方反攻戰術還有很多種,有5四角企圖封鎖先手飛車,先手可以應升田流自陣角,但是這個也是被破解了,所以...很複雜orz

18手:電腦要下腰掛銀,所以我改下棒銀了。根據理論這樣我有利一些,電腦應該是照定跡下過頭了,定跡通常會演變成相腰掛銀。

21手:移動玉將。玉將已經曝光了,在銀將進攻之前先幫她穿一下衣服。玉將理論就是戴帽子,穿腰帶和穿裙子,常常沒辦法全穿好,例如矢倉就是穿了迷你裙,但是戴鋼盔。穴熊就是穿了鋼鐵褲,只能從帽子那邊慢慢脫。

22手:電腦劣著。

44手:電腦劣著。這樣下根本擋不住,乖乖上金比較好,下太猛了。二級的電腦對攻常常會下錯。

66手:這局面先手已經有詰了。全局這裡想最久,因為直覺認為這裡肯定有詰,但是手數比預想的還要長。

2013年6月10日 星期一

日本人省略的藝術



日本有三個文化,把省略的原則變成藝術,一是枯山水,二是俳句,三是將棋。
 1. 枯山水就是省略植物和流水的園藝,差不多都是沙和石頭。因為很抽象,常被認為是用來 幫助和尚悟道的園藝。
2. 俳句就是非常省字的詩。經常是省到讀者完全不知道作者要講什麼,只能以自己的經驗去   猜測。
3. 將棋就是省略了顏色的棋盤遊戲(這個看法我是在羽生善治的書"決斷力"看到的。)。世界上  的棋,即使規則像圍棋那樣簡單,還是要以顏色區分敵我,將棋為了導入"空降部隊"的下法,同時要兼顧升變,所以省略了顏色。雖然有時會看到不同顏色的棋子,但是那個只是為了美觀,正統的棋子是只有一種顏色。