arXiv探訪

興味の赴くままに数学するだけ

非退化GAの双対構造

小ネタというか、七誌さん(七誌の開発日記)とマストドンで交わした内容について。

スカラー

{ X }が有限集合であって、{ r\colon X\rightarrow R }について{ r( x ) }が常に可逆となるとき、GAは非退化(non-degenerate)であると言う。以下{ \mathcal{G}:=GA( X, R, r ) }は非退化であるとする。

定義 { P:=e_{X} }を擬スカラー(pseudo-scalar)と呼ぶ。

スカラーは可逆である。実際

{ \displaystyle P^{2}=e_{X}e_{X}=\left( \prod_{x\in X} r( x ) \right)( -1 )^{\tau( X, X )} }

なので、右逆元と左逆元は一致して{ P^{-1}=\alpha P }の形をしている。

補題 任意の{ A\in\mathcal{G} }について{ AP=A\sqsubset P }が成り立つ。

(証明){ e_{I}e_{X}=( I\subset X )e_{I}e_{X} }より明らか。{ \square }

従って{ AP^{-1}=A\sqsubset P^{-1} }でもある。

定義 { A\in\mathcal{G} }について、その双対(dual)を

{ A^{d}:=AP^{-1} }

により定める。このときvel積(ラテン語の"or"に相当、{ \TeX }だとvee)を

{ ( A\vee B )^{d}:=A^{d}\wedge B^{d} }

が成り立つように定める。つまり

{ A\vee B:=( AP^{-1}\wedge B^{-1} )P }

で定める。

命題 { A, B\in\mathcal{G} }について以下が成り立つ。

  • { A\sqsubset B^{d}=( A\wedge B )^{d} }が成り立つ。
  • { A\wedge B^{d}=( A\sqsubset B )^{d} }が成り立つ。

(証明)上については

{ \begin{align*} A\sqsubset( BP^{-1} ) &= A\sqsubset( B\sqsubset P^{-1} ) \\ &= ( A\wedge B )\sqsubset P^{-1} \\ &=( A\wedge B )P^{-1} \end{align*} }

より従う。これを用いれば、{ P^{2} }スカラーであることから

{ \begin{align*} A\wedge( BP^{-1} ) &= ( A\wedge ( BP^{-1} ) )P^{-1}P \\ &= ( A\sqsubset( BP^{-1}P^{-1} ) )P \\ &= ( A\sqsubset B )P^{-2}P \\ &= ( A\sqsubset B )P^{-1} \end{align*} }

より下も従う。{ \square }

3次元GAのクロス積

以下{ R=\mathbb{R} }として{ X=\lbrace 0, 1, 2 \rbrace }には通常の順序が定まっているとする。要するに{ GA( 3, 0 ) }を考える。これは非退化であり、{ X }は全順序であり、{ \frac{1}{2}\in\mathbb{R} }でもある。

一般的に用いられる「外積」はGAにおいてどのような演算だろうか。まず

{ \begin{align*} a&=\alpha_{0}e_{0}+\alpha_{1}e_{1}+\alpha_{2}e_{2}, \\ b&=\beta_{0}e_{0}+\beta_{1}e_{1}+\beta_{2}e_{2} \end{align*} }

について「外積{ a\times b }を計算すると

{ ( \alpha_{1}\beta_{2}-\alpha_{2}\beta_{1} )e_{0} - ( \alpha_{0}\beta_{2}-\alpha_{2}\beta_{0} )e_{1} + ( \alpha_{0}\beta_{1}-\alpha_{1}\beta_{0} )e_{2} }

となる。ここでwedge{ a\wedge b }

{ \begin{align*} &\alpha_{0}\beta_{1}e_{0}\wedge e_{1}+\alpha_{0}\beta_{2}e_{0}\wedge e_{2} \\ +&\alpha_{1}\beta_{0}e_{1}\wedge e_{0}+\alpha_{1}\beta_{2}e_{1}\wedge e_{2} \\ +&\alpha_{2}\beta_{0}e_{2}\wedge e_{0}+\alpha_{2}\beta_{1}e_{2}\wedge e_{1} \end{align*} }

である。これを整理すると

