Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/algorithm/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Algorithm 在2D邻域上优化效用和惩罚分数_Algorithm_Image Processing_Multidimensional Array_Mathematical Optimization - Fatal编程技术网

Algorithm 在2D邻域上优化效用和惩罚分数

Algorithm 在2D邻域上优化效用和惩罚分数,algorithm,image-processing,multidimensional-array,mathematical-optimization,Algorithm,Image Processing,Multidimensional Array,Mathematical Optimization,我的问题如下 考虑一个由(u,v)索引的大数组a(u,v)(例如图像)和该数组中的给定参考位置(u0,v0)。A中的每个位置(u,v)与效用分数s(u,v)相关联,效用分数s(u,v)为正且任意,惩罚分数p(u,v)为负且与(u,v)和(u0,v0)之间的距离成比例。我想确定(u0,v0)附近的一个邻域N(即一组连通指数(u,v)),它使邻域N上的所有效用和惩罚分数之和最大化 这是一个相当抽象的描述,但解决这样一个问题的合适算法是什么?快速跟进。我已经在这个问题上工作了一段时间,并且我已经能够使

我的问题如下

考虑一个由(u,v)索引的大数组a(u,v)(例如图像)和该数组中的给定参考位置(u0,v0)。A中的每个位置(u,v)与效用分数s(u,v)相关联,效用分数s(u,v)为正且任意,惩罚分数p(u,v)为负且与(u,v)和(u0,v0)之间的距离成比例。我想确定(u0,v0)附近的一个邻域N(即一组连通指数(u,v)),它使邻域N上的所有效用和惩罚分数之和最大化


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

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

更准确地说,我认为2D数组是一个4连通图,参考位置(u0,v0)是图中的起始位置。然后,我将两个节点之间的边的成本定义为常数
成本_edge
,并将图中路径的成本定义为沿该路径的边成本之和。作为对节点(u,v)的启发,我使用了数组上的最大效用分数和当前节点的效用分数之间的差值:h(u,v)=smax-s(u,v)。我还使用了对基本A*算法的一个修改:我不使用任何目标节点,但是在访问节点时,我维护所有访问节点(封闭集中的节点,如维基百科文章所示)的效用分数总和当这个总和大于指定的阈值时,我停止算法

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

  • cost\u edge
    ,它控制所产生的邻域(u0,v0)的位置和贪婪度之间的折衷,以最大化效用得分之和

  • max\u total\u实用程序
    ,用于控制最终邻域的面积

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


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

除非有负值,否则选择整个数组,那么你就有了最大的效用和惩罚。但我猜这不是你想要的。在一般的图中,对于一般的一切,这将被称为“节点加权集奖斯坦纳树”。(我的导师)给出了平面图的常数因子原对偶逼近。我不知道实施起来有多困难,也不知道是否值得。@Nicoschertler没错,我没有明确说过惩罚是消极的。@Davidisenstat谢谢你的建议,我会调查的。当然,我仍然愿意接受评论或其他建议。