You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

more_itertools的distinct_permutations排序问题及Halin图生成异常求助

生成非同构Halin图的代码运行问题

Halin图是一种将无二度顶点的树嵌入平面后,添加环连接树的叶节点所构造的图。

Halin图示例

我在MathOverflow上发布了生成20阶非同构Halin图的问题,用户Peter Taylor给出了解答。但在Linux系统运行他的Python代码时出现如下错误:

python3.10/site-packages/more_itertools/more.py文件中,distinct_permutations函数第727行报错:items = sorted(iterable) TypeError: 'RootedTree'实例间不支持'<'操作

问题出在第三方库more_itertools的distinct_permutations函数存在排序操作,而RootedTree实例未定义比较方法。

我尝试了两种解决方式:

  • 将distinct_permutations(self.children)替换为permutations(self.children),代码可运行但速度极慢。
  • 在RootedTree类中添加def __lt__(self, other): return self.size() < other.size(),速度恢复正常,但生成的数据从n=19开始与A346779序列不符,可能影响Halin图生成的正确性。

我不确定如何获取A346779的正确序列,虽与Peter Taylor多次讨论,但他表示代码在其电脑上运行正常,寻求解决方案。

内容的提问来源于stack exchange,提问作者licheng

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.21 07:53:12