概要
要素の集合を
つに分割することを
回行って、どの
要素もどこかで分離されているようにすることができる。
向きの付いた分割についても同様の問題を考え、それぞれの構成法と最適性を示す。
向きの無い分割
問題例
無向グラフ があり、各辺には正の重みが付いているとする。
が与えられるので、
の条件下で
間の距離の最小値を求めよ。
解法
この問題は Dijkstra 法に少し手を加えると で解くことができるが、ここではその解法は思い浮かばなかったことにする。
を始点とする Dijkstra 法を行うと、どの
に対しても
への距離は
となってしまうため上手く行かない。
そこで
を取り、
を始点とし
を終点とする距離を求める。
もし最適な
が
によって分離されているなら、すなわち
を満たすなら、これで最適値が得られる。
を一様ランダムにとれば
の確率でこれは達成されるが、決定性アルゴリズムを得たい。
定式化すると以下のようになる。
問題
集合 に対し、以下の条件を満たす集合族
を構成する。
- 任意の
に対し、ある
が存在して、
は
に対しどこまで小さくできるか?
構成と最適性
各 に対し、
と定義する。
すると問題の条件は、任意の
に対して
と言い換えることができる。
なら鳩の巣原理によりこの条件は満たされることはなく、逆に
ならば各
が
の相異なる部分集合になるように
を定めることができる。
よって
が最適である。
元の問題例は で解けることになる。
向きの付いた分割
この節は ICPC 2023 World Finals Luxor に出題された問題の解法を基に執筆しています。
問題例
有向グラフ があり、各辺には正の重みが付いているとする。
が与えられるので、
の条件下で
の距離の最小値を求めよ。
解法
有向グラフになったため、最適な に対し
を満たす必要がある。
定式化すると以下のようになる。
問題 (ICPC 2023 WF 改題)
集合 に対し、以下の条件を満たす集合族
を構成する。
- 任意の
に対し、ある
が存在して、
は
に対しどこまで小さくできるか?
構成と最適性
前節と同様に、各 に対し
と定義する。
すると問題の条件は、任意の
に対して
と言い換えることができる。
を固定した際にこのような
が最大でいくつ取れるかという問題の解答は Sperner の定理として知られており、
として大きさ
の
の部分集合を選べばよい。
したがって、
となる最小の
が
の最小値である。
であり、例えば
で
程度まで構成できる。