タグ付けされた質問 「ds.algorithms」

タスクを完了するための明確に定義された指示、および時間/メモリ/その他に関する関連分析に関する質問。

1
時間で行列積検証を実行できる最も一般的な構造は何ですか?
1979年、Freivaldsは、任意のフィールドでの行列積の検証がランダム化された時間で行えることを示しました。より正式には、フィールドFからのエントリを持つ3つの行列A、B、およびCが与えられた場合、AB = Cがランダム化されたO (n 2)時間アルゴリズムを持つかどうかをチェックする問題。O (n2)O(n2)O(n^2)O (n2)O(n2)O(n^2) 行列を乗算するための最速の既知のアルゴリズムはこれよりも遅いため、これは興味深いです。したがって、AB = CであるかどうかのチェックはCの計算よりも速いです。 行列積の検証がまだ時間(ランダム化)アルゴリズムを持っている最も一般的な代数構造は何かを知りたいです。元のアルゴリズムはすべてのフィールドで機能するため、すべての積分ドメインでも機能すると思います。O (n2)O(n2)O(n^2) この質問に対する最良の答えは、「パス、マトリックス、および三角形の問題間のサブキュービック等価性」で、「リング上のマトリックス製品検証はランダム化時間[BK95]で実行できます」でした。([BK95]:M. BlumおよびS. Kannan。 彼らの仕事をチェックするプログラムの設計。J。ACM、42(1):269–291、1995.)O (n2)O(n2)O(n^2) まず、リングは、この問題がランダム化アルゴリズムを持つ最も一般的な構造ですか?第二に、[BK95]の結果がすべてのリングでO (n 2)時間アルゴリズムをどのように示すかを見ることができませんでした。誰かがその仕組みを説明できますか?O (n2)O(n2)O(n^2)O (n2)O(n2)O(n^2)

2
直方体の結合に含まれる最大の立方体を見つける
3D空間には多くの直方体があり、それぞれの開始点は(x、y、z)で、サイズは(Lx、Ly、Lz)です。立方体の結合に含まれるこの3D空間で最大の立方体をどのように見つけるのか疑問に思います。これに効率的なアルゴリズムはありますか? たとえば、次の直方体がある場合: サイズ(10,10,10)で(0,0,0)から始まる直方体、 サイズ(12,13,15)の(10,0,0)の直方体、 サイズ(10,10,10)の(0,10,0)の直方体、 サイズ(10,10,10)の(0,0,10)の直方体、および サイズ(9,9,9)の(10,10,10)の直方体。 次に、これらの直方体の和集合に含まれる最大の立方体は、サイズ(19,19,19)の(0,0,0)で始まる立方体になります。 この質問のより一般的なバージョン: R dのボックスのコレクションが与えられた場合、ボックス の結合内に含まれる最大のハイパーキューブを見つけます。nnnRdRd\mathbb{R}^d

3
積分ギャップと近似比
最小化問題の近似アルゴリズムを考慮すると、この問題のIP定式化の積分ギャップは、特定のクラスのアルゴリズム(丸めアルゴリズムや主双対アルゴリズムなど)の近似比の下限を与えます。実際、最適な近似比が積分ギャップに一致する問題が数多くあります。 アルゴリズムによっては、問題の積分ギャップよりも優れた近似比を持つ場合がありますが、そのような例が存在するかどうかはわかりません。答えが「はい」の場合、いくつか例を挙げていただけますか? いくつかの問題が複数の数学的定式化を認めることを知っています。このような場合、多項式時間で解くことができる限り、最小の積分ギャップを持つ数学的定式化を検討してください(おそらく、いくつかの定式化は分離オラクルを使用するかもしれません)。 この質問は[質問:積分ギャップの重要性]に関連しています。

2
ナンバーホッパー迷路を解く
私の8歳の子供は、従来の迷路を作成するのに飽きてしまい、次のようなバリエーションを作成することに取りかかりました。 アイデアは、xから始まり、通常のルールを介してoに到達することです。また、あなたは整数いずれかから「ホップ」することができます任意の他の整数にが、あなたが支払わなければならない特権のためのドル。目標は、最小のコストで迷路を解決することです。上記の例では、コスト5でx-14-18-27-28-oを介してxからoに行くことができますが、x-13-11-9-8-29-28-oに行く方が安くなります4。aaabbb|a−b||a−b||a-b| だからここに私の質問です:これを解決するために考えることができる(漸近的な実行時間の観点から)最良の解決策は何ですか?入力形式について合理的な仮定を行うことができます。 注:回答を念頭に置いているため、ここで「パズル」タグを使用していますが、それが最適であるかどうかはわかりません。(ここで、は迷路内の整数の数です。)O(n2)O(n2)O(n^2)nnn

