謎之問題:溺水救人的最短路徑

2021-02-15 利維坦

利維坦按:這是一個求極值的問題,有心者不妨用三角函數試著解決這一問題,但這並不是本文最值得討論的地方。最為神奇的是:無論是光線、狗還是火蟻,都能得出最優解——大自然總能找到最合適的方式。當我們依靠數學工具進行換算的時候,大自然通過進化早已得出了答案。

文/Aatish Bhatia

譯/Anthony

校對/boomchacha

原文/nautil.us/blog/-to-save-drowning-people-ask-yourself-what-would-light-do

本文基於創作共同協議(BY-NC),由Anthony在利維坦發布

想像一下,你是個救生員,突然看見有人在水中掙扎呼救。一名認真負責的救生員,腦中想的肯定是如何儘快的把ta救上岸來。你雖然是個遊泳健將,但在沙灘上奔跑的速度更快。所以對你而言,怎樣是到達呼救者的最快的路程呢?這個由著名物理學家理察·費曼(Richard Feynman)提出的(奇怪的)問題,和光的傳播具有一定的相似性。儘管我第一次知道這件事是在10年前,但這個問題與光的行為的相似性給我留下了很深的印象。

圖源:Aatish Bhatia

 

你首先考慮到的是直線距離(路程A)是否是最短的。這確實是最短的路程,但並不是最快的。想想看,如果在沙灘上跑的更遠,那麼陸上路程會增加,水中路程會縮短。但因為你在陸地上奔跑的速度更快,所以在這種情況下,花費的時間可能會更少。

這樣的話,也許路程B是最快的?在所有選擇中,這條路線遊泳的路程最短。但B也不是正確的選擇。儘管你跑步速度很快,但是這條路線太長了,同樣會增加到達溺水者的時間。

正如你所看到的那樣,這個問題中陸上和水中的路程是需要我們去權衡的。正如費曼所說:「代表最短路程的路線中(A)水路過長,而水路最短的路線(B)陸上運動時間又太久,耗時最短的路線一定是這兩個因素的合理分配。」實際上,最快的路線是C,很明顯這是一條介於路線A和B選擇之間的路線。

數學系的學生們會用微積分解決這類最優化問題,但是救生員究竟會怎麼做呢?難不成他們會在腦中列出每一種可能,並用公式去計算最優解?我非常懷疑這一點,但我打賭他們最終的選擇一定是結合了長期的訓練和臨場的直覺。正如籃球運動員不需要知道拋物運動原理,就可以投出漂亮的罰球一樣。不知怎麼的,人不需要進行任何計算,便可以估計出複雜的數學問題(因為一些類似于洋流因素等的變量的介入,實際中用數學方法解決這些問題是更加困難的)。

你可能會問,這究竟與光有何關係?1657年,法國律師和數學家皮埃爾·德·費馬【Pierre De Fermat,同樣也是費馬大定理(Fermat’s Last Theorem)的提出者】,解決了光的傳播問題(費馬原理的當代解釋為:光在運動時,路程的微小變化並不會影響光運動的時間。在大多數情況下,光會選擇時間最短的路程。費曼的物理講義有更多細節)。他證明,當光從一點傳播到另一點時,總是會選擇耗時最短的路徑。這一現象奇妙的暗示著,當救生員想要儘可能快的到達呼救者時,要問自己光會怎麼做。

你也可以這麼理解,當你用雷射筆照向一碗水時,雷射也面臨著和救生員一樣的問題。光會以極快的速度穿過空氣,但進入水面後,由於與水分子的碰撞,光的速度會慢下來。這下你看到光會怎樣了吧?光會折射,正如救生員到達水域時的運動路徑一樣。

當你用雷射筆向一碗水中發射雷射時,你會發現光路出現了彎折,折射角可以通過斯奈爾定律(Snell’s Law)進行計算。圖源:Matt Kuchta/CC-BY 

通過斯奈爾定律,你可以準確計算出光線發生偏轉的折射角,這一角度與光線穿過的介質,到達分界面時的入射角度有關。雖然公式準確無誤,但並不能解釋光為何會發生偏折。

費馬看待這件事的角度不同。他問道,當光傳播的時候,面對那麼多條可選的路徑,對於任何給定的終點,它會不會總是選擇時間花費最少的路程呢?這一現象意味些什麼?當得出這一猜想的結論後,他發現這與斯奈爾定律是相符的。費馬的猜想完美的印證了所觀測到的光的運動。光奇特的行為背後有個合理的解釋——一種尚未被發現的方法來解釋這一近乎瘋狂的現象。

