奥尔定理

奥尔定理是挪威数学家奥斯丁·欧尔在1960年证明的图论定理。它为判断图为哈密顿图提供了一个充分条件,并且从本质上说明了如果一个图具有足够多的边,则它必然包含哈密顿环。具体来说,如果一个图中每一对非相邻顶点的度数和都大于等于顶点总数,那么该图为哈密顿图。[1]
内容
设 Template:Math 为(有限的)简单无向图,其顶点数 Template:Math。
奥尔定理表明,如果对每对 Template:Math 中的不相邻顶点对 Template:Math 和 Template:Math,均有 Template:NumBlk 那么 Template:Math 是哈密顿图。
式中,Template:Math 表示 Template:Math 中顶点 Template:Math 的度数(即与 Template:Math 相连的边数)。
证明

此定理等价于:每个非哈密顿图 Template:Mvar 都不满足 (∗)。
设 Template:Mvar 是一个頂點数 Template:Math 的非哈密顿图。考慮是否有邊不在 Template:Mvar 中,且加入 Template:Mvar 後,仍沒有哈密顿回路。若有此種邊,則選一條加入 Template:Mvar 中。如此重複,直到不能再加,得到的新图稱為 Template:Mvar。令 Template:Math 、 Template:Math 为 Template:Mvar 中任意一对非邻接顶点,此时若向 Template:Mvar 中加入边 Template:Math ,则图中将有哈密顿回路(否則先前加邊的過程仍能繼續)。这个回路中,除 Template:Math 以外的其他边将形成一條哈密顿路径 Template:Math,其中 Template:Math 且 Template:Math。 对于 Template:Math 范围内的每个 Template:Math ,考虑两条可能的边:从 Template:Math 至 Template:Math 和从 Template:Math 至 Template:Math,这两条边最多有一条存在於 Template:Mvar 中,否则 Template:Math 会形成哈密顿回路。因此,Template:Math 与 Template: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]
- 任意將頂點排成一個環形,無視鄰接與否。
- 若環上任意連續兩個頂點皆已連邊,則得到哈密頓環,算法結束。否則,可以找到環上有連續兩個頂點 ,在圖中並不鄰接,此時執行下列步驟:
- 搜尋下標,使得四個頂點兩兩互異,且圖上有與兩條邊。
- 將環至一段弧(含兩端)倒轉次序。
- 回到2。
每次執行倒轉時,環形上的邊數必定增加或(視乎過程中要拆散的是否已經是邊),所以至多執行次,算法就會停止,其中為頂點數。與上述證明類似,第2步若未得到哈密頓環,則所求的下標必定存在,否則頂點與既不鄰接,其度數和又不夠大,不滿足奧爾定理的條件。和皆可將全部頂點掃描一次找到,時間複雜度用大O符號可以寫成,倒轉弧至亦然。所以,乘上外層重複執行的次數,總時間複雜度為,與邊數吻合。