正文 第七章:應用數學的故事(2 / 3)

那麼,普通密碼究竟是如何破譯的呢?為了這個問題,我們可假設有一種,可以把數字譯成英語的密碼。

例如,以1~26這26個數目字順次代表A~Z的26個字母,用這26個數目字組成密碼來傳遞信息。例如:

9,14,20,5,18,5,19,20,9,14,7,13,1,20,8,5,13,1,20,9,3,19就表示INTERESTINGMATHEMATICS譯成中文就是:有趣的數學。

然而,為了使密碼不易被別人識破,有時情報員都相應地加上(或減去)同一個正整數,並且在密碼的結尾寫上處理的方法(或用其他方法),通知密碼的接收者。接收者在收到密碼後先將它還原,然後再譯。例如前麵的密碼可以改寫成:

19,24,4,15,2,15,3,19,24,17,23,11,4,18,15,23,11,4,19,13,3N+10密碼的最後“N+10”表示原來的數字每個都相應地加上了10。密碼的接收者在接到密碼時應該先將每個數都相應地減去10以後再譯。這裏特別要指出的是,在處理密碼時,如果原來的數加上10以後大於26,要將加得的結果減26。如上麵密碼裏原來的數20加上10後為30,但寫在密碼裏應是20+10-26=4;而在譯密碼時,4-10=6是一個負數,當所得差為一個負數時則要將這個負數再加上26進行還原:4-10+26=20。

這樣發出的密碼,有時還比較容易破譯。有沒有更安全的辦法,使發出的密碼更不容易破譯呢?

比如,把第1,3,5,7……個數字加上10,把第2,4,6,8……個數字減去5。要破譯這個密碼,概率已是很小了。密碼的接收者收到密碼時,把5,……個數字相應地減去10,把第2,4,6,8……個數字加上5,即可還原。

一天,某軍事組織收到了三個情報組發來的密電,電文如下。你能把這三個組密碼譯出來嗎?

(1)2,16,13,2,26,9,17,22,17,1,20,13,9,4,17,22,15,14,23,26,1,16,9,22,15,16,9,17,2,23,21,23,26,26,23,5N+8(2)7,21,7,17,6,7,1,13,19,10,2,18,25,9,3,25,18,16,7,14,18,13,18,6,3,11,13,12N-2注:N+7,指第1、3、…15個數字由原數7所得,S-4指第2、4、6…個數字由原數減去4所得。

答案是:

(1)ThetrainisleavingforShanghaitomorrow.(這列火車明天將開往上海。)(2)IwishIcouldtakeatriptothemoon.(我希望我能到月亮去作一次旅行。)(3)Weshallcomeatsix.(我們將於六點鍾來。)數學模型你一定不會對模型這個詞陌生吧!比如我們在博物館會看到飛機模型、輪船模型、汽車模型。模型其實是對客觀事物的一種模擬,把真實的東西按一定的比例仿製出來,使人們能清楚地了解事物的全貌。除了機械模型以外,還有生物模型、地質模型等等,可以說生活中存在的事物都可以做成模型。

上麵我們提到的都是客觀實物的模型,那麼數學模型是怎麼回事呢?數學模型是指用數學的方法來構築的模型,也就是說把複雜的實際問題用數學的式子表示出來,從而模擬問題的發展變化。

模型是對實際事物的一種簡化,實物模型與數學模型都是如此。如果不作簡化而想把現實的問題用數學式子表達清楚,幾乎是不可能的。例如在物理學上講火車的運動過程,認為火車是勻速行駛的,即它的速度保持不變,從而計算路程與時間的關係。

但實際上火車不可能始終勻速前進,火車的起動、進站都要有速度上的變化。在認為火車是勻速前進的前提下,我們得到了一個式子:路程(S)=速度(V)×時間(T)。

如果我們考慮了火車起動後速度是一點一點加上去的這一因素,而且認為這個加速度(a)是不變的,那麼我們可以細化上麵的數學公式,得到S=v0t+12at2,其中v0代表初速度,如果火車開始是停止的,認為v0等於0,t是時間,a是加速度。

可見上麵二個數學模型雖然都反映了火車行駛這一實際生活中的問題,卻有較大的差別。第一個模型粗糙一些,第二個模型精致一些。這就是對實際問題簡化程度不同的結果。

那麼是不是考慮得越細致,模型就越好呢?也不一定!雖然考慮得細致會更接近於實際情況,但是模型的複雜程度也會隨之大大提高,給模型的使用帶來很大困難,可能反而變得不適用了。所以一個好的數學模型,既要準確地反映實際情況,又不能太複雜。

