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

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

3
最先端の最大流量アルゴリズムは実用的ですか?
最大流量の問題については、非常に高度なアルゴリズムがいくつかあり、少なくとも1つは昨年と同様に開発されたようです。O(mn)時間以上の Orlinの最大フローは、O(VE)で実行されるアルゴリズムを提供します。 一方、私が最もよく実装していると思われるアルゴリズムは次のとおりです(徹底的な検索を行ったとは主張していません;これは単なる観察からです)。 エドモンズ・カープ:、O(VE2)O(VE2)O(VE^2) プッシュラベル:またはO (V 3) FIFO頂点選択を使用して、O(V2E)O(V2E)O(V^2 E)O(V3)O(V3)O(V^3) ディニックのアルゴリズム:。O(V2E)O(V2E)O(V^2 E) 漸近的な実行時間の優れたアルゴリズムは、現実の問題のサイズに対して実際的ではありませんか?また、「動的ツリー」はかなりの数のアルゴリズムに関係していると思います。これらは実際に使用されていますか? 注:この質問はもともと、ここでスタックオーバーフローについて尋ねられましたが、ここでより適切だと言われました。 編集:cs.stackexchangeに関連する質問、特に動的ツリー(別名リンクカットツリー)を使用するアルゴリズムについて質問しました。これは、この質問をフォローしている人々にとって興味深いものです。

10
優れたアルゴリズム、機械学習、線形代数なし
私は高度なアルゴリズムコースを教えていますが、機械学習に関連するいくつかのトピックを含めたいと思います。これらのトピックは、生徒にとって興味深いものです。その結果、機械学習で現在最も興味深い/最大のアルゴリズム結果についての人々の意見を聞きたいと思います。潜在的にトリッキーな制約は、学生が線形代数や機械学習の他の主要なトピックに関する特定の以前の知識を持っていないということです。 これは本当にトピックについて彼らを興奮させ、MLがアルゴリズムの専門家にとって潜在的に刺激的な研究分野であることを彼らに知らせることです。 編集:これは最終年度の学部課程です(主に英国には大学院課程がないため)。彼らは事前に少なくとも1つの基本的なアルゴリズムコースを実施しており、おそらく高度なフォローアップコースを選択するのに十分な成績を収めているでしょう。上級コースの現在のシラバスには、完全ハッシュ、ブルームフィルター、van Emde Boas木、線形プログラム、約 NP困難問題などのアルゴリズム。MLだけに複数の講義を費やすつもりはありませんが、アルゴリズムコースとMLコースの両方に本当に関連がある場合は、もちろんそれも含めることができます。

10
計算のための現在の並列モデル
1980年代には、両方を引き起こしたPRAMとBSPの並列計算モデル。両方のモデルの全盛期は、80年代後半から90年代前半の間にあったようです。 これらの分野は、並列アルゴリズムの研究に関してまだ活発ですか?並列計算用のより洗練された新しいモデルはありますか?一般モデルはまだ流行していますか、それとも研究者はGPGPUやクラウドベースの計算を専門にしようとしていますか?

1
いくつかのコイントスを使用してバイアスのかかったコインを見つける
研究中に次の問題が発生しましたが、驚くほどクリーンです。 コインのソースがあります。各コインにはバイアス、つまり「頭」に落ちる確率があります。コインごとに独立して、2/3の確率で少なくとも0.9のバイアスがあり、残りの確率では、バイアスは[0,1]の任意の数になります。あなたはコインのバイアスを知りません。どのステップでもできるのは、コインを投げて結果を観察することだけです。 与えられたnに対して、あなたの仕事は、少なくとも確率で少なくとも0.8のバイアスを持つコインを見つけることです。1−exp(−n)1−exp⁡(−n)1-\exp(-n)です。O(n)コイントスだけを使用してそれを行うことはできますか?

