基本介紹
- 中文名:平面性算法
- 外文名:planarity algorithm
- 所屬學科:數學(圖論)
- 屬性:圖論中的一種重要算法
- 相關概念:可平面圖,平面嵌入等
基本介紹,相關定理,具體過程,套用舉例,
基本介紹
平面性算法(planarity algorithm)是一種求平面嵌入的算法,指判斷一個給定的圖是否是可平面圖,並且如果它是可平面圖,則要找出它的平面嵌入來。設H是圖G的一個可平面子圖,
是H在這個平面中的一個嵌入,若G是可平面圖,且存在G的一個平面嵌入
,使得
,則稱
是G容許的。例如,圖1表示G的一個平面子圖的兩個嵌人;一個是G容許的,而另一個則不是。
![](/img/4/55d/wYldzMiJjN5gTMiFGNyIDMlN2N0YzMiZDZmZjYiRWOzI2YxgTYkBTNvMWaw9SbvNmLz9mYlNmYu4GZj5yZtl2ai9yL6MHc0RHa.jpg)
![](/img/7/809/gM2IGM5gTY3Q2Y2UWYmV2MmR2M0UTZhFGOxIWY0ITOwYTMwQmN2MTNvMWaw9SbvNmLz9mYlNmYu4GZj5yZtl2ai9yL6MHc0RHa.jpg)
![](/img/a/4e6/gY2YmYlNGNxEWZ5MWNiBTNzUGN5QGN1gDNzgjMhJDNkRmM1ITO1EjNvMWaw9SbvNmLz9mYlNmYu4GZj5yZtl2ai9yL6MHc0RHa.jpg)
![](/img/4/55d/wYldzMiJjN5gTMiFGNyIDMlN2N0YzMiZDZmZjYiRWOzI2YxgTYkBTNvMWaw9SbvNmLz9mYlNmYu4GZj5yZtl2ai9yL6MHc0RHa.jpg)
![圖1(a) G 圖1(a) G](/img/9/fcc/nBnauIDMiBTO4E2NkNmNlFmZlNjZkFGN1MWMhhTMiFGNykDM2EDMkZjNzUzLtVGdp9yYpB3LltWahJ2Lt92YuUHZpFmYuMmczdWbp9yL6MHc0RHa.jpg)
![圖1(b) G容許的嵌入 圖1(b) G容許的嵌入](/img/9/0a9/nBnaucjNmZGOwYDMmJTZ5Y2NjJTZwkTMxQjYjFDM3gzYxMjY0QmY4MzNmJzLtVGdp9yYpB3LltWahJ2Lt92YuUHZpFmYuMmczdWbp9yL6MHc0RHa.jpg)
![圖1(c) G不容許的嵌入 圖1(c) G不容許的嵌入](/img/8/d17/nBnauMzNiNWMkJGM0YmY3gDM5AzMhRTOiRjY2YDMlZDOwMGNxATOhlTO5I2LtVGdp9yYpB3LltWahJ2Lt92YuUHZpFmYuMmczdWbp9yL6MHc0RHa.jpg)
若B是H(在G中)的任意一座橋,且B對於H的接觸點都包含在
的面
的周界上,則稱B在
的面
內是可畫的。用
表示在
中橋B是可畫出的那些面的集。
![](/img/4/55d/wYldzMiJjN5gTMiFGNyIDMlN2N0YzMiZDZmZjYiRWOzI2YxgTYkBTNvMWaw9SbvNmLz9mYlNmYu4GZj5yZtl2ai9yL6MHc0RHa.jpg)
![](/img/e/bb3/AOmVzMhZGNzcDM0QmYyMWOwM2MzADNzMjNxADZ2YjM1QmZ2ImYkhzMvMWaw9SbvNmLz9mYlNmYu4GZj5yZtl2ai9yL6MHc0RHa.jpg)
![](/img/4/55d/wYldzMiJjN5gTMiFGNyIDMlN2N0YzMiZDZmZjYiRWOzI2YxgTYkBTNvMWaw9SbvNmLz9mYlNmYu4GZj5yZtl2ai9yL6MHc0RHa.jpg)
![](/img/f/849/wN5cDNihzM4EmZzMTNzEmY2UGNyMTYxETYwADOxgzY2YmYjNGO1ADZvMWaw9SbvNmLz9mYlNmYu4GZj5yZtl2ai9yL6MHc0RHa.jpg)
![](/img/1/6e2/gZ5UDNzQWOhVWM2EmY4kDOyIjYhZjYiJWZzMmY4QWOxEGMwgTM4QmNvMWaw9SbvNmLz9mYlNmYu4GZj5yZtl2ai9yL6MHc0RHa.jpg)
![](/img/4/55d/wYldzMiJjN5gTMiFGNyIDMlN2N0YzMiZDZmZjYiRWOzI2YxgTYkBTNvMWaw9SbvNmLz9mYlNmYu4GZj5yZtl2ai9yL6MHc0RHa.jpg)
相關定理
平面性算法是基於如下定理:
若
是容許的,則對於H的每座橋B,
。
![](/img/4/55d/wYldzMiJjN5gTMiFGNyIDMlN2N0YzMiZDZmZjYiRWOzI2YxgTYkBTNvMWaw9SbvNmLz9mYlNmYu4GZj5yZtl2ai9yL6MHc0RHa.jpg)
![](/img/9/22f/gMwE2M1QWYxQjZlBjYxkDZ2MWNlNmM5gDN5cDOmNDNkhDO2QWN0MTOvMWaw9SbvNmLz9mYlNmYu4GZj5yZtl2ai9yL6MHc0RHa.jpg)
證明:若
是G容許的,則根據定義,存在G的一個平面嵌入
,使得
。顯然,H的橋B所對應的
的子圖必然限制在
的一個面中,因此
。
![](/img/4/55d/wYldzMiJjN5gTMiFGNyIDMlN2N0YzMiZDZmZjYiRWOzI2YxgTYkBTNvMWaw9SbvNmLz9mYlNmYu4GZj5yZtl2ai9yL6MHc0RHa.jpg)
![](/img/7/809/gM2IGM5gTY3Q2Y2UWYmV2MmR2M0UTZhFGOxIWY0ITOwYTMwQmN2MTNvMWaw9SbvNmLz9mYlNmYu4GZj5yZtl2ai9yL6MHc0RHa.jpg)
![](/img/a/4e6/gY2YmYlNGNxEWZ5MWNiBTNzUGN5QGN1gDNzgjMhJDNkRmM1ITO1EjNvMWaw9SbvNmLz9mYlNmYu4GZj5yZtl2ai9yL6MHc0RHa.jpg)
![](/img/7/809/gM2IGM5gTY3Q2Y2UWYmV2MmR2M0UTZhFGOxIWY0ITOwYTMwQmN2MTNvMWaw9SbvNmLz9mYlNmYu4GZj5yZtl2ai9yL6MHc0RHa.jpg)
![](/img/4/55d/wYldzMiJjN5gTMiFGNyIDMlN2N0YzMiZDZmZjYiRWOzI2YxgTYkBTNvMWaw9SbvNmLz9mYlNmYu4GZj5yZtl2ai9yL6MHc0RHa.jpg)
![](/img/9/22f/gMwE2M1QWYxQjZlBjYxkDZ2MWNlNmM5gDN5cDOmNDNkhDO2QWN0MTOvMWaw9SbvNmLz9mYlNmYu4GZj5yZtl2ai9yL6MHc0RHa.jpg)
由於一個圖是平面圖若且唯若它的基礎簡單圖的每個塊都是平面圖,所以只要考察簡單塊就夠了。給定這樣的一個圖G後。算法就確定了G的一個平面子圖的遞增序列
,以及對應的平面嵌入
,終止於G的一個平面嵌入。對每一步,都套用定理的必要條件,來判斷G的非平面性。
![](/img/3/126/QNkNjYzYmYzADM2IWOzUGZiBzN5YjZlJWYllzY1ImY1I2MzAjY5UzMvMWaw9SbvNmLz9mYlNmYu4GZj5yZtl2ai9yL6MHc0RHa.jpg)
![](/img/0/c67/gZhhDM0ITZwMjYmBTM1UTOxUTYkVWNwQWYmVzM3ADNkJmM3kDOxEWYvMWaw9SbvNmLz9mYlNmYu4GZj5yZtl2ai9yL6MHc0RHa.jpg)
具體過程
步驟如下:
1.設
是G的一個圈,找出
的一個平面嵌入
,置
;
![](/img/f/726/gNhNzN4EWNzAjNjVTMzcjYkZGMwczNzETNmRmM5ITYzYWMwYWZlVTOvMWaw9SbvNmLz9mYlNmYu4GZj5yZtl2ai9yL6MHc0RHa.jpg)
![](/img/f/726/gNhNzN4EWNzAjNjVTMzcjYkZGMwczNzETNmRmM5ITYzYWMwYWZlVTOvMWaw9SbvNmLz9mYlNmYu4GZj5yZtl2ai9yL6MHc0RHa.jpg)
![](/img/b/69a/gN4kTYzYTY2kDMlJmZxkjZllzM5ITY2UWYjdDZzY2YwUGMycjMykTOvMWaw9SbvNmLz9mYlNmYu4GZj5yZtl2ai9yL6MHc0RHa.jpg)
![](/img/f/db3/QNiFzM0IDOwYTMwQmN2kTN1IjZyIDNjBjYjFDOhRWM1QzYkRWZ2MWYvMWaw9SbvNmLz9mYlNmYu4GZj5yZtl2ai9yL6MHc0RHa.jpg)
2.若
,則停止;否則,確定G中
的所有橋;對於每座這樣的橋B,找出集
;
![](/img/6/bd0/AMzQWZxUDMiJWMzImMxIzMmF2MzYTOzEzMwYjZwkTY0EDM5ImM4IGOvMWaw9SbvNmLz9mYlNmYu4GZj5yZtl2ai9yL6MHc0RHa.jpg)
![](/img/b/c76/AZzQTO4MTOiVmMmJTMkR2MmNTZjN2YyEWZwgjYmNTMyEDM5MTOlBDMvMWaw9SbvNmLz9mYlNmYu4GZj5yZtl2ai9yL6MHc0RHa.jpg)
![](/img/2/bd6/gYlNWO5UGMwATMkhTOkdzN0ETOzIGOmZmZhNWY2MjY0kDM2cjZlF2YvMWaw9SbvNmLz9mYlNmYu4GZj5yZtl2ai9yL6MHc0RHa.jpg)
3.若存在一座橋B,使得
,則停止,根據定理,G是非平面圖,若存在一座橋B,使得
,則令
,否則令B是任一座橋,且
是任一使得
的面;
![](/img/3/d9c/wN1cTN3MWYzY2YwcDZzIzYxQGZmVDO5YzNxkzY2gzNhhzYxQWYjRTOvMWaw9SbvNmLz9mYlNmYu4GZj5yZtl2ai9yL6MHc0RHa.jpg)
![](/img/7/429/QOyITZhdjNzgTM2gTOxMjZ5gjYyYGMxQmMxkzM3cTOhRGOzczMwcjZvMWaw9SbvNmLz9mYlNmYu4GZj5yZtl2ai9yL6MHc0RHa.jpg)
![](/img/5/9fd/QYwUTYhJTNkRmM1ITO1ImNyYGZ0MGMxcjZwETNjRTYxgjZiVGN0YDOvMWaw9SbvNmLz9mYlNmYu4GZj5yZtl2ai9yL6MHc0RHa.jpg)
![](/img/6/0c6/wNxgjZmJjZ5Y2N3IjNkNGOzUjYzImZhV2YxMjY0QmY4MzNlJDZlJGNvMWaw9SbvNmLz9mYlNmYu4GZj5yZtl2ai9yL6MHc0RHa.jpg)
![](/img/a/510/gNjVjZ4AzMwI2NhBTN5YTMlRWNmFjMiNTMwkTY5kDOiRjM5UGMzUWMvMWaw9SbvNmLz9mYlNmYu4GZj5yZtl2ai9yL6MHc0RHa.jpg)
4.選擇一條連結B對於
的兩個接觸頂點的路
,置
,並把
畫在
的面
內,得到
的一個平面嵌
,令
,轉入步驟2。
![](/img/d/8bd/QMxYTNkNTZ5czYiNjZjJ2N1UmM1QjZxcTZzY2N3ETOjZDO3EGOjBDZvMWaw9SbvNmLz9mYlNmYu4GZj5yZtl2ai9yL6MHc0RHa.jpg)
![](/img/5/fe3/AZjljNyYDNkJzYmRDM1ATOwUWNyUWM1YWMkZzM3UGN1MWZidTZwkjYvMWaw9SbvNmLz9mYlNmYu4GZj5yZtl2ai9yL6MHc0RHa.jpg)
![](/img/4/0be/ANkRTO4MDOiVmMmJTMkR2MmNDOjJGZjFWZwgjYmNTMyEDM5MTOlBDMvMWaw9SbvNmLz9mYlNmYu4GZj5yZtl2ai9yL6MHc0RHa.jpg)
![](/img/c/3fc/gZmJDNlNDZihDZ5ETYwIGO5UDMmNGZkNGO1EDZygzY5UGZzIWOwADZvMWaw9SbvNmLz9mYlNmYu4GZj5yZtl2ai9yL6MHc0RHa.jpg)
![](/img/6/a93/QN4EzM0IDOwYTMwQmN2kTN1ITYyIjYiBjYjFDOhRWM1QzYkRWZ2MWYvMWaw9SbvNmLz9mYlNmYu4GZj5yZtl2ai9yL6MHc0RHa.jpg)
![](/img/4/663/AM4EDN1MDMiV2MjJGOkJTMyQ2YxQWZlZjZiN2Y4UTMkJDOjlTZkJjYvMWaw9SbvNmLz9mYlNmYu4GZj5yZtl2ai9yL6MHc0RHa.jpg)
![](/img/d/7d1/AN0gzM0M2YkVmNkFWNkBTMjJjM5MjY5YWZxQ2NyMGNhRTO3gjZzUDZvMWaw9SbvNmLz9mYlNmYu4GZj5yZtl2ai9yL6MHc0RHa.jpg)
![](/img/1/bd4/AO1YWMzMWZhZzM3YGMmNzN3kjZ5ATY3UGZlJmZiZmY0YGM0EmZhJWNvMWaw9SbvNmLz9mYlNmYu4GZj5yZtl2ai9yL6MHc0RHa.jpg)
![](/img/3/3e7/AO0YzYkNDM1EmZ4AzYlJWY3UDZwAjYycDMkJjN3IzM2MTMhhzYlhTYvMWaw9SbvNmLz9mYlNmYu4GZj5yZtl2ai9yL6MHc0RHa.jpg)
這個算法是一個有效算法,它的主要運算包括:
(i) 找出圖G中的一個圈
;
![](/img/f/726/gNhNzN4EWNzAjNjVTMzcjYkZGMwczNzETNmRmM5ITYzYWMwYWZlVTOvMWaw9SbvNmLz9mYlNmYu4GZj5yZtl2ai9yL6MHc0RHa.jpg)
(ii) 確定G中
的橋以及它們對於
的接觸頂點;
![](/img/b/c76/AZzQTO4MTOiVmMmJTMkR2MmNTZjN2YyEWZwgjYmNTMyEDM5MTOlBDMvMWaw9SbvNmLz9mYlNmYu4GZj5yZtl2ai9yL6MHc0RHa.jpg)
![](/img/b/c76/AZzQTO4MTOiVmMmJTMkR2MmNTZjN2YyEWZwgjYmNTMyEDM5MTOlBDMvMWaw9SbvNmLz9mYlNmYu4GZj5yZtl2ai9yL6MHc0RHa.jpg)
(iii) 對於
的每個面
確定
;
![](/img/6/a93/QN4EzM0IDOwYTMwQmN2kTN1ITYyIjYiBjYjFDOhRWM1QzYkRWZ2MWYvMWaw9SbvNmLz9mYlNmYu4GZj5yZtl2ai9yL6MHc0RHa.jpg)
![](/img/3/f3c/QOhF2NmFTMmVWZ0kDN1cDO3UzNxEGNxETM1YWYhZGZmZTMkljYxY2YvMWaw9SbvNmLz9mYlNmYu4GZj5yZtl2ai9yL6MHc0RHa.jpg)
![](/img/a/2d0/QMjVTOlJTZyEDZ2MzNlZWN0MjZkJjM2cjZzEjMxATOzkTZxADMxMGOvMWaw9SbvNmLz9mYlNmYu4GZj5yZtl2ai9yL6MHc0RHa.jpg)
(iv) 對於
的每座橋B,確定
;
![](/img/6/a93/QN4EzM0IDOwYTMwQmN2kTN1ITYyIjYiBjYjFDOhRWM1QzYkRWZ2MWYvMWaw9SbvNmLz9mYlNmYu4GZj5yZtl2ai9yL6MHc0RHa.jpg)
![](/img/2/bd6/gYlNWO5UGMwATMkhTOkdzN0ETOzIGOmZmZhNWY2MjY0kDM2cjZlF2YvMWaw9SbvNmLz9mYlNmYu4GZj5yZtl2ai9yL6MHc0RHa.jpg)
(v) 在G的某座橋B中求
的兩個頂點之間的一條路P;
![](/img/4/70e/AZmdTN3MWYzY2YwcDZzIzYxQ2MjZWNzczNxkzY2gzNhhzYxQWYjRTOvMWaw9SbvNmLz9mYlNmYu4GZj5yZtl2ai9yL6MHc0RHa.jpg)
上述每一個運算都存在有效算法,因此,這個算法是一個有效算法。繼這個方法之後,許多研究者都致力於這種平面性算法的研究並提出了一些算法。
套用舉例
![圖2 G 圖2 G](/img/5/db9/nBnauADN2kTMkdzM3UGN1MWZwcjNkRWM0kDZlFDM5MTOlFDMwEDZ4kDZkdzLtVGdp9yYpB3LltWahJ2Lt92YuUHZpFmYuMmczdWbp9yL6MHc0RHa.jpg)
為了說明這個算法,考察圖2中的圖G,從圈
和G的一張橋的表開始(為了簡潔起見,橋用其邊集來表示);在每一步中。對於
的橋B以粗體字標出。這個例子中,算法終止於G的一個平面嵌入
,所以G是平面圖。
![](/img/0/598/AZ5ETNkNDOjlDM3YTZzQzNmNWZ2cDMwEGOjFDZhNWN5YWM1ITZ0EzMvMWaw9SbvNmLz9mYlNmYu4GZj5yZtl2ai9yL6MHc0RHa.jpg)
![](/img/7/429/QOyITZhdjNzgTM2gTOxMjZ5gjYyYGMxQmMxkzM3cTOhRGOzczMwcjZvMWaw9SbvNmLz9mYlNmYu4GZj5yZtl2ai9yL6MHc0RHa.jpg)
![](/img/0/3bf/gY0QzNlRzN1QTNkR2MyIDMjhTZlVTY3ITMiRGOmRWZ1gTY0MDM2QWNvMWaw9SbvNmLz9mYlNmYu4GZj5yZtl2ai9yL6MHc0RHa.jpg)
![]() ![]() | ![]() ![]() | ![]() ![]() |
![]() ![]() | ![]() ![]() | ![]() ![]() |
![]() ![]() | ![]() ![]() | ![]() ![]() |