貪婪演算法與交換論證

擬陣的交換性質(exchange property)

定義擬陣的三條公理中,兩條是簡單的記帳——空集獨立,獨立集的子集獨立。第三條是讓一切運作的引擎,值得單獨理解。它保證較小的獨立集總能藉由借入單一元素「朝較大者成長」。

交換性質(也稱擴充公理)陳述:若 A 與 B 都是獨立集且 A 的元素嚴格少於 B,則存在某個在 B 中但不在 A 中的元素 x,使得 A 加上 x 仍獨立。用白話說,每當你獨立卻比另一個獨立集小,你就能加入較大集的某個元素而不失獨立。兩個推論直接流出。第一,每個極大獨立集大小相同:若兩個基大小不同,較小者可從較大者擴充,故不會是極大——矛盾。那個共同大小就是秩。第二,這正是「貪婪始終領先」論證所需的性質:它讓貪婪每當大小落後時,總能找到一個新的可加入元素,這是擬陣貪婪定理證明的核心。在圖擬陣中這在幾何上顯而易見——邊數比較大森林少的森林必有更多分離的樹,故較大森林的某條邊能連接較小森林的兩個分量而不造環。

理解這一條公理就破解了擬陣與貪婪為何契合:交換性質「就是」每個貪婪正確性證明核心那個「換而不損」動作的抽象版本。它的失敗同樣具診斷性。0/1 背包的可行集(總重不超過容量的子集)違反它——你可以有一個小而輕的集合,與一個較大的集合,而較大者沒有任何單一元素能加入小集合卻不溢出——這正是為何沒有乾淨的貪婪規則對該問題最佳。

平面中的向量:A = {(1,0)}(大小 1,獨立),B = {(1,1), (0,1)}(大小 2,獨立)。A 較小,故交換性質保證 B 的某個向量能獨立地擴充 A——確實 (0,1) 不是 (1,0) 的倍數,故 {(1,0),(0,1)} 獨立。在 0/1 背包的可行集中嘗試此事則可能失敗。

交換性質讓較小的獨立集從較大者借一個元素——每個貪婪交換證明的抽象核心。

凡交換性質失敗之處,就沒有普遍最佳的乾淨貪婪規則。0/1 背包的可行集違反它,這正是貪婪在那裡崩壞的結構性原因。

又称
augmentation axiomindependence exchange axiom擴充公理