Search 如何计算河内塔的最大分枝系数

Search 如何计算河内塔的最大分枝系数,search,tree,artificial-intelligence,branch,Search,Tree,Artificial Intelligence,Branch,我正在用n个圆盘和k个木桩模拟河内塔的问题,并试图找到它的最大分支因子。问题在于,由于圆盘和销钉的数量是可变的,因此每个节点可能采取的行动数量也是可变的。如何根据k和n来确定最大分支因子的通用方法?通常,最小的圆盘可以移动到任何其他peg:k-1选项 第二个最小的磁盘(位于桩上堆栈的顶部;整体上可能不是第二个最小的磁盘)可以移动到任何桩上,但具有最小磁盘的磁盘除外:k-2选项 这种情况一直持续到peg顶部的最大磁盘,它不能移动到任何地方(假设n>k) 因此,期望的分支因子是:(k-1)+(k-2

我正在用n个圆盘和k个木桩模拟河内塔的问题,并试图找到它的最大分支因子。问题在于,由于圆盘和销钉的数量是可变的,因此每个节点可能采取的行动数量也是可变的。如何根据k和n来确定最大分支因子的通用方法?

通常,最小的圆盘可以移动到任何其他peg:k-1选项

第二个最小的磁盘(位于桩上堆栈的顶部;整体上可能不是第二个最小的磁盘)可以移动到任何桩上,但具有最小磁盘的磁盘除外:k-2选项

这种情况一直持续到peg顶部的最大磁盘,它不能移动到任何地方(假设n>k)

因此,期望的分支因子是:(k-1)+(k-2)+(k-3)+…+2+1=(k-1)*k/2

只有当其中一个PEG不包含磁盘时,才会出现这种情况。如果n>>k,这种情况很少发生。但是,这意味着如果你从随机状态搜索到目标状态,你应该考虑向后搜索,因为标准目标状态具有最低的分支因子,因为只有一个PEG有一个磁盘。 n
k(k-1)/2-(k-n)(k-n-1)/2

你好,我在分析你的答案,最后一点有问题。你这样说是因为n@pepito在第一种情况下,每个销钉都有一个圆盘,因此移动的次数受到销钉数量(k)的限制。在第二种情况下,移动次数受光盘数量(n)的限制。由于n