这似乎应该是一个相对简单的解决问题,但我很难找到解决方案。我试图将整数宽度的3维立方空间划分为给定数量的整数宽度矩形细分。块不必具有相同的大小(因为这并不总是可行),但目标是最大细分的体积尽可能小(因此它尽可能地分布)。最重要的是,细分的表面积应尽可能小(也就是说,2x2x2细分优于1x2x4)。
这用于划分分布式计算的空间,因此这两个要求的目的是公平地分配负载并减少处理器之间所需的通信。无论如何,我会感谢任何正确的方向推动这个问题。
答案 0 :(得分:0)
您问题的标题不是很清楚,但您似乎正在寻找space partitioning algorithm或space filling curve,可能两者都有。
以上两个主题是相互关联的,但根据您的确切问题,其中一个可能没用。
空间分区算法和数据结构通常用于管理固定空间并且需要查找哪些(可能正在移动)的对象位于此空间的哪个部分的应用程序中。因此,您递归地拆分卷以允许快速检索(和更新)卷的一部分中的对象列表。您甚至可以找到尝试平衡每个分区的对象数量的算法。
空间填充曲线是关于以某人扫描多维坐标的不可变列表的方式强加命令。在这种情况下,订单的属性(例如,地点)是至关重要的。一旦你有一个班轮订单,你可以通过将它分成任意数量的块来分发,每个块仍然具有良好的属性。
在科学应用程序的 lot 中可能会遇到这两个问题,因此非常聪明的人已经深入研究了这些问题。我绝对不是这些主题的专家,这就是我理解它们的方式。希望它有所帮助。