区間被覆問題の複雑さ
以下の検討問題QQQ:我々は、整数を与えられ、及びk個の区間[ L Iを、rはiは ]で1 ≤ L I ≤ rはI ≤ 2 N。我々はまた、与えられた2 n個の整数は、dは1、... 、D 2 のn ≥ 0を。タスクは、間隔の最小数[ l i、r i ]を選択することですnnnkkk[li,ri][li,ri][l_i,r_i]1≤li≤ri≤2n1≤li≤ri≤2n1\leq l_i\leq r_i\leq 2n2n2n2nd1,…,d2n≥0d1,…,d2n≥0d_1,…,d_{2n}\geq 0[li,ri][li,ri][l_i,r_i]すべての、整数iを含む少なくともd iの間隔が選択されるようにします。i=1,…,2ni=1,…,2ni=1,…,2ndidid_iiii が多項式時間で解けることを確認するのは難しくありません(以下を参照)。QQQ ここで、次のわずかに変更された問題Q′Q′Q’考えます。問題の入力は以前と同じです。しかし、タスクは、現在の間隔の最小数を選択することであるようなすべてのためにその、少なくともD 2は、I - 1つの整数含有間隔2をI - 1、または少なくともD 2つのI整数を含む間隔2 iが選択されます(「または」は通常の論理ORを意味します)。i=1,…,ni=1,…,ni=1,…,nd2i−1d2i−1d_{2i-1}2i−12i−12i-1d2id2id_{2i}2i2i2i 私の質問:は多項式時間で解くことができますか?Q′Q′Q’ 効率的に解決する2つの方法を次に示します。QQQ シンプルな欲張りアルゴリズム:間隔を左から右にスイープし、数値を「満たす」ために必要な数だけ間隔を選択します。異なる間隔の間で選択がある場合は常に、右端が最大になるものを選択します。didid_i 整数プログラム:各間隔の決定変数を導入するには、xはI ∈ { 0 、1 }で、X iは = 1間隔IFFが選択されています。目的は、最小限に抑えることであるX 1 + …