在一张地图中,遍布整个地方的地方有一万个点。
每个点都属于某些点,并且有大约一百个点。
有些集合有很多分数,而有些集合有一些。
问题是将地图划分为区域,使得每个区域(1)的大小合适(不是太大),更重要的是,(2)包括各种点。各种各样,我的意思是我只从每个区域中的每一组中选取一个点,并且一个区域包含(例如)大约20个不同组的(代表性)点。
这样做的合适算法是什么?
我脑子里想到的是最小生成树算法的一些变体,它从一个点(节点)开始,并考虑不同的边缘权重(点之间的距离),并选择属于一个集合的最近点。我们还没有选择,并且这样做直到组的种类数达到20,形成一个区域,然后从当前区域外的最近点重新开始。
但是,我希望有更有效的算法来完成这项工作,而且我已经很难将我的设计正式化。