建立一個適當的數學模型會給我們的日常工作,生產等各方麵帶來極大的方便,而要建立一個好的數學模型,除了要具備紮實的數學基礎外,還要對所研究的問題有比較深入的了解,是很不容易的。

高效安排的運籌學春節包餃子是中國民間習俗。包餃子的程序很多:洗菜切菜拌餡(約20分鍾),和麵醒麵(即將麵團蓋上濕布放一會兒)(約20分鍾),包餃子(約30分鍾),燒開水(約10分鍾),煮餃子(約10分鍾)。如果按照上述順序,共需90分鍾。有經驗的人不這樣幹,他先和麵,在醒麵的同時去做餡(節約10分鍾),然後在包餃子的當中燒開水(節約10分鍾),這樣隻需70分鍾就可以吃到餃子了。將做一件事情的幾個過程合理安排,求得最佳效果,叫“運籌”,出自成語“運籌帷幄”,源於古代作戰時策劃戰略,部署兵力。

樸素的運籌思想可以追溯到古代,中國古代齊王與田忌賽馬的故事就體現了運籌思想。

“運籌學”作為新興的應用科學,最早出現於英國。1938年在抵抗德國飛機的轟炸中首次使用了雷達,但是雷達與防空戰鬥機之間並未形成有效的防空體係,於是英國空軍邀請數學家幫忙,用數學方法研究雷達警報和控製係統、防空戰鬥機的配合布置,並對某些未來戰鬥結果進行預測,立刻大見成效。1942年,美國因為運輸船頻遭德國潛艇襲擊,也請來了數學家,數學家根據潛艇都是單獨行動的特點,建議擴大運輸船編隊、適當配備護航艦隊。這一招果然見效,大大減少了運輸船的損失。戰後工業生產的綜合化和專業化程度加強,在管理上提出許多深層問題,運籌學開始滲入工業部門,借助建立數學模型,尋求綜合性最優化安排,為係統決策和定量分析提供數量根據,以達到最佳效果。計算機技術為運籌學創造了快速發展的條件,利用計算機進行模擬運行,是廣泛采用的數字仿真技術。運籌學的產生和發展充分反映了現代科技發展中各學科交叉滲透和新學科不斷出現的趨勢。

模糊數學人類認識事物,開始時總是模糊的,逐漸才達到清晰,比如對數量的認識,原始社會人類並不認識“數”,通過比較知道有多少之分。而多又有許多、很多、非常多等模糊不清的概念。後來有了數,才能清晰地區分數量,準確地進行計算。數學上一直追求“精確”,它的答案應該是“是”或者“不是”,二者隻居其一。然而世界是複雜的,人們認識事物也不是任何事都需要準確無誤,也不一定都能夠準確無誤;生活中經常有“很年輕”、“大部分”、“胖子”等等不能明確表示狀態範圍的模糊概念。有意思的是,這些模糊概念通常並不妨礙對某些事物的判斷,多年不見的老朋友相遇時很快就能認出來,就是憑借一些模糊特征的幫助。可是要讓一台計算機認識這個人,就要先輸入許多條這個人麵部特征的信息、數據。如果此人有一條信息(如胖瘦、皺紋)發生變化,計算機馬上就翻臉不認人。再如每個人的聲音都是不相同的,如果計算機隻能準確地識別某一個人的聲音,那麼要實現普遍的人機直接對話,在實踐上是不可能的。怎樣才能把這些信息模糊化,使計算機根據不甚確切的信息就可以判斷這個人是誰,或能夠接受所有人的口語指令?模糊數學就是研究和處理模糊性現象的學科。

模糊數學打破普通集合論中元素對集合的絕對隸屬關係,在“此”與“彼”之間考慮中間狀態,運用模糊邏輯和模糊控製將模糊概念以準確的形式表現出來。1965年美國加利福尼亞大學教授查德發表《模糊集合》,為模糊數學鋪平了道路。在模糊集合中,給定範圍內元素對它的隸屬關係不一定隻有“是”或“否”

