アルゴリズムの計算努力


9

x opt x 0 x optx ϵ O | | x x opt | | 2O:=minxRnf(x).xoptx0xopt.xϵO

||xxopt||2||x0xopt||2ϵ.

次のプロパティを持つ close解を見つけるために、2つの反復アルゴリズムとが存在するとします。A 2 ϵ OA1A2ϵO

  1. いずれについても合計の計算努力、すなわち努力イテレーションごとに必要な反復の総数は、見つける近いソリューションは、両方のアルゴリズムでも同じです。× ϵ ϵ>0,×ϵ
  2. たとえば、反復ごとの努力は反復ごとの努力は On A 2 O n 2A1O(n),A2O(n2).

あるアルゴリズムが他のアルゴリズムよりも好まれる状況はありますか?どうして?

回答:


14

反復全体で並列化する反復アルゴリズムの並列バージョンを実装することは、不可能ではないにしても、通常は非常に困難です。1つの反復の完了は、自然なシーケンスポイントです。1つのアルゴリズムで必要な反復が少ないが、反復ごとの作業が多い場合、このアルゴリズムを効率的に並列に実装できる可能性が高くなります。

これの例は線形計画法であり、主双対障壁(内点)メソッドは通常、非常に大きな問題でも数十回の反復のみを使用しますが、反復ごとの作業は非常に広範囲です。比較すると、シンプレックス法のさまざまなバージョンは通常、はるかに多くの反復を必要としますが、反復ごとの作業は少なくなります。実際には、内点法の並列実装は、シンプレックス法の並列実装よりもはるかに優れた並列効率を示しています。


7

私はいくつかの可能性を考えることができます:

両方のアルゴリズムが各反復でエラーを単調に減少させる場合、反復を停止するタイミングについてより多くの選択肢を提供するため、より安価な反復を使用する方が望ましい場合があります。

場合はである仕事と時間が、メモリ、あなたが好むかもしれない場合大きいです。は、を選択するのに十分な大きさであるかもしれませんなぜなら、メモリの使用はここであなたを制約する可能性が高いからです。 OnO n k A 2 kk=2 A 2A1O(n)O(nk)A2kk=2A2

これはおそらく、最適化について話している場合でも、他のクラスの反復問題について話している場合でも当てはまります。


スペースの制約については同意します。時間の複雑さに基づいて訴訟を起こすことができるのかと思っていました。
Suresh、2013年
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.