#数楽 ランダムウォークの話なので、ランダムウォークの数え上げの図をシンプルに描けば簡単です。

(1)は二項係数の問題。

(2)はCを通らない経路を数えて二項係数から引けばよい。

続く Image
#数楽 「Cにいる状態から出発して云々」という発想で最後までやり切るのは苦しいです。

Cを通る経路の個数を数え上げた青の数字をじっと眺めれば色々複雑なことになっていることが分かります。

添付画像の緑の部分はCを経由してAに達する経路の本数(全部で8本になる)の正しい数え方の例。

続く Image
#数楽 移動禁止点があるランダムウォークの経路の数え方に習熟すれば、公平なギャンブルを繰り返すと、勝ちまたは負けに偏っている時間の割合が長くなる確率が高くなることを意味する逆正弦法則を証明できます。以下のリンク先を参照。

この話題は「大学入試問題」という枠で見ない方がお得です。
#数楽 問題を出す側は、移動禁止点のあるシンプルランダムウォークの数え上げについてよく知っていて、それをもとに高校卒業生でも解けるレベルの問題を「でっちあげる」というようなことをやっているのだと思います。

入試問題ではなく、元ネタの側について勉強していればその手の問題は楽勝になる。
#数楽 大学側には、入試問題に特化された数学の勉強ではなく、本格的な数学の勉強をして来た人が入学して来てくれた方が良いと思っている人が多いと思う。

問題を作るときにもそういう願いが込められている場合が結構あると思う。

• • •

Missing some Tweet in this thread? You can try to force a refresh
 

Keep Current with 黒木玄 Gen Kuroki

黒木玄 Gen Kuroki Profile picture

Stay in touch and get notified when new unrolls are available from this author!

Read all threads

This Thread may be Removed Anytime!

PDF

Twitter may remove this content at anytime! Save it as PDF for later use!

Try unrolling a thread yourself!

how to unroll video
  1. Follow @ThreadReaderApp to mention us!

  2. From a Twitter thread mention us with a keyword "unroll"
@threadreaderapp unroll

Practice here first or read more on our help page!

More from @genkuroki

16 Mar
#Julia言語 Julia言語で10行

nbviewer.jupyter.org/gist/genkuroki…

(1/5) 二項分布モデル内の標本分布で測った95%信頼区間にモデルのパラメーター値が含まれる確率のプロット。95%以上になる。ほとんどのパラメーターで95%より真に大きい。 Image
#Julia言語

nbviewer.jupyter.org/gist/genkuroki…

(2/5) 二項分布モデルの95%信頼区間 [CI_min, CI_max] を平面上の座標 (CI_min, CI_max) にプロット。丸の大きさはモデル内でその信頼区間が生じる確率の大きさに比例。赤の十字の左上側の領域ではパラメータの真の値が信頼区間に含まれている。 Image
#Julia言語

nbviewer.jupyter.org/gist/genkuroki…

(3/5) 3次元のランダムウォーク Image
Read 31 tweets
16 Mar
#Julia言語

using Statistics, StatsBase
f(x) = (mean(x), geomean(x), median(x))
[∘(fill(f, n)...)((1, 1, 2, 3, 5)) for n in 30:35]

6-element Vector{~}:

(2.0890579497368598, 2.0890579497368598, 2.0890579497368598)


gist.github.com/genkuroki/e69a…

xkcd.com/2435/
#Julia言語

∘(fill(f, 4)...)((1, 1, 2, 3, 5))



f∘f∘f∘f(1, 1, 2, 3, 5)

と同じで、∘は函数の合成なので、

f(f(f(f(1, 1, 2, 3, 5))))

と同じ意味になる。

函数fのn個の合成は

∘(fill(f, n)...)

と書ける。Juliaを超高級電卓として使うときにはこれを知っているとちょっと便利。
#Julia言語 による解答例のスクショ

もとの問題文の数学的内容がほとんどそのままJuliaのコードに翻訳されていることがわかる。

難しいのはn個の函数fの合成が ∘(fill(f, n)...) と書けること。

