WIIS

関数

関数に関するタルスキの不動点定理

目次

前のページ:

逆関数の連続性

次のページ:

指数関数の連続性

Mailで保存
Xで共有

関数の不動点

実数空間\(\mathbb{R} \)もしくはその部分集合\(X\)を定義域とし、実数値をとる1変数関数\begin{equation*}f:\mathbb{R} \supset X\rightarrow \mathbb{R} \end{equation*}が与えられているものとします。関数\(f\)が以下の条件\begin{equation*}\exists c\in X:f\left( c\right) =c
\end{equation*}を満たす場合には、このような点\(c\)を関数\(f\)の不動点(fixed point)と呼びます。

例(定数関数の不動点)
関数\(f:\mathbb{R} \rightarrow \mathbb{R} \)がそれぞれの\(x\in \mathbb{R} \)に対して定める値が、定数\(c\in \mathbb{R} \)を用いて、\begin{equation*}f\left( x\right) =c
\end{equation*}を定めるものとします。つまり、\(f\)は定数関数です。このとき、\begin{equation*}\exists c\in \mathbb{R} :f\left( c\right) =c
\end{equation*}が成り立つため、点\(c\)は関数\(f\)の不動点です。
例(恒等関数の不動点)
関数\(f:\mathbb{R} \rightarrow \mathbb{R} \)はそれぞれの\(x\in \mathbb{R} \)に対して、\begin{equation*}f\left( x\right) =x
\end{equation*}を定めるものとします。つまり、\(f\)は恒等関数です。このとき、\begin{equation*}\forall c\in \mathbb{R} :f\left( c\right) =c
\end{equation*}が成り立つため、\(\mathbb{R} \)上の任意の点が\(f\)の不動点です。
例(2次関数の不動点)
関数\(f:\mathbb{R} \rightarrow \mathbb{R} \)はそれぞれの\(x\in \mathbb{R} \)に対して、\begin{equation*}f\left( x\right) =x^{2}
\end{equation*}を定めるものとします。このとき、\begin{eqnarray*}
\exists 0 &\in &\mathbb{R} :f\left( 0\right) =0 \\
\exists 1 &\in &\mathbb{R} :f\left( 1\right) =1
\end{eqnarray*}が成り立つため、点\(0,1\)はともに\(f\)の不動点です。

関数は不動点を持つとは限りません。以下の例より明らかです。

