天才基本法中预测犯罪发生地点的数学建模真的可以为所欲为【全国大学生数学建模竞赛】

一、为什么写下本文

  • 最近看了热播剧“天才基本法”,其中的数学建模预测犯罪地点等等魔幻的操作在网上引起了一顿热议,或者说惹来了一些嘲讽。

  • 我这种经历过“预测水流量”,“预测温度变化”等等数模题洗礼的数模人,我认为实现上述内容完全可能,只要数据够完备,模型够准确,数学建模真的可以为所欲为。我是像林朝夕一样的普通人,在2021.09全国大学生数学建模中靠着队友侥幸获得省级一等奖,本着给自己心爱的小说正名和我的纪念一下“数模受难一周年纪念日”,斗胆写下此文,跟大家聊聊数模比赛,分享一下自己的经验,让大家少走弯路,大佬天才们可以当玩笑看看就好,有什么不对欢迎指正。

二、前言/背景

现在还记得大二的那个忙碌暑假。本文的主题是数学建模,但是有几点前情铺垫,是一个从未接触数学建模的计算机专业大学生走上数模路的来龙去脉,一个平凡人走上数模之路的历程,大家可以直接跳过直奔大赛简介的主题。

xxx-6.26 期末考试结束(竞赛的基础是校课程成绩)

期末考试结束(因为疫情,所以提前考试提前放假)

6.27-7.16 小学期课程(综合应用多种课程技术)

结束学院的小学期课程——做一个实习项目,我带领组员做了一个电商网页前后盾系统)

7.19-8.1 大数据训练营(数据是互联网时代的新石油)

刚刚回家的我开始在家线上参加学院和百度旗下慧科教育校企合作的暑期训练营“线上大数据训练营(疫情原因,不能留校举办了),大数据训练营的内容是离线推荐服务(协同滤波算法这些入门算法),我们小组的选题结合我们前面学习的电商网页系统做了一个医美产品的商品推荐(爬取数据,算法执行,网页展示)

8.2-9.12 返回学校后在校集训一个月并参加全国大学生数学建模

2021年9月9日(周四)18时至9月12日(周日)20时(三天三夜)

三、大赛简介

大赛时间:每年9月初,三天三夜
大赛含金量:中国国内数学建模含金量首屈一指的A类学科竞赛,对于数学专业的同学来说帮助很大。

全国大学生数学建模竞赛创办于1992年,每年一届,已成为全国高校规模最大的基础性学科竞赛,也是世界上规模最大的数学建模竞赛。2018年,来自全国34个省/市/区(包括香港、澳门和台湾)及美国和新加坡的1449所院校/校区、42128个队(本科38573队、专科3555队)、超过12万名大学生报名参加本项竞赛。
在这里插入图片描述

四、参赛流程

1. 校赛选拔

通常在每年的四月底至五月初(不同学校可能情况有出入,我们学校2月-3月就开始准备了),高校会组织一次校赛。学生组队参与,规定3人一组。在这次过程中,决出优胜团队。组织此次比赛,一方面是方便学校挑选优胜团队参加全国比赛,另一方面是让参赛者增强团队协助能力,让其熟悉全国比赛方式及规则。

2. 备战国赛

暑期建议好好学习相关的数模知识,和日常的数学专业课程还是有比较大的区别的,计算机专业负责编程的同学也要学好matlab、python和lingo等工具。

3. 赛前核对

核对报名信息!很关键,一定要时刻跟老师保持联系,了解最新的报名信息,确认信息无误。

4. 赛前准备

发布题目后开始三天三夜的备战,建议提前准备好要睡觉用的枕头和被褥和一些食品干粮。

五、参赛经历

1. 慎重选题,选择比努力更重要

  • 除非你很牛叉,不要选物理题。
    我们当时选题一开始有想选A题物理题的,但是后来发现物理题没有什么有想法的模型,只是单纯的计算解题,而且万一编程无法得到答案就一定拿不了奖(这个蒙答案很难)。而且物理题一般都是很多牛逼的985院校的囊中之物(本人不知名二本院校,绍兴最好的大学,有兴趣的同学可以查查,也别发在评论区,我就不说出来给母校丢人了)。真的不建议选物理题。我们的指导老师说这几年我们学校他看到过很多的优秀学生,他自己都觉得已经足够优秀了,但是还是没有一只队伍选了物理题拿到省一以上的。

  • B题一般需要创新的一些思维,感觉去年好多人选B题,图一个简单,你想要脱颖而出就要和别人不同。

  • 像大数据处理的C题,蒙答案可以方便一点。

  • 三个人一起讨论选题和大致选了题目之后怎么做题,切入点和模型方法。

