今、コンパクト集合

があって、

が連続で、(y,z)に関して厳密に凹な関数であるとする。このとき、次の問題を空間の分割(discretization)を使って、各xについて最適化を行う解
,z^*(x))
を求めたいという状況にあるとする:
)
さらに、何らかの事情で、この問題を次のように分解して解かなければならないとする:
\right\})
「
凸計画問題の分解」と同じ議論を展開すれば、カッコの中はyの厳密な凹関数であることがいえる。
まず、yの最適化についてはBinary Searchを使えば良いことがわかる。
では、他にできることはあるだろうか。例えば、xとfの何らかの関係性が仮定されているとしたらどうだろうか。もし、zのargumentがなくてfがxの厳密な増加関数であるなら、
)
は厳密な増加関数であることがいえ、この単調性を使って、関数fの評価の回数を減らすことが可能。しかし、今はzというargumentがあるため、このような単調性を保証するには、さらに何らかの仮定が必要になる。一般論として、fのargumentが増えるほど単調性を導出することが難しくなる。したがって、数値計算がそれだけbrute forceなやり方に近づいてしまうことになる。
No comments:
Post a Comment