約瑟夫斯的問題 江銘輝 五夢網
西元370年左右。某人以海傑西普斯(Hegesippus)為筆名寫了一本書,其中有一則故事是這樣的:尤達巴達被羅馬人包圍時,希臘史家約瑟夫斯(Josephus)和友人及39位同胞共41人一起躲在洞穴裡,他和友人想繼續活下去,但是同胞們決心殺身成仁,也不願做羅馬人的俘虜。
圖1:41人,約斯夫斯和友人排在第16、31,躲過難關。
約斯夫斯和其友人既不能以少數反駁多數,只好佯裝贊同他們集體自殺的提議。正當要自殺時,約瑟夫斯提出一個辦法。建議全體排成圓圈,由1數到3,數到3的人便由別人把他殺死。最後剩下的一人自殺,大家聽了都表示贊同。
於是他想,機會來了,稍稍動一下腦筋,便把自己和友人排在第16和31的位置上(如圖1)。辦法進行後,同胞們一個個如願以償殺身成仁了,而約瑟夫斯的求生計劃也順利成功。諸如此類的問題,在西方一律被稱為「約瑟夫斯的問題」。
約瑟夫斯問題中最有名的就是「土耳其人和基督徒的問題」這是一個非常古老的謎語。10或11世紀的抄本中有這段故事,1484年尼古拉斯(Nicolas Chuquet)用法文所寫的書中,敘述這故事,其內容如下:
基督徒和土耳其人各15人同乘一條船,途中不幸遇到暴風雨,船觸礁了。在這種情況下,船長只有下令投十五人入海,才能避免沈船,他把全部旅客集合在甲板上。叫他們排成圓圈,由其中一人開始報數,數到9的人就被拋入海裡。不過這位船長別有心思,他把基督徒和土耳其人按下列順序排列,C代表基督徒(Christian),T代表土耳其人(Turkish)。
由於船長的巧妙安排,基督徒全部得救。圖2是排列的圖形,紅圓表示基督徒,黑圓表示土耳其人。
圖2:將32個人按下列次序排列,紅圓表示基督徒,黑圓表示土耳其人。
上述是西方人的問題,東方也有類似故事。
「立前妻之子繼業」是日人吉田光由所著「塵劫記」中的一則故事。敘述一個家庭有30個孩子,繼母有15人兒子,前妻亦留下15個孩子。有一天,這個婦人召集30個孩子,叫他們排成一個圓圈,由1數到10,每一個數到10的人便離開圈子,最後剩下的一人就是繼承家業者。於是孩子們便照著母親的辦法去做,沒想到前妻的孩子一個一個被踢除,其中一位就大聲抗議說:「這樣太不公平了,請先從我開始計數。」婦人聽這話也有道理,不得不答應他重新圍成一圈報數,這次婦人的兒子被踢掉去,她的計謀未能得逞。
這個故事可以用圖3表示,紅圈點代表親生子,黑圈點則代表前妻之子,依順時鐘方向由A開始計數,B就是最後留下來繼承家業的孩子(前妻之子)。
圖3:B是繼承家業的孩子,紅圈點代表親生子,黑圈點則代表前妻之子。
若將「土耳其人和基督徒的問題」和一立前妻之子繼業,比較,則趣味橫生。前者船長的謀略成功。但後者繼母的計謀未得逞,西方人對這位船長的策略頗有稱贊的味道,不過在道德觀念較嚴謹的東方人看來,實不敢苟同。
日本還有另一故事「西行的描」,出自「算法稽古圖會」(西元1831年),內容和「立前妻之子繼業」大同小異。敘述西元1186年,西行法師在鐮倉碰見源賴朝,源賴朝賜給他一隻銀做的貓。西行法師一出門,看見門外有孩子在玩耍。他想把這隻貓送給孩子,但孩子們個個爭著要;於是他想出一個辦法,叫孩子們排成一個三十人的圓圈報數,每數到20的人退出圈外,最後剩下的人就是銀銀貓得主。
西行的貓,是不是真實的無從考證,不過在日本西行法師確有其人。