前言

开始写这篇文章的时候,距离我们小组提交论文刚过去三个小时,距离比赛正式结束还有十几个小时。
去年的十二月我分享了数模亚太赛的比赛心得以及经验,那么本篇就不再重复内容,仅作为我比赛经历的一个记录,可能会比较流水账。
另外,上次的亚太赛拿了三等奖,也算是意料之中吧,不是很好也不是很差就是了。

另外,防止有读者不知道美赛是什么,这里做一个简单介绍:

MCM/ICM

MCM代表数学建模竞赛(Mathematical Contest in Modeling),ICM代表插值建模竞赛(Interdisciplinary Contest in Modeling)。这两个竞赛都是由美国数学协会(MAA)主办,面向全球高校本科生和研究生开放。

MCM竞赛要求参赛者在4天时间内,选择一个问题并用数学建模的方法来解决它。问题的范围很广,可以是关于工程、物理、经济、环境等领域的实际问题。竞赛中要求参赛者独立思考、分析问题、设计模型、进行计算和撰写论文。MCM竞赛的评分标准除了解题的正确性,还包括论文的质量、逻辑性和可读性等因素。

ICM竞赛与MCM竞赛相似,但要求参赛者在3天时间内解决一个跨学科的实际问题,其中要用到多种学科的知识,如计算机科学、数学、物理、生物学、地理、经济学等。ICM竞赛的评分标准也与MCM竞赛相似,强调模型的创新性、可行性和可解释性。

这两个竞赛都是非常有挑战性的,要求参赛者有较强的数学、计算和写作能力,同时也需要具备团队合作和解决实际问题的能力。参加这些竞赛可以提高参赛者的学术能力和解决实际问题的能力,同时也可以为参赛者提供展示自己能力的机会。

笑死,这段不是我写的,是ChatGPT写的

另外很有趣的一点是,这个比赛的官网上历年题目的优秀论文基本上都是中国的队伍,只有个别少数队伍是美国的。可以说中国的数学已经卷到国外去了。这个比赛在国外也几乎看不到热度,在Twitter相关的hashtag下的最新讨论也是在2019年。
COMAP


比赛经历

准备阶段

好吧,其实...根本没准备
本来寒假假期之前在Udemy上买了机器学习和Python的课程,但因为假期第一个月在备考雅思,随后的一个月又在摆烂,所以几乎是没有在准备的

比赛前期

学校把期末考试直接安排到了美赛期间,对这种离谱的安排我只能直呼6,这几乎导致了我考试也没有考好,比赛也没有弄好
也正因为如此,比赛前几天的许多准备工作也是匆忙中完成的,状态可以说非常糟

比赛期间

Day 1

比赛的第一天上午就是一门八点钟的考试,所以状态是非常差的。六点半起床,大约九点钟匆匆交卷,去提前借好的教室开电脑,看题。
拿到题几乎傻眼了,除了C题是不提供数据的。
我们最初在十点钟做决定,选题定B题(马赛马拉自然保护区),于是根据题目开始搜集相关数据和论文,但到下午大约三点仍然毫无进展,因为数据实在是太难找了,再加上这道题需要使用到GIS技术(比如使用ArcGIS来建模),故只能放弃,转战做C题。
C题是一道和NLP(自然语言处理)相关的题,题目内容主要就是研究Wordle的难度和什么相关。

没错就是这个(第一天那天特地下了一个玩了一把,结果5次通关,还是有点难度的):
Wordle

简单说就是在有限的6次内,每次只能填5个字母的单词,游戏会给你提示已经提交的单词内有没有和正确答案重复的字母以及位置是否和正确答案对应的字母(如果是困难模式就必须要求每次输入之前已经正确的字母)。
推荐英语词汇量好的朋友去玩玩这个游戏,还是比较好玩的:https://www.nytimes.com/games/wordle/index.html
New York Times的另一款文字小游戏叫Spelling Bee也非常好玩,高中那个时候也经常玩。

