十二年磨一剑:Haskell魔方求解器Twentyseven 1.0.0发布

2025-08-02

作者历时十二年,用Haskell语言编写了一个魔方求解器Twentyseven,并发布了1.0.0版本。程序基于Herbert Kociemba的Cube Explorer算法思想,采用迭代加深A*搜索算法(IDA*),通过将魔方状态投影到更简单的子问题来估计剩余步数,从而找到最优解。虽然最优解的求解可能耗时数小时,但作者也提到了Kociemba的更快双阶段算法,可在极短时间内求解魔方。此版本主要为了兼容最新的GHC编译器,并对代码进行了一定的维护。

阅读更多
开发

“代数数据类型”名称的由来

2024-07-31

本文探讨了编程语言中“代数数据类型”这一术语的起源。作者通过分析 Hope、Miranda、Clear 等早期编程语言的发展历史,得出结论:该术语源于通用代数中的“自由代数”概念,而非通常认为的“积之和”。文章详细介绍了 Clear 语言中使用数据理论定义初始代数的方法,并将其与 Hope 等语言中的数据类型联系起来,阐明了“代数数据类型”名称背后的数学基础。

阅读更多
未分类