スポンサーリンク
-->タイトルは釣りです
僕にそんな力はありません。
でもある意味本当です。いつもどおりこただの日記なんですが。
情報科学的な授業
水曜日の朝はオムニバス講義なんで毎回先生が変わるんですが、だいたいは情報科学よりの内容で、中でも今日の先生は python で問題を解こう、みたいな感じの話をされていて、とても興味深かったです。数学の問題で制約条件を渡したら、条件を満たす範囲を作図できたりするじゃないですか。ああいうのを python で自動でやってしまおう、って感じです。
たとえば、
1 |
2x + 3 == 7 |
とかを与えると、ほんとに解を見つけてもってきてくれます。可愛いやつですね。
ただしライブラリを使わないといけなくて、それの中身が多分CとかC++で動いてて、ビルドがめんどくさかったりします。 python はただのインターフェースですね。
以下のリンクから Github にとべます。
https://github.com/Z3Prover/z3
ビルドがすこし面倒ですが、入れれば割と遊べるのでおすすめです。
anaconda3-5.0.1, anaconda3-4.3.1で動作確認済みです。pyenvなどで環境を作っておくことをお勧めします。
一応下に手順も書いておきますね。
1 2 3 4 5 6 7 8 9 10 |
# Z3で遊ぶ用のフォルダを作って移動する。 mkdir testz3 cd testz3 git clone https://github.com/Z3Prover/z3.git cd ./z3 python scripts/mk_make.py --python --prefix=/home/自分のユーザ名/.pyenv/versions/自分のanacondaなどのversion cd build # めっちゃ時間かかる make make install |
使い方なども今度書くかもしれません。
進化の方程式(意外と単純)
夜は進化のシミュレーション(やTwitter)で有名な先生の授業でした。ちょっと怖いけどかっこいい先生です。
進化理論についての授業で、僕にとってはかなりどストライクというか、毎回興味を持って聞かせていただいています。
で、今日僕の中で面白かったのは、進化を定式化する、って部分でした。紹介されていた式自体がそんなに難しいものではなかったので、難しい数式に追いつけない僕の頭にはひときわ面白く見えたのかもしれません(血涙)
進化の方程式、ここでは「その種が淘汰圧(競争の結果個体が犠牲になる、といったような環境の圧力)を経ても生き残ることができるか、個体数を維持できるか」といったことに答えをだすものですが、これは
1 |
「環境を占有している種と競争した場合に得られる利得の期待値」 - 「占有している種の期待値」 >= 0 -> ESS |
と表現できます。ESSは進化的に安定な戦略(Evolutionary stable strategy)の略で、これをとっている種はその環境の中で生き残っていけますよねーと言った感じです。
今日はさらにこの式に揺らぎが加わったり、生存戦略を変化させ続ける種のモデルについてなど、幅広く教えたいただいたのですが、お時間がきてしまいましたのでこの辺で。
進化の方程式、Pythonで計算できそうですね。
せっかくなので競争に参加することにしました!以下のリンク先で投票できますので、是非是非よろしくお願いしますm(_ _)m
UT-RANK
コメント
コメントはありません。