机器学习通常需要用到大量的人工标注好的数据进行训练。现在有这么一个数据集,有 N 个张照片,每张照片中都有一个模特。某个研究员想要训练一个机器学习算法,能够根据照片对模特的魅力值进行评分。为了完成这个算法,研究员找了若干个志愿者对数据做一个标注。每个志愿者每次会看到系统给出的两张照片 x 和 y,然后告诉系统他认为哪张照片的魅力值更高。例如 x 的魅力值比 y 的要高(记作
<x, y>)这样一个有序二元组称之为一个数标注。
研究员收集了若干个这样的数据标注,他想找到一组对每张照片的评分 c
1, ..., c
n,使得这个评分和数据的冲突越少越好。为了方便设定N 张照片所组成的
%7D%7B2%7D)
对照片都分别有 4 个记录,也就是被标注了 4 次。定义 g(x, y) 为记录
<x, y>出现的次数,定义评分 {c
n} 的冲突值:
%20%3D%20%5Csum_%7Bi%2Cj%2Cc_i%3Ec_j%7D%20g(j%2C%20i)%20%2B%20%5Csum_%7Bi%2Cj%2Cc_i%3Dc_j%7D%20%7Cg(x%2Cy)%20-%20g(y%2Cx)%7C)
你需要求出在这个数据集下冲突值 f(c) 的最小值。
输入描述:
第一行一个整数 N,表示数据集大小。
接下来 2N(N-1) 行,每一行都有两个整数 xi, yi ,表示第 i 组数据标注 < xi, yi >.
输出描述:
输出一个整数,冲突值的最小值。
示例1
说明
如果这两个数据得分相同,则冲突值为2;如果 1 比 2 得分高,则冲突值为1;如果 2 比 1 得分高,则冲突值为 3. 所以冲突值的最小值为1.
备注:
1 ≤ N ≤ 15, 1 ≤ xi,yi ≤ N, xi ≠ yi