[论文]针对科研需求的算法学习策略探讨

针对科研需求的算法学习策略探讨

徐远清1;  冯长根2刘学杰3

1北京理工大学 生命学院,北京:100081; 2北京理工大学 机电学院,北京:100081; 2中国人民公安大学 国际警务执法学院,北京:100038

摘要:算法的选择、学习及应用是开展科学研究的重要技能。本文以血细胞的微流控分选研究为背景,阐述如何分析研究需求、了解算法及选择合适的算法,归纳了学习算法的“泛学”和“精学”模式。并针对“精学”模式,以相应的建模算法——格子Boltzmann方法为例,从获取文献资源、学习样本程序、获得在线支持、获得现场学习机会及学习成果梳理等维度举例阐述了算法学习的“精学”策略。此外,还强调了学习算法对于提升科研能力和科研创新的重要性,算法的学习和应用应打破学科分野。本文归纳和总结的算法学习策略,对于科研工作者及研究生学习、应用算法具有一定的借鉴价值。

关键词算法,科研需求,格子Boltzmann方法, 精学

1、引言

算法是在有限步骤内求解某一问题所使用的一组定义明确的规则[1],针对具体的研究选择、学习、应用和创新算法是开展科学研究的重要内容。目前,随着科学技术的快速进步,各类算法的升级和创新成为研究的客观需要;同时,科学研究中面临的问题也日趋系统化、复杂化,掌握及创新相应算法的难度也更大。在这样的情况下,如何有效地学习和应用算法,对于有效解决科研问题具有十分重要的意义。根据算法应用的普适性,可将其分为专用算法和通用算法。其中专用算法具有特定的针对领域和适用范围。比如PID控制算法,适合于控制系统的参数优化设计;RSA算法是一种十分重要的密码学算法。通用算法更专注本身的数学属性,而非具体的应用场景。比如最优化方法、回归分析、聚类分类算法及偏微分方程数值解法等。这些算法可以用于处理不同学科领域的研究问题。

为了便于算法的应用,一些相应的软件或程序包比如MATLAB、ANSYS、LabView等对算法进行了封装。这些软件或程序包只留出了一些可供用户操作的接口。客观来讲,这样可大大降低算法使用的门槛,有利于其推广应用。然而,在科学研究中,这种封装也制约了新的用户对于算法本身的理解和创新。显然,在研究中,对于关键的算法的应用,我们需要有更大的自由度,科研工作者和研究生不但需要在数学、物理层面对算法本身进行理解,而且还要进行计算机程序实现。因此算法的学以致用策略是科学研究和研究生培养中的一个值得探讨的课题。

本文重点以举例方法,以格子Boltzmann方法在血细胞的微流控分选建模分析中的应用[2-4]为例,从科研需求、算法的选择、算法的学习维度等多个环节总结了算法的学习策略,并探讨了“精学”算法对于提升科研能力和科研创新的重要性,强调当前的研究生教育在算法的学习和应用上应打破学科分野。本文的工作对于科研人员、研究生进行算法学习具有一定的指导价值。

……

原文下载:针对科研需求的算法学习策略探讨-投稿12-10