我正在研究一个项目并遇到了一个问题。如果有人能帮我解决这个问题,我将非常感激。请看下图:
由一条线连接的两个点只产生一个图表,由单线连接的三个点也会产生一个图形,无论您如何连接点,结果都是相同的。但是,随着我们增加点数,有不同的可能性,如四点所示。
是否有计算可以从一组节点形成的未标记树的数量的公式?
答案 0 :(得分:3)
这是非同构图计数问题。
对于一般情况,n
个顶点上有2 ^( n 2 )非同构图,其中( n 2 )是二项式系数“n高于2”。
然而,这可能会给你一些额外的图表,具体取决于哪些图表被认为是相同的(你也不是100%清楚哪些图表适用)。
See this paper. And this article on MathWorld
编辑:如果您想要计算标记树,则只有公式为n^(n-2)
。
答案 1 :(得分:2)
正如评论中所建议的那样,您的问题可以用来确定n个顶点上未标记树的数量。请注意,这与计算标记树(其中有n ^ {n-2})或标记图(其中有2 ^ \ binom)的问题有很大不同{N} {2})。
Online Intecyclopedia of Integer Sequences有很多关于这个问题的好数据(包括生成序列的代码):https://oeis.org/A000055。特别是,它给出了这些数字的生成函数A(x),这是迄今为止已知的最佳解决方案(从数学家的角度来看):
A(x)= 1 + T(x)-T ^ 2(x)/ 2 + T(x ^ 2)/ 2,其中T(x)= x + x ^ 2 + 2x ^ 3 +。 ..
如果您不熟悉生成函数,请将其视为精心设计的多项式,其系数形成所需的序列。也就是说,此多项式中x ^ n的系数将是n个顶点上未标记树的数量。
作为最终的插件,您可能会发现此参考有用:http://austinmohr.com/work/trees。它为最多十个顶点的树提供了一些计数和图像。