WIIS

関数の最適化

多変数関数の大域的最適解

目次

関連知識

Mailで保存
Xで共有

多変数関数の最大点と最大値

多変数関数\(f:\mathbb{R} ^{n}\supset X\rightarrow \mathbb{R} \)が与えられたとき、\(f\left( x\right) \)の値を最大化するような点\(a\)が\(f\)の定義域\(X\)上に存在する場合には、すなわち、\begin{equation*}\exists a\in X,\ \forall x\in X:f\left( a\right) \geq f\left( x\right)
\end{equation*}が成り立つ場合には、このような点\(a\)を\(f\)の\(X\)における最大点(maximum point)や大域的最大点(global maximum point)もしくは絶対的最大点(absolute maximum point)などと呼びます。また、\(f\)の\(X\)における最大点\(a\)が存在する場合、\(f\)が点\(a\)に対して定める値\(f\left( a\right) \)を\(f\)の\(X\)における最大値(maximum value)や大域的最大値(global maximum value)もしくは絶対的最大値(absolute maximum value)などと呼び、これを、\begin{equation*}\max_{x\in X}f\left( x\right)
\end{equation*}で表記します。

関数\(f:\mathbb{R} ^{n}\supset X\rightarrow \mathbb{R} \)の値域は、\begin{equation*}f\left( X\right) =\left\{ f\left( x\right) \in \mathbb{R} \ |\ x\in X\right\}
\end{equation*}と定義される\(\mathbb{R} \)の部分集合ですが、これと関数\(f\)の最大値の間には、\begin{equation*}\max_{x\in X}f\left( x\right) =\max f\left( X\right)
\end{equation*}という関係が成り立ちます。つまり、\(f\)の\(X\)における最大値は\(f\)の値域の最大値と一致します。一般に、\(\mathbb{R} \)の非空な部分集合は最大値を持つとは限りませんが、存在する場合には必ず1つの実数として定まります。したがって、\(\max f\left( X\right) \)やそれと一致する\(\max\limits_{x\in X}f\left( x\right) \)もまた存在するとは限らない一方、存在する場合には必ず1つの実数として定まります。

関数\(f:\mathbb{R} ^{n}\supset X\rightarrow \mathbb{R} \)が\(X\)において最大値をとらない場合には、\(f\)の\(X\)における最大点は存在しません。また、関数\(f\)が\(X\)において最大値をとる場合、その最大値は1つの実数として定まる一方、最大点は一意的であるとは限りません。つまり、異なる点\(a,a^{\prime }\in X\)に対して、\begin{equation*}\max_{x\in X}f\left( x\right) =f\left( a\right) =f\left( a^{\prime }\right)
\end{equation*}が成り立つ状況が起こり得るということです。以上を踏まえた上で、\(f\)の\(X\)における最大点からなる集合を、\begin{equation*}\mathrm{argmax}_{x\in X}f\left( x\right) =\left\{ a\in X\ |\ f\left(
a\right) =\max_{x\in X}f\left( x\right) \right\}
\end{equation*}で表記します。

例(関数の最大点と最大値)
関数\(f:\mathbb{R} ^{2}\rightarrow \mathbb{R} \)はそれぞれの\(\left( x,y\right) \in \mathbb{R} ^{2}\)に対して、\begin{equation*}f\left( x,y\right) =-x^{2}-y^{2}
\end{equation*}を定めるものとします。\(f\)のグラフは以下の通りです。

図:関数の最大点
図:関数の最大点

この関数\(f\)の定義域\(\mathbb{R} ^{2}\)における最大点は\(\left(0,0\right) \)であり、最大値は、\begin{equation*}f\left( 0,0\right) =-0^{2}-0^{2}=0
\end{equation*}です。

例(関数の最大点と最大値)
関数\(f:\mathbb{R} ^{2}\rightarrow \mathbb{R} \)はそれぞれの\(\left( x,y\right) \in \mathbb{R} ^{2}\)に対して、\begin{equation*}f\left( x,y\right) =x+y
\end{equation*}を定めるものとします。\(f\)のグラフは以下の通りです。

図:関数の最大点
図:関数の最大点

この関数\(f\)の定義域\(\mathbb{R} ^{2}\)において最大点を持ちません。\(x\)や\(y\)が大きくなるにつれて\(f\left(x,y\right) \)はいくらでも大きくなるからです。一方、この関数\(f\)の定義域を制限して、\begin{equation*}f:\mathbb{R} ^{2}\supset \left[ 0,1\right] \times \left[ 0,1\right] \rightarrow \mathbb{R} \end{equation*}とすれば、\(f\)の定義域\(\left[ 0,1\right] \times \left[ 0,1\right] \)における最大点は\(\left( 1,1\right) \)であり、最大値は、\begin{equation*}f\left( 1,1\right) =1+1=2
\end{equation*}となります。この例が示唆するように、同じ関数でも定義域が変われば最大値や最大点もまた変化します。

 

多変数関数の最小点と最小値

多変数関数\(f:\mathbb{R} ^{n}\supset X\rightarrow \mathbb{R} \)が与えられたとき、\(f\left( x\right) \)の値を最小化するような点\(a\)が\(f\)の定義域\(X\)上に存在する場合には、すなわち、\begin{equation*}\exists a\in X,\ \forall x\in X:f\left( a\right) \leq f\left( x\right)
\end{equation*}が成り立つ場合には、このような点\(a\)を\(f\)の\(X\)における最小点(minimum point)や大域的最小点(global minimum point)もしくは絶対的最小点(absolute maximum point)などと呼びます。また、\(f\)の\(X\)における最小点\(a\)が存在する場合、\(f\)が点\(a\)に対して定める値\(f\left( a\right) \)を\(f\)の\(X\)における最小値(minimum value)や大域的最小値(global minimum value)もしくは絶対的最小値(absolute minimum value)などと呼び、これを、\begin{equation*}\min_{x\in X}f\left( x\right)
\end{equation*}で表記します。