3
O(n log n)時間で二乗したスパース多項式の合計を計算しますか?
次数が最大、多項式あり、非ゼロ係数の総数があると仮定し(つまり、多項式はスパースです)。多項式を計算するための効率的なアルゴリズムに興味があります。 n n &gt; m np1、。。。、pmp1,...,pmp_1,...,p_mnnnn &gt; mn&gt;mn>mnnn ∑私p私(x )2∑ipi(x)2\sum_i p_i(x)^2 この多項式の次数は最大、入力サイズと出力サイズの両方がです。の場合、時間 FFTを使用して結果を計算でき。これは任意のに対して実行できますか?何らかの違いがある場合、係数が0と1である特別なケースに興味があり、整数に対して計算を行う必要があります。O (n )m = 1 O (n log n )m &lt; n2 n2n2nO (n )O(n)O(n)m = 1m=1m=1O (n ログn )O(nlog⁡n)O(n \log n)m &lt; nm&lt;nm<n 更新。上記の高速な解決策は、高速行列乗算の進歩を意味することを理解しました。特に、場合、の係数としてで。したがって、計算は2つのベクトルの外積の計算に対応し、和計算は行列積の計算に対応します。計算に時間を使用する解がある場合、時間つの行列の行列を乗算できます。 a i k b k j x i + n j p k(x …

2
中央値選択のストレージ要件(2パスアルゴリズム)
古典的な論文で、マンロとパターソンは、アルゴリズムがランダムにソートされた配列の中央値を見つけるために必要なストレージの量の問題を研究しています。特に、次のモデルに焦点を当てています。 入力は、左から右へ数P回読み取られます。 それが示されているメモリセルで十分ですが、対応する下限はP = 1についてのみ知られています。P&gt; 1の結果は見ていません。誰もそのような下限を知っていますか? O (n12 P)O(n12P)O(n^{\frac{1}{2P}}) ここでの主な難点は、2回目のパスで入力がランダムに順序付けされなくなることです。

5
シンプルで実用的な決定論的アルゴリズム、複雑な実行時間
非常に多くの場合、アルゴリズムの実行時間が複雑な式である場合、アルゴリズム自体も複雑で非実用的です。漸近実行時間の各キューブルートと因子は、アルゴリズムに複雑さを加え、実行時間に隠された定数因子を追加する傾向があります。loglognlog⁡log⁡n\log \log n この経験則が失敗する印象的な例はありますか? もちろん、実行時間が非常に単純な最悪の場合でも、実装が非常に難しいアルゴリズムの例を見つけるのは簡単です。しかし、逆はどうですか? 実装は簡単ですが、最悪の場合の漸近実行時間として非常に複雑な式が発生する、非常にシンプルで実用的な決定論的アルゴリズムの例はありますか? キーワード「決定論的」および「最悪」に注意してください。単純なランダム化アルゴリズムの分析は、かなり簡単に複雑な表現につながります。 もちろん、「複雑な」ものは好みの問題です。とにかく、私はあなたの論文のタイトルに入れるにはあまりにもugい表現を見たいと思います。そして、1つの自然なパラメーター(入力サイズ、ノード数など)の複雑な関数を好むでしょう。 PS。私はと思っていない CWを、この「ビッグリストの質問」にする、とではありません。1つの優れた例を見つけたい(存在する場合)。したがって、これまでのどの回答よりも「良い」と思う場合にのみ、別の回答を投稿してください。

2
最小累積セット合計
この問題を考えてみましょう:有限集合のリストが与えられたら、最小化する順序s1、s2、s3、…s1,s2,s3,…s_1, s_2, s_3, \ldotsを見つけます| s1| + | s1∪ S2| + | s1∪ S2∪ S3| +…|s1|+|s1∪s2|+|s1∪s2∪s3|+…|s_1| + |s_1 \cup s_2| + |s_1 \cup s_2 \cup s_3| + \ldots。 このための既知のアルゴリズムはありますか?その複雑さは何ですか?私はまだ効率的な最適なアルゴリズムを考えることができませんでしたが、NP-Hardでも明らかにそうではありません。

2
整数上の3SUM問題の2つのアルゴリズムの比較
Ilya Baran、Erik D. Demaine、Mihai Patrascuによる論文「Subquadratic Algorithms for 3SUM」には、次の複雑さがあります。 3SUM問題: ようながある場合、整数のリストLLLが与えられnnnx 、y、z∈ Lバツ、y、z∈Lx,y,z \in Lx + y= z。バツ+y=z。x+y=z. 彼らは、「 bitワードの標準ワードRAMで、実行時間を取得し 。1つの非標準AC0動作の回路RAMでは、O(n ^ 2 / w ^ 2 \ log w)を取得します。外部メモリでは、標準的な仮定の下でもO(n ^ 2 /(MB))を実現しますキャッシュを無視して、O(n ^ 2 / MB \ log M)の実行時間を取得します。すべての場合において、高速化は、モデルが調整できる「並列性」でほぼ2次であり、これが最良である可能性がありますこちらのBaran、Demaine、Patrascuの論文をご覧ください。ワット-w−w-A C 0 O (n 2 / w 2 log w )O …

2
Strassenアルゴリズムでのマトリックスの選択の背後にある大きな画像
Strassenアルゴリズムでは、2つの行列とBの積を計算するために、行列AとBは2 × 2ブロック行列に分割され、アルゴリズムは単純な8ブロック行列ではなく、7ブロック行列-行列積を再帰的に計算します。行列積、すなわち、我々は場合はC = A B、 A = [ 1 、1 A 1 、2 A 2 、1 A 2 、2AA\mathbf{A}BB\mathbf{B}AA\mathbf{A}BB\mathbf{B}2 × 22×22 \times 2777888C = A BC=AB\mathbf{C}=\mathbf{A} \mathbf{B} 次に、我々は C 1 、1 = A 1 、1件のB 1 、1 + A 1A = [ A1 、1A2 、1A1 、2A2 、2] 、 B …

2
有界原子価グラフのグラフ同型の穏やかな紹介
グラフ同型()があるグラフのクラスについて読んでいます。そのようなケースの1つは、ここで説明するように、有界原子価(各頂点の次数に対する最大値)のグラフです。しかし、私はそれがあまりにも抽象的であることがわかりました。誰かが説明的な性質のいくつかの参照を私に提案できるならば、私は感謝するでしょう。私はグループ理論に強いバックグラウンドを持っていないので、グループ理論を穏やかな方法で使用する論文を好みます(私のバックグラウンドはCSです)。PGIGIGIPPP

4
より高い属のグラフの難しい問題
平面グラフの属はゼロです。トーラスに埋め込み可能なグラフの属数は最大1です。私の質問は簡単です: 平面グラフでは多項式的に解けるが、属1のグラフではNP困難な問題はありますか? より一般的には、属gのグラフでは多項式的に解けるが、属&gt; gのグラフではNP困難な問題はありますか?

1
DFAの最小NFAの計算
何年も前に、DFA(決定論的)から最小NFA(非決定的有限オートマトン)を計算することは未解決の問題であり、逆の方向は何十年も知られており、効率的なアルゴリズム。誰かがアルゴリズムを考え出しましたか?O(nlgn)O(nlg⁡n)O(n \lg n) 簡単な検索で、この論文は私にとって間違いなく難しい問題であることを証明しました。どうやら、アルゴリズムが指定されていません。 [1] NFAの最小限の問題は難しい/ Tao JiangとB. Ravikumar この問題を思い出したのは、DFA-&gt; NFA最小化アルゴリズムが密接に関連しているCS.SEサイトに関する次の質問です。この次の質問は研究レベルのようです。TCSに移行することを提案し、統計的/経験的攻撃を示唆する回答を書きました。 [2] 同等のDFAが最大サイズになるためのNFAの条件は何ですか?

3
2つのバイナリ検索ツリーのマージ
任意のサイズと範囲の2つのバイナリ検索ツリーをマージするアルゴリズムを探しています。これを実装するための明確な方法は、範囲が他のツリーの任意の外部ノードに収まるサブツリー全体を見つけることです。しかし、このタイプのアルゴリズムのための時間を実行している最悪の場合は、の順になるようだと、それぞれの木の大きさです。O(n+m)nm ただし、これはで行うことができると言われていますO(h)。ここhで、高さの大きいツリーの高さです。そして、私はこれがどのように可能かについて完全に迷っています。最初に木を回転させて実験してみましたが、木を背骨に回転させることはすでにO(h)です。

1
エッジと頂点の削除によるグラフの接続性
私たちは、グラフとしましょうあるあれば-connectedは、いずれかの除去頂点と任意のからエッジ常に葉連結グラフ。たとえば、標準定義によると、接続グラフは、新しい定義によると接続です。が接続されているかどうかを判断する多項式時間アルゴリズムはありますか?ここでは、入力が、およびでと考えます。GGG(a,b)(a,b)(a,b)aaabbbGGGkkk(k−1,0)(k−1,0)(k-1,0)GGG(a,b)(a,b)(a,b)GGGaaabbb

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.