我一直在尝试阅读“ 函数算法设计的珍珠 ”,然后阅读“ 编程代数 ”,在递归(和多项式)定义的数据类型与组合对象之间有着明显的对应关系,它们具有相同的递归定义并随后处于领先地位如组合物种简介中所述(我读“ 物种,函子和类型,噢,我的天哪! ”)。
那么,对于第一个问题,是否有一种方法可以从幂级数中恢复生成(递归)方程?那是事后的想法。
我对初始代数和最终共代数的概念更感兴趣,因为它们是“定义数据结构的过程”。函数式编程中有一些实用规则,涉及组成,代数之间的映射乘积以及类似内容,例如本教程所述。在我看来,这可能是解决复杂性的非常有效的方法,例如,在这种情况下恢复Master定理看起来相当简单(我的意思是,您必须做相同的论点,因此在这种情况下收益不大),以及原始代数的独特变形,以及F多项式函子的A和FA之间的代数是同构的(我误会了吗?),这使我认为,这种方法在分析E的复杂度方面可以有很多好处。对数据结构的操作。
从实践的角度来看,看起来像融合规则(基本上是相互组合代数态,子代态和一般态的方式)是用于程序转换和重构的非常强大的优化技术。我认为对这些规则的充分利用可以产生最佳程序是正确的(没有不必要的中间数据结构或其他额外操作)。
我在这里上东西吗?从学习的角度来看,以这种方式看一下计算复杂性是否是受益者?我们可以拥有“漂亮的”初始代数的结构是否因某些问题而过于局限?
我主要是想寻找一种方法来根据搜索空间的结构以及“搜索空间”和“搜索算法”通过某些“不错的”对象(例如函子的初始代数和了解在查看更复杂的结构时尝试以这种方式查看内容是否有用。