junxnone / ml

ML/DL/RL/RL......
6 stars 4 forks source link

lapjv - Linear Assignment Problem #48

Open junxnone opened 5 years ago

junxnone commented 5 years ago

lapjv - Linear Assignment Problem Jonker-Volgenant

lapjv算法是一种最佳任务分配方法,可以应用的地方很多。需要输入一个分数方阵,最终获得一列最佳分配数值。

Reference

Brief

image

from lapjv import lapjv
import numpy as np
a = np.array([[1,2,3,4],[2,4,6,8],[3,6,9,12],[4,8,12,16]])
c,x,y = lapjv(a)
print(c,x,y)
print(a[x,y])
(20.0, array([3, 2, 1, 0], dtype=int32), array([3, 2, 1, 0], dtype=int32))
array([16,  9,  4,  1])

cost 最小为20, index 为 (x,y)

图像应用

  1. 将图像之间的距离计算为相似度矩阵score
  2. 使用lapjv筛选出难相似度cost比较小的不同类别作为模型输入
junxnone commented 5 years ago

junxnone/AI#42