美赛后的一些感想
2024mcm其实已经过去有一段时间了,在实验室痛苦地憋完cupt汇报内容后,突然想写一点比赛经历的感想。以下内容包含:总结的比赛tips和本人一些不成熟的想法,建议甄别食用
Intro¶
5月3号那天还在宜家陪老妈闲逛,中午的时候我们的指导老师突然给我发消息,问我们队伍比赛结果如何。
当时我还在纳闷五月底出结果怎么现在就能看结果,然后抱着试一试的心态去官网查了查,结果一张F奖证书出现在眼前,说实在的,当时有种不真实的感觉。

Before MCM¶
在打美赛之前,我还有过一次坎坷的国赛经历,当时是和两个自己比较熟悉的同学组的队(一个同班同学DY,另外一个是大一立项的组员XM)。
国赛的备赛过程,简单来说就是,想多自由就多自由,想多随意就多随意:我们没有提前去找老师指导,只是在b站的铺天盖地的数模教学视频中零零散散地看了一点东西,什么「层次分析」、「熵权法」,大概知道是什么意思,但也就止步于此。
当时我们也有“复现”往年题目的想法,但都仅仅是“明白思路,没有算出正确结果”的那一步,对于“注重计算结果正确性”的国赛来讲无疑是我们队埋下的一颗地雷;至于比赛的分工配合那更是没有提前演练,导致我们在比赛过程中事倍功半,效率低下。
国赛开始后,因为对每个题都没有什么想法,我们花了整整一个下午+晚上的时间确定选题,我们的队员DY看见A题和物理很挂钩,便极力推荐选A,我和XM也没啥自己的看法便同意了,于是第二天早上开始着手做题。
之后的做题过程中,大家都在忙,但都不知道在忙什么🤣:
-
程序方面,在开始构思解题步骤的时候就是想一题做一题,导致写的程序也是删删改改,bug频出。我依稀记得2023A的第二道题和第三道都是在讨论如何优化反射镜的排布方式使得发电效率提升,按理来说一开始就应该想到用一些启发式算法去进行优化,但是当时我们脑子里根本就没有“优化”这个概念,还在死磕如何通过“解析表达式”求得最值。
-
论文方面,论文手在一开始没有参与讨论,不清楚建模手的思路,导致论文手在码论文时变成了打字机,建模手说一句论文手写一句,有一种小学老师听写的美感……这也导致了,最后的论文细节检查只能由建模手和编程手来完成。
就这样到了最后一天晚上六点,我们完成了2/3的题目,时间紧迫,于是把大致的思路写出来之后就准备提交了。
戏剧性的是,到了国赛结果公布那天,发现所有奖项里面都没有我们的队伍编号,最后跑去问老师问队员才发现,XM居然只上传了MD5码,论文没有提交,三天“忙碌”一场空,这或许是裸考的报应吧(
MCM¶
关于组队¶
在国赛惨败后,不甘于国赛史一般的结果,我准备在寒假的时候再去尝试一下美赛,刚有这个念头的时候就发现最大的问题不是备赛,而是寻找队友:2024年的美赛开赛时间是2月2号,能在临近过年的时候留校备赛的人本来就不多,能够在学校打比赛更是少之又少。之前打国赛的队员都是因为这个原因没能组建成功,之后通过学校社交媒体“大海捞人”,居然有不少同学有组队意向,在简单地交流(面试)后,我选择了两个同学:一个无数模比赛经历但是熟练latex;另一个打过国赛,但是结果不理想想“一雪前耻”
现在想起来其实挺庆幸当时是和自己之前不认识的同学组队
如果是我和平时很熟悉的同学组队,往往会缺乏那种“边界感”,在比赛过程中容易打岔,起争论时也会僵持不下,拖慢进度
吸取了上次国赛经验,这一次我们准备提前发邮件联系了cyy作为指导老师,老师也很负责细心,给我们做好了备赛流程(虽然是祖传的):要求我们先学习基本的一些算法知识,在两周时间内,复现2020A题炉温曲线的论文,从汇报PPT到功能代码都需要完成(从那时开始我才体会到有老师指导下的准备是多么的舒畅)
复现与学习¶
在复现中,我们没有专门抽出时间来看数模相关的算法,而是选择看2020A讲解视频的过程中,遇到实在不理解的再去看对应的算法讲解:比如炉温曲线那道题涉及的「C-N隐格式」、「粒子群优化pso」都是在讲解中途去看,然后回来继续听讲解,这样一能了解原理,二也不会过于拖慢进度。在最后的实际比赛中我们也是沿袭这套方法。
在后来的汇报中,我们队伍做的展示其实不是很好:PPT中变量名不统一、原理讲述不直观,有些思路产生的太突兀(比如其中有一道题目求最佳过炉速度,我们当时就直接按照讲解提到的二分法搜索做了下去,也没有去想其实“正常人”一开始想到的最直接的办法就是使用暴力搜索...)在汇报完后被“劈头盖脸”数落一顿,但是考虑到美赛最后只提交论文,所以在之后也没有在PPT上做太多修改,转而开始复现往年的美赛真题。
原题复现¶
美赛题给我的第一印象就是题材宽泛,无从下手。如果说国赛的难点是如何算出准确具体的答案,那么美赛最大的难点恐怕就是如何找到切入点下手,最重要的是,能让自己构建的理论说服自己。
我们当时最开始做的题目是2023年的B题,题目大致的要求就是出台一个法案,让居民的经济收入和动物的生存状况得到改善(看完的时候我还在想ICM怎么跑到离散型(B)去了),我们当时想了一个晚上,也没能讨论出一个让所有人的信服的理论出来;
所以后来我们转战2023A,这道题主要在围绕群落丰富度如何影响生态系统抗旱性提问,这道题好就好在,它有比较成熟的模型可以直接拿来使用和修正:CSDN的很多文章里面都提到了Lokta-Volterra
模型,一个描述捕食者和猎物数量关系的方程组,把这个方程组在广义上延伸一下,移植到这道题目里面,可以转化成描述各种种间关系的方程组(2023A题L-V模型分析)
关于数据¶
在确认好核心方程后,紧接着就是个人认为的最大难点——寻找数据源。在美赛的评分体系当中,模型在现实中的可运用性也是十分重要的一个判分点,所以需要确定与实际情境相关的系数,比如我们的L-V模型中的互动系数。然而在绝大多数情况下,系数基本上是很难通过自己的理论推导得到。所以要确定这样的系数/数据通常有以下几种方式:
- 谷歌学术相关论文的实验测量值
- 去各大数据源搜寻(比如各政府官网,
kaggle
) 巧妙构建系数
关于能不能“编数据”这种行为,各有各的说法。我个人是不反对但是也不推荐,因为如果确实没有相关的实验数据,这不妨作为一个备选方案。毕竟在往年的许多O奖论文中,也有不少不具有说服力的超参。
其他¶
前人成果¶
在备赛的过程中还有一些零零散散的tip,其中一个是在正式做题前搜寻参考前人的研究成果,毕竟要求几个本科生在短短几天的时间内平地起高楼多少有些不现实。
我印象最深的是2022A,题目要求制定一份自行车运动员在比赛全程输出功率的分配方案。我们当时的思路是先确定输出功率,行驶速度,能量消耗这三者的关系,接着把整个赛道给离散化,然后用pso去优化功率分配。整个思路是没有太大问题,但我们一直卡在了确定输出功率与能量消耗的关系上,直到后来我在B站上刷到了一篇美赛的备赛记录,上面有提到一篇arxiv论文和这道题的方向高度重合,在这篇文章里实际上就很好地阐述了运动员的能量输出机理——细胞的有氧无氧呼吸。可以说在真正比赛的时候,能找到这样的一篇文章,无疑是如虎添翼。
内容检查¶
美赛提交的论文必须使用英语,我们队伍当时的策略是:先用中文写初稿,再用GPT去进行第一次翻译,接着再用Grammarly
语法插件去检查语法/拼写错误,在最后一晚整体阅读论文,做调整格式,优化表达等
关于美术建模¶
还有一个点是,美赛经常被戏称为“美术建模”,是因为美赛提交的内容只有一篇论文(有的题目可能要求其他的报告或者信件),所以有意地美化论文的排版样式可能会提升评委的观感:论文内容不仅仅是题目的解答过程,还可以加入你们的建模流程,用动画/手绘图像描述你们的模型结构,甚至可以加入一些和建模内容无关但是和题目主题关联的插图
AI的使用¶
今年美赛新增了一条规则,需要在论文结尾处添加一份生成式人工智能的使用报告
我的看法是:一般的翻译工作、求解思路获取是不需要写上去的,这样的使用报告写上去反而会「掉价」。但是如果是在论文的写作过程中有AI直接生成的内容,或许就要考虑是否要添加使用报告了。
比赛中¶
今年的美赛我们选的题目和七鳃鳗有关,探究的是七鳃鳗的性别比例如何影响自身以及群落的状态
最近几年都出现了这种类型的题,2024的七鳃鳗、2023的抗旱、2021的菌落,嗯这很环保
我们还是在L-V模型基础上做文章,把七鳃鳗成年的雌雄个体分离当做独立“种群”,增加了七鳃鳗幼体产生和转化的方程。比赛中的编程工作量不是很高,反倒是打磨摘要和画workflow上面花了不少时间。
中途我们还因为模型构建的合理性问题重开过一次,这时候论文也写了将近一半,真的特别感谢我们队伍的论文手:在第三天一天时间内重新开写,一口气从第一题写到第四题结束,要不是论文手的极高码字效率,我们当时可能真的就顺着原来的问题模型继续做下去了,由此观之,找一位熟悉latex的同学还是很有必要的(),至少提高了不少的建模容错率。
The end¶
感谢能够看到这里的你,祝学业/事业有成,下次再会👋🏻