這個發現的意義,遠遠大於光是如何偏折的。費馬的最少時間定理同樣解釋了光在鏡面上對稱的反射運動;為什麼眼鏡是這種形狀;為什麼衛星天線是鍋形的。(你可以從關於費曼的書或者錄像中了解這些應用。)

如果你覺得費馬的觀點有些奇怪,那麼放心,你一點也不孤單。費馬時期的一個光學領域的著名專家克勞德·克萊爾色列(Claude Clerselier)寫下了下面的言論:

費馬原理不可能是造成這一現象的原因。這樣的話,我們只能把這一現象用自然現象來解釋:自然現象的發生並不會有預判,同樣自然也不會做出選擇,而總是一種帶有必然性的果斷。

關於費馬的觀點,大家的困惑在於這一理論似乎需要「能動性」(譯註:Agency is the capacity of an actor to act in a given environment. 在哲學裡,agency的定義是:對外界或內部刺激、影響作出的反應或回答)的介入。光怎麼能選擇運動路徑?它究竟是怎麼知道哪條路徑花費時間最短?光是否是通過某種其它的方式,發現了別的路徑並非最佳之選。費馬當時並不能做出解答。但答案是肯定的,下面是費曼的結論:

最短時間原則,與大自然的因果關係截然相反,與自然規律完全不同。按常理來說,當我們做某件事後,別的事件根據之前的結果爾發生。換句話說,最短時間原則指出,光會發現,選擇耗時最短的路線(既最極端的情況)。那麼問題來了,光是通過什麼方式知道的?光會對每一個選擇進行對比嘛?答案是肯定的,是的,從某種角度來說,光是這麼做了。

如同「量子擦除」(quantum eraser)等實驗所產生的結論——光可以展現出量子的特性,光選擇最短路線很難用宏觀物理去解釋。但是,這些實驗,和鏡面和拋物面的運用,都是「光確實可以高效地察覺到並選擇最短路徑」這一觀點的有力證據。

最近,我聽說了兩個關於動物的事。這兩個故事中,動物都完成了與救生員拯救溺水者,光的運行路徑類似的行為——採用耗時最短的路程從一點到達另一點。至於它們究竟是怎樣做到的,仍舊是個謎。

誒爾維斯(Elvis)也許體型很小,但是它卻有著很強的計算能力。圖源:Tim Pennings

第一個故事是關於一隻叫做誒爾維斯的威爾斯柯基犬,它的主人是數學教授蒂姆·彭寧斯(Tim Pennings)。蒂姆總是與誒爾維斯在密西根湖(Lake Michigan)的岸邊玩拋接球,他會將誒爾維斯最喜歡的網球扔進水中,誒爾維斯會立即衝出去並將球撿回來。

數學教授蒂姆·彭寧斯和他的愛犬誒爾維斯。圖源:The Chronicle of Higher Education

在拋接球遊戲中,蒂姆發現誒爾維斯的行為非常有趣。當蒂姆將球扔入水中後,誒爾維斯不會立即跳入水中,遊完全程。它並不會選擇這樣一條看似更加直接的路程。非常明顯的,誒爾維斯會先在岸邊跑一段,然後到達某一點時,才跳進水中並將球銜回。

蒂姆的腦海中出現了一個問題:誒爾維斯會不會是通過一條耗時最短的路程取回網球的呢?別忘了蒂姆是個數學教授,他很快用微積分解決了問題的最優解。緊接著他決定去驗證他的觀點。

圖源:Aatish Bhatia

蒂姆用了一整天的時間與埃爾維斯在密西根湖畔玩拋接網球的遊戲。他劃分出並且測量了誒爾維斯在岸上跑過的距離以及網球運動的距離。在收集了35個數據後(上圖中的x和y數值,以米為單位),蒂姆繪製出了這些數據所擬合出的曲線,並用下圖的直線畫出了代表最優解的直線。

正如蒂姆所預料的那樣,誒爾維斯很聰明,總能找到最優路徑,既最快而非最短!別忘了,數學模型必須要做出許多假設,讓問題簡單化,例如:湖沒有波浪,水是靜止的;誒爾維斯勻速前進,不會因為疲倦爾放慢速度;湖畔可以看作一條直線等等。實際上,誒爾維斯用的時間說不定比數學模型所計算的結果還要短。

