0

リングトポロジーを備えた標準的な島の遺伝的アルゴリズムがあると仮定します。私はC++、PPL、MS VisualStudio2010を使用しています。

PPLライブラリのparallel_forを使用すると便利です。停滞フラグがオンになっているときに島が隣人から現在の最高の個人を取得する必要がある場合、どのプログラムプリミティブを使用する必要がありますか?parallel_forサイクルのファイナライズ後に停滞フラグの配列を確認したくないので、「空腹の」島にオンザフライでフィードしたいと思います。PPLにはこの目的のための手段がありますか?各島には、その隣の島へのポインターがあります。GetBestIndividual()メソッドをブロックするために、Evolve()メソッド内にある種のクリティカルセクションが必要です。Evolve()は並列で呼び出されます(島の場合はparallel_forサイクル)。

4

1 に答える 1

0

オブジェクトを使用できcritical_sectionます。これはPPLライブラリの一部です。

于 2012-04-20T06:56:34.277 に答える