数学建模社区-数学中国

标题: 数模竞赛对计算能力的要求 [打印本页]

作者: 杨利霞    时间: 2018-9-4 10:43
标题: 数模竞赛对计算能力的要求

* X# l+ ?/ _; k  q5 A9 g6 N+ W+ U. ]: v2 q6 y0 V( p
数模竞赛对计算能力的要求
; ?4 f6 w% \' d2 T( D! z0 z) V2 ]
, c$ p" y1 ~& q
先理一理每个参赛队需要掌握的计算机技能,至于哪些由“负责编程的同学”承担,这属于队内分工问题,显然每个队情况都不一样,协调好就可以了。之前在 其他回答 中提到过这部分内容,限于篇幅,比较简略。下面按照重要程度稍微详细地介绍一下。
竞赛论文排版(必修)
要求:
  • 数学符号和公式。正确排版数学符号和公式,特别是行内公式要规范。
  • 图、表。能够插入图、表,其编号、标题位置符合规范。
  • 参考文献。元信息准确,按指定样式生成参考文献列表,正文中的引用准确。
  • 编号、交叉索引。目录、公式、图、表、参考文献的编号和交叉索引准确规范。
    7 G- [: |. y. A3 p  i
所用软件主要是两大类,以MS Word为代表的所见即所得类编辑软件,和LaTeX。
  • 功能:两类软件理论上都可以用于排版竞赛论文,但是工作方式完全不同。
  • 学习成本:很多人认为LaTeX的学习成本远高于Word,其实不然。相当一部分Word用户所谓“会用Word”,实际上只会三板斧:输入文字,调整字体,调整字号。完全没有样式表,自动编号,交叉索引的概念,文章的目录都无法自动生成,一切都要靠蛮力。如果这样也算是“会用”,那LaTeX更容易。我个人的观点,就竞赛论文排版而言,Word和LaTeX的学习成本相当,或许LaTeX还简单些。
  • 效率:其他事情不好说,但在竞赛论文排版方面,Word的“能用”和LaTeX的“好用”完全没有可比性。
  • 无论哪种软件,会用的标准都是一样的,那就是要能按上面的要求正确的排版竞赛论文。赛前一定要实际排版过2到3篇以上的论文,不能相当然的认为自己会用。2 e4 \, L. \. i) k8 E& _& I
我个人的建议:
  • 理工科的同学,特别是数学、物理、计算机等专业,花一点时间学习LaTeX是非常值得的投资。
  • 但是,如果Word类的软件已经用的很熟,赛前准备时间很紧张,就不需要专门再学LaTeX。在符合竞赛论文要求的前提下,决定论文奖项的最主要因素是论文的内容,而不是所用的软件。9 M' l* o2 G5 O' w/ ?) G. ^
