れおなちずむ

世の中に宿る普遍的な"構造"を巡り歩いていけたら

強化学習① - Markov決定過程

こんにちは~。
最近巷でホットな(深層)強化学習ですが、かくいう自分も1、2年前ぐらいにAlphaGoの熱に当てられて強化学習にハマりまして、そのときにちょっとした自分用のノートをつくりました。
その結果、ブラウザ上で深層強化学習をするAPIとかが生えたり生えなかったりした(これはまたいずれ別の機会にでも)のですが、ともかく折角書いたノートをこのまま腐らせておくのも勿体ないので、一連のノートを「週刊連載」で公開していきたいと思います(5回分ぐらいあります)。
今回はその一回目になります。 専門家でも何でもないですが、強化学習やってみたいけどよーわから~んっていう方々のお役に立てれば幸いです。

以下、本編です。

続きを読む

ミニマル物理エンジンをつくってみた

こんにちは、れおなちです🎉

ちょっと前に2Dの剛体物理エンジンを作ったのですが、完璧主義なところが祟って公開するようなことはしていませんでした。
折角作ったのにこのままお蔵入りにしておくのももったいないので、この度ポートフォリオがてらGitHubのほうに公開いたします。

ちょっとというかかなり前なので、自分で自分の実装内容を覚えていないんですが、一応物理エンジンとしての最小要件を満たしてます。
現段階では、衝突は総当たりで判定していて、剛体の形状も円しか用意しておらず、拘束の種類も多くないため、実用的とは言えないですが、今後また気が向いたら更新しようと思います。

ちなみに物理エンジン自体はHaxeという静的型付けのマルチプラットフォーム言語で書きました。自分はよくAltJSとしてHaxeを使っています😋

所感

物理学徒としての所感ですが、物理学を学ぶことと物理シミュレーションを実装することとは全く違うものなのだということを常に痛感させられます。
例えどんなに、素粒子物理学解析力学といった高度な物理を学んでいたとしても、残念ながら剛体物理シミュレーションにはあまり役に立ちません。
剛体物理シミュレーションにおいて本質的な話題となるのは、剛体同士の拘束をいかに高速かつ正確に検出して、いかに上手に解消するか、その一点だと思いました。
拘束の理論もそれなりに美しくて面白いと思うのですが、解を数値計算で求めるとなるとやはり厳しいものがあります。
いくらでも理想的な状況を考えられるのが基礎理論の美しくて面白いところですが、数値計算の前では全てが無力なのです。


これまでは物理の話ばかりしていたんですが、今後はちょくちょくプログラミングの話もしていこうと思います。
どうぞよしなに~😉

Lorentz群の表現論と場の量子論

ピノル表現

ピノルの概念を考えるうえではやはりLorentz群というものが重要になってきます。Lorentz群というのはLie群の一種で、よく知っている3次元空間の回転に、時間方向と空間方向のなす面上での「回転」(これはLorentz boostと呼ばれます)を加えた群です。時空の対称性であるLorentz群は物理では特に重要なLie群で、物理法則はこのような4次元時空を混ぜあわせるような回転変換についても不変であれ、というのが古典電磁気、ひいては相対論における要請なのです。
歴史的なあーだこーだは抜きにして、Lorentz群というのがポンッと与えられたわけですが、実はこのLorentz群というのが、とてもヤバ~い群なのです。
というのも、Lorentz群には空間回転だけでなく時間方向と空間方向の面上での「回転」を表すLorentz boostが含まれているのです。これはboostという名のごとく操作のイメージとしてはぶおおおおおん🚗💨💨💨💨💨💨💨💨💨💨💨💨💨💨💨という感じです。つまり3次元空間においては「有限」の範囲に閉じていた回転操作というものが、Lorentz boostを考えると、途端に「無限遠方」に行ってしまうようなそういう抽象操作が可能になってしまうのです。
こういうLie群をノンコンパクトLie群とよびます。Lie群多様体でもあるのでもちろんそこには位相構造が入っているのですが、そういう位相構造が有限区間で閉じていないがために、このLorentz群とやらは「ノンコンパクト」になってしまうのです。

続きを読む

Weyl spinorの計算ノートを公開します

こんにちは✨れおなちです

ここ数か月Weyl spinorの計算ノートを作ってました。696729600番煎じだとは思いますが、せっかくなので公開します。
以下の謎の設計図共有サイトにてpdfがダウンロードできるので、参考にしてもらえれば幸いです。苦情、鉞等はこちらまで。

https://github.com/leonacism/weyl_spinor

続きを読む