查找单个数字以表示两个不同数值标度的算法?

时间:2017-03-24 05:18:41

标签: java algorithm sorting math

我正在寻找一种算法来组合两个值;

  • 当值较高时,第一个值表示正结果。例如,0.98是好的'和0.15是“坏”#。

    • 当值较低时,第二个值表示正结果。例如,10,000是“坏”'而1000是“好”'

我需要一种确定一个值的方法,该值可以用一个数字表示这两个量表,这样我就可以根据我的应用从高到低对我的应用进行排序。我不确定是否有人知道这样的算法或任何建议,但非常感谢任何帮助。谢谢。

P.S。我知道我可以否定'这两个值中的一个,让它们以相似的比例显示,但是我不确定它在Java中是如何工作的。

编辑:抱歉,为了详细说明,我根据与用户输入图像的相似性对图像进行排序。我用来返回相似度值的每个算法都以不同的比例运行。第一个是介于0.00和1.00之间的值,数字更接近1.00,表示图像更接近原始图像。然而,我的第二个算法返回1000+的值,较高的值表示图像 less 与原始图像相似。我需要将这两个值组合起来,并允许我按照相似性的顺序对结果图像进行排序,最相似的图像显示在列表的顶部,最不相似的图像显示在列表的顶部。希望这有助于消除任何困惑。再次感谢。

1 个答案:

答案 0 :(得分:3)

如果你唯一的目标是排序,你需要提出一个函数g(x,y)来代表你的价值观的“善”。当且仅当g(x1,y1)> 1时,一对(x1,y1)优于(x2,y2)。克(X2,Y2)。

该功能必须代表您认为“好”的东西。一个简单的例子是:

g(x,y) = x - y / 10000