我正在寻找帮助改进放置奇怪形状块的算法。我的问题领域很奇怪,但我最好的比方是俄罗斯方块,除了他们可以有四个以上的东西。块仍然是只有直角组成,但他们可以是长期和缠绕,他们可以分支等块布局算法
我想安排在最小的空间多个大型任意形状的块(我知道,一个装箱问题),但我目前的解决方案看起来很丑。我基本上是放置一个,然后通过尝试将它们放在我的网格的原点,然后缓慢地将它们推向不同的方向,直到它们不再碰撞为止,然后蛮力强制其余的。虽然速度并不慢,但它并没有试图很好地装饰件,所以它们不会浪费整体空间。
我能想到的唯一的尝试是按大小排序块,放置最大的块,然后将最小的块放入剩余的任何洞中。但肯定会有适得其反的方法。
有没有可以帮助我的启发式算法或近似算法?
结果将类似于以下内容:
而且,也许是我的gravatar赠送,这是相关的洛克人...
请添加图片 – Navin 2013-02-22 04:30:05
您的图片似乎暗示您想要块之间的空间。真的吗? – 2013-02-22 07:00:34
@Andrew是的,我会的,但我有一种直觉,它不会影响算法。我可以假装块的四面各加一个单位。 – Tesserex 2013-02-22 13:00:14