問題タブ [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.

0 投票する
2 に答える
7529 参照

apache-spark - スパークでパーティションプルーニングを有効にするにはどうすればよいですか

寄木細工のデータを読んでいると、ドライバー側のすべてのディレクトリがリストされていることがわかります

where 句で month=2014-12 を指定しました。spark sql とデータ フレーム API を使用してみましたが、どちらもパーティションをプルーニングしていないようです。

データフレーム API の使用

Spark SQL の使用

バージョン1.5.1、1.6.1、および2.0.0で上記を試しました

0 投票する
1 に答える
666 参照

mysql - サブクエリでMysqlパーティションプルーニングが機能しない


パーティションプルーニング作業中

パーティションプルーニングが機能しない

2 つのクエリがあり、ip_src 値は 134744072 です。

私の Ip_location テーブルは、ip_start 列の範囲で分割されています。最初のクエリを実行すると、パーティションのプルーニングが行われますが、2 番目のクエリではすべてのパーティションにアクセスします。

誰でも私に手がかりを教えてください、私は周りを見回していますが、何が起こっているのかまだわかりません、前にありがとう:)

0 投票する
3 に答える
939 参照

c++ - 大規模なゼロ パディングを回避するための FFTW プルーニングの高速化

長いシーケンスx(n)があり、最初の要素だけがゼロと異なるとします。たとえば、とと仮定しています。そのようなシーケンスのFFTWをFFTWで計算したいと思います。これは、 length のシーケンスを持ち、 にゼロをパディングすることと同じです。とは「大きい」可能性があるため、かなりのゼ​​ロ パディングがあります。明示的なゼロパディングを避けて、計算時間を節約できるかどうかを調査しています。K * NNN << KN = 10K = 100000NK * NNK

ケース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 つのステップで構成されています。

  1. 入力シーケンスを「ひねる」複雑な指数で乗算します。
  2. 実行するfftw_many;
  3. 結果の再編成。

は、入力ポイントfftw_manyで単一の FFTW よりも高速です。K * Nただし、ステップ 1 と 3 は、そのようなゲインを完全に破壊します。ステップ 1 と 3 は、ステップ 2 よりもはるかに軽量であると予想されます。

私の質問は次のとおりです。

  1. ステップ 1 と 3 が、ステップ 2 よりも計算量が多くなる可能性があるのはなぜですか?
  2. ステップ 1 と 3 を改善して、「標準的な」アプローチに対して純利益を得るにはどうすればよいですか?

ヒントをありがとうございました。

編集

私は Visual Studio 2013 で作業しており、リリース モードでコンパイルしています。

0 投票する
1 に答える
367 参照

tree - Alpha Beta を使用してノードを選択する方法

MiniMax とアルファ ベータ プルーニングを使用して、オセロ ゲームの AI を実装しています。取得できる値を教えてくれる Alpha Beta アルゴリズムを実装しましたが、どのノードを選択すればよいでしょうか? したがって、私の質問は、Alpha-Beta を使用して、結果の値がどうなるかではなく、どのノードを選択する必要があるかを伝える方法です。これが私の Alpha-Beta アルゴリズムの疑似コードです。