{ ( \alpha_{0}\beta_{1}-\alpha_{1}\beta_{0} )e_{01}+( \alpha_{0}\beta_{2}-\alpha_{2}\beta_{0} )e_{02}+( \alpha_{1}\beta_{2}-\alpha_{2}\beta_{1} )e_{12} }

となる。ここで3次元GAでは{ P=e_{012}=e_{0}e_{1}e_{2} }について{ P^{2}=-1 }である。故に上の式のdualを取れば

{ e_{01}^{d}=e_{2}, e_{02}^{d}=-e_{1}, e_{12}^{d}=e_{0} }

が成り立つ。従って

{ a\times b = ( a\wedge b )^{d} }

が分かる。

このことから、前回示した命題

{ v( A\wedge B )=( vA )\wedge B+A^{\star}\wedge( v\sqsubset B ) }

あるいは系

{ v\sqsubset( A\wedge B )=( v\sqsubset A )\wedge B+A^{\star}\wedge( v\sqsubset B ) }

は、ベクトル三重積と呼ばれる恒等式の一般化であることが分かる。実際{ v, A, B }{ a, b, c }を代入すると

{ a\sqsubset( b\wedge c )=( a\sqsubset b )\wedge c+b^{\star}\wedge( a\sqsubset c ) }

を得るが、左辺は{ -a\times( b\times c ) }であり、右辺は{ ( a\cdot b )c-( a\cdot c )b }である。

所感

クロス積は3次元GAという非常に限られた環境でのみ定義される概念である。外積からではベクトル三重積の意味は分かり難いが、論理式の同値性から従う公式の特別な場合と見れば、その恒等性は明白になるだろう。従ってGAでは外積を用いない。現在の数学教育ではスカラー、ベクトル、行列は全て別々に扱われ、また内積外積といった演算を個別に扱う。GAはこれらを包括的に纏め上げた概念であり、先の意味でもGAは教育的に優れている。つまり何が言いたいかと言うと中学校でGAを学ぶ未来は近い。

GAの計算

前回の復習

{ ( X, \le ) }を半順序集合、{ \mathbb{F} }{ X }の有限部分集合全体とする。{ R }を単位的可換環として{ r\colon X\rightarrow R }写像とする。{ I, J\in\mathbb{F} }に対して

{ \tau( I, J ):= \sharp\lbrace ( i, j ) : i \gt j, i\in I, j\in J \rbrace }

と定めると、任意の{ I, J, K\in\mathbb{F} }に対して

{ \tau( I, J )+\tau( I\triangle J, K )\equiv\tau( I, J\triangle K )+\tau( J, K ) \pmod{2} }

が成り立つ。ここで

{ \displaystyle \sigma( I, J ):=\left( \prod_{x\in I\cap J}r( x ) \right)( -1 )^{\tau( I, J )} }

と定めると、自由{ R }-加群

{ \displaystyle \mathcal{G}=GA( X, R, r ) := \bigoplus_{I\in\mathbb{F}}Re_{I} }

上に、{ R }-双線型かつ結合的な積を

{ e_{I}e_{J}:=\sigma( I, J )e_{I\triangle J} }

で定めることができる。このような代数を総じて幾何代数(Geometric Algebra, GA)と呼ぶ。

さて

{ \tau( J, I )\equiv\tau( I, I )+\tau( J, J )+\tau( I\triangle J, I\triangle J )+\tau( I, J ) }

が成り立つことから、GAの基底に対する積の交換は

{ e_{J}e_{I}=(-1)^{\tau( I, I )+\tau( J, J )+\tau( I\triangle J, I\triangle J )}e_{I}e_{J} }

で計算することができる。特に{ x, y }が比較可能なら{ e_{y}e_{x}=-e_{x}e_{y} }となり、比較不可能なら{ e_{y}e_{x}=e_{x}e_{y} }となる。また{ e_{x}^{2}=r( x ) }である。更に2種類の対称性involutionとreversionをそれぞれ

{ \begin{align*} e_{I}^{\star}&:=( -1 )^{\sharp I}e_{I}, & e_{I}^{\dagger}&:=( -1 )^{\tau( I, I )}e_{I} \end{align*} }

