WIIS

準凸関数・準凹関数

上位集合・下位集合を用いた1変数の準凸関数・準凹関数の判定

目次

Twitter
Mailで保存

下位集合を用いた1変数の準凸関数の判定

区間上に定義された関数\(f:\mathbb{R} \supset I\rightarrow \mathbb{R} \)が準凸関数であることは、\begin{equation*}\forall x_{1},x_{2}\in I,\ \forall \lambda \in \left[ 0,1\right] :f\left(
\lambda x_{1}+\left( 1-\lambda \right) x_{2}\right) \leq \max \left\{
f\left( x_{1}\right) ,f\left( x_{2}\right) \right\}
\end{equation*}が成り立つこととして定義されますが、定義にもとづいて関数が準凸であることを示す作業は煩雑になりがちです。ただし、関数\(f\)が\(C^{1}\)級である場合、\begin{equation*}\forall x_{1},x_{2}\in I:\left[ f\left( x_{2}\right) \leq f\left(
x_{1}\right) \Rightarrow \left( x_{2}-x_{1}\right) \cdot f^{\prime }\left(
x_{1}\right) \leq 0\right] \end{equation*}が成り立つことは、\(f\)は準凸関数であるための必要十分条件です。では、関数\(f\)が微分可能でない場合、\(f\)が準凸関数であることを簡単に判定する方法はあるのでしょうか。

関数\(f:\mathbb{R} \supset I\rightarrow \mathbb{R} \)が与えられたとき、\(f\left( x\right) \)の値がある実数\(c\in \mathbb{R} \)以下になるような定義域の点\(x\in I\)からなる集合を、\begin{equation*}L\left( c\right) =\left\{ x\in I\ |\ f\left( x\right) \leq c\right\}
\end{equation*}で表記し、これを\(f\)の\(c\)に関する下位集合(lower level set)や劣位集合(sublevel set)などと呼びます。

例(下位集合)
関数\(f:\mathbb{R} \supset I\rightarrow \mathbb{R} \)の点\(c\in \mathbb{R} \)に関する下位集合\(L\left(c\right) \)が下図において青い線として描かれています。

図:下位集合
図:下位集合
例(下位集合)
関数\(f:\mathbb{R} \supset I\rightarrow \mathbb{R} \)の点\(c\in \mathbb{R} \)に関する下位集合\(L\left(c\right) \)が下図において青い線として描かれています。

図:下位集合
図:下位集合

関数\(f\)が準凸関数であることは、任意の実数\(c\)に関する\(f\)の下位集合\(L\left( c\right) \)が凸集合であることとして特徴づけられます。ちなみに、ある値\(c\)に対する下位集合\(L\left( c\right) \)が空集合であるような状況は起こり得ますが、空集合は凸集合であるためそのような値\(c\)は問題になりません。

命題(下位集合を用いた準凸関数の判定)
区間上に定義された関数\(f:\mathbb{R} \supset I\rightarrow \mathbb{R} \)が与えられたとき、任意の実数\(c\in \mathbb{R} \)に関する下位集合\begin{equation*}L\left( c\right) =\left\{ x\in I\ |\ f\left( x\right) \leq c\right\}
\end{equation*}が凸集合であることは、\(f\)が準凸関数であるための必要十分条件である。
証明

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

