変分問題
参考:http://www2.kaiyodai.ac.jp/~yoshi-s/Lectures/Optimization/2013/lecture_6.pdf
- 関数$y(x)$を変数とする関数である汎関数$F(y)$の最大・最小化する関数を考えるのが変分問題
- このとき$x$は定義域内の任意の値を考えている
- 例えば関数$y(x)$が表す曲線の$x=0$から$x=1$までの長さは
であり、$y$が決まればひとつに決まるので$y$の関数である(=どんな曲線になるかに依存する)。これを最大・最小にする$y$を考えるのが変分問題である。
変分問題の一般形
汎関数$F(y)$と関数の集合Cを用いて
最小化 $F(y)$, 制約 $y \in C$
このときの最小解とは、
大域的最小解
関数$\overline{y}(x) \in C$がすべての関数$y(x) \in C$に対して
$F(y) \geq F(\overline{y})$
局所的最小解
関数$\overline{y}(x) \in C$が$\overline{y}(x)$に「近い」すべての関数$y(x) \in C$に対して
$F(y) \geq F(\overline{y})$
ここで、関数$\overline{y}(x)$に「近い」関数とは、おおざっぱにいうと$\overline{y}(x)$にグラフが近い関数のこと。例えば、関数$v(x)$と十分に小さい数$\epsilon$を用いて、$\overline{y}(x)+\epsilon v(x)$。これは制約があっても、$v(x)$も制約を満たすようにとれば同様に考えることができる。
数学的にはこの関数の「近さ」はノルムとして表され、問題によって適切なものが選ばれる。例えば、関数$y(x), \overline{y}(x)$に対して、
を考えると、これが上界を持つ場合、任意の$x$の関数値の絶対値差$|y(x)-\overline{y}(x)|$に対して上界を与えることができるという意味で、ノルムの小ささと関数の「近さ」を関連付けることができる。ほかにも、をとると、関数の「近さ」を測るのに微分の近さも測るものである。より詳細は関数解析()で扱う。
汎関数の微分:方向微分
通常の関数の微分と同様に汎関数の微分として、「関数を少し変化させたときに汎関数値が変化する割合(瞬間変化率)」のようなもので定義したい。
この少し変化させるというのを、「近い」関数への変化と考え、$y(x)$に対して、$y(x)+\epsilon v(x)$を考える。この時の汎関数値の変化を考える。また変化率としては$\epsilon$の変化量のみを考えるようにする。すると、$\frac{F(y+\epsilon v)-F(y)}{\epsilon}$を平均変化率、そして$\lim_{\epsilon\to 0}\frac{F(y+\epsilon v)-F(y)}{\epsilon}$を瞬間変化率と考えることができる。これを汎関数$F(y)$についての$y$における$v$に対する方向微分と呼ぶ。
例
汎関数
$y(x)=x^2$, $v(x)=x^3$とする。
$y(x)+\epsilon v(x) = x^2+\epsilon x^3$なので、
よって、
$F(y)(v)=\lim_{\epsilon\to 0} \frac{1}{3}\epsilon + \frac{1}{7}\epsilon ^2 = \frac{1}{3}$
汎関数の凸性
今、汎関数の微分として方向微分を定義できたので、凸関数同様(https://karate-odori.hatenablog.com/entry/2019/10/23/211413)、汎関数についても凸汎関数を定義する。
凸汎関数
Fを汎関数とするとき、任意の関数$y(x),v(x)$について、
$F(y+v) \geq F(y) + DF(y)(v)$
が成り立つとき、$F(y)$を凸汎関数という。
また、これがある集合C内の関数$y(x)$と$y(x)+v(x) \in C$なる$v(x)$に対してのみ成り立つ場合はFはC上で凸であるという。
凸汎関数の条件・判定法は簡単。