知道正确顺序的启发式方法
Heuristics to know correct order
好吧,我有一个灰度图像,其行的顺序不同,所以我想用适应度函数对行进行排序以了解哪个顺序是最好的我做了以下启发式:
for(int i=0;i<or.size()-1;i++) {
for(int j=0;j<imagen[0].length;j++) {
aux+=imagen[or.get(i)][j];
aux2+=imagen[or.get(i+1)][j];
}
fitness+=Math.abs(aux-aux2);
}
return fitness;
我正在做的是对每一行的灰色求和,然后查看下一行的不同之处。我认为正确的顺序是变化较小的行,所以正确的顺序应该是适应度最小的顺序。但它不起作用,关于如何更改启发式以了解最佳顺序的任何想法?
向问题添加一些信息:图像以包含像素信息的矩阵形式给出,但行的顺序不正确,列没有问题。
我解决了计算每个像素与其邻居之间的距离的问题,这意味着:distance = sum ( abs(current-corner1)+abs(current-corner2)+abs(current-top)... 等等。 ..
好吧,我有一个灰度图像,其行的顺序不同,所以我想用适应度函数对行进行排序以了解哪个顺序是最好的我做了以下启发式:
for(int i=0;i<or.size()-1;i++) {
for(int j=0;j<imagen[0].length;j++) {
aux+=imagen[or.get(i)][j];
aux2+=imagen[or.get(i+1)][j];
}
fitness+=Math.abs(aux-aux2);
}
return fitness;
我正在做的是对每一行的灰色求和,然后查看下一行的不同之处。我认为正确的顺序是变化较小的行,所以正确的顺序应该是适应度最小的顺序。但它不起作用,关于如何更改启发式以了解最佳顺序的任何想法?
向问题添加一些信息:图像以包含像素信息的矩阵形式给出,但行的顺序不正确,列没有问题。
我解决了计算每个像素与其邻居之间的距离的问题,这意味着:distance = sum ( abs(current-corner1)+abs(current-corner2)+abs(current-top)... 等等。 ..