このブログの更新は Twitterアカウント @m_hiyama で通知されます。
Follow @m_hiyama

メールでのご連絡は hiyama{at}chimaira{dot}org まで。

はじめてのメールはスパムと判定されることがあります。最初は、信頼されているドメインから差し障りのない文面を送っていただけると、スパムと判定されにくいと思います。

参照用 記事

イジング模型とポッツ模型のどえらく簡単な例

id:hiroki_fさん(a.k.a. ジョニー)が統計力学と熱力学について、本質的かつ難しいことを語ろうとしてますが、ついて行けそうにないので、非本質的かつやさしい議論をします。

物理的な背景やらメカニズムを理解するのは最初からあきらめ、簡単な例について、なんらかの量を計算できればそれでいい、という方針。ジョニー@居酒屋・天狗に教わったことの(おそらくは曲解しての)復習ですね。

内容:

模型(モデル)の構成

磁石(または類似の現象)の話に限ることにして、模型を作るには次の構成要素を決定します。

  1. 物体が存在する空間
  2. 物体の形状
  3. 物体上に分布する量
  4. 物体の状態という概念
  5. エネルギーの求め方
  6. エネルギーを確率変数とみなしての確率分布

まず、物体が存在する空間は1次元だとします。物体は直線内にあるナニカですね。1次元空間=直線は普通の実数直線でモデル化します*1

物体の形状は、離散的なモデルを採用して、直線内に閉じ込められた単純無向グラフ*2だとします。整数の点をグラフの頂点とみなし、お隣どうしの点(例えば、2と3)が辺でつながっているかどうかを指定すれば、グラフが定義できます。

とにかく単純化したいので、グラフの頂点は {1, 2, ..., N} だとして、次のような関数Jでつながり具合を表現します。

  • J(i) = (iとi+1がつながっていれば1, そうでなければ0)

N = 6 の場合、J(1) = 1, J(2) = 1, J(3) = 0, J(4) = 0, J(5) = 1 だとすると、“物体”は次の図のようになります。

物体(1次元に閉じ込められた単純無向グラフ)の各頂点にスピンが割り当てられます。「スピンとはなんぞや」は棚上げして、ともかくも2値の量だとします。スピンの表現は、0と1でも、黒と白でも何でもいいのですが、+1と-1を採用します。単に、+, -と符号だけを書くこともあります。

物体上のスピンの分布は、{0, 1, ..., N}→{+1, -1}という関数で表現されます。この関数を状態配位ともいう)と同一視します。例えば、s(1) = +1, s(2) = +1, s(3) = -1, s(4) = -1, s(5) = +1, s(6) = -1 は1つの状態です。頂点がN個ある物体において、状態の総数は2N個になります。6頂点の物体なら26 = 64個の状態を持ちます。確率の言葉では、各状態が標本点ということです。

状態とエネルギー

N = 6の例でも、状態は64個あるので列挙するのが面倒です。N = 3のケースで、J(1) = 1, J(2) = 0 である物体を考えます。状態sを、(s(1), s(2), s(3))という長さ3のタプルで表現します。例えば、(+, -, +) は1つの状態です。すべての状態を列挙しても8個なのでたいしたことはありません。

状態のエネルギーは、各状態に対して定義される実数値で、その状態の起こりやすさの目安を与えます。

  • エネルギーが高い状態は起こりにくい。
  • エネルギーが低い状態は起こりやすい。

状態sのエネルギーをE(s)として、適当な関数fにエネルギーを代入した量 f(E(s)) がsの起こりやすさに比例する量となります。僕は、Eやfの具体的な形をどうやって決めるか(決まったのか)サッパリわかりませんでしたし、今でもわかりません。が、ジョニー@居酒屋・天狗曰く、「Eやfの具体的な表式はどうでもよくて、最終的に磁石になりやすい、なりにくいが説明できればいい」と。

そういう次第で、Eやfの具体的な形にはこだわらないことにして、E(s), f(E(s))の算出法を述べます。物体のモデルであるグラフの辺を、ボンドとも呼びます。ボンドと呼んだほうが感じが出る(なんの感じ?)のでそうします*3。エネルギーはボンドごとに計算するとして、

  • ボンドの両端が同じスピンなら、そのボンドの局所エネルギーは-1
  • ボンドの両端が違うスピンなら、そのボンドの局所エネルギーは1

とします。状態sのエネルギーを求めるには、ボンドの局所エネルギーを足し合わせます。一般的な表式は:

  • Σ(i=1からi=N-1まで : (-1)×J(i)×s(i)×s(i+1) )

となります。上で出した例では、ボンドが1本(頂点1と頂点2をつなぐボンド)しかないので、総和の必要はありません。以下に、8つの状態のエネルギーを列挙します。

状態s エネルギーE(s)
+, +, + -1
+, +, - -1
+, -, + 1
+, -, - 1
-, +, + 1
-, +, - 1
-, -, + -1
-, -, - -1