2. 制定计划,避免最后走进死胡同

  • 良好的分工合作。
    建模论文与编程三位一体,互相影响。我们当时的分工是码字小能手小王负责论文,数学天才小吴负责建模,我负责编程,但其实我们之间互相有交叉,比如说小吴也编程,我也参与建模。

  • 指定周密的计划,并有执行力
    想要在这么短的时间内,以正常人的能力必须要抓紧时间,严格按照计划,否则可能写不完。(上哪找林朝夕和裴之这样的一串三顶级队友)

  • 保持队友之间的沟通,发现遇到困难进度耽误不要自己硬抗
    如果你的进度比预定的慢,很正常,但是一定要及时和队友沟通,让队友帮你,不要死倔,否则万一最后队友在等你第一题的答案用来解第二题,或是给第二题提供思路的时候你再告诉他你遇到了什么困难就会严重耽误进度。

  • 一以贯之的努力,不得懈怠的人生
    我看到过很多队伍,平时训练马虎,最后比赛随意。想要拿奖,不熬夜,不拼命,不努力是不存在的。(天才裴之们请忽视我这句话)人生嘛,哪有几次真正奋力拼搏的机会,错过多可惜。我很庆幸我的组员们都很努力,他们和我一起熬夜,我们的指导老师也很负责,也和我们一起熬夜,三个晚上我们可能只睡了10小时左右。我不是想吓退大家,只是陈述一个客观事实,如我所见,在我们这样的二本学校,拿好的奖项的队伍都不轻松。当你真正进入状态后,你会发现“与探索未知的美妙相比,世界上大部分糟糕的数模题目,都不再重要”

3. 与指导老师做好沟通,不要敝帚自珍

  • 我们的指导老师真的很负责,是我们整个数学系,唯一一个整个暑期陪我们做数模题的老师(他是唯一一个会写论文会模型,并且会编程的全能老师),每个星期的一道题目他都会给我们反复讲解,责令我们修改。
  • 我们的摘要和建模大方向得到了老师的很多帮助,一个好的老师真的很关键,事倍功半。

4. 检查文章,细节决定成败

错别字,格式空格,代码样式美化(用我下面提供的代码美化网站)

5. 提交作品,有始有终

最后提交作品,按照参赛流程,听从指导老师安排,md5码提交后一切尘埃落定。(这个一定要仔细,有好些队伍最后作品提交出了问题,导致前功尽弃)

六、赛后感言

  • 计算机专业可以参加一下数学建模的比赛。这个比赛听起来很高端,但是参加的门槛其实也不是很高。比赛有多个选题,编程主要实现的是数据分析、是模拟退火算法、蚁群算法、神经网络、聚类分析、图论等内容(有封装的库,但是题目一般会做一些限制,需要你改动改进原有的算法)有些内容数据结构我们都上过。其实这个确实比赛我觉得完全可以由我们计算机专业承包,毕竟计算机的本质还是数学,数学的很多应用都得靠计算机实现。有一说一,数理的老师讲图论讲算法比我们计算机的老师讲的好,毕竟师范专业。
  • 了解比赛规则做好团队内部建设。建模比赛时间3天,3个人分别负责写数学模型论文、建立数学模型、代码实现模型,团队每个人都有事情,虽然人少,但人不在多,在精,任何一个位置摆烂比赛都没有办法进行。虽然三者分工,但是一定要做好团队的协作,因为在一开始大家一起思考题目模型(一开始没有模型给我编程,还没有建立模型呢)。
  • 刻苦努力,没有随随便便的躺赢。一个月暑假留校集训(我自己是8 10 6,相比较而言996确实是福报)并且1学期每周上课(这个是看你们的指导老师安排)先不说我们自己,就说我们的指导老师周老师,在所有指导老师里面我愿称他为最强,每周都跟我们一起建模型,他是指导老师里面唯一一个和我们一起做题,区别是他一个人完成建模、代码、论文(草稿),平时每周的题目每个他带队的小组都会被他单独讲评2次,1次修改检查。比赛的那三天我们熬夜,他也陪我们一起熬最黑的夜。最后国赛的三天我就睡了8小时,就睡在教室里面,人生第一次熬夜。
  • 编写代码要有宏观意识,必须理解模型。首先不能要求建模的人一开始建模就准确无误,每个人都要有自己的理解也有自己的局限,可以及时改动模型或是代码。也避免出现写了一部分代码,对这个模型有疑问,代码上实现不了,运算时间过长,算力不够,编不出来,一定要提前沟通(比赛时间3天3夜,我们学校的数理学院也不像有些学校的能提供算力服务器)千万不要编了很久,用了很长时间,说编不出来,耽误时间,害人害己。或者是发现要换一种数据结构,到最后发现不用numpy数组用dataframe数组更简便。
    学习和成长是个过程。没有成功是一蹴而就的,没有谁一开始就什么都会。数理信息学院那边其实很缺编程的人,最终很多参赛队伍负责编程的同学可能都编程小白,那种敲键盘都比较吃力的那种。经过一个月做题集训之后都会有令人惊艳的成长!我一开始Python是在学院的百度云智训练营里面接触,在参加数学建模之初我还处在“我是谁,我在哪,要干什么”的状态(我一开始想搞好这边的科研项目,但是建模的小吴同学是我的高中同学,实在是找不到其他编程人员,强行拉我上贼船,后来才知道我原来我有个前任编程员中途跑路了,在小吴同学这层关系的影响下,我坚持到了最后,Python的数据分析基础就是在这个比赛积累的)
  • 有所取舍,避重就轻。每个星期一篇论文一道题目,第一次有这种团队协作集中式的敲代码体验。因为模型可能会随着我上一个代码片段数据分析的结果而变化,我还要不停地和队友沟通,确实体验了一波如何跟“甲方爸爸”相处。这种在最短时间内快速编程的要求属实折磨。客户让你1000块钱做个百度?能提出这种要求的客户实乃乙方克星、民族之光、科创永动机、西虹市一大杰出青年,诺奖永远得不到的人才。短时间内面面俱到==面面不到,我们量力而行,先把核心部分搞好。所以作为编程的同学,一定要据理力争,承认自己能力的局限给解题带来了困扰,该满足的满足,超出自己能力的也一定要及早跟队友沟通,以免关键时刻害了队友。