で定める。すると任意の{ A, B\in\mathcal{G} }について

{ \begin{align*} ( AB )^{\star}&=A^{\star}B^{\star}, & ( AB )^{\dagger}&=B^{\dagger}A^{\dagger} \end{align*} }

が成り立つ。これらの合成

{ e_{I}^{\Box}:=( e_{I}^{\star} )^{\dagger}=( e_{I}^{\dagger} )^{\star} }

をconjugationという。

記号に関連性が無くて分かり難いので{ e_{I}^{i}, e_{I}^{r}, e_{I}^{c} }などとするべきか否か。一応下のノートに合わせてある。

Douglas Lundholm, Lars Svensson. Clifford Algebra, Geometric Algebra, and Applications.

積の分解

論理式{ P }に対して、{ P }が真のとき{ ( P ):=1 }、偽のとき{ ( P ):= 0 }と表す。

定義

  • { e_{I}\wedge e_{J}:=( I\cap J=\emptyset )e_{I}e_{J} }をウェッジ積(wedge/outer product)と呼ぶ。
  • { e_{I}\sqsubset e_{J}:=( I\subset J )e_{I}e_{J} }を左内積(left interior/inner product)と呼ぶ。
  • { e_{I}\sqsupset e_{J}:=( I\supset J )e_{I}e_{J} }を右内積と呼ぶ。
  • { e_{I}\ast e_{J}:=( I=J )e_{I}e_{J} }スカラー積(scalar product)と呼ぶ。

これらの演算は線型にGA上へ拡張しておく。

involutionに対する各々の振る舞いは可換となる。具体的には

{ \begin{align*} ( A\wedge B )^{\star}&=A^{\star}\wedge B^{\star}, \\ ( A\sqsubset B )^{\star}&=A^{\star}\sqsubset B^{\star}, \\ ( A\sqsupset B )^{\star}&=A^{\star}\sqsupset B^{\star}, \\ ( A\ast B )^{\star}&=A^{\star}\ast B^{\star} \end{align*} }

が成り立つ。一方でreversionに対しては反転し、また左内積と右内積は「逆」になる。具体的には

{ \begin{align*} ( A\wedge B )^{\dagger}&=B^{\dagger}\wedge A^{\dagger}, \\ ( A\sqsubset B )^{\dagger}&=B^{\dagger}\sqsupset A^{\dagger}, \\ ( A\sqsupset B )^{\dagger}&=B^{\dagger}\sqsubset A^{\dagger}, \\ ( A\ast B )^{\dagger}&=B^{\dagger}\ast A^{\dagger} \end{align*} }

が成り立つ。

命題 { A, B, C\in\mathcal{G} }とする。このとき

{ \begin{align*} A\wedge( B\wedge C ) &= ( A\wedge B )\wedge C, \\ A\sqsubset ( B\sqsupset C ) &= ( A\sqsubset B )\sqsupset C, \\ A\sqsubset( B\sqsubset C ) &= ( A\wedge B )\sqsubset C, \\ A\ast( B\sqsubset C ) &= ( A\wedge B )\ast C \end{align*} }

が成り立つ。特に

{ 1\wedge A = A\wedge 1 = 1\sqsubset A = A\sqsupset 1 = A }

である。

(証明)全て基底について示すことが出来ればよい。例えば一つ目の左辺は

{ e_{I}\wedge ( e_{J}\wedge e_{K} )=( J\cap K=\emptyset )( I\cap( J\triangle K )=\emptyset )e_{I}e_{J}e_{K} }

であり、右辺は

{ ( e_{I}\wedge e_{J} )\wedge e_{K}=( I\cap J=\emptyset )( ( I\triangle J )\cap K=\emptyset )e_{I}e_{J}e_{K} }

である。ここで両者が一致することは、それぞれの論理式が同値であることから直ちに従う。他も同様である。{ \square }

{ \mathcal{G} }は各{ k }について、{ \sharp I=k }なる{ e_{I} }で生成される部分空間{ \mathcal{G}^{k} }の直和で表せる。すなわち{ \mathcal{G} }は次数付き環となる。そこで{ A\in GA }に対し、その{ k }次成分への射影を{ \langle A \rangle_{k} }で表す。ゼロ次の元をスカラー(scalar)、1次の元をベクトル(vector)、2次の元をバイベクトル(bivector)、一般に{ k }-次の元を{ k }-ベクトルと呼ぶ。

