(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2025015288
(43)【公開日】2025-01-30
(54)【発明の名称】情報処理装置、情報処理方法、プログラム
(51)【国際特許分類】
G16C 20/10 20190101AFI20250123BHJP
【FI】
G16C20/10
【審査請求】未請求
【請求項の数】15
【出願形態】OL
(21)【出願番号】P 2023118608
(22)【出願日】2023-07-20
(71)【出願人】
【識別番号】515130201
【氏名又は名称】株式会社Preferred Networks
(71)【出願人】
【識別番号】000004444
【氏名又は名称】ENEOS株式会社
(74)【代理人】
【識別番号】100126099
【弁理士】
【氏名又は名称】反町 洋
(74)【代理人】
【識別番号】100152423
【弁理士】
【氏名又は名称】小島 一真
(74)【代理人】
【識別番号】100202429
【弁理士】
【氏名又は名称】石原 信人
(72)【発明者】
【氏名】林 亮秀
(57)【要約】
【課題】反応経路探索において分子構造を従前の手法に比べて自由に変化させられるようにする。
【解決手段】情報処理装置は、化学反応の反応経路を探索する方法を実行する情報処理装置であって、1又は複数のメモリと、1又は複数のプロセッサと、を備える。前記1又は複数のプロセッサは、前記化学反応において着目する原子構造の少なくとも終構造が満たす条件であって不等式を含む条件の下で前記化学反応に関わる複数原子の構造変化を繰り返し計算することで、前記化学反応における前記複数原子の構造のトラジェクトリを探索する。
【選択図】
図1
【特許請求の範囲】
【請求項1】
化学反応の反応経路を探索する方法を実行する情報処理装置であって、
1又は複数のメモリと、
1又は複数のプロセッサと、
を備え、
前記1又は複数のプロセッサは、
前記化学反応において着目する原子構造の少なくとも終構造が満たす条件であって不等式を含む条件の下で前記化学反応に関わる複数原子の構造変化を繰り返し計算することで、前記化学反応における前記複数原子の構造のトラジェクトリを探索する、
情報処理装置。
【請求項2】
前記不等式は、前記着目する原子構造の位置的な関係性の指標と、目的値と、の大小関係によって形成される、
請求項1に記載の情報処理装置。
【請求項3】
前記1又は複数のプロセッサは、前記不等式を含む条件の下で、前記複数原子の少なくとも1つの原子に掛ける力の計算及び当該力に基づく前記複数原子の構造変化の計算を繰り返し行うことで、前記トラジェクトリを探索し、
前記1又は複数のプロセッサは、前記不等式に基づいて形状が設定される関数を用いて、前記力を計算する、
請求項1に記載の情報処理装置。
【請求項4】
前記不等式に基づいて形状が設定される関数は、前記不等式に基づいて、前記力の値を計算する式が切り替わる関数である、
請求項3に記載の情報処理装置。
【請求項5】
前記構造変化の繰り返しの計算は、繰り返し計算される前記力に基づく微分方程式を数値的に解く計算である、
請求項3又は4に記載の情報処理装置。
【請求項6】
前記構造変化の繰り返しの計算は、繰り返し計算される前記力に基づく前記複数原子の構造の最適化計算である、
請求項3又は4に記載の情報処理装置。
【請求項7】
前記1又は複数のプロセッサは、前記満たす条件を、複数の不等式を含む条件によって設定する、
請求項1に記載の情報処理装置。
【請求項8】
前記1又は複数のプロセッサは、前記複数の不等式を含む条件を並列的に適用した下で前記構造変化を繰り返し計算する、
請求項7に記載の情報処理装置。
【請求項9】
前記1又は複数のプロセッサは、前記複数の不等式を含む条件を逐次的に適用した下で前記構造変化を繰り返し計算する、
請求項7又は8に記載の情報処理装置。
【請求項10】
前記不等式を含む条件は、ユーザが定義できる関数についての不等式で記述される、
請求項1に記載の情報処理装置。
【請求項11】
前記関数は、少なくとも原子間の結合距離に基づいて定義される、
請求項10に記載の情報処理装置。
【請求項12】
前記関数は、少なくとも3原子以上の情報を入力として定義される、
請求項10に記載の情報処理装置。
【請求項13】
前記関数は、少なくとも3原子が形成する結合角度、又は、二面角に基づいて定義される、
請求項12に記載の情報処理装置。
【請求項14】
1又は複数のプロセッサによって実行される、化学反応の反応経路を探索する情報処理方法であって、
前記化学反応において着目する原子構造の少なくとも終構造が満たす条件であって不等式を含む条件の下で前記化学反応に関わる複数原子の構造変化を繰り返し計算することで、前記化学反応における前記複数原子の構造のトラジェクトリを探索する工程と、
を含む、情報処理方法。
【請求項15】
化学反応の反応経路を探索するために、1又は複数のプロセッサに、
前記化学反応において着目する原子構造の少なくとも終構造が満たす条件であって不等式を含む条件の下で前記化学反応に関わる複数原子の構造変化を繰り返し計算することで、前記化学反応における前記複数原子の構造のトラジェクトリを探索する工程と、
を実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、情報処理装置、情報処理方法、プログラムに関する。
【背景技術】
【0002】
化学反応の起こりやすさは、反応前の始状態と反応後の終状態及び始状態と終状態との間に存在する遷移状態のエネルギー差 (活性化エネルギー) から計算することができる。遷移状態のエネルギーを求める手法としては、ユーザが始状態と終状態の組み合わせを与えるNEB (Nudged Elastic Band) 法やユーザが明に始状態と終状態の組み合わせを与えなくてもよいADDF (Anharmonic Downward Distortion Following) といった手法がある。
【0003】
また、特定の分子同士、原子同士に対して擬似的な引力、斥力を与え、特定の反応を起こりやすくし、複数の反応物間の反応過程を自動的に探索するAFIR (Artificial Force Induced Reaction) といった手法がある。
【先行技術文献】
【非特許文献】
【0004】
【非特許文献1】S. Maeda, et. Al.,“Systematic Exploration of the Mechanism of Chemical Reactions: Global Reaction Rout Mapping (GRRM) Strategy by the ADDF and AFIR Methods”, Phys. Chem. Chem. Phys., 15, 3683-3701 (2013)
【発明の概要】
【発明が解決しようとする課題】
【0005】
本開示の実施形態が解決しようとする限定されない課題の1つは、反応経路探索において分子構造を従前の手法に比べて自由に変化させられるようにすることである。
【課題を解決するための手段】
【0006】
一実施形態によれば、情報処理装置は、化学反応の反応経路を探索する方法を実行する情報処理装置であって、1又は複数のメモリと、1又は複数のプロセッサと、を備える。前記1又は複数のプロセッサは、前記化学反応において着目する原子構造の少なくとも終構造が満たす条件であって不等式を含む条件の下で前記化学反応に関わる複数原子の構造変化を繰り返し計算することで、前記化学反応における前記複数原子の構造のトラジェクトリを探索する。
【図面の簡単な説明】
【0007】
【
図1】一実施形態に係る情報処理装置の処理の一例を示すフローチャート。
【
図2】一実施形態に係る情報処理装置の実装の一例を示すブロック図。
【発明を実施するための形態】
【0008】
本開示の実施形態により解決しようとする課題は、上記に記載した課題に限定されるものではなく、さらに限定されないいくつかの課題の例として、実施形態において記載した効果に対応する課題、とすることもできる。すなわち、本開示の実施形態の説明において記載された効果のうち任意の少なくとも1つに対応する課題を本開示における解決しようとする課題とすることができる。
【0009】
以下、図面を参照して本発明の実施形態について説明する。図面及び実施形態の説明は一例として示すものであり、本発明を限定するものではない。
【0010】
本開示においては、情報処理装置により分子など複数の原子を含む系の化学反応経路を探索する。情報処理装置は、これら複数の原子のうちの着目する1以上の原子 (着目する原子構造) の位置的な関係性の指標 (一例として、1つの原子の所定方向の座標(例えば空間のxy方向に広がる固定のスラブに対する原子のz座標)や、原子間の結合距離、結合角度、二面角) に関する拘束の条件 (本開示において拘束条件と呼ぶことがある) を、少なくとも1以上の不等式を含む形態によって設定し、この条件の下で複数の原子を含む系の構造の変化を計算する。情報処理装置は、設定された不等式の条件を満たすまで系の構造を連続的に変化させてよい。情報処理装置は、この条件の下で複数の原子のうち少なくとも1つの原子に掛ける力を更新しながら、構造変化の計算を繰り返し実行することで、最終的な化学反応経路のトラジェクトリを探索 (取得) する。情報処理装置は、設定された不等式の条件を満たすように系の構造を変化させる力を、繰り返し計算して更新してよい。本開示においては、分子構造を、複数の原子を含む系、及び、その構造として、分子、及び、分子構造として例示し、以下説明において、分子、分子構造、をそれぞれ、複数の原子を含む系、その系の構造(複数原子の構造)、と読み替えてよい。
【0011】
以下において、情報処理装置は、当該情報処理装置に含まれる処理回路、又は、1若しくは複数の他の情報処理装置に含まれる処理回路により、それぞれの工程を実行することができる。
【0012】
まず、本開示において用いる変数等の説明をする。
【0013】
分子座標をxとする。この分子座標は、分子を構成する原子の座標を表す。分子座標は、例えば、分子がN個の原子を含む場合には、3N次元のベクトルとして示される。
【0014】
ユーザ座標をC(x)とする。このユーザ座標は、分子のうち、化学反応において着目する2以上の原子間 (着目する原子構造) の位置的な関係性の指標であり、スカラー値で定義される。C(x)は、例えば3N次元のベクトルである分子座標xを引数として有する。本開示においては、線形又は非線形の関数で表すことができるこのユーザ座標C(x)に対する不等式を含む条件の下で、少なくとも1つの原子に掛ける力の計算及び計算された力に基づく分子構造の変化の計算を繰り返し行うことで、化学反応経路の探索を実行する。
【0015】
C(x)は、例えば、分子における原子の位置から取得される量を表現する関数であってもよい。C(x)は、例えば、1つの原子の所定方向の座標(例えばz座標)を含む情報であってもよい。C(x)は、例えば、2原子間の結合距離を含む情報であってもよい。また、C(x)は、例えば、3原子以上が形成する結合角度、又は、二面角を含む情報であってもよい。また、C(x)は、例えば、結合距離、結合角度、又は、二面角といった情報から導くことができる量であってもよい。
【0016】
分子座標xを持つ分子構造におけるエネルギーをE(x)で表す。このエネルギーE(x)は、分子構造を示す分子座標xを引数とし、スカラー値を取得する関数で示される。
【0017】
分子に掛かる力をF(x)で表す。この力は、エネルギーE(x)の分子座標xの微分 (位置微分) により表すことができる。
【数1】
【0018】
上記の変数及び関数、並びに、ユーザ座標C(x)に対する不等式の条件により、本開示に係る情報処理装置は、反応経路の探索を実現する。情報処理装置は、分子構造を変化させる処理における入力情報 (すなわち、処理に用いる情報として後述されるパラメータセットScanP) を、初期分子構造 (初期分子構造における分子座標x) 、ユーザ座標の定義C(x)とその目的値Ce、及び、駆動力の大きさを定義するパラメータfとする。なお、入力情報は、これらに限らなくともよく、上記した情報以外の情報を加えてもよい。
【0019】
ユーザ座標C(x)とその目的値Ceにより、ユーザ座標に対する拘束を表す不等式を形成し、この不等式で示される条件に従って分子に含まれる少なくとも1つの原子に掛ける力を計算することができる。以下に示す例のように、このC(x)及びCeは、適切な範囲においてユーザが任意に設定することが可能である。
【0020】
また、ユーザによって、複数のC(x)、及び、その目的値としての複数のCeが定義されてよい。すなわち、情報処理装置は、i番目のユーザ座標Ci(x)とその目的値Cieによって形成される不等式の条件を、複数、設定してよい。例えば第1のC(x)として、所定の2原子間の結合距離C1(x)を設定し、第2のC(x)として、別の所定の2原子間の結合距離C2(x)を設定し、第3のC(x)として、所定の3原子間の結合角度C3(x)を設定し、第4のC(x)として、所定の4原子間の二面角C4(x)を設定し、それぞれの目的値としてC1e、C2e、C3e、C4eを設定し、複数の不等式の条件を設定してよい。このとき、各不等式における不等号の向きは、ユーザが所望する条件に応じて決まってよい。以下、C(x)、及び、Ceは、1以上のCi(x)、及び、Cieのことを指し示す。
【0021】
情報処理装置は、上記の入力に基づいて、初期分子構造から変化し、 例えば、すべてのiについてユーザ座標に対する拘束 Ci(x) >= Cie を満たし、かつ、構造変化の終了条件を満たした終構造 (終構造における分子座標x) と、初期分子構造から終構造を接続するトラジェクトリ (初期分子構造から終構造まで分子構造を変化させる過程における各時点の分子構造に対応する分子座標xの列。分子構造のトラジェクトリと読んでよい) を反応経路探索の出力として取得する。本開示において、対象となる分子構造について、不等式で表される1以上の拘束の下で、出発点となる構造から終了条件が満たされる終構造までの構造変化を計算し、この構造変化のトラジェクトリを出力する処理をスキャンと呼ぶ。なお、本開示の処理は、現在の分子構造から別の分子構造を生成する処理にも使える。
【0022】
情報処理装置は、スキャン処理において、後述するように、例えば、ユーザ座標Ci(x)、及び、その目的値Cieの不等式で示される複数の条件を、並列(同時)に適用しても、逐次に適用してもよく、条件の並列の適用と逐次の適用とを組み合わせてもよい。情報処理装置は、適用される条件にしたがって、分子に含まれる少なくとも1つの原子に掛ける力を繰り返し計算しながら分子構造を変化させることで、スキャン処理を行ってよい。
【0023】
(第1実施形態)
一実施形態に係るスキャン処理の例として、ユーザ座標C(x)に対する拘束の座標方向の力を変更した微分方程式を解く手法が挙げられる。この手法においては、ユーザ座標の位置微分 (∇C(x)) に平行な方向に関して分子に掛かっている力F(x)を変化させて得たFscan(x)を用いて微分方程式を数値的に解くことでトラジェクトリを得る。このFscan(x)は、分子構造を変化させるために分子に含まれる少なくとも1つの原子に掛ける力に相当する。
【0024】
C(x)の位置微分に垂直な力は、式(2)で表される。
【数2】
【0025】
この垂直な力F⊥(x)に対して、力Fscan(x)を例えば式(3)のように定義する。Fscan(x)は、ユーザ座標C(x)に対する拘束を表す不等式の条件によって場合分けされる関数であり、ユーザ座標に対する拘束を表す不等式の条件に基づいて、力 (力の値) を計算する式が切り替わる。すなわち、Fscan(x)は、この不等式に基づいて形状が設定される関数である。
【0026】
なお、下記の式(3)では、各ユーザ座標C
i(x)がその目的値C
ie以上となるような拘束を仮定しているが、ユーザ座標C
i(x)に対する拘束の種類に応じて目的値C
ieに対する不等号の向きはユーザ座標C
i(x)ごとに適宜変更してよい。これにより、ユーザが所望する適切な拘束に基づいた力Fscan(x)、及び当該力Fscan(x)に基づいたトラジェクトリの計算が可能となる。
【数3】
【0027】
情報処理装置は、式(3)に基づいて、Fscan(x)を計算する。なお、条件が分岐する領域、例えば、 Ci(x) = Cie を含む微小の範囲において、 Ci(x) < Cie 、 Ci(x) > Cie のそれぞれを示す関数がなめらかに接続するようにFscan(x)を定義することもできる。また、条件が分岐する領域において、式(3)に示すそれぞれの領域の重み付け和となるように関数を定義してもよい。
【0028】
αは、F⊥をC
i(x)の勾配方向にどれだけ変位させるかを示す係数である。情報処理装置は、一例として、パラメータf
iを用いてα
iを、式(4)で示される以下の条件を満たすように決定してもよい。パラメータf
iは適宜定めてよい。
【数4】
【0029】
【0030】
初期分子構造から終構造までの分子座標xの時間変化と捉えられる。そこで、情報処理装置は、分子座標xに応じた力Fscanがおおよそ0になるまで、例えば、Fscanの絶対値が所定値を下回るまでODEソルバ (常微分方程式ソルバ) を用いて以下の式(5)で示される常微分方程式を数値的に解くことでFscanの計算を継続する。常微分方程式を解くと、各時刻の分子座標xがトラジェクトリとして得られる。
【0031】
このように、ユーザ座標C(x)に対する拘束を表す不等式の条件によって場合分けされる力Fscan(x)に基づく常微分方程式を解くスキャン処理によって、トラジェクトリを出力することができる。なお、常微分方程式は、例示したものに限られず、力Fscan(x)を、力Fscan(x)に対して分子構造の各原子の質量でスケーリングしたり、力Fscan(x)に対して任意の正定値行列や前処理行列を掛けたりして得られる力F'scan(x)に置き換えた常微分方程式であってもよい。
【数5】
【0032】
(第2実施形態)
前述の第1実施形態においては、ユーザ座標の勾配の垂直方向の力に着目して微分方程式を数値的に解くことでスキャン処理を行ったが、力の変位は、この手法に限定されるものではない。一実施形態に係る情報処理装置においては、分子に掛かる力F(x)に人工的な力を加えて、ユーザ座標の最低値 (あるいは最高値) を拘束する。以下ではユーザ座標の最低値を拘束する例を説明する。この人工的な力の限定されない一例として、ログバリアを用いることができる。
【0033】
バリア関数をB(C(x))と表記する。B(C(x))は、 C(x) = C0 で無限遠、 C(x) = C1 で0になり、単調減少する関数であることが望ましいが、これに限定されるものではない。このC0、C1は、例えば、次の不等式の関係を満たす。
【数6】
【0034】
このうち、 C1 <= Ce は、厳密に満たされている必要はなく、多少逆転することがあってもよい。また、限定されない例として、 C1 = C0 + ΔC とすることも可能であるし、 C1 = min(Ce) とおくこともできる。このようにバリア関数B(C(x))は、数(6)の不等式に基づいて形状が設定される関数である。
【0035】
式(6)の不等式で表される拘束の下、情報処理装置は、式(7)で表される値Fscan(x)に基づいて分子構造の最適化を実行することでスキャン処理を行う。この式(7)の第2項が、分子に掛かる力F(x)に加えられる人工的な力に相当し、最適化は、エネルギーE(x)+バリア関数B(C(x))の和の最小値 (極小値) を求める処理であり、ユーザ座標に対する拘束を表す不等式の条件に基づいて値が変化する力Fscan(x)に基づく。
【数7】
【0036】
最適化の結果、 C(x) < Ce であれば、C0とC1を再設定して最適化を継続する。この場合、 C(x) >= Ce を演算の完了条件としてもよい。C0、C1の再設定については、C0を、最適化終了時点でのC(x)よりも小さく、現在設定されているC0よりも大きい値に設定し、C1を、現在設定されているC1よりも大きい値に設定してよい。トラジェクトリには、最適化終了時点の分子構造だけでなく、最適化中に変化する分子構造をトラジェクトリに含めてもよい。
【0037】
図1は、上記の処理の流れの一部を示すフローチャートである。
【0038】
ユーザ座標Ci(x)に対する拘束について、そのCi(x)と、対応する目的値Cie及びパラメータfiを含むパラメータセットをScanPとして表す。ScanPは、Ci(x)とCieを用いた不等式における不等号の向きを示す情報を含み、C(x)、Ce、C0、C1の更新の仕方を表す情報を含んでよい。
【0039】
スキャンにおいて、複数のユーザ座標に対して拘束を適用する場合、ユーザは、拘束ごとにパラメータセットScanPを定義する。すなわち、情報処理装置は、複数のパラメータセットScanPを受け付け、設定する。ここで、ユーザは、複数の拘束を、並列的、及び/又は、逐次的に適用したい場合、一例として、複数のパラメータセットScanPを二重のリスト構造で定義してよい。
【0040】
本開示において、ユーザは、複数のパラメータセットScanPをList[List[ScanP]]の形式で定義することで、並列的に適用したい1以上のパラメータセットScanPを、内側のListによってList[ScanP]のようにリストし、逐次的に適用したい順に、1以上のパラメータセットScanPのリスト (List[ScanP]) を、外側のListによってList[List[ScanP]]のようにリストしてよい。
【0041】
情報処理装置は、複数のパラメータセットList[List[ScanP]]を入力として受け付ける。情報処理装置は、1番目のリストであるList[ScanP]から各パラメータセットScanPを1つずつポップし、ポップ済みの全てのScanPに基づいて、対応する拘束を全て適用したスキャン処理 (すなわち対応する全ての拘束を並列的に適用したスキャン処理) を初期分子構造に対して実行することで、分子構造を初期分子構造から変化させる。
【0042】
分子構造の変化を計算するスキャン処理には、例えば第1実施形態や第2実施形態で説明した方法を採用できる。
【0043】
全ての拘束に関して指定された目的値Ceまで分子構造が変化したタイミングで次のリストであるList[ScanP]から各パラメータセットScanPを1つずつポップし、1番目のリストからポップされた各ScanPも含む、すべてのポップ済みのScanPに基づいて、対応する拘束を全て適用したスキャン処理を、1番目のリストに基づくスキャン処理の終構造に対して実行することで、分子構造を引き続き変化させる。
【0044】
これによって、情報処理装置は、例えば、初期分子構造に対して、1番目のList[ScanP]に含まれるScanPに基づく1以上の拘束 (不等式の条件) を並列的に適用したスキャン処理を行うことで、その結果としての1つ目のトラジェクトリを出力できる。そして情報処理装置は、そのトラジェクトリの最後の分子構造 (このトラジェクトリにおける終構造) に対して、2番目のList[ScanP]に含まれるScanPに基づく1以上の拘束 (不等式の条件) を並列的に適用したスキャン処理を行うことで、その結果として、1番目の拘束を踏まえて2番目の拘束が逐次的に適用されたトラジェクトリを出力できる。以上のようなスキャン処理を、3番目のリスト、4番目のリスト、・・・と繰り返すことで、最終的な分子構造までの構造変化を計算し、そのトラジェクトリを得ることができる。
【0045】
拘束を逐次的に適用したスキャン処理によれば、求核剤 (例えば第1の原子) が求電子剤 (例えば第2の原子) に近づいて求電子剤から脱離基 (例えば第3の原子) が離れるSN2反応のような求核置換反応における構造変化をシミュレーションし、トラジェクトリを出力できる。
【0046】
情報処理装置は、まず、複数のパラメータセットScanPijを受け付けて設定する (S100) 。ここで添え字iは、List[List[ScanP]]の外側のListのインデックスを示し、添え字jは、内側のListのインデックスを示す。すなわち、ScanPijは、i+1番目のList[ScanP]のj+1番目のパラメータセットScanPを表す。なお、iの最大値をI-1とすると、ScanPijには、1番目のList[ScanP]からI番目のList[ScanP]までのI個のList[ScanP]が含まれ、1番目のList[ScanP]から順に、I回の逐次的なスキャン処理が行われることになる。
【0047】
次に、情報処理装置は、 i = 0 とし、対象の分子構造に対してスキャン処理を開始する (S102) 。すなわち、情報処理装置は、ScanP0jに対応する1番目のList[ScanP]にリストされた各パラメータセットScanPをポップし、ポップ済みの全てのScanPに基づいて、対応する拘束を全て適用したスキャン処理を初期分子構造に対して実行するよう設定する。
【0048】
情報処理装置は、設定に従ってスキャン処理を行うことで対象の分子構造を変化させる (S104) 。
【0049】
情報処理装置は、iがIに達するまでの間 S104 の処理を繰り返す。具体的には、情報処理装置は、 S104 の処理が完了後、 i >= I であるか否かを判定する (S106) 。NOである場合 (S106: NO) 、iをインクリメントして、次のスキャン処理のための設定を行う。すなわち、情報処理装置は、Scanijに対応するi+1番目のList[ScanP]にリストされた各パラメータセットScanPをポップする。そして情報処理装置は、1番目からi番目のList[ScanP]からポップされた各ScanPも含む、すべてのポップ済みのScanPに基づいて、対応する拘束を全て適用したスキャン処理を、直前のS104のスキャン処理で得られたトラジェクトリの最後の分子構造 (このトラジェクトリにおける終構造) に対して実行するよう、設定する。
【0050】
この設定によって、続くS104において前回のスキャン処理の続きのスキャン処理を、ユーザ座標に対する拘束を変えて逐次的に行うことができる。
【0051】
i >= I (より簡単には、 i = I) となると、情報処理装置は、 S106 の条件により演算が完了したと判定し (S106: YES) 、これまでのI回の逐次的なスキャン処理によって得られた分子構造のトラジェクトリを出力して処理を完了する (S110) 。
【0052】
このように、本開示におけるいくつかの例としての実施形態によれば、任意のユーザ定義の座標に対する拘束を表す不等式の条件に基づいて計算される力に従って、構造変化を計算することが可能となる。この結果、ある評価値が所定値になるまで、といった強い拘束ではなく、例えば、ある座標をある値以上にする、といった形式の拘束の条件でスキャン処理を実現することが可能となる。
【0053】
このため、ユーザが分子構造を変化させるためにあらかじめ知っておかなければならない情報の量を削減することができる。ユーザは1つの構造変化の終了条件を不等式表現で大まかに与えることができるので、ユーザは、1つの構造変化の後に次の構造変化が起こるような直列(逐次的)な構造変化の条件を複数の不等式表現で与えることができ、分子構造の変化を直列 (逐次的) かつ自動的に探索することが容易となる。
【0054】
前述した実施形態における各装置(情報処理装置)の一部又は全部は、ハードウェアで構成されていてもよいし、CPU (Central Processing Unit) 又はGPU (Graphics Processing Unit) 等が実行するソフトウェア (プログラム) の情報処理で構成されてもよい。ソフトウェアの情報処理で構成される場合には、前述した実施形態における各装置の少なくとも一部の機能を実現するソフトウェアを、CD-ROM (Compact Disc-Read Only Memory) 、USB (Universal Serial Bus) メモリ等の非一時的な記憶媒体 (非一時的なコンピュータ可読媒体) に収納し、コンピュータに読み込ませることにより、ソフトウェアの情報処理を実行してもよい。また、通信ネットワークを介して当該ソフトウェアがダウンロードされてもよい。さらに、ソフトウェアの処理の全部又は一部がASIC (Application Specific Integrated Circuit) 又はFPGA (Field Programmable Gate Array) 等の回路に実装されることにより、当該ソフトウェアによる情報処理がハードウェアにより実行されてもよい。
【0055】
ソフトウェアを収納する記憶媒体は、光ディスク等の着脱可能なものでもよいし、ハードディスク又はメモリ等の固定型の記憶媒体であってもよい。また、記憶媒体は、コンピュータ内部に備えられてもよいし (主記憶装置または補助記憶装置等) 、コンピュータ外部に備えられてもよい。
【0056】
図2は、前述した実施形態における各装置 (情報処理装置) のハードウェア構成の一例を示すブロック図である。各装置は、一例として、プロセッサ 71と、主記憶装置 72 (メモリ) と、補助記憶装置 73 (メモリ) と、ネットワークインタフェース 74 と、デバイスインタフェース 75 と、を備え、これらがバス 76 を介して接続されたコンピュータ 7 として実現されてもよい。
【0057】
図2のコンピュータ 7 は、各構成要素を一つ備えているが、同じ構成要素を複数備えていてもよい。また、
図2では、1台のコンピュータ 7 が示されているが、ソフトウェアが複数台のコンピュータにインストールされて、当該複数台のコンピュータそれぞれがソフトウェアの同一の又は異なる一部の処理を実行してもよい。この場合、コンピュータそれぞれがネットワークインタフェース 74 等を介して通信して処理を実行する分散コンピューティングの形態であってもよい。つまり、前述した実施形態における各装置 (情報処理装置) は、1又は複数の記憶装置に記憶された命令を1台又は複数台のコンピュータが実行することで機能を実現するシステムとして構成されてもよい。また、端末から送信された情報をクラウド上に設けられた1台又は複数台のコンピュータで処理し、この処理結果を端末に送信するような構成であってもよい。
【0058】
前述した実施形態における各装置 (情報処理装置) の各種演算は、1又は複数のプロセッサを用いて、又は、ネットワークを介した複数台のコンピュータを用いて、並列処理で実行されてもよい。また、各種演算が、プロセッサ内に複数ある演算コアに振り分けられて、並列処理で実行されてもよい。また、本開示の処理、手段等の一部又は全部は、ネットワークを介してコンピュータ 7 と通信可能なクラウド上に設けられたプロセッサ及び記憶装置の少なくとも一方により実現されてもよい。このように、前述した実施形態における各装置は、1台又は複数台のコンピュータによる並列コンピューティングの形態であってもよい。
【0059】
プロセッサ 71 は、少なくともコンピュータの制御又は演算のいずれかを行う電子回路 (処理回路、Processing circuit、Processing circuitry、CPU、GPU、FPGA、ASIC等) であってもよい。また、プロセッサ 71 は、汎用プロセッサ、特定の演算を実行するために設計された専用の処理回路又は汎用プロセッサと専用の処理回路との両方を含む半導体装置等のいずれであってもよい。また、プロセッサ 71 は、光回路を含むものであってもよいし、量子コンピューティングに基づく演算機能を含むものであってもよい。
【0060】
プロセッサ 71 は、コンピュータ7の内部構成の各装置等から入力されたデータやソフトウェアに基づいて演算処理を行ってもよく、演算結果や制御信号を各装置等に出力してもよい。プロセッサ 71 は、コンピュータ 7 のOS (Operating System) や、アプリケーション等を実行することにより、コンピュータ 7 を構成する各構成要素を制御してもよい。
【0061】
前述した実施形態における各装置 (情報処理装置) は、1又は複数のプロセッサ 71 により実現されてもよい。ここで、プロセッサ 71 は、1チップ上に配置された1又は複数の電子回路を指してもよいし、2つ以上のチップあるいは2つ以上のデバイス上に配置された1又は複数の電子回路を指してもよい。複数の電子回路を用いる場合、各電子回路は有線又は無線により通信してもよい。
【0062】
主記憶装置 72 は、プロセッサ 71 が実行する命令及び各種データ等を記憶してもよく、主記憶装置 72 に記憶された情報がプロセッサ 71 により読み出されてもよい。補助記憶装置 73 は、主記憶装置 72 以外の記憶装置である。なお、これらの記憶装置は、電子情報を格納可能な任意の電子部品を意味するものとし、半導体のメモリでもよい。半導体のメモリは、揮発性メモリ又は不揮発性メモリのいずれでもよい。前述した実施形態における各装置 (情報処理装置) において各種データ等を保存するための記憶装置は、主記憶装置 72 又は補助記憶装置 73 により実現されてもよく、プロセッサ 71 に内蔵される内蔵メモリにより実現されてもよい。例えば、前述した実施形態における記憶部 は、主記憶装置 72 又は補助記憶装置 73 により実現されてもよい。
【0063】
前述した実施形態における各装置 (情報処理装置) が、少なくとも1つの記憶装置 (メモリ) と、この少なくとも1つの記憶装置に接続 (結合) される少なくとも1つのプロセッサで構成される場合、記憶装置1つに対して、少なくとも1つのプロセッサが接続されてもよい。また、プロセッサ1つに対して、少なくとも1つの記憶装置が接続されてもよい。また、複数のプロセッサのうち少なくとも1つのプロセッサが、複数の記憶装置のうち少なくとも1つの記憶装置に接続される構成を含んでもよい。また、複数台のコンピュータに含まれる記憶装置とプロセッサによって、この構成が実現されてもよい。さらに、記憶装置がプロセッサと一体になっている構成 (例えば、L1キャッシュ、L2キャッシュを含むキャッシュメモリ) を含んでもよい。
【0064】
ネットワークインタフェース 74 は、無線又は有線により、通信ネットワーク 8 に接続するためのインタフェースである。ネットワークインタフェース 74 は、既存の通信規格に適合したもの等、適切なインタフェースを用いればよい。ネットワークインタフェース 74 により、通信ネットワーク 8 を介して接続された外部装置 9A と情報のやり取りが行われてもよい。なお、通信ネットワーク8は、WAN (Wide Area Network) 、LAN (Local Area Network) 、PAN (Personal Area Network) 等のいずれか、又は、それらの組み合わせであってよく、コンピュータ 7 と外部装置 9A との間で情報のやりとりが行われるものであればよい。WANの一例としてインターネット等があり、LANの一例としてIEEE 802.11やイーサネット (登録商標) 等があり、PANの一例としてBluetooth (登録商標) やNFC (Near Field Communication) 等がある。
【0065】
デバイスインタフェース 75 は、外部装置 9B と直接接続するUSB等のインタフェースである。
【0066】
外部装置 9A は、コンピュータ 7 とネットワークを介して接続されている装置である。外部装置 9B は、コンピュータ 7 と直接接続されている装置である。
【0067】
外部装置 9A 又は外部装置 9B は、一例として、入力装置であってもよい。入力装置は、例えば、カメラ、マイクロフォン、モーションキャプチャ、各種センサ等、キーボード、マウス又はタッチパネル等のデバイスであり、取得した情報をコンピュータ 7 に与える。また、パーソナルコンピュータ、タブレット端末又はスマートフォン等の入力部とメモリとプロセッサを備えるデバイスであってもよい。
【0068】
また、外部装置 9A 又は外部装置 9B は、一例として、出力装置でもよい。出力装置は、例えば、LCD (Liquid Crystal Display) 、有機EL (Electro Luminescence) パネル等の表示装置であってもよいし、音声等を出力するスピーカ等であってもよい。また、パーソナルコンピュータ、タブレット端末又はスマートフォン等の出力部とメモリとプロセッサを備えるデバイスであってもよい。
【0069】
また、外部装置 9A 又は外部装置 9B は、記憶装置 (メモリ) であってもよい。例えば、外部装置 9A は、ネットワークストレージ等であってもよく、外部装置 9B は、HDD等のストレージであってもよい。
【0070】
また、外部装置 9A 又は外部装置 9B は、前述した実施形態における各装置 (情報処理装置) の構成要素の一部の機能を有する装置でもよい。つまり、コンピュータ 7 は、外部装置 9A 又は外部装置 9B に処理結果の一部又は全部を送信してもよいし、外部装置 9A 又は外部装置 9B から処理結果の一部又は全部を受信してもよい。
【0071】
本明細書 (請求項を含む) において、「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) 以外の他の要素を加えることも含む。
【0072】
本明細書 (請求項を含む) において、「データを入力として/を用いて/データに基づいて/に従って/に応じて」等の表現(同様な表現を含む)が用いられる場合は、特に断りがない場合、データそのものを用いる場合や、データに何らかの処理を行ったもの (例えば、ノイズ加算したもの、正規化したもの、データから抽出した特徴量、データの中間表現等) を用いる場合を含む。また、「データを入力として/を用いて/データに基づいて/に従って/に応じて」何らかの結果が得られる旨が記載されている場合 (同様な表現を含む) 、特に断りが無い場合、当該データのみに基づいて当該結果が得られる場合や、当該データ以外の他のデータ、要因、条件及び/又は状態等にも影響を受けて当該結果が得られる場合を含む。また、「データを出力する」旨が記載されている場合 (同様な表現を含む) 、特に断りがない場合、データそのものを出力として用いる場合や、データに何らかの処理を行ったもの (例えば、ノイズ加算したもの、正規化したもの、データから抽出した特徴量、データの中間表現等) を出力として用いる場合を含む。
【0073】
本明細書 (請求項を含む) において、「接続される (connected) 」及び「結合される (coupled) 」との用語が用いられる場合は、直接的な接続/結合、間接的な接続/結合、電気的 (electrically) な接続/結合、通信的 (communicatively) な接続/結合、機能的 (operatively) な接続/結合、物理的 (physically) な接続/結合等のいずれをも含む非限定的な用語として意図される。当該用語は、当該用語が用いられた文脈に応じて適宜解釈されるべきであるが、意図的に或いは当然に排除されるのではない接続/結合形態は、当該用語に含まれるものして非限定的に解釈されるべきである。
【0074】
本明細書 (請求項を含む) において、「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) されていればよい。
【0075】
本明細書 (請求項を含む) において、含有又は所有を意味する用語 (例えば、「含む (comprising / including) 」及び「有する (having) 」等) が用いられる場合は、当該用語の目的語により示される対象物以外の物を含有又は所有する場合を含む、 open-ended な用語として意図される。これらの含有又は所有を意味する用語の目的語が数量を指定しない又は単数を示唆する表現 (a 又は an を冠詞とする表現) である場合は、当該表現は特定の数に限定されないものとして解釈されるべきである。
【0076】
本明細書 (請求項を含む) において、ある箇所において「1つ又は複数 (one or more) 」又は「少なくとも1つ (at least one) 」等の表現が用いられ、他の箇所において数量を指定しない又は単数を示唆する表現 (a 又は an を冠詞とする表現) が用いられているとしても、後者の表現が「1つ」を意味することを意図しない。一般に、数量を指定しない又は単数を示唆する表現 (a 又は an を冠詞とする表現) は、必ずしも特定の数に限定されないものとして解釈されるべきである。
【0077】
本明細書において、ある実施形態の有する特定の構成について特定の効果 (advantage / result) が得られる旨が記載されている場合、別段の理由がない限り、当該構成を有する他の1つ又は複数の実施形態についても当該効果が得られると理解されるべきである。但し、当該効果の有無は、一般に種々の要因、条件及び/又は状態等に依存し、当該構成により必ず当該効果が得られるものではないと理解されるべきである。当該効果は、種々の要因、条件及び/又は状態等が満たされたときに実施形態に記載の当該構成により得られるものに過ぎず、当該構成又は類似の構成を規定したクレームに係る発明において、当該効果が必ずしも得られるものではない。
【0078】
本明細書 (請求項を含む) において、「最大化する (maximize) /最大化 (maximization) 」等の用語が用いられる場合は、グローバルな最大値を求めること、グローバルな最大値の近似値を求めること、ローカルな最大値を求めること及びローカルな最大値の近似値を求めることを含み、当該用語が用いられた文脈に応じて適宜解釈されるべきである。また、これら最大値の近似値を確率的又はヒューリスティックに求めることを含む。同様に、「最小化する (minimize) /最小化 (minimization) 」等の用語が用いられる場合は、グローバルな最小値を求めること、グローバルな最小値の近似値を求めること、ローカルな最小値を求めること及びローカルな最小値の近似値を求めることを含み、当該用語が用いられた文脈に応じて適宜解釈されるべきである。また、これら最小値の近似値を確率的又はヒューリスティックに求めることを含む。同様に、「最適化する (optimize) /最適化 (optimization) 」等の用語が用いられる場合は、グローバルな最適値を求めること、グローバルな最適値の近似値を求めること、ローカルな最適値を求めること、及びローカルな最適値の近似値を求めることを含み、当該用語が用いられた文脈に応じて適宜解釈されるべきである。また、これら最適値の近似値を確率的又はヒューリスティックに求めることを含む。
【0079】
本明細書 (請求項を含む) において、複数のハードウェアが所定の処理を行う場合、各ハードウェアが協働して所定の処理を行ってもよいし、一部のハードウェアが所定の処理の全てを行ってもよい。また、一部のハードウェアが所定の処理の一部を行い、別のハードウェアが所定の処理の残りを行ってもよい。本明細書 (請求項を含む) において、「1又は複数のハードウェアが第1処理を行い、前記1又は複数のハードウェアが第2処理を行う」等の表現 (同様な表現を含む) が用いられている場合、第1処理を行うハードウェアと第2処理を行うハードウェアは同じものであってもよいし、異なるものであってもよい。つまり、第1処理を行うハードウェア及び第2処理を行うハードウェアが、前記1又は複数のハードウェアに含まれていればよい。なお、ハードウェアは、電子回路、又は、電子回路を含む装置等を含んでもよい。
【0080】
本明細書 (請求項を含む) において、複数の記憶装置 (メモリ) がデータの記憶を行う場合、複数の記憶装置のうち個々の記憶装置は、データの一部のみを記憶してもよいし、データの全体を記憶してもよい。また、複数の記憶装置のうち一部の記憶装置がデータを記憶する構成を含んでもよい。
【0081】
以上、本開示の実施形態について詳述したが、本開示は上記した個々の実施形態に限定されるものではない。特許請求の範囲に規定された内容及びその均等物から導き出される本開示の概念的な思想と趣旨を逸脱しない範囲において、種々の追加、変更、置き換え及び部分的削除等が可能である。例えば、前述した実施形態において、数値又は数式を説明に用いている場合、これらは例示的な目的で示されたものであり、本開示の範囲を限定するものではない。また、実施形態で示した各動作の順序も、例示的なものであり、本開示の範囲を限定するものではない。