小松鼠嚇了一跳,有了魔法眼鏡後,這世界看起來完全不一樣了

2000年6月18日 星期日

猜數字遊戲

猜數字遊戲 (1)

猜數字的遊戲有很多種,一種相當有名的,稱為幾 A 幾 B,典型的規則是,兩個人玩,雙方各準備一組四位數的數字,不讓對方知道。雙方輪流猜對方的數字,先猜中對方數字的人贏。當對方猜了一個數字時,你要告訴 對方一些線索,你要告訴他他的答案中,有多少個數字猜中,但放的位置不對,有多少個位置放了正確的數字,,比方說你的答案是4162,他猜的是2156, 那 1就是位置正確,數字也正確, 6 和 2 他有講到,但位置不對,就是猜到但位置不正確。回答的方式使用一種簡稱,位置正確的數字稱為 A,猜到但位置不正確的稱為 B,以剛才的例子來說,就要回答 1A2B,這也就是幾 A 幾 B 的名稱由來。

這個遊戲似乎是由猜顏色的遊戲演變而來的,只不過把要猜的四個位置換成了顏色,回答的方式改為使用幾黑幾白來回答,也有商品問世,有 個上面有許多洞塑膠盒子,可以讓你把有顏色的塑膠釘子插到上面,方便進行遊戲。好處是可以重複使用,不用浪費紙張,但顯然不比以紙筆進行遊戲方便。即使猜 的是顏色,仍然可以算是廣義的猜數字遊戲,因為本質上其實沒有什麼不同。這個遊戲簡單的調整一些參數,比方說四位數改成六位數、十進位改成十二進位、數字 可以重複或者不能重複、第一位可以是零、只能是零等等,就能有許多變形。這類遊戲是不是有什麼最佳的解法?以及多少次能解出來,我這裡沒有資料,但以典型 的規則來說,這個遊戲使用最簡單的方法:「第一次隨便亂猜,以後每次,依據對手給的提示,猜一個有可能的答案。」就已經有不錯的效果了。
也因此為這個方法如此簡單,當一些 BBS 提供猜數字遊戲時,我們可以使用自動程序來取代人力,賺取 BBS 金幣。

猜數字遊戲 (2)

雖然說靠著固定的演算法來猜數字,理論上是相當有效的,但自限於數學化的前提,往往會忽略了數學往往會簡化現實。方法的假設前提,忽略了數字本 身是不同的,面對於人類出題者, 5678 出現的機會絕對和 1479 是不同的,同樣的,當你面對的是人類答題者的話,如果你出的題目是1234,有很大的機會第一次就被猜中。即使雙方利用本質上完全相同的方法,如果能善用 對手的慣性,贏面的確很大。
那電腦出題又如何?細心的程式設計的確能讓出題及答題的參數非常的隨機,讓所有的取巧方式毫無著力點,也有可能設計出人工智慧能夠觀 察出對手的行為模式予以痛擊,不過一旦開始利用對手之前的行為模式作為往後判斷的依據,那你的的判斷也出現了模式,這時鹿死誰手還未可知。
但一般來說,不值得為這樣一個小東西來寫一大堆程式,比方說我的自動猜數字程式來說,該開始的版本,甚至一開始都猜同一個數字,每次 猜的方式都一樣,所以出題者聰明的話,可以選擇一個數字,讓程式每次都必須花費最大的回數才能猜中。解決的方法,就是使用亂數。但是,電腦的亂數基本上就 是一個亂數表,當你程式執行之後,要求亂數的時後,系統會依序把亂數給你,也就是說,程式執行後,每次的亂數序列都一樣,所以一般來說,程式設計者會在程 式開始時,設定一個特別的亂數表種子,設定依據通常都是時間的函數,絕大多數人都是直接把現在時間拿來當亂數表的種子。這樣,程式每次執行時,都會給出不 同的亂數了。
BBS 上的出題的方式還是有很多可能,奸詐一點的BBS 甚至可以不用出題,因為他不需先公布答案。但是使用亂數是最簡單的方式,即使如此,還是有許多可能,光是電腦上的亂數表就有好幾種了,選擇種子的方式也有 很多,就算是這些不管,我們要如何產生一個四個不同的數字呢?我的猜數字程式使用的方式是,先產生一個 0123 到 9876 之間的隨意亂數,然後檢查他是不是每一位都不同,如果不是的話,重新產生一個亂數,直到成功為止。這只是一種方式,你也可以產生一個介於 1 到 10*9*8*7之間的亂數 n,然後尋找第 n 個四個位數都不同的數字。

猜數字遊戲 (3)

BBS 上使用的不見得是這兩者,在猜數字遊戲風行的時候,我曾在某站上發現,每次上站之後,每次的答案,都是固定的一個序列,簡單的說,那個BBS 上沒有設定亂數種子,因此,光靠手動輸入,馬上都能一回合猜中,迅速成為暴發戶。但是,對於我們猜數字遊戲的主力不良牛來說,就沒有如此容易了。觀察我的 猜數字程式的紀錄之後,發現了一個有趣的現象,不良牛的預設數字並不是完全的亂數,他的第一位數和第二位數必定奇偶相反,後面幾位也有高於平均值的比例奇 偶相間。觀察到如此明顯的行為模式之後,馬上把這個模式利用進去,大膽的叫猜數字程式只猜前兩位奇偶相反的數字,加入這個規則之後,猜的回合數從平均五回 合多,變成平均三回合多,賺錢的效率明顯增加了。但是為什麼會造成這種現象呢?原來有一種舊的亂數表是奇偶相間的,對於亂數品質要求不高的情形下,還算堪 用,但在現在的狀況下,卻造成了有趣的現象。
但又為什麼後面幾位沒有必然奇偶相間呢?猜測的結果是不良牛產生四位數不同的數字,使用的方法應該是:先隨機從 0~9中選出一個數字,當作第一位,然後,在從 0 到 9 中隨機取出一個數字,如果和第一位不同,就當作第二位數字,如果和第一位一樣,那再隨機取一個數字,直到和第一位不同為止。第三,四位也用和第二位類似的 方式,從 0 到 9 中隨機取出一個數字,比較和前面幾位有沒有重複,有的話,重新挑一個數字,直到和前面幾位不同。在這個方法中,第二位和第一位其實不用作比較,因為一奇一 偶,一定不同,但我們猜不良牛的作者一定忽略了這點。依照這個方式,我們可以算出第三位和第二位奇偶相間的機率,也可以算出第四位和第三位奇偶相間的機 率,拿來和之間記錄的數字來統計,發現結果是吻合的。

猜數字遊戲 (4)