2
多項式時間で2つの順列の合計を特定できますか?
最近cs.seで2つの 質問がありましたが、これらは次の質問に関連するか、または次の質問と同等の特別なケースがありました。 ようなシーケンスa1,a2,…ana1,a2,…ana_1, a_2, \ldots a_nのa nがます 二置換の和に分解との、、その結果。nnn∑ni=1ai=n(n+1).∑i=1nai=n(n+1).\sum_{i=1}^n a_i = n(n+1).ππ\piσσ\sigma1…n1…n1 \dots nai=πi+σiai=πi+σia_i = \pi_i + \sigma_i\, いくつかの必要条件があります: がになるようにソートされる場合、aiaia_ia1≤a2≤…≤ana1≤a2≤…≤ana_1 \leq a_2 \leq \ldots \leq a_n\, ∑i=1kai≥k(k+1).∑i=1kai≥k(k+1).\sum_{i=1}^k a_i \geq k(k+1). ただし、これらの条件は十分ではありません。このmath.seの質問の答えから、シーケンス5,5,5,9,9,9は2つの順列の合計として分解することはできません(1または5の両方が4)とペアになります。 私の質問は、この問題の複雑さは何ですか?

2
共通部分列
文字列には2n2n2^nサブシーケンスがありますが、通常はすべてが異なるわけではありません。サブシーケンスの最大頻度を見つけることの複雑さは何ですか? たとえば、文字列「subsequence」にはサブシーケンス「sue」のコピーが7つ含まれており、これが最大です。 http://ideone.com/UIp3tのブルートフォースコードのサンプル 関連する構造定理はありますか?これらは両方とも偽であることが判明しました。 最大頻度サブシーケンスの最長は一意です 任意の長さ-の最大周波数kkkサブシーケンスは単峰性であるkkk おそらく関連するリンク: #明確なサブ配列を数える∈P∈P\in \mathbf{P} http://11011110.livejournal.com/254164.html 複数のソースの関連コンテストの問題http://www.spoj.pl/problems/CSUBSEQS/ 関連論文http://dx.doi.org/10.1016/j.tcs.2008.08.035 10日後に編集:ご覧いただきありがとうございます!これにより、多項式時間で解けるプログラミングコンテストの問題が発生するのではないかと考えていました。私はそうは思いませんが、後でもう一度考えたいと思います。

4
「無向」バリアントよりも簡単な「有向」問題。
私はパンケーキの選別に関する講義を行っていて、次のように言及していました。 反転によるソートはNP困難です 反転による「署名付き」ソートはPにあります。 それは私に考えさせられました。「符号付き」ソートは「指示された」という意味があります-符号を方向として見ることができます(実際、これは進化生物学からの動機です)。しかし、それは簡単な問題です!一般に(少なくともグラフ上では)有向の問題は無向の対応問題よりも難しい(または少なくとも同じくらい難しい)ため、これは異常です。 「有向」の寛大な定義を仮定すると、無向の対応よりも簡単な有向問題の例はありますか?

