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

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

2
セットのうち少なくとものアイテムを検索します
検討値の組は、(無重複とソート配列として表され、既知の大きさ(すなわちサイズはO(1))の値がOに等しいかどうかを試験することができる。(1)時間を得ることができる。私が欲しいです中で少なくとも異なるセットに存在する値のセットを取得します。nnnkkknnn これを行うための明らかなアルゴリズムは、すべてのセットを調べて、各値の出現回数をカウントし、カウントがより大きい値を返すことです。しかし、場合によっては、より良い方法もあります。たとえば、で、一方のセットが他方のセットよりもはるかに小さい場合、すべての項目を調べてバイナリ検索を実行する方が効率的です。それぞれについて:バイナリ検索アプローチのコストはあるのに対し、ナイーブアプローチのコストはです。kkkn=k=2n=k=2n = k = 2S1S1S_1S2S2S_2S1S1S_1S2S2S_2O(|S1|log(|S2|))O(|S1|log⁡(|S2|))O(|S_1| \log(|S_2|))O(|S1|+|S2|)O(|S1|+|S2|)O(|S_1| + |S_2|)|S1|&lt;&lt;|S2||S1|&lt;&lt;|S2||S_1| << |S_2| これを念頭に置いて、どのような状況でナイーブアルゴリズムよりもうまくやることができますか?(これがよく知られている問題である場合、その通常の名前を知っており、参考にしていただければ幸いです)


1
一般的な位置でのベクトルの構築
本当ましょう (K ≤ N)行列Aの任意のコレクションという特性を持つk個の列がフルランクであるが。k×nk×nk\times nk≤nk≤nk\le nAA{\bf A}kkk Q:拡張マトリックスA ′ = [ Aのようなベクトルを決定論的に見つける効率的な方法はありますかaa{\bf a}は Aと同じプロパティを保持します。k列はフルランクです。A′=[Aa]A′=[Aa]{\bf A}' = [{\bf A}\;{\bf a}]AA{\bf A}kkk 関連する補足事項:このプロパティを持つマトリックスは、(n,k)(n,k)(n,k)リードソロモンコードのジェネレーターです。Vandermonde構造を保持する列を追加すると、ランクプロパティが保持されます。

5
多次元空間で関数の絶対最小(最大)を検索するための勾配降下ベースの手法はありますか?
特定の関数の極小値(最大値)を検出できる勾配降下アルゴリズムに精通しています。 関数がいくつかの極値を持っている絶対最小値(最大値)を見つけることができる勾配降下の変更はありますか? 絶対的な極値を見つけるために、局所的な極値を見つけることができるアルゴリズムを強化する一般的な手法はありますか?

3
周波数モーメントの近似の限界
ましょう1、2、... 、mはそれぞれ整数のシーケンスであるJ ∈ { 1 、2 、... 、N }。以下のためのI ∈ { 1 、2 、... 、N }、聞かせて、M iは = | { j :a j = i } | 。K個の周波数モーメント番目はと定義されますa1、2、… 、ama1,a2,…,ama_1, a_2,\dotsc, a_maj∈ { 1 、2 、... 、N }aj∈{1,2,…,n}a_j \in \{1,2,\dotsc,n\}I ∈ { 1 、2 、... 、N }i∈{1,2,…,n}i \in \{1,2,\dotsc,n\}m私= | { …

3
一般的なグラフで2未満の近似で距離を計算しますか?
エッジを持つ重み付き無向グラフを考えると、与えられた頂点のペア間の2未満の近似距離を計算したいと思います。もちろん、二次空間と準線形クエリ時間を使用したいと思います。m=o(n2)m=o(n2)m = o(n^2) 私は行列乗算を使用するZwickの結果を知っていますが、この問題に対して組み合わせアルゴリズムが知られているかどうか興味がありますか?

3
マーリンはアーサーにある金額について納得させることができますか?
無限の計算リソースを持っているマーリンは、アーサーに 用の(N 、M 、K )と、K = O (対数Nを)と、M = O (N )。 この合計を簡単な方法(モジュラーべき乗と加算)で計算するには、時間N (log log N )2 + o (m|∑p≤N, p primepkm|∑p≤N, p primepkm|\sum_{p\le N,\ p\text{ prime}}p^k(N,m,k)(N,m,k)(N,m,k)k=O(logN)k=O(log⁡N)k=O(\log N)m=O(N).m=O(N).m=O(N). FFTベースの乗算を使用。*ただし、アーサーはO(N)操作しか実行できません。N(loglogN)2+o(1)N(log⁡log⁡N)2+o(1)N(\log\log N)^{2+o(1)}O(N)O(N)O(N) (表記は、この問題の以前のバージョンとの互換性のために:和に等しいう、次に問題があるかどうかをαは整数です。)mαmαm\alphaαα\alpha マーリンは長さストリングでアーサーを説得できますか?そうでない場合、彼はアーサーをインタラクティブな証明で納得させることができます(もちろん、完全なコミュニケーションはO (N )でなければなりません)。その場合、Merlinは長さo (N )の文字列を使用できますか?アーサーはo (N )時間を使用できますか?O(N)O(N)O(N)O(N)O(N)O(N)o(N)o(N)o(N)o(N)o(N)o(N) アーサーは非決定論や他の特別なツール(量子メソッド、マーリン以外の神託など)にアクセスできませんが、必要に応じてスペースがあります。もちろん、アーサーは合計を直接計算する必要はなく、与えられたトリプル(N、m、k)が方程式を真または偽にすることを確信する必要があるだけです。O(N)O(N)O(N) そのノートが時間に和を計算することが可能であるO (N 1 / 2 + ε)使用Lagarias-Odlyzkoの方法。以下のためのk &gt; 0合計が超線形であるので、(なし、例えば、モジュラー化)を直接保存することはできませんが、それは速いアルゴリズムが存在するかどうかは明らかではありません。k=0k=0k=0O(N1/2+ε)O(N1/2+ε)O(N^{1/2+\varepsilon})k&gt;0k&gt;0k>0 また、直接の電力供給と加算による以外の合計(モジュラーまたはその他)を計算するアルゴリズムにも興味があります。 * …

1
SATソルバーを特殊なアルゴリズムと競合させる
SATソルバーを特殊なグラフアルゴリズムと競合させるための障害は何ですか?言い換えれば、アルゴリズム設計者の役割を置き換えることができるSATソルバーを期待することは可能ですか?つまり、問題の構造を自動的に認識し、専門のアルゴリズムと同じくらい迅速に解決することができますか? ここで、今日のSATソルバーにとってやりがいがあると思ういくつかの例を示します。 サイズ独立したセットをカウントします。「xはサイズkの独立したセット」をエンコードすると、解決が難しい大きな式が得られます。理想的なSATソルバーは、この問題が境界付きツリー幅グラフで簡単であり、バッグに追加の「カウント」変数が追加されていることを認識します。kkk 最小のシュタイナーツリーを見つけます。繰り返しになりますが、「Steiner tree」にはグローバルな制約がありますが、特別なアルゴリズム(ここのような)により、追加の変数を追加することでタスクが簡単になります 平面的な完全一致に帰着する問題。

1
「再帰的」ハッシュアルゴリズムは存在しますか?
理論的または実用的なハッシュアルゴリズムのクラスはありますか。そのクラスのアルゴリズムは、以下に示す定義に従って「再帰的」と見なされます。 hash1 = algo1( "入力テキスト1") hash1 = algo1( "入力テキスト1" + hash1) +演算子は、アルゴリズム(algo1)がまったく同じ結果を生成するように、出力(hash1)を結合して入力(「input text 1」)に戻す連結またはその他の指定された操作です。すなわち、入力と入力+出力の衝突。+演算子は両方の入力全体を結合する必要があり、アルゴは入力の一部を破棄しない場合があります。 アルゴリズムは、出力で高いエントロピーを生成する必要があります。出力を1つまたは両方の可能な入力に戻すのは暗号的に難しいかもしれませんが、そうする必要はありません。 私は数学者ではありませんが、良い答えには、このようなクラスのアルゴリズムが存在できない理由の証明が含まれる場合があります。ただし、これは抽象的な質問ではありません。システムにこのようなアルゴリズムが存在する場合、そのアルゴリズムを使用することに本当に興味があります。 これは、https://stackoverflow.com/questions/4823680/reflexive-hashに最初に投稿された質問の複製です

3
すべての頂点のDAG内の到達可能な頂点の数
ましょう出次数任意頂点となるように、非環式有向グラフであるO (ログ| V |)。Gのすべての頂点について、すべての頂点からdfsを実行するだけで、到達可能な頂点の数をカウントできます。これにはO (| V | | E |)時間かかります。この問題を解決するより良い方法はありますか?G (V、E)G(V,E)G(V,E)O (ログ| V| )O(log⁡|V|)O(\log{|V|})GGGO (| V| | E| )O(|V||E|)O(|V||E|)

1
拡張ユークリッドアルゴリズムの「オーバーフロー」
質問をする場所を間違えた場合は申し訳ありません(たぶん、stackoverflow.com / mathoverflow.netに行くべきでしょうか?)。 (である拡張ユークリッドアルゴリズムをBézoutの係数を評価する際に証拠があるのだろうか、S及びTアイデンティティによう + BT = GCD(、 bは))、いくつかの合理的な値(A、Bに応じて、Iの推測を超えないであろうが)。特定の汎用プログラミング言語での特定の実装では、プログラムのオーバーフローの正確さに興味があります。 正確には、Victor Shoupのアルゴリズムの説明を使用できます(彼の本から無料で入手できる彼の著書「数論と代数の計算入門」の4.2 )。

4
人間の知能とアルゴリズム
人間の知能がアルゴリズムよりも優れているかどうかを判断する研究はありますか(つまり、フリーランチ定理が人間の知能に適用されるかどうかをテストします)。 同じ方針に沿って、人間の知能の独自の超計算特性を活用する技術的な方法を開発した人はいますか?

2
「確率方程式」のシステム
個の頂点と個のエッジを持つグラフを考えます。頂点は、実変数でラベル付けされます。ここで、は固定です。各エッジは「測定値」を表します。エッジについては、測定値ます。より正確には、は真にランダムな量であり、均一に分布し、他のすべての測定値(エッジ)から独立しています。mはxはiはxは1 = 0 (U 、V )Z ≈ X U - X のV Z (X U - X V)± 1nnnmmmバツ私xix_iバツ1= 0x1=0x_1=0(u 、v )(u,v)(u,v)z≈ Xあなたは− xvz≈xu−xvz \approx x_u - x_vzzz(xあなたは− xv)± 1(xu−xv)±1(x_u - x_v) \pm 1 上記の分布が約束されたグラフと測定値が与えられます。システムを「解決」し、のベクトルを取得したい。このタイプの問題に関する一連の作業はありますか?バツ私xix_i 実際、もっと簡単な問題を解決したいと思っています。誰かが頂点とを計算するます。最短経路を見つける、できる限り多くの互いに素な経路を見つけてそれらを平均化する(長さの平方根の逆数で重み付け)など、試すことはたくさんあります。「最適な」答えはありますか?t x s − x tssstttバツs− xtxs−xtx_s - x_t の計算の問題自体は完全には定義されていません(たとえば、変数について事前に仮定する必要がありますか?)バツs− xtxs−xtx_s - x_t

2
Nのビットを効率的に取得!?
与えられたとM、取得することも可能であるMの番目のビット(またはいずれかの小型基地の桁)Nを!時間/空間におけるO (P (L N (N )、L N (M )))、P (X 、Yは)におけるいくつかの多項式関数であり、X及びY?NNNMMMMMMN!N!N!O (p (l n (N)、l n (M)))O(p(ln(N),ln(M)))O( p( ln(N), ln(M) ) )p (x 、y)p(x,y)p(x, y)バツxxyyy つまり、与えられた、M = 2 μ(とN、M ∈ Z)、ビットを見つける2 μの(2 ηを)!in O (p (η 、μ ))。N= 2ηN=2ηN = 2^\etaM= 2μM=2μM = 2^\muNNNM∈ ZM∈ZM \in \mathbb{Z}2μ2μ2^\mu(2η)!(2η)!(2^\eta)!O (p (η、μ ))O(p(η,μ))O( …

3
安定結婚問題への拡張?
これは、TCSよりも社会科学の質問のように聞こえるかもしれませんが、そうではありません。安定結婚問題を説明する「ランダム化アルゴリズム」を読むとき、次のように読むことができます(p54) 「選好リストの選択ごとに少なくとも1つの安定した結婚が存在することを示すことができます(不思議なことに、これは偶数の住民がいる同性愛の一夫一婦制社会の場合ではありません)。 同性愛一夫一婦制社会、または人口の特定のサブセットがより大きなセットとは異なるルールのセットに従う社会を含むある種の定常状態を可能にする安定結婚問題の非常に単純な拡張はありますか? 肯定的に、そのようなマッチングを実行するアルゴリズムはありますか?

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