状態の実現確率

エネルギーが低い状態のほうが起こりやすいので、(+, -, +)より(+, +, +)のほうが起こりやすいことは分かります。が、もっと計量的に“起こりやす”さを評価したいものです。物理的背景とメカニズムはさておき(そういう方針)、天下りに 0<c<1 である定数cを導入して、cE(s) が状態sの出現確率を与えるとします(エネルギーを確率変数とみなして、指数分布というらしい)。ただし、すべての状態の出現確率を足して1になるように定数Zで割り算しておく必要はあります。

  • sの出現確率 = 1/Z×cE(s)

定数cには温度が含まれるのですが、温度は一定として、ほんとの定数と思っていいでしょう。ここでは、c = 1/2 = 0.5 に決めてしまいます。関数f(x) を (1/2)xとして、f(E(s)) = (1/2)E(s) を出現確率の計算に使います。例に対して(1/2)E(s)を算出しておきます。

状態s エネルギーE(s) (1/2)E(s)
+, +, + -1 2
+, +, - -1 2
+, -, + 1 1/2
+, -, - 1 1/2
-, +, + 1 1/2
-, +, - 1 1/2
-, -, + -1 2
-, -, - -1 2

確率の分母となる定数Zは:

  • Z = Σ(すべての状態sに渡って : (1/2)E(s))

上の例では、Z = 2 + 2 + 1/2 + 1/2 + 1/2 + 1/2 + 2 + 2 なので、Z = 10 です。このZで割り算して状態の出現確率が出ます。

状態s エネルギーE(s) (1/2)E(s) 状態sの出現確率
+, +, + -1 2 1/5
+, +, - -1 2 1/5
+, -, + 1 1/2 1/20
+, -, - 1 1/2 1/20
-, +, + 1 1/2 1/20
-, +, - 1 1/2 1/20
-, -, + -1 2 1/5
-, -, - -1 2 1/5

スピンが揃っている状態が磁石なので、この場合は、4/5 の割合で磁石、1/5の割合で磁石じゃないわけです。

イジング模型とポッツ模型

先の模型では、磁石となる割合(磁石である状態の出現確率)が大きかったのですが、それはなぜかというと、磁石になりやすい物体(物質の空間的な拡がりと性質)をモデル化しているからです。「磁石になりやすいように作ったから、磁石になりやすい」だけ。

今示した磁石になりやすい物体のモデルはイジング模型(Ising model)の最も簡単な例です。一方、磁石になりにくい物体のモデルにポッツ模型(Potts model)があります。局所エネルギーがイジング模型と違うだけで、ポッツ模型の局所エネルギーは次のように定義されます。

  • ボンドの両端が同じスピンなら、そのボンドの局所エネルギーは1
  • ボンドの両端が違うスピンなら、そのボンドの局所エネルギーは0

イジング模型と同じように、ポッツ模型における状態の出現確率を求めると:

状態s エネルギーE(s) (1/2)E(s) 状態sの出現確率
+, +, + 1 1/2 1/12
+, +, - 1 1/2 1/12
+, -, + 0 1 1/6
+, -, - 0 1 1/6
-, +, + 0 1 1/6
-, +, - 0 1 1/6
-, -, + 1 1/2 1/12
-, -, - 1 1/2 1/12

1/3 の割合で磁石、2/3の割合で磁石じゃない、という結果です。

分配関数と結び目

状態の出現確率を求めるとき、分母(正規化因子)としてZが出てきました。Zは次のように定義されます。

  • Z = Σ(すべての状態sに渡って : cE(s))

これを状態和とか分配関数と呼びます。「定数なのに、なんで関数やねん?」と疑問に思うのですが、実際には温度Tがパラメータで入ります。温度一定と仮定しても、物体の形状によりZの値が変わります。物体の形状はグラフGで表現されるので、ZはGの関数 Z(G) となります。

イジング模型やポッツ模型のような、状態の出現確率の算出法を1つ選択して固定すると、その分配関数Zは、直線内のグラフGの関数だとわかりました。空間を2次元にすると、同様にして2次元グラフGの関数 Z = Z(G) が定義できます。

3次元空間内の結び目(knot)や絡み目(link)は、平面に射影して、影である2次元グラフ(4-正則グラフに取れる)と、交差点における紐の上下を指定するマーキングによって記述できます。上下交差マーキング付き平面グラフGに対して、分配関数(に相当する量)をうまく定義すると、まったく不思議なことに結び目や絡み目の不変量(分類の指標)を与えます。

いったいなんで、磁石と紐が関係するんだ? 冷蔵庫にメモを貼り付ける磁石と梱包用ビニール紐を眺めてみたが、「たまに使うからないと困る」以外の共通点は見つからなかった。

*1:すぐに離散化してしまうので、連続直線は不要なのですが。

*2:多重辺もループも許しません。

*3:頂点はサイトと呼ぶようですが、用語「サイト」は採用しません。