16
定理によって簡単になった、見苦しいアルゴリズムの問​​題
次の現象が発生する良い例を探しています:(1)アルゴリズムの問​​題は、定義から動作し、標準の結果のみを使用してそれを解決したい場合、困難に見えます。(2)一方、(それほど標準的ではない)定理を知っていれば簡単になります。 これの目標は、理論分野以外の人(ソフトウェアエンジニア、コンピューターエンジニアなど)であっても、より多くの定理を学ぶことが役立つことを生徒に説明することです。以下に例を示します。 質問:整数与えられた場合、頂点接続性がk、エッジ接続性がl、最小次数がdであるようなn頂点グラフが存在しますか?n,k,l,dn,k,l,dn, k, l, dnnnkkklllddd パラメーターが指定された数値と正確に等しいことを必要とすることに注意してください。それらは単なる境界ではありません。これをゼロから解決したい場合は、かなり難しく見えるかもしれません。一方、次の定理に精通している場合(B. Bollobasの極値グラフ理論を参照)、状況はまったく異なります。 定理:レッツ整数です。次の条件のいずれかが満たされている場合にのみ、頂点接続性k、エッジ接続性l、および最小次数 dのn頂点グラフが存在します。n,k,l,dn,k,l,dn, k, l, dnnnkkklllddd 、 0≤k≤l≤d&lt;⌊n/2⌋0≤k≤l≤d&lt;⌊n/2⌋0\leq k\leq l \leq d <\lfloor n/2 \rfloor 1≤2d+2−n≤k≤l=d&lt;n−11≤2d+2−n≤k≤l=d&lt;n−11\leq 2d+2-n\leq k\leq l = d< n-1 k = l = d= n − 1。k=l=d=n−1.k=l=d=n-1. これらの条件は非常に簡単にチェックでき、入力パラメーター間の単純な不等式であるため、存在の質問に簡単に答えることができます。さらに、定理の証明は建設的であり、建設の問題も解決します。一方、この結果は十分に標準的なものではないため、誰もがそれについて知っていることを期待できます。 (それほど標準ではない)定理を知っているとタスクが大幅に簡素化されるという、この精神でさらに例を提供できますか?

3
ハミルトニアンサイクルを持たないランダムグラフを作成する方法
クラスA がハミルトニアンサイクルを持つサイズすべてのグラフを示すとします。このクラスからランダムグラフを生成するのは簡単です。n個の孤立ノードを取得し、ランダムハミルトニアンサイクルを追加してから、エッジをランダムに追加します。nnnnnn クラスB がハミルトニアンサイクルを持たないサイズすべてのグラフを示すようにします。このクラスからランダムなグラフを選択するにはどうすればよいですか?(またはそれに近い何かをする)nnn

4
多項式時間で最大の独立集合を見つけることができる最大クラス?
ISGCIグラフの1100クラス以上のリスト。これらの多くについては、多項式時間で独立集合を決定できるかどうかがわかります。これらはIS-easyクラスと呼ばれることもあります。最大の IS-easyクラスのリストをコンパイルしたいと思います。これらのクラスが一緒になって、この問題の(既知の)扱いやすさの境界を形成します。 ISが簡単な無限クラスに有限の数のグラフを追加するだけで、扱いやすさに影響を与えないため、いくつかの制限があります。クラスを遺伝性のものに制限しましょう(誘導サブグラフの取得、または同様に、除外された誘導サブグラフのセットによって定義される)。さらに、説明が小さいセットXに対してXフリーであるファミリのみを考えてみましょう。そこかもしれません されても可能なように扱いやすいクラス(の無限の昇順チェーン(P,star1,2,k)(P,star1,2,k)(P,\text{star}_{1,2,k})-freeおよび以下のDavid Eppsteinによって説明されているクラス)、しかし、IS-easyであることが実際に証明されているクラスに注意を制限しましょう。 私が知っているものは次のとおりです。 完璧なグラフ フリー(P,star1,2,5)(P,star1,2,5)(P,\text{star}_{1,2,5}) フリー(K3,3−e,P5)(K3,3−e,P5)(K_{3,3}-e, P_5) 共同メイニエル ほぼ二分 椅子なし (、クリケット)無料P5P5P_5 -free(P5,Kn,n)(P5,Kn,n)(P_5,K_{n,n})(固定)nnn -無料(P5,X82,X83)(P5,X82,X83)(P_5, X_{82}, X_{83}) 他のそのような最大クラスは知られていますか? 編集:除外された未成年者によって定義されたクラスを扱うYaroslav Bulatovが尋ねた関連する質問も参照してください。遺伝クラスのグローバルプロパティを参照してください。より一般的な質問については、以前に遺伝クラスについて質問しました。 Jukka Suomelaがコメントで指摘しているように、マイナーな除外されたケースも興味深い(そして興味深い質問をするでしょう)が、これはここでの焦点では​​ありません。 Davidの例を回避するために、Xのすべてのグラフが独立した頂点を持つわけではない、Xフリーグラフとして最大クラスも定義できる必要があります。 以下の回答にあるクラス: りんごなし(StandaŽivný推奨) (、house)-freeP5P5P_5(David Eppsteinにより提案) (爪)フリーK2∪K2∪K_2 \cup(デイビット・エップスタインによって示唆) 2013-10-09を追加しました: Lokshtanov、VatshelleおよびVillangerによる最近の結果は、Martin Vatshelleの回答で言及されており、以前に知られている最大クラスのいくつかに優先します。 特に、フリーはIS-easy subsumes(P 5、cricket)-free、(P 5、K n 、n)-free、(P 5、X 82、X 83)-free、および(P 5、家)-すべてはISで簡単です。P5P5P_5P5P5P_5P5P5P_5Kn,nKn,nK_{n,n}P5P5P_5X82X82X_{82}X83X83X_{83}P5P5P_5 これは、最大5つの頂点を持つ単一の禁止誘導サブグラフによって定義されるすべての遺伝グラフクラスが、ISイージーまたはISイージーでないと明確に分類できることを意味します。 残念ながら、フリーグラフがIS-easyクラスを形成するという証明は、P 6フリーグラフでは機能しないようです。そのため、次のフロンティアは、単一の6頂点グラフで定義されるすべての遺伝グラフクラスを分類することです。P5P5P_5P6P6P_6 私は特にフォームのIS-簡単なクラスに興味ままいくつかのコレクションのためのフリーX無限に多くの同型クラスとグラフの、まだどこYのフリーではありませんIS-簡単に任意のためのY ⊂ X。XXXXXXYYYY⊂XY⊂XY \subset …