伝統的にスカラー{ R }の元)はギリシャ文字{ \alpha, \beta, \gamma, \dotsc }、ベクトルはアルファベットの小文字{ u, v, w, \dotsc }{ \mathcal{G} }の任意の元をアルファベットの大文字{ A, B, C, \dotsc }で表記することが多い。

involutionやreversionに対して

{ \begin{align*} \langle A \rangle_{k}^{\star}&=\langle A^{\star} \rangle_{k}, & \langle A \rangle_{k}^{\dagger}&=\langle A^{\dagger} \rangle_{k} \end{align*} }

が成り立つことは良いだろう。

次はGAの基本等式と呼ばれている。

命題 { v\in\mathcal{G}^{1}, A\in\mathcal{G} }とする。このとき

{ vA = v\sqsubset A+v\wedge A }

が成り立つ。

(証明)各基底について示せば良い。実際{ x\in X, I\in\mathbb{F} }について

{ e_{x}e_{I}=( \lbrace x \rbrace\subset I )e_{x}e_{I}+( \lbrace x \rbrace\cap I=\emptyset )e_{x}e_{I}=e_{x}\sqsubset e_{I}+e_{x}\wedge e_{I} }

が成り立つ。{ \square }

同じ議論で

{ Av = A\sqsupset v+A\wedge v }

が成り立つことも分かる。あるいはreversionを取っても良い。実際

{ e_{x}e_{I} = e_{x}\sqsubset e_{I}+e_{x}\wedge e_{I} }

についてreversionを取ると

{ e_{I}^{\dagger}e_{x}^{\dagger} = e_{I}^{\dagger}\sqsupset e_{x}^{\dagger}+e_{I}^{\dagger}\wedge e_{x}^{\dagger} }

を得る。ここで{ e_{x}^{\dagger}=e_{x}, e_{I}^{\dagger}=( -1 )^{\tau( I, I )}e_{I} }を代入すれば

{ e_{I}e_{x} = e_{I}\sqsupset e_{x}+e_{I}\wedge e_{x} }

が従う。

GAの公式

あとはもうどんな式であっても、定義に沿って計算をすることができる。とはいえそれなりに複雑で大変なので、便利な「公式」を作っておくと良い。以下{ ( X, \le ) }は全順序とする。つまり

{ \displaystyle \tau( I, I )=\frac{1}{2}\sharp I( \sharp I-1 ) }

が成り立つ。また{ \frac{1}{2}\in R }を仮定する。

補題 { x\in X, I\in\mathbb{F} }とする。このとき次が成り立つ。

  • { x\in I }のとき{ e_{I}e_{x}=( -1 )^{\sharp I-1}e_{x}e_{I} }が成り立つ。
  • { x\notin I }のとき{ e_{I}e_{x}=( -1 )^{\sharp I}e_{x}e_{I} }が成り立つ。

(証明)交換の関係式

{ e_{x}e_{I}=(-1)^{\tau( I, I )+\tau( \lbrace x \rbrace, \lbrace x \rbrace )+\tau( I\triangle\lbrace x \rbrace, I\triangle\lbrace x \rbrace )}e_{I}e_{x} }

を計算すればよい。対称差について{ x\in I }のときは{ \sharp( I\triangle\lbrace x \rbrace )=\sharp I-1 }より

{ \displaystyle \tau( I\triangle\lbrace x \rbrace, I\triangle\lbrace x \rbrace )=\frac{1}{2}( \sharp I-1 )( \sharp I-2 ) }

である。一方{ x\notin I }のときは{ \sharp( I\triangle\lbrace x \rbrace )=\sharp I+1 }より

{ \displaystyle \tau( I\triangle\lbrace x \rbrace, I\triangle\lbrace x \rbrace )=\frac{1}{2}( \sharp I+1 )\sharp I }

である。{ \tau( \lbrace x \rbrace, \lbrace x \rbrace )=0 }だから、指数部はそれぞれ