圖源:Courtney Gibbons/CC BY-NC-SA 3.0

誒爾維斯的舉動給蒂姆留下了深刻的印象,他後來寫了一篇論文,叫「狗懂微積分麼?」。在這論文章中,蒂姆首先消除了讀者的疑慮。「誒爾維斯連求微分都不會……實際上,」他緊接著補充道,「根本不懂微積分。言歸正傳,雖然它不懂數學,但是誒爾維斯的行為反應了大自然的神奇之處,即自然總會選擇最優解。」

【順便說一下,誒爾維斯並非唯一一個會尋求最優解的犬類。在另外一篇論文中,兩個數學家證實,薩爾薩(Salsa),一隻雌性的拉布拉多也會選擇耗時最短的路徑。說不定數學家的狗都會繼承主人這方面的潛質呢。】

(www.maa.org/sites/default/files/pdf/mathdl/CMJ/cmj37-1-016-018.pdf)

第二種具有這種奇特能力的生物,是這個世界上最具有侵略性的物種之一——紅蟻,既「小火蟻」(Wasmannia auropunctata)。螞蟻在爬過的路上留下信息素,以此來向同伴傳達信息。一段時間之後,信息素會逐漸匯集成一條直線,成為從食物源到達巢穴的最短距離。這些小傢伙是這方面的行家,它們甚至可以在比較複雜的迷宮中發現最短路徑。之前沒有人研究過,當螞蟻面臨著和救生員一樣的難題時會怎樣。當螞蟻從較光滑的表面(運動的速度較快)運動至相對較粘的表面(運動速度較為緩慢)上時,它會選擇最直接的路徑,還是選擇花費時間最少的路徑呢?

(jeb.biologists.org/content/214/1/50)

一個研究團隊開始針對這一問題進行實驗。他們用一塊玻璃表面以及相對粗糙的綠色桌面來模擬沙灘和海水。他們發現,螞蟻的選擇更加接近於最快,而非直接的路徑。正如光的軌跡以及救生員,這些螞蟻似乎會選擇減小時間而非距離。

當螞蟻從光滑的玻璃表面到達粗糙的綠色桌面時,它們的路徑會發生偏轉以求更快的到達終點,正如光的運動。圖源:Simon Tragust/CC BY 3.0

但是它們究竟是如何做到的呢?總不能真的做數學題吧?研究者表示,很可能是只是運氣好罷了。一些螞蟻碰巧走到了這條更加快速而高效的路上,久而久之,走這條路的螞蟻越來越多,留下的信息素也越來越多,這條路也就成了首選。但是,沒有人真正知道螞蟻究竟是如何解決了救生員難題。這仍舊是一個開放的問題。

很顯然,進化是尋求最優的過程。優勝劣汰,更快更高更強的基因才能留在基因庫中。也許我們並不應該驚訝,不同的生物會採用不同的方式而達成相同的結果。所以,下一次被困在車流中,試圖找到回家的最快路程,你不妨向螞蟻、狗和光求教。

往期文章:

「利維坦」(微信號liweitan2014),神經基礎研究、腦科學、哲學……亂七八糟的什麼都有。反清新,反心靈雞湯,反一般二逼文藝,反基礎,反本質。

投稿郵箱:wumiaotrends@163.com

合作聯繫:微信號 thegoatjoe

一家過去時的書店

長按上圖二維碼,或點擊「閱讀原文」進店

