1. ã¯ããã«
æ¬èšäºã§ã¯ã2022幎10æã«Natureã«æ²èŒãããAlphaTensor[1]ããã³é¢é£åéã玹ä»ããŸããAlphaTensorã¯ãAIãè¡åç©æŒç®ã®æ°ããã¢ã«ãŽãªãºã ãçºèŠããããšãããããæå¥ã®ããšSNSãäžå¿ã«å€§ããªè©±é¡ãšãªããŸãããå ·äœçã«ã¯ã[1]ã§AIãâçºèŠâããã¢ã«ãŽãªãºã ã®ã²ãšã€ã§ã¯2鲿°äžã®4Ã4ã®è¡åã®ç©ã47åã®æãç®ã§èšç®ããããšãã§ããããã¯[1]以åã®æé49å(Strassenã®ã¢ã«ãŽãªãºã )ãäžåã£ãããšã«ãªããŸãããªããStrassenã®ã¢ã«ãŽãªãºã ã®49åã¯ãã®çºèŠãã[1]ãŸã§çŽ50幎éç ŽãããŠããŸããã§ããã
ãAIãæ°ããã¢ã«ãŽãªãºã ãçºèŠããããšããåºåã§ãããå®é㯠ããããã³ãœã«ã®ããåè§£æ¹æ³ã匷ååŠç¿ãå©çšããŠæ¢çŽ¢ããã ãšãã£ãæ¹ãæ£ããã§ãããã® ããããã³ãœã«ãã¯ãã®åè§£æ¹æ³ãšãè¡åç©ã®ã¢ã«ãŽãªãºã ããèªç¶ãšå¯Ÿå¿ä»ãããã ããšãç¥ãããŠããŸãããããã£ãŠããããã³ãœã«ã®âããâåè§£æ¹æ³ããæ¢çŽ¢ããããšã¯ãæ©ãè¡åç©ã®ã¢ã«ãŽãªãºã ããæ¢çŽ¢ããããšãšçãããªããŸããã¡ãªã¿ã«ããã®ããããã³ãœã«ã®ããåè§£æ¹æ³ããèšç®æ©ãå©çšããŠæ¢çŽ¢ããããšã§ãè¡åç©ã®é«éãªã¢ã«ãŽãªãºã ãèŠã€ãããšãã詊ã¿ã¯ãAlphaTensorãåã§ã¯ãªããããŸã§ããŸããŸãªç ç©¶ããªãããŠããŸãã
æ¬èšäºã®æ§æã¯ä»¥äžã®ããã«ãªããŸãã2ç« ã§ã¯[1]ãå©çšããŠãããç¹å®ã®3次å ãã³ãœã«ã®åè§£ãšè¡åç©ã¢ã«ãŽãªãºã ã®å¯Ÿå¿ãã説æããŸããè¡åç©æŒç®ã¢ã«ãŽãªãºã ã«ã€ããŠã®æŠèгããã¯ãããŠã3次å ãã³ãœã«ã®åºæ¬ãã³ãœã«ãžã®åè§£ãšè¡åç©ã®ã¢ã«ãŽãªãºã ã察å¿ããããšã説æããŸãããŸããã³ãœã«ã®ã©ã³ã¯ãšè¡åç©ã¢ã«ãŽãªãºã ã®èšç®éã®é¢ä¿ã玹ä»ããŸãã3次å ã®ããã³ãœã«ãã䞻圹ã§ããããã³ãœã«ç©ãªã©ã®ç·åœ¢ä»£æ°ã®ç¥èããªããŠãèªããããã«èª¬æã詊ã¿ãŸããã2ç« ã®å 容ã®ããæ°åŠçã«æŽçãããèšè¿°ã¯ä»é²ã«åããŸããã3ç« ã§ã¯[1]ã«ãããŠå ·äœçã«ã©ã®ããã«æ°ããã¢ã«ãŽãªãºã ã"çºèŠ"ããã解説ããŸãã匷ååŠç¿ã«ããæ¢çŽ¢ã®æ çµã¿ãšAlphaTensorãå©çšããAlphaZeroãšãã匷ååŠç¿ã¢ãã«ããã³è«æã®å®éšçµæã玹ä»ããŸãã4ç« ã§ã¯AlphaTensorã®çµæãšãã®åšèŸºåéã«å¯Ÿããèªåã®èãããŸãšããŸããã
2. ãã³ãœã«åè§£ãšè¡åç©ã®ã¢ã«ãŽãªãºã
æ¬ç« ã§ã¯ãè¡åç©ã®ã¢ã«ãŽãªãºã ãšãã3次å ãã³ãœã«ã®åè§£ãšã®å¯Ÿå¿é¢ä¿ã«ã€ããŠèª¬æããŸããç°¡æã®ãã3次å ãã³ãœã«ãã3次å ã®è¡åïŒçŽæ¹äœç¶ã®ã°ãªããã«æ°åãå ¥ã£ããã®ããšããŠæ±ãããã³ãœã«ç©ãªã©ã®ç·åœ¢ä»£æ°ã®ç¥èãå¿ èŠãšããªã説æã詊ã¿ãŸããã(æ¬ç« ã®æ°åŠçã«æŽçãããå 容ã¯ä»é²ãåç §ã®ããš)
2.1. è¡åç©ã®ã¢ã«ãŽãªãºã
æ¬ç¯ã§ã¯è¡åç©ã®èšç®ã«ã€ããŠã
- äžè¬ã«ãã䜿ãã¢ã«ãŽãªãºã
- ããé«éãªã¢ã«ãŽãªãºã ã®ååš
- èšç®åæ°ã®çè«çãªéçã®ã¿ã€ãã
ãç°¡åã«è§£èª¬ããŸãã
A=
\begin{pmatrix}
a_{1}^1 & a_{2}^1 \\
a_{1}^2 & a_{2}^2
\end{pmatrix},
B= \begin{pmatrix}
b_{1}^1 & b_{2}^1 \\
b_{1}^2 & b_{2}^2
\end{pmatrix},
C = \begin{pmatrix}
c_{1}^1 & c_{2}^1 \\
c_{1}^2 & c_{2}^2
\end{pmatrix}
\begin{pmatrix}
c_{1}^1 & c_{2}^1 \\
c_{1}^2 & c_{2}^2
\end{pmatrix} =
\begin{pmatrix}
a_{1}^1 & a_{2}^1 \\
a_{1}^2 & a_{2}^2
\end{pmatrix}
\begin{pmatrix}
b_{1}^1 & b_{2}^1 \\
b_{1}^2 & b_{2}^2
\end{pmatrix}
ãšããŸãã
ãã®æ2Ã2ã®è¡åã®æãç®$C=AB$ã¯ãé垞以äžã®ããã«è¡ããŸãã
c^1_1 = a^1_1 b^1_1 + a^1_2b^2_1 \\
c^1_2 = a^1_1 b^1_2 + a^1_2b^2_2 \\
c^2_1 = a^2_1 b^1_1 + a^2_2b^2_1 \\
c^2_2 = a^2_1 b^1_2 + a^2_2b^2_2 \\
ãã®èšç®æ¹æ³ã®å Žåãæãç®ã¯8åè¡ãããšã«ãªããŸããåæ§ã«ããŠããã®ãããªéåžžã®è¡åç©ã®èšç®ã§ã¯äžè¬ã®ãµã€ãºnã®æ£æ¹è¡åã®ç©ã«ã¯$n^3$åã®æãç®ã宿œããããšã«ãªããŸãã
å®ã¯ããã®2Ã2ã®è¡åç©ã®ã8åããäžè¬ã®è¡åç©ã«ããã$n^3$åã®æãç®ã¯ãæžããããšãã§ããŸãïŒïŒ
Strassenã¯[2]ã«ãããŠã2Ã2ã®è¡åç©ã7åã®ç©ã§èšç®ããæ¬¡ã®ãããªã¢ã«ãŽãªãºã ãææ¡ããŸããã($X_1,\dots,X_7$ã®èšç®ã§ãããã1åæãç®ãè¡ãã)
\begin{align*}
X_1 &=& (a^1_1+a^2_2)(b^1_1+b^2_2) \\
X_2 &=& (a^2_1+a^2_2)b^1_1 \\
X_3 &=& a^1_1(b^1_2-b^2_2) \\
X_4 &=& a^2_2(-b^1_1+b^2_1) \\
X_5 &=& (a^1_1+a^1_2)b^2_2 \\
X_6 &=& (-a^1_1+a^2_1)(b^1_1+b^1_2) \\
X_7 &=& (a^1_2-a^2_2)(b^2_1+b^2_2)
\end{align*}
\begin{align*}
c^1_1 &=& X_1 + X_4-X_5+X_7 \\
c^2_1 &=& X_2+X_4 \\
c^1_2 &=& X_3 + X_5 \\
c^2_2 &=& X_1 + X_3 -X_2+X_6
\end{align*}
è¡åã4åå²ããããšã«ãããStrassenã®ã¢ã«ãŽãªãºã ãäžè¬ã®è¡åã®æãç®ã«ååž°çã«é©çšããããšãã§ããŸããäŸãã°4Ã4ã®è¡åã®æãç®ã®éã«ã¯ãè¡åã2Ã2ã®ãããã¯Ã4ã«åè§£ãããã®ãããããè¡åã®èŠçŽ ãšã¿ãªããŠStrassenã®ã¢ã«ãŽãªãºã ãé©çšããŸãããã®ãšã$X_1,\dots,X_7$ã«å¯Ÿå¿ããæŒç®ã§2Ã2ã®è¡åã®æãç®ããããã1床å®è¡ããã®ã§ããµããã³Strassenã®ã¢ã«ãŽãªãºã ãé©çšããŸãããã®å Žå$7^2=49$åã®èŠçŽ ã®æãç®ã§è¡åç©ãèšç®ã§ããŸããåæ§ã«ããŠããµã€ãº$2^k$ã®æ£æ¹è¡åç©ã¯$7^k$åã®æãç®ã§å®è¡ã§ããŸãããããã£ãŠäžè¬ã®ãµã€ãºnã®è¡åç©ã¯çŽ$n^{\log_2(7)}\simeq n^{2.81}<n^3$åã®æãç®ã§èšç®ã§ããããšã«ãªããŸãã(ãµã€ãºã$2^k$ã§ãªãå Žåã¯èŠçŽ ã0ã®è¡ãåããã)
ããŠãStrassenã®ã¢ã«ãŽãªãºã ã¯2Ã2ã®è¡åç©ã«ãããŠã¯âæéâãã€ãŸãæãç®ã®åæ°ã7åããæžããããšãã§ããªãããšã蚌æãããŠããŸã[3]ããã£ãœãããã以å€ã®ãµã€ãºã®è¡åç©ã«é¢ããŠã¯æå°æãç®æ°ãåãã£ãŠãããã®ã¯ãªãããã§ã(2017幎æç¹ã2018以éã®é²å±ã¯èª¿æ»ããããŠããŸãã)[4]ããã ãäžè¬ã®ãµã€ãºnã®è¡åã«å¯ŸããŠããã®ç©ã®æå°èšç®é$\omega$(exponent)ã
\omega = inf\{h\in R | ãµã€ãºnã®è¡åç©ãO(n^h)ã§èšç®å¯èœ\}
ãšãããšã2017å¹Žã®æ®µéã§
2\leq\omega < 2.373
ã§ããããšã蚌æãããŠãã[4][5]ãååž°çãªStrassenã®ã¢ã«ãŽãªãºã ã®é©çšãã髿§èœãªã¢ã«ãŽãªãºã ã®ååšã瀺åãããŠããŸãã($\omega$ã®äžçãæšå®ããè«æã§ã¯å ·äœçãªã¢ã«ãŽãªãºã ã¯ææ¡ãããªãããšãå€ãã)
ã³ãã¥ããã£ã§ã¯
\omega = 2
ã§ããããš(ã€ãŸãè¡åã®è¶³ãç®ãšã»ãŒåããªãŒããŒã§è¡åç©ãèšç®å¯èœïŒïŒ)ãäºæ³ãããŠããããã®ã¢ã«ãŽãªãºã ãæ±ããŠããŸããŸãªè©Šã¿ããªãããŠããŸã[4]ã
2.2. ãã³ãœã«åè§£ãšè¡åç©ã¢ã«ãŽãªãºã ã®å¯Ÿå¿
ãã®ç¯ã§ã¯è¡åç©ã®ã¢ã«ãŽãªãºã ãæ¢çŽ¢ããéã®äžã€ã®æéãšãªãããã³ãœã«åè§£ãšã®å¯Ÿå¿ã説æããŸããçµè«ãšããŠã¯ ããããã³ãœã«ãã®Råã®ãã©ã³ã¯1ãã³ãœã«ããžã®åè§£ããè¡åç©ã®ã¢ã«ãŽãªãºã ã«çžåœãããã®èšç®éã¯Rãå°ããã»ã©å°ãªããªããŸãã ãããã£ãŠã ã§ããã ãé«éãªè¡åç©ã¢ã«ãŽãªãºã ã®æ¢çŽ¢ã¯ãããããã³ãœã«ããã§ããã ãå°ãªããã©ã³ã¯1ãã³ãœã«ãã®åã«åè§£ããæ¹æ³ã®æ¢çŽ¢ã«çãã ãšããããšã«ãªããŸãã
以äžã§ã¯ç°¡æã®ãããµã€ãºnã®æ£æ¹è¡åã®ç©ã«ã€ããŠæ±ããŸããäžè¬ã®ãµã€ãºã®è¡åç©ã«é¢ããŠãåæ§ã®è°è«ãæãç«ã¡ãŸããã
2.2.1ããããã³ãœã« $M_n$ ã
ãŸãã
A=
\begin{pmatrix}
a_{1}^1 & a_{2}^1 \\
a_{1}^2 & a_{2}^2
\end{pmatrix},
B= \begin{pmatrix}
b_{1}^1 & b_{2}^1 \\
b_{1}^2 & b_{2}^2
\end{pmatrix},
C = \begin{pmatrix}
c_{1}^1 & c_{2}^1 \\
c_{1}^2 & c_{2}^2
\end{pmatrix}
ãšããŸãã$a^i_j, b^i_j, c^i_j$ã«é£çªã®æ·»ãåããµã£ãŠæ¹ããŠ$a=(a_1,a_2,\dots), b=(b_1,b_2,\dots),a=(c_1,c_2,\dots)$ãšããŸãã$C=AB$ã®ãšãã
c_k = \sum_{i,j}t^{i,j}_ka_ib_j
ãšæžããã¯ãã§ãããã®$t^{i,j}_k$ããiæåãããšã³ãjæåããã¿ããkæåãã奥ãããã§ãããããª3次å ãã³ãœã«ã§è¡šããŸããäŸãã°è¡åã®ãµã€ãºã2Ã2ã®æãæ¬¡ã®ããã«ãªããŸãã(è²ãã€ããŠããã»ã«ã1ãã以å€ã¯0)
\begin{pmatrix}
c_{1} & c_{2} \\
c_3 & c_4
\end{pmatrix} =
\begin{pmatrix}
a_{1} & a_{2} \\
a_3 & a_4
\end{pmatrix}
\begin{pmatrix}
b_{1} & b_{2} \\
b_3 & b_4
\end{pmatrix}
以éã ãµã€ãºnã®è¡åã«å¯ŸããŠãã®ããã« $t^{i,j}_{k}$ ãã¡ã䞊ã¹ããã³ãœã«ã $M_{n}$ ãšæžãããšãšããŸãã
2.2.2. $M_n$ã®åè§£
äžæ¹ãéåžžã®è¡åç©ã®èšç®æ¹æ³ããã³Strassenã®ã¢ã«ãŽãªãºã ã芳å¯ãããšã$C=AB$ã®èšç®ã¯
c_i = \sum_{r=1}^R w^r_i (\sum_ku^r_ka_k)(\sum_lv^r_lb_l) \tag{*}
ã®åœ¢ãããŠããããšãåãããŸããåã®é çªã倿Žãããšã
c_i = \sum_{k,l} (\sum_{r=1}^R w^r_i u^r_kv^r_l)a_kb_l
ãšãªãã®ã§ã$t^{i,j}_k(M_n)$ã®å®çŸ©ãšèŠæ¯ã¹ããšã
t^{i,j}_k=(\sum_{r=1}^R w^r_k u^r_iv^r_j)
ãšãªããŸãã
ããã§ã$w^r=(w^r_1,w^r_2,\dots),u^r=(u^r_1,u^r_2,\dots),v^r=(v^r_1,v^r_2,\dots)$ãšããã
$w^r_k u^r_iv^r_j$ããiæåãããšã³ãjæåããã¿ããkæåãã奥ãããã§ãããããª3次å
ãã³ãœã«ç¶ã«ãªãã¹ããã®ã䟿å®çã«
u^r\otimes v^r\otimes w^r
ãšæžããŸããããã ã©ã³ã¯ 1ã®ãã³ãœã« ãšãã³ãŸãã $t^{i,j}_{k}$ ã3次å ãã³ãœã«ç¶ã«ãªãã¹ããã®ã$M_{n} $ãšå®çŸ©ããŠããŸãããã$t^{i,j}_{k}=\sum_{r=1}^{R} w^{r}_{k} u^{r}_{i} v^{r}_{j}$ ãã $M_{n}$ã¯ã©ã³ã¯ 1ã®ãã³ãœã«ã䜿ã£ãŠ
M_n=\sum_{r=1}^R u^r\otimes v^r\otimes w^r
ãšåè§£ã§ããããšã«ãªããŸã(äžèšã®äŸåç §)ããã£ãŠ (*)ã®åœ¢ã®è¡åç©èšç®ã®ã¢ã«ãŽãªãºã ãäžããããšã¯ã$M_n$ãrank 1ã®ãã³ãœã«ã®åã«åè§£ããããšã«çãã ããšã«ãªããŸãã
äŸ1:ãµã€ãº2ã®è¡åã«å¯Ÿããéåžžã®è¡åæŒç®ã¢ã«ãŽãªãºã
äŸ2:ãµã€ãº2ã®è¡åã«å¯ŸããStrassenã®ã¢ã«ãŽãªãºã
éè²=1ããªã¬ã³ãž=-1ã«å¯Ÿå¿
2.2.3. $M_n$ã®åè§£ãšè¡åç©ã®ã¢ã«ãŽãªãºã ãšãã³ãœã«ã®ã©ã³ã¯
ãããŸã§ã®è°è«ããŸãšãããšã$M_n$ã®ã©ã³ã¯ 1ãã³ãœã«ãžã®åè§£$M_n=\sum_{r=1}^R u^r\otimes v^r\otimes w^r$ãäžããããã°ã次ã®ãããªè¡åç©ã®èšç®ã¢ã«ãŽãªãºã ãå®ãŸãããšã«ãªããŸãã
è¡åç©èšç®ã¢ã«ãŽãªãºã
\begin{align*}
& parameter: \quad
\{u^r,v^r,w^r\} \quad s.t. \quad M_n=\sum_{r=1}^R u^r\otimes v^r\otimes w^r \\
& input : \quad A,B \quad ãµã€ãºnã®è¡å ({a_i},{b_j}:A,Bã®èŠçŽ )\\
& output : \quad C=AB \\
& (1) for ~ r ~ in ~ \{1\dots R\}: \\
& (2) \quad X_r = (\sum_k^{n^2}u^r_ka_k)(\sum^{n^2}_lv^r_lb_l) \\
& (3) for~i~in~\{1\dots n^2\}: \\
& (4) \quad c_i = \sum_r^R w^r_i X_r \\
& return ~C
\end{align*}
$u_k^r$ãš$a_k$ã®æãç®ïŒ$v^r_l$ãš$b_l$ã®æãç®ïŒã¯è¡åãå®çŸ©ããæç¹ã§ãããããå®è¡ããããšãã§ãã(2)ã§ã¯ å®è³ªRå ã®æãç®ãå®è¡ãããŸãã(4)ã§ã¯$Rn^2$åã®æãç®ãçºçãåŸãŸãããéåžžã®è¡åèšç®ã®ã¢ã«ãŽãªãºã ãStrassenã®ã¢ã«ãŽãªãºã ã®ããã«$w^r_i\in\{-1,1\}$ã§ããã°(4)ã§ãæãç®ã¯çºçããŸããã ã§ããã ãRãå°ãã$M_n$ã®åè§£ãèŠã€ããããšãã§ããã°ãããé«éãªè¡åç©èšç®ã¢ã«ãŽãªãºã ãåŸãããšã«ãªããŸãã
åç¯ã®äŸã§ãããããã«ããµã€ãº2ã®è¡åç©ã«å¯ŸããŠãéåžžã®è¡åç©èšç®ã®ã¢ã«ãŽãªãºã ã¯$M_2$ã8åã®ã©ã³ã¯ 1ãã³ãœã«ãžåè§£ããæ¹æ³ã«å¯Ÿå¿ããStrassenã®ã¢ã«ãŽãªãºã ã¯$M_2$ã7åã®ã©ã³ã¯ 1ã®ãã³ãœã«ãžåè§£ããæ¹æ³ã«å¯Ÿå¿ããŸãããã®ããã«ãäžè¬ã®ãã³ãœã«$T$ãã©ã³ã¯ 1ã®ãã³ãœã«ã®åã«åè§£ããããšãå¯èœã§ããããã®åè§£ã®ä»æ¹ã¯äžæã§ã¯ãããŸããããã®ãããªåè§£ã®ãã¡ããã£ãšãã©ã³ã¯ 1ã®ãã³ãœã«ã®æ°ãå°ãªããªãåè§£ãããå Žåã®ãã©ã³ã¯1ã®ãã³ãœã«ã®æ°ãããšã® ãã³ãœã«ã®ã©ã³ã¯ ãšãã³ $R(T)$ ãšæžãããšã«ããŸãã$R(T)$ã¯åºåºã®å€æã«é¢ããŠäžå€ã§ãããè¡åã®ã©ã³ã¯ã®èªç¶ãªæ¡åŒµã«ãªã£ãŠããŸãã
Def.
R(T) = inf\{R|T=\sum_{r=1}^R u^r\otimes v^r\otimes w^r\}
ã€ãŸãã ãµã€ãºnã®è¡åç©ã®èšç®éã®çè«éçãæ±ããããšããã³ããããéæããã¢ã«ãŽãªãºã ãèŠã€ããããšã¯ã$R(M_n)$ãèšç®ããããšã$M_n$ã$R(M_n)$åã®ã©ã³ã¯1ã®ãã³ãœã«ãžåè§£ããæ¹æ³ãèŠã€ããããšãšã»ãŒçãã ãšããããšã«ãªããŸãã å®éãæ¬¡ãæãç«ã¡ãŸã[2]ã
Th.
inf\{\tau\in R|R(M_n)=O(n^\tau)\} = inf\{h\in R | ãµã€ãºnã®è¡åç©ãO(n^h)ã§èšç®å¯èœ\}
ããç¥ãããŠããããã«è¡åã®ã©ã³ã¯ã¯ãããèšç®ããã¢ã«ãŽãªãºã ãååšããŸãããäžè¬ã®ãã³ãœã«ã®$R(T)$åã®ã©ã³ã¯1ã®ãã³ãœã«ãžã®åè§£ãæ±ããããšã¯NP hardã§ããããšãç¥ãããŠããŸãããŸã$R(M_2)$=7(Strassenã®ã¢ã«ãŽãªãºã )ã¯ç¥ãããŠããŸããããã®ä»ã®ãµã€ãºã«é¢ããŠã¯$R(M_3)$ããç¥ãããŠããªãããã§ã(2017æç¹ã®èšè¿°[4]ã2018以éã®é²å±ã¯èª¿ã¹åããŠããŸãã)ã
3. 匷ååŠç¿ã«ããè¡åç©ã¢ã«ãŽãªãºã ã®æ¢çŽ¢
2ç« ã§è¡åç©ã®é«éãªã¢ã«ãŽãªãºã ãæ¢çŽ¢ããããšã¯$M_n$ãã§ããã ãå°ãªãã©ã³ã¯ïŒã®ãã³ãœã«ã®åãžãšåè§£ããæ¹æ³ãæ¢çŽ¢ããã«çãããšããããšã説æããŸãããAlphaTensorã¯ãã®äºå®ãçšããŠã匷ååŠç¿ã§$M_n$ã®åè§£ãæ¢çŽ¢ããŠããŸããæ¬ç« ã§ã¯å ·äœçã«ã©ã®ããã«ãã®åè§£ãæ¢çŽ¢ãã¢ã«ãŽãªãºã ããçºèŠãããã®ã説æãããŸããâ»èšç®æ©ãå©çšããŠ$M_n$ã®åè§£ãæ¢çŽ¢ãã詊ã¿ã¯AlphaTensorãåã§ã¯ãªããæ¢åç ç©¶ã¯ããçšåºŠã®ãµã€ãºã«ã€ããŠæçšãªåè§£ãèŠãã ããŠããŸããã§ããã[1]
3.1. 匷ååŠç¿ã«ããæ¢çŽ¢
ãŸãã匷ååŠç¿ã¢ãã«ã®ã¢ãŒããã¯ãã£ã¯ãã©ãã¯ããã¯ã¹ãšããŠã匷ååŠç¿ã«ãã$M_n$ã®åè§£æ¹æ³ã®æ¢çŽ¢ã®å€§æ ã説æããŸãã
AlphaTensorã§ã¯$M_n$ã®åè§£ãTensor Gameãšãã¶ã²ãŒã ã«èŠç«ãŠã匷ååŠç¿ãšãŒãžã§ã³ãã«Tensor GameãäœåºŠããã¬ã€ãããããšã«ãããã®å婿¹æ³=$M_n$ã®åè§£ ãåŠç¿ãããããšã詊ã¿ãŠããŸãã
Tensor Game
\begin{align*}
& input:M_n \quad åè§£ããããã³ãœã« \\
& agent:ã²ãŒã ã®ãã¬ã€ã€ãŒãç°å¢S_rãå
¥åãšããŠã©ã³ã¯ïŒã®ãã³ãœã«ãè¿ã\\
& reword:å ±é
¬\\
& (1) init ~ S_0=M_n, \quad reword_0=0\\
& (2) for~r~in~\{1\dots R_{max}\}: \\
& (3) \quad u^r \otimes v^r \otimes w^r = agent(S_{r-1}) \\
& (4) \quad S_r = S_{r-1}-u^r \otimes v^r \otimes w^r \\
& (5) \quad reword_r = reword_{r-1}-1 \\
& (6) \quad if~M_n=S_r: \\
& (7) \quad \quad break \\
& (8)if~r=R_{max}: \\
& (9) \quad reword_r = reword_r - \gamma(S_{R_{max}}) \\
& (10)return~ \{S_r\}, \{reword_r\}, \{u^r \otimes v^r \otimes w^r\}
\end{align*}
Tensor Gameã§ã¯ãã¬ã€ã€ãŒã¯ã察象ãã³ãœã«ã®åè§£ã®èŠçŽ åè£ãææ¡ããŠãããŸã(4)ãã§ããã ãå°ãªãæ°ã§ã®åè§£ãç®æšãªã®ã§ã1ææ¡ããããšã«-1ã®ããã«ãã£ãåããŸã(5)ãç®æšã®ãã³ãœã«ãšå®å šã«äžèŽããåè§£ã«ãã©ãçãããæå€§ææ¡æ°ã«éããã°ã²ãŒã ãçµããŸããæå€§ææ¡æ°ã«éããããšã§ã²ãŒã ãçµããå Žåã¯ãææ¡ã®ç·åãšå¯Ÿè±¡ãã³ãœã«ã®æ®å·®ãã³ãœã«$S_{R_{max}}$ã«å¿ããŠããã«ããã«ãã£$\gamma(S_{R_{max}})$ãåããŸã(9)ã$\gamma (S)$ã¯ãã³ãœã«$S$ã®ã©ã³ã¯ã®äžçã§ããã$S$ãâã¹ã©ã€ã¹âããåè¡åã®ã©ã³ã¯ã®ç·åã«ãã£ãŠäžããããŸãããªããå³å¯ãªåè§£ãæ±ããããšãç®çã§ããããã$u,v,r$ã®èŠçŽ ã¯é¢æ£å€$\{-2,-1,0,1,2\}$ã«éå®ããŠããŸãã
ãã®Tensor Gameã匷ååŠç¿ãšãŒãžã§ã³ããäœåºŠããã¬ã€ãããªãã§ã(6)ã®æ¡ä»¶ã«ããã²ãŒã ãçµããå Žåã®åºåã調ã¹ãããšã§ã$M_n$ã®å°ãªãæ°ã®ã©ã³ã¯ïŒãã³ãœã«ã§ã®åè§£(ïŒé«éãªè¡åç©ã¢ã«ãŽãªãºã )ãåŸãããããšãæåŸ ãããŸãã
3.2. AlphaTensorã®ã¢ãŒããã¯ãã£
æ¬ç¯ã§ã¯AlphaTensorã®åŒ·ååŠç¿ã¢ãã«ãšããŠã®ã¢ãŒããã¯ãã£ãç°¡åã«ç޹ä»ããŸãã
AlphaTensorã¯ãµã³ãã«ããŒã¹ã®AlphaZero[6]ãTensor Gameã«é©çšããŠããŸãã
AlphaZeroã«é¢ããŠã¯äžèšã®ããã°èšäºã®è§£èª¬ãåãããããã§ãã
ã¹ãããªãããAlphaZero | ã©ãããèŠãŠãã¡ã³ãã³
https://horomary.hatenablog.com/entry/2021/06/21/000500
ããã§ã¯AlphaZeroã«ã€ããŠã¯ç°¡åã«æŠç¥ã®ã¿èª¬æããŸãã
AlphaZeroã¯åºæ¬çã«MCTS(ã¢ã³ãã«ã«ãæšæ¢çŽ¢)ãè¡ãã€ã€ãæ¢çŽ¢æã®ç¶æ
䟡å€é¢æ°(å°æ¥ã®å ±é
¬ã®æåŸ
å€)ãšpolicy(åãã¹ãè¡åã®ååž)ãåŠç¿ããææ³ã§ãã
MCTSãšã¯ã²ãŒã ã®ç¶æ ãã©ãã»ã©ããããããè¡åãèµ·ãããšã©ãã»ã©ç¶æ ããããªãããããè¡åã¯ã©ãã»ã©è©Šã䟡å€ãããã®ããçãèŠç©ãããªããããããå èªã¿ãããæ¹æ³ã§ãããã®éããŒãã§ã²ãŒã ã®ç¶æ ããããŒããã䌞ã³ããšããžã§ãã®ç¶æ ã§ã®è¡åã衚ããæšæ§é ã§ããŒã¿ãä¿æããŸãã
AlphaTensorã®ãã¥ãŒã©ã«ãããã¯ãŒã¯(NN)ã¯TensorGameã«ãããç¶æ $\{S_1,\dots , S_{t}\}$ãšãããŸã§ã®è¡å$\{a_1=(u_1,v_1,w_1),\dots, a_t\}$ãå ¥åãšããç¶æ 䟡å€é¢æ°ã®å€ã®ååžãšpolicy$\pi (.|S)$ãåºåãããããMCTSã«å©çšããŸãã
AlphaTensorã§çšããNNã®æš¡åŒå³ïŒ[1]ããåŒçš
MCTSã®æŠç¥ã¯ä»¥äžã®æ§ã«ãªããŸãã
- æ¢çŽ¢æšäžã®ãšããžïŒç¶æ
$s$ãšè¡å$a$ã®çµïŒã«$N(s,a), Q(s,a), \hat \pi(s,a)$ãä¿æããŠããããã ã
$N(s,a)$:æ¢çŽ¢ã§èšªããåæ°
$Q(s,a)$:è¡å䟡å€é¢æ°ã®å€(NNã«ããèšç®)
$\hat\pi(s,a)$:NNã«ããpolicyã®åºå$\pi(.,s)$ããKåactionããµã³ããªã³ã°ãè¡åã®çµéšååž(ãã¹ãã°ã©ã )ãäœæãããã® - æ¢çŽ¢æšäžãããç¶æ $s$ã§ã®è¡å$a$ã¯æ¬¡ã®å€ãæå€§åããããã«æ±ºå®ããã
argmax_a Q(s,a) + c\hat \pi(s,a)\frac {\sqrt{\sum_b N(s,b)}}{1+N(s,a)}
cã¯æŽ»çš(第1é )ãšæ¢çŽ¢(第2é )ã®ãã©ã³ã¹ãåããã©ã¡ãŒã¿ã§ããã
MCTSã«ããTemsorGameã®ãã¬ã€åŸã"ãªãŸãã"è¡åã®çµéšååž$\pi(s,a)=N^{1/\tau(s)}(s,a)/\sum_b N^{1/\tau(s)}(s,b)$ããã³å®éã®å ±é ¬ã®ååžãçŽæ¥æåž«å€ãšããŠNNãæŽæ°ããŸãã
TensorGameã«AlphaZeroãé©çšããã€ã¡ãŒãžïŒ[1]ããåŒçš
ãã®ä»çްãã工倫
- è¡å$a=(u,v,r)$ã®èŠçŽ ã¯é¢æ£å€$\{-2,-1,0,1,2\}$ã«éå®ã
è¿äŒŒã§ã¯ãªãå³å¯ãªãã³ãœã«ã®åè§£ãåŸãããšãç®çã§ããããã - åŠç¿æãTensor Gameã®å
¥åã«$M_n$ã ãã§ã¯ãªããäžè¬ã®3次å
ãã³ãœã«ãäžããã
åé·ã«æãããäžã®å·¥å€«ãšã®é¢é£ã§æ§èœã®åäžãèŠèŸŒããã - 人工ããŒã¿ã§ã®æåž«ããåŠç¿ãšmixã
å æ°åè§£ãšåæ§ã«äžè¬ã®ãã³ãœã«$T$ãããã®åè§£ãåŸãããšã¯å°é£ã ãã$\{u^r,v^r,w^r\}$ãã$T=\sum_{r=1}^R u^r\otimes v^r\otimes w^r$ãèšç®ããã®ã¯å®¹æããã®ãã$\{u^r,v^r,w^r\},T$ã®çµ(å¿ ãããã©ã³ã¯ãäžããåè§£ã§ã¯ãªãã)ã倧éã«çæããã¢ãã«ãæåž«ããåŠç¿ããããšãå¯èœã - åŠç¿äžå¯Ÿè±¡ãã³ãœã«ã®åºåºãåãæ¿ããããšã§âdata argumentationâ
- åŠç¿äžäžãããã³ãœã«ã®ãµã€ãºã¯nÃmÃpã$n,m,p\leq 5$ãnÃmã®è¡åãšmÃpã®è¡åã®æãç®ã«çžåœ
- $n,m,p\leq 5$ã§ããã¢ã«ãŽãªãºã ã®æ¢çŽ¢ã®åŸãããããçµã¿åãããŠãã倧ããªè¡åã§ã®ã¢ã«ãŽãªãºã ã®æ¢çŽ¢ãè¡ã£ãŠããã
3.3. æ¢åç ç©¶ãšã®æ¯èŒããéã®å©ç¹
æ¢åã®$M_n$ã®åè§£ãæ¢çŽ¢ãã詊ã¿ã¯ãé£ç¶å€ã®æé©åã«ãã£ãŠæ±ããåè§£ãâäžžããâããšã§å³å¯ãªåè§£ãåŸããã®ãå€ãã£ãããã§ã[1]ãAlphaTensorã¯åŒ·ååŠç¿ã®æ çµã¿ãçšããããšã§é¢æ£çãªå€ã®ãã³ãœã«ã«ããåè§£ãå¹çããæ¢çŽ¢ããããšãéæããŠããŸã(éã«AlphaZeroã¯é£ç¶å€ã®è¡å空éã®æ¢çŽ¢ã«ã¯åããªã)ããŸãã颿£å€ã®åè§£ãæ¢çŽ¢ã§ããã®ã§ã宿°ç°ä»¥å€ã®ç°äžã§ã®$M_n$ã®åè§£ãæ¢çŽ¢ã§ãããšããå©ç¹ããããŸããå®éAlphaTensorã§ã¯æŽæ°ç°$\mathbb{Z}$äžã§ã®$M_n$ã®åè§£ã®ä»ã«2鲿°$\mathbb{Z}/2\mathbb{Z}$äžã§ã®åè§£ã®æ¢çŽ¢ãè¡ã£ãŠããŸããããã«ã匷ååŠç¿ã«ããããå ±é ¬ãã®èšèšã®èªç±åºŠãå©çšããŠããŸããŸãªæ§è³ªããã£ãåè§£ãæ¢çŽ¢ããããšãå¯èœã«ãªããŸãããäŸãã°ã¢ã«ãŽãªãºã ã®ãå®éã®å®è¡æéããå ±é ¬ã«å ããããšã«ãããç¹å®ã®ããŒããŠã§ã¢ã§é«éã§ã¢ã«ãŽãªãºã ã®æ¢çŽ¢ãå®è¡ããŠããŸãã
3.4. çµæã-å®éã«çºèŠãããã¢ã«ãŽãªãºã ã®ã©ã³ã¯ãšé床-
AlphaTensorã«ãã£ãŠçºèŠãããåè§£ã®ã©ã³ã¯
å€ãã®ãµã€ãº$n,m,p\leq 5$ã§æ¢åã®bestã©ã³ã¯ãšåçããã以äžã®çµæãåŸããããŠããŸã(å·Šå³ïŒå·Šå³ã®"Modular"=2鲿°ã"Standard"=æŽæ°)ãããããçµã¿åãããããšã«ããããã倧ããªè¡åç©ã®èšç®ã«ãããŠæ¢åã®ã¢ã«ãŽãªãºã ãããäžåãçµæãšãªããŸãã(å³å³)ã

