通俗理解Fagin’s Algorithm和Threshold Algortihm

Fagin算法和Threshold算法都是Top-K排序领域的经典算法(K代表只要对前K个值排序值),不同于传统Top-k对一维数组前K个值排序,Fargin和Threshhold算法适用于参考多个排序指标时对前k个物品排序。
**举例 **
你想买个手机,问了两个对电子产品比较在行的朋友,朋友1给出了这份推荐列表:

而朋友2却给了这份推荐列表:

假如你对两个朋友都同样信任,你该听谁的建议呢?
方法1--平均两个列表的推荐指数
根据原来两个推荐列表每项的推荐指数,重新生成一个列表,新列表的每项参考原来列表的值来重新计算;譬如:
V(iphone 5s)=(V1(iphone 5s)+V2(iphone 5s))/2=(10+7)/2=8.5
V(小米3)=(V1(小米3)+V2(小米3))/2=(9+9)/2=9
...............
然后每个型号来比较,这种方法简单暴力,感觉上不高效,因为你只要买一个手机,却要把每个手机权重都计算出来;感觉上只要每个列表比较前面几个就够了,但具体要比较几个呢?却又说不清,这时候就该的Fagin和Threshold算法出马了!
Fagin算法
1.两个列表都选择各自的第一行的某项,生成新列表


2.两个列表再取第二行的每项,放到新列表中

3.两个列表再取第三行的每项,放到新列表中
........
(直到新列表有一项的值在原先两个列表都取到过;可以看到其实第二步就可以停了,因为新列表的小米3的两个值都取到了)
4.补全每项在其他列表中的值

5.就从已获取项里找最推荐的手机,列表其他值没必要看了

所以小米3是最值得入手的!
疑问1:这里总共只取了三个手机来作比较,原先两个列表其他项都没再比较,真的就可以了?
回答:当小米3从原先两个列表都取到了值,这说明原先两个列表再也找不到一个手机品牌推荐指数能比小米3再高了(因为如果有,它至少在原先某个推荐列表排名比小米3高,会已经出现在新列表中了)
疑问2:小米是第一个原先两个列表都获取到值的,所以平均分最高?
回答:就算小米3首先"出线",也不能说小米3是最值得入手的,还需要把iphone 5s和Find 7在其他列表的推荐指数也找出来,将三个一一比较才能知道最后鹿死谁手~(当然第5步比较了发现还是小米3高)
Threshold算法
1.两个列表都选择各自的第一行的项,生成新列表(这一步和Fargin算法相同)

2.算出两列表取出的第一行的平均值
(V(iphone 5s)+V(小米3))/2=(10+9)/2=9.5
3.补全每项在其他列表中的值

4.看新列表的各手机推荐指数平均值是否大于第2步算出的9.5

8.5和9都比9.5小,重复1~4步
5.两个列表都选择各自的第二行的项,添加到新列表

6.算出两列表取出的第二行的平均值
(V(小米3)+V(Find7))/2=(9+8)/2=8.5
7.补全每项在其他列表中的值

4.看新列表的各手机推荐指数平均值是否大于第6步算出的8.5

这一步可以看出iphone 5s和小米3都已经大于(等于)第6步算出的8.5,因而没必要再找了(原先两列表剩下的各项最大平均分也不会超过8.5);对比ihone 5s和小米3的平均分,还是选择了小米3.
最后
以上例子虽然只是K=1简单情况下的比较,但Fagin和Threshold算法的基本原理也就大体这样,想要准确而全面了解Fagin和Threshold算法的同学可以看严(rong)谨(chang)的论文Optimal aggregation algorithms for middleware.

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 136,322评论 19 139
  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 177,460评论 25 709
  • 一些离题万里的碎碎念 那是三年前吧,写过一些初中复读那年的故事,草草结尾后,已远离文字好几年了,突然看到简书,想写...
    大漠十三阅读 270评论 1 2
  • 头一次用简书,让我想起了以前咬着笔一字一字码文的日子,虽然常常半途而废不写结局,虽然那些故事从来都是写给自己看...
    SPEC凪涼阅读 260评论 0 0
  • 文|77若初 秋渐浓,院子里的那些树,美的缤纷夺目。除了常绿的树依旧常绿,多数的树叶都红的黄的又热闹了起来,像春日...
    若初的清明觉知阅读 699评论 17 23

友情链接更多精彩内容