RPGツクールと数学のブログ

RPGツクールと数学についてのブログです。

ルベーグ積分 ~穴だらけでも面積が知りたい~

積分は関数グラフの面積を求める方法ですけど、きちんと積分が求められるためには、関数グラフが連続で滑らかでなければなりませんよね。↓こういう、途中穴があいたような関数には不適ということです。

f:id:fermiumbay13:20190803100356p:plain

面積を求めるのですから、こんなものがうまく求められないのは、当然といえば当然です。でも、不便に感じることがあります。上の関数でどうしても面積を出したければ、穴の開いている前後に範囲を分けて、それぞれで積分して足すことになります。面倒ですね。

あと、↓こんな関数になると、もはや色々手が付けられなくなります。

ディリクレの関数

xが有理数のとき、f(x)=1
xが無理数のとき、f(x)=0

x=2/3とかなら1だけど、x=√2とかなら0になるということです。不連続すぎてグラフにかくことすら出来なくなりますね。

f:id:fermiumbay13:20190803101113p:plain

むりやりかくと、こんなイメージにでもなるでしょう。スッカスカですね。0と1をいったりきたりしているわけですが、不連続すぎてその様子が目に見えません。

これの積分を求めたいとしたらどうしましょう?

最初の例は穴があいていただけなので、それを分けて領域を分ければ済んでいましたが、今度は穴しかあいてないので、領域を分けるなんて不可能です。それでもこいつの面積が知りたいのです。これは極端な例かもしれませんが、積分はあらゆる分野の基本演算であり、穴だらけの関数を積分しなければならない機会は意外と多くあるので、こういうのに柔軟に対応できないのは、結構困ります。

そこで使われるのが、ルベーグ積分です。これに対して普通の積分はリーマン積分といいます。リーマン積分は極限が絡むと面倒になりがちでしたが、ルベーグ積分は極限が絡んでも何食わぬ顔で積分できてしまうのがウリです。また、ルベーグ積分できてリーマン積分できない関数はありますが、リーマン積分できてルベーグ積分できない関数はないので、完全上位互換ということになります。

ということでルベーグ積分を使うのは非常に有意義なのですが、扱うための下準備が多すぎて中々手が出しにくいモノであることも事実です。そこで本記事ではごく単純に、ルベーグ積分のこころを記していきたいと思います。イメージは大事よ。

ルベーグ積分のこころ

リーマン積分(普通の積分)はどうやってして面積を求めていたかというと、↓このように横方向の領域を短冊状に分割し、それぞれの長方形の面積を求めて足し合わせるということをやっていましたね。

f:id:fermiumbay13:20190803102135p:plain

しかしこの方法は滑らかな関数だからこそできることであり、途中地面に穴があいていると、この領域分けがうまくできなくなるのです。地面を基準にして横方向に分割したからなんですよね。地面に穴があいているかどうかの吟味をしていなかったわけです。

ルベーグ積分は領域をまず縦方向に分割します。そして、その領域にグラフがきているときの地面がどこかを調べます。

f:id:fermiumbay13:20190803102917p:plain

↑こんなイメージです。リーマン積分とは逆に、幅のことは後から考えるんですね。こうすれば、地面に穴があいているかどうか予め見極めたうえで、それぞれの領域に対して考えることができます。

f:id:fermiumbay13:20190803103506p:plain

地面の領域が定まったら、後はリーマン積分と同じように横×縦でそれぞれの長方形の面積を求めることになるのですが、単純に求められない場合があります。

縦方向に領域を分割したので、縦の長さは決まりきった簡単な値になりますけど、横の長さが不連続だったり穴があいていたりする可能性があるわけです。もともとそれで困っていたので、当然ですね。そもそも↑あのグラフは単調増加ですが、↓こんなふうに領域が分かれてしまう場合もあります。

f:id:fermiumbay13:20190803104056p:plain

↑縦の領域①②③に分け、それに対応する地面を下側の①②③として表記しています。①とか②は飛び地になりますよね。この場合も同様、横×縦のようにして面積を求めようとしていたので、果たしてこの飛び地の領域を横の長さと呼んでいいものか疑問があります。

