优化2D邻域的效用和惩罚分数

时间:2014-02-27 16:42:25

标签: algorithm image-processing multidimensional-array mathematical-optimization

我的问题如下。

考虑由(u,v)索引的大数组A(u,v)(例如图像)和该数组内的给定参考位置(u0,v0)。 A中的每个位置(u,v)都与实用程序得分s(u,v)相关联,这是正面和任意的,惩罚得分p(u, v),它是负的并且与(u,v)和(u0,v0)之间的距离成比例。我想在(u0,v0)周围确定邻域N(即一组连接的索引(u,v)),其中最大化所有效用和惩罚分数的总和在邻居N.

这是一个相当抽象的描述,但是解决这个问题的适当算法是什么?

1 个答案:

答案 0 :(得分:0)

快速跟进。我已经在这个问题上工作了一段时间,并且使用A* algorithm的修改版本我已经能够获得满意的结果。

更确切地说,我将2D阵列视为4连通图,并将参考位置(u0,v0)视为图中的起始位置。然后,我将两个节点之间的边缘成本定义为常量cost_edge,并将图中路径的成本定义为沿此路径的边缘成本之和。作为节点(u,v)的启发式,我使用了数组上的最大效用得分与当前节点的效用得分之间的差异:h(u,v)= s max - s (U,v)。我还使用了对基本A *算法的一个修改:我没有使用任何目标节点,但是当访问节点时,我维护所有被访问节点(关闭集合中的节点,如维基百科文章所述),当此总和大于指定的阈值max_total_utility时,我停止算法。

这个算法有两个输入参数,我必须根据自己对效用得分的定义进行调整:

  • cost_edge,它控制在(u0,v0)周围产生的邻域的 locality greediness 之间的折衷最大化效用分数之和

  • max_total_utility,控制最终邻域的区域

这为我的问题提供了适当的(虽然不是严格最优的,特别是启发式可能不是consistent)解决方案,因为它最小化了所选(即访问过的)节点和输入参考点之间的距离,同时通过启发式绘制,首先选择具有高效用分数的节点。

请注意,我不再使用惩罚分数,但由于它与当前节点和参考位置之间的距离成比例,因此最小化从(u0,v0)到(u,v)的路径的成本是足够接近最小化总体罚分。