タグ付けされた質問 「search-algorithms」

特定のデータ構造(最も一般的にはツリー)内の要素を見つけるためのアルゴリズム。


1
特定の間隔と重複するすべての間隔を検索します
注:私はこの質問をstackoverflow.comから移動しました よりも上で解決できるかどうかを確認したいアルゴリズムの問​​題があります。O(n)O(n)O(n) Iは、テーブル与えているの各要素はタプル要素用いてと各タプルは、間隔のいくつかの種類、すなわち、。指定された間隔と重複するすべての間隔を見つける必要がありますおよびです。さらに、それぞれのエントリを指すインデックスとともに、値または値をそれぞれ含む、2つの並べ替えられたリストおよびがあります。リストは次でソートされますTTTnnn(si,ei)(si,ei)(s_i, e_i)si,ei∈Nsi,ei∈Ns_i, e_i \in \mathbb{N}si&lt;eisi&lt;eis_i < e_i[t0,t1][t0,t1][t_0, t_1]t0,t1∈Nt0,t1∈Nt_0, t_1 \in \mathbb{N}t0&lt;t1t0&lt;t1t_0 < t_1SSSEEEssseeeiiiTTTsss値、または値。(と両方の値が一意であると仮定しましょう。)eeessseee 問題: 各間隔/タプルを見つける必要があります。ここでおよびe_i \ geqslant t_0です。(si,ei)∈T(si,ei)∈T(s_i, e_i) \in Tsi⩽t1si⩽t1s_i \leqslant t_1ei⩾t0ei⩾t0e_i \geqslant t_0 これまでの私の考え: 私たちは、いずれかの適用区間の境界の1、すなわち検索でいくつかの要素を除外することができt1t1t_1でSSSまたはt0t0t_0でEEE。これにより、残りの要素のリストLLLが得られます L←{e∈E∣e⩾t0} or L←{s∈S∣s⩽t1}L←{e∈E∣e⩾t0} or L←{s∈S∣s⩽t1} L \leftarrow \{e \in E \mid e \geqslant t_0\} \text{ or } L \leftarrow \{s \in …

1
同時移動によるアルファベータ剪定?
私はいくつかのaiを作成しているゲームで、2人のプレイヤーが同時に移動するゲームを持っています。このゲームでは、1つだけの動きがあり、両方が同時にそれを行った場合、別々に行った場合とは結果が異なります(他のすべての動きはかなり独立しています)。 とにかく、私はそれを投げるための良いアルゴリズムを見つけようとしています。アルファとベータの剪定を伴うミニマックスは、プレーヤーが交互の動きではなく、交互の動きをしている場合に適しているようです。このトピックに関する論文(pdf)を見つけましたが、ちょっと頭がおかしいので、pseduocodeを読み込めません。 それで、誰かがそのアプローチを明確にするのを助けるか、そのようなゲームでアルファベータ剪定を達成する別の方法を提案するか、またはより良いアルゴリズムを完全に提案することができますか?

1
パレートフロンティア要素を見つけるオンラインアルゴリズム
要素のストリームを取得し、パレートフロンティアにある要素(たとえば、すべての非支配要素)を保持するオンラインアルゴリズムを探しています。 例えば。以下の入力が与えられると、保持されているパレートフロンティアセットは次のように進化します。 (3,7) 要素b / cを挿入します最初の要素です パレートセットに含まれるもの {(3,7)} (7,3) 最初に支配されていない要素b / cを挿入します パレートセットに含まれるもの {(3,7), (7,3)} (8,4) 支配されていない要素b / cを挿入します。(7,3)両方の次元で支配されているものを削除する パレートセットに含まれるもの {(3,7), (8,4)} (1,1) 両方の次元で支配的であるため、挿入しないでください パレートセットに含まれるもの {(3,7), (8,4)} (9,9) 支配されていない要素b / cを挿入します。他のすべての要素を削除します。これは、両方の次元でそれらを支配するためです パレートセットに含まれるもの {(9,9)} 私の例では2タプルを使用していますが、「小さい」N(たとえば、&lt;10)のNタプルを処理できるアルゴリズムを探しています。 素朴な解決策は、各要素を現在セット内のすべての要素と比較することです。実際には、素朴なアプローチはそれほど悪くないかもしれません(例えば、サブO(n2)O(n2)O(n^2))要素は比較セットによって定期的に排除されるためです。しかし、このための効率的なアルゴリズムが知られているかどうか疑問に思っていました。メモリの効率と計算の複雑さに興味があります。(ハ!そして実際のところ、メモリと計算の複雑さに関してパレート最適であるアルゴリズムのセットを探しています。) これの私の現在のアプリケーションは、最も関連性の高いドキュメント(検索エンジンの一般的な使用例)を収集しないが、指定された次元に沿ってパレート最適ドキュメントを収集するLucene検索ドキュメントの構築Collectorです。
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.