七、一个计算机专业学生视角的感悟

1.技多不压身,总会用到。

在校的各种课程都值得我们认真以待,哪怕是浅尝辄止,也要但当涉猎。就像也许我们以后不会写web前端后端,但是日后我们的成果展示需要一个展现形式,(听说美赛数模的优胜奖做了一个特效视频演示模型,到了最高端的舞台,你的软实力也会是出彩点,是个互联网+都可以用上网页和APP),那么或是web网页或是小程序或是APP都是我们应该学会的。(因为不同的项目有不同的应用场景,假设淘宝只有网页端没有app端,可以避免多少“剁手”行为呢?)

其实我真的很内疚,一开始我只打算用python完成数模编程,后来才知道lingo真的好用,在比赛期间临时学一手lingo现学现用(此前老师和队友都提醒过我学lingo),其实我真的很对不起我的那2个队友,好在我临时学勉强够用,否则队伍真的可能败在我手上了。

2.学习力大于能力。

一个现在很牛叉的程序员确实很牛叉,但是我们计算机专业的淘汰换代率太高了,“优化”“被毕业”的事情屡见不鲜,所以一个不断变得更加牛叉与时俱进的程序员才会成为一个一直很牛叉的程序员。大学竞赛中你不能保证哪一天你的组长会不会突然希望你做出一个你没怎么好好学过的安卓移动应用,涉猎的目的不是让你马上就有做出APP的能力,而是让你有快速自学的能力。很多时候安装环境,学习基础语法和语言的设计思路是最花时间的,这些都有过基础后直接看示例源码学习就都是一马平川的事情了。

3.站在巨人的肩膀上,怀揣一颗敬畏之心。

敝帚自珍的现象在我们计算机领域也存在,就像著名的程序员双标语录——程序员最讨厌两件事,看别人的代码发现他不写注释,在写自己的代码的时候嫌麻烦不想写注释。或许我们能想出很多不同的思路解法,但是在关注自己手中的璀璨星光的时候,也保持谦卑,抬头看看头顶的漫天星辰。先贤的设计思路与规范必然有无数的血泪教训。比如说为什么“java 要在重写方法时加上@Overwrite”,没有这么多为什么,因为规范写法提高了代码的可读性,让后续读你的代码维护你的程序的接班人不会有提刀到你家砍人的冲动。无论你对于前辈们的做法有多不满,你有多么天才的想法,请你先学习效仿先辈们,在了解先辈们做法的基础上再试着另起炉灶,而不是上来就我最行,我最棒,然后面对“社死”的情况。

八、资料分享

1.数学模型学习书籍推荐

当时我的老师推荐的这本书,有一本是题目,一本是讲解,建议同时买两本。讲了很多的算法模型,我们没有都学会都能拿省一,都吃透了我觉得大家肯定能拿国奖。《数学建模算法与应用》由国防工业出版社于2011年8月出版,作者是司守奎、孙玺菁
在这里插入图片描述