例(不動点を持たない関数)
関数\(f:\mathbb{R} \rightarrow \mathbb{R} \)はそれぞれの\(x\in \mathbb{R} \)に対して、\begin{equation*}f\left( x\right) =\left\{
\begin{array}{cl}
1 & \left( if\ x<0\right) \\
-1 & \left( if\ x\geq 0\right)
\end{array}\right.
\end{equation*}を定めるものとします。\(x<0\)を満たす\(x\in \mathbb{R} \)を任意に選んだとき、\begin{eqnarray*}f\left( x\right) &=&1\quad \because f\text{の定義} \\
&\not=&x\quad \because x<0
\end{eqnarray*}となるため、\(x\)は\(f\)の不動点ではありません。また、\(x\geq 0\)を満たす\(x\in \mathbb{R} \)を任意に選んだとき、\begin{eqnarray*}f\left( x\right) &=&-1\quad \because f\text{の定義} \\
&\not=&x\geq 0\quad \because x\geq 0
\end{eqnarray*}となるため、\(x\)は\(f\)の不動点ではありません。以上より、\(f\)の不動点は存在しないことが明らかになりました。
例(不動点を持たない関数)
関数\(f:\mathbb{R} \supset \left[ 0,1\right] \rightarrow \mathbb{R} \)はそれぞれの\(x\in \left[ 0,1\right] \)に対して、\begin{equation*}f\left( x\right) =x+1
\end{equation*}を定めるものとします。任意の\(x\in \left[ 0,1\right] \)について、\begin{eqnarray*}f\left( x\right) &=&x+1\quad \because f\text{の定義} \\
&>&x
\end{eqnarray*}が成り立つため、\begin{equation*}
f\left( c\right) =c
\end{equation*}を満たす\(c\in \left[ 0,1\right] \)は存在しません。したがって、\(f\)は不動点を持ちません。

 

連続関数の不動点

関数の中には不動点を持つものと不動点を持たないものの双方が存在することが明らかになりました。では、関数の不動点が存在するための条件を特定できるのでしょうか。

\(a<b\)を満たす実数\(a,b\in \mathbb{R} \)を端点とする有界閉区間上に定義された関数\begin{equation*}f:\mathbb{R} \supset \left[ a,b\right] \rightarrow \mathbb{R} \end{equation*}が\(\left[ a,b\right] \)上において連続であるとともに、\(f\)の値域が定義域の部分集合である場合、すなわち、\begin{equation*}f\left( \left[ a,b\right] \right) \subset \left[ a,b\right] \end{equation*}が成り立つ場合、\(f\)は不動点を持ちます。証明では中間値の定理を利用します。

命題(連続関数の不動点)
\(a<b\)を満たす実数\(a,b\in \mathbb{R} \)を端点とする有界閉区間上に定義された関数\(f:\mathbb{R} \supset \left[ a,b\right] \rightarrow \mathbb{R} \)が連続であるとともに、\begin{equation*}f\left( \left[ a,b\right] \right) \subset \left[ a,b\right] \end{equation*}が成り立つ場合には、\(f\)は不動点を持つ。すなわち、\begin{equation*}\exists c\in \left[ a,b\right] :f\left( c\right) =c
\end{equation*}が成り立つ。

証明

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

例(連続関数の不動点)
関数\(f:\mathbb{R} \supset \left[ a,b\right] \rightarrow \mathbb{R} \)がそれぞれの\(x\in \mathbb{R} \)に対して定める値が、\begin{equation*}a\leq c\leq b
\end{equation*}を満たす定数\(c\in \mathbb{R} \)を用いて、\begin{equation*}f\left( x\right) =c
\end{equation*}と表されるものとします。\(f\)は有界閉区間\(\left[ a,b\right] \)上に定義された連続関数であり、その値域は、\begin{eqnarray*}f\left( \left[ a,b\right] \right) &=&\left\{ c\right\} \\
&\subset &\left[ a,b\right] \quad \because a\leq c\leq b
\end{eqnarray*}を満たすため、先の命題より\(f\)は不動点を持ちます。実際、\begin{equation*}\exists c\in \left[ a,b\right] :f\left( c\right) =c
\end{equation*}が成り立つため、点\(c\)は\(f\)の不動点です。
例(定数関数の不動点)
関数\(f:\mathbb{R} \supset \left[ a,b\right] \rightarrow \mathbb{R} \)はそれぞれの\(x\in \left[ a,b\right] \)に対して、\begin{equation*}f\left( x\right) =x
\end{equation*}を定めるものとします。\(f\)は有界閉区間\(\left[a,b\right] \)上に定義された連続関数であり、その値域は、\begin{equation*}f\left( \left[ a,b\right] \right) =\left[ a,b\right] \subset \left[ a,b\right] \end{equation*}を満たすため、先の命題より\(f\)は不動点を持ちます。実際、\begin{equation*}\forall c\in \left[ a,b\right] :f\left( c\right) =c
\end{equation*}が成り立つため、\(\left[ a,b\right] \)上の任意の点が\(f\)の不動点です。

先の命題では有界閉区間上に定義された関数\(f\)に対して2つの条件を要求しています。1つ目は\(f\)が連続関数であること、2つ目は\(f\)の値域が定義域の部分集合であることです。これらの条件の少なくとも一方が満たされない場合、上の命題の主張は成り立つとは限りません。

まずは、\(f\)が連続ではない例を提示します。

例(不動点を持たない関数)
関数\(f:\mathbb{R} \supset \left[ 0,1\right] \rightarrow \mathbb{R} \)はそれぞれの\(x\in \left[ 0,1\right] \)に対して、\begin{equation*}f\left( x\right) =\left\{
\begin{array}{cl}
1 & \left( if\ x\leq \frac{1}{2}\right) \\
0 & \left( if\ x>\frac{1}{2}\right)
\end{array}\right.
\end{equation*}を定めるものとします。\(f\)は有界閉区間\(\left[0,1\right] \)上に定義されており、その値域は、\begin{equation*}f\left( \left[ 0,1\right] \right) =\left\{ 0,1\right\} \subset \left[ 0,1\right] \end{equation*}を満たします。その一方で、\(f\)は点\(x=\frac{1}{2}\)において連続ではないため、この関数\(f\)は先の命題が要求する条件を満たさず、不動点の存在を保証できません。実際、\(f\)は不動点を持ちません。

続いて、\(f\)の値域が定義域の部分集合ではない提示します。

例(不動点を持たない関数)
関数\(f:\mathbb{R} \supset \left[ 0,1\right] \rightarrow \mathbb{R} \)はそれぞれの\(x\in \left[ 0,1\right] \)に対して、\begin{equation*}f\left( x\right) =-1
\end{equation*}を定めるものとします。\(f\)は有界閉区間\(\left[0,1\right] \)上に定義された連続関数である一方で、その値域は、\begin{equation*}f\left( \left[ 0,1\right] \right) =\left\{ -1\right\}
\end{equation*}であり、これは定義域\(\left[ 0,1\right] \)の部分集合ではありません。したがって関数\(f\)は先の命題が要求する条件を満たさず、不動点の存在を保証できません。実際、\(f\)は不動点を持ちません。

 

タルスキの不動点定理

有界閉区間上に定義された連続関数の値域が定義域の部分集合である場合、その関数には不動点が存在することが明らかになりました。実は、関数が連続ではない場合にも、その関数が単調増加(単調非減少)であれば、不動点が存在することを保証できます。具体的には以下の通りです。

\(a<b\)を満たす実数\(a,b\in \mathbb{R} \)を端点とする有界閉区間上に定義された関数\begin{equation*}f:\mathbb{R} \supset \left[ a,b\right] \rightarrow \mathbb{R} \end{equation*}が\(\left[ a,b\right] \)上において単調増加であるものとします。つまり、\begin{equation*}\forall x,x^{\prime }\in \left[ a,b\right] :\left[ x<x^{\prime }\Rightarrow
f\left( x\right) \leq f\left( x^{\prime }\right) \right] \end{equation*}が成り立つということです。さらに、\(f\)の値域が定義域の部分集合である場合、すなわち、\begin{equation*}f\left( \left[ a,b\right] \right) \subset \left[ a,b\right] \end{equation*}が成り立つ場合、\(f\)は不動点を持ちます。これをタルスキの不動点定理(Tarski’s fixed point theorem)やクナスタ・タルスキの不動点定理(Knaster-Tarski Theorem)などと呼びます。

命題(タルスキの不動点定理)
\(a<b\)を満たす実数\(a,b\in \mathbb{R} \)を端点とする有界閉区間上に定義された関数\(f:\mathbb{R} \supset \left[ a,b\right] \rightarrow \mathbb{R} \)が単調増加であるとともに、\begin{equation*}f\left( \left[ a,b\right] \right) \subset \left[ a,b\right] \end{equation*}が成り立つ場合には、\(f\)は不動点を持つ。すなわち、\begin{equation*}\exists c\in \left[ a,b\right] :f\left( c\right) =c
\end{equation*}が成り立つ。

証明

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

例(タルスキの不動点定理)
関数\(f:\mathbb{R} \supset \left[ 0,1\right] \rightarrow \mathbb{R} \)はそれぞれの\(x\in \left[ 0,1\right] \)に対して、\begin{equation*}f\left( x\right) =\left\{
\begin{array}{cl}
0 & \left( if\ x\leq \frac{1}{2}\right) \\
1 & \left( if\ x>\frac{1}{2}\right)
\end{array}\right.
\end{equation*}を定めるものとします。\(f\)は有界閉区間\(\left[0,1\right] \)上に定義されており、その値域は、\begin{equation*}f\left( \left[ 0,1\right] \right) =\left\{ 0,1\right\} \subset \left[ 0,1\right] \end{equation*}を満たします。その一方で、\(f\)は点\(x=\frac{1}{2}\)において連続ではありませんが、\(\left[ 0,1\right] \)上において単調増加です。したがって、タルスキの不動点定理より、\(f\)は不動点を持ちます。実際、\begin{eqnarray*}\exists 0 &\in &\left[ 0,1\right] :f\left( 0\right) =0 \\
\exists 1 &\in &\left[ 0,1\right] :f\left( 1\right) =1
\end{eqnarray*}が成り立つため、点\(0,1\)はともに関数\(f\)の不動点です。

 

演習問題

問題(タルスキの不動点定理)
タルスキの不動点定理において「単調増加関数」という条件を「単調減少関数」に置き換えた場合にも同様の主張は成り立つでしょうか。つまり、\(a<b\)を満たす実数\(a,b\in \mathbb{R} \)を端点とする有界閉区間上に定義された関数\(f:\mathbb{R} \supset \left[ a,b\right] \rightarrow \mathbb{R} \)が単調減少であるとともに、\begin{equation*}f\left( \left[ a,b\right] \right) \subset \left[ a,b\right] \end{equation*}が成り立つ場合には、\(f\)は不動点を持つことを保証できるでしょうか。主張が成り立つ場合には証明を行い、成り立たない場合には反例を提示してください。
解答を見る

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

関連知識

前のページ:

逆関数の連続性

次のページ:

指数関数の連続性

Mailで保存
Xで共有

質問とコメント

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

会員登録

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

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

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

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