そこで、この横の長さを一般化して扱いやすくしてしまいます。どんなに不連続だったり穴があいていたり、飛び地になって分断されていたりしても、これを一つの領域(集合)として扱って、「その領域に対する長さ」をむりやり決めてしまうわけです。この一般化された「長さ」のことを測度といいます。途中穴があいていようと、いやいやそれは、「長さ」ですと言い切るのです。

「長さ」に対応して新しく定義した「測度」を横の長さとして、横×縦で面積を求めて足し合わせる、これがルベーグ積分のこころです。なんとなく気持ちはわかるでしょうか。これならたとえグラフが穴だらけでも、「測度」さえちゃんと求められたら、横×縦で面積が出せそうですよね。

測度のこころ

長さに対応して新しく定義した測度。領域(集合)に対して、何らかの値を返す関数です。これを一般化した新しい「長さ」と呼ぶわけです。

そんな適当なこと言っていいのかと思われそうですけれど、いいんですよ。実はこの議論をしている間は、まだ面積すら定義されていないわけです。面積は積分から定義しますからね。その積分をいま定義しようとしているので、面積もまだないのです。きちんと整合性がとれていれば、自由に決めちゃっていいのです。*1

領域(集合) Aに対する測度は、 \mu (A)というような関数で表します。返ってくる値は0以上の実数で、そのまんま、領域に対する「長さ」を表します。

f:id:fermiumbay13:20190803105652p:plain

数直線上の連続した領域であれば、測度は数直線上の長さとして返します。「終端-始端」で得られますね。領域に穴があいている場合は、二つに分けて足すことができます(完全加法性といいます)。

また、測度の関数は集合が入力なので、上の例で「空集合」を入れてみたように、「実数全体の集合」とか有理数全体の集合」とかも入れられます。実数全体の測度は∞、有理数全体の測度は0になります。どっちも無限集合だけど、実数の方が有理数よりも詰まってる(濃度が大きい)からこの違いが生じる*2のですけど、ここまできて恐縮ですが、濃度の話は割愛します。

勝手なイメージ:有理数は離散な点が無限にあるだけ→点一つ一つの測度は0→0を無限に足しても0。実数はすべて繋がっており、連続な領域→数直線の0~1の長さを1と定義したのだから、その比でどこまでも大きくなる。

有理数の集合 {\bf Q}に対する測度 \mu ({\bf Q})=0ということですね。無理数の場合どうなるかというと、無理数は「実数-有理数」ですから、∞-0=∞になります。実数の測度と同じになります。無理数の方が詰まってるんですよね。今回これだけ抑えていただければOKです。

ルベーグ積分してみる

準備は整ったので、実際にルベーグ積分してみましょう。まずは普通の関数から。

∫[0→1] 2x dx

リーマン積分で普通に求めると、こうなりますね。

 \displaystyle \int_{0}^{1} 2x dx = \left[ x^{2} \right ]_{0}^{1}=1

これをルベーグ積分で求めてみましょう。

f:id:fermiumbay13:20190803113209p:plain

まず、縦方向に n個の領域に分割します。 y_{0}=0, y_{n}=2となるようにして、 y_{i} \le y \le y_{i+1}となる領域を考えます。

ルベーグ積分ではまず、この縦方向に分割した領域の地面を調べるのでした。各領域に対する地面の範囲 x_{i} \le x \le x_{i+1}を求めます。

これは簡単ですね。 \displaystyle y=2xですから、
 \displaystyle \frac{y_{i}}{2} \le x \le \frac{y_{i+1}}{2}
になります。

ここで、縦方向は等間隔に分割したとして、 \displaystyle y_{i+1}=y_{i}+\frac{2}{n}であるとします。すると、地面の範囲は
 \displaystyle \frac{y_{i}}{2} \le x \le \frac{y_{i}}{2}+\frac{1}{n}
になります。

この領域に対する測度を求めます。 \displaystyle \mu\left(\left[\frac{y_{i}}{2}, \frac{y_{i}}{2}+\frac{1}{n}\right]\right)ということですね。これは数直線上の領域なので、「終端-始端」で簡単に値が求まります。

 \displaystyle \mu\left(\left[\frac{y_{i}}{2}, \frac{y_{i}}{2}+\frac{1}{n}\right]\right)
 \displaystyle =\left(\frac{y_{i}}{2}+\frac{1}{n}\right)-\frac{y_{i}}{2}
 \displaystyle =\frac{1}{n}