例(下位集合と準凸関数)
関数\(f:\mathbb{R} _{++}\rightarrow \mathbb{R} \)はそれぞれの\(x\in \mathbb{R} _{++}\)に対して、\begin{equation*}f\left( x\right) =\ln \left( x\right)
\end{equation*}を定めるものとします。実数\(c\in \mathbb{R} \)を任意に選んだとき、\begin{eqnarray*}L\left( c\right) &=&\left\{ x\in \mathbb{R} _{++}\ |\ f\left( x\right) \leq c\right\} \quad \because \text{下位集合の定義} \\
&=&\left\{ x\in \mathbb{R} _{++}\ |\ \ln \left( x\right) \leq c\right\} \quad \because f\text{の定義} \\
&=&\left\{ x\in \mathbb{R} _{++}\ |\ x\leq e^{c}\right\} \\
&=&(0,e^{c}] \end{eqnarray*}となります。任意の\(c \in \mathbb{R}\)に対して\(e^{c}>0\)であるため、\((0,e^{c}]\)すなわち\(L\left( c\right) \)は空集合ではありません。有界半閉区間は\(\mathbb{R} \)上の凸集合であるため\(L\left( c\right) \)は凸集合です。したがって\(f\)は準凸関数です。
例(下位集合と準凸関数)
関数\(f:\mathbb{R} \rightarrow \mathbb{R} \)はそれぞれの\(x\in \mathbb{R} \)に対して、\begin{equation*}f\left( x\right) =2x
\end{equation*}を定めるものとします。実数\(c\in \mathbb{R} \)を任意に選んだとき、\begin{eqnarray*}L\left( c\right) &=&\left\{ x\in \mathbb{R} \ |\ f\left( x\right) \leq c\right\} \quad \because \text{下位集合の定義} \\
&=&\left\{ x\in \mathbb{R} \ |\ 2x\leq c\right\} \quad \because f\text{の定義} \\
&=&\left\{ x\in \mathbb{R} \ |\ x\leq \frac{c}{2}\right\} \\
&=&\left( -\infty ,\frac{c}{2}\right] \end{eqnarray*}となりますが、\(\mathbb{R} \)上の無限半閉区間は凸集合であるため\(L\left(c\right) \)は凸集合です。したがって\(f\)は準凸関数です。

先の命題は関数が準凸であるための必要十分条件を与えているため、関数が準凸ではないことを証明する際にも利用できます。具体的には、区間上に定義された関数\(f:\mathbb{R} \supset I\rightarrow \mathbb{R} \)が与えられたとき、少なくとも1つの実数\(c\in \mathbb{R} \)に関する下位集合\begin{equation*}L\left( c\right) =\left\{ x\in I\ |\ f\left( x\right) \leq c\right\}
\end{equation*}が凸集合ではない場合、\(f\)は準凸関数ではありません。

例(非準凸関数)
関数\(f:\mathbb{R} \rightarrow \mathbb{R} \)はそれぞれの\(x\in \mathbb{R} \)に対して、\begin{equation*}f\left( x\right) =-x^{2}
\end{equation*}を定めるものとします。実数\(1\)に関する下位集合は、\begin{eqnarray*}L\left( 1\right) &=&\left\{ x\in \mathbb{R} \ |\ f\left( x\right) \leq 1\right\} \quad \because \text{下位集合の定義} \\
&=&\left\{ x\in \mathbb{R} \ |\ -x^{2}\leq 1\right\} \quad \because f\text{の定義} \\
&=&\left\{ x\in \mathbb{R} \ |\ x^{2}\geq 1\right\} \\
&=&\left\{ x\in \mathbb{R} \ |\ x\leq -1\vee x\geq 1\right\} \\
&=&\left( -\infty ,-1\right] \cup \lbrack 1,+\infty )
\end{eqnarray*}ですが、これは凸集合ではないため\(f\)は準凸関数ではありません。

 

上位集合を用いた1変数の準凹関数の判定

区間上に定義された関数\(f:\mathbb{R} \supset I\rightarrow \mathbb{R} \)が準凹関数であることは、\begin{equation*}\forall x_{1},x_{2}\in I,\ \forall \lambda \in \left[ 0,1\right] :\min
\left\{ f\left( x_{1}\right) ,f\left( x_{2}\right) \right\} \leq f\left(
\lambda x_{1}+\left( 1-\lambda \right) x_{2}\right)
\end{equation*}が成り立つこととして定義されますが、定義にもとづいて関数が準凹であることを示す作業は煩雑になりがちです。ただし、関数\(f\)が\(C^{1}\)級である場合、\begin{equation*}\forall x_{1},x_{2}\in I:\left[ f\left( x_{2}\right) \geq f\left(
x_{1}\right) \Rightarrow \left( x_{2}-x_{1}\right) \cdot f^{\prime }\left(
x_{1}\right) \geq 0\right] \end{equation*}が成り立つことは、\(f\)は準凹関数であるための必要十分条件です。では、関数\(f\)が微分可能でない場合、\(f\)が準凹関数であることを簡単に判定する方法はあるのでしょうか。

