我經(jīng)常去自提柜取我網(wǎng)購的東西。自提柜的取件流程如下:買的東西到了后,物流系統(tǒng)會向你的手機發(fā)送一個取件碼(例如D333EA),然后你到自提柜那里輸入取件碼,就可以把你買的東西取出來。

這套流程大家都已習以為常,但是有沒有人想過這個問題:一個大的自提柜有幾百個柜子,如果我根本沒買東西卻在自提柜前反復試,或者我按取件碼時按錯了,會不會也可以碰巧打開一個柜子把別人的貨物拿走?

圖片來源:圖蟲創(chuàng)意

答案是否定的。為什么呢?我們可以用數(shù)學來回答。

如果你能不吃不喝站在自提柜前24天,并且不被人帶走

假設一個自提柜有1000個柜子,每個柜子都對應一個長度為6位的取件碼。每個取件碼只包含數(shù)字0~9以及字母A~Z。如果你隨機輸入取件碼,那么你輸入多少次,可以打開一個柜子?

這是一道概率題。首先我們知道,自提柜的取件碼都是近似隨機產(chǎn)生的。因此,6位取件碼中,每位取件碼的可能性有36種(10個數(shù)字+26個字母),那么輸入一次取件碼的正確概率為1/(36^6)。一次就能打開1000個柜子中的一個的概率為1000/(36^6)。

如果你對這個數(shù)字不敏感,那么我們來計算一下,輸入多少次才能讓你有1/10的概率打開其中一個柜子。這個次數(shù)n的計算公式是:

計算得到n≈210720,大概是21萬次。假設10秒輸入一次取件碼,那么你需要不吃不喝地站在那里試超過24天。注意,這還只是1/10的概率。

用數(shù)學思維看自提柜的打開概率

如果拋開上面的復雜計算,只用一句話來回答為什么隨意試很難打開儲物柜,那就是能夠打開柜子的取件碼,分布得太稀疏了。解釋一下分布稀疏的含義。假設你面前有一些柜子,每個柜子都有各自的取件碼,并且取件碼是在給定范圍內(nèi)隨機產(chǎn)生的。

為了讓讀者們了解得更清楚,現(xiàn)在我們看最簡單的情況,假設只有10個柜子,取件碼只有1位。那么取件碼必然在那10個數(shù)字以及26個字母之中。我們可以想象一條直線,這條直線上有36個點(見圖6-1),每個點對應一個數(shù)字或字母。那么能打開這10個柜子的取件碼(在圖中為10個大圓點)就是這條直線上36個點中的10個。

從圖6-1中可以看出,隨意選一個點是容易選中某個大圓點的。這也意味著,比較容易出現(xiàn)隨意試一個取件碼就可以打開某個柜子的情況。

假設取件碼有2位,我們把第一位取件碼視為包含36個點的橫軸,第二位取件碼視為包含36個點的縱軸。因此所有可能出現(xiàn)的取件碼就都位于一個二維平面的交叉點上,如圖6-2a所示。圖中也顯示了隨機生成的10個能夠打開柜子的取件碼對應的大圓點。我們可以看出,此時,這10個點的分布十分稀疏。如果隨意試很難選中大圓點的位置。

如果取件碼變成 3 位,那么取件碼就表現(xiàn)為三維空間的點。我們把所有可能出現(xiàn)的取件碼對應的點,以及隨機生成的10個能夠打開柜子的點(大圓點)顯示在圖6-2b中??梢钥闯觯@10個點變得更稀疏了。

我們可以想象,因為真實的取件碼有6位,所以每個取件碼都是六維空間中的一個點,能夠打開提取柜的取件碼的點,會分布得十分稀疏。猜取件碼就好像大海撈針,幾乎不可能靠運氣做到。因此,稀疏性才是取件碼具有安全性的關鍵。

數(shù)學思維告訴我們,世界是稀疏的

數(shù)學領域?qū)Α跋∈栊浴庇忻鞔_的定義,如果一個時間信號是稀疏的,那么這個時間信號大部分位置的值都是零。圖6-3a顯示了這樣一個稀疏的時間信號。

如果一個圖像是稀疏的,那么這個圖像的大部分像素值都是零(對應的顏色是黑色),圖6-3b顯示了一個稀疏的圖像。

我們來看一個現(xiàn)實中的時間信號:

現(xiàn)在智能手環(huán)普及度很高,它可以測量人們的運動情況,如圖6-4a所示。智能手環(huán)用加速度傳感器來收集人運動時手臂的加速度的原始信號,再處理信號并得到相應信息,包括走的步數(shù)、跑步的距離等。如果我們把加速度的原始信號顯示出來,那么其應該類似于圖6-4b。

這個加速度的原始信號看起來和圖6-3a完全不同,也并不稀疏。

然而,我要告訴你的是,雖然這個加速度的原始信號看起來并不稀疏,但如果用傅里葉級數(shù)的方式來表達,它就是稀疏的。(見圖6-6)。

我們可以看出,在用來表示原始信號的所有正弦波中,只有少數(shù)幾個正弦波的頻率顯得高一點,其他正弦波的頻率都非常低。這意味著除了少數(shù)正弦波,大部分的正弦波前面的系數(shù)幾乎等于零。

也就是說,這個時間信號的頻域表示是稀疏的。

除時間信號之外,我們?nèi)粘I钪械膱D像其實也是稀疏的。其原理和智能手環(huán)很類似,雖然圖6-8中的原始圖像并不稀疏,但是我們可以借助一個在數(shù)學上被稱為奇異值分解的數(shù)學工具,將這個圖像拆解成為一系列非常簡單的圖像的疊加。等式右邊的這些圖像非常簡單,如果仔細看一下,就可以發(fā)現(xiàn)這些簡單圖像都由橫條和豎杠組成,但是不同的簡單圖像中,橫條和豎杠的位置不同。

我們可以說,每一個簡單圖像,都對應了原始圖像中的一種模式。

雖然原始圖像看起來很豐富,也不稀疏,但是我們可以只用少數(shù)的簡單圖像表示它。

可能有人會說,這樣表示有什么好處呢?好處主要體現(xiàn)在數(shù)據(jù)壓縮方面。

簡單圖像所需要的存儲空間比原始圖像小得多。通過這種方法,我們只需要把少量比較大的系數(shù)對應的簡單圖像和對應的系數(shù)一起存起來,就可以恢復原始圖像。這大大壓縮了存儲需要的空間。

所以你看,數(shù)學思維在我們?nèi)粘I钪须S處可見,稀疏就存在于我們所走的每一步路、所存儲的每一張圖像、所輸入的每一個取件碼里。很多看起來復雜的現(xiàn)象,背后所包含的規(guī)律其實是稀疏而簡單的,只要你學會用數(shù)學思維。

文章由科普中國-星空計劃(創(chuàng)作培育)出品,轉(zhuǎn)載請注明來源。

作者:北京航空航天大學副教授、博士生導師 劉雪峰

審核:華中師范大學數(shù)學與統(tǒng)計學學院 副教授 鄧清泉

來源: 星空計劃

內(nèi)容資源由項目單位提供