(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024125122
(43)【公開日】2024-09-13
(54)【発明の名称】情報処理装置、情報処理プログラム及び情報処理方法
(51)【国際特許分類】
G16C 20/30 20190101AFI20240906BHJP
G16C 20/70 20190101ALI20240906BHJP
【FI】
G16C20/30
G16C20/70
【審査請求】未請求
【請求項の数】11
【出願形態】OL
(21)【出願番号】P 2023033248
(22)【出願日】2023-03-03
(71)【出願人】
【識別番号】515130201
【氏名又は名称】株式会社Preferred Networks
(74)【代理人】
【識別番号】110002147
【氏名又は名称】弁理士法人酒井国際特許事務所
(72)【発明者】
【氏名】竝河 伴裕
(72)【発明者】
【氏名】永井 瞭
(72)【発明者】
【氏名】坪井 祐太
(57)【要約】
【課題】結晶構造予測においては、計算速度や計算精度を向上させること。
【解決手段】実施形態にかかる情報処理装置は、少なくとも1つのメモリと、少なくとも1つのプロセッサと、を備える。少なくとも1つのプロセッサは、所定の物質の組成に関する情報について、基準となる第1の圧力を用いた第1の探索アルゴリズムに基づいて複数の候補構造を含む第1の候補構造群を算出し、第1の圧力と異なる第2の圧力を用いた第1の探索アルゴリズムに基づいて複数の候補構造を含む第2の候補構造群を算出し、第1の候補構造群及び第2の候補構造群に含まれる候補構造について、評価関数を用いた評価処理を実行し、複数の候補構造を含む第3の候補構造群を算出し、第3の候補構造群を出力する。
【選択図】
図3
【特許請求の範囲】
【請求項1】
少なくとも1つのメモリと、
少なくとも1つのプロセッサと、を備え、
前記少なくとも1つのプロセッサは、所定の物質の組成に関する情報について、
基準となる第1の圧力を用いた第1の探索アルゴリズムに基づいて複数の候補構造を含む第1の候補構造群を算出し、
前記第1の圧力と異なる第2の圧力を用いた前記第1の探索アルゴリズムに基づいて複数の候補構造を含む第2の候補構造群を算出し、
前記第1の候補構造群及び前記第2の候補構造群に含まれる候補構造について、評価関数を用いた評価処理を実行し、複数の候補構造を含む第3の候補構造群を算出し、
前記第3の候補構造群を出力する、
情報処理装置。
【請求項2】
前記評価関数は前記第1の圧力を用いたエンタルピーである、
請求項1に記載の情報処理装置。
【請求項3】
前記第1の探索アルゴリズムは、遺伝的アルゴリズムである、
請求項1に記載の情報処理装置。
【請求項4】
前記プロセッサは、前記第1の探索アルゴリズムとは異なる第2の探索アルゴリズムを用いて、前記第3の候補構造群から最適化された構造を出力する、
請求項1に記載の情報処理装置。
【請求項5】
前記第2の探索アルゴリズムは、DFTを用いたアルゴリズムである、
請求項4に記載の情報処理装置。
【請求項6】
前記プロセッサは、
前記第3の候補構造群に含まれる候補構造に対してアニーリング処理を実行し、
前記第3の候補構造群に含まれる候補構造について、前記アニーリング処理前後の類似度を算出し、
前記候補構造毎の前記類似度に基づいて、第4の候補構造群を決定し、
前記第4の候補構造群を出力する、
請求項1乃至4のうちいずれか一項に記載の情報処理装置。
【請求項7】
前記プロセッサは、前記第1の探索アルゴリズムとは異なる第2の探索アルゴリズムを用いて、前記第4の候補構造群から最適化された構造を出力する、
請求項6に記載の情報処理装置。
【請求項8】
前記第2の探索アルゴリズムは、DFTを用いたアルゴリズムである、
請求項7に記載の情報処理装置。
【請求項9】
前記所定の物質の組成に関する情報は、組成式である、請求項1に記載の情報処理装置。
【請求項10】
コンピュータに、
所定の物質の組成に関する情報について、基準となる第1の圧力を用いた第1の探索アルゴリズムに基づいて複数の候補構造を含む第1の候補構造群を算出し、
前記第1の圧力と異なる第2の圧力を用いた前記第1の探索アルゴリズムに基づいて複数の候補構造を含む第2の候補構造群を算出し、
前記第1の候補構造群及び前記第2の候補構造群に含まれる候補構造について、評価関数を用いた評価処理を実行し、複数の候補構造を含む第3の候補構造群を算出し、
前記第3の候補構造群を出力すること、
を実現させる情報処理プログラム。
【請求項11】
所定の物質の組成に関する情報について、基準となる第1の圧力を用いた第1の探索アルゴリズムに基づいて複数の候補構造を含む第1の候補構造群を算出し、
前記第1の圧力と異なる第2の圧力を用いた前記第1の探索アルゴリズムに基づいて複数の候補構造を含む第2の候補構造群を算出し、
前記第1の候補構造群及び前記第2の候補構造群に含まれる候補構造について、評価関数を用いた評価処理を実行し、複数の候補構造を含む第3の候補構造群を算出し、
前記第3の候補構造群を出力すること、
を備えた情報処理方法。
【発明の詳細な説明】
【技術分野】
【0001】
本開示の実施形態は、情報処理装置、情報処理プログラム及び情報処理方法に関する。
【背景技術】
【0002】
結晶の原子配置を知ることは、材料設計等において極めて重要である。しかし、結晶の原子配置を知るための実験によって得られるデータの質や量が十分でない場合、今日の実験技術では達成できない条件が存在する場合等がある。このような場合において、多体の原子核・電子からなる物質の結晶構造を理論的に予測する結晶構造予測(Crystal Structure Prediction:CSP)は有効である。
【0003】
しかしながら、従来の結晶構造予測においては、計算速度や計算精度に改善の余地がある。
【先行技術文献】
【非特許文献】
【0004】
【非特許文献1】Oganov, Artem R., and Colin W. Glass. "Crystal structure prediction using ab initio evolutionary techniques: Principles and applications." The Journal of chemical physics 124.24 (2006): 244704. https://aip.scitation.org/doi/10.1063/1.2210932
【非特許文献2】Valle, Mario, and Artem R. Oganov. "Crystal fingerprint space-a novel paradigm for studying crystal-structure sets." Acta Crystallographica Section A: Foundations of Crystallography 66.5 (2010): 507-517. https://scripts.iucr.org/cgi-bin/paper?xg5005
【発明の概要】
【発明が解決しようとする課題】
【0005】
本開示が解決しようとする課題は、結晶構造予測においては、計算精度を向上させることである。
【課題を解決するための手段】
【0006】
実施形態にかかる情報処理装置は、少なくとも1つのメモリと、少なくとも1つのプロセッサと、を備え、前記少なくとも1つのプロセッサは、所定の結晶について、基準となる第1の圧力を用いた第1の探索アルゴリズムに基づいて複数の候補構造を含む第1の候補構造群を算出し、前記第1の圧力と異なる第2の圧力を用いた前記第1の探索アルゴリズムに基づいて複数の候補構造を含む第2の候補構造群を算出し、前記第1の候補構造群又は前記第2の候補構造群に含まれる各候補構造について、前記第1の圧力と評価関数とを用いた評価処理を実行し、複数の候補構造を含む第3の候補構造群を算出し、前記第3の候補構造群を出力する。
【図面の簡単な説明】
【0007】
【
図1】
図1は、実施形態に係る情報処理装置のハードウェア構成の一例を示すブロック図である。
【
図2】
図2は、実施形態に係るプロセッサにおける機能ブロックの一例を示す図である。
【
図3】
図3は、本実施形態に係る結晶構造予測処理の流れの一例を示したフローチャートである。
【
図4】
図4は、圧力p
i(iは0以上の整数)における候補構造群の決定処理の流れの一例を示したフローチャートである。
【
図5】
図5は、
図4に示した候補構造群の決定処理のステップS31~ステップS34までの処理を概念的に説明するための図である。
【
図6】
図6は、
図4に示した候補構造群の決定処理のステップS36の処理を概念的に説明するための図である。
【
図7】
図7は、
図3のステップS8において実行される構造予測処理を概念的に説明するための図である。
【
図8】
図8は、各世代において、
図4に示した圧力p
i(iは0以上の整数)における候補構造群の決定処理を概念的に示した図の一例である。
【
図9】
図9は、比較例に係る結晶構造予測処理の流れの一例を示したフローチャートである。
【
図10】
図10は、第2の実施形態に係る結晶構造予測処理において実行される第2の改選候補構造群の生成処理の流れの一例を示したフローチャートである。
【
図11】
図11は、
図10に示したステップS32におけるアニーリング処理を概念的に説明するための図である。
【発明を実施するための形態】
【0008】
(第1の実施形態)
図1は、第1の実施形態に係る情報処理装置1のハードウェア構成の一例を示すブロック図である。
図1に示すように、情報処理装置1は、通信ネットワーク5を介して外部装置9Aと接続されてもよい。また、情報処理装置1は、デバイスインタフェース39を介して接続された外部装置9Bを備えてもよい。
【0009】
情報処理装置1は、候補構造予測処理を含む結晶構造予測(Crystal Structure Prediction:CSP)処理を実行する。
【0010】
ここで、結晶構造予測処理とは、例えば、物質の結晶の組成式及び圧力に基づいて当該圧力における安定した結晶構造を予測する処理である。また、候補構造予測処理とは、結晶構造予測処理において用いる候補としての構造(以下、「候補構造」とも呼ぶ)を予測する処理である。なお、候補構造予測処理、結晶構造予測処理については、後で詳しく説明する。
【0011】
情報処理装置1は、コンピュータ30と、デバイスインタフェース39を介してコンピュータ30に接続された外部装置9Bと、を有してもよい。コンピュータ30は、一例として、プロセッサ31と、主記憶装置(メモリ)33と、補助記憶装置(メモリ)35と、ネットワークインタフェース37と、デバイスインタフェース39と、を備えてもよい。情報処理装置1は、プロセッサ31と、主記憶装置33と、補助記憶装置35と、ネットワークインタフェース37と、デバイスインタフェース39とがバス41を介して接続されたコンピュータ30として実現されてもよい。
【0012】
図1に示すコンピュータ30は、各構成要素を一つ備えているが、同じ構成要素を複数備えていてもよい。また、
図1では、1台のコンピュータ30が示されているが、ソフトウェアが複数台のコンピュータにインストールされて、当該複数台のコンピュータそれぞれがソフトウェアの同一の又は異なる一部の処理を実行してもよい。この場合、コンピュータそれぞれがネットワークインタフェース37等を介して通信して処理を実行する分散コンピューティングの形態であってもよい。つまり、本実施形態における情報処理装置1は、1又は複数の記憶装置に記憶された命令を1台又は複数台のコンピュータが実行することで後述の各種機能を実現するシステムとして構成されてもよい。また、端末から送信された情報は、クラウド上に設けられた1台又は複数台のコンピュータで処理され、この処理結果は、外部装置9Bに相当する表示装置(表示部)などの端末に送信するような構成であってもよい。
【0013】
本実施形態における情報処理装置1の各種演算は、1又は複数のプロセッサを用いて、又は、ネットワークを介した複数台のコンピュータを用いて、並列処理で実行されてもよい。また、各種演算が、プロセッサ内に複数ある演算コアに振り分けられて、並列処理で実行されてもよい。また、本開示の処理、手段等の一部又は全部は、ネットワークを介してコンピュータ30と通信可能なクラウド上に設けられたプロセッサ及び記憶装置の少なくとも一方により実行されてもよい。このように、本実施形態における後述の各種は、1台又は複数台のコンピュータによる並列コンピューティングの形態であってもよい。
【0014】
プロセッサ31は、コンピュータ30の制御装置及び演算装置を含む電子回路(処理回路、Processing circuit、Processing circuitry、CPU(Central Processing Unit)、GPU(Graphics Processing Unit)、FPGA(Field Programmable Gate Array)、又はASIC(Application Specific Integrated Circuit)等)であってもよい。また、プロセッサ31は、専用の処理回路を含む半導体装置等であってもよい。プロセッサ31は、電子論理素子を用いた電子回路に限定されるものではなく、光論理素子を用いた光回路により実現されてもよい。また、プロセッサ31は、量子コンピューティングに基づく演算機能を含むものであってもよい。
【0015】
プロセッサ31は、コンピュータ30の内部構成の各装置等から入力されたデータやソフトウェア(プログラム)に基づいて演算処理を行い、演算結果や制御信号を各装置等に出力することができる。プロセッサ31は、コンピュータ30のOS(Operating System)や、アプリケーション等を実行することにより、コンピュータ30を構成する各構成要素を制御してもよい。
【0016】
本実施形態における情報処理装置1は、1又は複数のプロセッサ31により実現されてもよい。ここで、プロセッサ31は、1チップ上に配置された1又は複数の電子回路を指してもよいし、2つ以上のチップあるいは2つ以上のデバイス上に配置された1又は複数の電子回路を指してもよい。複数の電子回路を用いる場合、各電子回路は有線又は無線により通信してもよい。
【0017】
主記憶装置33は、プロセッサ31が実行する命令及び各種データ等を記憶する記憶装置であり、主記憶装置33に記憶された情報がプロセッサ31により読み出される。補助記憶装置35は、主記憶装置33以外の記憶装置である。なお、これらの記憶装置は、電子情報を格納可能な任意の電子部品を意味するものとし、半導体のメモリでもよい。半導体のメモリは、揮発性メモリ、不揮発性メモリのいずれでもよい。本実施形態に係る情報処理装置3において用いられる各種データを保存するための記憶装置は、主記憶装置33又は補助記憶装置35により実現されてもよく、プロセッサ31に内蔵される内蔵メモリにより実現されてもよい。例えば、本実施形態における記憶部は、主記憶装置33又は補助記憶装置35により実現されてもよい。
【0018】
記憶装置(メモリ)1つに対して、複数のプロセッサが接続(結合)されてもよいし、単数のプロセッサ31が接続されてもよい。プロセッサ1つに対して、複数の記憶装置(メモリ)が接続(結合)されてもよい。本実施形態における情報処理装置1が、少なくとも1つの記憶装置(メモリ)とこの少なくとも1つの記憶装置(メモリ)に接続(結合)される複数のプロセッサで構成される場合、複数のプロセッサのうち少なくとも1つのプロセッサが、少なくとも1つの記憶装置(メモリ)に接続(結合)される構成を含んでもよい。また、複数台のコンピュータに含まれる記憶装置(メモリ)とプロセッサ31とによって、この構成が実現されてもよい。さらに、記憶装置(メモリ)がプロセッサ31と一体になっている構成(例えば、L1キャッシュ、L2キャッシュを含むキャッシュメモリ)を含んでもよい。
【0019】
ネットワークインタフェース37は、無線又は有線により、通信ネットワーク5に接続するためのインタフェースである。ネットワークインタフェース37は、既存の通信規格に適合したもの等、適切なインタフェースを用いればよい。ネットワークインタフェース37により、通信ネットワーク5を介して接続された外部装置9Aと情報のやり取りが行われてもよい。なお、通信ネットワーク5は、WAN(Wide Area Network)、LAN(Local Area Network)、PAN(Personal Area Network)等の何れか、又は、それらの組み合わせであってよく、コンピュータ30と外部装置9Aとの間で情報のやり取りが行われるものであればよい。WANの一例としてインターネット等があり、LANの一例としてIEEE802.11やイーサネット(登録商標)等があり、PANの一例としてBluetooth(登録商標)やNFC(Near Field Communication)等がある。
【0020】
デバイスインタフェース39は、表示装置等の出力装置、入力装置、および外部装置9Bと直接接続するUSB(Universal Serial Bus)等のインタフェースである。なお、出力装置は、音声等を出力するスピーカなどを有していてもよい。
【0021】
外部装置9Aはコンピュータ30とネットワークを介して接続されている装置である。外部装置9Bはコンピュータ30と直接接続されている装置である。
【0022】
外部装置9A又は外部装置9Bは、一例として、入力装置(入力部)であってもよい。入力装置は、例えば、カメラ、マイクロフォン、モーションキャプチャ、各種センサ、キーボード、マウス、又はタッチパネル等のデバイスであり、取得した情報をコンピュータ30に与える。また、外部装置9A又は外部装置9Bは、パーソナルコンピュータ、タブレット端末、又はスマートフォン等の入力部とメモリとプロセッサを備えるデバイス等であってもよい。
【0023】
また、外部装置9A又は外部装置9Bは、一例として、出力装置(出力部)でもよい。出力装置は、例えば、LCD(Liquid Crystal Display)、CRT(Cathode Ray Tube)、PDP(Plasma Display Panel)、又は有機EL(Electro Luminescence)パネル等の表示装置(表示部)であってもよいし、音声等を出力するスピーカ等であってもよい。また、外部装置9A又は外部装置9Bは、パーソナルコンピュータ、タブレット端末、又はスマートフォン等の出力装置とメモリとプロセッサを備えるデバイス等であってもよい。
【0024】
また、外部装置9A又は外部装置9Bは、記憶装置(メモリ)であってもよい。例えば、外部装置9Aはネットワークストレージ等であってもよく、外部装置9BはHDD等のストレージであってもよい。
【0025】
また、外部装置9A又は外部装置9Bは、本実施形態における情報処理装置1の構成要素の一部の機能を有する装置でもよい。つまり、コンピュータ30は、外部装置9A又は外部装置9Bの処理結果の一部又は全部を、送信又は受信してもよい。
【0026】
図2は、プロセッサ31における機能ブロックの一例を示す図である。プロセッサ31は、候補構造予測処理、結晶構造予測処理を実現する機能として、例えば、取得部311と、候補予測処理部313と、構造予測処理部315と、出力部317とを備えてもよい。取得部311と、候補予測処理部313と、構造予測処理部315と、出力部317とにより実現される機能は、それぞれプログラムとして、例えば、主記憶装置33または補助記憶装置35などに格納されていてもよい。プロセッサ31は、主記憶装置33または補助記憶装置35などに格納されたプログラムを読み出し、実行することで、取得部311と、候補予測処理部313と、構造予測処理部315と、出力部317とに関する機能を実現することができる。
【0027】
取得部311は、例えばユーザからの入力に基づいて、対象となる物質の組成に関する情報、例えば組成式を取得してもよい。対象となる物質は結晶でもよい。また、取得部311は、例えばユーザからの入力に基づいて、候補予測処理部313が実行する候補構造予測処理において用いられる圧力を取得してもよい。
【0028】
候補予測処理部313は、候補構造予測処理を実行してもよい。具体的には、候補予測処理部313は、結晶の組成式と、基準とする圧力と、当該基準とする圧力と異なる圧力と、を用いた所定の探索アルゴリズムに基づいて、複数の候補構造からなる候補構造群を生成してもよい。本実施形態においては、説明を具体的にするため、候補構造予測処理に用いる探索アルゴリズムが遺伝的アルゴリズム(Genetic Algorithm:GA)である場合を例とする。しかしながら、候補構造予測処理に用いる探索アルゴリズムは遺伝的アルゴリズムに限定されず、どのようなものであっても良い。
【0029】
また、候補予測処理部313は、例えば、学習済みモデルにより実現されてもよい。学習済みモデルは、例えばニューラルネットワークポテンシャル(Neural Network Potential:NNP)モデル、密度汎関数理論(Density Functional Theory:DFT)モデル、古典分子動力学ポテンシャルモデル等を採用することができる。本実施形態においては、説明を具体的にするため、候補予測処理部313がニューラルネットワークポテンシャルモデルである場合を例とする。
【0030】
なお、候補予測処理部313によって実行される候補構造予測処理の具体的内容については、後で詳しく説明する。
【0031】
構造予測処理部315は、候補構造予測処理によって生成された候補構造群を用いて、所定の計算アルゴリズムを用いて、基準とする圧力における結晶の最適化構造を予測する構造予測処理を実行してもよい。構造予測処理部315は、例えば、学習済みモデルにより実現されてもよい。学習済みモデルは、例えばニューラルネットワークポテンシャルモデル、密度汎関数理論モデル、古典分子動力学ポテンシャルモデル等を採用することができる。本実施形態においては、説明を具体的にするため、構造予測処理部315が密度汎関数理論モデルある場合を例とする。
【0032】
なお、候補予測処理部313と構造予測処理部315とは、個別の学習済みモデル、或いは統一的な学習済みモデルのいずれによっても実現することができる。
【0033】
出力部317は、候補構造予測処理によって生成された候補構造群、構造予測処理によって予測された(基準とする圧力における)結晶の最適化構造等を、主記憶装置33および/または補助記憶装置35に出力してもよい。また、出力部317は、候補構造群、結晶の最適化構造等を、通信ネットワーク5を介して外部装置9Aに出力することもできる。
【0034】
(結晶構造予測処理)
次に、実施形態に係る情報処理装置1によって実現される結晶構造予測処理について説明する。
【0035】
図3は、本実施形態に係る結晶構造予測処理の流れの一例を示したフローチャートである。
図3において、ステップS1~ステップS7までの処理が候補予測処理部313によって実行される候補構造予測処理に対応し、ステップS8、ステップS9の処理が構造予測処理部315によって実行される構造予測処理に対応する。結晶構造予測処理においては、結晶の組成式と、基準とする圧力p
0(例えばp
0=0)、当該基準とする圧力p
0と異なる圧力pと、を用いた遺伝的アルゴリズムに基づいて、複数の候補構造からなる候補構造群を生成してもよい。
【0036】
まず、取得部311は、例えばユーザからの入力に従って、所望する物質の結晶に関する組成式、結晶構造予測処理に用いる各種パラメータ(例えば、初期構造の設定方法、遺伝的アルゴリズムの世代数、初期集団に含まれる個体数)を取得してもよい(ステップS1)。
【0037】
なお、ステップS1において取得される組成式、各種パラメータは、主記憶装置33または補助記憶装置35に格納された情報を読み出してもよい、ネットワークインタフェース37を介して他の装置から取得する等の構成であってもよい。
【0038】
候補予測処理部313は、取得部311が取得した組成式、各種パラメータを入力し、結晶構造の初期集団を生成してもよい(ステップS2)。
【0039】
候補予測処理部313は、ステップS2において生成された初期集団を用いて、基準とする圧力p0、当該基準とする圧力p0とは異なる複数の圧力pのそれぞれにおける候補構造群の決定処理を実行してもよい(ステップS3iのステップS3a~ステップS3z)。なお、基準とする圧力p0とは異なる複数の圧力pとしては、基準とする圧力p0に近傍する前後の複数の値、基準とする圧力p0に比して大幅に高い値(例えば、基準とする圧力p0=0GPaとした場合、16GPa等)、基準とする圧力p0に比して大幅に低い値等を採用することができる。
【0040】
ここで、ステップS3iのステップS3a~ステップS3zにおいて実行される異なる圧力毎の候補構造群の決定処理について詳しく説明する。
【0041】
図4は、圧力p
i(iは0以上の整数)における候補構造群の決定処理の流れの一例を示したフローチャートである。
図4に示した様に、候補予測処理部313は、評価関数と圧力p
iとを用いて、ステップS2において生成された初期集団に含まれる各候補構造について評価関数の値(評価値)を計算してもよい(ステップS31)。
【0042】
なお、本実施形態においては、説明を具体的にするため、評価関数としてエンタルピーH=E+piV(Eは各構造の内部エネルギーで、例えばニューラルネットワークポテンシャルモデル、密度汎関数理論モデル、古典分子動力学ポテンシャルモデル等で計算され、Vは各構造の体積)を採用し、評価値としてエンタルピーの値を用いる場合を例とする。しかしながら、当該エンタルピーの例に限定されず、任意の評価関数を採用することができる。
【0043】
候補予測処理部313は、各構造について算出されたエンタルピーを例えば昇順にソートし、値の小さい方から所定の個数を選択する選択処理を実行してもよい(ステップS32)。
【0044】
候補予測処理部313は、選択処理によって選択された複数の候補構造を用いて、遺伝的アルゴリズムに従って新個体(すなわち、新たな候補構造)を生成してもよい(ステップS33)。すなわち、候補予測処理部313は、選択処理によって選択された複数の候補構造を用いて、交配(結合)、変異等の処理により新たな候補構造を生成してもよい。
【0045】
候補予測処理部313は、ステップS33において生成された新個体としての新たな候補構造を現在の集団へ追加し、集団(population)の世代を更新してもよい(ステップS34)。
【0046】
図5は、
図4に示した候補構造群の決定処理のステップS31~ステップS34までの処理を概念的に説明するための図である。
図5に示した様に、圧力毎に、各構造について算出されたエンタルピーを昇順にソートし、値の小さい方から所定数の候補構造を選択してもよい。選択された所定数の候補構造用いて、交配、変異等の遺伝的アルゴリズムに従って新個体としての候補構造を生成し、現在の集団へ追加してもよい。
【0047】
図4に戻り、候補予測処理部313は、ステップS34において更新された集団の世代数がステップS1において取得(設定)した世代数に到達したか否かを判定してもよい(ステップS35)。ステップS34において更新された集団の世代数がステップS1において取得した世代数に到達していない場合には(ステップS35のNo)、候補予測処理部313は、新個体が追加され世代が更新された集団を用いて、ステップS31~ステップS34の処理を繰り返し実行してもよい。
【0048】
一方、ステップS34において更新された集団の世代数がステップS1において取得した世代数に到達したと判定した場合には(ステップS35のYes)、候補予測処理部313は、ステップS34において生成された集団に含まれる各候補構造について、圧力をP0として評価関数H=E+p0Vを用いてエンタルピーの値を計算し、エンタルピーを昇順にソートし、値の小さい方から所定の個数を選択し候補構造群として決定してもよい(ステップS36)。
【0049】
図6は、
図4に示した候補構造群の決定処理のステップS36の処理を概念的に説明するための図である。
図6に示した様に、設定した世代数に到達した圧力毎の集団についてp=p
0(今の場合p
0=0)としてエンタルピーの値を計算する。各構造について算出されたエンタルピーを昇順にソートし、値の小さい方から所定数の候補構造を候補構造群として決定してもよい。
【0050】
図3に戻り、候補予測処理部313は、各圧力についての候補構造群を合算してもよい(ステップS4)。
【0051】
候補予測処理部313は、ステップS4において候補構造群が合算された集団に含まれる各候補構造について、圧力をP0として評価関数H=E+p0Vを用いてエンタルピーの値を計算してもよい(ステップS5)。
【0052】
候補予測処理部313は、ステップS4においてエンタルピーを昇順にソートし、値の小さい方から所定の個数を選択し第1の改善候補構造群として決定してもよい(ステップS6)。候補予測処理部313は、決定した第1の改選候補構造群を出力してもよい(ステップS7)。なお、第1の改善候補構造群は第3の候補構造群の一例である。
【0053】
構造予測処理部315は、改善された候補構造群を用いて、構造予測処理を実行してもよい(ステップS8)。
【0054】
図7は、
図3のステップS8において実行される構造予測処理を概念的に説明するための図である。
図7に示した様に、例えば、構造予測処理部315は、改善された候補構造群に含まれる各個体(候補構造)について、DFTモデルに従ってエネルギーを計算してもよい。ここの処理は、DFTモデルの方が精度を出せるため好ましいが、NNPモデル、古典分子動力学モデルであってもよい。構造予測処理部315は、候補構造をエネルギーの昇順にソートし、最もエネルギーの値の小さい構造を当該結晶の圧力p
0において最適化された構造として決定してもよい。
【0055】
図3に戻り、構造予測処理部315は、ステップS8において決定した最適化された構造を出力してもよい(ステップS9)。
【0056】
なお、上記
図3に示した結晶構造予測処理においては、異なる圧力による候補構造群の決定処理をステップS3a~ステップS3zにおいて並列的に実行する場合を例示した。当然ながら、各世代において、圧力を変更しながら候補構造群の決定処理をシリアルに繰り返し実行することで、同様の結果を取得することも可能である。
【0057】
図8は、各世代において、
図4に示した圧力p
i(iは0以上の整数)における候補構造群の決定処理を概念的に示した図の一例である。
図8に示した様に、圧力p
i(iは0以上の整数)において、各構造について算出されたエンタルピーを昇順にソートし、値の小さい方から所定数の候補構造を選択する。選択された所定数の候補構造を用いて、遺伝的アルゴリズムに従って新個体(新たな候補構造)を生成する。
【0058】
生成された各予測構造群についてp=p0(今の場合p0=0)としてエンタルピーの値を計算し、算出されたエンタルピーを昇順にソートし、値の小さい方から所定数の候補構造を候補構造群として決定するようにしてもよい。
【0059】
(比較例)
次に、比較例に係る結晶構造予測処理について説明する。
【0060】
図9は、比較例に係る結晶構造予測処理の流れの一例を示したフローチャートである。
図9に示した様に、ユーザが所望する物質の結晶に関する組成式、結晶構造予測処理に用いる各種パラメータが取得され(ステップS11)、組成式、各種パラメータに基づいて結晶構造の初期集団が生成される(ステップS12)。生成された初期集団に含まれる各構造について、基準とする圧力p
0における評価関数H=E+p
0Vを用いてエンタルピーの値を計算し(ステップS13)、エンタルピーを昇順にソートし、値の小さい方から所定の個数を選択する(ステップS14)。選択された所定数の候補構造用いて、遺伝的アルゴリズムに従って新個体(新たな候補構造)を生成する(ステップS15)。生成された新個体は、集団へ追加される(ステップS16)。ステップS13~ステップS16までの処理は、ステップS11において取得された世代数に達するまで繰り返し実行される。
【0061】
ステップS13~ステップS16までの処理が世代数まで実行されると、到達した世代数における集団に含まれる候補構造のエンタルピーを昇順にソートし、値の小さい方から所定の個数の候補構造を候補構造群として決定し出力する(ステップS18、ステップS19)。ステップS19において出力された候補構造群を用いて構造予測処理を実行し(ステップS20)、最適化された構造が出力される(ステップS21)。
【0062】
すなわち、比較例においては、基準とする圧力p0のみを考慮して選択された候補構造を用いて、遺伝的アルゴリズムに従って新個体を生成している。従って、生成される新個体のバリエーションが限られたものとなる。
【0063】
これに対し、本実施形態に係る結晶構造予測処理においては、複数の圧力を考慮して選択された候補構造を用いて、遺伝的アルゴリズムに従って新個体を生成してもよい。従って、比較例に比して、生成される新個体のバリエーションを豊富にすることができる。
【0064】
実施形態に係る情報処理装置1は、少なくとも1つのメモリとしての主記憶装置33、補助記憶装置35と、少なくとも1つのプロセッサとしてのプロセッサ31とを備えてもよい。プロセッサ31によって実現される候補予測処理部313は、所定の物質の組成に関する情報(例えば結晶)について、基準となる第1の圧力p0を用いた第1の探索アルゴリズム(遺伝的アルゴリズム)に基づいて複数の候補構造を含む第1の候補構造群を算出する。候補予測処理部313は、第1の圧力p0と異なる第2の圧力pを用いた遺伝的アルゴリズムに基づいて複数の候補構造を含む第2の候補構造群を算出する。候補予測処理部313は、第1の候補構造群及び第2の候補構造群に含まれる候補構造について、評価関数H=E+p0Vを用いた評価処理を実行する。候補予測処理部313は、複数の候補構造を含む第3の候補構造群としての第1の改善候補構造群を算出し、第1の改善候補構造群を出力する。
【0065】
すなわち、実施形態に係る情報処理装置1は、目的とする第1の圧力p0のみで候補構造の探索を行うだけでなく、目的とする第1の圧力p0とはことなる圧力(例えば、圧力p0の近傍の圧力等)を用いて候補構造の探索を行い、スクリーニング的に得られた全ての候補構造を結晶構造予測処理に利用することができる。従って、より密度の高い、或いはより密度の低い結晶構造を比較的簡単に予測することができる。
【0066】
また、発明者らは、物質材料の第一原理計算結果のデータベースを用いて、本実施形態に係る情報処理装置1によって取得された第1の改善候補構造群に含まれる候補構造の再現率(recall)を、例えば、比較例に係る手法によって取得された候補構造群に含まれる候補構造の再現率を基準として評価し、再現率の向上を確認することができた。その結果、実施形態に係る情報処理装置1によれば、結晶構造予測において、従来に比して計算速度や計算精度を向上させることができる。
【0067】
(第2の実施形態)
次に、第2の実施形態に係る情報処理装置1について説明する。第2の実施形態に係る情報処理装置1は、アニーリング処理(焼きなまし処理)を用いて、第1の改善候補構造群から絞り込みを実行し、第2の改善候補構造群を生成してもよい。なお、第2の改善候補構造群は第4の候補構造群の一例である。
【0068】
図10は、第2の実施形態に係る結晶構造予測処理において実行される第2の候補構造群の生成処理の流れの一例を示したフローチャートである。なお、
図10に示した第2の候補構造群の生成処理は、例えば、
図3に示したステップS7とステップS8との間において実行してもよい。
【0069】
図10に示した様に、候補予測処理部313は、第1の改善候補構造群を取得し(ステップS41)、第1の改善候補構造群に含まれる各候補構造に対してアニーリング処理を実行してよい(ステップS42)。
【0070】
図11は、
図10に示したステップS32におけるアニーリング処理を概念的に説明するための図である。なお、
図11において、縦軸はエンタルピーの値を示している。横軸は候補構造番号を概念的に示しており、S
1、S
2、・・・、S
8はそれぞれ異なる候補構造を示す。また、
図11における丸印は一つの候補構造を象徴的に示したものである。
【0071】
図11の上段に示した様に、候補予測処理部313は、第1の改善候補構造群に含まれる各候補構造において仮想温度Tを上昇させ内部エネルギーを上昇させることで、各候補構造の原子位置に摂動を加えた後、
図11の下段に示した様に、仮想温度TをT=0にまで緩和させても(アニーリング処理)。この仮想温度とは、数値計算上の摂動の大きさを決めるパラメータであり、必ずしも現実の温度と対応している必要はない。
【0072】
なお、
図11の上段における矢印は、内部エネルギーの上昇により各候補構造のエンタルピーが変動したことを象徴的に示したものである。また、
図11の下段における矢印は、温度TをT=0にまで緩和させた場合に、アニーリング処理の前後における候補構造の変動を象徴的に示したものである。
【0073】
候補予測処理部313は、各候補構造について、アニーリング処理前後の類似度を判定してもよい(ステップS43)。この類似度の判定アルゴリズムについては、特に限定はない。例えば、アニーリング処理前後におけるエンタルピー、エネルギー等を用いて計算することができる。
【0074】
候補予測処理部313は、各候補構造のアニーリング処理前後の類似度に基づいて、第2の改善候補構造群を決定してもよい(ステップS44)。すなわち、候補予測処理部313は、例えば、アニーリング処理前後の類似度が基準値以上である場合には、アニーリング処理の前後で構造が崩れない安定した候補構造とみなすことができる。一方、候補予測処理部313は、例えば、アニーリング処理前後の類似度が基準値より低い場合には、アニーリング処理の前後で構造が崩れた不安定な候補構造とみなすことができる。候補予測処理部313は、アニーリング処理の前後で構造が崩れない安定した候補構造を、第2の改善候補構造群として決定してもよい。
【0075】
候補予測処理部313は、決定された第2の改善候補構造群を出力してもよい(ステップS45)。以降、構造予測処理部315により、構造予測処理が実行することができる。
【0076】
本実施形態に係る情報処理装置1の候補予測処理部313は、第3の候補構造群としての第1の改善候補構造群に含まれる各候補構造に対してアニーリング処理を実行する。候補予測処理部313は、第1の改善候補構造群に含まれる各候補構造について、前記アニーリング処理前後の類似度を算出する。候補予測処理部313は、候補構造毎の類似度に基づいて、第4の候補構造群としての第2の改善候補構造群を決定し、第2の改善候補構造群を出力する。
【0077】
すなわち、実施形態に係る情報処理装置1は、複数の圧力を用いて得られた第1の改善候補構造群に含まれる候補構造に対し、アニーリング処理により摂動効果を与えて、現実に存在する可能性が高い安定した候補構造を絞り込んでもよい。従って、複数の圧力を用いてスクリーニング的に得られた第1の改善候補構造群に含まれる候補構造のうち、不安定な候補構造が除外された第2の改善候補構造群を生成し結晶構造予測処理に利用することができる。
【0078】
また、発明者らは、物質材料の第一原理計算結果のデータベースを用いて、本実施形態に係る情報処理装置1によって取得された第2の改善候補構造群に含まれる候補構造の適合率(precision)を、例えば、比較例に係る手法によって取得された候補構造群に含まれる候補構造の適合率を基準として評価し、適合率の向上を確認することができた。その結果、実施形態に係る情報処理装置1によれば、結晶構造予測において、従来に比して計算速度や計算精度を向上させることができる。
【0079】
(変形例1)
上記実施形態においては、評価関数としてエンタルピーH=E+pVを採用し、示強変数としての圧力pと示量変数としての体積Vとの積pVをペナルティ項として候補構造の評価を行う場合を例示した。これに対し、他の物理量の組み合わせ、例えば、温度、化学ポテンシャル、表面張力、電場、磁束密度、磁場の強さ、応力等の示強変数と、これらに対応する示量変数との積をペナルティ項とする評価関数を採用することもできる。また、物性値(例えば、硬さ、バンドギャップ、状態密度、電気伝導度、熱電導度、粘性、拡散係数等)をペナルティ項とする評価関数を採用することも可能である。
【0080】
(変形例2)
上記実施形態において、例えば
図3におけるステップS4とステップS5との間において、合算された候補構造群を用いた遺伝的アルゴリズムを実行するようにしてもよい。
【0081】
例えば、複数の原子により構成される原子構造のエネルギーおよび/または力を解析する各種解析装置や解析サーバなどにおけるコンピュータに当該決定プログラムをインストールし、これらをメモリ上で展開することによっても、最適パラメータ決定処理を実現することができる。このとき、コンピュータに当該手法を実行させることのできるプログラムは、磁気ディスク(ハードディスクなど)、光ディスク(CD-ROM、DVDなど)、半導体メモリなどの記憶媒体に格納して頒布することも可能である。決定プログラムによる最適パラメータ決定処理の手順および効果は、実施形態と同様なため、説明は省略する。
【0082】
前述した実施形態における各装置の一部又は全部は、ハードウェアで構成されていてもよいし、CPU、又はGPU等が実行するソフトウェア(プログラム)の情報処理で構成されてもよい。ソフトウェアの情報処理で構成される場合には、前述した実施形態における各装置の少なくとも一部の機能を実現するソフトウェアを、フレキシブルディスク、CD-ROM(Compact Disc-Read Only Memory)、又はUSBメモリ等の非一時的な記憶媒体(非一時的なコンピュータ可読媒体)に収納し、コンピュータ30に読み込ませることにより、ソフトウェアの情報処理を実行してもよい。また、通信ネットワーク5を介して当該ソフトウェアがダウンロードされてもよい。さらに、ソフトウェアがASIC、又はFPGA等の回路に実装されることにより、情報処理がハードウェアにより実行されてもよい。
【0083】
ソフトウェアを収納する記憶媒体の種類は限定されるものではない。記憶媒体は、磁気ディスク、又は光ディスク等の着脱可能なものに限定されず、ハードディスク、又はメモリ等の固定型の記憶媒体であってもよい。また、記憶媒体は、コンピュータ内部に備えられてもよいし、コンピュータ外部に備えられてもよい。
【0084】
本明細書(請求項を含む)において、「a、b及びcの少なくとも1つ(一方)」又は「a、b又はcの少なくとも1つ(一方)」の表現(同様な表現を含む)が用いられる場合は、a、b、c、a-b、a-c、b-c、又はa-b-cのいずれかを含む。また、a-a、a-b-b、a-a-b-b-c-c等のように、いずれかの要素について複数のインスタンスを含んでもよい。さらに、a-b-c-dのようにdを有する等、列挙された要素(a、b及びc)以外の他の要素を加えることも含む。
【0085】
本明細書(請求項を含む)において、「データを入力として/データに基づいて/に従って/に応じて」等の表現(同様な表現を含む)が用いられる場合は、特に断りがない場合、各種データそのものを入力として用いる場合や、各種データに何らかの処理を行ったもの(例えば、ノイズ加算したもの、正規化したもの、各種データの中間表現等)を入力として用いる場合を含む。また「データに基づいて/に従って/に応じて」何らかの結果が得られる旨が記載されている場合、当該データのみに基づいて当該結果が得られる場合を含むとともに、当該データ以外の他のデータ、要因、条件、及び/又は状態等にも影響を受けて当該結果が得られる場合をも含み得る。また、「データを出力する」旨が記載されている場合、特に断りがない場合、各種データそのものを出力として用いる場合や、各種データに何らかの処理を行ったもの(例えば、ノイズ加算したもの、正規化したもの、各種データの中間表現等)を出力とする場合も含む。
【0086】
本明細書(請求項を含む)において、「接続される(connected)」及び「結合される(coupled)」との用語が用いられる場合は、直接的な接続/結合、間接的な接続/結合、電気的(electrically)な接続/結合、通信的(communicatively)な接続/結合、機能的(operatively)な接続/結合、物理的(physically)な接続/結合等のいずれをも含む非限定的な用語として意図される。当該用語は、当該用語が用いられた文脈に応じて適宜解釈されるべきであるが、意図的に或いは当然に排除されるのではない接続/結合形態は、当該用語に含まれるものして非限定的に解釈されるべきである。
【0087】
本明細書(請求項を含む)において、「AがBするよう構成される(A configured to B)」との表現が用いられる場合は、要素Aの物理的構造が、動作Bを実行可能な構成を有するとともに、要素Aの恒常的(permanent)又は一時的(temporary)な設定(setting/configuration)が、動作Bを実際に実行するように設定(configured/set)されていることを含んでよい。例えば、要素Aが汎用プロセッサである場合、当該プロセッサが動作Bを実行可能なハードウェア構成を有するとともに、恒常的(permanent)又は一時的(temporary)なプログラム(命令)の設定により、動作Bを実際に実行するように設定(configured)されていればよい。また、要素Aが専用プロセッサ又は専用演算回路等である場合、制御用命令及びデータが実際に付属しているか否かとは無関係に、当該プロセッサの回路的構造が動作Bを実際に実行するように構築(implemented)されていればよい。
【0088】
本明細書(請求項を含む)において、含有又は所有を意味する用語(例えば、「含む(comprising/including)」及び有する「(having)等)」が用いられる場合は、当該用語の目的語により示される対象物以外の物を含有又は所有する場合を含む、open-endedな用語として意図される。これらの含有又は所有を意味する用語の目的語が数量を指定しない又は単数を示唆する表現(a又はanを冠詞とする表現)である場合は、当該表現は特定の数に限定されないものとして解釈されるべきである。
【0089】
本明細書(請求項を含む)において、ある箇所において「1つ又は複数(one or more)」又は「少なくとも1つ(at least one)」等の表現が用いられ、他の箇所において数量を指定しない又は単数を示唆する表現(a又はanを冠詞とする表現)が用いられているとしても、後者の表現が「1つ」を意味することを意図しない。一般に、数量を指定しない又は単数を示唆する表現(a又はanを冠詞とする表現)は、必ずしも特定の数に限定されないものとして解釈されるべきである。
【0090】
本明細書において、ある実施例の有する特定の構成について特定の効果(advantage/result)が得られる旨が記載されている場合、別段の理由がない限り、当該構成を有する他の1つ又は複数の実施例についても当該効果が得られると理解されるべきである。但し当該効果の有無は、一般に種々の要因、条件、及び/又は状態等に依存し、当該構成により必ず当該効果が得られるものではないと理解されるべきである。当該効果は、種々の要因、条件、及び/又は状態等が満たされたときに実施例に記載の当該構成により得られるものに過ぎず、当該構成又は類似の構成を規定したクレームに係る発明において、当該効果が必ずしも得られるものではない。
【0091】
本明細書(請求項を含む)において、「最大化(maximize)」等の用語が用いられる場合は、グローバルな最大値を求めること、グローバルな最大値の近似値を求めること、ローカルな最大値を求めること、及びローカルな最大値の近似値を求めることを含み、当該用語が用いられた文脈に応じて適宜解釈されるべきである。また、これら最大値の近似値を確率的又はヒューリスティックに求めることを含む。同様に、「最小化(minimize)」等の用語が用いられる場合は、グローバルな最小値を求めること、グローバルな最小値の近似値を求めること、ローカルな最小値を求めること、及びローカルな最小値の近似値を求めることを含み、当該用語が用いられた文脈に応じて適宜解釈されるべきである。また、これら最小値の近似値を確率的又はヒューリスティックに求めることを含む。同様に、「最適化(optimize)」等の用語が用いられる場合は、グローバルな最適値を求めること、グローバルな最適値の近似値を求めること、ローカルな最適値を求めること、及びローカルな最適値の近似値を求めることを含み、当該用語が用いられた文脈に応じて適宜解釈されるべきである。また、これら最適値の近似値を確率的又はヒューリスティックに求めることを含む。
【0092】
本明細書(請求項を含む)において、複数のハードウェアが所定の処理を行う場合、各ハードウェアが協働して所定の処理を行ってもよいし、一部のハードウェアが所定の処理の全てを行ってもよい。また、一部のハードウェアが所定の処理の一部を行い、別のハードウェアが所定の処理の残りを行ってもよい。本明細書(請求項を含む)において、「1又は複数のハードウェアが第1の処理を行い、前記1又は複数のハードウェアが第2の処理を行う」等の表現が用いられている場合、第1の処理を行うハードウェアと第2の処理を行うハードウェアは同じものであってもよいし、異なるものであってもよい。つまりく、第1の処理を行うハードウェア及び第2の処理を行うハードウェアが、前記1又は複数のハードウェアに含まれていればよい。なお、ハードウェアは、電子回路、又は電子回路を含む装置を含んでよい。
【0093】
本明細書(請求項を含む)において、複数の記憶装置(メモリ)がデータの記憶を行う場合、複数の記憶装置(メモリ)のうち個々の記憶装置(メモリ)は、データの一部のみを記憶してもよいし、データの全体を記憶してもよい。
【0094】
以上、本開示の実施形態について詳述したが、本開示は上記した個々の実施形態に限定されるものではない。特許請求の範囲に規定された内容及びその均等物から導き出される本発明の概念的な思想と趣旨を逸脱しない範囲において種々の追加、変更、置き換え及び部分的削除等が可能である。例えば、前述した全ての実施形態において、数値又は数式を説明に用いている場合は、一例として示したものであり、これらに限られるものではない。また、実施形態における各動作の順序は、一例として示したものであり、これらに限られるものではない。
【符号の説明】
【0095】
1 情報処理装置
5 通信ネットワーク
9A 外部装置
9B 外部装置
30 コンピュータ
31 プロセッサ
33 主記憶装置
35 補助記憶装置
37 ネットワークインタフェース
39 デバイスインタフェース
41 バス
311 取得部
313 候補予測処理部
315 構造予測処理部
317 出力部