関数\(f:\mathbb{R} \supset I\rightarrow \mathbb{R} \)が与えられたとき、\(f\left( x\right) \)の値がある実数\(c\in \mathbb{R} \)以上になるような定義域の点\(x\in I\)からなる集合を、\begin{equation*}U\left( c\right) =\left\{ x\in I\ |\ f\left( x\right) \geq c\right\}
\end{equation*}で表記し、これを\(f\)の\(c\)に関する上位集合(upper level set)や優位集合(super level set)などと呼びます。

例(上位集合)
関数\(f:\mathbb{R} \supset I\rightarrow \mathbb{R} \)の点\(c\in \mathbb{R} \)に関する上位集合\(U\left(c\right) \)が下図において青い線として描かれています。

図:上位集合
図:上位集合
例(上位集合)
関数\(f:\mathbb{R} \supset I\rightarrow \mathbb{R} \)の点\(c\in \mathbb{R} \)に関する上位集合\(U\left(c\right) \)が下図において青い線として描かれています。

図:上位集合
図:上位集合

関数\(f\)が準凹関数であることは、任意の実数\(c\)に関する\(f\)の上位集合\(U\left( c\right) \)が凸集合であることとして特徴づけられます。ちなみに、ある値\(c\)に対する上位集合\(U\left( c\right) \)が空集合であるような状況は起こり得ますが、空集合は凸集合であるためそのような値\(c\)は問題になりません。

命題(上位集合を用いた準凹関数の判定)
区間上に定義された関数\(f:\mathbb{R} \supset I\rightarrow \mathbb{R} \)が与えられたとき、任意の実数\(c\in \mathbb{R} \)に関する上位集合\begin{equation*}U\left( c\right) =\left\{ x\in I\ |\ f\left( x\right) \geq c\right\}
\end{equation*}が凸集合であることは、\(f\)が準凹関数であるための必要十分条件である。
証明

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

例(上位集合と準凹関数)
関数\(f:\mathbb{R} _{++}\rightarrow \mathbb{R} \)はそれぞれの\(x\in \mathbb{R} _{++}\)に対して、\begin{equation*}f\left( x\right) =\ln \left( x\right)
\end{equation*}を定めるものとします。実数\(c\in \mathbb{R} \)を任意に選んだとき、\begin{eqnarray*}U\left( c\right) &=&\left\{ x\in \mathbb{R} _{++}\ |\ f\left( x\right) \geq c\right\} \quad \because \text{上位集合の定義} \\
&=&\left\{ x\in \mathbb{R} _{++}\ |\ \ln \left( x\right) \geq c\right\} \quad \because f\text{の定義} \\
&=&\left\{ x\in \mathbb{R} _{++}\ |\ x\geq e^{c}\right\} \\
&=&[e^{c},+\infty )
\end{eqnarray*}となりますが、\(\mathbb{R} \)上の無限半閉区間は凸集合であるため\(U\left(c\right) \)は凸集合です。したがって\(f\)は準凹関数です。
例(上位集合と準凹関数)
関数\(f:\mathbb{R} \rightarrow \mathbb{R} \)はそれぞれの\(x\in \mathbb{R} \)に対して、\begin{equation*}f\left( x\right) =2x
\end{equation*}を定めるものとします。実数\(c\in \mathbb{R} \)を任意に選んだとき、\begin{eqnarray*}U\left( c\right) &=&\left\{ x\in \mathbb{R} \ |\ f\left( x\right) \geq c\right\} \quad \because \text{上位集合の定義} \\
&=&\left\{ x\in \mathbb{R} \ |\ 2x\geq c\right\} \quad \because f\text{の定義} \\
&=&\left\{ x\in \mathbb{R} \ |\ x\geq \frac{c}{2}\right\} \\
&=&\left[ \frac{c}{2},+\infty \right)
\end{eqnarray*}となりますが、\(\mathbb{R} \)上の無限半閉区間は凸集合であるため\(U\left(c\right) \)は凸集合です。したがって\(f\)は準凹関数です。

先の命題は関数が準凹であるための必要十分条件を与えているため、関数が準凹ではないことを証明する際にも利用できます。具体的には、区間上に定義された関数\(f:\mathbb{R} \supset I\rightarrow \mathbb{R} \)が与えられたとき、少なくとも1つの実数\(c\in \mathbb{R} \)に関する上位集合\begin{equation*}U\left( c\right) =\left\{ x\in I\ |\ f\left( x\right) \geq c\right\}
\end{equation*}が凸集合ではない場合、\(f\)は準凹関数ではありません。