5
posetsのバイナリ検索の一般化?
Sにポーズ "S"と単調な述語 "P"があるとします。Pを満たすSの1つまたはすべての最大要素を見つけたいと思います。 編集:私はPの評価の数を最小限にすることに興味があります。 この問題にはどのようなアルゴリズムが存在し、Sにはどのようなプロパティと追加の操作が必要ですか? 次のような重要な特殊なケースはどうですか? Sは線形順序です。「中間検索」操作がある限り、通常のバイナリ検索が機能します。 Sは格子です Sはサブセットラティスです Sはマルチセットラティスです ... 後者の2つのケースは、たとえば実験設計などで特に重要に思えます。ブールまたは実パラメータのセットがあり、特定のパターンを再現する最小の組み合わせ(たとえば、テストの失敗)を見つけたい場合です。

10
「現代の」コンピューターサイエンスが登場する前の確率的(ランダム化)アルゴリズム
編集:2012年12月6日までに最高スコアの回答を選択します。 これは簡単な質問です。 (決定的)アルゴリズムの概念は、BCにまでさかのぼります。確率的アルゴリズムはどうですか? ではこのwikiエントリ、計算幾何学における最も近いペアの問題のためのラビンのアルゴリズムは、最初の無作為化アルゴリズム(年???)として与えました。リプトンは、ここでのランダムアルゴリズムの現代の始まりとしてRabinのアルゴリズムを導入しましたが、最初のアルゴリズムとしてではありません。また、1960年代に発見された確率的有限オートマトン(非常に単純な計算モデル)の多くのアルゴリズムを知っています。 1960年代以前であっても、確率的/ランダム化されたアルゴリズム(または方法)を知っていますか? または どの発見が最初の確率的/ランダム化アルゴリズムとみなされますか?

