【发布时间】:2010-12-21 22:27:14
【问题描述】:
这有标准吗?算法名称?
说: 我有 10 个不同大小的多边形。 我有一个特定大小的区域。
我想知道如何填充该区域中最多的多边形,以及它们是如何拟合的。
注意: 多边形可能会根据限制集旋转。
【问题讨论】:
-
你可以在mathoverflow.net试试运气
这有标准吗?算法名称?
说: 我有 10 个不同大小的多边形。 我有一个特定大小的区域。
我想知道如何填充该区域中最多的多边形,以及它们是如何拟合的。
注意: 多边形可能会根据限制集旋转。
【问题讨论】:
一个可能的名称是Packing Problem。它与Knapsack Problem 有关。这些问题往往是 NP 难的,并且许多问题需要启发式。如果您可以限制多边形和区域的允许形式,则可能存在针对您的特殊情况的更有效的算法。
【讨论】:
如果(如果)你所有的多边形都是矩形,并且它们要适应的区域也是一个矩形,那么这将被称为 bin-packing,谷歌会用这方面的信息让你不知所措。如果不是,那么我猜您正在寻找装箱的变体,并且我猜您更多的是陷入 NP 问题,其中“尝试和测试”是最好的算法。
【讨论】:
您可以查看 Wikipedia 中的“Dancing Links”,了解 Donald Knuth 对确切封面问题的解决方案 - 包括平铺 - 您的问题可以视为平铺问题
【讨论】: