/ v( k+ k/ p! T/ D ~+ s/ h6 S
/ n$ ?: q$ \3 K" v% F( ?
001.jpg (80.34 KB, 下載次數: 69)
下載附件
保存到相冊
2020-9-6 17:32 上傳
; w! F: g3 o# |; |4 Y; |
j5 k5 p1 l" O( H 有人會說,這還不簡單,哪兒沒有跑過就去跑一遍不就行了嘛。
g# ?9 w1 i' t1 Y 這種方法的確能保證所有的道路都被打掃了,但是車子可能會在某幾段馬路上重復開,損失燃油和時間。
& u; D6 V8 P# S3 ~2 @. A* o 北美的一個大城市多倫多在好好用數學規劃之前,每年就白白多花了3百萬美金的冤枉錢。- p# |8 z0 [6 d# `/ }; k
1 \, |' O4 A3 T
002.jpg (117.23 KB, 下載次數: 82)
下載附件
保存到相冊
2020-9-6 17:32 上傳
& g7 U) Y- \; Y1 J5 f
是這樣的,掃馬路、灑水車、鏟雪車這類問題在數學上屬于中國郵差問題,中國郵差問題本身早在20世紀70年代就有了靠譜的解法。 0 n8 e3 j- ~# P$ j9 _
事情還要從1962年說起。當時,毛主席鼓勵科學家們用科學解決人民日常生活中遇到的問題。 8 |- R: j6 P& j b9 {
我國數學家管梅谷就想到了這樣一個問題:一個郵差走遍每條街道去送信,最短路徑應該是什么樣的? * @- j4 T2 H/ X4 P
后來,美國國家標準技術研究所的數學家 Alan J. Goldman 把這個問題命名為“中國郵差問題”。
, V( i1 F+ X3 U: o8 |
003.jpg (52.53 KB, 下載次數: 79)
下載附件
保存到相冊
2020-9-6 17:32 上傳
& E3 S1 {" c" d3 X# ]1 D3 a: G" q1 W
到了1973年,加拿大滑鐵盧大學的數學家 Jack Edmonds 和 IBM 研究院的計算機科學家 Ellis L. Johnson 提出了一個至今無人超越的有效算法。他們的算法要 cue 到三百年前的一個人,那就是歐拉。 ; A, H2 e' J$ y1 e9 c2 {
其實,歐拉在1735年就研究過一個和管梅谷類似的問題——七橋問題,并得到了一些重要的結論。 0 h1 [9 ? f, t. ]# `& V' Z
004.jpg (25.88 KB, 下載次數: 82)
下載附件
保存到相冊
2020-9-6 17:32 上傳
七橋問題 圖片來源:wikipedia % P u8 F% k! I* S
七橋問題和我們小時候玩的一筆畫的益智問題類似:在普魯士的柯尼斯堡有兩個小島,兩個小島和附近一共有7座橋連通。現在問題來了,怎樣規劃路線才能恰好經過每一座橋一次?
0 \2 h4 L H! a# h! X7 S* X9 a
第二年,歐拉發了一篇論文,證明七橋問題不可解,原因是他給出了能解的一般條件,那就是每塊地都必須有偶數座橋,而七橋問題不符合這種情況。
& w4 c4 n5 d' A) Y- E 3 M- {- b5 P. k+ e6 l3 F6 w6 D
后來,這類問題在數學上發展成了圖論和拓撲學。而因為歐拉的開創性貢獻,能夠一筆畫的圖被叫做歐拉圖,一筆畫的路徑被叫做歐拉路徑。
+ u( l0 ^, t5 D9 @: b
005.jpg (18.64 KB, 下載次數: 82)
下載附件
保存到相冊
2020-9-6 17:32 上傳
七橋問題等價于右邊這個圖形。歐拉證明,只有當奇頂點的數量等于0或2時,才存在一筆畫。七橋問題的奇頂點(藍點)的數量等于4,因此無法一筆畫。 3 E( g. G" a. G- K
歐拉還證明了一張圖能一筆畫的一般情況:奇頂點(也就是邊的數量是奇數的頂點)的數量等于0或2。 4 \5 S: x/ Q) @; T" P9 e
所以按照歐拉證明的定理,中文的“串”就可以一筆寫成,因為它的奇頂點只有最上面和最下面一共兩個。 2 P# y F% A) r! f3 i. P; Y, q
006.jpg (11.84 KB, 下載次數: 82)
下載附件
保存到相冊
2020-9-6 17:32 上傳
串的奇頂點有2個(最上和最下),因此可以一筆畫。
* D% H2 ^7 J' \ 下面這個德國兒童的傳統娛樂項目——Haus vom Nikolaus puzzle (圣尼古拉房屋)也可以一筆畫—— - V0 x0 y' g9 N5 V+ D
000.gif (20.79 KB, 下載次數: 69)
下載附件
保存到相冊
2020-9-6 17:39 上傳
3 @5 ]0 d( P$ n U: O 順便說一下,圣尼古拉房屋有44種解法。
8 E, R! c; X4 A2 v
007.jpg (99.17 KB, 下載次數: 70)
下載附件
保存到相冊
2020-9-6 17:32 上傳
+ j1 l9 V* l$ d$ I& p9 O3 g7 Q 把歐拉證明的結論推廣到中國郵差問題的情況,最難搞定的是奇數分叉的道路,遇到三岔路口、五岔路口,走回頭路幾乎是必然。
( `# C# V3 T, i- _+ |
008.jpg (14 KB, 下載次數: 70)
下載附件
保存到相冊
2020-9-6 17:32 上傳
3 N& y5 n1 ?1 }: M 所以 Edmonds 他們的算法是,把奇數路口拎出來單獨算,找到這些路口間的最短路徑;而偶數岔路之間必然存在只走一次的方法,最后把兩部分拼起來就可以了。
2 A0 d$ y4 M+ {+ k2 g: n
009.jpg (173.13 KB, 下載次數: 78)
下載附件
保存到相冊
2020-9-6 17:32 上傳
/ Q5 F, z, Z e; V
但是呢,實際生活中掃馬路、灑水和鏟雪要比這復雜得多。 # z# i7 R' t' z5 R
比如,高速公路的整潔對司機的生命財產安全更重要,所以要早點清掃完畢;一些路段是單行線,或者對大型車輛限行。此外,“郵差”也不只一個人,而且不能無限“肝”活,清潔車之間的交接班也要考慮在內。 4 A+ _: |$ r7 B0 `
因此在現實生活中,中國郵差問題很難找到最優策略,這也是為什么一開始 Edmonds 的算法沒有得到廣泛應用。
) E# U) {3 E* |) P
010.jpg (53.15 KB, 下載次數: 85)
下載附件
保存到相冊
2020-9-6 17:32 上傳
到了20世紀90年代,隨著計算機技術的進步,一些數學家開始嘗試把中國郵差問題應用到日常生活中。比如,明尼蘇達大學的數學教授 Peh Ng 就曾用圖論的思想幫明州莫里斯市政府規劃冬季的鏟雪線路。
& \' H# X& r; J$ | 而從2001年開始,北美的一些大城市就開始用比較成熟的軟件(如 ArcGIS)來規劃鏟雪車的行車路徑。這些軟件一般會把一大塊城市交通網分割成一小塊一小塊的,然后分別再進行計算。
0 p$ K" w" D( ]' |, C5 J
011.jpg (44.17 KB, 下載次數: 84)
下載附件
保存到相冊
2020-9-6 17:32 上傳
6 ?* s2 ^2 `7 m
比如,多倫多在用圖論原理對鏟雪線路進行規劃后,鏟雪費用比之前減少了三分之一,每年節省了大約3百萬美金(約合2千萬人民幣)。 % J7 } O0 K$ }' _7 N/ I
多倫多的市政道路交通的運營經理 Hector Moreno 表示,在用ArcGIS之前,行車路線主要靠經驗和人工計算,現在就不需要這么麻煩了。
8 p5 _8 u T5 j& k* T: G4 q8 x
012.jpg (42.88 KB, 下載次數: 68)
下載附件
保存到相冊
2020-9-6 17:32 上傳
波士頓市政府的應用數學團隊 圖片來源:boston.gov
2 I c) v: R) h 2010年,波士頓市政府也組建了自己的數學團隊——Mayor's Office of New Urban Mechanics,用數學和計算機來規劃鏟雪路線。
7 K w9 M9 W% t6 E4 y, ~ 像波士頓這樣的大城市用數學進行規劃真的太有必要了。2015年,為了鏟雪,波士頓的鏟雪車一共開了47萬千米,差不多可以繞地球12圈了。鏟雪的花費也是驚人的,那年的暴雪讓波士頓一共掏出了3500萬美金(約合2.3億人民幣)。 1 X! Y( j: ]+ t
013.jpg (70.64 KB, 下載次數: 75)
下載附件
保存到相冊
2020-9-6 17:32 上傳
2015年,波士頓的暴雪創下了記錄。圖片來源:newyorktimes
! |+ y' V2 R, u+ u4 N( z j) R) o 除了道路養護,中國郵差問題的算法在很多領域還有應用。比如在交互設計時,中國郵差問題就被用于終端產品的可用性檢測。
. p1 j) P7 F% C" G! m, N6 s, D7 i舉個例子,一個手機被制造出來以后,手機制造商想要看看每個功能是不是和名稱相符。比如按下主鍵,點開“設置”,再點開“網絡”,是不是真的會出現網絡設定功能。
7 l! D& L- l8 ^; [) D
014.gif (1.79 MB, 下載次數: 83)
下載附件
保存到相冊
2020-9-6 17:32 上傳
/ M1 Y9 w5 P( d r( n' T 因為手機的功能很復雜,不同功能之間形成的網絡要怎么樣才能有效地走個遍,這個問題有時連制造商也搞不太明白。1996年諾基亞出的2110的菜單有88個項目,一共有273種操作。如果隨便按,可能一些菜單永遠也不會得到檢測。 , D) Z# X- n! w% N7 K
但是利用中國郵差問題的算法就能規劃測試路徑和計算步驟數量了:最少就只需要按594次鍵盤按鈕就可以把所有的菜單和功能都過一遍了。 4 d1 e5 r) T! d8 Y1 D4 P
015.gif (1.37 MB, 下載次數: 77)
下載附件
保存到相冊
2020-9-6 17:33 上傳
1 P, E0 z9 E$ B) T1 z
在檢查網頁鏈接有沒有“死角”的時候也可以用到中國郵差問題的算法。
0 p3 q" }2 u7 j: u1 o 比如,富蘭克林故居的網站(benjaminfranklinhouse.org)有66個網頁,1191個超鏈接。如果網絡測試員沒有頭腦一頓亂點,不但要做無用功,有些網頁和鏈接可能還點不到。但是利用中國郵差問題的算法,測試員知道只要點2248次就可以測試完所有的網頁和超鏈接了。
$ T6 Z; t; n- p) _
016.jpg (35.66 KB, 下載次數: 78)
下載附件
保存到相冊
2020-9-6 17:33 上傳
位于英國倫敦的富蘭克林故居
$ r8 M& {, y9 O" | 歐拉路徑判定挺好掌握的呢:口中串串,乃米田共。 # Z9 x6 W9 y! h
( s- t; M, g2 `8 A9 I" n
6 U5 q( ~4 n b7 c0 H : `" X' |" ` H) L
|