第一天几乎一整天都没有实质的进展,唯一的进展大概就是读了题。由于第二天又有考试的缘故,还需要空出晚上时间来复习。

Day 2

第二天几乎一整天都在花时间在想该怎么把单词向量化的问题上,因为单词没法直接作为数据来进行分析。
所以第二天一整天几乎都花在了找合适的模型上,依然没有任何进展。
唯一的进展大概就是用ChatGPT写了个MatLab的代码,然后运行成功后把第一题的预测做了。另外写手把文章大致框架写了一下。
另外,强烈不建议使用ChatGPT写代码,让ChatGPT修bug可能是个好主意,但是让它写完整代码几乎不现实,基本上没法一次性运行成功,还得人工去修bug,给AI反向打工就是说

Day 3

第三天几乎是进展最大的一天,因为把最难攻克的第二题的理论部分解决了。
可笑的是因为不会用Python写爬虫,所以我们三个人分工把360行数据手动录入,并且手动判断了360多个单词的属性。
在这之前我们尝试过让ChatGPT代劳写一个Python脚本出来以便给360多个单词属性分类,但实际效果是这个笨AI写的程序把所有的单词全部分到了一类里去。后来也试过直接让ChatGPT代劳做分类,效果也不是很理想
ChatGPT分类
所以精通一门编程语言真的很重要,还好这次只有360多条数据,如果是上万条估计直接...

与比赛无关的是,第三天终于出晴了,久违的太阳非常暖和,晚霞也非常美
晚霞

Day 4

这一天基本上完成了70%的内容。数据处理工作之后各种建模工作就非常方便了。
这一天论文初稿也弄出来了,但初稿出来的时候篇幅只有13页,缺了非常多的内容,只能留到第五天加。
晚上我帮忙完成了一下摘要部分,用ChatGPT做了一下润色,但内容实在是少,对比一下往年优秀论文的摘要简直依托答辩。
那天夜里我简单完成了一下两页非技术性文章内容的写作(之前是写手用ChatGPT+DeepL合成的科技与狠活,但内容的质量是依托答辩),所以那篇的内容后来我直接上手用英语写了。

Day 5

也就是今天,基本上可以算比赛的最后一天了。
可以说对论文提升最大的一天,把13页的内容增加到了20页(当然其中有不少是含水分的)。
下午把论文给指导老师过目,修改了很多东西,其中最主要的是少了灵敏度分析。在此之前我们一直以为误差分析就是灵敏度分析。(包括之前亚太赛也是,所以亚太赛没拿二等奖可能就是缺了这个?)
下午几乎都是在做这件事,晚上八点多最终定稿,提交之后立即去吃晚饭。

小结

这次比赛可以说准备非常不充分,状态也比上次亚太赛差好多。
大概是因为考试的原因以及假期刚过来的原因,整个人非常的累,没有动力,比赛期间很难提起劲。
本次比赛也多亏了ChatGPT诞生的时间之巧,刚好赛方还没有对是否禁用ChatGPT做要求,国内很多人也不知道这种东西的存在(或者知道也没法用),赚了一波信息差。
比赛之前我帮助两位队友注册了ChatGPT,因此我们的建模,编程,写作全部得到了它的加持。此外ChatGPT也是我们的智能顾问和翻译。
可以说,我觉得论文没有署名ChatGPT都不好意思...
没错它真的会给自己的论文署名ChatGPT
需要改进的地方就是缺乏专业知识(数学方面的以及计算机方面的),这也没办法,因为我们三个人都没有这两个领域的背景,没有受过专业培训。
另外,这一次我们的写手第一次采用全文用LaTex写作...不得不说LaTex一长起来会比较高血压,尤其是编译不通过还要在一堆代码里面找原因的时候。

Last modification:February 21, 2023
如果觉得我的文章对你有用,请随意赞赏