{ \displaystyle \begin{align*} \frac{1}{2}\sharp I( \sharp I-1 )+\frac{1}{2}( \sharp I-1 )( \sharp I-2 )&=( \sharp I-1 )^{2}\equiv\sharp I-1, \\ \frac{1}{2}\sharp I( \sharp I-1 )+\frac{1}{2}( \sharp I+1 )\sharp I &= \sharp I^{2}\equiv\sharp I \end{align*} }

となる。{ \square }

命題 { v\in\mathcal{G}^{1}, A\in\mathcal{G} }とする。このとき次が成り立つ。

  • { v\wedge A = A^{\star}\wedge v =  \frac{1}{2}( vA+A^{\star}v ) }が成り立つ。
  • { v\sqsubset A = -A^{\star}\sqsupset v =\frac{1}{2}( vA-A^{\star}v ) }が成り立つ。

(証明) 補題より

{ \begin{align*} e_{I}^{\star}\wedge e_{x} &= ( -1 )^{\sharp I}( I\cap \lbrace x \rbrace=\emptyset )e_{I}e_{x} \\ &= ( -1 )^{\sharp I}( I\cap \lbrace x \rbrace=\emptyset )( -1 )^{\sharp I}e_{x}e_{I} \\ &= e_{x}\wedge e_{I}, \\ e_{I}^{\star}\sqsupset e_{x} &= ( -1 )^{\sharp I}( I\supset\lbrace x \rbrace )e_{I}e_{x} \\ &= ( -1 )^{\sharp I}(\lbrace x \rbrace\subset I )( -1 )^{\sharp I-1 }e_{x}e_{I} \\ &= -e_{x}\sqsubset e_{I} \end{align*} }

が分かる。ここで

{ \begin{align*} e_{x}e_{I}&=e_{x}\sqsubset e_{I}+e_{x}\wedge e_{I}, \\ e_{I}^{\star}e_{x}&=( -1 )^{\sharp I}e_{I}e_{x}=( -1 )( e_{I}\sqsupset e_{x}+e_{I}\wedge e_{x} )=e_{I}^{\star}\sqsupset e_{x}+e_{I}^{\star}\wedge e_{x} \end{align*} }

が成り立つから、辺々足したり引いたりすれば残りの式を得る。{ \square }

{ v\in\mathcal{G}^{1}, A, B\in\mathcal{G} }とする。このとき次が成り立つ。

  • { v\sqsubset( AB ) = ( v\sqsubset A )B+A^{\star}( v\sqsubset B ) }が成り立つ。
  • { v\wedge( AB ) = (v\sqsubset A )B+A^{\star}( v\wedge B ) }が成り立つ。

(証明) 最初の式は

{ \displaystyle \begin{align*} v\sqsubset( AB ) &= \frac{1}{2}( vAB-( AB )^{\star}v ) \\ &=\frac{1}{2}( vAB-A^{\star}vB+A^{\star}vB-A^{\star}B^{\star}v ) \\ &= \frac{1}{2}( vA-A^{\star}v )B+A^{\ast}\frac{1}{2}( vB-B^{\star}v ) \\ &=( v\sqsubset A )B+A^{\star}( v\sqsubset B ) \end{align*} }

より従う。もう一方も

{ \displaystyle \begin{align*} v\wedge( AB ) &= \frac{1}{2}( vAB+( AB )^{\star}v ) \\ &=\frac{1}{2}( vAB-A^{\star}vB+A^{\star}vB+A^{\star}B^{\star}v ) \\ &= \frac{1}{2}( vA-A^{\star}v )B+A^{\star}\frac{1}{2}( vB+B^{\star}v ) \\ &=( v\sqsubset A )B+A^{\star}( v\wedge B ) \end{align*} }

より従う。{ \square }

命題 { v\in\mathcal{G}^{1}, A, B\in\mathcal{G} }とする。このとき

{ v( A\wedge B )=A^{\star}\wedge( v\sqsubset B )+( vA )\wedge B }

が成り立つ。

(証明)双線型性より

{ ( I\cap J=\emptyset )e_{x}e_{I}e_{J} = ( -1 )^{\sharp I}( I\cap (\lbrace x \rbrace\triangle J )=\emptyset )( x\in J )e_{I}e_{x}e_{J}+( ( \lbrace x \rbrace\triangle I )\cap J=\emptyset )e_{x}e_{I}e_{J} }

