1 前言
很多同学刚开始接触数模的时候,常常会有这个疑问:数学建模应该如何学习,或者是如何入门?也会经常陷入以下几个误区:
- 抱着一本高等数学、线性代数、概率论。。。。猛看
- 刚开始学习一个算法,对着算法原理死扣,耗费大量时间来推导算法公式
- 都说Latex好啊,我就用Latex排版
- 三个队友分工过于明确,写作的只学写作,编程的就撸代码…
我是2018年开始接触数模的,前前后后自己参加、或者带朋友参加各种数模比赛10余次,于我的经验而言,数模要先从归纳、模仿开始,要在实践中慢慢摸索。
首先,对于数模对于刚入门的同学来说,大家高数考多少分,这些都没啥用,或者说根本用不到你去推导公式,这些模型的公式早就有人推导好了,对于大家只需要能弄懂这个模型是干什么的,能够会用就行了,如果你实在是时间充沛,不如多去看几篇优秀论文。
其次,这几年Latex在数模界中越来越火热,但是以我个人的经验,不建议新手去学这个,我们要把有限的时间放在内容上,如果写作的同学,花费大量的时间,去调Latex模板,会给另外两个队友带来很大的压力。而且Latex我一直觉得他的表格打起来十分不方便(尽管有Excel2Latex这样的工具),插图、表如果弄不好也会到处乱跑,最致命的是你们论文写一大半了,到了后边突然出了一个你自己短时间内解决不掉,从没碰到过的bug,这可能直接导致几天的努力GG,数模里的那几天,小白能够撑到不睡着就不错了,更别说去改你自己写出来的bug了。(以后有时间会详细的说一下上述这些问题)
最后一个问题,大部分同学去找队友的时候,都说自己可以胜任写作的工作。在我看来,如果某个人说他只会写论文,那么他一定不会写论文。如果对每个模型的原理,代码都一概不通的话,队友做的东西他就会看不懂,那他写出来的东西,emm充其量只能叫作文。
附上一位竞赛大佬的博客: Better Bench,里面很多竞赛思路,可以借鉴学习。
2 入门建模的学习步骤
接下来分享一波数模入门的几个小步骤吧(适用于无经验的同学)
2.1 熟悉数模论文构成:
从摘要到结论的各个章节,每一个部分应该写什么,如何写。这里可以看B站科研交流老哥讲解的一个视频。看完了这个自己再对照着优秀论文看,找找这些优秀论文中,是不是都有这些结构,优秀论文中也会存在一些问题的,大家要有独立思考的能力。
一直感觉科研交流的数模做的不错,我也是粉丝之一,在B站上有免费的课程。每次出建模的课程我都会买来给学弟他们看。每年的课程也都不贵,内容也都会有所更新。一两百块,就是3个人出去聚个餐的钱,说实话,如果学习上这点钱都要精打细算的话,那我非常不建议你参加竞赛。
2.2 学习3个常用的基础算法
小伙伴们请看好,这里说的是3个基础算法,也就是一类题型中,反复出现的3个(几个)算法,比如先从评价类的算法看起(层次分析法、Topsis法、熵权法)。小组中3个人,对这几个算法都要非常了解。编程的同学,必须得保证自己的代码在比赛之前能够跑通,而且能够根据实际情况做一些修改。
2.3 参赛前,需要磨合一波
如果是本科生,尤其是大二的同学,只剩下这一次国赛的机会了。那么参赛前一定要互相配合一下。这里分享一个快速培养默契的方法。
首先你们需要选一个题型中的一道题,之后3个人读题,查找资料。过2小时后线上讨论,说出你们的想法。然后找到1-2篇优秀论文,每篇用1小时读一下,试着“复现”一下。具体的做法如下:
复现并不是说让大家去实现这些论文中的每一个步骤,其实你就算按照论文中的步骤来,也未必会得到和论文中相同的结果。队伍中3个人,选定一篇优秀论文,试着自己整理(Copy)一遍。如果对着人家抄都抄不明白,更何谈自己写呢。在这个过程中,你就会对排版、作图、制表等有深刻的了解,通过这个方法,能够快速的模拟实战,培养默契。看的教程再多不如自己一练,Over!
3 小结
简单的梳理了几个小白入门容易陷入的误区,以及如何快速上手,增加实践经验。对于已经有建模经验的小伙伴不太适用。
后续有时间会更新数模中的各类常用软件使用,咕咕咕~