φ(fill(f, 3)...)はφ(f, f, f) と同じ意味に、∘(f, g, h)(x,y)はf(g(h(x,y)))と同じ意味になる。
Read 6 tweets
16 Mar
NASAでは普通に #Julia言語 を使っているようですが、日本ではどうなっているんですかね?

Juliaの良い点をNASAがどのように活かしているか分かる動画


Modeling Spacecraft Separation Dynamics in Julia
Jonathan Diegelman
#Julia言語 あらためてNASA JuliaLangでググったら、こんな素敵な動画も見つかりました。


The Julia Language 1.0 Ephemeris and Physical Constants Reader for Solar System Bodies

github.com/JuliaAstro/JPL…
#Julia言語 NASA関連

Pluto.jl
DifferentialEquations.jl
Optim.jl
GlobalSensitivity.jl
MonteCarloMeaurements.jl
ComponentArrays.jl
Unitful.jl

などを使っているみたい。
Read 15 tweets
14 Mar

NASAでどのようにJuliaを使っているか
宇宙船の分離のJuliaによるシミュレーション

多分 #Julia言語 ユーザーはNASAでどのようなパッケージを使っているのか気になると思います。動画のスクショを見て下さい。 ImageImageImageImage
#Julia言語 NASAでの宇宙船の分離シミュレーションで使っているパッケージ続き

添付が画像③によればMATLABでやっていた場合よりも15000倍高速化されたらしい。

DifferentialEquations.jl で微分方程式を解いて、Optim.jl で最適化を実行しているらしい。

Pluto.jlを使っていることもわかる。 ImageImageImage
#Julia言語 NASA では Pluto.jl 上で宇宙船の分離のシミュレーションを行っているらしいのですが、スライダーを設置したり、MonteCarloMeasurements.jl で摂動をかけた場合の結果の違いをシミュレーションのコードを変更せずに表示させているようです。 Image
Read 27 tweets
13 Mar
#Julia言語

JupyterとPluto.jlの違い

Jupyterを使うにはPythonが必要。
Pluto.jlはJuliaだけで動く。

Jupyterではセル単位で実行される。
Pluto.jlでは任意のセルの実行が他のセルにも自動的に反映される。さらにスライダーなどの設置がJupyterよりも楽。

github.com/fonsp/Pluto.jl
#Julia言語 続き

Jupyter notebookをダウンロードすると計算結果の情報もそこに含まれている。
Pluto.jlのノートブックをダウンロードしても計算結果の情報は含まれない。

以上のようにJupyterとPluto.jlでは長所と欠点が違うので使い分けるとよいと思います。

github.com/fonsp/Pluto.jl
#Julia言語 仮に私が中高生に初めてJuliaを使わせる仕事が割り振られたとしたら、

①Juliaの公式バイナリをダウンロードしてインストール
②Plots.jlやPluto.jlなどのパッケージのインストール
③using Pluto; Pluto. run() → ブラウザでPlutoが使用可能に!

のようにしたいです。
Read 13 tweets
12 Mar
#Julia言語 で @ distributed を使ってモンテカルロシミュレーションの足し上げを行うときに、forループの内側で rand() を使うと遅くなります。固定された rng について rand(rng) の形式で実行する必要がある。

解決策:@ my_distributed マクロを自作して使う!

gist.github.com/genkuroki/a6dc…
#Julia言語 例の e のモンテカルロ計算については

gist.github.com/genkuroki/5212…

を参照。色々試してみたが、私の環境では @ my_distributed 版がシンプルでかつ一番速かったです。
#Julia言語

@ my_threads - threads version of @ my_distributed

gist.github.com/genkuroki/1efd…
Read 12 tweets

Did Thread Reader help you today?

Support us! We are indie developers!


This site is made by just two indie developers on a laptop doing marketing, support and development! Read more about the story.

Become a Premium Member ($3/month or $30/year) and get exclusive features!

Become Premium

Too expensive? Make a small donation by buying us coffee ($5) or help with server cost ($10)

Donate via Paypal Become our Patreon

Thank you for your support!

Follow Us on Twitter!