2020. 8. 10. 22:58ㆍCS 이론/알고리즘
최근 jo_on님을 통해 알게 된 내용을 정리해 보았다.
Theorem (Dilworth). Finite POSET 에 대해, 의 minimum chain cover의 크기는 의 maximum antichain의 크기와 같다.
이 글에서는 Dilworth's theorem의 constructive pf를 목표로 한다.
POSET과 Mirsky's theorem에 대해서는 전에 대충 써놓은 글이 있다.
1. Non-constructive proof
가장 잘 알려져 있는 증명법이기도 하다. Construction과는 그다지 관계가 없으니 관심없다면 스킵해도 될 듯.
의 크기에 대해 귀납법을 사용하자. 의 maximum antichain 를 잡자. 이 때
를 잡으면, 가 maximal antichain이므로 , 임을 확인할 수 있다.
먼저 , 인 가 하나라도 존재하는 경우를 보자. 이제 와 에 대해 귀납가정을 적용하여 의 minimum chain cover , 를 잡으면 두 chain cover의 크기가 정확히 와 같고, 모든 에 대해 를 포함하는 와 의 원소가 정확히 하나씩 존재한다. 이 chain들을 이어주면 성립.
나머지 경우는 모든 maximum antichain 가 minimal element의 집합이거나 maximal element의 집합이 된다. 일반성을 잃지 않고 라고 하자. 즉 이다. 아무 와, 를 만족하는 maximal element 를 잡자. 일 필요는 없다. 이 때 에는 크기가 \(\abs{A} - 1\)을 넘는 antichain이 존재할 수 없고, 는 실제로 크기 \(\abs{A} - 1\)의 antichain이 된다. 따라서 에 귀납가정을 적용하면 크기 \(\abs{A} - 1\)의 chain cover를 찾을 수 있다. 여기에 chain 를 더하면 크기 \(\abs{A}\)의 chain cover를 찾을 수 있다.
따라서 minimum chain cover 크기가 maximum antichain의 크기보다 작거나 같다는 것을 확인할 수 있고, 반대쪽 부등식은 자명한 수준이므로 증명이 끝난다.
2. Perfect Graph Theorem
이것도 non-constructive 증명이다. 되게 신기해서 넣었다 ㅋㅋ 몇가지 용어 정의가 필요하다.
Def. (Perfect Graph) 그래프 의 최소 채색 수를 , maximum clique의 크기를 라고 하자. 는 항상 성립하는 사실이지만, 모든 induced subgraph 에 대해 라면 를 perfect graph라고 한다.
Thm. (Lovasz, Perfect Graph Theorem) 그래프 가 perfect graph인 것은 의 complement graph 가 perfect graph인 것과 동치이다.
POSET 에 대해, 이고 인 comparability graph 를 잡자. 이 때 의 coloring은 antichain cover에 대응되고, 의 clique은 하나의 chain에 대응된다. 따라서 Mirsky's theorem에 의해 는 perfect graph가 된다.
이제 를 생각하면 의 coloring이 chain cover, clique가 antichain에 대응된다! 따라서 Perfect graph theorem에 의해 임을 알고, 이로부터 Dilworth's theorem을 증명할 수 있다.
3. Using Konig's theorem
Thm. (Konig) 이분그래프에서 maximum matching의 크기와 minimum vertex cover의 크기는 같다.
이건 첫 constructive proof이다. 적당히 그래프에서 maximum matching을 구해줌으로써 maximum chain cover를 실제로 만들 수 있다.
이분그래프 가 , 로 이분된다고 하고, 과 을 구성하자.에 대해 과 을 정점으로 만들자. 에 대해 를 간선으로 이어준다.
이 때, 임의의 matching 에 대해 크기 의 chain cover를 만들 수 있다. 에 해당하는 를 각 cover의 maximal element로 하는 chain cover를 만들 수 있다; 에서 매칭을 타고 으로, 에서 매칭을 타고 으로 .... 매칭이 없을 때까지 이어주면 된다. deg = 1이 강제된 구조인 matching과 chain 사이의 유사성을 실감할 수 있다.
Konig's theorem에 의해, 최대 매칭 과 크기가 같은 vertex cover 가 존재한다. 이 때, 를 만족하는 들을 모은 집합 는 antichain이 된다. 가 비교 가능하다면 나 이 cover되지 않기 때문. 이 때 이 되고, maximum antichain이 minimum chain cover보다 크거나 같다는 것을 알 수 있다. 반대 방향 부등식은 자명하므로 등식을 증명할 수 있다.
따라서 그래프에서 최대 매칭을 찾고, 그로부터 자연스럽게 유도되는 chain cover를 찾으면 된다. Minimum Vertex Cover도 적당히 찾아주면 maximum antichain도 구할 수 있는 것 같다.
4. Using MinFlow - MaxCut Theorem and a Weighted Variant
Minflow-MaxCut은 MaxFlow-Mincut의 dual인데, 간선에 upper bound (capacity)는 없고 lower bound (threshold)만 있는 경우, sink to source 경로가 없는 그래프 하에서 mininum flow와 max directed cut이 같다는 정리이다. 이 문서 의 정리 3.7을 참조.
3번 경우와 비슷하게 source , sink 를 추가한 뒤 에 대해 과 을 정점으로 만들자. 를 lower bound 1짜리 간선, 에 대해 를 lower bound 0짜리 간선으로 이어준다. 이 경우 chain 하나가 크기 1의 augmenting path 하나에 대응되므로, minimum flow로부터 minimum chain cover를 바로 얻을 수 있다.
이제 이 그래프의 directed cut 를 생각하자. 가 directed cut이라는 의미는 를 만족하고 (cut의 정의) 로 들어오는 간선이 없다는 것을 의미한다. 이 때 를 만족하는 끼리는 antichain을 이룬다. 그렇지 않다면 directed cut의 정의에 모순. 또, Maximum Directed Cut은 Directed Cut 중, 에서 나가는 간선의 threshold 합이 가장 큰 cut을 의미한다. 이를 의 threshold라 한다. 그런데 의 threshold는 곧 로부터 induce되는 antichain의 크기와 같다.
MinFlow - MaxCut theorem에 의해 Minimum flow의 net flow와, Maximum directed cut의 threshold가 같고, Dilworth's theorem이 이로부터 증명된다. Minimum Flow의 경우 그래프를 뒤집고 maximum flow를 푸는 것으로 해결할 수 있으므로, poly-time에 구할 수 있는 대상이다. 이 Minimum Flow를 이용하면 weighted minimum chain cover같은 걸 구할 수 있다.
Thm. (Weighted Mirsky) POSET의 Weight function 에 대해, 임의의 에 대해 를 정확히 번 cover하는 의 minimum antichain cover의 크기는 의 maximum weight antichain의 weight와 같다.
Thm. (Weighted Dilworth) 마찬가지로 를 정확히 번 cover하는 minimum chain cover의 크기는 의 maximum weight antichain의 weight와 같다.
증명은 를 크기 짜리 chain으로 분해해서 할 수 있다. 그런데 구현할 때도 실제로 번 를 복제하면 exponential 복잡도를 갖게 되는데, minflow-maxcut 증명에서 각 간선의 lower_bound를 로 바꾸면 똑같이 weighted minimum chain cover도 구할 수 있음을 알 수 있다.
'CS 이론 > 알고리즘' 카테고리의 다른 글
Bostan-Mori, Tellegen's Principle, Power series composition (0) | 2025.01.23 |
---|---|
2-approximation of minimum knapsack problem (0) | 2023.12.17 |
Blogewoosh #1 translated (0) | 2020.01.14 |
HilbertMO : alternative query sorting for Mo's algorithm (3) | 2018.11.15 |
키타마사법 (Kitamasa method) (0) | 2017.11.05 |