奥尔定理

来自testwiki
跳转到导航 跳转到搜索

Template:Refimprove

满足奥尔定理条件的图,及图中的哈密顿环。在图形的中心有两个度数小于 n/2的顶点,因此它不满足Template:Le的条件。但是,这两个顶点是相邻的,并且所有其他顶点对的总度数至少为 7(图的总顶点数)。

奥尔定理挪威数学家奥斯丁·欧尔在1960年证明的图论定理。它为判断图为哈密顿图提供了一个充分条件,并且从本质上说明了如果一个图具有足够多的边,则它必然包含哈密顿环。具体来说,如果一个图中每一对非相邻顶点度数和都大于等于顶点总数,那么该图为哈密顿图。[1]

内容

Template:Math 为(有限的)简单无向图,其顶点数 Template:Math

奥尔定理表明,如果对每对 Template:Math 中的不相邻顶点对 Template:MathTemplate:Math,均有 Template:NumBlk 那么 Template:Math哈密顿图

式中,Template:Math 表示 Template:Math 中顶点 Template:Math度数(即与 Template:Math 相连的边数)。

证明

奥尔定理的示意图。在图中,存在哈密顿路径 Template:Math ,但是没有哈密顿回路Template:MathTemplate:Math(如蓝色的虚线)兩者之中,最多只有連一條邊,因为如果两者都連邊,那么将它们添加到上述路径中,并删除红边 Template:Math ,就会产生一个哈密顿回路。

此定理等价于:每个非哈密顿图 Template:Mvar 都不满足 (∗)

Template:Mvar 是一个頂點数 Template:Math 的非哈密顿图。考慮是否有邊不在 Template:Mvar 中,且加入 Template:Mvar 後,仍沒有哈密顿回路。若有此種邊,則選一條加入 Template:Mvar 中。如此重複,直到不能再加,得到的新图稱為 Template:Mvar。令 Template:MathTemplate:MathTemplate:Mvar 中任意一对非邻接顶点,此时若向 Template:Mvar 中加入边 Template:Math ,则图中将有哈密顿回路(否則先前加邊的過程仍能繼續)。这个回路中,除 Template:Math 以外的其他边将形成一條哈密顿路径 Template:Math,其中 Template:MathTemplate:Math。 对于 Template:Math 范围内的每个 Template:Math ,考虑两条可能的边:从 Template:MathTemplate:Math 和从 Template:MathTemplate:Math,这两条边最多有一条存在於 Template:Mvar 中,否则 Template:Math 会形成哈密顿回路。因此,Template:MathTemplate:Math 的度数之和最多等于 Template:Math 的可能取值数量,也就是 Template:Math。这说明 Template:Mvar 不满足 (∗) ,因为 (Template:Math) 小于 Template:Math

但是,Template:Mvar 是由 Template:Mvar 加邊(可能 Template:Math 條)而成,故 Template:Mvar 的顶点度不大于 Template:Mvar 中的顶点度数,所以 Template:Mvar 也不满足 (∗) 性质,得证。

定理的充分性

需要注意的是,奥尔定理给出的是判定一幅图为哈密顿图的一个充分条件而非充要条件。换言之,一幅不满足奥尔定理条件的图仍有可能为哈密顿图。

例如,对于一个形如六边形的图(「6階循環圖」,为简单无向图),其任意两个不相邻的顶点度数之和为4(比6小),但显然该图是一个哈密顿图。

算法

1997年,帕爾默(Template:Lang)發表以下算法,只要一幅圖滿足奧爾定理的條件,就能從中構造一個哈密頓回路:[2]

  1. 任意將頂點排成一個環形,無視鄰接與否。
  2. 若環上任意連續兩個頂點皆已連邊,則得到哈密頓環,算法結束。否則,可以找到環上有連續兩個頂點 vi,vi+1,在圖中並不鄰接,此時執行下列步驟:
    • 搜尋下標j,使得四個頂點vi,vi+1,vj,vj+1兩兩互異,且圖上有vivjvj+1vi+1兩條邊。
    • 將環vi+1vj一段弧(含兩端)倒轉次序。
  3. 回到2。

每次執行倒轉時,環形上的邊數必定增加12(視乎過程中要拆散的vjvj+1是否已經是邊),所以至多執行n次,算法就會停止,其中n為頂點數。與上述證明類似,第2步若未得到哈密頓環,則所求的下標j必定存在,否則頂點vivi+1既不鄰接,其度數和又不夠大,不滿足奧爾定理的條件。ij皆可將全部頂點掃描一次找到,時間複雜度大O符號可以寫成O(n),倒轉弧vi+1vj亦然。所以,乘上外層重複執行的次數,總時間複雜度為O(n2),與邊數吻合。

参考来源

Template:Reflist