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

4
データ(文字列のセット)を並べ替えて圧縮を最適化しますか?
圧縮のために最適化するためにデータを並べ替えるアルゴリズムはありますか?これはデータと圧縮アルゴリズムに固有のものであると理解していますが、このトピックに言葉はありますか?この分野の研究はどこで見つけることができますか? 具体的には、150万文字列のjsonリストがあり、gzip(HTTP用)圧縮が最適化されるように文字列を並べ替えたいと思います。文字列の並べ替えは非常にうまくいきますが、それが最適かどうかはわかりません。

1
差のシーケンスを持つ置換の存在のための効率的なアルゴリズム?
この質問はこの投稿によって動機付けられています。多項式時間で2つの順列の合計を特定できますか?、および順列の計算特性に対する私の関心。 違いは、シーケンス1、2、... 、N 置換のπ番号1 、2 、... N + 1は、順列内の各2つの隣接する数の差見つけることによって形成されるπを。つまり、a i = | π (I + 1 )- π (I )| 以下のための1つの≤ I ≤ n個a1,a2,…ana1,a2,…ana_1, a_2, \ldots a_nππ\pi1,2,…n+11,2,…n+11, 2, \ldots n+1ππ\piai=|π(i+1)−π(i)|ai=|π(i+1)−π(i)|a_i= |\pi(i+1)-\pi(i)|1≤i≤n1≤i≤n1 \le i \le n 例えば、配列 順列の違い配列である2 3 4 1。しながら、配列2 、2 、3及び3 、1 、2は、数字の任意の順列の違いシーケンスはない1 、2 、3 、4。1,1,31,1,31, 1, 3234123412 3 …

