タグ付けされた質問 「partitions」

1
パーティションの洗練に基づくアルゴリズムが対数線形時間よりも高速に実行される問題
パーティションの洗練は、オブジェクトの有限セットから始めて、セットを徐々に分割する手法です。DFA最小化などの一部の問題は、パーティションの洗練を非常に効率的に使用して解決できます。ウィキペディアのページにリストされているもの以外のパーティションの改良を使用して通常解決される他の問題は知りません。これらすべての問題のうち、ウィキペディアのページでは、パーティションの洗練に基づくアルゴリズムが線形時間で実行される2つについて言及しています。辞書編集的に順序付けられたトポロジカルソート[1]と辞書編集幅優先検索アルゴリズム[2]があります。 パーティションの絞り込みを非常に効率的に使用して解決できる問題の例や参考文献はありますか? [1] Sethi、Ravi、「2つのプロセッサでのグラフのスケジューリング」、SIAM Journal on Computing 5(1):73–82、1976 [2] Rose、DJ、Tarjan、RE、Lueker、GS、「グラフ上の頂点除去のアルゴリズム的側面」、SIAM Journal on Computing 5(2):266–283、1976

6
間隔内の2つの数値の最大XORを見つける:二次式よりも良いことはできますか?
lllrrr L ≤ I 、最大(I ⊕ J )最大(私⊕j)\max{(i\oplus j)}L ≤ I 、J ≤ Rl≤私、j≤rl\le i,\,j\le r ナイーブアルゴリズムは、考えられるすべてのペアを単純にチェックします。たとえば、ルビーでは次のようになります。 def max_xor(l, r) max = 0 (l..r).each do |i| (i..r).each do |j| if (i ^ j > max) max = i ^ j end end end max end 私感私たちはより良い次より行うことができます。この問題のためのより良いアルゴリズムはありますか?

1
セットのパーティションを表すコンパクトな方法は何ですか?
セットパーティションを表すための効率的なデータ構造が存在します。これらのデータ構造は、UnionやFindなどの操作には時間的に複雑ですが、スペース効率は特に高くありません。 セットのパーティションを表すスペース効率の良い方法は何ですか? 以下は、考えられる開始点の1つです。 N個の要素 を持つセットのパーティション数は、N番目のベル数であるB Nであることを知っています。したがって、N個の要素を持つセットのパーティションを表すための最適な空間の複雑さは、 log 2(B N)ビットです。そのような表現を見つけるために、(N要素のセットのパーティションのセット)と(1からB Nまでの整数のセット)の間の1対1のマッピングを探すことができます。NNNBNBNB_NNNNNNNログ2(BN)log2⁡(BN)\log_2(B_N)NNN111BNBNB_N 計算するのに効率的なそのようなマッピングはありますか?「効率的」とは、このコンパクトな表現を、またはlog 2(B N)の時間多項式で、操作が簡単な表現(リストのリストなど)との間で変換したいということです。NNNログ2(BN)log2⁡(BN)\log_2(B_N)

1
異なる整数のパーティションの問題
パーティションの問題は、よく知られたNP完全問題です。私が見た定義では、入力は整数のマルチセットであると想定されており、合計が同じである2つのセットへのパーティションの存在を決定したいと考えています。私の質問は: すべての入力整数が異なる場合(つまり、整数が繰り返されない場合)、パーティションの問題は依然としてNP完全ですか?

1
3パーティションからの削減で「膨大な数を追加」するコツは何ですか?
問題:次の図に示すように、「四角形(辺の長さが異なる)を四角形にパッキングする」の問題のを証明するために、はそれに縮小されます。NP完全性NP-Completeness\textsf{NP-Completeness}3パーティション3-Partition\textsf{3-Partition} でインスタンス、あるの要素は、。ターゲットの合計はです。3パーティション3-Partition\textsf{3-Partition}んnn(a1、⋯,a私、⋯,aん)(a1,⋯,ai,⋯,an)(a_1, \cdots, a_i, \cdots, a_n)tttt=Σa私n / 3t=∑ain/3t = \frac{\sum a_i}{n/3} 縮小では、は巨大な(定数)数であり、各は正方形で表されます。長方形の空白は、単位()の正方形で埋められます。BBBa私aia_i(B+a私)×(B+ai)(B+ai)×(B+ai)(B + a_i) \times (B + a_i)1×11×11 \times 1 質問:削減に「 膨大な数の追加する」というトリックはよくわかりません。私はそれがどんなパッキングスキームもソリューションを与えることを強制するために使用されていると思います。しかし、どうやって?BBB3-Partition3-Partition\textsf{3-Partition} 質問1:から削減するために、「膨大な数を追加する」ことの秘訣は何ですか?具体的には、なぜこの削減が機能するのですか?なぜこのトリックが必要なのですか、つまり、を省略した場合(設定)に削減が機能しないのはなぜですか?3-Partition3-Partition\textsf{3-Partition}BBBB=0B=0B=0 「どのようなパッキングでも3パーティションができる」という証明の欠陥を特定しようとしましたが、要点をつかむことができませんでした。 実際、私はからこのトリックを使用する他の削減も見ました。そう、3-Partition3パーティション\textsf{3-Partition} 質問2:からの削減に「膨大な数を追加する」というこのトリックの一般的な目的は何ですか(ある場合)?3-Partition3-Partition\textsf{3-Partition} 注:この問題は、Erik Demaine教授によるビデオ講義(01:15:15から)によるものです。最初に元の論文「正方形を正方形に詰める」をチェックするべきでした。ただし、インターネットではアクセスできません。コピーがあり、共有したい場合は、私のプロファイルで私のメールボックスを見つけることができます。前もって感謝します。
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.