が成り立つことを示せば良い。左辺と、右辺の第2項の論理式をそれぞれ{ P, Q }と置き、これらの真偽で場合分けを行う。ベン図を書くと分かり易い。

{ P }が真で、{ Q }が真の場合。{ I }{ J }は共通部分を持たないため、{ Q }が真であることから、{ x\in I }または{ x\notin ( I\cup J ) }である。いずれの場合も{ x\notin J }より右辺の第1項はゼロとなり、両辺は一致する。

{ P }が真で、{ Q }が偽の場合。{ x\in J }であることが分かる。このとき{ x\notin I }なので

{ e_{I}e_{x}e_{J}=( -1 )^{\sharp I}e_{x}e_{I}e_{J} }

となり、故に両辺は一致する。

{ P }が偽で、{ Q }が真の場合。このとき{ I\cap J=\lbrace x \rbrace }でなければならない。従って{ I\cap ( \lbrace x \rbrace\triangle J )=\emptyset }は真であり、{ x\in J }も真である。一方{ x\in I }でもあるから

{ e_{I}e_{x}e_{J}=( -1 )^{\sharp I-1}e_{x}e_{I}e_{J} }

となり、右辺は{ ( -1 )+1=0 }となる。故に両辺は一致する。

{ P }が偽で、{ Q }も偽の場合。このとき{ I\cap J }には{ x }以外の元{ y }が含まれる。故に{ I\cap ( \lbrace x \rbrace\triangle J )\ni y }となり、右辺の第1項はゼロとなり、両辺は一致する。{ \square }

{ v\in\mathcal{G}^{1}, A, B\in\mathcal{G} }とする。このとき

{ v\sqsubset( A\wedge B ) = ( v\sqsubset A )\wedge B+A^{\star}\wedge ( v\sqsubset B ) }

が成り立つ。

(証明)命題より

{ \begin{align*} ( v\sqsubset A )\wedge B &= ( vA -v\wedge A )\wedge B \\ &= ( vA )\wedge B-v\wedge( A\wedge B ) \\ &= ( vA )\wedge B-v( A\wedge B )+v\sqsubset( A\wedge B ) \\ &= -A^{\star}\wedge( v\sqsubset B )+v\sqsubset( A\wedge B ) \end{align*} }

を得る。{ \square }

{ v, a_{1}, \dotsc, a_{n}\in\mathcal{G}^{1} }とする。このとき

{ \displaystyle v\sqsubset( a_{1}\wedge a_{2}\wedge\dotsb\wedge a_{n} ) = \sum_{k=1}^{n}( -1 )^{k-1}( v\ast a_{k} )( a_{1}\wedge\dotsb\wedge\langle a_{k} \rangle\wedge\dotsb\wedge a_{n} ) }

が成り立つ。ただし{ \langle \cdot \rangle }は除外を意味する。

(証明)ベクトル{ u, v\in\mathcal{G}^{1} }について{ u\sqsubset v=u\ast v }に注意すれば、{ n }に関する帰納法より従う。{ \square }

以上で2つの式

{ \begin{align*} v\sqsubset( AB ) &= ( v\sqsubset A )B+A^{\star}( v\sqsubset B ),  \\ v\sqsubset( A\wedge B ) &= ( v\sqsubset A )\wedge B+A^{\star}\wedge ( v\sqsubset B ) \end{align*} }

を示した。これらはベクトル{ v }による左内積が、GAの積及びwedge積に対して反微分として振舞うことを表している。この意味で作用{ A\mapsto v\sqsubset A }{ \partial_{v} }と書くことがある。

命題 { A_{s}\in\mathcal{G}^{s}, B_{t}\in\mathcal{G}^{t} }に対して

{ B_{t}\wedge A_{s}=( -1 )^{st}A_{s}\wedge B_{t} }

が成り立つ。

(証明){ I\cap J=\emptyset }のとき

{ \displaystyle \tau( I\triangle J, I\triangle J ) = \frac{1}{2}( \sharp I+\sharp J )( \sharp I+\sharp J-1 ) = \tau( I, I )+\tau( J, J )+\sharp I\cdot\sharp J }