ç¹å®ã®ããŒããŠã§ã¢äžã®çºèŠã¢ã«ãŽãªãºã ã®é床
AlphaTensorå®è¡æãå ±é ¬ã«è©²åœããŒãäžã§ã®ã¢ã«ãŽãªãºã ã®å®è¡é床ã远å ããŠæ¢çŽ¢ããçµæããå®è¡é床ãã¯åŸ®åäžå¯èœãªææšã§ããã匷ååŠç¿ã®æ çµã¿ã§ã¯å ±é ¬ãšããŠåãå ¥ããããšãå¯èœã§ããããŒããŠã§ã¢ããšã«ãã¥ãŒãã³ã°ãããã¢ã«ãŽãªãºã ãåŸãããŸããã
4. èå¯
æ¬è«æã«ã€ããŠ
ãAIã人éãç¥ããªãæ°ããã¢ã«ãŽãªãºã ãçºèŠããããšããå®£äŒæå¥ã§ãããå®éå®è¡ããŠããã®ã¯ä»¥åããç ç©¶ãããŠãã$M_n$ã®åè§£ã®æ¢çŽ¢ã§ãããã ãæ¢åç ç©¶ã§ã¯å®çšçãªåè§£ãæ¢çŽ¢ã§ããŠããªãã£ãç¶æ³ã§å®çšçã«é«éãªã¢ã«ãŽãªãºã ãçºèŠã§ããã®ã¯å€§ããªé²å±ãšãããŸã(æ¢åã®æ¢çŽ¢ææ³ããçã«åªããŠãããã©ããã¯ãæ¬è«æã®å®éšã§å©çšããŠããTPUv3,v4Ã1é±éãšããèšç®è³æºãããããæ¯èŒãå¿ èŠãšãªããŸã)ã
ãŸããè¡ååè§£ã®ã¢ã«ãŽãªãºã ã®æ¢çŽ¢ãšããŠã¯ã
- è¡åæ¢çŽ¢ã®ç¯å²ã$\{-2,-1,0,1,2\}$ããåºããå Žåã®æ€èšŒ
- é£ç¶å€ã§ã®æ¢çŽ¢ã¯æ¬åœã«ããŸããããªãã®ãæ€èšŒïŒ$M_n$ã®$\mathbb{Z}$äžã®ã©ã³ã¯=$M_n$ã®$\mathbb{R}$or$\mathbb{C}$äžã®ã©ã³ã¯ãªã®ãïŒïŒ
ãšãã£ãããšãæ°ã«ãªããŸããã
äžæ¹ã匷ååŠç¿ãå©çšããæ¢çŽ¢ãšããŠã¯
- æ°ãã匷ååŠç¿ã®ææ³ã®äžã§ãAlphaZeroãæ¬åé¡ã«å¯ŸããŠçã«å¹ççãªæ¢çŽ¢ææ³ãªã®ã
ãšãã£ãçåããããŸãã
匷ååŠç¿ã«ããæ¢çŽ¢ã«ã€ããŠ
ãã³ãã³è©±é¡ã«ãªãããã«ã匷ååŠç¿ã«ãããæ¢çŽ¢ããæåããŠããåéã¯è¡åç©ã¢ã«ãŽãªãºã ãã²ãŒã ã ãã§ã¯ãªãã§ããMolGAN[7]ã§ã¯ç¹å®ã®æ§è³ªããã€ååãçæããããã«ãGANãšåŒ·ååŠç¿ãçµã¿åãããŠããŸãã[8]ã§ã¯ãããã®èšèšã«åŒ·ååŠç¿ãçšããŠããŠå®éã«TPUã®èšèšã«ã掻çšããããšã®ããšã§ãã
ãã®ããã«ããªã«ãç¹å¥ãªæ§è³ªããã£ããã®ããæ¢çŽ¢ãããå·¥çšã§ãã³ãã³åŒ·ååŠç¿ã®æåäŸãå ±åãããŠããŸãããã®ãããªæåã¯ã匷ååŠç¿ããã€ãºæé©åãªã©ã®ä»ã®æ¢çŽ¢ææ³ãšæ¯ã¹ãŠ
- æ¢çŽ¢ã®ææšãšãªãå ±é ¬ãèªç±ã«èšèšã§ãã
- ç¶æ 䟡å€é¢æ°ãªã©ã®åŠç¿ãéããŠæ¢çŽ¢ç©ºéã®æ§é ãçè§£ããããšã§ãå¹ççãªæ¢çŽ¢ãè¡ãããšãã§ããã(éå»ã®æœè¡ã§å€±æããç¶æ³ã«äŒŒãç¶æ ã¯æ¢çŽ¢ããªã)
ãšãã£ãå©ç¹ãããããã§ãããšèããŠããŸãã
äžæ¹ããã¥ãŒã©ã«ãããã«ããäºæž¬ãå«ãããæéãããã®è©Šè¡åæ°ã¯ã©ã³ãã ãµãŒããšããã¹ãŠå€§ããå£ãã¯ãã§ãããŸãæ¢çŽ¢ã®å¹çæ§ã¯ç¶æ
䟡å€é¢æ°ãå ±é
¬ã®ç確ãã«å·Šå³ããããã
- ç¶æ ã®æ å ±ãäžååã§ç¶æ 䟡å€é¢æ°ã®åŠç¿ãé£ããå Žå
- æ®ã©ã®è¡åã§è¯ãçµæãåŸãããå Žå
ãããªæ¢çŽ¢ã¯ã©ã³ãã ãµãŒããªã©ã®ä»ã®ææ³ããå£ããšäºæ³ãããŸãã
ãããã«ããã$M_n$ã®åè§£ãã®ãããªæç€ºçãªæ¢çŽ¢ç©ºéãšé©åãªå ±é ¬ãèšå®ã§ããã°ã匷ååŠç¿ã«ãã£ãŠæ¢åææ³ã§ã¯ãªãåŸãªãã£ããçºèŠããã§ããå¯èœæ§ãããããšã«ãªããŸããæ¥ã ã®ä»äºãæ å ±åéã®ãªãã§ããã®ãããªæ¡ä»¶ãæèããŠããããšã§ãããããªçºèŠã®èœãã¿ã€ããããšãã§ãããããããªãã§ããã
5. åèæç®
[1] Fawzi, Alhussein, et al. "Discovering faster matrix multiplication algorithms with reinforcement learning." Nature 610.7930 (2022): 47-53.
[2] Volker Strassen, Gaussian elimination is not optimal, Numer. Math. 13 (1969), 354â356. MR 40 #2223
[3] S. Winograd, On multiplication of 2Ã2 matrices, Linear Algebra and Appl. 4 (1971), 381â388. MR 45 #6173
[4] Landsberg, J. M. Geometry and Complexity Theory 169 (Cambridge Univ. Press, 2017).
[5] Virginia Williams, Breaking the coppersimith-winograd barrier, preprint
[6] Silver, David, et al. "Mastering chess and shogi by self-play with a general reinforcement learning algorithm." arXiv preprint arXiv:1712.01815 (2017).
[7] De Cao, Nicola, and Thomas Kipf. "MolGAN: An implicit generative model for small molecular graphs." arXiv preprint arXiv:1805.11973 (2018).
[8] Mirhoseini, Azalia, et al. "A graph placement methodology for fast chip design." Nature 594.7862 (2021): 207-212.
ä»é²: ãã³ãœã«ã®åè§£ãšè¡åç©ã¢ã«ãŽãªãºã
2ç« ã§ã¯"ãã³ãœã«"ãåã«å€æ¬¡å ã«æ°åã䞊ãã ããšãšããŠæ±ã£ãŠããŸãããæ¬ä»é²ã§ã¯ããå°ãæ°åŠçã«æŽçããŠ2ç« ã®å 容ããŸãšãçŽããŸãã
- ãã³ãœã«ç©ã®å®çŸ©
- $M_n$ã®å®çŸ©
- $M_n$ã®åè§£ãšè¡åç©ã¢ã«ãŽãªãºã ã®å¯Ÿå¿
ã®é ã«æŽçãçŽããŸãã以äžç·åœ¢ç©ºéã¯ãã¹ãŠ$\mathbb{C}$äžã§æé次å ã®ãã®ãèããŸãã
ãã³ãœã«ãšããã®ã¯èŠã¯å€éç·åœ¢ååã®ããšãªã®ã§ãããæ£ç¢ºã«ãã³ãœã«ç©ãå®çŸ©ããããã«å°ãæºåãè¡ããŸãã
Def. å察空é
$V$ãç·åœ¢ç©ºéãšããããã®ãšãç·åœ¢åå$f:V\rightarrow \mathbb{C}$å
šäœã®ãªã空éã$V$ã®å察空éãšãã³ã$V^*$ãšããã
ãŸãã$V$ã®åºåºã${e_i}$ãšããæã$e^i \in V^*$ã$e^i(e_j)=\delta_{i,j}$ãšããŠå®çŸ©ããã${e^i}$ã¯$V^*$ã®åºåºãšãªãã${e_i}$ã®å察åºåºãšãã¶ã
$\square$
ç¹ã«$V^* \cong V$ã§ãã
Def. å€éç·åœ¢åå
$A_1,\dots, A_n, B$ãç·åœ¢ç©ºéãšããããã®ãšã$f:A_1 \times \dots \times A_{n} \rightarrow B$ãå€éç·åœ¢ååã§ãããšã¯ãä»»æã®$a_i,a_i' \in A_i, x,y \in \mathbb{C}$ã«å¯ŸããŠ
f(a_1,\dots,xa_i+ya_i',\dots,a_n)=xf(a_1, \dots,a_i, \dots, a_n) + yf(a_1, \dots,a_i', \dots, a_n)
ãæºããããšãããã$A_1 \times \dots \times A_{n} $ãã$B$ãžã®å€éç·åœ¢ååãããªãéåã$L(A_1,\dots,A_n;B)$ãšæžãã$\square$
$L(A_1,\dots,A_n;B)$ã¯ç·åœ¢ç©ºéãšãªããŸããç¹ã«$n=1$ã®ãšãã¯åçŽãªç·åœ¢ååã®ãªã空éã§ãããŸãã${a_i^{s_i}|1 \leq s_i \leq dim(A_i)}$ã$A_i$ã®åºåºã${b_i}$ã$B$ã®åºåºãšãã$E_{m_1,\dots,m_n;j} \in L(A_1,\dots,A_n;B)$ã
E_{m_1,\dots,m_n;j}(a_1^{s_1},\dots,a_n^{s_n})=\prod_i\delta_{m_i,s_i}b_j
ãšãããš${E_{m_1,\dots,m_n;j}}$ã¯ã®$L(A_1,\dots,A_n;B)$åºåºã«ãªããŸããç¹ã«$dim(L(A_1,\dots,A_n;B))=dim(B)\prod dim(A_i)$ã§ãã
ãããããã³ãœã«ç©ã®å®çŸ©ã§ãã
Def. ãã³ãœã«ç©
${A_i}$ãç·åœ¢ç©ºéãšããããã®ãšã
A_1 \otimes \dots \otimes A_n := L(A_1^*,\dots,A_n^*;\mathbb{C})
ãšãã$A_1 ,\dots, A_n$ã®ãã³ãœã«ç©ãšåŒã¶ããŸãã$a_i \in A_i$ã®æã$a_1 \otimes \dots \otimes a_n\in A_1 \otimes \dots \otimes A_n$ã
a_1 \otimes \dots \otimes a_n(\alpha^1,\dots,\alpha^n):=\alpha^1(a_1)\dots\alpha^n(a_n)
ã§å®ããã$\square$
${a_i^{s_i}|1 \leq s_i \leq dim(A_i)}$ã$A_i$ã®åºåºãšãããš$\{a_1^{s_1} \otimes \dots \otimes a_n^{s_n} |1\leq s_i \leq dim(A_i)\}$ã¯$A_1 \otimes \dots \otimes A_n$ã®åºåºã«ãªããŸããç¹ã«$dim(A_1 \otimes \dots \otimes A_n)=\prod dim(A_i)$ã§ãã
ãŸãã$a_1^{s_1} \otimes \dots \otimes a_n^{s_n}\in A_1 \otimes \dots \otimes A_n$ã«
(a_1^{s_1} \otimes \dots \otimes a_n^{s_n})(\alpha^1,\dots,\alpha^{n-1}):=\alpha^1(a_1^{s_1})\dots\alpha^n(a_n^{s_{n-1}})a_n^{s_n}\in A_n
ããå®ãŸã$L(A_1^*,\dots,A_{n-1}^*;A_n)$ã®å ã察å¿ãããããšã§æ¬¡ãããããŸãã
Prop.
A_1 \otimes \dots \otimes A_n \cong L(A_1^*,\dots,A_{n-1}^*;A_n)ã\square
ä»åŸ$A_1 \otimes \dots \otimes A_n$ã$L(A_1^*,\dots,A_n^*;\mathbb{C})$ã$L(A_1^*,\dots,A_{n-1}^*;A_n)$ãšåäžèŠããŠ
a_1 \otimes \dots \otimes a_n(\alpha^1,\dots,\alpha^n)=\dots \in \mathbb{C}
ãšæžããã
a_1 \otimes \dots \otimes a_n(\alpha^1,\dots,\alpha^{n-1})=\dots \in A_n
ãšæžãããããŸãã
example.
$V$ãã$W$ãžã®ç·åœ¢ååã®ç©ºé$L(V;W)$ã¯$V^* \otimes W$ãšåäžèŠã§ãããå®é$v\otimes w\in V^* \otimes W$ã¯äžèšã®å¯Ÿå¿ããç·åœ¢åå$(v\otimes w )(x)=v(x)w$ãå®ããã $\square$
ããŠã$C^{nm}$ãnè¡måã®è¡åå šäœã®ãªãç·åœ¢ç©ºéãšããŸãããã®ãšã$C^{nm}$ã®å ãš$C^{ml}$ã®å ã®ç©ããšããšããæäœã¯$C^{nm}\times C^{ml}$ãã$C^{nl}$ãžã®åç·åœ¢ååãšã¿ãªããŸãããã®ããšããæ¬¡ã®ããã«è¡åç©ã«å¯Ÿå¿ãããã³ãœã«ãå®çŸ©ã§ããŸãã
Def. $M_n$
$M_{l,m,n}\in L(C^{nm}, C^{ml};C^{nl}) \cong C^{nm*}\otimes C^{ml*}\otimes C^{nl}$ ã
M_{l,m,n}(A,B)=AB
ãšããŠå®çŸ©ããã$M_{n,n,n}$ã$M_n$ãšæžãã$\square$
Remark. $M_n$ãšè¡åç©ã®ã¢ã«ãŽãªãºã ã®å¯Ÿå¿
$M_{l,m,n}=\sum_{r=1}^R u^r\otimes v^r\otimes w^r$ãªã$u^r\otimes v^r\otimes w^r\in C^{nm*}\otimes C^{ml*}\otimes C^{nl}$ãäžãããããšããæ¬¡ã®ãããªè¡åæŒç®ã®ã¢ã«ãŽãªãºã ãå®ãŸããŸãã
\begin{align*}
& parameter: \quad
\{u^r,v^r,w^r\} \quad s.t. \quad M_{l,m,n}=\sum_{r=1}^R u^r\otimes v^r\otimes w^r \\
& input : \quad A,B \quad ãµã€ãºnã®è¡å \\
& output : \quad C=AB \\
& (0) init \quad C=0 \\
& (1) for ~ r ~ in ~ \{1\dots R\}: \\
& (2) \quad X_r = u^r(A)v^r(B) \\
& (3) \quad C = C + X_r w^r \\
& return ~C
\end{align*}
Prop. éåžžã®è¡åç©ã®ã¢ã«ãŽãªãºã
$x_{i,j}\in C^{nm},y_{i,j}\in C^{ml},z_{i,j} \in C^{nl}$ããããã$i,j$æåã1ãã以å€ã0ã§ããè¡åãšããããããã¯$C^{nm}, C^{ml},C^{nl}$ã®åºåºãšãªãã$x^{i,j},y^{i,j},z^{i,j}$ãããããã®å察åºåºãšããã
ãã®ãšã
M_{l,m,n}=\sum_{i=1}^n \sum_{j=1}^m \sum_{k=1}^l x^{i,j}\otimes y^{j,k}\otimes z_{i,k}
$\square$
proof.
è¡å$A,B$ã®åæåã$a_{i,j},b_{i,j}$ãšãã(ã€ãŸã$a_{i,j}=x^{i,j}(A),b_{i,j}=y^{i,j}(B)$)ããã®ãšã
\begin{align*}
M_{l,m,n}(A,B) &= \sum_{i,k}(\sum_j a_{i,j}b_{j,k})z_{i,k} \\
&= \sum_{i,j,k} x^{i,j}(A)y^{j,k}(B)z_{i,k} \\
& = \sum_{i,j,k}x^{i,j}\otimes y^{j,k}\otimes z_{i,k} (A,B)
\end{align*}
$\square$
Prop. Strassenã®ã¢ã«ãŽãªãºã
$x_{i,j}$ã$y_{i,j}$ã$x^{i,j}$ã$y^{i,j}$ãšåäžèŠããåãè¡åã®åœ¢ã§$C^{nm*}$ã®å ã衚ããŠããŸãã([4]ã®èšè¿°ãšã¯è¡åã転眮é¢ä¿ã«ãªã£ãŠããããšã«æ³šæ)
M_2 =
\begin{pmatrix}
1 & 0 \\
0 & 1
\end{pmatrix} \otimes
\begin{pmatrix}
1 & 0 \\
0 & 1
\end{pmatrix} \otimes
\begin{pmatrix}
1 & 0 \\
0 & 1
\end{pmatrix}
+
\begin{pmatrix}
0 & 0 \\
1 & 1
\end{pmatrix} \otimes
\begin{pmatrix}
1 & 0 \\
0 & 0
\end{pmatrix} \otimes
\begin{pmatrix}
0 & 0 \\
1 & -1
\end{pmatrix} \\
+
\begin{pmatrix}
1 & 0 \\
0 & 0
\end{pmatrix} \otimes
\begin{pmatrix}
0 & 1 \\
0 & -1
\end{pmatrix} \otimes
\begin{pmatrix}
-1 & 1 \\
0 & 0
\end{pmatrix}
+
\begin{pmatrix}
0 & 0 \\
0 & 1
\end{pmatrix} \otimes
\begin{pmatrix}
-1 & 0 \\
1 & 0
\end{pmatrix} \otimes
\begin{pmatrix}
1 & 0 \\
1 & 0
\end{pmatrix} \\
+
\begin{pmatrix}
1 & 1 \\
0 & 0
\end{pmatrix} \otimes
\begin{pmatrix}
0 & 0 \\
0 & 1
\end{pmatrix} \otimes
\begin{pmatrix}
-1 & 1 \\
0 & 0
\end{pmatrix}
+
\begin{pmatrix}
-1 & 0 \\
1 & 0
\end{pmatrix} \otimes
\begin{pmatrix}
1 & 1 \\
0 & 0
\end{pmatrix} \otimes
\begin{pmatrix}
0 & 0 \\
0 & 1
\end{pmatrix} \\
+
\begin{pmatrix}
0 & -1 \\
0 & 1
\end{pmatrix} \otimes
\begin{pmatrix}
0 & 1 \\
1 & 0
\end{pmatrix} \otimes
\begin{pmatrix}
1 & 0 \\
0 & 0
\end{pmatrix}
Def. ãã³ãœã«ã®ã©ã³ã¯
ãã³ãœã«$T$ã®ã©ã³ã¯$R(T)$ã
R(T)=inf\{R|\exists a_i^j\in A_i \quad s.t. \quad T=\sum_{i=1}^Ra_1^i\otimes \dots \otimes a_n^i\}
ãšãã«$T\in A_1\otimes \dots \otimes A_n$ã«å¯ŸããŠ$a_i\in A_i$ãååšããŠã$T=a_1\otimes \dots \otimes a_n$ãšæžããšã$R(T)=1$ãšãªãã$\square$
$M_{l,m,n}$ã®åè§£ãšå¯Ÿå¿ããè¡åç©ã®ã¢ã«ãŽãªãºã ã®åœ¢ããåããããã«ã$R(M_{l,m,n})$ãäžããåè§£ã«å¯Ÿå¿ããã¢ã«ãŽãªãºã ãæãforæãçããªããŸããéåžžã®è¡åç©èšç®ã®ã¢ã«ãŽãªãºã ãã$R(M_{l,m,n})\leq lmn$ãåãããŸãããŸãStrassenã®ã¢ã«ãŽãªãºã ãã$R(M_2)\leq 7$ãåãããŸããã[3]ã«ãã$R(M_2)=7$ã瀺ãããŸããã[4]ã«ãããš$R(M_3)$ã«ã€ããŠã¯2017å¹Žã®æ®µéã§ã¯åãã£ãŠããªãããã§ãã(2018以éã®é²å±ã«é¢ããŠã¯èª¿ã¹åããŠããŸããã)





