タグ付けされた質問 「dynamic-programming」

1
動的プログラミングは貪欲よりも決して弱くないのですか?
回路の複雑さの中で、さまざまな回路モデルのパワーを分離しています。 証明の複雑さでは、さまざまな証明システムの能力を分離しています。 しかし、アルゴリズムでは、アルゴリズムのパラダイムの力の間の分離はまだわずかしかありません。 以下の私の質問は、貪欲と動的プログラミングという2つのパラダイムでこの後者の問題に触れることを目的としています。 要素の基本セットと、そのサブセットの一部のファミリが実行可能なソリューションとして宣言されています。このファミリは下向きに閉じていると仮定します。実行可能なソリューションのサブセットは実行可能です。地上要素への非負の重みの割り当てを考えると、問題は実行可能な解の最大合計重みを計算することです。 欲張りアルゴリズムは、空の部分解で始まり、各ステップで、可能な限り最大の未処理要素を追加します。つまり、拡張解がまだ実行可能な場合です。よく知られているRado-Edmondsの定理は、このアルゴリズムが実行可能な解のファミリーがマトロイドである場合、すべての入力の重みに対して最適な解を見つけると述べています。 大まかに言えば、DPアルゴリズムは、MaxおよびSum(またはMinおよびSum)操作のみを使用する場合、単純です。より具体的には(Joshuaが示唆するように)、単純なDPアルゴリズムによって、fann-2 MaxゲートとSumゲートを持つ(max、+)回路を意味します。入力は変数であり、その私私i番目は番目の要素に与えられた重みに対応します。このような回路は、実行可能なソリューションの最大総重量を計算するだけで、このような問題を解決できます。しかし、指数関数的に多くのそのようなソリューションがある場合、これは非常にやり過ぎになる可能性があります(ほとんどの場合そうです)。私私i 質問1: 単純なDPアルゴリズムで、対応する最大化問題を解決するために超多項式数の演算が必要なマトロイドはありますか? コメント(2015年12月24日追加):この質問は既に回答済みです(以下を参照)。圧倒的多数であっても、このようなマトロイドがあります。 次の質問では、近似問題のために貪欲なDPと単純なDPを分離するように求めています。で最大量のマッチング問題、実現可能な解決策の家族は完全な二部では、すべてのマッチングで構成さグラフ。エッジへの重みの指定された割り当ての目的は、マッチングの最大重みを計算することです(重みは負でないため、これは常に完全なマッチングになります)。 n × nn×nn\times n 単純な欲張りアルゴリズムは、要因2内でこの問題を近似できます。常に、最大重量のまだ表示されていないばらばらのエッジを取るだけです。得られた重量は、最適重量の少なくとも半分になります。 質問2: 単純なDPアルゴリズムは、多項式的に多くのMaxおよびSum演算のみを使用して、因子2内のMax-Weight Matching問題を近似できますか? もちろん、エッジの最大重みの倍を出力する単純なDPアルゴリズムは、因子内でこの問題を近似します。しかし、はるかに小さい係数が必要です。係数を達成することはできないと思いが、繰り返しますが、これをどのように証明するのでしょうか? nnnnnnn /ログnn/ログ⁡nn/\log n 関連:Max-Weight Matchingのいとこは、Assignment問題です。完全一致の最小重みを見つけます。この問題は、操作のみを使用する線形プログラミング(いわゆるハンガリー語アルゴリズム)によって(正確に)解決できます。しかし、パーマネント関数を計算するモノトーンブール回路のサイズのRazborovの下限は、任意の(!)有限要素内でこの問題を近似する(min、+)回路が操作。したがって、最小化問題の場合、単純なDPアルゴリズムは線形計画法よりもはるかに弱い可能性があります。上記の私の質問は、このようなDPアルゴリズムがGreedyよりもさらに弱いことを示すことを目的としています。 O (n3)O(n3)O(n^3)nΩ (ログn )nΩ(ログ⁡n)n^{\Omega(\log n)} 誰かが同様の質問を誰かが検討しているのを見たことがありますか? 追加(2015年12月24日):質問2は、因子貪欲アルゴリズムで近似できる特定の最大化問題(Max-Weight Matching問題)を、単純なポリサイズでは近似できないことを示すことを目的としています。同じ係数 DP 。一方、私は貪欲と単純なDPの間の弱い分離を得ました:すべてのには、因子貪欲なアルゴリズムで近似できる明示的な最大化問題がありますが、ポリサイズの単純なDPアルゴリズムは、より小さい係数この問題を近似できます(こちらを参照)r = 2r=2r=2r = o (n / log n )rrrrr = o (n / logn …

1
基本対称多項式の単調な算術回路の複雑さ?
kkk番目の初等対称多項式Snk(x1,…,xn)Skn(x1,…,xn)S_k^n(x_1,\ldots,x_n)全ての合計であるの製品の異なる変数。この多項式の単調な算術回路の複雑さに興味があります。単純な動的プログラミングアルゴリズム(および以下の図1)は、ゲートを持つ回路を提供します。 k(+、×)(+、×)O(kn)(nk)(nk)\binom{n}{k}kkk(+,×)(+,×)(+,\times)(+,×)(+,×)(+,\times)O(kn)O(kn)O(kn) 質問: 下限は わかっていますか? Ω(kn)Ω(kn)\Omega(kn) A回路であり、スキュー各積ゲートの2つの入力のうちの少なくとも一方が可変である場合。このような回路は、実際にはスイッチングと整流ネットワーク(変数でラベル付けされたエッジを持つ有向非巡回グラフです。各stパスはそのラベルの積を示し、出力はすべてのstパスの合計です)。すでに40年前、マルコフは驚くほどタイトな結果を証明しました最小単調算術スキュー回路には、正確に積ゲートがあります。アッパー。結合は、図1から次の (+,×)(+,×)(+,\times)SnkSknS_k^n k(n−k+1)k(n−k+1)k(n-k+1) しかし、スキューのない回線のこのような下限を証明する試みは見ていません。これは単なる私たちの「ar慢」なのでしょうか、それとも道に沿っていくつかの固有の困難が見られますか? PS すべてのを同時に計算するには、ゲートが必要であることを知ってい。これは、0-1入力をソートするモノトーンブール回路のサイズの下限から始まります。Ingo Wegenerの本の 158ページを参照してください。また、AKSソートネットワークは、この(ブール型)ケースではゲートで十分であることを意味し。実際、バウアーとストラッセンは、の非単調な演算回路のサイズについて、厳密な境界を証明しました。しかし、単調な算術回路はどうでしょうか?S n 1、… 、S n nΩ(nlogn)Ω(nlog⁡n)\Omega(n\log n)Sn1,…,SnnS1n,…,SnnS_1^n,\ldots,S_n^nO (n ログn )O(nlog⁡n)O(n\log n)Θ (n logn )Θ(nlog⁡n)\Theta(n\log n)Snn / 2Sn/2nS_{n/2}^n

4
関数のイータ等価性はHaskellのseq操作と互換性がありますか?
補題:我々はそれを持っているETA-同等と仮定すると(\x -> ⊥) = ⊥ :: A -> B。 証明:⊥ = (\x -> ⊥ x)イータ等価、および(\x -> ⊥ x) = (\x -> ⊥)ラムダの下での還元。 Haskell 2010レポートのセクション6.2では、seq2つの式で関数を指定しています。 seq :: a-> b-> b seq⊥b =⊥ seq ab = b、a≠ifの場合 その後、「seqを使用してそれらを区別できるため、notは\ x-> beと同じではありません」と主張します。 私の質問は、それは本当にの定義の結果seqですか? 暗黙の引数は、seq計算できない場合seq (\x -> ⊥) b = ⊥です。しかし、私はそのようseqなものが計算できないことを証明することができませんでした。私にはそのようなa seqは単調で連続的であるように思われ、それは計算可能という領域にそれを置きます。 seqなどを実装するアルゴリズムは、starting で始まるドメインを列挙することxで、どこを検索しようとすることで機能する場合f x …

1
パリンドロームによるストリングのカバー
w = σ1σ2… σnw=σ1σ2…σnw=\sigma_1\sigma_2\ldots\sigma_np1p2⋯ pmp1p2⋯pmp_1p_2\cdots p_mのp私p私p_ip1p2⋯ pm= wp1p2⋯pm=wp_1p_2\cdots p_m = wp私p私p_i パリンドロームの最小サイズのカバーを見つけるのはどれくらい難しいですか?(これは動的プログラミングで実行可能と思われますが、動作するかどうかはわかりません)。 bbb 単純な欲張りアルゴリズムを考えてみましょう。これは、常に現在の位置から始まる最長の回文を取ります。たとえば、場合w = 1213312w=1213312w=1213312(121 )⋅ (33 )⋅ (1 )⋅ (2 )(121)⋅(33)⋅(1)⋅(2)(121)\cdot(33)\cdot(1)\cdot(2)、最適なカバーは (1 )⋅ (213312 )(1)⋅(213312)(1)\cdot(213312)。 貪欲なアルゴリズムは問題の2近似を提供しますか?

2
「Google Eggs Puzzle」には、数学的に閉じた形(または少しきつい漸近形)がありますか?
以下の既知の「Google Eggs Puzzle」の簡単な説明は、主にWebサイトGoogle Eggsからのものです。 Google Eggs Puzzle:床がmで卵がmの場合、投げを最小限に抑えながら(壊れた卵ではなく)卵を安全に投げることができる最も高い床を見つける方法は何ですか。 上記の問題のいわゆる「最高階」は、より正式な定義に値します。 「最高」:f階から落下した卵は壊れますが、(f-1)階から落下した卵は壊れないような、床f(十分に高い建物)がなければなりません。そして、ここのf-1が最上階です。 実際、「最高」の記述は、スティーブン・S・スキエナの著書「アルゴリズム設計マニュアル(第2版)」からの抜粋です。第8章「動的プログラミング」の練習問題として、Google EggsやThe Two Egg Problemのように、動的プログラミングによってパズルを解くことに専念する多くのリソースがWebにあります。 しかし、上記の本からの質問があります: E(n,m)=Θ(n1m)E(n,m)=Θ(n1m)E(n, m) = \Theta(n^{\frac{1}{m}})E(⋅)E(⋅)E(\cdot) それが私の問題を動機づける質問です: E(n,m)=Θ(n1m)E(n,m)=Θ(n1m)E(n, m) = \Theta(n^{\frac{1}{m}})
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.