2.论文公式编辑工具

gitee的一个项目,可以方便地在写论文的时候编辑数学公式 hepeichun / CKeditor数学公式编辑器插件_图片版
一个在线测试工具的网页 https://hepeichun.gitee.io/kityformula/
在这里插入图片描述

3.论文代码样式美化

  • 注册登录网站 https://login.ubuntu.com/E9P4oH5bB8IlmIRV/+decide
    在这里插入图片描述
  • 转化后的效果,让你的论文代码部分看起来更好,就是花花绿绿的,格式错落有致
    在这里插入图片描述

4.让你的数据绘图更加有逼格

有一说一,lingo在线性问题无敌,MATLAB强在有很多现成的代码可供参考和软件内置的算法工具箱,而python厉害在无敌的兼容性,你可以绘出更好看的图,调用更多的第三方库,我坚信python带来的发展,必将是日后建模的主流(个人观点),毕竟全世界程序员维护的开源项目,肯定比某个公司一个公司维护的内容发展进步更快,着重强调python的绘图,比MATLAB好看很多。
相关源码在我的gitee项目上
pandas_alive竞赛动图
相关学习使用的专栏在我的CSDN博客专栏
pandas_alive数据可视化

1.1 水平条形图

在这里插入图片描述

1.2 竖直条形图

在这里插入图片描述

2. 折线图

图片为了能上传经过压缩,你自己生成的效果应该更好一点!
在这里插入图片描述

3. 散点图

图片为了能上传经过压缩,你自己生成的效果应该更好一点!
在这里插入图片描述

4. 饼状图

在这里插入图片描述

5. 气泡图

在这里插入图片描述

6.1 地理空间点图

在这里插入图片描述

6.2 多边形地理空间图

在这里插入图片描述

7.多个图表

在这里插入图片描述

8.城市人口

在这里插入图片描述

9.G7国家的预期寿命

在这里插入图片描述

九、总结

  • “一以贯之的努力,不得懈怠的人生”(天才基本法)

  • 学习本身就是足够幸福的过程,享受知识的同时,不要畏惧挑战。而所谓的考试,本质是由整个社会制定的残酷淘汰标准,它可以要求很多人,但如果你不在意,那它也没那么重要。

  • 一年之后的今天,再次回忆去年今日,虽然当时掉了一地的头发,一直很困,但是三个人为了那样一个目标而努力奋斗的岁月,永远是人生的一次宝贵的体验。

  • 说真的,不要像张叔平一样这么极端,他一直把自己和林兆生这样的天才比较,当然会有落差,但其实,像我这样的普通人做不到全国一等这样的极端,拿一个省奖真的是可以办到的,挑战数学的勇攀高峰的热忱就足矣。

2019年MathorCup高校数学建模挑战赛D题 2019年第九届MathorCup高校数学建模挑战赛 竞赛信息 竞赛简介 为了培养学生的创新意识及运用数学方法和计算机技术解决实际问题的能力,国优选法统筹法与经济数学研究会决定主办2019年第九届MathorCup高校数学建模挑战赛,欢迎各高等院校按照竞赛章程及有关规定组织同学报名参赛。 组织机构 主办单位:国优选法统筹法与经济数学研究会 【国优选法统筹法与经济数学研究会是在国科学技术协会直接领导下的学术性社会团体,是国家一级学会。学会由华罗庚教授于1981年发起成立,至今成立了评价方法与应用、项目管理、计算机模拟、统筹、管理决策与信息系统、工业工程、高等教育管理、数学教育、经济数学与管理数学、 应急管理、灰色系统研究,复杂系统研究等十余个专业分会】 竞赛时间 报名时间:即日起至2019年 4 月 10日 12:00 竞赛时间:2019年4 月 11 日08:00至2019年 4 月 15 日08:00 参赛对象 普通高校全日制在校生(研究生、本科生、专科生)以队为单位参赛,每队不超过3人,不允许跨校组队参赛。 参赛费用 每支队伍需缴纳200元的报名费用。 奖项设置 参赛队伍:全国一等奖(约5%)、全国二等奖(约15%)、全国三等奖(约30%),从一等奖队伍经过决赛答辩决出4支队伍获得“MathorCup”荣誉奖杯; 组织单位:优秀组织单位、优秀组织社团、优秀组织个人; 其它奖励政策:参见《 MathorCup高校数学建模挑战赛奖励细则》( 可从官方主页下载)。
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

发现你走远了

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值