タグ付けされた質問 「divide-and-conquer」

2
手動でFFTを行う方法を示す
2つの多項式3+x3+x3 + xと2x2+22x2+22x^2 + 2ます。 FFTがこれら2つの多項式の乗算にどのように役立つかを理解しようとしています。ただし、解決された例は見つかりません。FFTアルゴリズムがこれら2つの多項式をどのように乗算するかを誰かが教えてくれますか。(注:これらの多項式には特別なものはありませんが、従いやすくするためにシンプルにしたかったのです。) 擬似コードでアルゴリズムを見てきましたが、それらのすべてに問題があるようです(入力の内容、未定義の変数を指定しないでください)。そして驚くべきことに、FFTを使用して多項式を乗算する例を、実際に誰が(手で)歩いたのか見つけることができません。

2
分割統治の理論的基礎
アルゴリズムの設計に関しては、多くの場合、次の手法を使用します。 動的プログラミング 貪欲戦略 分割統治 最初の2つの方法については、よく知られた理論的基礎、つまりベルマン最適性原理とマトロイド(またはグレドイド)理論がありますが、D&Cに基づくアルゴリズムのこのような一般的なフレームワークは見つかりませんでした。 まず、コンビネータのコンテキストで発生した「アルゴリズムスケルトン」と呼ばれる関数型プログラミングクラスで私たち(またはむしろ教授)が導入したことを認識しています。この例として、D&Cアルゴリズムのスケルトンを次のように指定しました。 定義:A,SA,SA,S空でないセットとします。SSS ソリューションの要素と呼び、の要素:= P(A )P:=P(A)P:=P(A)P:=\mathfrak{P}(A)(つまり、のサブセットAAA)は問題と呼ばれます。次いで、D&C-骨格は 4タプルである(Pβ,β,D,C)(Pβ,β,D,C)(P_\beta, \beta, \mathcal{D}, \mathcal{C})ここで、: PβPβP_\beta問題の集合以上の述語であり、我々は問題のことを言うpppされ、基本的なIFFPβ(p)Pβ(p)P_\beta(p)成り立ちます。 、Aマッピングである P β → Sの各基本的な問題に対する解決策を割り当てます。ββ\betaPβ→SPβ→SP_\beta \rightarrow S は、各問題を一連の副問題に分割するマッピング P → P(P )です。DD\mathcal{D}P→P(P)P→P(P)P \rightarrow \mathfrak{P}(P) は P × P(S )→ Sのマッピングであり、サブ問題の解(「ピボット問題」の種類に応じて)を結合して解を生成します。CC\mathcal{C}P×P(S)→SP×P(S)→SP\times \mathfrak{P}(S) \rightarrow S 次いで、に対して与えられたスケルトンおよび問題Pは、次の汎用関数F S:P → Sは、のために(形式的な意味での)解を計算P。s=(Pβ,β,D,C)s=(Pβ,β,D,C)s=(P_\beta, \beta, \mathcal{D}, \mathcal{C})pppfs:P→ Sfs:P→Sf_s: P\rightarrow Sppp fs(p )= …

3
行列乗算の複雑度分析のためのStrassenアルゴリズム
Strassen algの複雑さの再帰方程式は T(n)=7T(n2)+O(n2).T(n)=7T(n2)+O(n2).T(n) = 7T(\tfrac{n}{2})+O(n^2).これは私にはそれほど明確ではありません。パラメータnnnは入力のサイズであると想定されていますが、ここでは入力サイズが実際にはn2n2n^2一方で、これは行列の1次元であるようです。また、入力の各行列は4つのサブ行列に分割されるため、再帰方程式はT(n)=7T(n4)+O(n).T(n)=7T(n4)+O(n).T(n) = 7T(\tfrac{n}{4}) + O(n).
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.