由於和統計的結果吻合,所以對於不良牛的出題方式就有了完整模型,剩下來的,就是要確定亂數種子,先用一般的方法猜個兩三次,得到前兩三次的答 案,然後這邊就開始利嘗試亂數種子,套進我們猜測的出題模型,看看會不會得到和面所得的答案一樣。這些嘗試都進行得很順利,而且得到不良牛使用的亂數種子 就是直接使用時間這個結論。
就這樣,又把之前的平均三次多猜中,降到平均一次猜中,一個不能再好的結果。
這個猜數字的最佳成果所帶來的收益成果,也不過就是那了一大堆不良牛金幣,除了送人,也不知道能有什麼用。最後,該站的出題程式也改了,給獎金額也做了限制。
也有其它能得到比較實際利益的猜數字遊戲,那就是猜密碼了。
和幾 A 幾 B 一樣,密碼的選擇,也是可以很隨機的,面對著設計良好的密碼檢查系統,猜出密碼的唯一的選擇,就只有花費天文數字時間的暴力搜尋了。很幸運的,猜密碼也是 一種廣義的猜數字遊戲,我們面對的出題者同樣也常常是有行為模式的人類,或者有行為模式的電腦程式。
比方說,對於一個常常連上的主機而言,即使是對於密碼安全相當重視的人,也不會選擇一個非常困難輸入的密碼。一般而言,情況甚至更 好,大多數人在實務上會把方便性的優先權放在安全性的前面。太長又複雜的密碼,不小心忘了怎麼辦,又很難打,常常會打錯。所以,絕大多數複雜而安全的密碼 就被物競人擇掉了。
為了解決人們討厭輸入複雜密碼的困擾,許多的軟體開始貼心的幫使用者記住密碼。可惜的是,這樣並不會帶給那些複雜難記得密碼任何福 利,反而更加打壓他們的生存。為什麼?軟體幫我們記住了複雜的密碼,那複雜密碼的難打性和難記性的困擾不就解決了嗎?為什麼反而更容易淘汰?原因很簡單, 由於軟體幫使用者記住了密碼,使用者不需要常常使用這個密碼,反而很容易就忘記了密碼,不要說複雜的密碼了,就算是簡單的密碼,久了不用,也很容易就忘 了。一般來說,這不會造成困擾,反正軟體幫你記住了,你記得住、記不住也就不重要了。但也許有一天,你換了新電腦了,更新軟體了,或者中毒了,也許有次有 急事使用別人的電腦,連上主機時,突然發現腦筋一片空白,完全忘了當初設定的密碼是什麼?猜了幾次,終於放棄了。從此以後,你發誓再也不用自己記不住的密 碼了,並且把他抄起來,貼在螢幕旁,而且所有的帳號都使用相同密碼。
所以,有了自動記憶密碼的軟體,只會讓密碼變的更簡單、更單純,也很少有人會沒事去改密碼。
所以,一般原則下,猜密碼的空間只要鎖定在「記得住」和「方便打」的交集就可以了。
可惜即使如此,我們還是很難像有些電視影集上演的,潛入別人的辦公室,打開電腦,試著猜了兩次密碼都拒絕存取,皺了皺眉頭,看到辦公桌上放了一張父女合照,靈機一動,打了那個女兒的名字,歡迎畫面就出來了。

猜數字遊戲 (5)