例(非準凹関数)
関数\(f:\mathbb{R} \rightarrow \mathbb{R} \)はそれぞれの\(x\in \mathbb{R} \)に対して、\begin{equation*}f\left( x\right) =x^{2}
\end{equation*}を定めるものとします。実数\(1\)に関する上位集合は、\begin{eqnarray*}U\left( 1\right) &=&\left\{ x\in \mathbb{R} \ |\ f\left( x\right) \geq 1\right\} \quad \because \text{下位集合の定義} \\
&=&\left\{ x\in \mathbb{R} \ |\ x^{2}\geq 1\right\} \quad \because f\text{の定義} \\
&=&\left\{ x\in \mathbb{R} \ |\ x\leq -1\vee x\geq 1\right\} \\
&=&\left( -\infty ,-1\right] \cup \lbrack 1,+\infty )
\end{eqnarray*}ですが、これは凸集合ではないため\(f\)は準凹関数ではありません。

 

演習問題

問題(準凸関数・準凹関数)
全区間上に定義された正弦関数\begin{equation*}
\sin \left( x\right) :\mathbb{R} \rightarrow \mathbb{R} \end{equation*}が準凸関数や準凹関数ではないことを上位集合や下位集合を用いて示してください。

解答を見る

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

問題(準凸関数・準凹関数)
関数\(f:\mathbb{R} \rightarrow \mathbb{R} \)はそれぞれの\(x\in \mathbb{R} \)に対して、\begin{equation*}f\left( x\right) =e^{x}
\end{equation*}を定めるものとします。\(f\)が準凸かつ準凹であることを上位集合と下位集合を用いて示してください。
証明

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

問題(準凸関数・準凹関数)
関数\(f:\mathbb{R} \rightarrow \mathbb{R} \)はそれぞれの\(x\in \mathbb{R} \)に対して、\begin{equation*}f\left( x\right) =\left\{
\begin{array}{cl}
-x^{2} & \left( x<0\right) \\
0 & \left( 0\leq x\leq 1\right) \\
-\left( x-2\right) ^{2}+1 & \left( 1\leq x\right)
\end{array}\right.
\end{equation*}を定めるものとします。\(f\)が準凹であることを示してください。
解答を見る

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

Twitter
Mailで保存

質問とコメント

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

関連知識

生産集合の凸性

生産者理論では生産集合が凸集合であることを仮定することがあります。これは変換関数が準凸関数であることを意味します。

上方位集合・下方位集合・無差別集合

消費者の選好関係が与えられたとき、消費ベクトルを任意に選ぶと、そこから上方位集合、下方位集合、無差別集合などの消費集合の部分集合が定義されます。

選好関係の連続性

ある選好関係のもとで任意の消費ベクトルに関する狭義の上方位集合と狭義の下方位集合がともに消費集合上で開集合である場合、その選好関係は連続性を満たすと言います。連続性の仮定のもとでは消費者の選好が連続的に変化することが保証されます。また、連続な効用関数によって表現される選好は連続性を満たします。

選好の凸性

消費ベクトル x 以上に望ましい消費ベクトル y,z を任意に選んだとき、それらを任意の割合で混ぜることで得られる消費ベクトルもまた x 以上に望ましいことが保証されるのであれば、選好は凸性を満たすと言います。凸性を満たす選好は準凹な効用関数によって特徴づけられます。

拡大実数値関数の上半連続性・下半連続性

任意の上方位集合が閉集合であるような拡大実数値関数を上半連続関数と呼び、任意の下方位集合が閉集合であるような拡大実数値関数を下半連続関数と呼びます。上半連続かつ下半連続であることと連続であることは必要十分です。

1変数の準凸関数・準凹関数

1変数関数が準凸関数であること、準凹関数であることの意味を解説します。凸関数は準凸関数ですが、その逆は成り立つとは限りません。また、凹関数は準凹関数ですが、その逆は成り立つとは限りません。

多変数の準凸関数・準凹関数

多変数関数が準凸関数であること、準凹関数であることの意味を解説します。凸関数は準凸関数ですが、その逆は成り立つとは限りません。また、凹関数は準凹関数ですが、その逆は成り立つとは限りません。