독립성의 공리화
집합 \(E\)(원소들)와 그 부분집합 모임 \(\mathcal{I}\)(독립 집합들)의 쌍 \(M = (E, \mathcal{I})\)가 매트로이드 라는 것은 다음 세 공리를 만족하는 것이다.
- (비공집합성) \(\emptyset \in \mathcal{I}\).
- (유전성) \(A \in \mathcal{I}\)이고 \(B \subseteq A\)이면 \(B \in \mathcal{I}\).
- (교환 공리) \(A, B \in \mathcal{I}\)이고 \(|A| < |B|\)이면, 어떤 \(x \in B \setminus A\)가 존재해 \(A \cup \{x\} \in \mathcal{I}\).
세 번째가 매트로이드의 본질이다. "더 큰 독립 집합이 있으면, 작은 쪽을 항상 한 원소 늘릴 수 있다."
대표 예시
| 매트로이드 | \(E\) | 독립 = |
|---|---|---|
| 그래프(graphic) | 간선 | 사이클 없음(숲) |
| 벡터(linear) | 벡터 | 일차독립 |
| 균등(uniform) \(U_{k,n}\) | \(n\)개 원소 | 크기 \(\le k\) |
| 분할(partition) | 원소 | 각 색에서 한도 이하 |
| 횡단(transversal) | 좌측 정점 | 매칭으로 커버됨 |
그래프 매트로이드의 교환 공리가 곧 "신장 트리는 모두 같은 크기"라는 사실이다.
랭크 함수
\(r(S) = \max\{|A| : A \subseteq S,\ A \in \mathcal{I}\}\)를 랭크 라 한다. 랭크는 서브모듈러:
$$ r(A) + r(B) \ge r(A \cup B) + r(A \cap B). $$
매트로이드의 모든 극대 독립 집합(=base)은 크기가 같고 그 크기가 \(r(E)\)다. 이는 교환 공리의 직접 따름.
그리디 정리
원소에 가중치 \(w: E \to \mathbb{R}\)가 주어졌을 때, 최대 가중치 독립 집합을 다음 그리디가 항상 최적으로 푼다.
가중치 내림차순으로 원소를 본다.
현재 집합에 넣어도 독립이면 넣는다.
정리. 위 그리디가 최적해를 주는 것은 \((E, \mathcal{I})\)가 매트로이드일 필요충분조건 이다.
정당성 증명 스케치
그리디 해 \(G = \{g_1, \dots, g_k\}\)(가중치 내림차순)와 임의의 최적해 \(O\)를 비교한다. 교환 공리를 반복 적용하면, 매 단계에서 \(g_i\)의 가중치가 \(O\)의 \(i\)번째로 큰 원소 가중치 이상임을 귀납적으로 보일 수 있다. 따라서 \(\sum w(g_i) \ge \sum w(o_i)\). 역방향(매트로이드가 아니면 그리디 실패)은 교환 공리가 깨지는 반례를 직접 구성해 보인다.
이것이 크루스칼 알고리즘이 최소 신장 트리를 주는 진짜 이유 다. MST = 그래프 매트로이드에서 그리디.
정리
- 매트로이드 = 독립성 + 교환 공리.
- 모든 base는 동일 크기, 랭크는 서브모듈러.
- 그리디 최적성 ⟺ 매트로이드. 다음 강의에서 사례 연구.