回答:
反復全体で並列化する反復アルゴリズムの並列バージョンを実装することは、不可能ではないにしても、通常は非常に困難です。1つの反復の完了は、自然なシーケンスポイントです。1つのアルゴリズムで必要な反復が少ないが、反復ごとの作業が多い場合、このアルゴリズムを効率的に並列に実装できる可能性が高くなります。
これの例は線形計画法であり、主双対障壁(内点)メソッドは通常、非常に大きな問題でも数十回の反復のみを使用しますが、反復ごとの作業は非常に広範囲です。比較すると、シンプレックス法のさまざまなバージョンは通常、はるかに多くの反復を必要としますが、反復ごとの作業は少なくなります。実際には、内点法の並列実装は、シンプレックス法の並列実装よりもはるかに優れた並列効率を示しています。
私はいくつかの可能性を考えることができます:
両方のアルゴリズムが各反復でエラーを単調に減少させる場合、反復を停止するタイミングについてより多くの選択肢を提供するため、より安価な反復を使用する方が望ましい場合があります。
場合はである仕事と時間が、メモリ、あなたが好むかもしれない場合大きいです。は、を選択するのに十分な大きさであるかもしれませんなぜなら、メモリの使用はここであなたを制約する可能性が高いからです。 O(n)O( n k) A 2 kk=2 A 2
これはおそらく、最適化について話している場合でも、他のクラスの反復問題について話している場合でも当てはまります。