相關焦點

  • 最短路徑問題模型匯總
    【問題概述】最短路徑問題是圖論研究中的一個經典算法問題, 旨在尋找圖(由結點和路徑組成的)中兩結點之間的最短路徑
  • 勾股定理:幾何最短路徑問題
    最短路線問題通常是以「平面內連結兩點的線中,線段最短」為原則引申出來的.人們在生產、生活實踐中,常常遇到帶有某種限制條件的最近路線即最短路線問題.對於數學中的最短路線問題可以分為兩大類:第一類為在同一平面內;第二類為空間幾何體中的最短路線問題,對於平面內的最短路線問題可先畫出方案圖,然後確定最短距離及路徑圖。對於幾何題內問題的關鍵是將立體圖形轉化為平面問題求解,然後構造直角三角形,利用勾股定理求解.
  • 圓柱體側面展開的最短路徑——螞蟻行程問題
    圓柱體側面展開的最短路徑模型分析:上圖為無底的圓柱體側面展開圖.如果螞蟻從點A沿圓柱表面爬行一周,到點B的最短路徑就是展開圖 BAA′B′中AB' 的長度,AB'=√(AA'+A'B′),做此類題目的關鍵就是, 正確展開立體圖形, 利用「兩點之間線段最短」或「兩邊之和 大於第三邊」準確找出最短路徑。
  • 中考數學試題解析之最短路徑問題
    一天,一位羅馬將軍專程去拜訪他,向他請教一個百思不得其解的問題:將軍每天從軍營 A 出發,先到河邊飲馬,然後再去河岸同側的 B 地開會,應該怎樣走才能使路程最短?從此,這個被稱為 「將軍飲馬」 的問題廣泛流傳.
  • 八年級上冊數學:勾股定理的應用之路徑最短值問題和生活實際應用
    最短路徑問題初中階段我們學過三種路徑最值問題,>一是兩點之間線段最短;二是將軍飲馬問題;三是直線外一點與直線上一點的連線中,垂線段最短.除些之外我們擴展一個線段最大值問題:.我們言歸正傳,回到今天所講勾股定理在線段最值問題中的應用,還有實際生活中的應用;螞蟻爬之路徑最短值問題,這類問題一般不能用"兩點之間線段最短"來解決,而是先展開,再利用此公理來解決;方法總結
  • 遇到有人溺水,救人你真的會嗎?
    視頻曝光後,拍視頻的謝先生被部分網友質疑為何不下水救人。他回應,自己不會遊泳,孕妻不方便下水。聽見呼救後,自己找來救生圈扔給男孩,拍視頻是想留下現場資料。   大部分網友們紛紛表示:   而在此之前   #72歲高齡葡萄牙總統跳海救人#   也上過熱搜
  • 中考熱點,最短路徑問題之「將軍飲馬」模型,你真的懂它麼?
    同學們好,今天分享的是關於中考中時常會碰到的最短路徑問題。關於最短路徑,和動點等問題,這些問題靈活多變,千變萬化,有些同學學的是一知半解,碰到綜合起來的問題,常常無從下手。感覺很是迷茫不知所措。但是只要你抓住一些模型的本質,原理。
  • 最短路徑問題「將軍飲馬」,「造橋選址」,「費馬點」(珍藏版)
    【問題概述】最短路徑問題是圖論研究中的一個經典算法問題, 旨在尋找圖(由結點和路徑組成的)中兩結點之間的最短路徑.算法具體的形式包括:①確定起點的最短路徑問題 - 即已知起始結點,求最短路徑的問題.②確定終點的最短路徑問題 - 與確定起點的問題相反,該問題是已知終結結點,求最短路徑的問題.
  • 單源最短路徑-Dijkstra 算法
    Dijkstra(迪傑斯特拉)算法是典型的單源最短路徑算法,用於計算一個節點到其他所有節點的最短路徑。主要特點是以起始點為中心向外層層擴展,直到擴展到終點為止。問題:求a點到各個點的最短距離,如下圖:要求最短距離我們得知道以下兩個關於最短距離的定理:1.可以簡單描述為:最短路徑的子路徑也是最短路徑。
  • 最短路徑:向螞蟻學算法
    在自然界中,螞蚊的食物源總是隨機分散於蟻巢周圍,在蟻群協調、分工、合作後總能找到一條通往食物源的最短路徑。現實中,我們能觀察到大量螞蟻在巢穴與食物源之間形成近乎直線的路徑,而不是曲線、圓等其他形狀(見下圖)。
  • 初中生應該知道的數學模型,利用軸對稱解決最短路徑問題
    利用軸對稱解決簡單的最短路徑問題就是其中一個重要的數學模型,按照教學大綱要求,每個初中生都必須掌握。下面就分享這個模型常考的題型及解題思路。在最短路徑模型中,「兩點一線」的最短路徑問題是最基礎的問題。例如:相傳,古希臘亞歷山大裡亞城裡有一位久負盛名的學者,名叫海倫。
  • 哈爾濱小夥溺水,「眼鏡哥」救人後悄然離開
    事情經當地媒體報導後持續發酵,有目擊者說,救人的男子是一名來自北京的遊客。&nbsp&nbsp&nbsp&nbsp「那天下午,我正在江邊釣魚,突然聽到有人呼救。等我跑過去時,發現岸邊已經圍了好多人,一個小夥子躺在岸邊,幾名市民正在給他急救,旁邊臺階上坐著一名戴眼鏡的中年男子,就是他把溺水小夥子救上岸的。」哈爾濱市民李春生說。
  • LeetCode 例題精講 | 13 BFS 的使用場景:層序遍歷、最短路徑問題
    DFS 與 BFS 對比這個遍歷順序也是 BFS 能夠用來解「層序遍歷」、「最短路徑」問題的根本原因。下面,我們結合幾道例題來講講 BFS 是如何求解層序遍歷和最短路徑問題的。BFS 的應用一:層序遍歷 LeetCode 102.
  • 中考重難點:最短路徑問題之「阿氏圓模型」
    比如DP=K·PC那阿氏圓和我們今天說的求最小路徑又有什麼關聯?我們先來看一個最基礎「阿氏圓模型」。那麼關鍵問題就出現了。怎樣確定這個D點,其實就是求的阿氏圓中的兩個定點中的其中一個定點。只要在CO線段上找出這個定點D即可。
  • 最短路徑:Dijkstra 算法和 Floyd 算法
    Dijkstra算法是很有代表性的最短路徑算法,在很多專業課程中都作為基本內容有詳細的介紹,如數據結構,圖論,運籌學等等。注意該算法要求圖中不存在負權邊。問題描述:在無向圖 G=(V,E) 中,假設每條邊 E[i] 的長度為 w[i],找到由頂點 V0 到其餘各點的最短路徑。
  • 初中數學專題之最短路徑問題典型題型及解題技巧,你還學不會?
    初中數學中解決最短路徑問題,關鍵在於我們要學會作定點關於動點所在直線的對稱點,或利用平移和展開圖來處理。這對於我們解決此類問題有事半功倍的作用。1、 理論依據:「兩點之間線段最短」,「垂線段最短」,「點關於線對稱」,「線段的平移」「立體圖形展開圖」。教材中的例題「飲馬問題」,「造橋選址問題」「立體展開圖」。2、知識點:「兩點之間線段最短」,「垂線段最短」,「點關於線對稱」,「線段的平移」。「飲馬問題」,「造橋選址問題」。
  • 算法:有向無環圖的最短路徑
    即使圖中有負權邊,我們也知道通過Bellman-Ford算法找到一個從給定的源點到其它所有節點的最短路徑。現在我們將看到一個在線性時間內運行得更快的算法,它可以在有向無環圖中找到從一個給定的源點到其它所有可達頂點的最短路徑,又名有向無環圖(DAG)。由於有向無環圖無環所以我們不必擔心負環的問題。
  • 「網紅」溺水自救技巧?這些防溺水知識很重要!
    天氣逐漸炎熱 很多人都喜歡去遊泳 防溺水又成了大家關注的問題 近日 學生溺水自救技巧在網絡上熱傳 網絡視頻 視頻中模擬落水的情形
  • 「暑期安全系列報導①」遠離溺水,聽聽防溺水專家怎麼說
    遇到兒童溺水怎麼辦?對此,記者採訪了邯鄲市紅十字水上義務救援隊隊長、河北省教育廳特聘防溺水授課專家雷建生,快來聽聽他怎麼說。●認識溺水事件,你要了解這些事!所以避免溺亡事件發生最直接的方法是不要讓孩子去野外水域遊泳。雷建生特別強調,即使有家長陪護,或者是擅長遊泳的人員在場,也不要讓孩子去野外水域遊泳,「我就曾經遇到過一次,一位遊泳教練級的父親帶著孩子去野外遊泳,一轉身孩子就不見了。」雷建生稱,由於野外遊泳的不確定性因素太多,而且溺水救援需要專業的學習和訓練,「不是每一個會遊泳的人都具備溺水救援技能。」
  • 短小精悍的多源最短路徑算法—Floyd算法
    的,Floyd主要計算多源最短路徑。在單源正權值最短路徑,我們會用Dijkstra算法來求最短路徑,並且算法的思想很簡單——貪心算法:每次確定最短路徑的一個點然後維護(更新)這個點周圍點的距離加入預選隊列,等待下一次的拋出確定。