kaggle圣诞节比赛一:Santa Gift Matching Challenge

本文介绍了2018年Kaggle上的Santa Gift Matching Challenge,比赛目标是通过算法优化,使孩子们和礼物的满意度最大化。文章讨论了如何将问题转化为Max Flow with Min Cost的图论问题,并利用谷歌的ortools工具解决。同时,介绍了比赛的数据约束,如三胞胎和双胞胎的特殊需求,以及评估方案——归一化的平均幸福感(ANH)。
摘要由CSDN通过智能技术生成


前言

大家常常说程序员是个非常严肃的职业哈,但是其实呢,我们也在用自己的方式表达浪漫。大家如果在Kaggle上搜索“Santa”,就能够发现Kaggle上每年都有和Santa有关的数据分析比赛:比如帮助Santa分配礼物,帮助Santa找合适的路线,如何用一个残次的雪橇怎么给孩子们送礼物等等。所以,当以后大家收到圣诞节礼物的时候,请大家记得程序员同学们的默默付出hhhh。
这个系列blog是回顾近几年的Kaggle上关于Santa主题的一系列竞赛题目。

一、题目简介

1.题目内容

比赛题目为Santa Gift Matching Challenge,比赛时间是2018年。题目内容是提出一个礼物分配算法使得孩子们的整体满意度(happiness)最高。数据中,每个孩子有100种想要的礼物,一共有1,000,000个孩子,Santa一共有1000种礼物,每个礼物都有1000想给礼物的孩子(好孩子)。
所以,这是一个双向匹配的问题,既要保证孩子们的happiness高(孩子得到想要的礼物),也要保证礼物的happiness高(礼物送到它喜欢的孩子那里)。

2.数据与约束

在比赛中,有1,000,000个孩子,每个孩子有自己的100个礼物偏好列表;有1000个礼物,并且每个礼物期望送达的1000个孩子列表。所以我们需要把给每一个孩子一个礼物,使得孩子和礼物的happiness最高。对于孩子来说,这个礼物在其wish list排名越高越好,对于礼物和Santa来说,这个孩子在该礼物的好孩子排位越高越好。
这里有一些细节问题,

其中,0,5%的孩子是三胞胎,三胞胎的礼物需要相同;4%的孩子是双胞胎,双胞胎的礼物需要相同。每个礼物有1000件,所以1000种礼物*1000件 = 1,000,000,与孩子数目一致,能够保证每个孩子一件礼物。

3.评估方案

评估方案如下,采用归一化的
Average Normalized Happiness (ANH) = (AverageNormalizedChildHappiness (ANCH) ) ^ 3 + (AverageNormalizedSantaHappiness (ANSH) ) ^ 3
A N C H = 1 n c ∑ i = 0 n c − 1 C h i l d H a p p i n e s s M a x C h i l d H a p p i n e s s ,

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值