



我校尹子航、张楚涵、许智博三名学生在卢卓成老师的带领下,于5月20日至5月24日受邀赴新加坡国立大学附属数理中学(NUS High School of Math and Science, 以下简称NUS HS),参加由NUS HS与新加坡教育部共同组织的国际数学建模竞赛,即新加坡国际数学与计算挑战赛(SINGAPORE INTERNATIONAL MATHEMATICAL AND COMPUTATIONAL CHALLENGE,以下简称SIMC)。 SIMC是一项基于现实问题的数学和计算建模挑战,新加坡国立大学的一名资深教员担任此次挑战的首席命题人。比赛的参赛形式为团队赛,每所学校允许组建一个由三名学生组成的团队。每个团队在比赛期间可以使用任何资源,例如教科书、计算机和互联网上的材料。每个团队需独立进行挑战,不得接受除三名学生以外的任何人的帮助。每个团队通过书面报告来提交解决方案,并要向评委进行口头展示自己的解决方案。
第一天上午,我校师生在NUS HS的礼堂参加了SIMC 2024的开幕式。在开幕式上,NUS HS校长苏丽玲女士进行了开幕致辞,SIMC与2008年举办之初相比,更加注重满足当前青少年的学习需求,通过引入计算机建模来促进跨学科思维,竞赛旨在让参赛者运用数学和计算机技术解决现实问题。2024年共有42个来自全球各地的学校参加本次比赛。开幕式的最后,现场还进行了“传立方体”(也是本次比赛的logo)的活动,现场气氛十分热烈。
当天下午,我校学生参加了组委会举办的AI Learning Festival,并参观了Explore Track学生制作的人工智能海报并进行了热烈的交流与讨论。此次比赛分为两个赛道:Explore和Endeavour。Explore赛道面向新加坡学校的Secondary 1至3的学生。Endeavour赛道则面向全球学校,年龄在16至18岁的10至12年级的学生都可报名参赛。比赛的官方语言为英语。我校组队参加的就是Endeavour赛道的比赛。
接下来我校学生聆听了由Chief Judge所做的关于机器学习中无监督学习这一分支的报告。
我校学生与其他参赛学生一起进行了破冰活动,在活动中我校学生与外国友人热情交流,一起做游戏,并且互相学习了各自的语言。
第二天上午九点比赛正式开始,学生们认真讨论解题思路、分工协作,尹子航同学负责编程,张楚涵同学分析问题并提出解决方法,许智博同学负责撰写报告。虽然三人是首次参赛,并且之前没有接触过机器学习的相关知识,但是大家在题目发布后积极学习相关资料、努力解决问题直至凌晨。
第三天,在匆匆休息之后,大家心念着未完成的比赛任务,早晨七点又早早地起床,继续学习和讨论。我校学生一上午都沉浸在题目当中,直到下午两点,可以开始提交题目后,大家将成果上传。尽管最后两问的结果不是很理想,但在有限的时间里,已经尽到了最大的努力。提交报告后,大家再次开始利用晚上的时间为口头报告做准备。
第四天是比赛的倒计时日,同学们上午继续紧锣密鼓地准备口头报告,在11点完成了英文的演说稿和ppt,接着在答辩时间里反复为三组评委展示了三次成果,最后通过30分钟的Q&A环节,大家清晰地阐释了自己的想法和思考,并从评委的提问中获得了不少启发。
第五天下午,大家回到学校参加SIMC颁奖典礼暨闭幕式。闭幕式上,比赛出题人解读了比赛题目,随后是Explore Track和Endeavour Track的颁奖仪式,最后冠军队伍分享了他们的做题思路。晚上,NUSH US精心安排了告别晚宴及精彩的演出节目。
三位同学在比赛结束之后也都总结了宝贵的经验。
尹子航同学:
这次比赛对我而言,是一次宝贵的学习经历。首先,它让我对机器学习领域有了初步的认识,并让我有机会实践其中的一些理论。我尝试运用了其中的K-Means等算法,感受到机器学习的深刻魅力。其次,我深入学习了Python中的NumPy、Matplotlib、Random等库,掌握了其中部分函数的功能和应用,这对我的编程能力有了较大提升。在这次比赛中,我深刻体会到,比赛与常规考试有所不同。并非所有的题目都如我们所习惯的那样,前面的题目对后面构成提示。这次比赛中的题目,需要用创新思维去解答。这也让我认识到在学习生活中,发散性思维的重要性。此外,这次比赛主要形式是做项目,这与我们平时做题的方式截然不同。这让我明白,做项目同样是检验我们所学知识熟练度的好方法。在参与项目论文撰写的过程中,我了解了论文的各个结构。而在答辩环节,我们用纯英文进行汇报,不仅锻炼了我的英语口语能力,也提高了我的演说技巧。总的来说,这次比赛让我收获颇丰,带给我这些宝贵的经验,也提高了我的各方面能力。
张楚涵同学:
在这次比赛中,我们遇到了很多问题。在发下题目后,由于阅读英文的障碍,先是读懂题目捋清思路就花了好几个小时。在反复讨论确定解题思路后,写程序的过程又问题频出,一时程序跑半个小时也出不了结果,一时bug一个又一个改都改不完。没有经验的初次尝试使我们在紧张的时间内只上交了不甚满意的答卷。但在建模比赛的过程中我们也收获了许多。在这次比赛之前,我们从没有如此长时间地深入的思考一个如此复杂的问题,在自主的探究中不断改进自己的方法,不断自我迭代和进步。甚至在比赛结束后,我们仍沉浸在问题当中,为寻找更快更优的解法认真思索。这次比赛让我体会到了学习数学以及应用解决问题的乐趣。
许智博同学:
在本次比赛中,我们组基本的策略是在发题后的几个小时内所有人先认真读题。把题从头到尾先通读一遍,理清基本的思路,对一些问题有基本的解决方法。读完题之后我们先开始了对Task1到Task4的分析与讨论。讨论完之后我们队负责写代码的人开始写对应的代码,写文章的人也同步开始写Task1-4的报告,剩下一个人继续研究剩下最难的Task5-7。到发题第一天晚上的时候我们已经写完了Task1-5的部分。剩下的十几个小时我们就全部用来研究task6和Task7。在Task6和Task7的部分我们遇到了真正的难题,在加入了大量的噪声之后普通的K-means已经无法处理好这个数据并得到一个较好的图像。所以我们就想到了用Task5中提到的log-likelihood来替代普通K-means中向量间的距离。完成了算法之后就是最关键的代码部分,但是我们的代码部分出现了问题,导致最终跑了一个小时都没有跑出结果。也是很遗憾的没有全部完成Task6和Task7。在观看了冠军队的讲解之后,我们意识到其实我们对这个题的思路有一些问题。我们一直想的是一问问之间是有联系的,所以我们一直在尝试去改进K-means来完成Task6和task7。而实际上我们完全可以去寻找一个合适的降噪方法,在完成K-means聚类之后对图像进行降噪。例如冠军队就是用的PCA方法对K-means聚类之后的图像进行降噪,最终成功解出了Task7。这次比赛我们每个人都学到了很多,我们学会了机器学习中的K-means方法,学会了Latex的使用,锻炼了我们的数学思维。
总而言之,这次比赛为我校学生提供了宝贵的学习机会。尽管没有获得奖项,但通过比赛,我校学生深入学习了机器学习知识、提升了Python编程能力、认识了许多国际朋友、加强了交流和团队协作能力。希望未来我校学生可以继续参加这样的国际赛事,为学生提供更多展示自己才华和学习成果的平台,同时促进学校与国际的交流与合作,共同推动学生的全面发展。