More Related Content
More from Takanori Fukui (7)
著者:結城 浩-『プログラマの数学』の第8章をスライド資料にしたもの
- 9. 2, 5, 7, 9, 11, 13, 17, 19, … ,P
「素数は無数にある」:証明
2. 仮定をもとに論証を進め,矛盾を導く
背理法
最大の整数をMとした。
Mを使ってMより大きい整
数を導いた
最後の素数をPとした。
Pを使ってPより大きい素数を導く
- 26. すべての整数列の表
整数列 番号
0以上の整数列 1 0 1 2 3 4 5 6 7 …
0以上の偶数列 2 0 2 4 6 8 10 12 14 …
1以上の奇数列 3 1 3 5 7 9 11 13 15 …
フィボナッチ数列 4 0 1 1 2 3 5 8 13 …
すべて0の数列 5 0 0 0 0 0 0 0 0 …
… … …
(最後の数列) K ? ? ? ? ? ? ? ? ?
矛盾この表にない整数列を作る
カウンタブル
- 32. 0以上1以下のすべての実数列の表
整数列 番号
0と1の繰り返し 1 0. 1 0 1 0 1 0 1 …
123の繰り返し 2 0. 1 2 3 1 2 3 1 …
√2 ÷ 10 3 0. 1 4 1 4 2 1 3 …
𝜋 ÷ 10 4 0. 3 1 4 1 5 9 2 …
0の繰り返し 5 0. 0 0 0 0 0 0 0 …
… … …
(最後の数列) K ? ? ? ? ? ? ? ? ?
矛盾この表にない実数列を作る
カウンタブル
- 33. 新しい数列を作り出す
整数列 番号
0と1の繰り返し 1 0. 1 0 1 0 1 0 1 …
123の繰り返し 2 0. 1 2 3 1 2 3 1 …
√2 ÷ 10 3 0. 1 4 1 4 2 1 3 …
𝜋 ÷ 10 4 0. 3 1 4 1 5 9 2 …
0の繰り返し 5 0. 0 0 0 0 0 0 0 …
… … …
(最後の数列) K ? ? ? ? ? ? ? ? ?
新しい数列 K+1 0. 2 3 2 2 1 . . .
カウンタブル
矛盾
0以上1以下のすべての実数列は
カウンタブルではない
- 34. 関数の集合もカウンタブルではない
整数列 番号
0 1 2 3 4 5 6 7 …
与えた整数に1
を加える関数
1 1 2 3 4 5 6 7 8 …
与えた整数を2
乗する関数
2 0 1 4 9 16 25 36 49 …
与えた整数が
素数である: 1
素数でない: 0
3 0 0 1 1 0 1 0 1 …
… … …
(最後の数列) K ? ? ? ? ? ? ? ? ?
カウンタブル
- 35. 対角線論法(補足)
整数列 番号
数列 1 0 1 2 3 4 5 6 7 …
数列 2 0 2 4 6 8 10 12 14 …
数列 3 1 3 5 7 9 11 13 15 …
… … …
(最後の数列) K ? ? ? ? ? ? ? ? ?
新しい数列 K+1 1 0 0 . . . . . .
1. 表の対角線を通るようにして数を選んでいく
2. 数に同じ処理を行い新しい数列を作る
ex: 0 なら 1,それ以外なら0に変換する
- 41. 新しい数列を作り出す
整数列 番号
生成した整数列 1 1 0 1 0 1 0 1 …
生成した整数列 2 1 2 3 1 2 3 1 …
... 3 1 4 1 4 2 1 3 …
.. 4 3 1 4 1 5 9 2 …
… …
(最後の数列) K ? ? ? ? ? ? ? ?
新しい数列 K+1 2 3 2 2 1 . . .
カウンタブル
矛盾
プログラムで生成できる整数列全体の集合は
カウンタブルではない
Editor's Notes
- タイトルのポイントがバラバラ
- 背理法による証明手順は次の2つの手順からなります
1,証明したい命題の’否定’が成立と仮定します
2.仮定をもとに論証を進めて,矛盾を導きます.
矛盾が生じるということは,最初の過程が間違っているからです.
つまり,証明したい命題の否定は間違っている
証明したい命題は正しい というのが背理法の証明方法です
- ステップ1では証明したい命題の否定が成り立つと仮定します,
証明したい命題は「最大の整数は存在しない」ですから その否定は「最大の整数は存在する」です
ステップ2では仮定をもとに論証を進め,矛盾を導きます
最大の整数は存在する と 仮定したため,最大の整数を Mとします.
Mは整数ですから足し算できます.ですから,Mに1を足してM+1 という整数を新しく作ります.
ここで,最大の整数Mよりも大きいM+1という整数が導かれました,
これは矛盾です.
- 仮定をもとに最大の整数Mを定めて論証を進めた結果,
最大の整数Mより1大きいさらに最大の整数が導かれました.
- 論証を進め,矛盾が発生しているということは,最初の過程が間違ってる.つまり,証明したい命題の否定は間違っている
証明したい命題は正しい
最大の整数は存在しない という命題は正しい! と,なり 証明終了です
- 「素数は無数にある」ことを背理法を用いて証明します.
証明したい命題はなんでしょうか
その否定は?
では,過程をもとに論証を進めましょう.
素数は無数にはない つまり, 有限個であるため,最後の要素までかきだせます
ここで,最後の素数をPとします
- 矛盾を導くためには,どうしたらいいでしょうか?
先ほどの問題では最大数Mとした後,そのMを使ってMより大きい整数を導きました.
では今回では「質問させる」
最後の要素であるPよりも最後の素数を導く必要があります
この新しいさらに最後の素数を作りましょう
- +1にすることで何で割っても1余ることがみそ
- 素数の作り方が甘い
ここで新しい素数の作り方を提示します.
素数を順番にかけたものに1を足したものは素数である
例を出しましょう
2かける3たす一は7 素数です
2かける...
それでは,すべての素数をかけて1を足しましょう.これをQとします.
ここでQは必ずPよりも大きい数になります.
素数を掛け算し,1を足すわけですから当然です
上の例でもそのようになっています.
これで最後の要素Pよりも最後の要素Qが導かれました.
矛盾です.
- 最後の素数Pをもとに論証を進めた結果,さらに最後の素数Qが導かれ,矛盾か生じました.
これは,最初の過程が間違っていたからです.
よって証明したい命題である素数は無数にあるは正しいと証明されます.
- 無限集合にはカウントできるものとできないものがあるよ と言わないといけない
無限集合は数え終わらないけど,⑴対1関係にできるものと そうでないものがあるよ という
- カウンタブルとは,要素をもれなく,ダブりなく数えるルールを定められるものです.
簡単に言ってしまえば,数えられれば,カウンタブルです.
有限集合は全て数えることができるため,カウンタブルです.
では,無限集合はどうでしょうか
例を出しましょう
- 0以上の偶数全体の集合です.
偶数全体の集合は終わりのない無限集合ですが,要素をもれなくダブりなく数えるルールを定められるため,これはカウンタブルです.
ルールは2かけるkマイナス1にK番と番号をつけていけば,カウンタぶるの条件を満たします
- 同じように0以上の奇数全体の集合です.
奇数全体の集合も,ルールを2かけるkマイナス1にK番と番号をつけていけば,カウンタぶるの条件を満たします
- 整数全体の集合も考えましょう.
この時0からプラスとマイナスを交互に数えていきます.
もちろんカウンタブルです.
なぜ+とマイナスを交互にカウントするのでしょう?
「質問させる」
- 正数を数えてから負数を数えようと思っても,正数は無限集合のため,数え終わりません.
そこで,正数と負数を交互にカウントし,もれなく数えらます.
- +とーを交互にやるのがミソ ってのを書き加える
最後に有理数全体の集合も考えましょう.
有理数とは1以上の整数文の整数の形で表すことができる数字です.
これも整数全体の集合を数えた時と同じように,プラスとマイナスを交互に数えていきます
ここで,点線の分数は,すでにカウントした有理数です.(同じ大きさ)
並べる順番がわかりづらいですね,次のスライドを見ましょう
- このようにx座標の方に分子数を,y座標の方に分母数をとって,有理数をグリッド乗に並べます.
そしたら,このような順番でとっていくと,有理数をもれなくカウントすることができます.
- ここまでくると,カウンタブルでないものってあるの?と思うかもしれません.
それではカウンタブルではないものを出しましょう
- 整数列全体の集合です
正数列とは,整数を無限に並べた数のことです.
例えば,,,,
このように整数列全体の集合は終わりのない無限集合です
- この集合はカウンタブルではありません
カウンタブルとは 要素をもれなく,ダブりなく数えるルールを定められることでした.
今,一列に整数列を並べても,もれなくダブりなく数えるルールは思いつきません.
では,「整数列全体の集合はカウンタブルではない」ことを背理法を用いて証明しましょう
- ステップ一は証明したい命題の否定が成り立つと仮定することです
証明したい命題は
証明したい命題の否定は
では,論証を進めましょう
カウンタブルであるということはすべての整数列には番号付ができるということです.
つまり,すべての整数列は順番に並べることができます.
- ここで,すべての整数列を表に並べましょう
この表には最後の数列までのすべての整数列が並べられています.
この表にない整数列を作ることで矛盾が導けそうです.
どうしたら良いでしょうか
- ちょっと考えます
すべての整数列の表にない整数列ってなんだよ?
簡単に思いつきませんね
- 今までのやり方を思い出しましょう
最大の整数をM...
ですから今回は,すべての整数列表から新しい整数列を作り出せば良いのです
- このときに対角線論法というものを使います(カントール)
手順は2ステップです
表に含まれない数を作るために,表の対角線を通るようにして数を選んでいきます
選んだかずに1を足して新しい数列を作ります
こうすることで,どの整数列とも必ず⑴箇所は異なる数列が完成します
- .さて,私たちは仮定をもとにすべての整数列の表を書きました,その後論証を進めた結果
すべてのせい数列の表にない数列を導きました
これは矛盾です
背理法により,もとの命題である整数列全体の集合はカウンタブルではない は正しいことが証明されました
- 教科書とは少しちがう
- もう一つ例を出しましょう
0以上⑴以下のじっすはカウンタブルではないことを証明します
- 最後に関数の集合でさえもカウンタブルではありません.
例えば与えた整数に⑴を加える関数
...
これらを同じように数列に並べた後に対角線論法を使うことで
- ステップ一は証明したい命題の否定が成り立つと仮定することです
証明したい命題は
証明したい命題の否定は
では,論証を進めましょう
カウンタブルであるということはすべての整数列には番号付ができるということです.
つまり,すべての整数列は順番に並べることができます.
- 2かけるn=1