が成り立つ。従って

{ \begin{align*} e_{J}\wedge e_{I} &= ( J\cap I=\emptyset ) e_{J}e_{I} \\ &= ( I\cap J=\emptyset )( -1 )^{\tau( I, I )+\tau( J, J )+\tau( I\triangle J, I\triangle J )}e_{I}e_{J} \\ &= ( -1 )^{\sharp I\cdot\sharp J}e_{I}\wedge e_{J} \end{align*} }

となる。故に{ \sharp I=s, \sharp J=t }なる{ I, J }について和を取れば良い。{ \square }

ちなみに、内積として

{ e_{I}\cdot e_{J}:= ( I\subset J \vee I\supset J )e_{I}e_{J} = e_{I}\sqsubset e_{J}+e_{I}\sqsupset e_{J}-e_{I}\ast e_{J} }

を定義することもあるようだ。

所感

今回はGAの演算について考察を深めてみた。論理演算と相性が良いため、様々な公式を得ることが出来る。記号が多いので大変だが、これほど豊かな代数系はそうないだろう。

サイコロゲームのシミュレーション

mathtodonネタ

次の4種類のサイコロを使ったゲームを考える。

  • 目が{ ( 0, 0, 4, 4, 4, 4 ) }のサイコロA
  • 目が{ ( 3, 3, 3, 3, 3, 3 ) }のサイコロB
  • 目が{ ( 2, 2, 2, 2, 6, 6 ) }のサイコロC
  • 目が{ ( 1, 1, 1, 5, 5, 5 ) }のサイコロD

プレイヤーは4種類の中から1種類を選び対戦を行う。対戦は2人で行い、それぞれ選んだサイコロを振り、出た目が大きい方が勝ち、同じなら引き分け、小さい方が負けとなる。

このルールで多人数が対戦を繰り返すとき、どのサイコロを選ぶのが有利になるのだろうか。考え方は様々だろう。安定を望むのならサイコロBかもしれないし、最強の目を持つサイコロCを選ぶ人もいるかもしれない。あるいは、全体の使用率が公表されると戦略も変わるだろう。もちろん何をもって有利とするか、に応じても「答え」は変わる。今回は、各人がある戦略の下でサイコロを変更すると仮定してシミュレーションを行った。各種サイコロの使用率の変化について考えたい。

シミュレーションはjuliaを利用した。式を直観的に掛けるし、適当に書いても速いし、ほんと優秀。実装の都合上、次のような条件を課した。

条件

  • プレイヤーの総数は200名。
  • ランダムに1列に並べ、前後のプレイヤーで対戦を行う。
  • プレイヤーは後述する戦略に従い、サイコロを選ぶ確率分布を決める。
  • これを10回繰り返し、行われた1000試合の使用率データを記録する。
  • 以上を100あるいは1000セット繰り返し、グラフにする。

注意点

  • プログラム上プレイヤーは各自のデータを保持できるが、今回は一律で全体の使用率のみを使用することにした。
  • 使用率データの更新はデータを記録した時点である。つまり最初の1000試合は何も情報がない状態で行われ、残りは1000試合ごとに更新されていく。
  • もっと厳しい事を述べると、全員が同じ分布に従ってサイコロを選択することになる。

これを踏まえて、以下では戦略ごとにグラフを紹介していこう。

戦略1.ランダムに選ぶ

サイコロを等確率でランダムに選ぶ。当然、使用率は25%付近を揺らぐことになる。 f:id:mathmathniconico:20180718221507p:plain f:id:mathmathniconico:20180718221516p:plain

戦略2.勝利を優先する

各サイコロに重みを付けてランダムに選ぶ。{ i }番目のサイコロの重み{ w_{i} }

{ \displaystyle w_{i}=\sum_{j} ( i\text{の}j\text{に対する勝率} )\times( j\text{の使用率}\times 100+1 ) }

で与える。使用率が高いサイコロに勝利しやすいサイコロを選びたい。 f:id:mathmathniconico:20180718221935p:plain f:id:mathmathniconico:20180718222105p:plain きれいなバンドが現れる。緑が最も使われ、一方でそのメタであるはずの橙が使われない。