これで横の長さに対応する測度が求まりました。縦の長さと掛ければ、 i番目の領域の面積が求まります。

縦の長さは \displaystyle y_{i}でも、 \displaystyle y_{i+1}でも、どっちでもいいです。リーマン積分のとき、縦の長さとして始端側と終端側、どっちを選んでも、収束すれば同じになる、というのと同じです。ここでは簡単のため、 \displaystyle y_{i}とします。面積は \displaystyle \frac{y_{i}}{n}になりますね。

 \displaystyle y_{i}=\frac{2i}{n}ですから、 \displaystyle \frac{2i}{n^{2}}が面積になります。

あとは全部の領域の面積を足し合わせればいいですね。

 \displaystyle \sum_{i=0}^{n-1} \frac{2i}{n^{2}}
 \displaystyle =\frac{2}{n^{2}} \sum_{i=0}^{n-1} i
 \displaystyle =\frac{2}{n^{2}} \frac{n(n-1)}{2}
 \displaystyle =\frac{n-1}{n}
 \displaystyle =1-\frac{1}{n}

領域の数 nを無限大にしてやれば、

 \displaystyle \lim_{n \to \infty}\left(1-\frac{1}{n}\right)=1

おお、きちんと1になりますね。こんな感じです。

∫[0→1] ディレクレの関数(x) dx

ディリクレの関数を0から1で積分します。当然リーマン積分は不可能ですけど、ルベーグ積分は可能です。やってみましょう。

ディリクレの関数

xが有理数のとき、f(x)=1
xが無理数のとき、f(x)=0

f:id:fermiumbay13:20190803101113p:plain

これの面積が求められたら感動モノです。

やることは同じで、まずは縦方向に領域を n分割します。値域が0か1なので、0付近、1付近、その間、の3つを考えます。

f:id:fermiumbay13:20190803120648p:plain

まず、0付近の領域 \displaystyle 0 \le y \le y_{1}です。これに対応する地面は、「0から1の範囲にある無理数全体」ですよね。これの測度を求めます。先の議論で無理数全体の測度は∞で、0から1の範囲とすれば \displaystyle \left[0, 1\right]と同じになります。したがって、測度は \displaystyle \mu\left(\left[0, 1\right]\right)=(1-0)=1になります。縦の長さは y_{1}ですので、面積は y_{1}になります。 \displaystyle y_{i}=\frac{i}{n}より、面積は \displaystyle \frac{1}{n}ですね。

次に間の領域 \displaystyle y_{i} \le y \le y_{i+1}です。ディリクレの関数がこの間の値をとることはないので、地面はありません。空集合 \phiになります。 \mu(\phi)=0ですから、測度は0になります。面積も0ですね。

最後は1付近の領域 \displaystyle y_{n-1} \le y \le 1です。これに対応する地面は、「0から1の範囲にある有理数全体」ですよね。有理数の測度は0でしたから、これの測度は0です。なので面積も0になります。

以上から、全部の領域の面積を足し合わせると \displaystyle \frac{1}{n}になります。これを n \to \inftyとすると \displaystyle \frac{1}{n} \to 0になりますから、なんと積分結果は0になります。

こうしてルベーグ積分できました。こいつの面積は0だったのですね……スカスカの有理数のときしか立ち上がらないグラフなので、0が無限に足し算されていたようなイメージです。なんということでしょう……ちなみに逆に有理数のとき0、無理数のとき1になるようにした関数でやってみると、積分結果はちゃんと1になります。

ルベーグ積分のこころはこんな感じです。何だか、めんどくさい部分を新しい概念「測度」に全部押し込んだような感じになっていますけど……だからルベーグ積分をやると初めに測度が出てきて、測度について詳しく学ぶことになるんですね。

*1:むしろ、長さって広い目で見ればこういうことだったのか……と再認識するような感じです。測度は長さの一般化です。

*2:可算集合の測度はすべて0になります。