動的プログラミングは貪欲よりも決して弱くないのですか?


15

回路の複雑さの中で、さまざまな回路モデルのパワーを分離しています。

証明の複雑さでは、さまざまな証明システムの能力を分離しています。

しかし、アルゴリズムでは、アルゴリズムのパラダイムの力の間の分離はまだわずかしかありません。

以下の私の質問は、貪欲と動的プログラミングという2つのパラダイムでこの後者の問題に触れることを目的としています。

要素の基本セットと、そのサブセットの一部のファミリが実行可能なソリューションとして宣言されています。このファミリは下向きに閉じていると仮定します。実行可能なソリューションのサブセットは実行可能です。地上要素への非負の重みの割り当てを考えると、問題は実行可能な解の最大合計重みを計算することです。

欲張りアルゴリズムは、空の部分解で始まり、各ステップで、可能な限り最大の未処理要素を追加します。つまり、拡張解がまだ実行可能な場合です。よく知られているRado-Edmondsの定理は、このアルゴリズムが実行可能な解のファミリーがマトロイドである場合、すべての入力の重みに対して最適な解を見つけると述べています。

大まかに言えば、DPアルゴリズムは、MaxおよびSum(またはMinおよびSum)操作のみを使用する場合、単純です。より具体的には(Joshuaが示唆するように)、単純なDPアルゴリズムによって、fann-2 MaxゲートとSumゲートを持つ(max、+)回路を意味します。入力は変数であり、その番目は番目の要素に与えられた重みに対応します。このような回路は、実行可能なソリューションの最大総重量を計算するだけでこのような問題を解決できます。しかし、指数関数的に多くのそのようなソリューションがある場合、これは非常にやり過ぎになる可能性があります(ほとんどの場合そうです)。

質問1: 単純なDPアルゴリズムで、対応する最大化問題を解決するために超多項式数の演算が必要なマトロイドはありますか?

コメント(2015年12月24日追加):この質問は既に回答済みです(以下を参照)。圧倒的多数であっても、このようなマトロイドがあります

次の質問では、近似問題のために貪欲なDPと単純なDPを分離するように求めています。で最大量のマッチング問題、実現可能な解決策の家族は完全な二部では、すべてのマッチングで構成さグラフ。エッジへの重みの指定された割り当ての目的は、マッチングの最大重みを計算することです(重みは負でないため、これは常に完全なマッチングになります)。 n×n

単純な欲張りアルゴリズムは、要因2内でこの問題を近似できます。常に、最大重量のまだ表示されていないばらばらのエッジを取るだけです。得られた重量は、最適重量の少なくとも半分になります。

質問2: 単純なDPアルゴリズムは、多項式的に多くのMaxおよびSum演算のみを使用して、因子2内のMax-Weight Matching問題を近似できますか?

もちろん、エッジの最大重みの倍を出力する単純なDPアルゴリズムは、因子内でこの問題を近似します。しかし、はるかに小さい係数が必要です。係数を達成することはできないと思いが、繰り返しますが、これをどのように証明するのでしょうか? nnn/ログn

関連:Max-Weight Matchingのいとこは、Assignment問題です。完全一致の最小重みを見つけます。この問題は、操作のみを使用する線形プログラミング(いわゆるハンガリー語アルゴリズム)によって(正確に)解決できます。しかし、パーマネント関数を計算するモノトーンブール回路のサイズのRazborovの下限は、任意の(!)有限要素内でこの問題を近似する(min、+)回路が操作。したがって、最小化問題の場合、単純なDPアルゴリズムは線形計画法よりもはるかに弱い可能性があります。上記の私の質問は、このようなDPアルゴリズムがGreedyよりもさらに弱いことを示すことを目的としています。 On3nΩログn

誰かが同様の質問を誰かが検討しているのを見たことがありますか?


追加(2015年12月24日):質問2は、因子貪欲アルゴリズムで近似できる特定の最大化問題(Max-Weight Matching問題)を、単純なポリサイズでは近似できないことを示すことを目的としています。同じ係数 DP 。一方、私は貪欲と単純なDPの間の弱い分離を得ました:すべてのには、因子貪欲なアルゴリズムで近似できる明示的な最大化問題がありますが、ポリサイズの単純なDPアルゴリズムは、より小さい係数この問題を近似できます(こちらを参照)r=2r = o n / log n rrr=on/ログnr<r/3スケッチ用)。それでも、質問2自体(この特定のMax-Weightの問題には必ずしも必要ではありません)は実際のままです。両方のアルゴリズムで同じ要因を対象とすることは興味深いでしょう。


2
「単純なDPアルゴリズム」を「ファンイン2のゲートを持つ任意の(最大、+)回路」として定義するつもりですか?
ジョシュアグロチョウ

バツjKnDj1=バツsjD(j,l)=min{D(j,l1),mini{D(i,l1)+xi,j}}D(t,n1)O(n3)

回答:


6

私の質問1への答えは肯定的だと思います:単純なDPがひどく失敗するマトロイドがあります!つまり、最適化問題を正確に解決しようとすると、単純なDPは貪欲よりもはるかに悪い場合があります。

KnKnff最大+

22n/n3/2n

2kkマトロイド。一方、私が知る限り、DPベースの近似アルゴリズムは通常、入力重みのある種の「スケーリング」を使用し、「ナップサックのような」問題またはいくつかのスケジューリングの問題にのみ適用されます。質問2に対する否定的な回答は、DPのこの「近似の弱さ」のように見えることを確認します。


1
やや接線的な発言:DPは、さまざまな固定次元ユークリッド問題(ユークリッドTSPなど)のAroraスタイルのアルゴリズムでも使用されます。しかし、これはまだ入力を丸めるという精神です。
サショニコロフ

@Sasho:はい、これらは確かにかわいいDPベースのアルゴリズムです。Woegingerは、DPがそれらを近似するのに役立つ可能性のある問題をキャプチャしようと試みました。しかし、純粋な良いDP近似を見たことはありません(MaxとSumまたはMinとSumのみ、丸め/スケーリングなし、ArgMaxなしなど)もちろん、これは私のせいかもしれません:近似アルゴリズムは私にとって新しいものです。
Stasys

私は、あなたの純粋な意味での良い「純粋な」DP近似の例を知りません。私が知っているすべての例は、何らかの形の丸めを使用しています。
サショニコロフ
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.