戦略3.敗北を避ける

重み{ w_{i} }

{ \displaystyle \frac{1}{w_{i}}=\sum_{j} ( i\text{の}j\text{に対する敗北率} )\times( j\text{の使用率}\times 100+1 ) }

で与える。使用率が高いサイコロに負けやすいサイコロを選びたくない。 f:id:mathmathniconico:20180718222158p:plain f:id:mathmathniconico:20180718222205p:plain こちらは橙が突出しており、他の3種類は僅かに緑が優位だがどれも一様である。なるべく負けないようにするには橙を選ぶと良い。

戦略4.敗北と引き分けを避ける

重み{ w_{i} }

{ \displaystyle \frac{1}{w_{i}}=\sum_{j} ( i\text{の}j\text{に対する敗北率}+\text{引き分け率} )\times( j\text{の使用率}\times 100+1 ) }

で与える。使用率が高いサイコロに負けるか引き分けやすいサイコロを選びたくない。 f:id:mathmathniconico:20180718222250p:plainf:id:mathmathniconico:20180718222255p:plain こちらは戦略2とほぼ同様な結果になった。ただし結構ブレが大きいようだ。

戦略5.引き分けを避ける

重み{ w_{i} }

{ \displaystyle \frac{1}{w_{i}}=\sum_{j} ( i\text{の}j\text{に対する引き分け率} )\times( j\text{の使用率}\times 100+1 ) }

で与える。使用率が高いサイコロに引き分けやすいサイコロを選びたくない。 f:id:mathmathniconico:20180718222129p:plain f:id:mathmathniconico:20180718222139p:plain 予想外に面白い結果になった。カオスの中に潜む周期性というか、ある種の可積分性が隠れているように感じる。

各自バラバラの場合

上記の5つの戦略を、それぞれ40人ずつに取らせてみた。 f:id:mathmathniconico:20180718222313p:plain 戦略2とそれほど変わらないが、緑と紫が拮抗しているように感じる。相変わらず橙は人気がない。

チートサイコロに変えてみる

サイコロBを{ ( 6, 6, 6, 6, 6, 6 ) }というチートサイコロEにしてシミュレーションを行ってみた。

戦略2

戦略2で使用率100%にならない。 f:id:mathmathniconico:20180718222348p:plain

勝率+引き分け率

{ \displaystyle w_{i}=\sum_{j} ( i\text{の}j\text{に対する勝率}+\text{引き分け率} )\times( j\text{の使用率}\times 100+1 ) }

f:id:mathmathniconico:20180718222748p:plain 橙と緑の環境になったが、それでも100%にならない。

(勝率+引き分け率)÷敗北率

{ \displaystyle w_{i}= \frac{\sum_{j} ( i\text{の}j\text{に対する勝率}+\text{引き分け率} )\times( j\text{の使用率}\times 100+1 )}{\sum_{j} ( i\text{の}j\text{に対する敗北率} )\times( j\text{の使用率}\times 100+1 )} }

f:id:mathmathniconico:20180718222955p:plain これでようやく100%になった。

元の問題に戻る

ということで、

{ \displaystyle w_{i}= \frac{\sum_{j} ( i\text{の}j\text{に対する勝率}+\text{引き分け率} )\times( j\text{の使用率}\times 100+1 )}{\sum_{j} ( i\text{の}j\text{に対する敗北率} )\times( j\text{の使用率}\times 100+1 )} }

という式で最初の問題のシミュレーションを行ってみた。 f:id:mathmathniconico:20180718223942p:plain

引き分け率を除外する。

{ \displaystyle w_{i}= \frac{\sum_{j} ( i\text{の}j\text{に対する勝率} )\times( j\text{の使用率}\times 100+1 )}{\sum_{j} ( i\text{の}j\text{に対する敗北率} )\times( j\text{の使用率}\times 100+1 )} }

f:id:mathmathniconico:20180718224055p:plain

なんとも不思議な結果である。

所感

モデルとしては簡単な部類なので、数式で厳密解が得られる可能性はある。何か良いアイディアがあったらマストドンでトゥートして頂けると助かります。