首页 > 解决方案 > 对二维数组进行分组有什么好的启发式方法吗?

问题描述

我有一个要分组的二维数组。我可以将它分组到等间距的箱子中,但是我会有一些箱子只有一个数据点,而另一些箱子有 100 个数据点。是否有任何好的分组启发法(特别是对于 python)我可以做不相等大小的 bin 但包含大致相同数量的数据点?

对我来说最好的解决方案是包含最小和最大数据点数的 bin,这样我的分组就保持灵活。但是,我不知道从哪里开始制作这样的启发式方法。

这是我要分组的二维数据图: 我的数据 编辑:我希望分组箱也是二维的

标签: pythonarraysalgorithmsortingheuristics

解决方案


有时您可能想在 Google 上搜索array-partitioning( rectangular-partitioning) workload-partitioning

2d-case 已经是 NP-hard 的,但是有一些很好的算法,它们对于并行或分布式系统中的工作负载分区似乎非常重要。

不是 python,而是一个非常完整的库:SPart - Spatially located Workload Partitioner

该页面上的资源可能会链接到该领域的更多研究。


推荐阅读