0%

IT与材料 | 通过MC-EMMA算法探索无机材料最优结构

解读文章:Collins, C., et al. (2017). “Accelerated discovery of two crystal structure types in a complex inorganic phase field.” Nature 546(7657): 280-284.
原文地址:https://www.nature.com/nature/journal/v546/n7657/full/nature22374.html

原文地址中的补充数据也是很有价值的,例如计算数据等。

另外,Collins等人公开了MC-EMMA算法的Python源码。感兴趣的朋友可前去下载一读。笔者也计划在后来的博客中对源码内容进行分析。
MC-EMMA算法源码地址如下:
http://pcwww.liverpool.ac.uk/~msd30/software/MC-EMMA.html


在已知物质结构领域,计算方法的应用已经取得了许多成就。但是,纯粹的第一性原理计算,由于计算量巨大,无法完成普遍宏观尺度材料的模拟;只在已知结构的物质里,利用大数据原理进行新材料结构的搜索,又很有可能找不到最优的材料结构,不能很好地发挥计算模拟方法先于实验,从而指导实验方法的优势。

因此,大数据原理和第一性原理的结合是一个很好的思路。这就产生了Extended Module Materials Assembly (EMMA) 此类算法。本研究在原有的EMMA算法的基础上,利用有权值的蒙特卡洛(MC,Monte Carlo;即随机算法算法)进行改进,对已知无机物成分及结构进行复杂置换,实现了对新的无机物质结构的探索,并通过实验验证了其可行性。

核心算法

本研究主要依赖独创的MC-EMMA算法进行材料成分及结构的筛选优化。

本文通过对六类蒙特卡洛规则附以一定权值p来决定使用何种随机算法使结构“进化”(在这里,“进化”并不一定意味着“优化”)。以下称不同成分、结构的物质结构为“模块”,“模块”组合从而形成材料系统。

第一类随机算法:选取两个模块互相交换位置
第二类随机算法:系统内所有模块位置重排
第三类随机算法:其中一个随机选取的模块被换成一种新类型(不同于系统内现有的模块)
第四类随机算法:创建一个新的体系,保持现有的模块总数,模块类型发生变化
第五类随机算法:改变现有的模块总数,如果总数增加则需新增模块(在不改变整体成分的前提下,该模块将被随机地选自包含所有模块的完整集合)
第六类随机算法:创建一个新的体系,模块总数和模块类型都将是随机的。

需要注意的是,前三类随机算法对结构的改变较小,后三类随机算法对结构的改变较大,所以权值的合理选择是非常重要的。

写在后面

综上所述,本文的随机选取过程是经过精心设计的。但是笔者并没有看出太多的优越性,因为本文既不能证明这些随机抽样组合能够尽可能遍历最优解空间,也不能证明这些随机抽样组合能够把我们带向更好的优化结构,或者拥有更快的求解效率。

实际上,目前大多数“人工智能”算法,或者说“机器智能”算法的思想还停留在“黑箱”阶段。即我们对这个“黑箱”的内部机制实际上是不清楚的。或许随着计算机数学的发展,我们能更清楚地认识到计算机给认识物质结构以及物质结构优化所真实带来的变化吧。