擬陣

hongou發表於2024-11-25

擬陣

考慮一個集合 \(U\), 定義一個子集族 \(\mathcal I\) 為獨立集集合

子集族:所有元素都是 \(U\) 的子集

  1. 空集是獨立集 \(\varnothing \in \mathcal I\)
  2. 獨立集的子集也是獨立集 \(I \in \mathcal I , J\subseteq I\Rightarrow J\in I\)
  3. 如果兩個獨立集 \(I,J\in \mathcal I\) 滿足 \(|I|<|J|\), 那麼存在一個元素 \(u\in J\setminus I\) , 使得 \(I\cup \{u\}\in \mathcal I\)

滿足上面三個性質的話, \((U,\mathcal I)\) 稱為擬陣

  1. \(\mathcal I = 2^{U}\)
  2. \(\mathcal I =\{I\subset U | |I|\leq k\}\)
  3. 一個圖的所有無環的邊集的子集構成獨立集

性質:

  1. 所有極大獨立集大小都相等

應用:最小/大權獨立集

有一個權值函式 \(\omega: U\to \mathbb R\), 要求權值和最小/大的獨立集

演算法:把 \(U\) 中元素從小到大加,只要加進去還是獨立集就加進去

證明:

設最小權獨立集是 \(X\), 其中元素從小到大是 \(x_1,x_2,\dots,x_n\)

\(X_k=\{x_1,\dots,x_k\}\)。 設該演算法途中得到的大小為 \(k\) 的獨立集是 \(S_k\)。歸納證明 \(\omega(X_k)\geq \omega(S_k)\)

  • \(k=0\), trival
  • \(k\geq 1\), 已知 \(S_{k-1}=X_{k-1}\), 設 \(u=S_k\setminus S_{k-1},\omega(S_k)=\omega(S_{k-1})+\omega(u)\leq \omega(X_{k-1})+\omega(u)=\omega(X_{k-1}\cup\{u\})\),只需要證明 \(\omega(X_{k-1}\cup\{u\})\leq \omega(X_k)\)

由性質 3, 存在 \(v\in S_k \setminus X_{k-1}\) 使得 \(X_{k-1}\cup \{v\}\in \mathcal I\), 有 \(\omega(X_{k-1}\cup \{v\})\leq \omega(X_k)\)

由於演算法流程,保證了 \(u\) 是最小的,

相關文章