在M×N大小的网格上随机生成自回避多边形

时间:2019-03-24 07:44:58

标签: algorithm polygon

我需要一种算法,可以在尺寸(M x N)以内的2D网格上随机生成一个自动避开的多边形。 自回避多边形的定义为here。 那是网格上的闭合路径(环),它本身不会交互。

如果可能的话,该算法最好以相同的概率生成任何可能的自避免多边形。

我可以考虑使用深度优先搜索来生成树wiki-link的迷宫生成算法,然后树的舍入周长就是一个自回避的多边形。 但是,此方法无法生成所有可能的自我避免多边形,例如网格内最大的矩形(M x N)。

A example

1 个答案:

答案 0 :(得分:0)

以下算法将生成1个闭合多边形。但是它没有使用任何图论概念。作为一种语言,我没有用python编写过代码。如果需要,可以轻松更改它以查找所有多边形。

mvn dependency:analyze