行列の列のサブセットを選択します。簡単ですか?


2

この問題が多項式時間で解けるかどうか知りたいのですが?

問題は次のとおりです。サイズが2 \ times nの非負の整数値行列2×nと2つの非負の整数値b<nおよびcが与えられますc

問題は、列のサブセットの各行の合計がcよりも大きくなるように、最大bのカーディナリティの列のサブセットを見つけることです。そのようなサブセットが存在しない場合は、noを返します。bc

NP難しいとは言えません。

編集:

硬さを証明するための私の試み:Filmusの提案に従って、PARTITION(インスタンスは負でない整数のセット\ {a_1、\ ldots、a_n \}によって与えられる{a1,,an})を私の問題に削減しようとしました。もちろん失敗しました。私が理解しなかったと思うのは、非負の整数のセットの分割がこの問題にどのように関係しているのですか?私の問題では、何かを最大化するために\ {1、\ ldots、n \}のサブセットを選択したいということです{1,,n}。これがパーティションであることがわかりません。私は多くの考えを試してみましたが、ここにそれらすべてを書くことはできません:

  • 最初の行にa_ {2i}のみ、2番目の行にa_ {2i + 1}のみを含む行列を作成しようとしました。a2ia2i+1
  • 最初の行を昇順でソートし、2番目の行を降順でソートするのに疲れました。
  • となるように、を2つの値とに分割し、最初の行に、2番目の行にを含む行列を作成しようとしました。aiαiβiai=αi+βiαiβi

PARTITIONを使用して問題のNP困難さを示すにはどうすればよいですか?あなたは解決策を与える必要はありません。

問題を解決するための私の解決策

私はこの解決策を試しました。一般性を失うことなく、行列の最初の行が昇順でソートされると仮定します。(行列の2行目は並べ替える必要はありません。そうでない場合、問題は簡単です。)

ここで、行列の最後の列を取ります。b

  • 最初の行の合計がよりも小さい場合は、完了したときよりも小さくなり。解決策はありません。c
  • または、最後の列の最初の行の合計がより大きい場合、2番目の行の合計を確認します。 bc
    • 最後の列の2番目の行の合計が、よりも大きい場合。最後の列を返します。bcb
    • そうでなければ、上の最初の行の合計値列は、より大きいが、上2行目の和列は、以下である。さて、ここに問題があります。bcbc

この時点では、解決策を提供せずにヒントを与えることは困難です。
Yuval Filmus

解答を答えに追加しました。あきらめる前に、もう一度頑張ってください。
Yuval Filmus、2016

回答:


6

ヒント:EQUAL-PARTITION(PARTITIONのバリアント)からの削減により、両方の部分が同じサイズである必要があるNPハードであることを示します(math.seの質問を参照)。

EQUAL-PARTITIONのインスタンス()が与えられた場合、、問題のインスタンスを考えます十分な大きさの(で十分だと思います)、および行列 {x1,,xn}xi>0b=n/2c=i(M+xi)/21MM=maxixi

[M+x1M+xnM+ixin/2x1M+ixin/2xn].

ありがとうございました。私はあなたが提案したようにPARTITIONを使ってそれをやろうとしました。PARTITIONのインスタンスを指定すると、ます。私は次のように問題のインスタンスを作成します:(は偶数であると思います)、、そして行列は。列のサブセットが最初のパーティションまたは2番目のパーティションにインデックスを持つものである場合に問題が解決される場合、PARTITIONは解決されます。これは正確ではないと思いますよね?A={a1,,an}b=n/2nc=i=1nai/2[a1ana1an]
ブリカ2016

インスタンスは簡単に解決できます最大の非負の sを取り、それらが合計して少なくともになるかどうかを確認します。いいえ、機能しません。次回は正式な証明を書いてみてください。また、PARTITIONの正確な定義(Wikipediaなど)も確認してください。n/2aiiai/2
Yuval Filmus 16

6
@ユヴァル。行列には負でないエントリがありますね。
zighalo 2016

5
ああ-私はその条件を逃した。しかし、おそらく削減は何らかの方法で調整できます。
Yuval Filmus、2016

3
@Brika必ずしもそうではありません。アイデアは、適切に変更すれば機能します。
Yuval Filmus
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.