Haskell中匈牙利环的数据结构

时间:2019-02-19 08:00:27

标签: haskell data-structures

所以我正在为Haskell(https://www.jaapsch.net/puzzles/rings.htm)中的匈牙利环难题求解器 我的语言不太好,仍然有很多盲点。我正在努力找出用于表示难题的数据结构,并希望为此提供任何提示,技巧或答案! (顺便说一下,我目前的想法是如何用彩色数字表示彩球的,这些数字在解决难题时将是有序的)

1 个答案:

答案 0 :(得分:0)

how to represent a Rubik's cube in a data structure类似,朴素模型包含冗余信息,而最紧凑的模型取决于对象的algebraic analysis。因此,一方面,对具有冗余信息的模型进行的操作可能效率低下,而对紧凑型模型(例如置换组)的操作在转换为物理操作时可能非常抽象。

因此,您可能会发现高阶排列组更容易描述它;这是维基百科上Rubik's Cube Group的文章:

  

魔方多维数据集组是对称组S₄₈的子组,对称组 S << / em>由与六个顺时针多维数据集移动相对应的六个排列生成。

只要您考虑到一个队列的一个轮换操作会影响其他队列,这很可能对应于luqui建议的一组双端队列。