2008年10月25日 星期六

Assume Nothing(二)

電腦業有稱為‘tester’的職位,他們的職責便是要試驗系統,從不同的角度和方法測試一個系統。如上文提到賭場的問題,他們很明顯就是沒有測試過系統。否則,‘tester’不單要反轉插入現金券,還應把現金券弄到不似‘現金券’、劃花、偽造,插入一半便拉出等等……總之,就是要盡量試驗可能出現的情況。而不會假設每個賭客,都必會用同一標準方法,插入現金券!以前,若有吃掉現金券而不入帳的情況,就是大醜聞,但現在……

回到‘Assume Nothing’,其實‘Assume Nothing’是不可能的。現實上,我們祗可以‘Assume Nearly Nothing’,在邏輯學的角度,Assume的東西便越少越好。 這些不能不假設的東西便稱為axioms(公理)。Axioms就是無法被證明或決定對錯,但會被認為是不證自明的一個命題。而其他命題,便是基於這些Axioms的演繹結果。(註)

但這就與一般人的思考模式完全不同。一般人大部份時間用的都是直觀(intuition)思考法。直觀其實就是基於perception(知覺),也就是經驗。而由經驗便會總結成一些假設。例如,若有一天,你行一條路可以回家,當這動作重覆一百幾十次都成功,人便會假設,行這條路必然可以回家。但一百次都可以回家,就代表第一百零一次就必然可以嗎?若一百次可以保證,那又為甚麼不是九十九次呢?

回到我太太在數學期刊看到的舊問題新應用,這個舊問題就是,0和1之間,是否會有其他的整數存在?直觀上,當然沒有。整數便是0,1,2,3……等等,0和1之間又怎可能有其他整數存在呢?但是,邏輯就不是直觀,更不是常識。所以,愛因斯坦便有‘常識,祗是人十八歲前的偏見’的金句。

數學絶不接納直觀,更不接納常識。任何數學證明,都必需經過嚴謹的邏輯推論,而唯一可以假設的,便是公認了的少量axioms。並沒有axiom說0和1間沒有整數,那麼便不可以直接說沒有!而必需經過一番的邏輯演繹和證明。

文章的作者就是說,若你覺得這個題目無意義,那麼,你最好還是不要去修純數學或邏輯學。而我再加一句,更不要想成為頂級程序員了。

當然,不懂邏輯學或頂級電腦編程,天就塌下來嗎?事實上,邏輯學祗適合極少數的人去修習。不懂邏輯,一樣可以活得開心快樂。邏輯學更和‘搵食’無關,或更可能是‘負相關’,即邏輯學的修為越高,‘搵食’能力便越弱。因為‘搵食’是講常識的。現時很多大學的電腦系,教授商業知識就遠遠重於數學,這就是要訓練學生有‘常識’而不是有‘邏輯’。在香港投考政務官(AO),同樣是要求有‘常識’,至於有沒有‘邏輯’,那就……

事實上,若一個高官懂‘邏輯’,就可能痛苦萬分,甚至弄到‘精神分裂’!所以,若你想當高官,又或要賺大錢,就千萬不要學習邏輯、數學、電腦和科學了!又或,讀甚麼都不要緊,反正都是考試完畢便全忘記!

很多名咀都常常說邏輯,大部份時間,我都祗可一笑置之。猴子講莎士比亞,除了笑,還可有甚麼反應呢?

註:其實數學界對axioms體系都有極多的懷疑和挑戰。但我不打算討論這個了,因看得懂的人用不著看我的文章,反之亦然!

2 則留言:

Shinryu 提到...

從經濟學角度解釋,短期成本因假設減少而增加,長遠就不用說了...但那個製造商可能已逃之夭夭,早就不用理會甚麼售後服務了

中年程序員 提到...

完全同意,事實上,現在很多經營者,便越來越短視。好一句‘逃之夭夭’。

但是我需補充,就算生產商做不足功夫,賭場都不能免責。按電腦界的慣例,如賭場這類大機構,必需在內部組成驗收小組,測試和驗收機器。

再者,政府的監管機構亦有責任。我無太大興趣去研究澳門的賭博法。但以美國大部分的州為例,所有這些賭博機器,都要經政府驗證,政府在驗證後,便會對儲存有關定件(firmware)的唯讀記憶體(Rom)加上封條,以防賭場作弊。使用未經驗證的機器,是嚴重罪行!

網誌存檔