圖論1:哥尼斯堡七橋問題的證明
結論的證明
很久很久以前,有個大名鼎鼎的地方,叫哥你是寶哥尼斯堡。。
哥尼斯堡有一條河,河里有兩座小島,兩座小島和周邊的陸地總共有七座橋連接起來。這里風景優美,空氣新鮮,以至於很多市民都喜歡來這邊旅游觀光。

【NOTE】 | 紅色方框表示橋,黑色方框表示陸地。 |
慢慢的,樂於游玩的市民們就想到一個問題: 有沒有一種辦法,可以從任意一個地方出發,然后恰巧每個橋只經過一次,觀賞完所有風景之后又回到起點呢?
市民們使用了各種方式:



……
但不管怎么樣都做不到。。
於是有人把這個問題寫了封信,寄給了當時大名鼎鼎的數學家歐拉,

歐拉花了一年時間,最終證明了這個問題是無解的!
那么怎么去證明這個問題無解嘞?
歐拉大師先把地圖模型簡化成這樣的二維模型:

【NOTE】 | 紅色方框表示橋,黑色方框表示陸地。這地方漂亮極了。 |
於是簡化成了四個點、七條邊,如何證明一個圖形,從任意一點出發,每條邊僅經過一次,最終又回到起點呢?
這個問題還是有點復雜,我們再對問題做一次簡化,把七條邊簡化成一條,把四個點簡化成一個點,那么得到如下模型:

這……這不就是一個圓嘛!!
我們給圖里的圓下一個定義:
從一個點出發,經過若干條邊和點之后,最終能夠回到原點,整個經過的路徑我們稱之為圓。
所以,七橋問題其實等同於畫圓問題!
不管有幾個頂點,也不管有幾條邊,從一點出發最終回到該點,本質上就是畫圓。
所以對於上述證明問題,本質上就是求解能否在圖形上構造出一個圓。
對“簡化版的陸地和橋”做一層抽象,其實圖中只具備兩個元素:
A島:連接着X橋。
X橋:首尾兩端都連接着A島。
歐拉大師略加思索,得出一個結論,在最簡單的情況下,從能夠從A點畫圓的充要條件為:A點必須具備一個出口,同時也必須具備一個入口。
然后我們可以引入一個概念,將點A的入口/出口的數量統稱為點A的 度 。
讓我們再做一次擴展,為A島再建造一座橋:

路線不管是 A → X → A → Y → A 還是 A → Y → A → X → A,依然可以回到原點。
A島:連接着X橋。
X橋:首尾兩端都連接着A島。
Y橋:首尾兩端都連接着A島。
此時,A島具備了兩個入口和兩個出口(4個度)。
之后,我們還可以再建造第三座橋、第四座橋,但不管建造幾座橋,A點的出口數量必須等於入口的數量(即A點的 度 必須是偶數),否則就無法畫圓:

然后我們再回過頭來看我們的“七橋”。

其中,A、C、D點的度為3,B點的度為5,都是奇數,這就意味着它沒有能夠畫圓的起點/終點。
所以歐拉大師得到結論:該問題無解!
歐拉的回路
但歐拉也不愧是數學界的大師,因為他並沒有止步於證明七橋問題無解。
他往前又做了更深一層的思考:
七橋問題既然是無解的,那么什么情況下才能使問題有解呢?
要從一個點出發,最終又能回到同一點的必要條件,是起點的度必須大於0且為偶數。
而其它的點因為不是起點也不是終點,所以不能停留,一旦進入則必須走出去,所以它們的度也必須大於0且為偶數。
最后,為了經過所有的頂點和邊,還必須保證所有的頂點的邊是聯通的,否則無法在圖中只構造出一個圓。
簡而言之就是兩個條件: 1. 所有頂點的度都必須是偶數。 2. 所有的頂點和邊都能夠聯通。
我們隨便畫一個圖驗證一下:

所有點的度都是偶數,所以任意一點出發都能回到原點。
C → A → B → D → E → F → G → H → I → J → C → B → E → G → I → C
還有很多其它路徑,咱們就不一一解釋啦。
其實這也很符合一個畫圓的規律:在已知的圓上任取一點,都可以沿着路徑畫出同樣一個完整的圓。
后來,人們把符合上述條件的路徑,稱為 歐拉回路。
歐拉的路徑
歐拉大師畫完圓了之后,感覺還不得勁,這問題太簡單了。
能不能不回到起點,然后又能一條路走完全場呢?
依然按照之前的思路:
如果不想回到起點,那么起點必須具備的條件為:只能有奇數個度。
終點因為至少需要一次進入了之后再也不會出去,也必須具備一個條件:只能有奇數個度。
而其它的點因為不是起點也不是終點,所以不能停留,一旦進入則必須走出去,所以它們的度也必須大於0且為偶數。
簡而言之也是兩個條件: 1. 只能有兩個頂點的讀為奇數,其他頂點的度必須大於0且為偶數。 2. 所有的頂點和邊都能夠聯通。
我們再隨便畫個圖驗證一下:

其中只有I和B兩個點的度為奇數,因此只能從這兩個點出發:
E → C → …… → C(參考沒加一筆的五角星的路徑)
就這么簡單。
后來,人們把符合上述條件的路徑,稱之為歐拉路徑。
這,就是哥尼斯堡七橋的故事。
歐拉大師也因此成為了最早的圖論的研究者之一。
========================================================================================================
本節涉及到的概念:
圖:
文字表述:包含若干個頂點和若干條邊的集合。
數學表述:圖G是一個有序二元組(V,E),其中V稱為頂集(Vertices Set),E稱為邊集(Edges set),E與V不相交。它們亦可寫成V(G)和E(G)。
自環(Loop):若一條邊的兩個頂點為同一頂點,則此邊稱作自環。
度:一個頂點的度是指與該頂點相關聯的邊的條數,頂點v的度記作d(v)。自環邊由於既是入度又是出度,因此度為2。
入度:指頂點與其關聯的各邊之中,以其為終點的邊數。
出度:指頂點與其關聯的各邊之中,以其為起點的邊數。
歡迎讀者們提出寶貴的意見或建議,作者會持續改進。