1
対称多項式の評価
ましょうである対称の多項式、すなわち、多項式のように、F (X )= F (σ (X ))のすべてのためのx ∈ K、N及びすべての順列σ ∈ S N。便宜上、計算モデルの問題に対処することを避けるために、Kは有限体であると想定できます。f:Kn→Kf:Kん→Kf:\mathbb{K}^n \to \mathbb{K}f(x)=f(σ(x))f(バツ)=f(σ(バツ))f(x)=f(\sigma(x))x∈Knバツ∈Kんx \in \mathbb{K}^nσ∈Snσ∈Sん\sigma \in S_nKK\mathbb{K} LET 計算の複雑示すFを、即ち、所与、そのアルゴリズムの複雑度Xを、戻りF (X )。我々は何とか特徴づけることができますC (Fを)の性質に基づいて、F?たとえば、C (f )がすべての対称多項式fの多項式(n単位)であることは保証されていますか?C(f)C(f)C(f)fffxバツxf(x)f(バツ)f(x)C(f)C(f)C(f)fffC(f)C(f)C(f)nんnfff 特殊なケースとして、(a)時間ポリ(n )でべき乗多項式を計算でき、(b)ニュートンの恒等式を使用して、時間ポリ(n )で基本対称多項式を計算できます。場合その結果、fはない変数が高い1(すなわち、場合より乗されていない単項式の加重和であり、Fは多重線形である)、次いで、fは、それが加重和として表すことができるので(多項式時間で計算することができます。基本対称多項式の)。たとえば、K = G F (poly(n)ポリ(ん)\text{poly}(n)poly(n)ポリ(ん)\text{poly}(n)fffffffff、すべての対称多項式を多項式時間で計算できます。これ以上言えることはありますか?K=GF(2)K=GF(2)\mathbb{K}=GF(2)

1
ランダムスワップによって望ましい順列を生成する確率
次の問題に興味があります。私たちは、入力として「目標順列」を与えられている、指標のと同様に、順序付きリストは、私は1、... 、私はmは ∈ [ N - 1 ]。次に、リストから始まるL = (1 、2 、... 、N )(すなわち、恒等置換)各時間ステップで、T ∈ [ M ]我々は、スワップI Tの時間のtにおける要素Lをσ∈ Sんσ∈Sん\sigma\in S_n私1、… 、iメートル∈ [ n − 1 ]私1、…、私メートル∈[ん−1]i_1,\ldots,i_m\in [n-1]L = (1 、2 、... 、N )L=(1、2、…、ん)L=(1,2,\ldots,n)T ∈ [ M ]t∈[メートル]t\in [m]私トンの時間t私tthi_t^{th}LLL独立した確率を持つ要素、1 / 2。してみましょうpは確率もσが出力として生成されます。(私t+ 1 )s t(私t+1)st(i_t+1)^{st}1 / 21/21/2pppσσ\sigma 次の(いずれか)を知りたい: あるかN Pであるかを決定していますか- 完全な問題ですか?p …

1
順列グループアルゴリズムの最近の進歩?
GAPパッケージに実装されている有限グループのアルゴリズムに興味があります。この分野のすべての既知のアルゴリズムは順列グループ/行列グループを扱うようです。2つの基本的なものは、Schreier-Sims [1970]とButler [1979]です。たとえば、可能な参照(?)として、Alice Niemeyerによる「順列グループのアルゴリズム」を参照してください。 したがって、過去50年間にこの分野で大きな進歩があったのかと思いました。ユーザーNisaiVlootが組み換えグループについていくつかの質問をし、置換グループに関する既知の結果の興味深い拡張を構成している可能性があることを確認しました。 -最近の同期。

1
生成セットと除外された要素のセットを使用して順列のセットをエンコードする
多項式時間アルゴリズムは、置換グループの生成セットを見つけることで知られています。これは、これらのグループに関連する多くの興味深い質問に答えるために多項式時間アルゴリズムをあきらめることなく、それらのグループを簡潔に表すことができるので興味深いです。 しかし、我々は時々セットに興味があるかもしれ集合により表現されるように、グループを形成しない順列のR = ⟨ S ⟩ ∖ Tここで、⟨ S ⟩がセットによって生成されたグループであるSジェネレータとTは、ある順列の集合でないにR代わりだけで、⟨ S ⟩。RRRR = ⟨ S⟩ ∖ TR=⟨S⟩∖TR=\langle S\rangle \setminus T⟨ S⟩⟨S⟩\langle S\rangleSSSTTTRRR⟨S⟩⟨S⟩\langle S\rangle そのようなエンコーディングをペアの形で計算する作業が行われましたか。おそらく最小化という追加の自然な目標があります。S | + | T | ?{S,T}{S,T}\{S,T\}|S|+|T||S|+|T||S|+|T|

3
文字列の置換パターンマッチング
大まかに言えば、順列パターンマッチングは次の種類の問題を扱います。 所与の順列は、にS 、N及びσにSのMとM ≤ N、んπを含むサブシーケンスτ長のM要素に従って順序付けられるσを?ππ\piSnSnS_nσσ\sigmaSmSmS_mm≤nm≤nm\leq nππ\pi ττ\taummmσσ\sigma 例えば、とσ = ⟨ 2 1 3 ⟩、次いで、サブ3つの1 4マッチはσ。ご覧のとおり、ここでは完全一致ではなく、指定されたパターンに「似ている」ものを探しています。π=⟨3 1 5 4 2 8 6 7⟩π=⟨3 1 5 4 2 8 6 7⟩\pi=\langle 3\ 1\ 5\ 4\ 2\ 8\ 6\ 7\rangleσ=⟨2 1 3⟩σ=⟨2 1 3⟩\sigma=\langle 2\ 1\ 3\rangle3 1 43 1 43\ 1\ 4σσ\sigma …

2
カラーボールをシャッフルするには?
私は400個のボールを持っています。100個が赤、40個が黄色、50個が緑、60個が青、70個が紫、80個が黒です。(同じ色のボールは同じです) 効率的なシャッフルアルゴリズムが必要です。シャッフル後、ボールはリストに含まれます。 連続する3つのボールは同じ色ではありません。たとえば、「赤、赤、赤、黄色...」は使用できません。 そして、すべての順列が「等しく」発生する可能性があります。(まあ、効率と不偏性のトレードオフが十分良ければ、私は不偏性よりも効率を気にしません)。 フィッシャーイェイツクヌースを採用しようとしましたが、結果は理想的ではありません。 フィッシャーイェイツが十分でない理由 FYはモンテカルロ逆変換を採用しているため。そして、出力分布は同じカラーボールを異なる方法で処理します。つまり、私のニーズに対して偏った結果を生成します。 そして、素朴な考え方は、空間全体からすべての悪い順列をフィルタリング/バックトラックすることです。制限が非常に強い場合、たとえば、ボールが300個しかなく、そのうちの100個が赤である場合、適切な順列を取得する前に、バックトラッキング/失敗が多すぎます。 したがって、最終的には、すべての良い順列を反復できるようになりたいと思います。ただし、有効な順列の数が多すぎるため、ランダムにサンプリングできるのは一部のみです。それらの「一部」の統計的特徴が、可能な限り母集団に似ていることを望みます。

1
可逆多項式回路多項式可逆回路とは?
私の質問は、効率的に計算可能な全単射関数についてです。非公式に私は興味があります: 全単射が多項式時間で計算できる場合、多項式ゲートの多項式数で計算できますか? 私は関連する質問のリストをチェックしましたが、これは見つかりませんでした。私の正確な設定は正統派かもしれないし、そうでないかもしれないので、私の定義を含めます。問題は研究レベルだと思いますが、間違っていることが証明されて嬉しいです。 LET。いくつかの有限について、ゲートを要素として定義しましょう。有限、を定義し、を定義します。2つのゲートのは、 for定義される順列、ここで、は単語の連結です。ゲートのセットのための書き込みB={0,1}B={0,1}B = \{0,1\}Alt(Bn)Alt(Bn)\mathrm{Alt}(B^n)nnnNNNGN=⋃n≤NAlt(Bn)GN=⋃n≤NAlt(Bn)G_N = \bigcup_{n \leq N} \mathrm{Alt}(B^n)G∞=⋃nAlt(Bn)G∞=⋃nAlt(Bn)G_\infty = \bigcup_n \mathrm{Alt}(B^n)π1∈Alt(Bm),π2∈Alt(Bn)π1∈Alt(Bm),π2∈Alt(Bn)\pi_1 \in \mathrm{Alt}(B^m), \pi_2 \in \mathrm{Alt}(B^n)π=π1|π2π=π1|π2\pi = \pi_1 | \pi_2Bm+nBm+nB^{m+n}π(u⋅v)=π1(u)⋅π2(v)π(u⋅v)=π1(u)⋅π2(v)\pi(u \cdot v) = \pi_1(u) \cdot \pi_2(v)u∈Bm,v∈Bnu∈Bm,v∈Bnu \in B^m, v \in B^n⋅⋅\cdotGGG⌈G⌉⌈G⌉\lceil G \rceil for the smallest subset of ⋃nAlt(Bn)⋃nAlt(Bn)\bigcup_n \mathrm{Alt}(B^n) containing the identity maps and closed …


2
i番目の混乱を見つけるための効率的なアルゴリズムはありますか?
これがこの質問の背景です。友達と私は、誰もが他の人に贈り物をする必要があるゲームをプレイしていました。だれがだれにプレゼントするかを決めるため、抽選をすることにしました。しかし問題は、誰かが彼/彼女自身に贈り物を与えることになりかねないということです。このような不幸な人々の予想される数は1であることがわかります。したがって、これは非常に頻繁に発生します。 この目的のために、整理は非常に適しているようです。私が混乱をかなり生成することができるならば、私はただ1つの混乱を選び、それを使って誰が誰に贈り物を与えるかを決定することができます。 ランダム化された乱れ生成は、ラスベガスの方法で行うことができます。しかし問題は、期待される多項式の実行時間しか持っていないことです。それで私はi番目の混乱を見つけるというこの問題に行きました。[1、D_n]でiをランダムに選択し、いくつかの最悪の場合の多項式時間(効率的)アルゴリズムを使用してi番目の配列異常を取得できれば、それは完了です。

1
パターンを回避する順列のための階層的ソート戦略?
クラスの場合は順列の、我々はの順列並べ替えを期待することはできませんCを未満でO (ログ| C N |)の比較、慣例によりC、N:= C ∩ S N。CC\mathcal{C}CC\mathcal{C}O (ログ| Cん| )O(log⁡|Cn|)O(\log |\mathcal{C}_n|)Cん:= C∩ SんCn:=C∩Sn\mathcal{C}_n := \mathcal{C} \cap S_n 特に、がサブパターンによって閉じられている場合、Marcus-Tardosの定理(J. Foxによって洗練された)がそれに続きます。C n | ≤ C NここでCがあるスタンレー・Wilf定数のC。これは次の質問につながります。最大でO (n log C )の比較を使用してそのようなクラスをソートすることは可能ですか?この質問は、D。アーサーによる論文「高速ソートおよびパターン回避順列」の質問1を強化したものです。CC\mathcal{C}| Cん| ≤ Cん|Cn|≤Cn|\mathcal{C}_n| \leq C^nCCCCC\mathcal{C}O (n ログC)O(nlog⁡C)O(n \log C) このようなソート戦略は、本質的に「不均衡な」マージソートアルゴリズムを模倣するバイナリツリーで表すことができるようです。ここでの考え方は次のとおりです。順列与え、私たちは木を探しますT π葉標識のポイントによってπ、各ノードのためになるように、UのTがπ 2つのつの子サブツリー間の「オーバーラップが」だろうO (ログC )(最悪の場合または平均で)。ただし、この問題を解決するには、より複雑な構造が必要だと思います。それが肯定的な解決策を認めなければならない。ππ\piTπTπT_{\pi}ππ\piuuuTπTπT_{\pi}O(logC)O(log⁡C)O(\log C)

1
リストをソートするために必要な最小数の転置を効率的に見つける
リストを並べ替えるのに必要な転置の最小数を計算する効率的な方法を教えてください。転置が実際に何であるかを知る必要はありません。 たとえば、リスト[1、1、2、0]には2つの転置が必要です。 [1, 1, 2, 0] // Start [1, 1, 0, 2] // Swap index 2 and 3 [0, 1, 1, 2] // Swap index 0 and 2 リスト[0、1、0、0]には1つの転置が必要です: [0, 1, 0, 0] // Start [0, 0, 0, 1] // Swap index 1 and 3 リスト[2、2、2、2]は既に並べ替えられているため、0の転置が必要です。 一部のメタ情報:1)リストには要素が繰り返されている可能性があるため、単純にソートとID置換の間にCayley距離を使用しても機能しません。2)このMath Overflowの質問は関連しています。
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.