正方体11种展开图形(正方体十一种展开图口诀)
引
问:正方体的平面展开图有多少个?
答:11种。
关于立方体展开图,相信大家在小学的时候就接触过相关问题。结论“11”经常被老师忽略。看来这只是亲手验证的结果,不值得深思。
但如果我们真想深入挖掘的话,为什么只有这11个呢?难道真的没有12次展开图吗?为什么只有五个凸金色多面体?除了用计算机穷举的方法之外,还有什么严格的数学证明吗?
铺垫
我们在之前的文章《围棋中的数学原理(一)》中已经接触过图论的基本概念。接下来,我们将介绍一些更方便的代数工具来描述图(本文中我们只关注简单的无向图)。
任何图都有以下代数表示,我们称之为邻接矩阵:首先给图rame'tabindex='0'style='font-size:100%;display:内联块;相对位置:color:绿色;'data-mathml='G(V,E)'role='presentation'G(V,E)G(V,E)的顶点标签,一个矩阵ram'tabindex='0'style='font-size:100%;display:内联块;相对位置:color:绿色;'data-mathml='A=(aij)'角色='演示'A=(aij)A=(a_{ij})'tabindex='0'style='font-size:100%;display:内联块;相对位置:color:绿色;'data-mathml='i'角色='演示'ii行内存'tabindex='0'style='font-size:100%;display:内联块;相对位置:color:绿色;'data-mathml='j'role='presentation'jj列元素rame'tabindex='0'style='font-size:100%;display:内联块;相对位置:color:绿色;'data-mathml='aij'role='presentation'aija_{ij}代表rame'tabindex='0'style='font-size:100%;display:内联块;相对位置:颜色:绿色;'data-mathml='i'role='presentation'ii顶点和RAM'tabindex='0'style='font-size:100%;display:内联块;相对位置:color:绿色;'data-mathml='j'role='presentation'jj顶点是否有边RAM'tabindex='0'style='font-size:100%;display:内联块;相对位置:color:绿色;'data-mathml='eij#x2208;E'role='presentation'eijEe_{ij}\inE是连通的,如果存在则rame'tabindex='0'style='font-size:100%;display:内联块;相对位置:color:绿色;'data-mathml='aij=1'role='presentation'aij=1a_{ij}=1,否则rame'tabindex='0'style='font-size:100%;display:内联块;相对位置:color:绿色;'data-mathml='aij=0。'角色='演示'aij=0.a_{ij}=0.标注方式不同,邻接矩阵也不同,但都是等价的(只要Swaprowsrame'tabindex='0'style='font-size:100%;display:inline-block;position:relative;color:绿色;'data-mathml='i'角色='演示'ii和rame'tabindex几次='0'style='font-size:100%;display:内联块;position:相对;color:绿色;'data-mathml='j'角色='演示'jj行和rame'tabindex='0'样式='font-size:100%;display:内联块;position:相对;color:绿色;'data-mathml='i'角色='presentation'ii列和内存'tabindex='0'style='font-size:100%;display:内联块;position:相对;color:绿色;'data-mathml='j'角色='presentation'jj列,两个相邻的相邻邻接矩阵彼此等价,会互相转换,想想为什么)。
例如长度为2rame的道路'tabindex='0'style='font-size:100%;display:内联块;相对位置:color:绿色;'数据数学='#x2219;#x2212;#x2219;#x2212;#x2219;'role='presentation'\bullet-\bullet-\bullet,我们不妨将每个顶点从左到右标记为1、2、3,所以它的邻接矩阵为
rametabindex='0'style='font-size:100%;display:内联块;相对位置:color:绿色;'data-mathml='A=(010101010).'角色='演示'A=(010101010).A=\left(\begin{array}{ccc}010\\101\\010\end{array}\right).\\
如果我们在邻接矩阵的基础上做一点处理,我们会得到:
rame'tabindex='0'data-mathml='#x0394;=diag(deg#x2061;vi)#x2212;A'角色='演示'style='font-size:100%;display:内联块;相对位置:color:绿色;':=diag(degvi)A\Delta:=\text{diag}(\degv_i)-A\\
我们称之为GG的拉普拉斯矩阵。上例中每个点的度数为:
rame'tabindex='0'data-mathml='deg#x2061;v1=1,deg#x2061;v2=2,deg#x2061;v3=1。'角色='演示文稿'style='font-size:100%;display:内联块;相对位置:color:绿色;'degv1=1,degv2=2,degv3=1.\degv_1=1,\quad\degv_2=2,\quad\degv_3=1.\\
所以rame'tabindex='0'style='font-size:100%;display:内联块;相对位置:color:绿色;'数据数学='#x2219;#x2212;#x2219;#x2212;#x2219;'role='presentation'\bullet-\bullet-\bullet的拉普拉斯矩阵为:
rame'tabindex='0'data-mathml='#x0394;=(121)#x2212;(010101010)=(1#x2212;10#x2212;12#x2212;10#x2212;11)。'角色='演示文稿'style='font-size:100%;display:内联块;相对位置:color:绿色;'=(121)(010101010)=(110121011).\Delta=\left(\begin{array}{ccc}1\\2\\1\end{数组}\right)-\left(\begin{array}{ccc}010\\101\\010\end{array}\right)=\left(\begin{array}{rrrr}1-10\\-12-1\\0-11\end{array}\right).\\
证明概要
每个立方体的展开都是通过沿着立方体的7个边切割而获得的。所以问题的关键是讨论切割图(切割顶点和边形成的图)的类型数量。
由于平面展开图的边界是相连的,因此剖切图也是相连的;另外,切割时不能有环,否则展开图的一部分会与主体断开。我们所说的展开图必须是连通的。连通且无环的图称为树。而且,展开图的边界穿过立方体的所有顶点,因此割图也穿过立方体的所有顶点。图片框'tabindex='0'style='font-size:100%;display:内联块;相对位置:color:绿色;'data-mathml='G'role='演示'GG图的子图'tabindex='0'style='font-size:100%;display:内联块;相对位置:color:绿色;'data-mathml='T'role='presentation'TT是一棵树,iframe'tabindex='0'style='font-size:100%;display:内联块;相对位置:color:绿色;'data-mathml='T'role='presentation'TTthroughrame'tabindex='0'style='font-size:100%;display:内联块;相对位置:color:绿色;'data-mathml='G'role='presentation'GG的所有顶点,我们称之为rame'tabindex='0'style='font-size:100%;display:内联块;相对位置:color:绿色;'data-mathml='T'role='presentation'TTisrame'tabindex='0'style='font-size:100%;display:内联块;相对位置:color:绿色;'data-mathml='G'role='presentation'GG的生成树,或支持树。
所以切割图一定是立方体rame的生成树'tabindex='0'style='font-size:100%;display:内联块;相对位置:color:绿色;'数据-mathml='#x03A3;'角色='演示文稿'\Sigma。
图片来自byohovel的回答-知乎https://www.zhihu.com/question/310424939/answer/583733121我们先回答一个基本且关键的问题:砍树有多少棵?
我们介绍——无证明
基尔霍夫矩阵树定理图rame'tabindex='0'style='font-size:100%;display:内联块;相对位置:color:绿色;'data-mathml='G'role='presentation'GG的生成树集合rame中元素的数量'tabindex='0'style='font-size:100%;display:内联块;相对位置:color:绿色;'数据-mathml='#x03A3;'role='presentation'\Sigma等于
rame'tabindex='0'data-mathml='|#x03A3;|=|det#x0394;#x2212;|.'角色='演示'样式='font-size:100%;display:内联块;相对位置:color:绿色;'||=|det|.|\Sigma|=|\det\Delta^-|.\\其中rame'tabindex='0'style='font-size:100%;display:内联块;相对位置:color:绿色;'数据-mathml='#x0394;#x2212;'role='presentation'\Delta^-meansram'tabindex='0'style='font-size:100%;display:内联块;相对位置:color:绿色;'数据数学='#x0394;'角色='演示'\Deltaanyram'tabindex='0'style='font-size:100%;display:内联块;相对位置:color:绿色;'data-mathml='(n#x2212;1)#x00D7;(n#x2212;1)'角色='演示'(n1)(n1)(n-1)\times(n-1))main子表单,即去掉rame'tabindex='0'style='font-size:100%;display:内联块;相对位置:color:绿色;'data-mathml='i'角色='演示'ii行内存'tabindex='0'style='font-size:100%;display:内联块;相对位置:color:绿色;'data-mathml='i'role='presentation'iicolumn剩余的子公式。
写出如上所示的立方体的邻接矩阵
rame'tabindex='0'data-mathml='A=[0101100010100100010100101010000110000101010010100010010100011010]。'角色='演示'样式='font-size:100%;display:内联块;位置33360相对;color:绿色;'A=[0101100010100100010100101010000110000101010010100010010100011010].A=\left[\begin{array}{rrrr}01011000\\10100100\\01010010\\10100001\\10000101\\01001010\\00100101\\00011010\\\end{数组}\右]。\\
由于立方体的每个顶点都连接到三个边,因此其拉普拉斯矩阵
rametabindex='0'data-mathml='#x0394;=[3#x2212;10#x2212;1#x2212;1000#x2212;13#x2212;100#x2212;1000#x2212;13#x2212;100#x2212;10#x2212;10#;1000#x2212;1#x2212;10#x2212;13]。'角色='演示'样式='font-size:100%;display:内联块;相对位置:颜色:绿色;'=[3101100013100100013100101013000110003101010013100010013100011013].\Delta=\left[\begin{array}{rrrr}3-10-1-1000\\-13-100-100\\0-13-100-10\\-10-13000-1\\-10003-10-1\\0-100-13-10\\00-100-13-1\\000-1-10-13\\\end{array}\right]。\\
所以去掉最后一行和最后一列后,我们计算它的行列式
rame'tabindex='0'data-mathml='det#x0394;#x2212;=384。'角色='演示'样式='font-size:100%;display:内联块;相对位置:color:绿色;'det=384。\det\Delta^-=384。\\
#R语言A1-c(0,1,0,1,1,0,0,0)A2-c(1,0,1,0,0,1,0,0)A3-c(0,1,0,1,0,0,1,0)A4-c(1,0,1,0,0,0,0,1)A5-c(1,0,0,0,0,1,0,1)A6-c(0,1,0,0,1,0,1,0)A7-c(0,0,1,0,0,1,0,1)A8-c(0,0,0,1,1,0,1,0)A-c(A1,A2,A3,A4,A5,A6,A7,A8)A-matrix(A,8,8,TRUE)#邻接矩阵AA[,1][,2][,3][,4][,5][,6][,7][,8][1,]01011000[2,]10100100[3,]01010010[4,]1
0100001[5,]10000101[6,]01001010[7,]00100101[8,]00011010Lap<- diag(rep(3,8))-A #Laplace矩阵 det(Lap[-8,][,-8]) #去掉第8行第8列,并求其行列式 >[1]384!!结论1正方体的支撑树共有384个。也就是说,我们所要寻找的正方体展开图的个数的上限是384,而这384种情况中,有大量在对称意义下的等价的情况,我们需要计算究竟有多少个等价类,这是我们所追求的答案。
首先要明白我们是在什么对称意义下讨论——考虑正方体的等距对称群。从几何的角度而言,正方体有以下对称方式:
旋转类从左到右依次记为Rot1,Rot2,Rot3.反射类从左到右依次记为Ref1,Ref2.这些对称变换可以相互叠加使用,就像是整数的加法一样,它们都是数学上的群。立方体等距对称群rame"tabindex="0"style="font-size:100%;display:inline-block;position:relative;color:green;"data-mathml="G=Isom(C)"role="presentation">G=Isom(C)G=\text{Isom}(\mathcal{C})的代数表示为
rame"tabindex="0"style="font-size:100%;display:inline-block;position:relative;color:green;"data-mathml="Isom(C)=S4×Z2."role="presentation">Isom(C)=S4×Z2.\text{Isom}(\mathcal{C})=S_4\times\mathbb{Z}_2.\\
如果两棵生成树通过以上对称方式可以重合,我们就认为两者等价,或者换一种说法,两者处于群变换的同一轨道。我们设想任意一棵生成树,在以上全体变换下,演化出种种与之对称的情况,形成一个「轨道」,而不等价的树彼此形成的轨道彼此分离,否则两者处于同一轨道。于是我们的问题的答案正是轨道数。
而计算轨道数也有现成的公式,我们同样不加证明引入——
Burnside引理群rame"tabindex="0"style="font-size:100%;display:inline-block;position:relative;color:green;"data-mathml="G"role="presentation">GG作用在集合rame"tabindex="0"style="font-size:100%;display:inline-block;position:relative;color:green;"data-mathml="X"role="presentation">XX上,所形成的轨道数为:
rame"tabindex="0"style="font-size:100%;display:inline-block;position:relative;color:green;"data-mathml="Orb(X)=1|G|∑g∈G|Fix(g)|."role="presentation">Orb(X)=1|G|∑g∈G|Fix(g)|.\text{Orb}(X)=\frac{1}{|G|}\sum_{g\inG}|\text{Fix}(g)|.\\其中
rame"tabindex="0"data-mathml="Fix(g):={x∈X?|?xg=x}?X"role="presentation"style="font-size:100%;display:inline-block;position:relative;color:green;">Fix(g):={x∈X|xg=x}?X\text{Fix}(g):=\{x\inX\|\x^g=x\}\subseteqX\\即在变换rame"tabindex="0"style="font-size:100%;display:inline-block;position:relative;color:green;"data-mathml="g"role="presentation">gg作用下保持不变的元素的集合。
Burnside引理是计数原理的基石。
如今我们让正方体的等距变换群rame"tabindex="0"style="font-size:100%;display:inline-block;position:relative;color:green;"data-mathml="G=Isom(C)"role="presentation">G=Isom(C)G=\text{Isom}(\mathcal{C})作用于正方体的生成树集合rame"tabindex="0"style="font-size:100%;display:inline-block;position:relative;color:green;"data-mathml="X=Σ"role="presentation">X=ΣX=\Sigma,由抽象代数的知识可知rame"tabindex="0"style="font-size:100%;display:inline-block;position:relative;color:green;"data-mathml="|G|=|S4×Z2|=48"role="presentation">|G|=|S4×Z2|=48|G|=|S_4\times\mathbb{Z}_2|=48,所以最终的问题全部聚焦于如何计算rame"tabindex="0"style="font-size:100%;display:inline-block;position:relative;color:green;"data-mathml="|Fix(g)|"role="presentation">|Fix(g)||\text{Fix}(g)|——在rame"tabindex="0"style="font-size:100%;display:inline-block;position:relative;color:green;"data-mathml="g"role="presentation">gg作用下不变的树的个数,这是问题的难点。
所幸对于正方体的等距变换群rame"tabindex="0"style="font-size:100%;display:inline-block;position:relative;color:green;"data-mathml="Isom(C)"role="presentation">Isom(C)\text{Isom}(\mathcal{C})而言,大多数rame"tabindex="0"style="font-size:100%;display:inline-block;position:relative;color:green;"data-mathml="|Fix(g)|=0"role="presentation">|Fix(g)|=0|\text{Fix}(g)|=0,当然经过了数学家RichardGoldstone和RobertSuzziValli(2016)[1]一系列严格的证明,证明过程我们略去,直接说结论:
!!结论2拥有不变树的变换只有两种:1.关于对棱中点连线旋转180度(Rot2);2.关于过四条平行棱中点的平面的反射(Ref2).
另外还有一个关键性的结论——
!!结论3不考虑恒等变换,上面两种变换Rot2、Ref2的不变树中都有且仅有一条不动边,并且将这个边反转,即设rame"tabindex="0"style="font-size:100%;display:inline-block;position:relative;color:green;"data-mathml="e=vivj"role="presentation">e=vivje=v_iv_j,rame"tabindex="0"style="font-size:100%;display:inline-block;position:relative;color:green;"data-mathml="g∈Rot2,Ref2"role="presentation">g∈Rot2,Ref2g\in\text{Rot2,Ref2},则
rame"tabindex="0"data-mathml="eg=e=vjvi."role="presentation"style="font-size:100%;display:inline-block;position:relative;color:green;">eg=e=vjvi.e^g=e=v_jv_i.\\注意变换Rot2和Ref2本身的不动边不仅仅只有一条(分别是2条、4条)。
于是我们采用逐渐生长的策略:选取一个不动边,对于rame"tabindex="0"style="font-size:100%;display:inline-block;position:relative;color:green;"data-mathml="ρ0∈"role="presentation">ρ0∈\rho_0\inRot2而言有2种选择方式(rame"tabindex="0"style="font-size:100%;display:inline-block;position:relative;color:green;"data-mathml="×2"role="presentation">×2\times2),对于rame"tabindex="0"style="font-size:100%;display:inline-block;position:relative;color:green;"data-mathml="φ0∈"role="presentation">φ0∈\varphi_0\inRef2而言有4种选择(rame"tabindex="0"style="font-size:100%;display:inline-block;position:relative;color:green;"data-mathml="×4"role="presentation">×4\times4);然后依照这两种变换,逐渐选取新的边、以及经过变换后的边,直到形成一棵生成树为止。
空心圆圈表示生长「发芽」之处于是可得
rame"tabindex="0"data-mathml="|Fix(φ0)|=4×4=16,|Fix(ρ0)|=8×2=16."role="presentation"style="font-size:100%;display:inline-block;position:relative;color:green;">|Fix(φ0)|=4×4=16,|Fix(ρ0)|=8×2=16.\begin{array}{lll}|\text{Fix}(\varphi_0)|=4\times4=16,\\\\|\text{Fix}(\rho_0)|=8\times2=16.\\\end{array}\\
由于对称性,像rame"tabindex="0"style="font-size:100%;display:inline-block;position:relative;color:green;"data-mathml="ρ0"role="presentation">ρ0\rho_0变换群Rot2有rame"tabindex="0"style="font-size:100%;display:inline-block;position:relative;color:green;"data-mathml="12/2=6"role="presentation">12/2=612/2=6个变换;rame"tabindex="0"style="font-size:100%;display:inline-block;position:relative;color:green;"data-mathml="φ0"role="presentation">φ0\varphi_0变换群Ref2有rame"tabindex="0"style="font-size:100%;display:inline-block;position:relative;color:green;"data-mathml="12/4=3"role="presentation">12/4=312/4=3个变换。最后我们带入Burnside引理的计算公式:
rame"tabindex="0"style="font-size:100%;display:inline-block;position:relative;color:green;"data-mathml="Orb(X)=1|G|∑g∈G|Fix(g)|=1|G|(|Fix(id)|+|Fix(Rot2)|+|Fix(Ref2)|)=148(384+6×16+3×16)=11."role="presentation">Orb(X)=1|G|∑g∈G|Fix(g)|=1|G|(|Fix(id)|+|Fix(Rot2)|+|Fix(Ref2)|)=148(384+6×16+3×16)=11.\begin{array}{llll}\text{Orb}(X)&\\=\cfrac{1}{|G|}\sum_{g\inG}|\text{Fix}(g)|\\=\cfrac{1}{|G|}(|\text{Fix}(id)|+|\text{Fix}(\text{Rot2})|+|\text{Fix}(\text{Ref2})|)\\=\cfrac{1}{48}(384+6\times16+3\times16)\\=11.\end{array}\\
参考文献
[1]RichardGoldstoneandRobertSuzziValli(2016),unfoldingsofthecube,arXiv:1604.05004[math.GR].[2]S.Axler,F.W.GehringandK.A.Ribert,AlgebraicGraphTheory.
为什么正方体有十一种展开图?我老早以前写的回答,当时我还很稚嫩。方法很初等,也很简洁,只是我一直觉得可能不太严谨。