PhysicsLab. 2016 BLOG
Category: 計算機班
今回も前回に引き続き現在制作中のプログラムの一部を紹介したいと思います。(五十音順)


【深層学習&遺伝的アルゴリズム】(上野)
最近囲碁でプロを破ったことで話題になった「ニューラルネットワーク」を使ってできるだけオセロの強いAI(人工知能)を実装することを目的にしています。
方針はこんな感じです。
・オセロプログラムを組む。
・まず、形勢値(局面がどれだけ有利かという指標)を石の数から算出し、アルファ・ベータ法というアルゴリズムで5~13手先まで読むことである程度強いAIを作る。
・この「ある程度強いAI」を教師とする機械学習を行い、誤差逆伝播法という手法を使って盤面の形勢値の算出をニューラルネットワーク(人間の脳をまねたモデル)に教え込む。
・最後に、ニューラルネットワークを用いたAI同士を戦わせ、勝った方が生存してニューラルネットワークの内容がわずかに異なる子孫を残す、という規則で世代を進め、AIがどれだけ強くなるかを観察する。
果たしてAIはどれだけオセロが強くなるのでしょうか?五月祭では是非力比べをしてみて下さい!


【太陽系シミュレーション】(杉山)
我々の太陽系は重力多体系と言って、三体(三つのもの)以上からなる系です。太陽と地球のように星が二つだけの二体問題は解析的に(完璧に)解くことができますが、特殊な場合を除いて一般の三体以上の問題は解析的に解くことができないことが知られています。そのため、これらの問題は数値解析(シミュレーション)によって解いていくことになります。
今回は多体系の中でも、身近な太陽系という重力多体系の数値解析的シミュレーションプログラムをC言語というプログラミング言語で書き、OpenGLというAPIでアニメーション出力することで太陽系の天体の振る舞いを調べてみました。


【波】(丹波)
物理をより身近に感じてもらえるよう、波の進行をシミュレーションしました。
このプログラミングでは波をばねで繋がった質点の集まりと捉え、その動きを表しています。グラフはある場所での波の動きを表したものです。
プログラム自体はまだまだ開発中で、より多くの人に波の動きを直感的に感じてもらえるよう、アニメーション作成と微分方程式の精度向上に努めているところです。完成形としては、全ての点の動きを同時に見られるアニメーションになるはずです。


【有限環の探索】(横島)
「環」というものをご存知でしょうか。簡単に言うと、足し算引き算掛け算ができる数学的構造です。代表的なものとしては整数(…, -1, 0, 1, 2, …)があります。ある集合が環かどうかは、元と元の間にある5個ほどのルールを満たすかどうかで決まります。環は物理だけでなく様々な分野に根底として潜んでいます。
整数の元の数は無限個ありますが、有限の環というのもあります。例えば、0と1からなる集合で
0+0=0 0×0=0
0+1=1 0×1=0
1+1=0 1×1=1
を満たすものは環となります。このように、環は+と×の結果を九九表のように書き出すことで確定できます。今回のプログラムでは、ルールを満たす全ての有限環を探し出すことができます。画像では結果しか出ていませんが、展示では表を決めていく過程も見ることができます。ナンバープレースのように表が埋まっていく様子は爽快です。

これも物理学なの?と思われるかも知れませんが、世の中の現象を解き明かそうとするのが物理学。物理学はここまでなんて決まりは無いのです。コンピュータを手に入れてますます広がっていく自由な物理学の世界を、是非五月祭で感じてみて下さい!
NEXT          TOP          PREV