从天文学到动物学,计算机对于我们这个时代的伟大科学发现是不可或缺的。本文将介绍对科学研究产生重大改变的10种计算机技术。
1:编程语言先驱“FORTRAN”最早的计算机编程可以说是少数天才的特权,使用打孔卡手动输入代码。编写代码需要复杂的编程语言知识,但是随着IBM在20世纪50年代开发的FORTRAN
的出现,很容易将用编程语言编写的程序翻译成计算机可以实际处理的语言。
2:快速傅里叶变换由卡尔·弗里德里希·高斯于1805年发明,一种称为快速傅里叶变换的算法可以处理随时间变化的复杂信号。该算法广泛用于射电天文学等科学领域的数字信号处理和图像分析,其中需要用函数替换频率并将其可视化,以了解复杂电磁波的性质。
3:生物数据库 当今大规模的基因组和蛋白质数据分析及数据存储系统来源于生物信息学先驱玛格丽特·奥克利日的研究。当生物学家在1960年代开始分析蛋白质氨基酸序列时,Deihoff及其同事表示,他们通过在穿孔卡上记录和编码数据来搜索数据库变得更加容易。数据集现在被用于各个领域,包括1971年上线的蛋白质数据库和1982年上线的GenBank DNA序列数据库。
4:大气环流模型 在第二次世界大战结束时,计算机先驱约翰·冯·诺依曼(John von Neumann)使用用于弹道轨道和武器设计的计算机进行天气预报改革。在此之前,天气是通过经验和直觉预测的,但诺依曼通过为每个模型(如“大气模型”和“海洋模型”)构建天气数据并用计算机进行分析来提高预测准确性。
5:BLAS技术解决科技问题基本线性代数子程序(BLAS)主要用于数学运算,于1979年开发。
6:NIH Image
Wayne Rasband,他于1980年代在美国国立卫生研究院(NIH)脑成像实验室工作,设计了一个在计算机上显示和分析X射线胶片的程序。这个程序,称为NIH Image,只能在Mac OS上运行,但后来被NIH演变成一个名为ImageJ的高级图像处理系统,现在也被其他操作系统使用。
7:BLAST1978年,玛格丽特·奥克利(Margaret Oakley)设计了一个名为“点接受突变”的系统,以识别DNA和蛋白质一级结构的相似性和关联性。《自然》杂志说,这后来成为BLAST,它进化得更快、更准确,并彻底改变了当时的遗传生物学领域。
8:arXiv在20世纪80年代后期,科学家的研究通常只在一个小社区内共享。然而,在1991年,在洛斯阿拉莫斯国家实验室工作的物理学家保罗·金斯帕格(Paul Ginsparg)设计了一种可以广泛分享他的研究的新系统。该系统向注册者提供与科学相关的论文和文章,仅限于物理学界,然后发布到所有学科,并于1998年更名为arXiv继续发展。截至2022年,已记录约200万篇论文,全部免费向公众开放。
9:IPython Notebook Python,编程语言之一,是一种解释器类型,在按顺序解释源代码或中间表示时执行。物理学家费尔南多·佩雷斯(Fernando Perez)认为,“这种逐行运行的语言不适合预加载模块或可视化科学研究所需的数据,”并设计了自己的外壳,“IPython。2011年,由 Brian Granger 领导的 IPython 团队开始开发一种基于Web技术的交互式计算文档格式,即 IPython Notebook。为什么说它是文档格式,而非计算工具呢?实际上它两者都是。Notebook 在交互上使用了 C/S 结构,它通过 Tornado 建立一个 shell 服务器,并使用浏览器作为客户端。另外 notebook 页面都被保存为.ipynb的类 JSON 文件格式。这种文件格式也是 Notebook 最吸引人的地方。IPython Notebook彻底改变了数据科学领域。
10:AlexNet 人工智能(AI)大致可分为两种类型:使用一个系统规则的和可以通过机器学习处理信息的类型。多伦多大学研究生Alex Krizevsky和Ilya Satskeber在2015年开发了机器学习图像识别程序“AlexNet”,甚至是竞赛时最好的算法“ImageNet”,将大量图像分类成程序。AlexNet成功地将错误率从25%左右降低到15%。