1. 程式人生 > >平面圖上的歐拉公式

平面圖上的歐拉公式

序列 移除 明顯 縮小 時區 情況 割點 同時 保持

  今天學了一個平面圖上的歐拉公式,內容如下:

  對於平面上的連通圖,我們稱一組k個不同頂點組成的頂點序列[v1,v2,...,vk]圍成了一個區域 ,當且僅當每個頂點僅且與相鄰頂點之間有邊相連(認為vk與v1相鄰),換言之即這組頂點序列正好組成了一個環。同時還要求非相鄰頂點之間不存在其它路徑。同時我們認為在連通圖外的無垠區域也是一個區域。若連通圖中包含|V|個頂點和|E|條邊,那麽歐拉公式給出f+|V|=|E|+2,其中f為平面上的區域數目。

  簡單說明一下緣由。我們可以通過構造的方式來證明。對於只有一個頂點的圖,圖中只含有一個頂點v,若存在從v到v的邊,此時邊的數目與頂點數目均為1,而平面上的連通圖呈現為一個環狀(類似圓),平面上的區域為2,若v無邊,那麽區域只有一個外部區域,公式均成立。之後我們每次向圖中加入一個頂點m,並令m位於原有邊(u,v)之間,即我們用這個頂點截斷了邊(u,v),同時新增了兩條邊(u,m)與(m,v),考慮到同時增加頂點和邊數,因此公式始終成立。而若x與y是某個區域的共同邊緣頂點(即x與y組成的某個環圍成了這個區域),那麽我們向圖中加入邊(x,y),很顯然我們將區域截斷為兩部分,形成了兩個區域,次數區域數目f與|E|同時增加,故公式依舊成立。

  下面說明對於任意平面上的連通圖,我們都保證歐拉公式成立。

  對於任意連通圖,其中區域數目是可數的,且每個頂點至少是一個區域的邊緣端點。假設存在頂點x不是任何區域的邊緣端點,那麽對於頂點x,我們找另外一個與x相鄰的頂點y,並取出含x與y的環(連通圖保證環存在)。由於環不能形成區域,因此環中必定存在兩個非相鄰頂點之間有邊。我們可以移除環中邊的兩端點之間的所有頂點(選取不含x與y的那一部分),這樣我們縮小了環,重復縮小的過程直到環中只有兩個頂點,此時環一定形成區域,且含x,故假設不成立。同時我們也發現從任意環中至少能提取一個包含該環中某兩個相鄰的某個區域。

  我們通過逆向思維來證明,即通過逐步消解圖而非構建圖來證明原圖中的區域數滿足歐拉函數。

  由於每個非平凡連通圖中至少有兩個頂點不是割點,因此我們可以從圖中取任意頂點x。若x的度為1,則我們移除x與其唯一的邊,此時歐拉公式保持。若x的度大於2,設y與z是x的兩個直接相連的結點,由於x不是割點,故y與z之間有一條不含x的路徑,故x,y,z處於一個環中。我們從中取出包含x與y的區域R1,並刪除x與y的邊。若x與y之間依舊形成環,從中繼續取出x與y的區域R2,考慮到R1中剩余了從x到y的一條路徑,因此R2對應的環必定包含路徑R1,而當我們向R2中加入(x,y)時,R2被切割為兩個區域,故我們能保證此時區域和邊同時減少1。若x與y之間不再形成環,此時區域數目和邊明顯同時減少1,無論哪種情況都會保證邊和區域的數目同時減少1。重復上面的過程直到連通圖平凡(即只余下一個頂點)。完成上述過程,此時平面上的區域總數為1,結束時歐拉公式成立。由於我們每次或者同時減少一個頂點和邊,或者減少一個邊和區域,因此歐拉函數f+|V|=|E|+2對於原始連通圖是成立的。

平面圖上的歐拉公式