- 主题:琢磨了半天,高考平行志愿接收系统的算法,挺有意思的
都是电子化了,不知道为什么还有投档一说。既然是平行志愿就不应该出现任何的"滑档",否则就自相矛盾。但是现实情况貌似的确有滑档的情况。
【 在 prog2000 的大作中提到: 】
: 现在这种情况很少了 尤其是好学校
: 容易造成滑档
: 之前很多是1:1.1投档,比如某校招1万人,投1.1万人的档案过去,理论上会有1000人录不上,退回省招办,这时如果别的学校也录满了,就会滑档
: ...................
--
FROM 118.199.100.*
for each student order by score desc :
for each university order by interest desc:
for each major in university
if 没录满:
give offer, goto offer;
else:
if 服从调剂:
continue;
else:
break;
大概这样吧
【 在 torcher 的大作中提到: 】
: 一方面要保证某个学生高校里从前志愿往后志愿录取,另一方面,保证高校从报考的学生里高分往低分录取。过去没有计算机处理,只靠人,太难了。再考虑时间和空间复杂度。并行处理。有类似的问题成熟解决方案吗
: 发自「今日水木 on IN2020」
--
FROM 114.246.94.*
不需要么? 现在这么多上直播间咨询或者花钱买服务的, 可不是为了点虚荣. 至于现有招录规则有没有做到, 能不能做到, 多大程度的做到动态优先级, 这不是在讨论么.
【 在 SHUOT 的大作中提到: 】
: 平行志愿只有专业不服从调剂导致退档这一个风险
: 其次那个顺序是考生想上哪个学校的优先级意愿
: 和录取无关
: ...................
--
FROM 183.131.110.*
【 在 icefireice 的大作中提到: 】
: 现在的平行志愿,反正我们这里最大的一个问题是,还没有细化到专业层面。也就是你分数够了一个学校,但专业分不够,又没有选服从调剂的话,基本上你就滑档了,因为等那个学校把你扔出来,这边计算机系统早就把这一批学生分配完了。其实,以现在的技术,完全可以做到专业层面,就是一个专业一个组,没有必要还必须分组。当然,这样也会导致很多烂专业的分特别低,但我觉得那是活该,反而你现在把一堆不喜欢这个专业的人强制调剂进去,我觉得不符合人性。
很多人还是不明白现在的录取方式。
录取分数是考生报出来的不是学校规定的,这是核心。想明白了这个,很多疑惑都能解决。
如果高分考生第一志愿都报北工大,那北工大的录取分数就高。
是高分都报了清北所以清北录取分数线才高,而不是清北把自己的分数定的这么高。
所以学校招生也很拼的,如果学校自己躺平让别人家去和考生联系忽悠,那你自己的分数就会连年看低
--
FROM 111.197.21.*
你们猜测了那么多楼,其实只有第二页一层楼说的是对的,你们都没关注到
高考录取是典型的一对多、有容量限制的双边匹配问题
罗斯和沙普利针对双边匹配问题的研究,获得了2012年诺贝尔经济学奖
他们最初研究的问题和高考就非常类似,是美国医学院学生向各大医院提出竞争实习岗位的双边匹配问题
平行志愿之前我国高考主要采用波士顿机制进行录取,简而言之就是“志愿优先,从高分到低分”,先处理第一志愿,从高分到低分依次录取,再处理第二志愿,从高分到低分依次录取,属于一种贪心算法
平行志愿的具体做法分一档一投和一档多投,增加了一轮双向选择,比波士顿机制更“稳定”一些(稳定的定义见后)
具体操作可以看这篇文章的现状分析部分:《基于不同录取规则的平行志愿录取模型研究》
更加终极的方案是Gale-Shapley双边稳定匹配算法,可见上文所提出的后续算法,其算法复杂度是n^2,并且可以保证收敛
但由于原理比较复杂,并没有落地在平行志愿上面
GS算法提出了一种“稳定”双边匹配的概念,说白了就是在最终的匹配结果之中不会出现“不稳定”的情况
“不稳定”的定义就是A学校认为B学生比现在它录取的C学生更好,B学生觉得A学校比他现在被录取的D学校更好,那么A学校和B学生就是“不稳定”的,他俩应该被匹配起来。
当然,GS算法也不是终极的,还有很多内部问题需要解决。比如欺诈,在有一些衍生算法之中,一个考生可以故意不表达自己真实顺序意见,以获得更大的利益。
总而言之,高考这类的双边匹配算法的大量理论研究主要集中三点:
1.稳定性
2.防欺诈
3.在满足上述两点情况下的某种遗憾最小化
对这个方向技术真的感兴趣的欢迎联系我
【 在 torcher 的大作中提到: 】
: 一方面要保证某个学生高校里从前志愿往后志愿录取,另一方面,保证高校从报考的学生里高分往低分录取。过去没有计算机处理,只靠人,太难了。再考虑时间和空间复杂度。并行处理。有类似的问题成熟解决方案吗
: 发自「今日水木 on IN2020」
--
修改:ni1 FROM 211.145.70.*
FROM 211.145.70.*
专业
【 在 ni1 的大作中提到: 】
: 你们猜测了那么多楼,其实只有第二页一层楼说的是对的,你们都没关注到
: 高考录取是典型的一对多、有容量限制的双边匹配问题
: 罗斯和沙普利针对双边匹配问题的研究,获得了2012年诺贝尔经济学奖
: ...................
--
FROM 118.123.32.*
680的比679的有更多选择权?680清华满了她可以去北大,到时679那个可能北大清华都不行?
【 在 prog2000 的大作中提到: 】
: 不是这样
: 从高分往低分录
: A是680分,试投第一志愿清华,若清华满了,看第二志愿北大
: B是679分,第一志愿北大,若北大已经录满,看第二志愿清华,再满,看第三志愿
: 在同一批次里,都算第一志愿
: --
发自「今日水木 on REA-AN00」
--
FROM 223.74.66.*
那这样的话每次只能一个一个搞定吗?几十万人呢,效率好低
【 在 huashenger 的大作中提到: 】
: 不会分配到其他学校的,每个人每一个批次只有一次投档机会。
: 具体算法就是,学生按照分数进行排序,从高到低进行录取。
: 比如某个学生排全省1000名,等前999名完成投档后才会轮到他。到他之后,会按照他报的志愿顺序依次去查对应学校或者专业是否已经录满,如果该学生的第一、二志愿对应的学校或者
: ..................
发自「今日水木 on REA-AN00」
--
FROM 223.74.66.*
计算机处理的话几个小时就搞定了
【 在 tiantianxd 的大作中提到: 】
: 那这样的话每次只能一个一个搞定吗?几十万人呢,效率好低
: 发自「今日水木 on REA-AN00」
--
FROM 120.229.113.*
是的。
分高的先挑,所有志愿都比分低的优先。
【 在 tiantianxd 的大作中提到: 】
: 680的比679的有更多选择权?680清华满了她可以去北大,到时679那个可能北大清华都不行?
: 发自「今日水木 on REA-AN00」
--
FROM 120.244.21.*