2: 2015-07-31 (金) 00:03:45 osinko |
現: 2015-08-12 (水) 19:37:42 osinko |
| //これを勉強してゲームプログラムとして何の得があるの? | | //これを勉強してゲームプログラムとして何の得があるの? |
| //→ これはフラクタル理論に繋がっている。ゲームに対して将来プロシージャルに何か生成したいなら、これらの知識はあった方が良いと予想できる | | //→ これはフラクタル理論に繋がっている。ゲームに対して将来プロシージャルに何か生成したいなら、これらの知識はあった方が良いと予想できる |
- | | + | //これはフラクタル理論に繋がる道。プロシージャルへ向かう道 |
- | これはフラクタル理論に繋がる道。プロシージャルへ向かう道 | + | |
| | | |
| **数列の極限 [#o93d507c] | | **数列の極限 [#o93d507c] |
| | | |
- | ここでは数列の極限の定義をεδ論法の視点から見直して、より精密にどのようにlimが正常動作しているか把握してみる | + | ここでは数列の極限の定義をεδ論法の視点から見直して、より精密にどのようにlimが動作しているか把握してみる |
| まず高校で習う数列の極限の定義をみてみる | | まず高校で習う数列の極限の定義をみてみる |
| | | |
- | | &br;数列\(\left\{ { a }_{ n } \right\} \)において\(n\)を限りなく大きくするとき、&br;\({ a }_{ n }\)が\(a\)に&font(Red){''限りなく近づくならば''};、この数列\(\left\{ { a }_{ n } \right\} \)は\(a\)に収束すると言う。&br;この時、\(a\)を数列の極限値、もしくは極限と言い、\(\displaystyle \lim _{ n\rightarrow \infty }{ { a }_{ n } } \)と書く。&br; | | + | | &br;数列\(\left\{ { a }_{ n } \right\} \)において\(n\)を限りなく大きくするとき、&br;\({ a }_{ n }\)が\(\alpha \)に&font(Red){''限りなく近づくならば''};、この数列\(\left\{ { a }_{ n } \right\} \)は\(\alpha \)に収束すると言う。&br;この時、\(\alpha \)を数列の極限値、もしくは極限と言い、\(\displaystyle \lim _{ n\rightarrow \infty }{ { a }_{ n } } \)と書く。&br; | |
| | | |
| 次にこの数列の極限の定義に対するεδ論法の各命題を見てみる | | 次にこの数列の極限の定義に対するεδ論法の各命題を見てみる |
| | | |
- | &font(,#ffffcc){\(\forall \varepsilon >0\quad ,\quad \exists \delta \in \mathbb{N}\quad s.t.\quad \forall n\in \mathbb{N}\quad ,\quad n>\delta \quad \Rightarrow \quad \left| { a }_{ n }-a \right| <\varepsilon \)&br;どんな正の数\(\varepsilon\)に対しても、自然数\(\delta\)をうまく定めると、\(n>\delta \)であるどんな\(n\)に対しても\(\left| { a }_{ n }-a \right| <\varepsilon \)となる}; | + | その前にこのεδ論法とは何者なのかを先に言っておきます |
| + | &font(150%,Red){εδ論法とはグラフの上に微分の関係を持つ2点を作りこれらに対し漸化式のような関係を作る為のものです}; |
| + | この論法で述べている論証をすべて真にすれば自然とそのような状態になります |
| + | |
| + | &font(,#ffffcc){①\(\forall \varepsilon >0\quad ,\quad \exists \delta \in \mathbb{N}\quad s.t.\quad \forall n\in \mathbb{N}\quad ,\quad n>\delta \quad \Rightarrow \quad \left| { a }_{ n }-\alpha \right| <\varepsilon \)&br;②\(\forall \varepsilon >0(\exists \delta \in \mathbb{N}(\forall n\in \mathbb{N}( n>\delta (\left| { a }_{ n }-\alpha \right| <\varepsilon )))) \)&br;③どんな正の数\(\varepsilon\)に対しても、自然数\(\delta\)をうまく定めると、\(n>\delta \)であるどんな自然数\(n\)に対しても\(\left| { a }_{ n }-\alpha \right| <\varepsilon \)となる}; |
| + | |
| + | ①②③は表現が違うだけで全部同じことを言っている。但し②は括弧の中を優先的に計算していくという数学の性質上、計算の工程順が明確なので一番優れた表現となると考えられる(当サイトでは②の表現をメインに利用していく方針) |
| | | |
| これらの命題はゲームプログラマーというエンジニアの視点から見るとlimが正常に動作するための要求仕様(必要動作条件)になっている | | これらの命題はゲームプログラマーというエンジニアの視点から見るとlimが正常に動作するための要求仕様(必要動作条件)になっている |
- | この要求仕様は数学者が使う論理学の論証、前提となる複数の命題というフォーマットで書かれている | + | この要求仕様は数学者が使う論理学の論証、前提となる複数の命題というフォーマットで書かれていて全体を車に例えれば |
- | この論証を完成させるための結論の命題が抜けた状態となっている。従って、この結論は証明する人間自身が考え適切なものを補う必要がある状態になっている | + | ボディや座席周り、エンジンが揃った状態で、エンジンパーツのクランクシャフトだけが抜けているような感じになっている |
| + | |
| + | 何故、こんな中途半端な状態になっているかというと、これは完成していない雛形(form)だからだ |
| + | 極限式の状態に合わせて、このテンプレートの内容(contents)をちょこちょこと書き換えて使う為にこのようになっている |
| + | |
| + | 利用者は、この論証が要求する仕様(必要動作条件)に合わせて、うまく定めたクランクシャフトを作りエンジンにガポッとはめ込むとlimが動き出す |
| + | |
| + | この「数列の極限」という車の場合、エンジンとなる部品は、無限の自然数を前提とした\(n\)、正の数、自然数を前提とした\(\varepsilon\)、\(\delta\)が該当する |
| + | 特に中心となる\(\varepsilon\)と\(\delta\)は数学用語で「\(\varepsilon\)に対応する\(\delta\)」(\(\delta\)が\(\varepsilon\)の関数として定まる)関係にある |
| + | つまり、\(\varepsilon\)の値が変化すれば、それに伴い\(\delta\)の値も必ず変化するという関係を約束されている |
| + | それを記述しているのが「&font(,#ffffcc){ \(\forall \varepsilon >0\quad ,\quad \exists \delta \in { \mathbb{N} }\) };」の部分となっている |
| + | |
| + | また、「\(\left| { a }_{ n }-\alpha \right| <\varepsilon \)」の部分。数列\({a}_{n}\)から、その収束値\(\alpha\)を引算して絶対値を取っている |
| + | これは数列\({a}_{n}\)から収束値\(\alpha\)までの距離を表している。\(\varepsilon\)の値は、この距離よりも小さな値であると、この論証は言っている |
| + | |
| + | 構造は大体わかった。ではどうやってクランクシャフトを作ればいいのか? |
| + | これにはエンジンの動作原理となる「アルキメデスの原則」や「三角不等式」を理解しておく必要がある |
| + | 少し脇道にそれて、εδを使って「アルキメデスの原則」を考察してみよう |
| + | |
| + | ***ふたつの正の数εとδを考える(アルキメデスの原則) [#o91f2e1e] |
| + | |
| + | &font(Red){''\(\varepsilon\)が如何に小さい数で、\(\delta\)が如何に大きな数であったとしても\(n\varepsilon > \delta \)となる自然数\(n\)が必ず存在する。これをアルキメデスの原則と言う''}; |
| + | (&font(Red){要約するとこの原則は\(n\rightarrow \infty \)である事を肯定している。};現実の世界に無限の物が必ず存在する事を認めている) |
| + | この事から、もし正の数\(\delta\)と勝手な自然数\(n\)に対して\(\displaystyle \varepsilon <\frac { \delta }{ n } \)が成り立つならば\(\varepsilon=0\)となる(高校まではこう教えられる) |
| + | 何故なら上式は\(n\varepsilon <\delta \)と変形できるが、もし\( \varepsilon>0\)とすればアルキメデスの原則に反するので\(\varepsilon=0\)とならざる得ない |
| + | (これは少し極端な言い方で、「&font(Red){\(\varepsilon\)は限りなく\(0\)に近づく};」がより正確な表現となる(大学生だとこのように説明される)) |
| + | |
| + | この原則を常に「真(true)」にしておけばεは0に近づき続ける事が確定となる |
| + | 人間には寿命があるから0に近づき続ける事が確定なら0と扱っても良いとも考えられなくもないが・・・(そんな事でいいのだろうか?) |
| + | //が、実はある計算テクニックを使う事で本当に0にする事が出来る(後述します) |
| + | |
| + | &font(Fuchsia){\(\displaystyle \varepsilon <\frac { \delta }{ \infty }\)が成り立つという事は\(\varepsilon=0\)とならざる得ないとも考えられる ←が、これは間違い。無限∞は「数」として扱えない。例えば無限を数として扱うとして\(\frac { 1 }{ \infty } \)を計算する時、\(\frac { 1 }{ \infty }=0\)だと予想できるが、これを\(0\)だとすると\(1=0\)という矛盾が出てくる。この矛盾を解決する為にlimがあって\(\displaystyle \lim _{ n\rightarrow \infty }{ \frac { 1 }{ n } =0 } \)とする事で、この矛盾を回避できるようになる。};このように考えていくとlimは∞を数として扱う際の矛盾を回避する為に用意された数学記号だという事がわかってくる |
| | | |
- | 何故、こんな中途半端な状態になっているかというと、これは完成していない雛形だからだ | + | 資料:探Qチャンネル-無限の問題を解消した「極限」 |
- | 状況に合わせて、このテンプレートをちょこちょこと書き換えて使う為の物だ | + | #youtube(jgthg8qfYlQ) |