* g5 F) G+ w, }! {6 B0 ?" l; }
常用图表绘制(必修)
要求:
  • 掌握表格的排版方法,格式要求和习惯
  • 了解常用图形的特点和适用场合,掌握其绘制方法,以及排版要求
    ( t8 T$ d* [: d" H
竞赛论文少不了图和表,合适的图、表可以向读者简洁、准确传达信息。
Word制表功能较直观,一般操作不会有问题,关键是要设计表格的内容。而LaTeX排版常见样式的表格很容易,但是排版非标准复杂表格的方式不直观,容易出错。或者在赛前多练习,或者放弃使用特别复杂的表格。
竞赛论文中经常需要绘制的图形大体可以分为三类。
  • 数据图。直方图、散点图、折线图、函数图像等。常见的高级程序语言都能绘制这些图形。或者是将数据导出后利用专门的绘图软件绘制。Excel画出来的图形也不错。
  • 流程图。一般用于描述算法流程,系统框架等。相关软件很多,赛前选一个,简单练习即可,比如 draw.io.
  • 示意图,包括各种受力分析图、内部结构图等。这一类图形相对用的少些,也没有特别合适的软件推荐。LaTeX的 TikZ/PGF 包完全可以胜任,但是对多数人来说过于繁琐,学习成本较高。 GeoGebra 是一个免费的几何作图软件,绘制几何图形时可以考虑。
      i7 n# G9 P# L6 a5 P& g
& F+ g+ w5 `/ t0 X
文献检索、资料收集(必修)
要求:
  • 掌握搜索引擎的使用方法(搜索语法,如filetype, site, 双引号等)
  • 不要使用百度
  • 掌握论文全文数据库的访问权限和使用方法
  • 其他数据源(联合国数据库,世界银行数据库等)" W1 f3 h+ Q. h) w" m% }6 J
建议:
  • 搜索引擎的用法请查阅 Google Search Tips & Tricks
  • 无论题目是中文还是英文,都要重视查阅英文的文献。
  • 建议学习至少一种文献管理软件,以提高效率,比如 Mendeley.9 S3 J3 ]) c7 C

% c0 Z& s* E5 r  Q4 C. g3 `/ Z# L编程能力(必修)
以上几个方面主要是与写作有关,而编程能力是计算能力的核心。最关键的是设计算法的能力以及根据算法写代码的能力。
要求:
  • 至少能够熟练使用一种高级语言。
  • 熟悉常见的数据结构和算法
  • 纯文本文件读取、处理
  • 常见的数值计算方法
  • Lingo等求解优化问题的专业软件(选修)
  • 常用的图论算法(选修)
  • 计算机仿真(选修)
  • 数字图像(选修。基本概念,读取,简单加工)" q9 G. M* }! z. t/ @) O
建议:
  • 目前主流的高级语言功能都比较完整,只要熟练,任何一种都可以。如果一定要推荐一种,可以考虑Python。
  • 无论用哪种语言,纯文本文件总是可以读写的。可以利用纯文本文件作为程序输入、输出数据的中介。
  • 插值、拟合、解方程(组)这些常见的数值计算任务,尽量用现成的软件包或者函数。
  • 优化问题经常出现,如果已经掌握Matlab、Python等通用语言,不见得一定要学Lingo。但是对于大规模的问题,Lingo的性能最好。
  • 与图、网络有关的赛题比较多,赛前可以熟悉一下常用的算法。但是不一定要逐个编程实现,关键是将算法转化为代码的能力。
  • 美国赛的题目经常需要用到计算机仿真。一般没有现成的软件能够直接用,需要自己编程。赛前准备,有备无患。
  • 全国赛中有一些题目与图像处理有关,但是总量不多,美国赛中则非常少。了解一些数字图像处理的基本概念,在选题的时候会有更大的灵活性。
    # M8 B' X; t: n- L+ |
. O+ M1 F' }* O" L2 j
选修项目
  • 纯文本文件编辑器。如果只会用notepad,效率就太低了。相关的软件非常多,可以参考维基百科 文件编辑器比较 这个页面。最主要的功能包括代码高亮、文本比较、正则表达式搜索、编码转换、 换行转换、自动缩进、自动补齐、代码折叠、列块等。
  • 正则表达式。清理数据的时候特别有用。
  • 版本控制软件。程序备份、多人合作。& ^. t1 Y- E3 W  ^" m* j* S7 @# S
" S( k  W0 e/ H( w* z
如何学、如何做
上面每一个必修的项目,都要投入一定的时间才能达到得心应手的程度。没有特别好的捷径。内容比较多,比较泛,相关的资料、教材也不集中,早点动手。队员之间也可以合理分工,提高效率。
赛前可以自己评估一下。自评的方法非常简单,选同一道题目的多篇优秀论文,看看能不能搜索到合适的文献资料,能不能找到数据,别人论文中比较好的图,能不能画出来,别人用的方法,自己会不会编程,等等。
最后提醒参加过ACM的同学,数模竞赛对计算机技能的要求与ACM是不一样的,虽然可能确实是编程高手,但不要想当然认为一定可以应对数模竞赛的编程要求。赛前要对照一下以上的清单,以参赛队为单位,查漏补缺。
: Q' J' \" a: p

$ A/ q8 J: p) ]/ n- C# B转自《转载:数模竞赛对计算能力的要求
9 v8 C2 u$ Q) a6 H1 d6 y0 N+ R

( ], \& ?; n# @+ H' Z( Q
; I/ [4 X$ S; u




欢迎光临 数学建模社区-数学中国 (http://www.madio.net/) Powered by Discuz! X2.5