如果真的有要在 login: 和password: 的提示符號下,親手猜測密碼的話,login名稱 guest, password 空白的會有一點成功率。如果有已經知道一些帳號名稱,比方說 NT 的輸入密碼方塊會顯示上一個login 的帳號名稱,可以試著在密碼的欄位輸入帳號名稱,比方說帳號名稱如果是 weijr,可以是著猜猜看密碼是不是也是 weijr,如果不行,還可以試試看 weijr1, weijr2, weijr0,如果都不行,再猜一下 1234 試試看。
如果都不成功,不要喪氣,這是非常正常的,如果人在主機旁邊,可以看看桌子上,螢幕旁,或者旁邊牆上有沒有剛好貼有密碼,這個可能性在公開的環境中還不小。如果面對的是 Unix 主機,下面有一些可以嘗試的(帳號:密碼)組合:
StoogR:
    wank:wank
    root:D13HH[
    root:D13hh[
    root:wh00t!
    gamez:lrkr0x
    rewt:satori
    hax0r:
    friday:
也許已經有別人先偷偷裝好後門了。
如果都還不行,你還是可以隨意的猜測一些,猜越多,中獎率一定就越高,不過越多的嘗試,會顯現出越多的惡意。
用手猜密碼成功率高嗎?不高,不過我真的有猜中的經驗。
一般來說,沒有人會徒手去猜密碼的。
也可以用和幾 A 幾 B 的方法,靠者電腦連線程式自動化的去猜,但是,這就和徒手猜的一樣,過多的嘗試,會顯得具有侵略性,搞不好就會被抓起來。
所以一個小結論就是,除非是真的很差的密碼,沒有其它資訊輔助的狀況下,此路不通。
在此,思考的方向就要轉向機器是如何判斷密碼是正確的?顯然電腦的硬碟上面一定存有密碼的資料,用來和使用者的輸入比對,用來確定密碼 是否正確。但是,這樣的話,機器的管理者不就可以知道所有使用者的密碼了嗎?如果使用者剛好在其它的地方也使用了相同的密碼,那心懷不軌的管理員就可以堂 而皇之的借用這個使用者的帳號了。比方說好了,你在藍盒的密碼,如果剛好和你在椰林的密碼一樣,那藍盒的站長會不會用這個密碼幫你處理你在椰林的郵件?
的確有些站台他們會知道你的密碼,所以,他們才能提供一些特別的服務,比方說當你忘了密碼,他們可以幫你記起來,或者像是剛才說的幫你偷偷處理你在椰林的郵件。
藍盒以及絕大多數的 BBS 無法提供這種服務。
但這又是怎麼辦到的?如果說藍盒不知道使用者的密碼,又怎麼能檢查使用者的密碼是不是正確的?

猜數字遊戲 (6)

既然藍盒不知道你的密碼,又怎麼能檢查你輸入的密碼是不是正確的?
解決的方法是這樣的,藍盒上面不會存有你的密碼,但是我們存有一份經過編碼處理過的你的密碼。我們可以把編碼處理看成一個函數,F,你 的密碼如果是X,我們這裡就存有F(X),比方說你的密碼 X 是 hello,那 F(X) 就會出來 Gjy3.U5xOfA 這樣一組沒有人看的懂得編碼,這樣,不管是藍盒的站長還是誰,只能看到 Gjy3.U5xOfA,看不到你的密碼 hello 了。
要比較使用者輸入 Y 和密碼 X 是不是一樣,只要比較F(Y) 和 F(X) 是不是一樣就行了。
我的數學系 b81同學們看到這個地方,一定會看到一點問題,沒有錯, F(Y) 和 F(X) 相同,不能保證 X 和 Y 相同,比方說另一個密碼 world 經過 F 處理後,也會成為 Gjy3.U5xOfA。所以呢,F 需要一點特殊要求,就是不同的密碼,經過 F 處理之後,也要得到不同的編碼,數學上說的就是 1 to 1 。實務上的要求沒有那麼嚴格,但至少,重複率要很低,非常的低。
另外一個問題是,BBS 的站長當然可以看BBS 的程式碼,也知道 F 的編碼過程,難道不能把 F 反解回來嗎?數學上來說,的確存在一個 F 的右反函數 G,使得 F(G(X))=X ,所以站長「只要能」找到這個 G,就可以偷得使用者的密碼了,但困難的就在於找到這個反解法。
已經知道編碼的方法,倒著回去,不就可以得到反編碼法了嗎?我曾經被這個問題困擾了一陣子,然後一步一步的把密碼編碼法拆解,然後看 到了不可逆的部分,終於相信了。其實不需要這樣子才能瞭解。這裡的不可逆,和數學的不可逆有點不一樣,事實上,前面已經說了,像 F 這樣的函數,的確存在足夠好的反函數,數學意義上它是可逆的。
什麼是這裡的不可逆,舉個例子比較快,比方說我們讓F(X) = 第 X 個質數的平方根小數點一位到十位。求出 n=F(X) 相當容易,只要拿出夠好的計算機,計算第 X 個質數,把小數點拿出來就可以了。但相反的,如果是已經知道了 n=F(X),想知道 X 是多少,只得慢慢的找了。所以這裡的不可逆,只是很難找的意思,難到只能一個一個慢慢去試。
最難也只能這樣了,你沒有辦法阻止我一個一個去試。
但是,你怎麼知道只能一個一個去找,也許有捷徑?不用太驚訝,這是一類很古老的問題。還記得中學學的一元二次方程式嗎?或者多元一次聯立方程式?方程式就是我們的 F,解方程式就是尋找看看有沒有快速得到 G 的方法。
對幾千年前的人來說,F(X)=5X^3+6X^2+7X 已經夠好了。

猜數字遊戲 (7)

除了不可逆的編碼外,另外還是有一些軟體會使用可逆的編碼法,比方說,Windows 撥號網路的密碼記憶,為了不讓人輕易讀到它幫你記憶的密碼,所以加以編碼,但編碼又一定要可逆,因為視窗要幫你輸出密碼。
就某方面來說,這樣甚至比用明文記憶更糟。
還是回到前面的不可逆編碼,既然找不到快速的可逆解法,我們至少能慢慢把密碼試出來,雖著編碼方式的不同,試出來的時間當然也不同。比 方說,我們可以在兩天的時間之內,使用個人電腦,試出任何一個由英文字母,阿拉伯數字,標點符號,空白反正就是你鍵盤能夠直接敲出來或者加上 Shift鍵能敲出來的那些東西組成的密碼。反之,一般 Unix 的 crypt編碼,需要的時間就久多了,不是一兩年能夠出來的。
雖然,必須要慢慢去試,但是,我們還是有有趣的猜數字遊戲可以玩。
比方說台大計中好了,會要求學生、老師和職員,在申請帳號時,填寫一個預設密碼。當年我申請時,發現一堆人把申請單放在一個籃子內,我 根本就不用猜,就可以看到許多人的密碼了。這當然不夠有趣,有趣的是,計中限定你設定的密碼,必須前兩位是英文字母,後四位是數字,比方說, ab1234,那前兩位的英文字母可不可以用大寫?就我瞭解是可以的,但多數人都有疑惑,在對於大小寫沒有特別喜好的情況下,大多數人,在詢問職員和只用 小寫之間,會選擇後者。
這樣,大大的減少我們的搜索範圍和花費的時間。
26*26*10000 ,看起來是一個大數字,即使用很普通的個人電腦,也不需要花費幾小時就能試完。當然前提是,要先有編碼過的密碼表。一般的情形下,計中不會讓你看這個表,但在某些情況下,是可以拿到這個表的。也可以使用一些不太難的技巧,主動拿到這個表。
問題是解一個密碼,花費的時間不多,但我們需要猜很多密碼的時候,怎麼辦?

猜數字遊戲 (8)

面對一萬多個帳號,即使是只要試 aa0000 到 zz9999 之間的可能,也要花費不少時間。還好,這些數字之間,不是平等的, ab1234 永遠比 kt2493 吃香一點,但問題是,哪些數字是吃香的?我們知道,生日永遠是密碼選擇的主流,所以第一個數字是 0 的機率不小,第三個數字也常常是 0,1,2 ,如果你手上剛好有一份學號和生日的對照表,也許可以先試一下。但是,許多人並不是使用自己的生日,而是親朋好友的。況且,生日也不見得是平鋪直述的使 用,所以期望不要太高。另外,1234,5678, 7777這種數字,也比較吃香。與其花腦筋空想,不如使用統計的方式,把有人用過的密碼來做一統計。光是哪一位、哪一個數字、哪一個字母比較常用,已經有 不錯的效果了。
總之,雖然使用者隨時可以改密碼,但由於前面所說的,既然電腦都幫你記住密碼了,誰還會記得去改密碼?另外一方面,使用者很可能會誤會說,密碼一定要前兩位字母、後四位數字。所以,光是用這個方法,可以解出的密碼超過七成,甚至有九成以上的解碼率。
解出密碼有什麼用處呢?簡單的說,除了得到大家沒有良好的密碼習慣這個結論,並且感嘆一下外,似乎沒有什麼用處。這也不算是什麼用處,因為不需要解出密碼也知道結論。
還有什麼用處呢?連上別人的帳號,可以看別人的信,使用硬碟空間,不是什麼有意思的事情。但是,幫別人查成績,倒是蠻有趣的。

猜數字遊戲 (9)

說到查成績,其中也有一個猜數字遊戲。
查成績遊戲的第一版,雖然也需要輸入密碼,但由於當時作者技術上的限制,所以在輸入密碼後,查成績系統會利用學號,產生一個特別的數 字,利用學號和那個數字,就能查到成績了。問題就在於,數字是經由黑箱產生的,我們能看到數字,能看到學號,但我們不知道數字怎麼產生的。不過呢,一個很 明顯的現象是,班上的同學似乎產生的數字差不多,研究室內的許多人,都知道一些密碼,一個一個拿來試試,證實了這個結論,而且,觀察到了,某個學號是最小 值,然後向兩側上升,這樣的函數,該不會是一個開口向上的拋物線啊?
多試了幾個學號,證實了這個猜測,然後又試了一些別的系的學號,把整個黑盒子都解出來。
因此,在數學系的網路上,有了一個特別版的查成績服務,讓那些沒有在計中申請帳號的同學,也能查到自己的成績。
只讓在計中有帳號的同學能查成績,實在是一種不公平。
當然了,這招現在已經行不通了,不過呢,手上一堆帳號和密碼對照表,還是可以幫別人查成績的。
光查查成績似乎不夠有趣,那幫別人領錢又如何?

猜數字遊戲 (0)

**本篇文章受密碼保護,請輸入密碼後繼續閱讀: ********
密碼錯誤!
請再試一次: *********
密碼錯誤!
請再試一次: *********
....

2000年6月15日 星期四

誠實國之謎 (4)

這時,突然聽到:「讓我來解答吧,國王。」

  是誰?難道是之前枉死者的冤魂嗎?

  一個人影從大門旁的柱子邊站了起來,慢慢的走到中間,原來是ㄆ王子。ㄆ王子在以圓週率那個方式解答國王難題失敗之後,一直坐在大門旁的柱子邊。

  國王:「原來還有一個漏網之魚,只剩下五分鐘了,說出你的答案吧。」

  ㄆ王子:「很簡單,他們三個人我一起問同一個問題,先回答的就是隨便說。」

  國王露出不耐煩的神色:「你沒有新的招數了嗎?你還記得你剛才圓週率小數點九十八位的問題已經失敗了?這次你是要問圓週率小數點以下九 百九十八位呢?還是要問第一萬二千三百五十六個質數的尾數是不是三了?不是告訴過你行不通了嗎?就算誠實和說謊的人,都必須花一段時間才能回答,隨便說的 人難道就不能故意晚一點回答?前面已經有很多人嘗試浪費我的時間了,你知道他們的下場嗎?還是你…」

  ㄆ王子打斷國王的話:「時間不多了,請讓我說完答案之後再評斷吧!我要問的問題是:『現在這個問題,你們是不是最多只有一個人回答「否」,兩個人回答「是」?』」

  國王喃喃自語:「這樣啊,那如果誠實的人…如果先回答『是』的話…」。國王的聲音越來越小,然後就陷入了一段沈思之中了。在這段時間中,沒有人趕說話。ㄆ王子就這樣成功了撐過了二個時辰的,仍然保有性命。

  就這樣大概過了十分鐘左右,國王說話了:「有趣了,這個問題有趣的地方,在於誠實的人和說謊的人不會回答一樣的答案,所以呢,關鍵就在於隨便說的人的回答了。」

  ㄆ王子說:「沒有錯,如果三個人都回答的話,誠實的人和說謊的人,不管怎麼回答,一定一個回答『是』,一個回答『否』,這點在他們回答 之前就已經非常宿命的確定了。所以,三個人中是不是只有一個人回答回答「否」?還是有兩個人會回答『否』?在隨便說還沒有回答之前,都有可能,說謊者和誠 實的人都無法事先預測。」

  ㄆ王子得意的笑了笑:「之前讓解題者頭大的隨便說,他無法預測的特性在這裡被巧妙的運用了,沒有錯,隨便說的確會擾亂我們解題者的判斷,但同樣的,他也讓讓誠實的人和說謊的人無法預測,這可說是以子之矛,攻子之盾的方法。」

  ㄆ王子說:「只要隨便說的人一回答『否』,誠實的人就可以放心大膽的回答『否』,說謊的人也能回答『是』了。同樣的,只要隨便說的人一 回答:『是』,說謊的人也可以回答『否』,誠實的人也能回答『是』了。這樣,要判斷他們的身份,是輕而易舉的事了。只要誰先回答,就是隨便說的,剩下兩 個,只要看他們的回答和事實相同還是相反,就能知道他們是誠實還是說謊的了。」

  國王說:「這樣的確能分辨他們的身份,但是,你考慮的狀況,都是他們三個人都有回答,但就像之前被砍頭的那個誰曾經考慮過的解法一 樣,有沒有可能有一種狀況,當前兩個人回答了之後,造成第三個人不論怎麼回答都是矛盾的,所以無法回答?這樣,就只有兩個人有回答,你的方法就有可能破功 了。」

  ㄆ王子說:「這個問題我也有考慮過,當然他們不能故意不回答問題。」

  ㄆ王子換口氣說:「我先來說明,為什麼誠實的人無法昧著良心搶先回答『是』或者回答『否』。如果說他說『否』的話,萬一隨便說接著說 『否』,誠實的人就不誠實了。那如果誠實的人搶先回答『是』呢?只要隨便說的人接著回答『否』,說謊者的確就陷入了兩難的矛盾了,如果他回答『是』的話, 則三個人中只隨便說回答『否』,那說謊的人不就說了實話了嗎?所以說謊的人不能回答『是』。如果他回答『否』,那就有兩個人回答『否』了,所以同樣的,說 謊的人也不能回答『否』,因為這樣一來,他又說實話了,所以他只能選擇不回答,這樣,誠實的人回答『是』,隨便說的人回答『否』,說謊的人不回答,誠實的 人又說謊了,所以,誠實的人為了要保證他的信用不會破產的話,他就不可能先回答了。」

  ㄆ王子:「同樣的,說謊的人如果先說的話,也無法保證他的回答一定與事實不符。假如他回答『是』的話,只要隨便說的人回答『否』,誠實的人說『是』,說謊的人就變成說實話了,所以說謊的人不能先回答『是』。」

  國王說:「可是誠實的人也可以回答『否』啊?這樣不就沒有矛盾了。」

  ㄆ王子說:「首先呢,誠實的人並沒有義務替說謊的人維護他的謊話,而且呢,就如國王說的,誠實的人也只知道另外兩個人一個是說謊的,一個是隨便說的,所以他絕對有權利回答『是』。只要他有回答『是』的可能,說謊者就不能冒險回答『是』了。」

  國王說:「如果說謊的人先說『否』呢?」

  ㄆ王子說:「那就更簡單了,只要隨便說的人先說『否』,說謊的人又變成說實話了,他也不能冒這個危險。」

  ㄆ王子換了口氣,休息一下,又說:「經由這樣的分析,我們可以清楚的知道,誠實的人和說謊的人都不能先回答,只有沒有不需要回答負責的 隨便說,才能先回答。即使是這樣,其中還是有一層巧妙的地方在,當隨便說先回答了『是』,說謊的人如果也回答『是』呢?這時誠實的人不能回答了,這就是我 會問:『現在這個問題,你們是不是最多只有一個人回答「否」,兩個人回答「是」?』,而不是問『現在這個問題,你們是不是有一個人回答「否」,兩個人回答 「是」?』的原因了,如果少了那個『只有』,那說謊的人絕對有權利說:「是」。」

  ㄆ王子神情愉快的說:「這樣,我這個判斷的方法毫無問題了吧?」

  國王說:「沒有錯,你的確是解答了這個問題。」

  ㄆ王子說:「那這就表示我可以娶公主了?」

  國王說:「很可惜的,你並沒有看出我題目中的暗示。你不妨先用你的方法來分辨一下他們的身份。」

  ㄆ王子於是使用了他的方法,問了他們三個:『現在這個問題,你們是不是最多只有一個人回答「否」,兩個人回答「是」?』

  出人意料的的,三個人都回答『是』。

  ㄆ王子驚訝的說:「怎麼可能?怎麼可能?」

  國王笑著回答:「沒有想到吧?我的題目暗示很清楚了,誠實國裡面,還是有說謊的人,也還是有隨便說的人。你一定更沒有想到,原來誠實國的國王居然也會說謊?」

  ㄆ王子嘴巴張著說不出話來。

  國王又說:「其實也不用那麼驚訝,在一堆都誠實的人中間,由一個會說點謊話的人執政,其實也是很自然的事。」

  ㄆ王子說:「那…公主呢?」

  國王笑著說:「前面那位崩潰了的ㄈ,倒是說對了一件事,根本沒有公主。」
(完)

2000年6月14日 星期三

誠實國之謎 (3)

時間就這樣一分一秒的過去了,就在剩下最後的十五分鐘的時候,ㄈ高興的大喊:「我知道了!」
正在打瞌睡的國王,被ㄈ的大喊驚醒了,說:「你的辦法最好有效,否則你要為了吵醒我而付出代價。」
ㄈ繼續大喊:「我知道了,我知道了,我終於知道了,這三個人都是誠實國的人,而且,根本沒有公主,對不對?一定是剛才問路的時候,被路人騙了,這裡其實是說謊國吧?還是我在作夢對不對?」
接著,ㄈ就狠狠的打了自己兩巴掌,想把自己打醒,發覺沒有效果,又更用力的打了兩下,還是沒有用,竟然一頭往王宮的大柱子撞過去,由於長時間耗盡心神的思考,又看到許多人枉送性命,心力交瘁,ㄈ這一撞居然就這麼一命嗚呼了。
看來,我們只能把希望放在ㄉ身上了。
這時,ㄉ開口了:「好吧,看來只有靠我自己了,我的方法是,我問他們第一個人:『你是誠實的或你會回答「是」,是不是?』如果他是誠實的,他一定會回答是,如果隨便答,那就不一定。」
國王問:「那如果他是說謊的呢?」
ㄉ說:「他會無法作答,由於『你是誠實的』這個敘述對於說謊的人來說是錯的,所以回答的關鍵在於『你會回答「是」』這個敘述是否成立。我們現在要說明,不管說謊的人不能回答『是』,也不能回答『否』。
   假如他回答『是』,那『你會回答「是」』這個敘述就成立了,那整個問題的正確答案就是『是』了,但他要說謊,所以他就得回答『否』,但前面已經假設他回 答了『是』所以矛盾。  假如他回答『否』,那『你會回答「是」』這個敘述就不成立了,那對於整個問題來說,由於他既不是誠實的人,也不是回答『是』,所 以真的答案就是『否』了,這樣,說謊的人又說了實話了,同樣也是矛盾。所以了,說謊者只能選擇不回答。」

國王說:「好吧,如果他回答否,那你可以知道他是隨便說的,剩下兩個人一定一個是說謊的,一個是誠實的,很容易就能分辨出來。如果說第一個人不回答,就一定是說謊的,那你分辨怎麼把剩下的兩個人哪一個是誠實的,哪一個是隨便說的?」
ㄉ說:「那我就問第二個人,『你會回答「否」,是不是?』,第二個人如果是隨便說的,當然可能回答是,也可能回答否,不管怎麼樣,他總 是會回答。但如果他是誠實的,那他回答『是』的話,他說謊,回答『否』,也說謊,所以他也只能不回答。由此一來我們很容易的就可以知道,第二個人如果回 答,就是隨便說,如果不回答,就是誠實的。第三個人我們也不用問他了,他一定就是剩下的那一個人了。」
國王又問:「那如果第一個人回答『是』呢?」
ㄉ接著說:「那他可能是誠實的或者隨便說的,那我們就把問第一個人的問題再問第二個人一次,同樣的有三種情形。如果他回答「否」,那他 一定是隨便說的,那第一個人就一定是誠實的了,第三個人也不用問了。第二種情形是第二個人回答『是』,那第二個人也可能是誠實的,也可能是隨便說的,總之 第三個人是說謊的,我們只要問他第一個人是不是誠實的,就可以確定前兩人的身份了。如果第二個人不回答,那我們第一個人就當作白問好了,很明顯的,第二個 人就是說謊的,我們只要把剛才那個問題:『你會回答「否」是不是?』問第三個人,就可以確定三個人的身份了。」
國王深深的嘆了一口氣:「也真難得你能想到以利用邏輯上的矛盾,使得他們被迫不能回答,然後又構造出一個如此巧妙的問法,還真是不簡單。」
ㄉ鬆了一口氣:「多謝國王一口氣。」
國王又嘆了口氣說:「今天已經殺太多人了,看你的表現還不錯,就這樣算了吧。但是,又不能讓你出宮之後到處亂說今天的事,好吧,你可以選擇,把舌頭割掉、逐出宮呢,還是要關進大牢終身監禁?」
ㄉ不平的說:「國王,我不是已經解決了您的難題嗎?不是依照規定要把公主嫁給我嗎?」
國王笑了笑:「你那也算解法?首先呢,你怎麼麼知道他是不回答的?如果他半小時之後才回答,你在二十九分鐘的時候怎麼知道他是不回答 呢?還是還沒回答?,如果又過了兩天,他還沒有回答,你又怎麼知道他是還沒回答,還是不回答?總之,你必須等到無窮久之後,才能在邏輯上確定他是不回答 的,那你又怎麼有時間再問第二個人?又有什麼時間判斷呢?
國王說:「當然也不是一定要等到無窮久的時間之後才能確定一個人是不是不回答,比方說如果你把你剛才的問題,同時問他們三個人,那你 可以等到兩個人回答之後,就能知道第三個人一定是不回答的。你可以試試看,是不是能設計出更巧妙的問法,避開必須無窮久的這個問題。我想,是不大可能有辦 法的。而且呢,這還不是你的方法的唯一問題。另一個問題,是你詢問的過程中,有問到第三個人,第一個人是不是誠實的?是不是?」
ㄉ說:「是的。」
國王說:「可惜呢,他們三個人,除了知道自己的身份外,也不知道另外兩個人的身份,所以呢,你的辦法還是行不通。所以呢,你是要選擇割掉舌頭呢?還是關進大牢?」
ㄉ說:「國王,等一等,我還有一個辦法,這個辦法一定可以解決,請再給我一個機會。」
國王說:「好吧,可是,不要浪費我的時間。」
ㄉ說:「我要問的問題,是『你回答這題的答案,跟問你太陽是不是從西邊出來的答案是一樣的,是不是?』」
國王說:「要問哪一個,還是一起問?」
ㄉ說:「我要問的人,是能夠回答我這個問題的。」
國王哈哈大笑說:「不錯不錯,還真有巧妙,不管誠實的人還是說謊的人,都無法回答你的問題,但更巧妙的是能用選人的時機來偷偷問出誰是隨便說的。」
笑容立刻又收了起來:「很可惜的,姑且不論你這樣偷偷問有沒有違規,你要找誰來幫你選人?又怎麼知道誰知道他們的身份?他們誰是誰連本王都搞混了,又有誰來幫你選人?你這樣是行不通的。你果然又浪費了我的時間了,所以呢,你也不用選要割舌頭還是關大牢了。」
就在國王的命令下,ㄉ也失去了寶貴的生命了。
難道故事就這樣結束了嗎?
當然是不可能的。
那接下來難道是國王來做講解嗎?
這當然也不太可能,因為這樣的話,依照國王的規定,他就要把自己的女兒嫁給自己了。
現在時間止剩下了五分鐘了,但是,連ㄉ都死了,剩下多少時間還有意義嗎?
這時,突然聽到:「讓我來解答吧,國王。」
是誰?難道是之前枉死者的冤魂嗎?如果是這樣,國王得把女兒嫁給冤魂,難道,國王的報應來了?
請看完結篇。

2000年6月13日 星期二

誠實國之謎 (2)

國王終於沒有打斷老先生的話,聽完了他的解答。這時,大廳內的其它應徵者,有的點頭稱是,有的則恨自己怎麼沒有早一步往不可能有解這方面想。

  國王說:「雖然說,朕還是不是很懂,但你的意思是,這個問題沒辦法解答?」

  老先生回答說:「草民正是此意。」

  國王怒道:「大膽!拖出去斬了。」

  老先生嚇了一跳:「聖上饒命啊,草民的證明並沒有錯誤啊,大王如果不信,可以召集國內長老,詳加驗證,還請聖上明察。」

  國王回答:「姑且不論你的證明是否正確,朕這次請你們來,是要解答這個難題的呢?,還是要請你來告訴朕,這個難題是不能解決的?是朕說錯,還是你聽錯?」

  老先生連忙求饒:「小人知錯,請大王從輕發落。」

  這時國王氣也消了一半:「姑且念你初犯,且為無心之過,那就發配邊疆好了」

  老先生就這樣被旁邊的侍衛逐出宮去了。

  不少應徵者見情勢不妙,打算趁著混亂偷偷跑走,國王也發現了這個現象,相當生氣,覺得不受尊重,立刻命令侍衛關上大廳的門,並且把那些 準備偷跑的人一一就地正法了。然後宣布,如果沒有人能解出難題,他們一個也別想活著回去。應徵者都嚇了一跳,真沒想到這個國王原來是這樣脾氣暴躁的人。

  目前剩下的五位倖存應徵者,心裡盤算著,來這裡這麼久了,連公主都沒見到,而且還有生命危險。國王脾氣這樣暴躁,他的女兒該不會也和他一樣吧?而且依照剛才那個老先生的說法,這個題目可能根本無解,那他們豈不是無法活著走出去了。

  ㄅ國的王子剛好也在那五個人之中,他起身對國王說:「國王大人,立刻讓我回國,你要是不放了我,我父王會帶我國的二十五萬大軍來把你們消滅的。」

  國王的回答也很簡單,立刻叫侍衛把他拖下去斬了。

  國王說了:「我失去耐心了,在給你們一個時辰的時間,如果沒有人回答的出來,就全部斬了。」

  所謂急中生智,國王才剛說完沒多久,ㄆ國王子就宣布說有了解答。國王請ㄆ國王子說明他的解法。

  ㄆ國王子說:「很簡單,三個人我都問同一個問題,圓週率的小數點下九十八位是不是六?」

  國王說:「不可以,誰會那麼無聊,去背那麼長的圓週率?你不可以問他們也不知道的問題。」

  ㄆ王子笑了笑說:「我這個辦法的關鍵就在於沒有人會無聊去背圓週率,但我這裡提供了一小段計算圓週率的程式碼:

int a=10000,b,c=2800,d,e,f[2801],g;main(){for(;b-c;) f[b++]=a/5;for(;d=0,g=c*2;c-=14,printf("%.4d",e+d/a) ,e=d%a)for(b=c;d+=f[b]*a, f[b]=d%--g,d/=g--,--b;d*=b);}

  請國王提供他們一部貴國最先進的電腦來計算,半個時辰之後,答案就能出來了。由於隨便答的那個人,並不需要依賴電腦出現的答案就能作答,所以他一定會最先回答,誠實或說謊的人,則必須等到電腦出現答案之後才能作答,如此一來,問題就迎刃而解。」

  國王冷笑了一下:「是嗎?那你就試試看你的方法行得通還是行不通。」

  ㄆ王子:「沒有問題。」

  國王於是就把三個問題人物及ㄆ王子帶入偏殿,讓他作答。

  半個時辰之後,國王,ㄆ王子從偏殿走了出來,只見ㄆ王子眼神呆滯,口中喃喃自語的,不知道在說些什麼,臉上絲毫不見任何欣喜的神情。仔細一聽,ㄆ王子只是不斷的再重複:「怎麼可能,怎麼可能有人真的會無聊到去背圓週率到小數點下一百位。」

  經過又一段時間的靜默,另外的一個應徵者ㄇ,提出了他的辦法了,他對國王說:「國王大人,我要能問他們的每個人一個他們只能回答「是」或「否」問題,然後要能分辨他他們身份,就算解答難題了,是不是?」

  國王說:「沒有錯。」

  ㄇ繼續說:「前面的老先生已經證明了,讓他們只回答一個「是」或「否」是不足以判斷他們的身份的。所以,我們其實只要能再多問一個問 題,就很容易能確定他們,但國王的規定並不允許。但是,國王您的規定有一個明顯的漏洞,您的問題只是說他們只能回答「是」或「否」,但並沒有規定他們只能 回答一個「是」或者一個「否」,所以,我可以巧妙的安排問題,讓他們回答很多「是」,很多「否」,這樣,就和問很多問題一樣了,比方說,我可以問他們: 『如果太陽是從東方出來的請你們先回答一個「是」否則請先回答一個「否」,如果第一個人是誠實的人,請再回答一個「是」,否則請再回答一個「否」,如果第 一個人是說謊的人,請再回答一個「是」,否則請再回答一個「否」…」國王打斷了他的話:「先停停,真是亂來,你不要在繼續讓費大家的時間了,你犯了很大的 錯誤,首先呢,我規定他們只能回答「是」或「否」,並不是規定他麼可以回答,「是」或「否」或「是,是」或「是,否」或「否,否」這類由「是」或「否」所 組成的有限數列,所以,規定並沒有漏洞,這是第一點。」

  國王繼續說:「第二點,回答很多「是」或「否」,和問很多只能回答「是」或「否」的問題並不一樣,由於你問的只算一個問題,說謊的 人,只要在一連串的「是」、「否」中,有一個騙你,就算說謊。但是呢,如果是分開來問,則必須每一個答案都與事實不同,才能算是說謊。這一點,就好像有五 個選項,沒有部分給分的多重選擇題,和五題是非題的差異是一樣的。再來了,最後一點,你的問題太長了,回答的人要花很多時間才能聽懂題目,你不要忘了,等 他們聽懂題目,說不定早就超過時限了,不要忘了,你們剩的時間不多了,現在止剩下一個時辰多一點而已了,等你的頭被砍了,他們才回答,你也沒有辦法做出判 斷了。」

  國王換了口氣繼續說:「我最討厭有人浪費我的時間了,所以,來人啊,立刻把他拖出去砍了。」

  就這樣,應徵者又少了一個。ㄈ和ㄉ當然沒有因為競爭者變少而高興。不過呢,競爭者變少對他們不見得有利,但是答案的可能性變少了,卻有利於他們思考(或者放棄答題的希望)。

  時間就這樣一分一秒的過去了,就在剩下最後的十五分鐘的時候,ㄈ高興的大喊:「我知道了!」

  究竟ㄈ的解答是什麼?真的正確嗎?還是會步上其它答題者的後塵?且待下回分解。

2000年6月12日 星期一

誠實國之謎 (1)

很久很久以前,有一個叫做誠實國的地方,他的鄰國則為說謊國,顧名思義,誠實國的國民都只會說真話,說謊國的人,都只會說謊話。雖說兩國的習俗是如 此不同,但兩個國家卻是相當友好的,畢竟只會說假話和只會說實話的人,相較於其它那些有時說謊有時誠實的人,都算得上是單純的。

  誠實國的國王很有錢,而且有一個很漂亮的女兒,雖然國王的女兒不是隨隨便便可以見到的,但在誠實國的好處就在這裡,我們不用擔心有什麼謠言。

  算一算國王的女兒也該到了適婚年齡,為了挑一個好一點的女婿,誠實國的國王於是舉辦了一個公開徵婚。附近各國的王公貴族,以及本國的青年才俊,紛紛前來參加。

  想來參加的人雖然成千上萬,但實際到場卻也只有寥寥十數人。一來本國的青年需要通過初試,有名額限制。二來國外來的嘉賓,只要稍微笨一 點的,都在通往誠實國和說謊國的許許多多叉路上,因為在問路時,無法分辨路人是誠實國還是說謊國的人,因而誤入歧途,來不及參加徵婚,運氣差一點的,甚至 成為野獸的晚餐了。

  總之,這十幾個人都是一時之選,也有幾個鄰近強國的王子,要決定誰可以娶公主,必須要有客觀的標準,依照誠實國的傳統,要能解答國王出的難題。

  國王拍了拍手,從旁邊進來了三個人,站在大廳的中央。國王於是說了,這三個人,一個是誠實國的人,總是說真話;一個是說謊國的人,總是 說假話;另外一個呢,有時誠實有時說謊,總之問他什麼問題,他都隨便回答。不過呢,他們誰誠實、誰說謊、誰隨便說,我們不知道。現在呢,如果讓你問他們每 個人一個問題,他們只能回答「是」或「否」,你只能藉由他們回答的答案來判斷他們的身份。你要怎麼問,才能確定他們的身份?

  誰能解得又快又好,我就把女兒嫁給誰。

  馬上呢,就有幾個人搶著回答,但顯然沒怎麼經過大腦,答完之後就被推出去斬首了。

  他們這些錯誤的方式,這裡就不浪費篇幅介紹了,總之呢,如果你還沒有看過和想過這個問題,不妨先暫停一下,花一點時間來想一想這個問題,等確定自己真的想過這個問題之後,再繼續看下去。下面呢,也會多空白個幾行,堅定你自己想一想的決心。


  在幾個人被砍頭之後,場面開始冷靜了,有的人埋頭苦思,有的人低頭不語,也有一些人,自知解不開,偷偷的溜走了。

  終於,也是應徵者之一,誠實國內一個素以研究數學聞名的老先生,打破沈默,站了出來。國王就說了:「久仰夫子之名,不知夫子有何高 見?」,老先生清了清喉嚨,說道:「不妨設此三人為集合 P={A,B,C},他們的身份誠實、說謊、隨便,為集合 Q ,則我們想求的解答可能有 #Q*(#Q-1)*(#Q-2) 種可能,又設「是」,「否」為集合 S,那他們三個人可能的回答可視為 SXSXS,又不妨假設我的第一個問題稱為 q1 …」

  「等一等!」從小數學一向不好的國王,聽到一大堆變數名稱,實在受不了,只好打斷老先生的話,「你這樣 P 啊 Q 啊的,朕實在聽不下去,能不能講白話一點?」

  老先生嘆了口氣,說道「好吧,草民不妨這樣講,這三個人的身份,可能性很多,我們計算一下可知,總共有六種可能性,這點想必陛下也很清 楚,如果陛下還不瞭解的話,可能對於排列組合之學要多加涉獵了,另外如果,可以的話,草民認為可將排列組合之學,加入敝國的國民教育課程之內,期使國…」

  國王又打岔了,「排列組合之學,朕還懂一點,不要講題外話。」老先生繼續說道:「我們所問的每個問題,都有「是」、「否」兩種,可能 的答案,總共問三題,所以,可能的回答有 2x2x2=8這麼多的可能性,但由於其中有一個人會隨便回答,所以不管我們怎麼問,都可能出現兩種回答的情況。如果我們能解答這個問題的話,那必須要能 提出一種問法,使得那三個人,只要身份不同,就會有不同的回答這樣,我們才能以回答的狀況,來決定他們的身份,但是一種身份可能性,會有兩組回答,所以我 們必須要有 6*2 種回答,才足以區分使用者的身份,但是呢,可能的回答只有八種,所以,不管如何問,至少一種回答,我們無法區分三個人的身份。」

  國王終於沒有打斷老先生的話,聽完了他的解答。這時,大廳內的其它應徵者,有的點頭稱是,有的則恨自己怎麼沒有早一步往不可能有解這方面想。

  國王說:「雖然說,朕還是不是很懂,但你的意思是,這個問題沒辦法解答?」

  老先生回答說:「草民正是此意。」

  究竟老先生的解答是否正確呢?難道公主真的就要嫁給這個老先生了?欲知後事如何,且聽下回分解。並且也可以利用這個時間自己驗證一下老先生的論點是否正確。

*註:這個題目跟一般流傳的題目:「誠實、說謊、隨便說三個人,問他們三個問題是非題來分辨誰是誰」不太一樣,因為這個故事裡的題目限制一個人只能問一個題目。這個一般流傳的題目,當然是有解答的,而且思考的過程還挺有趣的,讀者如果還沒見過,不妨也體會一下。

2000年6月11日 星期日

五十年不變


中共說過,台灣如果接受一國兩制,可以讓你五十年不變。這是一個相當有趣的問題。五十年之後,這些目前的政治決策者還有行為能力的話,那我們的 醫學一定有了長足的進步了。我想這些政治上的決策者,大概不會考慮醫學有長足進步的可能性。那五十年的意義就很明顯了,他的意思是說,台灣的人民,歸順我 吧,你還是可以繼續保有你的現在的財富和安定的生活,如果不歸順的話,就很難說了。對於那些目前年紀還輕的台灣同胞們,很抱歉了,五十年之後,你可能還不 到七十歲,如果剛退休就被抓去勞改,那你要怪罪中共領導人或是那些台灣的老人們,隨便你了。反正那時的中共領導人早已不知換了幾代了,台灣的老人也不知道 跑到哪裡去了。

事實上,假定這個條件有影響了台灣方面的決定,那就表示台灣人替後代子孫決定了一個自己不想要有的生活,換取保持自己生活的權力。
另外一點,提出這個條件的同時,中共等於也承認了,沒有人會喜歡變成像他們一樣的生活方式,也就是,承認他們是比較不好的。也就是如此,五十年不變也才能成為一種福利。
如果中共信守承諾的五十年不變,那也表示名義上的統一中國了,但是實質上卻得五十年之後才能完成。中共方面顯然覺得名義比實質重要,卻又希望台灣方面會覺得實質比名義重要。
五十年不變只是兩岸思想差異的冰山一角而已,想在談判桌上完成兩岸和談在這十年是很難的,之後,不斷的換人接班之後才有可能。
那兩岸統一的可能性有沒有呢?統一的可能性看來只有中共佔領台灣一途是最有可能的,但如果中共方面聰明一點的話,是有其它可能的。其實 作法也很簡單,充分的表達善意即可,不再打壓台灣在國際舞台上的空間,聲明放棄武力犯台,主動積極的做兩岸文化財經交流,並且提供兩岸交流的優惠。雖然還 是要常常放話,提醒台灣,還是希望台灣回歸祖國懷抱,但講完之後,也一定要補充一句,不強迫,尊重台灣人民的意願。
這就有點類似比較進步的傳教手法,告訴你,我是來傳達福音的,我是要幫助你的,尊重你的意願,而不是威逼利誘,信神者得永生、異教徒下地獄。就我個人身為被傳教的對象而言,對於表現善意的前者相當難以抵抗,而後者呢,只會更加堅定我不信的意願。
以此,挾中共地大物博泱泱大國的文化、財經入侵,成功率還比較高一點。
有趣的是,這些作法反而是台灣所希望的。而且台灣也知道太陽與北風比賽脫外套的故事。
但問題是,中共要如何擺平中共境內高漲的民族主義(當然這可能是他們刻意造成的)?另一個問題,如果這樣,中共還是中共嗎?

2000年6月2日 星期五

有機械而後有機事

下一句是有機事而後有機心,就是數千年前那個不願意使用木頭作的工具來讓種田更省力的老人說的。

  這個故事讓我印象深刻,所以碰到之前慧芳在 Kaffee 討論區提到有關排斥太文明又複雜的的東西的時候,會自然的聯想到那個故事。

  昨天,在中國時報上又看到了這個故事,原出自〈天下〉篇,那個看到辛苦提水灌溉的老人,好心建議他使用利用槓稈原理省力的木製機械的 人,就是子貢,只不過那個老人說,他早就知道這種機械了,只是不願意使用,還用「有機械而後有機事,有機械而後有機心」來訓勉子貢,然後子貢也感到很羞 愧。

  對於這個故事提供的意識型態,一直不太能理解,而且,就我能理解的部分,也不太贊同。不過呢,這次看到這個故事,卻聯想到了一件蠻正面的往事。

  事情發生也沒多久,在部隊中,像我這樣的生活習慣和態度,難免大錯不犯、小錯不斷,小錯的結果就是罰勤了,罰勤也沒什麼,大部分都躲得掉,但總也有躲不掉的時候。

  有那麼一次,是要去清水塔,清水塔是一件苦差事,但那時因為已經是老兵,可以理所當然的指揮新進弟兄來處理就行了,雖然,我們這些所謂 的資深弟兄,也沒有清過這個水塔,唯一知道的資訊也只是,清水塔不太輕鬆而已。軍中就是這樣,反正就是新兵聽老兵的,老兵也得聽班長的,帶頭的人不管懂不 懂,都要裝作經驗豐富的樣子。

  於是,就在中士班長的命令下,一堆人扛著哈雷抽水泵,到頂樓的水塔去了。哈雷的作用就是要把水塔的水抽掉,以利清掃的工作。

  在抽水之前,先要把水塔進水馬達給關閉,這個工作,主要是由我們隊本部的人來負責,畢竟比較瞭解隊本部大樓的開關位置。雖然不太難,隊 本部的新進弟兄似乎也找不到開關,我只好自己跑去關了。接下來抽水的動作,我就無能為力了,哈雷抽水泵的啟動,還是交由外船單位的弟兄來專業分工為佳。

  哈雷抽水泵的啟動,由於某次小火災的歷史因素,列為外船單位的驗收項目之一,所有外船單位的弟兄,都要會操作哈雷,才能完整的放假。 這裡的外船弟兄,也不乏通過驗收的,但身為負責國軍基層訓練業務的小訓練幹事,深刻的瞭解國軍訓練的成效如何。事實上,之前不久的九二一停電期,我本身就 全程目睹了好幾個軍官、士官長、上士、中士手忙腳亂的花了一個半小時才啟動了哈雷,來取代水塔的抽水馬達。

  果然,時間一分一秒的過去了,在不斷的嘗試下,哈雷始終沒有發動成功,比較資深的弟兄,最多也只能讓哈雷多叫幾下。就這樣花了快一個 小時,仍然沒有什麼進展。我看著這樣的狀況,覺得不是辦法,就建議說乾脆先把水龍頭打開,把水流掉好了,也許要花個一兩個小時,總比在花一兩個小時啟動哈 雷,還不知道能不能成功,要好一點。

  這個辦法比我想像中的要好一點,十分鐘之後,水已經剩一半了,當然這不表示二十分鐘後,水會流完,不過二十分鐘後,水已經流到人可以進去清潔的深度了。

  這個故事和莊子說的故事,可以互相驗證,有了哈雷這個機械,就有了啟動哈雷、使用哈雷的一堆麻煩的技術,由於知道如何使用哈雷抽水,也 見識過哈雷強大的能力,所以會有想用哈雷來抽水塔水的想法;由於有了這個想法,反而忽略了把水放掉的簡單辦法了,也平白浪費了一個多小時的時間,然後還要 把哈雷搬上搬下的,浪費體力。不過,也還好是在軍中,算是能夠有效的把一個已經浪費掉了的時間再浪費一次而已。