logo

最適値:最大値と最小値 📂最適化理論

最適値:最大値と最小値

簡単な定義

最大値maximum最小値minimumを合わせて最適値optimumと言う。

  • 集合XXで最も大きい要素を最大値maxX\max X、最も小さい要素を最小値minX\min Xと示す。
  • 関数f:XRf : X \to \mathbb{R}の最も大きい関数値をmaxXf\max_{X} f、最も小さい関数値をminXf\min_{X} fと示す。

  • R\mathbb{R}は実数全体の集合を示す。
  • 最大、最小は漢字で、値は純粋な韓国語だから、実は2021年基準で最大値、最小値が正しいが、検索エンジンにあまりフレンドリーではないためにㅅを省略した。同様に値を使って最大値、最小値とも書けるが、現在の言語習慣で最も馴染みがある言葉を選んだ。

説明

数学者の視点から、大きいものを探すか、小さいものを探すかは実際にはあまり意味がない。特に最適化問題では、アルゴリズム全般を説明する際に最大化をするか最小化をするかは区別せずに、ただ最適化すると言う。

Maximumの複数形はMaxima、Minimumの複数形はMinima、Optimumの複数形はOptimaだ。最適値が複数あるのはおかしいから、これらの表現が使われた場合は、文脈上、最適値valueではなく最適点pointと見なさなければならない。

最適値と極値を対比すると、最適値はこのポストの文脈で言えば、全域global最適値、極値は局所local最適値と見ることもできる。普通、この文脈で全域と言う言葉はあまり意味がない。

文脈上、値と集合自体が重要ではない場合は、集合、要素、関数の表現が適当な場合が多いから、注意が必要だ。

このポストの意義は、実は子供の頃から親しみやすく使ってきた最大値と最小値を関数の形で明確に定義することにある。上の簡単な定義に直感的に同意できれば、次の難しい定義も見てみよう。

難しい定義

集合の最適値

全順序集合(Y,)\left( Y, \le \right)が与えられているとする。

max,min:2YY\max, \min : 2^{Y} \to YYYの各部分集合A2YA \in 2^{Y}に対してBBの最も小さい要素か最も大きい要素であるyBy_{\ast} \in Bに対応させる関数だ。max:Byb,bBmin:Byb,bB \max : B \mapsto y_{\ast} \ge b \qquad , \forall b \in B \\ \min : B \mapsto y_{\ast} \le b \qquad , \forall b \in B

関数の最適値

集合XXが定義域で、YYが値域である関数の集合YXY^{X}が与えられているとする。

AXA \subset Xに対して、maxA,minA:YXY\max_{A}, \min_{A} : Y^{X} \to Y関数f:XYf : X \to Y、すなわちfYXf \in Y^{X}について次のように定義される。maxAf=maxf(A)minAf=minf(A) \max_{A} f = \max f(A) \\ \min_{A} f = \min f(A)


  • f(A)f(A)AAに対するffのイメージとして、次のように定義される。 f(A):={f(a):aA} f(A) := \left\{ f(a) : \forall a \in A \right\}

集合[0,1)[0,1)について、最大値は存在せず、最小値はmin[0,1)=0\min [0, 1) = 0だ。

二次関数f(x):=2x2+1f(x) := 2x^{2} + 1の最小値はminRf=f(0)=1\min_{\mathbb{R}} f = f(0) = 1だ。別にA=[2,3]RA = [2,3] \subset \mathbb{R}内で最大値を考えると、maxaAf(a)=f(2)=9\max_{a \in A} f(a) = f(2) = 9だ。

上記の例でも表記が乱れがちだが、説明したように、普通は大体見逃しても問題ない。