4
置換をその場で適用する複雑さ
驚いたことに、私はこれに関する論文を見つけることができませんでした-おそらく間違ったキーワードを検索しました。 それで、私たちは何かの配列とそのインデックスに関数を持っています。は順列です。fffffff 可能な限りと近いメモリとランタイムでに従って配列を並べ替えるにはどうすればよいですか?O (1 )O (n )fffO(1)O(1)O(1)O(n)O(n)O(n) このタスクが簡単になった場合、追加の条件はありますか?たとえば、関数がの逆関数であることを明示的に知っているは?fgggfff 私はサイクルに続き、各インデックスのサイクルを横断してそのサイクルで最小かどうかをチェックするアルゴリズムを知っていますが、再び、最悪の場合の実行時間を持っていますが、平均的にはより良く動作するようです...O(n2)O(n2)O(n^2)

1
Karger-Stein分岐増幅の他のアプリケーション?
大学院のアルゴリズムクラスでKarger-Steinランダムミンカットアルゴリズムを教えました。これは本当のアルゴリズムの宝石なので、教えることはできませんが、メインテクニックの他のアプリケーションを知らないので、常にイライラさせられます。(だから、ポイントを家に導く宿題を割り当てるのは難しい。) Karger and Steinのアルゴリズムは、以前のKargerのアルゴリズムを改良したもので、グラフの頂点が2つだけになるまでランダムなエッジを繰り返し縮小します。この単純なアルゴリズムは時間で実行され、確率Ω (1 / n 2)で最小カットを返します。ここで、nは入力グラフの頂点の数です。洗練された「再帰的収縮アルゴリズム」は、頂点の数がnからn / √に低下するまでランダムエッジを繰り返し収縮します。O(n2)O(n2)O(n^2)Ω(1/n2)Ω(1/n2)\Omega(1/n^2)nnnnnn、残りのグラフで再帰的に自分自身を2回呼び出し、結果の2つのカットのうち小さい方を返します。洗練されたアルゴリズムの簡単な実装は、O(n2logn)時間で実行され、確率Ω(1/logn)で最小カットを返します。(これらのアルゴリズムのより効率的な実装と、より優れたランダム化アルゴリズムがあります。)n/2–√n/2n/\sqrt{2}O(n2logn)O(n2log⁡n)O(n^2\log n)Ω(1/logn)Ω(1/log⁡n)\Omega(1/\log n) 同様の分岐増幅技術を使用するランダム化アルゴリズムは他にありますか?私は、グラフのカットを(明らかに)含まない例に特に興味があります。

2
グラフのスペクトル分割に関するクレジット
場合無向である -regularグラフ及びカーディナリティの頂点のサブセットである、呼び出しエッジ膨張の量をD S ≤ | V | / 2G = (V、E)G=(V、E)G=(V,E)dddSSS≤ | V| / 2≤|V|/2\leq |V|/2SSS ϕ(S):=Edges(S,V−S)d⋅|S|⋅|V−S|ϕ(S):=Edges(S、V−S)d⋅|S|⋅|V−S|\phi(S) := \frac {Edges(S,V-S)}{d\cdot |S|\cdot |V-S|} ここで、内の1つのエンドポイントとエッジの数であり、とで一方のエンドポイント。そして、拡張エッジの問題は、設定された見つけることですで最小にする。最適セットの展開と呼びます。A BEdges(A,B)Edges(A、B)Edges(A,B)AAABBB| S | ≤ | V | / 2 ϕ (S )ϕ (G )SSS|S|≤|V|/2|S|≤|V|/2|S|\leq |V|/2ϕ(S)ϕ(S)\phi(S)ϕ(G)ϕ(G)\phi(G) スペクトル分割アルゴリズムエッジ拡張の問題のためには、固有ベクトル見つけることによって動作しの二番目に大きい固有値のの隣接行列、およびすべての``しきい値セット「」考慮形のすべてのしきい値を超える。我々が許可すればの二番目に大きい固有値であるマトリックス、最良の閾値を設定することをスペクトル分割アルゴリズムショーの分析アルゴリズムを満足することにより見出さA G S { V :X (V )≤ T } T λ …

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