证明有n个顶点的凸多边形三角剖分的方法数和n-1个矩阵相乘的方法数相同
时间: 2024-05-24 12:14:27 浏览: 148
凸多边形的三角剖分
4星 · 用户满意度95%
这是一个有趣的问题,需要一些数学知识。证明的核心是使用Catalan数和矩阵乘法的关系。
首先,我们知道n个顶点的凸多边形有(n-2)!种三角剖分方法。这个结论可以通过归纳证明。当n=3时,显然只有一种方法。当n>3时,我们可以选择一个顶点,连接其它任意一个顶点形成一条边,并将多边形分成两个子多边形。这样子多边形的顶点数分别为k和n-k+1,其中k可以取1~n-2。我们可以对两个子多边形分别递归求解,最后将它们的三角剖分方法总数相乘即可得到n个顶点凸多边形的三角剖分方法数。(这里省略了证明细节)
其次,我们知道n-1个矩阵相乘也可以表示为一个递归过程。假设我们要计算A1*A2*...*An,其中Ai的维度为mi x mi+1,那么我们可以选择一个位置k,将矩阵乘积分成两部分:A1*A2*...*Ak和Ak+1*Ak+2*...*An。这两部分分别递归计算,然后将它们相乘。
现在的问题是如何将n个顶点凸多边形的三角剖分方法数与n-1个矩阵相乘的方法数联系起来。我们发现,它们都可以表示为一个递归过程,并且每次递归都可以选择一个位置分成两部分。对于n个顶点凸多边形的三角剖分方法数,我们是选择一个顶点划分成两个子多边形;对于矩阵乘法,我们是选择一个位置将矩阵乘积分成两部分。这种相似性是很自然的。
那么它们具体如何联系起来呢?我们知道Catalan数Cn=(2n)!/((n+1)!n!)表示n个节点的二叉树的数量。并且它有一个很著名的递推式Cn=C0Cn-1+C1Cn-2+...+Cn-1C0。我们可以将这个递推式稍加变形:Cn-1=C0Cn-2+C1Cn-3+...+Cn-2C0。这个式子与n个顶点凸多边形的三角剖分方法数的递归式非常相似,只需要将Catalan数换成凸多边形的三角剖分方法数即可。这是因为凸多边形的三角剖分方法数也可以看作是一些子多边形的三角剖分方法数的累计,类似于Catalan数定义中的二叉树。
现在我们只需要证明这个递推式与n-1个矩阵相乘的递推式是等价的即可。这个证明比较抽象,可以参考一些已有的文献。简单来说,就是考虑一个n个节点的二叉树,把它表示成它的根节点和左右子树组成的矩阵乘积形式,就可以将二叉树的递推式转化成矩阵乘积的递推式,从而证明它们等价。
综上所述,n个顶点凸多边形的三角剖分方法数与n-1个矩阵相乘的方法数是相同的,证毕。
阅读全文