問題タブ [pruning]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
apache-spark - スパークでパーティションプルーニングを有効にするにはどうすればよいですか
寄木細工のデータを読んでいると、ドライバー側のすべてのディレクトリがリストされていることがわかります
where 句で month=2014-12 を指定しました。spark sql とデータ フレーム API を使用してみましたが、どちらもパーティションをプルーニングしていないようです。
データフレーム API の使用
Spark SQL の使用
バージョン1.5.1、1.6.1、および2.0.0で上記を試しました
mysql - サブクエリでMysqlパーティションプルーニングが機能しない
パーティションプルーニング作業中
2 つのクエリがあり、ip_src 値は 134744072 です。
私の Ip_location テーブルは、ip_start 列の範囲で分割されています。最初のクエリを実行すると、パーティションのプルーニングが行われますが、2 番目のクエリではすべてのパーティションにアクセスします。
誰でも私に手がかりを教えてください、私は周りを見回していますが、何が起こっているのかまだわかりません、前にありがとう:)
c++ - 大規模なゼロ パディングを回避するための FFTW プルーニングの高速化
長いシーケンスx(n)
があり、最初の要素だけがゼロと異なるとします。たとえば、とと仮定しています。そのようなシーケンスのFFTWをFFTWで計算したいと思います。これは、 length のシーケンスを持ち、 にゼロをパディングすることと同じです。とは「大きい」可能性があるため、かなりのゼロ パディングがあります。明示的なゼロパディングを避けて、計算時間を節約できるかどうかを調査しています。K * N
N
N << K
N = 10
K = 100000
N
K * N
N
K
ケースK = 2
ケースを検討することから始めましょうK = 2
。この場合、 の DFT は次のx(n)
ように記述できます。
k
が偶数、つまりの場合k = 2 * m
、
つまり、このような DFT の値は、N
ではなく長さ のシーケンスの FFT を介して計算できますK * N
。
k
が奇数、つまりの場合k = 2 * m + 1
、
つまり、このような DFT の値は、長さ のシーケンスの FFT を介して再度計算できますが、 ではN
ありませんK * N
。
したがって、結論として、長さの 1 つの FFT を長さの FFT と交換2 * N
でき2
ますN
。
恣意的なケースK
この場合、
書くk = m * K + t
と、私たちは持っています
したがって、結論として、長さの 1 つの FFT を長さの FFT と交換K * N
できK
ますN
。FFTW には があるのでfftw_plan_many_dft
、単一の FFT の場合に対していくらかのゲインがあると期待できます。
それを確認するために、次のコードを設定しました
私が開発したアプローチは、次の 3 つのステップで構成されています。
- 入力シーケンスを「ひねる」複雑な指数で乗算します。
- 実行する
fftw_many
; - 結果の再編成。
は、入力ポイントfftw_many
で単一の FFTW よりも高速です。K * N
ただし、ステップ 1 と 3 は、そのようなゲインを完全に破壊します。ステップ 1 と 3 は、ステップ 2 よりもはるかに軽量であると予想されます。
私の質問は次のとおりです。
- ステップ 1 と 3 が、ステップ 2 よりも計算量が多くなる可能性があるのはなぜですか?
- ステップ 1 と 3 を改善して、「標準的な」アプローチに対して純利益を得るにはどうすればよいですか?
ヒントをありがとうございました。
編集
私は Visual Studio 2013 で作業しており、リリース モードでコンパイルしています。
tree - Alpha Beta を使用してノードを選択する方法
MiniMax とアルファ ベータ プルーニングを使用して、オセロ ゲームの AI を実装しています。取得できる値を教えてくれる Alpha Beta アルゴリズムを実装しましたが、どのノードを選択すればよいでしょうか? したがって、私の質問は、Alpha-Beta を使用して、結果の値がどうなるかではなく、どのノードを選択する必要があるかを伝える方法です。これが私の Alpha-Beta アルゴリズムの疑似コードです。