兩種情況,而是用介於0和1之間的實數來表示隸屬程度,還存在中間過渡狀態。比如“老人”是個模糊概念,70歲的肯定屬於老人,它的從屬程度是1,40歲的人肯定不算老人,它的從屬程度為0,按照查德給出的公式,55歲屬於“老”的程度為0.5,即“半老”,60歲屬於“老”的程度0.8。指明各個元素的隸屬集合,就等於指定了一個集合。當隸屬於0和1之間值時,就是模糊集合。模糊數學的產生是科學技術與數學密切結合的必然結果。模糊數學的研究正在世界各國迅速發展,廣泛應用於家用電器、高精度過程控製、宇航係統、機器人等人工智能控製領域。用模糊數學排除假警報的克星有意的假警報,在軍事上有時是被作為一種謀略手段來戰勝敵人,有時候也用它來提神靜氣,振奮精神。前者運用較為頻繁,後者用的就不多了,美軍在一次戰鬥中就曾使用過。那是1942年10月26日,美軍特遣艦隊與日軍在聖克魯斯打了一場大海戰。在這次遭遇中,美軍損失慘重,旗艦也受了重傷。美軍士兵在這次海戰中被日軍打怕了,他們時刻擔心日軍飛機和潛艇會突然出現,戰鬥情緒十分低落。看著自己的這些驚魂未定的部下,艦隊指揮官十分憂慮,決心盡快恢複士氣。

一天,天色昏暗,烏雲滾滾。突然,艦上的警報全響了。艦隊指揮官通報說,艦隊右側發現了敵人潛艇,要大家做好迎擊的準備。士兵們慌作一團。正當官兵們十分恐懼地等待著敵人的攻擊時,艦隊的警報解除了。廣播裏宣告說這是一場誤會,剛才發現的不是敵人潛艇,而是一隻鼠海豚。聽到這個消息,士兵們哄然大笑。通過這次玩笑,士兵們低落的士氣一掃而光。

幽默是一種力量。這個小小的玩笑,不僅鬆弛了大家的恐懼及緊張的心理,也使士兵們看到了自己與男子漢氣概不相稱的風聲鶴唳、草木皆兵的情緒。

無意的假警報後果往往不堪設想。1980年6月,美國高級軍用電子計算機兩次發出警報:蘇聯的洲際彈道導彈向美國飛來了。這個權威性的“發言”,誰也不敢等閑視之。於是,地麵上一片驚慌,將近150架B-52轟炸機的駕駛員,立即開動了引擎,等待信號起飛,眼看一場大打出手的場麵就要來臨。可是,信號始終沒有發出。事後檢查,是一個集成電路發生了故障,計算機計算錯了,發出了假警報。

電子計算機正在多方麵代替人的繁重勞動。近年來,它的存儲容量越來越大,計算速度越來越快,準確性越來越高,功能越來越完善,甚至已發展到能識別圖像、分辨聲音和嗅認氣味。導彈和宇宙飛船的跟蹤和控製,要是沒有計算機幫忙,事情就很不好辦。另外,它工作起來又是多麼任勞任怨,埋頭苦幹。叫人最不放心的,是它的可靠性,萬一某一個或者幾個元件、電路發生故障,計算機就會“亂彈琴”,發出荒誕的結論或者古怪的信息。

據報導,在比利時布魯塞爾召開的一次世界博覽會上,電子計算機承擔了辦理飯店座位分配的任務,因機器故障,竟使幾萬客人找不到位置吃飯,鬧了一個大笑話。

怎樣進一步提高計算機的可靠性,當務之急是提高元件質量,使機器少出毛病。從長遠來說,計算機應該“再學習”,向人腦學習。

人的腦子有100多億個神經元,每年約有800多萬個神經元的功能失調,累計起來,一個活到80歲的人,就有7億個神經元不能工作,約占人腦總神經元的十分之一。可是,這並不影響人的正常思維。要是計算機的電子元件和電子線路,能像人腦的神經元和神經係統那樣,即使一部分元件發生故障,也能保證計算機正常工作,可靠性就會大大提高,不致出現前麵說的笑話了。你也許會說,那我們就按人腦結構設計計算機好了。談何容易。別的不說,神經元互相之間是怎樣聯係的,現在還無法說清楚。人對自己腦子的結構還了解得很不夠,又怎樣能著手設計人腦式的計算機呢?

在信息密度和存儲容量方麵,計算機也要向人腦學習。現在計算機存儲裝置的信息密度相當高。可是,人腦的信息密度和記憶容量,卻比計算機高億倍。

再有,計算機的進一步微型化是有光明前途的。1964年,美國的第一台計算機是一個重30噸、占地170平方米的龐然大物;現在采用固體線路,安裝密度可達104元件/厘米3,真是進步很大。可是,人腦每立方厘米有107個神經元,是微型機的1000倍。