拟阵

拟阵

考虑一个集合 \(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\) 是最小的,

posted @ 2024-11-25 11:27  houguo  阅读(53)  评论(0)    收藏  举报