関数\(f:\mathbb{R} ^{n}\supset X\rightarrow \mathbb{R} \)の値域は、\begin{equation*}f\left( X\right) =\left\{ f\left( x\right) \in \mathbb{R} \ |\ x\in X\right\}
\end{equation*}と定義される\(\mathbb{R} \)の部分集合ですが、これと関数\(f\)の最小値の間には、\begin{equation*}\min_{x\in X}f\left( x\right) =\min f\left( X\right)
\end{equation*}という関係が成り立ちます。つまり、\(f\)の\(X\)における最小値は\(f\)の値域の最小値と一致します。一般に、\(\mathbb{R} \)の非空な部分集合は最小値を持つとは限りませんが、存在する場合には必ず1つの実数として定まります。したがって、\(\min f\left( X\right) \)やそれと一致する\(\min\limits_{x\in X}f\left( x\right) \)もまた存在するとは限らない一方、存在する場合には必ず1つの実数として定まります。

関数\(f:\mathbb{R} ^{n}\supset X\rightarrow \mathbb{R} \)が\(X\)において最小値をとらない場合には、\(f\)の\(X\)における最小点は存在しません。また、関数\(f\)が\(X\)において最小値をとる場合、その最小値は1つの実数として定まる一方、最小点は一意的であるとは限りません。つまり、異なる点\(a,a^{\prime }\in X\)について、\begin{equation*}\min_{x\in X}f\left( x\right) =f\left( a\right) =f\left( a^{\prime }\right)
\end{equation*}が成り立つ状況が起こり得るということです。以上を踏まえた上で、\(f\)の\(X\)における最小点からなる集合を、\begin{equation*}\mathrm{argmin}_{x\in X}f\left( x\right) =\left\{ a\in X\ |\ f\left(
a\right) =\min_{x\in X}f\left( x\right) \right\}
\end{equation*}で表記します。

例(関数の最小点と最小値)
関数\(f:\mathbb{R} ^{2}\rightarrow \mathbb{R} \)はそれぞれの\(\left( x,y\right) \in \mathbb{R} ^{2}\)に対して、\begin{equation*}f\left( x,y\right) =x^{2}+y^{2}
\end{equation*}を定めるものとします。\(f\)のグラフは以下の通りです。

図:関数の最小点
図:関数の最小点

この関数\(f\)の定義域\(\mathbb{R} ^{2}\)における最小点は\(\left(0,0\right) \)であり、最小値は、\begin{equation*}f\left( 0,0\right) =0^{2}+0^{2}=0
\end{equation*}です。

例(関数の最小点と最小値)
関数\(f:\mathbb{R} ^{2}\rightarrow \mathbb{R} \)はそれぞれの\(\left( x,y\right) \in \mathbb{R} ^{2}\)に対して、\begin{equation*}f\left( x,y\right) =x+y
\end{equation*}を定めるものとします。\(f\)のグラフは以下の通りです。

図:関数の最小点
図:関数の最小点

この関数\(f\)の定義域\(\mathbb{R} ^{2}\)において最小点を持ちません。\(x\)や\(y\)が小さくなるにつれて\(f\left(x,y\right) \)はいくらでも小さくなるからです。一方、この関数\(f\)の定義域を制限して、\begin{equation*}f:\mathbb{R} ^{2}\supset \left[ 0,1\right] \times \left[ 0,1\right] \rightarrow \mathbb{R} \end{equation*}とすれば、\(f\)の定義域\(\left[ 0,1\right] \times \left[ 0,1\right] \)における最小点は\(\left( 0,0\right) \)であり、最小値は、\begin{equation*}f\left( 0,0\right) =0+0=0
\end{equation*}となります。この例が示唆するように、同じ関数でも定義域が変われば最小点や最小値もまた変化します。

 

関数が最大値や最小値をとるための条件

コンパクト集合上に定義された関数が連続である場合には、最大値・最小値の定理より、関数は定義域において最大値や最小値をとることが保証されます。ただ、関数の定義域はコンパクト集合であるとは限らないため、定義域がコンパクト集合であるとは限らない状況において、関数が最大値や最小値をとるかどうかを判定する手法が要請されます。また、関数が定義域において最大値や最小値をとることが分かっている場合においても、最大点や最小点は必ずしも明らかではありません。したがって、関数の最大点や最小点を特定する手法もまた要請されます。

微分可能な関数を対象とした場合、関数が定義域において最大値や最小値をとるための条件や、定義域の点が最大点や最小点であるための条件が知られています。以降ではそのような条件について学びます。

次回は多変数関数の局所最適解について解説します。

関連知識

Mailで保存
Xで共有

質問とコメント

プレミアム会員専用コンテンツです

会員登録

有料のプレミアム会員であれば、質問やコメントの投稿と閲覧、プレミアムコンテンツ(命題の証明や演習問題とその解答)へのアクセスなどが可能になります。

ワイズのユーザーは年齢・性別・学歴・社会的立場などとは関係なく「学ぶ人」として対等であり、お互いを人格として尊重することが求められます。ユーザーが快適かつ安心して「学ぶ」ことに集中できる環境を整備するため、広告やスパム投稿、他のユーザーを貶めたり威圧する発言、学んでいる内容とは関係のない不毛な議論などはブロックすることになっています。詳細はガイドラインをご覧ください。

誤字脱字、リンク切れ、内容の誤りを発見した場合にはコメントに投稿するのではなく、以下のフォームからご連絡をお願い致します。

プレミアム会員専用コンテンツです
ログイン】【会員登録

関数の最適化