(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-11-19
(45)【発行日】2024-11-27
(54)【発明の名称】化学構造発生装置、化学構造発生プログラム、及び化学構造発生方法
(51)【国際特許分類】
G16C 20/70 20190101AFI20241120BHJP
【FI】
G16C20/70
(21)【出願番号】P 2021540953
(86)(22)【出願日】2020-08-18
(86)【国際出願番号】 JP2020031178
(87)【国際公開番号】W WO2021033695
(87)【国際公開日】2021-02-25
【審査請求日】2022-12-08
(31)【優先権主張番号】P 2019149873
(32)【優先日】2019-08-19
(33)【優先権主張国・地域又は機関】JP
(73)【特許権者】
【識別番号】000004178
【氏名又は名称】JSR株式会社
(74)【代理人】
【識別番号】110001771
【氏名又は名称】弁理士法人虎ノ門知的財産事務所
(72)【発明者】
【氏名】渕脇 純太
(72)【発明者】
【氏名】滝本 嘉夫
【審査官】藤原 拓也
(56)【参考文献】
【文献】国際公開第2014/034577(WO,A1)
【文献】米国特許出願公開第2003/0203400(US,A1)
【文献】吉川 舜亮,方向性を持たせたグラフ構造変換による仮想化合物ライブラリ構築の研究,情報処理学会研究報告 バイオ情報学(BIO)[online],2015年03月13日,2015-BIO-41,第12号,p.1-6
(58)【調査した分野】(Int.Cl.,DB名)
G16C 10/00-99/00
(57)【特許請求の範囲】
【請求項1】
1以上の化合物からなる反応物リストであって、反応物のリストからなる反応物リストと、化学反応リストとに基づいて、1以上の化合物からなる生成物リストを生成する発生部と、
前記生成物リストを新たな反応物リストとして前記発生部に与えるとともに、前記反応物リストと前記生成物リストとのうち少なくとも一方のリストを有するデータベースの更新を行い、前記新たな反応物リスト及び前記化学反応リストに基づいて前記発生部に新たな生成物リストを生成させる制御部とを備え、
前記反応物のそれぞれには、数値情報が対応づけられ、
前記発生部は、前記生成物リストの候補となる化合物を生成する際に、前記候補となる化合物それぞれに対応する情報を更に算出し、算出した前記情報に基づいて、前記候補となる化合物を、前記生成物リストに含めるか否かを決定し、
前記反応物のそれぞれに対応づけられる前記数値情報は、前記反応物のそれぞれの生成物としてのコストを表す情報であり、
前記発生部は、前記候補となる化合物それぞれに対応する数値情報を、当該候補となる化合物の原料となる前記反応物のコストと、当該反応物から当該候補となる化合物を生成する化学反応に係るコストとの和を用いて生成する、化学構造発生装置。
【請求項2】
1以上の化合物からなる反応物リストであって、反応物のリストからなる反応物リストと、化学反応リストとに基づいて、1以上の化合物からなる生成物リストを生成する発生部と、
前記生成物リストを新たな反応物リストとして前記発生部に与えるとともに、前記反応物リストと前記生成物リストとのうち少なくとも一方のリストを有するデータベースの更新を行い、前記新たな反応物リスト及び前記化学反応リストに基づいて前記発生部に新たな生成物リストを生成させる制御部とを備え、
前記反応物のそれぞれには、情報が対応づけられ、
前記発生部は、前記生成物リストの候補となる化合物を生成する際に、前記候補となる化合物それぞれに対応する情報を更に算出し、算出した前記情報に基づいて、前記候補となる化合物を、前記生成物リストに含めるか否かを決定し、
前記反応物のそれぞれには、前記反応物のコストを表す情報が対応づけられ、
前記発生部は、前記反応物のコストを表す情報に基づいて、前記生成物リストの候補となる化合物のコストを算出し、算出した前記生成物リストの候補となる化合物のコストを予め設定された閾値と比較し、
前記コストが前記閾値を上回る場合、前記候補となる化合物を、前記生成物リストに含めない、化学構造発生装置。
【請求項3】
前記発生部は、前記反応物リストから、1以上の化合物を抽出し、前記化学反応リストから、前記1以上の化合物
が反応物になるような化学反応を抽出し、前記化学反応の生成物を前記1以上の化合物からなる生成物リストに追加する、請求項1又は2に記載の化学構造発生装置。
【請求項4】
前記発生部は、生成される前記生成物リストから除外される生成物、又は前記化学反応リストから除外される化学反応を定める規則である禁止規則に更に基づいて、前記生成物リストを生成する、請求項1~3のいずれか一つに記載の化学構造発生装置。
【請求項5】
前記発生部は、前記生成物リストの候補となる化合物が、以前に生成された生成物リストの中に含まれているか否かを判定し、前記候補となる化合物が、以前に生成された生成物リストの中に含まれていると判定した場合、前記候補となる化合物を、前記生成物リストに含めない、請求項1~4のいずれか一つに記載の化学構造発生装置。
【請求項6】
前記反応物のそれぞれには、数値情報が対応づけられ、
前記発生部は、前記数値情報に基づく優先順位に従って、前記生成物リストの候補を発生させる、請求項1
又は2に記載の化学構造発生装置。
【請求項7】
前記制御部は、前記発生部が生成した前記生成物リストを、前記データベースとして記憶部に記憶させる、請求項1~6のいずれか一つに記載の化学構造発生装置。
【請求項8】
更新される前記データベースの少なくとも一部は、機械学習における学習用データとして用いられる、請求項1又は2に記載の化学構造発生装置。
【請求項9】
1以上の化合物からなる反応物リストであって、反応物のリストからなる反応物リストと、化学反応リストとに基づいて、1以上の化合物からなる生成物リストを生成する処理と、
前記生成物リストを新たな反応物リストとして与える処理と、
前記反応物リストと前記生成物リストとのうち少なくとも一方のリストを有するデータベースの更新を行う処理と、
前記新たな反応物リスト及び前記化学反応リストに基づいて新たな生成物リストを生成させる処理と、
をコンピュータに実行させ、
前記反応物のそれぞれには、数値情報が対応づけられ、
前記生成物リストを生成する処理は、前記生成物リストの候補となる化合物を生成する際に、前記候補となる化合物それぞれに対応する情報を更に算出し、算出した前記情報に基づいて、前記候補となる化合物を、前記生成物リストに含めるか否かを決定し、
前記反応物のそれぞれに対応づけられる前記数値情報は、前記反応物のそれぞれの生成物としてのコストを表す情報であり、
前記生成物リストを生成する処理は、前記候補となる化合物それぞれに対応する数値情報を、当該候補となる化合物の原料となる前記反応物のコストと、当該反応物から当該候補となる化合物を生成する化学反応に係るコストとの和を用いて生成する、化学構造発生プログラム。
【請求項10】
1以上の化合物からなる反応物リストであって、反応物のリストからなる反応物リストと、化学反応リストとに基づいて、1以上の化合物からなる生成物リストを生成する処理と、
前記生成物リストを新たな反応物リストとして与える処理と、
前記反応物リストと前記生成物リストとのうち少なくとも一方のリストを有するデータベースの更新を行う処理と、
前記新たな反応物リスト及び前記化学反応リストに基づいて新たな生成物リストを生成させる処理と、
をコンピュータに実行させ、
前記反応物のそれぞれには、情報が対応づけられ、
前記生成物リストを生成する処理は、前記生成物リストの候補となる化合物を生成する際に、前記候補となる化合物それぞれに対応する情報を更に算出し、算出した前記情報に基づいて、前記候補となる化合物を、前記生成物リストに含めるか否かを決定し、
前記反応物のそれぞれには、前記反応物のコストを表す情報が対応づけられ、
前記生成物リストを生成する処理は、前記反応物のコストを表す情報に基づいて、前記生成物リストの候補となる化合物のコストを算出し、算出した前記生成物リストの候補となる化合物のコストを予め設定された閾値と比較し、前記コストが前記閾値を上回る場合、前記候補となる化合物を、前記生成物リストに含めない、化学構造発生プログラム。
【請求項11】
化学構造発生装置により実行される化学構造発生方法であって、
1以上の化合物からなる反応物リストであって、反応物のリストからなる反応物リストと、化学反応リストとに基づいて、1以上の化合物からなる生成物リストを生成し、
前記生成物リストを新たな反応物リストとして与え、
前記反応物リストと前記生成物リストとのうち少なくとも一方のリストを有するデータベースの更新を行い、
前記新たな反応物リスト及び前記化学反応リストに基づいて新たな生成物リストを生成させ、
前記反応物のそれぞれには、数値情報が対応づけられ、
前記生成物リストを生成する処理は、前記生成物リストの候補となる化合物を生成する際に、前記候補となる化合物それぞれに対応する情報を更に算出し、算出した前記情報に基づいて、前記候補となる化合物を、前記生成物リストに含めるか否かを決定することを含み、
前記反応物のそれぞれに対応づけられる前記数値情報は、前記反応物のそれぞれの生成物としてのコストを表す情報であり、
前記生成物リストを生成する処理は、前記候補となる化合物それぞれに対応する数値情報を、当該候補となる化合物の原料となる前記反応物のコストと、当該反応物から当該候補となる化合物を生成する化学反応に係るコストとの和を用いて生成することを含む、化学構造発生方法。
【請求項12】
化学構造発生装置により実行される化学構造発生方法であって、
1以上の化合物からなる反応物リストであって、反応物のリストからなる反応物リストと、化学反応リストとに基づいて、1以上の化合物からなる生成物リストを生成し、
前記生成物リストを新たな反応物リストとして与え、
前記反応物リストと前記生成物リストとのうち少なくとも一方のリストを有するデータベースの更新を行い、
前記新たな反応物リスト及び前記化学反応リストに基づいて新たな生成物リストを生成させ、
前記反応物のそれぞれには、情報が対応づけられ、
前記生成物リストを生成する処理は、前記生成物リストの候補となる化合物を生成する際に、前記候補となる化合物それぞれに対応する情報を更に算出し、算出した前記情報に基づいて、前記候補となる化合物を、前記生成物リストに含めるか否かを決定し、
前記反応物のそれぞれには、前記反応物のコストを表す情報が対応づけられ、
前記生成物リストを生成する処理は、前記反応物のコストを表す情報に基づいて、前記生成物リストの候補となる化合物のコストを算出し、算出した前記生成物リストの候補となる化合物のコストを予め設定された閾値と比較し、前記コストが前記閾値を上回る場合、前記候補となる化合物を、前記生成物リストに含めない処理を含む、化学構造発生方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、化学構造発生装置、化学構造発生プログラム、及び化学構造発生方法に関する。
【背景技術】
【0002】
コンピューターシミュレーションを用いて、機械学習により有用な性質をもつ分子を設計する方法に興味が持たれている。一例として、まず学習フェーズにおいて学習用のデータセットを用いて例えば深層学習等の機械学習により学習済モデルを生成し、続いて実行フェーズにおいて、学習フェーズにおいて生成された学習済モデルを用いて、例えば物性値の予測や、所望の物性を有する分子の探索を行う。
【0003】
ここで、例えば深層学習等の機械学習を行うためには大量の学習用データ(訓練データ)が必要になることから、質の良い学習用データをどのように効率よく生成するかが重要となる。このような観点から、機械学習の学習用データとして用いることが適切であるような分子の構造を自動的に発生させる化学構造発生装置が重要となる。
【0004】
ここで、原子数に対して可能な分子構造の数は、原子数が増大するにしたがって指数関数的に増大し、組み合わせ爆発がおこるため、候補となる分子の構造を網羅的に発生させるのは現実的には不可能である。加えて、利用可能な分子、すなわち、実際に安定に存在し、商業的に利用可能な分子の数の、ありうる分子構造の数に対する比は、原子数が増加すると急激に減少する。機械学習を行う上で、商業的に利用可能ではない分子構造を多数含む学習用データを用いることは時間的にも経済的にも極めて非効率的である。従って、商業的に利用可能であり価値の高い分子だけを効率的に発生させることのできる化学構造発生装置が望まれる。
【先行技術文献】
【特許文献】
【0005】
【文献】国際公開第9501606号
【文献】米国特許出願公開第2018/096100号明細書
【文献】特開2001-058962号公報
【文献】国際公開第9736252号
【発明の概要】
【発明が解決しようとする課題】
【0006】
本発明は、機械学習の学習用データとして用いられるのに適切な分子構造を効率的に発生させることを目的とする。
【課題を解決するための手段】
【0007】
上述した課題を解決し、目的を達成するために、本発明に係る化学構造発生装置は、発生部と、制御部とを備える。発生部は、1以上の化合物からなる反応物リストと、化学反応リストとに基づいて、1以上の化合物からなる生成物リストを生成する。制御部は、生成物リストを新たな反応物リストとして発生部に与えるとともに、反応物リストと生成物リストとのうち少なくとも一方のリストを有するデータベースの更新を行い、新たな反応物リスト及び化学反応リストに基づいて発生部に新たな生成物リストを生成させる。
【0008】
また、本発明に係る化学構造発生プログラムは、1以上の化合物からなる反応物リストと、化学反応リストとに基づいて、1以上の化合物からなる生成物リストを生成する処理と、生成物リストを新たな反応物リストとして与える処理と、反応物リストと生成物リストとのうち少なくとも一方のリストを有するデータベースの更新を行う処理と新たな反応物リスト及び化学反応リストに基づいて新たな生成物リストを生成させる処理と、をコンピュータに実行させるプログラムである。
【0009】
また、本発明に係る化学構造発生方法は、化学構造発生装置により実行される化学構造発生方法であって、1以上の化合物からなる反応物リストと、化学反応リストとに基づいて、1以上の化合物からなる生成物リストを生成し、生成物リストを新たな反応物リストとして与え、反応物リストと生成物リストとのうち少なくとも一方のリストを有するデータベースの更新を行い、新たな反応物リスト及び化学反応リストに基づいて新たな生成物リストを生成させる方法である。
【発明の効果】
【0010】
本発明によれば、機械学習の学習用データとして用いられるのに適切な分子構造を効率的に発生させることができる。
【図面の簡単な説明】
【0011】
【
図1】
図1は、本発明の実施形態に係る化学構造発生装置の概略を表す図である。
【
図2】
図2は、第1の実施形態に係る化学構造発生装置における化学反応リストの一例を示す図である。
【
図3】
図3は、第1の実施形態に係る化学構造発生装置における禁止反応リストの一例を示す図である。
【
図4】
図4は、第1の実施形態に係る化学構造発生装置が行う処理の流れを表すフローチャートである。
【
図5】
図5は、第1の実施形態に係る化学構造発生装置が行う処理について説明した図である。
【
図6】
図6は、
図4におけるステップS200の処理の流れについてより詳細に説明したフローチャートである。
【
図7】
図7は、第1の実施形態に係る化学構造発生装置が行う処理について説明した図である。
【
図8】
図8は、第2の実施形態に係る化学構造発生装置が行う処理の流れを示すフローチャートである。
【
図9】
図9は、
図8におけるステップS200Aの処理の流れについてより詳細に説明したフローチャートである。
【発明を実施するための形態】
【0012】
以下、添付図面を参照しながら、本発明の実施形態に係る化学構造発生装置を説明する。
【0013】
(第1の実施形態)
図1は、本発明の実施形態に係る化学構造発生装置1の概略を表す図である。化学構造発生装置1は、処理回路100と、記憶部120と、データベース110と、入力装置130と、ディスプレイ140とからなる。処理回路100は、発生機能100a、制御機能100bを備える。データベース110は、化学反応(chemical reaction)の反応物(reactant)等のリストである反応物リスト110a、化学反応の生成物(product)等のリストである生成物リスト110b、化学反応リスト110c、禁止反応リスト110d、数値情報リスト110eを備える。化学構造発生装置1は、機械学習に用いる学習用データの基になる化学構造を、反応物リスト110aまたは生成物リスト110bとして発生するための装置である。
【0014】
処理回路100は、プログラムを記憶部120から読み出して実行することで、発生機能100a、制御機能100b等の機能を実現するプロセッサ(例えば、CPU(Central Processing Unit)、GPU(Graphical Processing Unit)、ASIC(Application Specific Integrated Circuit)、PLD(Programmable Logic Device)等)である。すなわち、発生機能100a、制御機能100b等による処理機能は、当該プロセッサにより実行可能なプログラムの形態で記憶部120に記憶される。これにより、プログラムが読み出された状態の処理回路100は、発生機能100a、制御機能100b等の機能を有する。すなわち、発生機能100a、制御機能100bは、それぞれ発生部、制御部の一例となる。なお、処理回路100が有する各機能の処理の詳細については後述する。
【0015】
データベース110は、化学構造発生装置1が新たな化合物を発生させる処理において処理回路100により参照される様々なデータベースであり、例えば、反応物リスト110a、生成物リスト110b、化学反応リスト110c、禁止反応リスト110d、数値情報リスト110eなどで構成される。これらのデータベースは、必要に応じて記憶部120に記憶される。
【0016】
なお、化学反応リスト110c、禁止反応リスト110d、数値情報リスト110eは、処理回路100が化学構造を発生する処理を行うに際して用いられるデータである。これに対して、反応物リスト110aまたは生成物リスト110bは、後段の機械学習に用いる学習用データの基になるデータであり、これらのリストの生成を行うことが、化学構造発生装置1が行う処理の一つの目的となる。
【0017】
反応物リスト110aは、化学反応の基となる反応物等のリストであり、反応物を表す化合物等で構成される。より正確には、反応物リスト110aは1以上の要素からなり、当該要素は、単体、化合物、反応物を選択しない操作を表す要素又は分子内反応を表す要素である。ここで、実施形態に係る化学構造発生装置1は、初期化合物から出発して反応物リストを逐次更新していく。従って、反応物リスト110aは、初期状態(第0世代(p=0))の反応物リストX0と、第1世代の反応物リストX1と、第2世代の反応物リストX2と、・・・、第p世代の反応物リストXpとからなる。ここで、第k+1世代の反応物リストXk+1は、第k世代の反応物リストXkを完全に含んでもよいし、第k+1世代の反応物リストXk+1は、第k世代の反応物リストXkを完全に含まなくてもよい。
【0018】
また、各世代の反応物リストXkは、任意的構成要件として、反応物を表す化合物xk1…xknの他に、特殊操作を表す特殊化合物xnull、xintra等を含んでもよい。これらの特殊化合物については後述する。これらの特殊化合物を要素として含まない場合、第k世代の反応物リストXkの要素は、第k世代の反応物を表す化合物xk1、xk2…、xknとなる。逆に、これらの特殊化合物を要素として含む場合、第k世代の反応物リストXkの要素は、例えば、xk1、xk2…、xkn、xnull、xintraとなる。
【0019】
生成物リスト110bは、化学反応の生成物リストであり、生成物を表す化合物等で構成される。より正確には、生成物リスト110bは1以上の要素からなり、当該要素は、単体、化合物、反応物を選択しない操作を表す要素又は分子内反応を表す要素である。ここで、反応物リスト110aの場合と同様、生成物リスト110bは、第0世代(p=0)の生成物リストY0と、第1世代の生成物リストY1と、第2世代の生成物リストY2と、・・・、第p世代の生成物リストYpとからなる。
【0020】
なお、いくつかの実施形態においては、第k+1世代の反応物リストXk+1の要素は、第k世代の生成物リストYkの要素と等しくなる。
【0021】
化学反応リスト110cは、可能な化学反応リストであり、反応物の部分構造のリストと、当該反応物を用いて行われる化学反応により生成される生成物の部分構造のリストとが、対応づけられたリストである。また、化学反応リスト110cは、必要に応じて、当該化学反応のコストに関する情報を含む。
【0022】
図2に、反応物が2つまたは1つであり、それに対応する生成物が1つである場合の化学反応リスト110cの一例が示されている。
【0023】
図2の1行目には、部分構造「X
1-COOH」と、部分構造「X
2-H」とから、構造「X
1-CO-X
2」が発生する場合について記載されている。かかる場合、反応物の部分構造リスト{「X
1-COOH」,「X
2-H」}と、当該化学反応により生成される生成物の部分構造リスト{「X
1-CO-X
2」}とが対応づけられたリスト{{「X
1-CO-X
2」}, {「X
1-COOH」,「X
2-H」}}が、化学反応リスト110cの一例となる。
【0024】
また、
図2の2行目には、部分構造「X
1-CO-X
2」から、構造「X
1-CHOH-X
2」が発生する場合に記載されている。かかる場合、反応物の部分構造リスト{「X
1-CO-X
2」}と、当該化学反応により生成される生成物の部分構造リスト(「X
1-CHOH-X
2」)とが対応づけられたリスト{{「X
1-CHOH-X
2」}, {「X
1-CO-X
2」}}が、化学反応リスト110cの一例となる。また、本化学反応は、H
2も部分構造と考え、{{「X
1-CHOH-X
2」}、{「X
1-CO-X
2」、「H
2」}}と表現してもよい。
【0025】
また、
図2の3行目には、例えば、部分構造「X
1-CHOH-X
2」と、部分構造「X
3-H」とから、構造「X
1-CHX
3-X
2」が発生する場合に記載されている。かかる場合、反応物の部分構造リスト{「X
1-CHOH-X
2」,「X
3-H」}と、当該化学反応により生成される生成物の部分構造リスト(「X
1-CHX
3-X
2」)とが対応づけられたリスト{{「X
1-CHX
3-X
2」}, {「X
1-CHOH-X
2」,「X
3-H」}}が、化学反応リスト110cの一例となる。
【0026】
なお、
図2では、反応物が2つまたは1つであり、それに対応する生成物が1つである場合について説明したが、実施形態はこれに限られず、反応物は3つ以上であってもよい。例えば、部分構造Aと、部分構造Bと、部分構造Cとから、構造Dが発生する場合、反応物の部分構造リスト{A,B,C}と、当該化学反応により生成される生成物の部分構造リスト{D}とが対応づけられたリスト{{D},{A,B,C}}が、化学反応リスト110cの一例となる。
【0027】
また、上述の場合では、生成物が1つの場合について説明したが、実施形態はこれに限られず、生成物は2つ以上であってもよい。例えば、
図2の1行目の逆反応として、部分構造「X
1-CO-X
2」から、構造「X
1-COOH」と、構造「X
2-H」とが発生する場合について考える。かかる場合、反応物の部分構造リスト{「X
1-CO-X
2」}と、当該化学反応により生成される生成物の部分構造リスト{「X
1-COOH」, 「X
2-H」}とが対応づけられたリスト{{「X
1-COOH」, 「X
2-H」}, { 「X
1-CO-X
2」 }}が、化学反応リスト110cの一例となる。
【0028】
以上の内容を式を用いて表現すると、例えば、部分構造ykと部分構造ylから新たな構造ykl'が生成される場合、リスト{{ykl'}, {yk , yl}}が、化学反応リスト110cとなる。また、一般的に、n個の部分構造yq1, yq2…yqnから、新たなm個の構造yq1q2…qn;1、yq1q2…qn;2、…、yq1q2…qn;mが生成される場合、リスト{{yq1q2…qn;1、yq1q2…qn;2、…、yq1q2…qn;m},{yq1, yq2…yqn}}が、化学反応リスト110cとなる。
【0029】
なお、いくつかの実施形態では、化学反応リスト110cは、反応物リスト110aや生成物リスト110bとは異なり、要素は世代ごとに更新されず、世代を通じて要素は固定される。
【0030】
禁止反応リスト110dは、禁止される化学反応リストであり、反応物の部分構造リストと、当該反応物を用いて行われる化学反応により生成される生成物の部分構造リストとが、それが禁止される化学反応である旨の情報とともに、対応づけられたリストである。
【0031】
例えば、部分構造ykと部分構造ylから新たな構造ykl'が生成される場合、生成される当該新たな構造に商業的価値がなく生成物としては適当でない場合、リスト{{ykl'},{yk , yl}}が、禁止反応リスト110dとなる。また、一般的に、n個の部分構造yq1, yq2…yqnから、新たなm個の構造yq1q2…qn;1、yq1q2…qn;2、…、yq1q2…qn;mが生成される場合、当該生成物が商業的価値がない等の理由により生成物としては適当でない場合、リスト{{yq1q2…qn;1、yq1q2…qn;2、…、yq1q2…qn;m}、{yq1, yq2…yqn}}が、禁止反応リスト110dとなる。なお、商業的価値の有無については、例えばコスト、安定性、毒性などの観点に基づいて、分野ごとに判断される。
【0032】
図3に、禁止反応リスト110dの一例が示されている。
図3は、禁止反応リスト110dに係る処理について説明した図である。
【0033】
図3の上段には、部分構造「X
1-COOH」と、部分構造「X
2-H」とから、構造「X
1-CO-X
2」が発生する場合について記載されている。このような構造の発生を制限する理由は特にないことから、この構造の発生は、許可(Allow)となる。
【0034】
一方、
図3の下段には、部分構造「X
1-COOH」と、部分構造「X
2-CO-CH
2-CO-X
3」とから、構造「X
x-CO-CHX
1-CO-X
3」が発生する場合について記載されている。生成された構造が化学的に不安定であり、例えばある分野においては商業的価値がないと判断される場合、このような構造の発生は禁止され、この構造の発生は、禁止(Deny)となる。すなわち、リスト{{「X
2-CO-CHX
1-CO-X
3」}、{「X
1-COOH」、「X
2-CO-CH
2-CO-X
3」}}が、禁止反応リスト110dとなる。
【0035】
数値情報リスト110eは、反応物リスト110a中の各化合物それぞれのコスト等を表す数値情報リストである。数値情報リスト110eについては、第2の実施形態において詳しく説明する。
【0036】
記憶部120は、RAM(Random Access Memory)、ROM(Read Only Memory)、フラッシュメモリ、ハードディスク等の記憶領域であり、処理回路100が実行する各種プログラム及び当該各種プログラムの実行結果、データベース110等を記憶する。
【0037】
入力装置130は、化学構造発生装置1を使用するユーザが各種の操作を行うためのデバイスである。入力装置130は、例えばマウス、キーボード、タッチパネル又はハードウェアキーで構成される。
【0038】
ディスプレイ140は、各種情報を表示する。例えば、ディスプレイ140は、CPUの処理結果や、ユーザから各種操作を受け付けるためのGUI(Graphical User Interface)等を表示する。ディスプレイ140は、例えば液晶ディスプレイ、有機EL(Electro Luminescence)ディスプレイ又はブラウン管ディスプレイで構成される。なお、例えばタッチパネルのような形態で、入力装置130とディスプレイ140とが一体に構成されても良い。
【0039】
なお、実施形態は上述の例に限られない。実施形態によっては、記憶部120、入力装置130、ディスプレイ140等は、化学構造発生装置1の必須の構成要素ではなく、すなわち化合物発生装置1は記憶部120、入力装置130、ディスプレイ140等を含まなくてもよい。また、別の例として、記憶部120、入力装置130、ディスプレイ140等は、例えば、ネットワークを介して化合物発生装置1の外に配置され、処理回路100とデータのやりとりが行われてもよい。
【0040】
続いて、実施形態に係る背景について説明する。
【0041】
コンピューターシミュレーションを用いて、機械学習により有用な性質をもつ分子を設計する方法に興味が持たれている。一例として、まず学習フェーズにおいて学習用のデータセットを用いて例えば深層学習等の機械学習により学習済モデルを生成し、続いて実行フェーズにおいて、学習フェーズにおいて生成された学習済モデルを用いて、例えば物性値の予測や、所望の物性を有する分子の探索を行う。
【0042】
ここで、例えば深層学習等の機械学習を行うためには大量の学習用データが必要になることから、質の良い学習用データをどのように効率よく生成するかが重要となる。このような観点から、機械学習の学習用データとして用いることが適切であるような分子の構造を自動的に発生させる化学構造発生装置が重要となる。
【0043】
ここで、原子数に対して可能な分子構造の数は、原子数が増大するにしたがって指数関数的に増大し、組み合わせ爆発がおこるため、候補となる分子の構造を網羅的に発生させるのは現実的に不可能である。加えて、利用可能な分子、すなわち、実際に安定に存在し、商業的に利用可能な分子の数の、ありうる分子構造の数に対する比は、原子数が増加すると急激に減少する。機械学習を行う上で、商業的に利用可能ではない分子構造を多数含む学習用データを用いることは時間的にも経済的にも極めて非効率的である。従って、商業的に利用可能であり価値の高い分子だけを効率的に発生させることのできる化学構造発生装置が望まれる。
【0044】
係る背景に鑑みて、実施形態に係る化学構造発生装置1の有する処理回路100は、発生機能100aと、制御機能110bとを備える。処理回路100は、発生機能100aにより、1以上の化合物からなる反応物のリストである反応物リスト110aと、化学反応のリストである化学反応リスト110cとに基づいて、1以上の化合物からなる生成物のリストである生成物リスト110bを生成する。処理回路100は、制御機能100bにより、生成物リスト110bを新たな反応物リストとして発生機能100aに係るプログラムに与えるとともに、反応物リスト110aと生成物リスト110bとのうち少なくとも一方のリストを有するデータベース110の更新を行い、当該新たな反応物リスト及び化学反応リスト110cに基づいて発生機能100aに係るプログラムに新たな生成物リストを生成させる。
【0045】
これにより、実施形態に係る化学構造発生装置1は、機械学習の学習用データとして適切な質の良い学習用データを効率的に発生させることができ、これらの学習用データを用いて生成された学習済モデルを用いることで、分子設計の効率を高めることができる。
【0046】
かかる処理の詳細について、
図4~
図7を用いて説明する。
【0047】
図4は、第1の実施形態に係る化学構造発生装置が行う処理の流れを表すフローチャートである。
【0048】
はじめに、処理回路100は、発生機能100aにより、化合物リストの生成を開始する(ステップS100)。処理回路100は、発生機能100aにより、初期状態においてはp=0として、第0世代の反応物リストX0に基づいて、pを増加させながら、第p世代の反応物リストXpを、当該化合物リストとして生成する。
【0049】
続いて、処理回路100は、発生機能100aにより、反応物リスト110aである第p世代の反応物リストX
pと、化学反応リスト110cとに基づいて、第p世代の生成物リストY
pを、生成物リスト110bとして生成する。(ステップS200)。すなわち、処理回路100は、発生機能100aにより、反応物リスト110aにおける1以上の化合物からなる反応物リストと、化学反応リスト110cとに基づいて、1以上の化合物からなる生成物リスト110bを生成する。ステップS200の詳細な処理については、
図6であらためて説明する。
【0050】
続いて、処理回路100は、制御機能100bにより、第p世代の生成物リストYpを、新たな反応物リスト(第p+1世代の反応物リストXp+1)として、発生機能100aに係るプログラムに与える(ステップS300)。すなわち、処理回路100は、制御機能100bにより、ステップS200で生成された生成物リストYpを、新たな反応物リストXp+1として発生機能100aに係るプログラムに与える。
【0051】
また、かかる処理を実行するとともに、処理回路100は、制御機能100bにより、反応物リスト110aと生成物リスト110bとのうち少なくとも一方のリストを有するデータベース110の更新を行う。ここで、データベース110の更新を行うとは、データベース110に対して新たな要素を追加する等によりデータベース110の要素を変更する操作、例えば、生成物リスト110bのうち一部の要素を新たな反応物リスト110aの新たな要素としてデータベース110に入力する操作等を意味する。例えば、処理回路100は、制御機能100bにより、ステップS300において、反応物リスト110aの更新を行う。
【0052】
なお、このように更新されるデータベース110の少なくとも一部は、例えば機械学習における学習用データとして用いられる。一例として、処理回路100は、図示しない学習用データ生成機能により、更新された反応物リスト110aに基づいて、機械学習における学習用データを生成する。一例として、処理回路100は、図示しない学習用データ生成機能により、更新された反応物リスト110aの要素それぞれに対して、当該要素の物性値を対応づけることにより、化学構造と当該化学構造の物性値とが対応づけられた教師ありデータを作成し、当該教師ありデータが、機械学習における学習用データとして用いられても良い。このような学習用データを用いて機械学習が行われて学習済モデルが生成されることで、未知の化学構造の物性値を予測することができ、これにより、例えば望ましい物性値をもつ化学構造の探索を行うことができる。また、別の例として、処理回路100は、図示しない学習用データ生成機能により、更新された反応物リスト110aに基づいて、教師なしデータを作成し、当該教師なしデータが、機械学習における学習用データとして用いられても良い。
【0053】
続いて、処理回路100は、制御機能100bにより、pの値を1増加させる(ステップS400)。ここで、pの値が、事前に設定された閾値pmaxより大きい場合(ステップS500 Yes)、処理は完了する。すなわち、繰り返しの世代数pが、事前に設定された閾値pmaxを上回った場合、制御機能100bを有する処理回路100は、生成物リスト作成処理の終了条件を満たしたと判定し、処理を終了する。一方、pの値が、pmaxより小さい場合(ステップS500 No)、処理回路150は、ステップS200からステップS400の処理を繰り返す。すなわち、処理回路100は、制御機能100bにより、ステップS300における新たな反応物リスト及び化学反応リスト110cにおける化学反応リストに基づいて、発生機能100aに係るプログラムに、新たな生成物リストを生成させる。なお、生成物リスト作成処理の終了条件については、実施形態は、上述のように、繰り返しの世代数pが一定の繰り返し回数を超えたことをもって終了とするものに限られず、処理回路100は、例えば生成された生成物リストの要素数が一定の値に達した等、別の終了条件を持って生成物リスト作成処理を終了してもよい。
【0054】
図5に、かかる処理により順次生成される化合物の一例が示されている。
図5は、第1の実施形態に係る化学構造発生装置が行う処理について説明した図である。
【0055】
化合物10a及び化合物10bは、初期状態、すなわちp=0において第0世代の反応物リストX0に含まれる化合物の例を示している。p=0において、ステップS200において、処理回路100は、発生機能100aにより、化合物10a及び化合物10bに基づいて、化合物11を、第0世代の生成物リストY0として生成する。p=0において、ステップS300において、処理回路100は、制御機能100bにより、第0世代の生成物リストY0を、第1世代の反応物リストX1として、発生機能100aに係るプログラムに与える。すなわち、化合物11は、第1世代の反応物リストX1に含まれる。また、制御機能100bを有する処理回路100は、発生機能100aにより生成されたこれらの生成物リストを、記憶部120に記憶させる。続いて、ステップS400において、処理回路100は、制御機能100bにより、pの値を1増加させてp=1とする。
【0056】
続いて、p=1において、ステップS200において、処理回路100は、発生機能100aにより、化合物10a及び化合物11に基づいて、化合物12aを、化合物11に基づいて、化合物12bを、第1世代の生成物リストY1として生成する。p=1において、ステップS300において、処理回路100は、制御機能100bにより、第1世代の生成物リストY1を、第2世代の反応物リストX2として、発生機能100aに係るプログラムに与える。すなわち、化合物12a及び化合物12bは、第2世代の反応物リストX1に含まれる。続いて、ステップS400において、処理回路100は、制御機能100bにより、pの値を1増加させてp=2とする。
【0057】
以下同様に、処理回路100は、発生機能100aにより、化合物10b及び化合物12bに基づいて、化合物13aを生成し、化合物10a及び化合物13aに基づいて、化合物14を生成する。このようにして、化学構造発生装置1は、さまざまな化合物を、効率よく順次生成することができる。なお、
図5において、化合物12a及び化合物11から、化合物13bを生成する化学反応は、禁止反応リスト110dに含まれる化学反応に該当するので、このような場合、処理回路100は、生成された化合物13bを、生成物リストに加えない。
【0058】
続いて、
図6を用いて、
図4のステップS200の処理の詳細について説明する。すなわち、
図6のフローチャートは、
図4におけるステップS200の処理の流れについてより詳細に説明したフローチャートである。
【0059】
なお、前述したように、各世代の反応物リストXkは、任意的構成要件として、反応物を表す化合物xk1…xknの他に、特殊操作を表す特殊化合物xnull、xintra等を含んでもよい。これらの特殊化合物については後で説明することとし、ここでは、まず、各世代の反応物リストXkが、これらの特殊化合物を含まない場合について説明する。
【0060】
また、以下、説明が複雑になるのを避けるため、
図6においては、生成物リストの生成に用いられる化学反応が、2つの反応物から1つの生成物を生成する化学反応である場合について説明する。
【0061】
はじめに、ステップS210において、処理回路100は、発生機能100aにより、生成物リスト110bにおいて、第p世代の生成物リストYpの生成を開始する。ここで、処理回路100は、発生機能100aにより、第0世代の反応物リストX0、第1世代の反応物リストX1、第2世代の反応物リストX2、…第p世代の反応物リストXpに基づいて、各p世代の生成物リストYpの生成を開始する。処理回路100が発生機能100aにより生成物リストYpの生成を開始した直後においては、生成物リストYpは、空集合である。第p0世代まで処理が行われる場合、このようにして、生成された生成物リストY0、Y1…Yp0の和集合が、機械学習の学習用データとして用いられるデータとなる。換言すると、処理回路100は、発生機能100aにより、生成された生成物リストY0、Y1…Yp0の和集合として、機械学習の学習用データとして用いられるデータを生成する。
【0062】
まず、ステップS220において、処理回路100は、発生機能100aにより、第0世代の反応物リストX0、第1世代の反応物リストX1、第2世代の反応物リストX2、…第p世代の反応物リストXpのいずれかの反応物リストから要素を一つ選択し、第1の要素xmとして抽出する。
【0063】
例えば、第0世代の反応物リストX0={x01、x02}、第1世代の反応物リストX1={x11、x12}としてx01=「CH3OH」、x02=「CH4」、x11=「CH3COOH」、x12=「C2H5COOH」、p=1の場合を考える。この場合、例えば、ステップS220において、処理回路100は、発生機能100aにより、第0世代の反応物リストX0から要素を一つ選択し、要素x02=「CH4」を、第1の要素xmとして抽出する。また、別の例として、ステップS220において、処理回路100は、発生機能100aにより、第1世代の反応物リストX1から要素を一つ選択し、要素x12=「C2H5COOH」を、第1の要素xmとして抽出する。
【0064】
続いて、ステップS230において、処理回路100は、発生機能100aにより、第p世代の反応物リストXpから要素を一つ選択し、第2の要素xnとして抽出する。例えば、p=1の場合、ステップS230において、処理回路100は、発生機能100aにより、第1世代の反応物リストX1から要素を一つ選択し、要素x11=「CH3COOH」を、第2の要素xmとして抽出する。このようにして、ステップS220及びステップS230において、処理回路100は、発生機能100aにより、反応物リストから、1以上の化合物を抽出する。
【0065】
なお、処理回路100は、発生機能100aにより、様々な第1の要素xm及び第2の要素xnについて、ステップS220~ステップS280の処理を繰り返す。
【0066】
なお、当該繰り返し処理において、処理回路100は、すべての第1の要素xm及び第2の要素xnの組み合わせについてステップS220~ステップS280の処理を行ってもよいし、逆に、第1の要素xm及び第2の要素xnの取りうる組み合わせのうち一部の組み合わせについてのみ、ステップS220~ステップS280の処理を行ってもよい。
【0067】
続いて、ステップS240及びステップS250において、処理回路100は、発生機能100aにより、選択された要素から、化学反応が行われる部分構造を選択する。
【0068】
ステップS240において、処理回路100は、発生機能100aにより、ステップS220で抽出された第1の要素xmから、第1の部分構造ymを抽出する。例えば、ステップS240で抽出された第1の要素xmが、「C2H5COOH」の場合、この構造は、「R-COOH」の形の構造とマッチすることから、ステップS240において、処理回路100は、発生機能100aにより、ym=「COOH」として、第1の部分構造ymを抽出する。また、部分構造の抽出の別の例として、ステップS240で抽出された第1の要素xmが、「C2H5COOH」の場合、この構造は、「R-H」の形の構造とマッチすることから、ステップS240において、処理回路100は、発生機能100aにより、ym=「H」として、第1の部分構造ymを抽出する。
【0069】
また、同様に、ステップS250において、処理回路100は、発生機能100aにより、ステップS240において抽出された第2の要素xnから、第2の部分構造ynを抽出する。
【0070】
なお、処理回路100は、発生機能100aにより、様々な第1の部分構造ym及び第2の部分構造ynについて、ステップS240~ステップS280の処理を繰り返す。
【0071】
続いて、処理回路100は、発生機能100aにより、記憶部120から化学反応リスト110cを読み出し、ステップS240及びステップS250で抽出した構造が、化学反応リスト110cに記載された化学反応に含まれるかどうかを判定する。第1の部分構造ymと第2の部分構造ymとが、化学反応リストと一致しない場合(ステップS260No)、新たな第1の部分構造ym及び第2の部分構造ynについて、ステップS240~ステップS280の処理が繰り返される。一方、第1の部分構造ymと第2の部分構造ynが、化学反応リストと一致する場合(ステップS260 Yes)、処理は、ステップS265に進む。例えば、第1の部分構造ymが、「COOH」であり、第2の部分構造ynが「H」であった場合、これらの部分構造は、化学反応リスト{「X1-CO-X2」、{「X1-COOH」、「X2-H」}とマッチする。従って、このような場合、処理回路100は、発生機能100aにより、当該化学反応により新たな化合物を生成することが可能と判定し、処理はステップS265へと進む。
【0072】
このようにして、処理回路100は、発生機能100aにより、ステップS220及びS230で抽出された1以上の化合物が反応物となるような化学反応を化学反応リスト110cから抽出する。
【0073】
続いて、ステップS265において、処理回路100は、発生機能100aにより、記憶部120から禁止反応リスト110dを読み出し、ステップS240で抽出した第1の部分構造ym及びステップS250で抽出した第2の部分構造ynが、禁止規則と一致するかどうかを判定する。第1の部分構造ymと第2の部分構造ymとが、禁止規則と一致する場合(ステップS265Yes)、この部分構造の組み合わせについては、処理回路100は新たな処理を行わず、新たな第1の部分構造ym及び第2の部分構造ynについて、ステップS240~ステップS280の処理が繰り返される。例えば、第1の部分構造ymが、「-COOH」であり、第2の部分構造ynが「-CO-CH2-CO-」であった場合、これらの部分構造は、禁止反応リスト{「X2-CO-CHX1-CO-X3」、{「X1-COOH」、「X2-CO-CHX1-CO-X3」}とマッチする。従って、このような場合、処理回路100は、発生機能100aにより、当該化学反応により生成された新たな化合物について商業的な価値がないと判定し、この部分構造の組み合わせについては、処理回路100は新たな処理を行わず、新たな第1の部分構造ym及び第2の部分構造ynについて、ステップS240~ステップS280の処理が繰り返される。一方、第1の部分構造ymと第2の部分構造ynが、禁止規則と一致しない場合(ステップS265 No)、処理は、ステップS270に進み、得られた生成物が、生成物リストYpに追加される。
【0074】
このようにして、処理回路100は、発生機能100aにより、禁止規則に更に基づいて、生成物リストYpを生成する。なお、上述の例では、化学反応ベースで禁止規則を定める場合、すなわち禁止規則が、ステップS260における化学反応リストから除外される化学反応を定める規則である場合について説明したが、実施形態はこれに限られない。すなわち、生成物や反応物ベースで禁止規則を定めてもよい。換言すると、禁止規則は、生成物リストYpから除外される生成物や、生成物リストYpから除外される生成物に対応する反応物を定める規則であってもよい。なお、実施形態は上述の例に限られず、化学反応リストから除外される化学反応を定める規則である禁止規則ではなく、化学反応リストに組み入れられる化学反応を定める規則である許可規則に基づいて、処理回路100が発生機能100aにより生成物リストYpを定めても良い。
【0075】
続いて、ステップS270において、処理回路100は、発生機能100aにより、化学反応リストに基づいて生成物ymnを生成する。例えば、第1の要素xmが、「C2H5COOH」であり、第2の要素xnが「CH4」であり、第1の部分構造ynが「-COOH」であり、第2の部分構造ymが「-H」であり、当該化学反応リストが{「X1-CO-X2」、{「X1-COOH」、「X2-H」}}の場合、処理回路100が発生機能100aにより生成する生成物ymnは、「C2H5-CO-CH3」となる。
【0076】
続いて、ステップS275において、処理回路100は、発生機能100aにより、ステップS270において生成された生成物ymn、すなわち生成物リストYpの候補となる化合物が、以前に生成された生成物リストの中に含まれているかどうか、すなわち以前の処理においてすでに生成された化合物であるか否かについて判定を行う。処理回路100が、発生機能100aにより、ステップS270において生成された生成物ymnが、以前に生成された生成物リストの中に含まれていると判定した場合、すなわち以前の処理においてすでに生成された化合物であると判定した場合(ステップS275 Yes)、処理回路100は、当該生成物ymnについては、第p世代の生成物リストYpに含めず、新たな第1の部分構造ym及び第2の部分構造ynについて、ステップS240~S280の処理を繰り返す。
【0077】
一方、処理回路100が、発生機能100aにより、ステップS270において生成された生成物ymnが、以前の処理においてすでに生成された化合物でないと判定した場合(ステップS275 No)、処理はステップS280に進み、処理回路100は、当該生成物ymnを、第p世代の生成物リストYpに対して追加する。このようにして、処理回路100は、発生機能100aにより、ステップS260で抽出された化学反応の生成物ynmであって、ステップS270で生成された生成物を、1以上の化合物からなる生成物Ypのリストに追加する。
【0078】
処理回路100は、発生機能100aにより、与えられた第1の要素xm及び第2の要素xnについて、第1の部分構造ym及び第2の部分構造ynを変えながら、様々な第1の部分構造ym及び第2の部分構造ynについて、ステップS240~S280の処理を繰り返す。また、処理回路100は、発生機能100aにより、様々な第1の要素xm及び第2の要素xnについて、ステップS220~ステップS280の処理を繰り返す。
【0079】
なお、実施形態は、上述の例に限られない。
【0080】
図6において、化合物の生成に用いられる化学反応が、2個の反応物から1個の生成物を生成する化学反応(反応の次元数が2)である場合について説明したが、実施形態はこれに限られない。一例として、化合物の生成に用いられる化学反応は、3個の反応物から1個の生成物を生成する化学反応(反応の次元数が3)であってもよく、また、1個の反応物から2個の生成物を生成する化学反応であってもよく、また1個の反応物から当該反応物とは異なる1個の生成物を生成する化学反応であってもよい。
【0081】
例えば、化合物の生成に用いられる化学反応が、3個の反応物から1個の生成物を生成する化学反応である場合について説明する。かかる場合、ステップS220~ステップS230に代えて、処理回路100は、発生機能100aにより、第0~p世代の反応物リストX0~Xpのいずれかの反応物リストから第1の要素xm1を抽出し、第0~p世代の反応物リストX0~Xpのいずれかの反応物リストから第2の要素xm2を抽出し、第p世代の反応物リストXpから第3の要素xm3を抽出する。また、ステップS240~ステップS250に代えて、処理回路100は、発生機能100aにより、第1の要素xm1から第1の部分構造ym1を抽出し、第2の要素xm2から第2の部分構造ym2を抽出し、第3の要素xm3から第3の部分構造ym3を抽出する。処理回路100は、発生機能100aにより、与えられた第1の要素xm1、第2の要素xm2、第3の要素xm3の組み合わせについて、様々な第1の部分構造ym1、第2の部分構造ym2、第3の部分構造ym3について同様の処理を行い、これらの処理を、様々な、第1の要素xm1、第2の要素xm2、第3の要素xm3の組み合わせについて行う。
【0082】
また、例えば、化合物の生成に用いられる化学反応が、1個の反応物から2個の生成物を生成する化学反応である場合について説明する。かかる場合、ステップS220~ステップS230に代えて、処理回路100は、発生機能100aにより、第p世代の反応物リストXpから要素xmを抽出する。また、ステップS240~ステップS250に代えて、処理回路100は、発生機能100aにより、要素xmから部分構造ymを抽出する。ステップS260において、処理回路100は、発生機能100aにより、部分構造ymがマッチする化学反応を化学反応リスト110cから取得し、ステップS265において禁止規則のチェックを行ったのち、ステップS270において、当該化学反応リストに基づいて、2つの生成物ym:1、ym;2を生成する。ステップS275において、これらの生成物それぞれが、すでに生成された化合物であるか否かの判定を行ったのち、すでに生成された化合物でなければ、ステップS280において、生成物を、第p世代の生成物リストYpに追加される。
【0083】
これらの処理は、化合物の生成に用いられる化学反応が、q個の反応物からr個の生成物を生成する化学反応である場合に、容易に一般化できる。
【0084】
なお、化合物の生成に用いられる化学反応は、例えば、反応物「R-OH」から、生成物「R-Br」を生成する化学反応のように、1個の反応物から1個の生成物を生成する化学反応であってもよい。当該化学反応は、例えば、{{「R-Br」}、{「R-OH」}}のように表現できる。
【0085】
また、実施形態では、発生機能100aを有する処理回路100が、ステップS220において、第0世代~第p世代の反応物リストX0~Xpから第1の要素xmを抽出し、ステップS230において、第p世代の反応物リストXpから第2の要素xnを抽出する場合について説明したが、実施形態はこれに限られない。例えば、発生機能100aを有する処理回路100は、ステップS230においても、第0世代~第p世代の反応物リストX0~Xpから第2の要素xnを抽出してもよい。
【0086】
続いて、
図6において、反応物リストX
pが、特殊化合物x
nullを要素として含む場合について説明する。特殊化合物x
nullは、化合物を選択しない操作を示す特殊な要素であり、特殊化合物x
nullが選択された場合には、化合物が選択されなかったものとして取り扱われる。
【0087】
例えば、反応物リストXpが、通常の化合物であるn個の要素x1、x2…xn及び特殊化合物xnullからなる要素n+1個のリストであり、このリストから、重複を許して3個の要素を抽出する場合を考える。特殊化合物xnull以外の化合物が、xk、xl、xmのように3個抽出された場合、処理回路100は、発生機能100aにより、反応物がxk、xl、xmの3個である3次元反応を抽出する。また、xnullが1回抽出され、xnull以外の化合物が、xk、xlのように2個抽出された場合、1個の化合物が選択されなかったものとして取り扱われ、処理回路100は、発生機能100aにより、反応物がxk、xlの2個である2次元反応を抽出する。また、xnullが2回抽出され、xnull以外の化合物が、xkのように1個抽出された場合、2個の化合物が選択されなかったものとして取り扱われ、処理回路100は、発生機能100aにより、反応物がxkの1個である1次元反応を抽出する。このように、反応物リストXpを、n個の化合物x1、x2…xn及び特殊化合物xnullからなる要素n+1個のリストとし、ここから重複を許してd個の要素を抽出することで、処理回路100は、発生機能100aにより、反応物の個数が1からdまでの、すなわち反応の次元がd以下の化学反応を、もれなく数え上げることができる。すなわち、反応物リストXpが化合物を選択しない操作を要素xnullとして含み、処理回路100が発生機能100aにより、反応部リストXpから、化合物の抽出に代えて要素xnullを抽出することで、要素xnullを抽出しなかった時と比較して少ない個数の反応物に係る化学反応により得られる化合物を、生成物リストYpに追加することができる。
【0088】
また、反応物リストXpは、ある一つの化合物の構造を変換してもとの化合物とは異なる一つの化合物とする操作を要素として含んでもよい。ここで、「ある一つの化合物の構造を変換してもとの化合物とは異なる一つの化合物とする操作」の例としては、分子内反応、異性化、官能基の置換等の操作が考えられる。
【0089】
かかる操作について、
図7を用いて、分子内反応の場合を例にとり説明する。
図7は、第1の実施形態に係る化学構造発生装置が行う処理について説明した図である。
【0090】
まず、分子内反応でない通常の化学反応の場合について説明する。反応物リストX
pの含まれる化合物x
0が、
図7に示される化合物15である場合について考える。ここで、分子内反応でない通常の化学反応の場合、
図7の中段に示されるように、化合物15が2分子集まって化合物16が生成される。かかる場合、当該化学反応の反応物は、{「化合物15」、「化合物15」}、当該化学反応の生成物は、「化合物16」、当該化学反応は、{{「化合物16」}、{{「化合物15」、「化合物15」}と表される。
【0091】
次に、分子内反応を含む場合について考える。分子内反応が存在する場合、
図7の下段に示されるように、化合物15の1分子に分子内反応が起こることにより、化合物17が生成される。かかる場合、当該化学反応の反応物を、「化合物15」、当該化学反応の生成物を、「化合物17」、当該化学反応を、{「化合物17」、「化合物15」}と表現することも可能であるが、以下のように、発生機能100aを有する処理回路100は、分子内反応を行う操作x
intraを、反応物リストX
pに含まれる要素として取り扱うこともできる。すなわち、発生機能100aを有する処理回路100は、当該反応の反応物を、分子内反応を行う操作x
intraに対応する特殊要素を用いて、{「化合物15」、x
intra}、当該化学反応の生成物を「化合物17」、当該化学反応を、{{「化合物17」}、{「化合物15」、x
intra}}として表現した上で、
図6で説明した処理を行う。発生機能100aを有する処理回路100は、分子内反応を行う操作x
intraを、反応物リストX
pに含まれる要素として取り扱うことにより、反応物リストのいずれかの化合物に対して分子内反応を行って得られる化合物を生成物リストY
pに追加する。この例で示されるように、分子に対する操作を、分子の候補の集合に含まれる要素として取り扱うことにより、発生機能100aを有する処理回路100は、例えば分子内反応等の操作により得られる分子の候補を、系統的に発生させることができる。
【0092】
なお、ステップS270で処理回路100が発生機能100aにより生成する生成物y
nmは、通常何らかの化学構造(化合物)であるが、実施形態はこれに限られない。例えば、ステップS270において、処理回路100は、発生機能100aにより、特殊化合物x
nullやx
intraなどを、生成物y
nmとして発生させてもよい。例えば、処理回路100は、発生機能100aにより、反応物として選択されたすべての要素がx
nullである場合、ステップS270において、x
nullを、生成物として発生させる。また、処理回路100は、発生機能100aにより、反応物として選択されたすべての要素がx
intraである場合、ステップS270において、x
intraを、生成物として発生させる。なお、反応物として特殊化合物のみが選択された場合、
図6のステップS240、ステップS250、ステップS260、ステップS265、ステップS275等の処理は実行されることを要しない。
【0093】
以上のように、第1の実施形態に係る化学構造発生装置1によれば、処理回路100は、発生機能100aにより、1以上の化合物からなる反応物リストと、化学反応リストとに基づいて、1以上の化合物からなる生成物リストを生成し、制御機能100bにより、生成物リストを新たな反応物リストとして与え、新たな反応物リスト及び化学反応リストに基づいて発生部に新たな生成物リストを生成させる。これにより、機械学習の学習用データとして用いられるのに適切な分子構造であって、商業的に価値がある分子構造、実際に製造可能な分子構造を効率的に発生させることができる。
【0094】
(第2の実施形態)
第2の実施形態においては、商業的に価値がある分子構造を更に効率的に発生させる方法として、候補となる化合物それぞれに数値情報を付与し制御を行うことで、商業的に価値がある分子構造を更に効率的に発生させる化学構造発生装置について説明する。
【0095】
第2の実施形態においては、化学構造発生装置1は、候補となる化合物それぞれについて、数値情報リスト110eに基づいて数値情報を付与し、当該数値情報を基に制御を行う。ここで、化合物それぞれに対して、付与される数値情報とは、例えば当該化合物を生成するのに必要なコストを示す情報である。
【0096】
典型的な場合においては、各化合物それぞれについて、当該数値情報が付与される。
例えば、第p世代目の反応物リストXpが、化合物x1、x2、…xnからなり、化合物x1、x2、…、xnを生成するコストがそれぞれ、w1、w2、…、wnである場合を考える。この場合、第p世代の反応物リストに対応する数値情報リストWpの各要素は、それぞれ、w1、w2、…wnとなる。
【0097】
なお、発生機能100aを有する処理回路100は、反応物リスト110aと数値情報リスト110eとを統合して、化合物それぞれに対して、数値情報が属性(attribute)として設定された一つの化合物リストX’p={x1(w1)、x2(w2)、…xn(wn)}を生成することもできる。
【0098】
なお、処理回路100は、発生機能100aにより、それぞれの化合物に対して、当該数値情報を算出する。具体的には、発生機能100aを有する処理回路100は、数値情報が既知である化合物については既知の数値情報を数値情報として与え、それ以外の化合物の数値情報については、当該化合物の合成経路に基づいて、当該化合物の反応物の数値情報を基に数値情報を、数値情報が既知であるような化合物にたどり着くまで再帰的に定義する。
【0099】
図8及び
図9を用いて、かかる処理の流れについて具体的に説明する。
図8及び
図9は、第2の実施形態に係る化学構造発生装置が行う処理の流れを示すフローチャートである。
図8は、処理の全体の流れを表すフローチャートであり、
図9は、
図8のステップS200Aの処理について説明したフローチャートである。なお、
図8及び
図9において、第1の実施形態ですでに説明した処理については、繰り返しての説明は割愛する。
【0100】
はじめに、処理回路100は、発生機能100aにより、化合物リストの生成を開始する(ステップS100A)。処理回路100は、発生機能100aにより、初期状態においてはp=0として、第0世代の反応物リストX0及び、当該反応物に対する数値情報リストW0に基づいて、pを増加させながら、第p世代の反応物リストXp及び第p世代の反応物リストXpの反応物それぞれに対応する数値情報リストWpを、それぞれ化合物リスト及び数値情報リスト(コスト情報のリスト)として生成する。一例として、発生機能100aを有する処理回路100は、反応物リストX0={x1、x2、…xn}及び数値情報等の情報(コスト情報)のリストW0={w1、w2、…、wn}を初期生成し、それらを基に、反応物に数値情報が対応づけられた、反応物リストX0’={x1(w1)、x2(w2)、…、xn(wn)}を初期生成し、化合物リストの生成を開始する。
【0101】
続いて、処理回路100は、発生機能100aにより、反応物リスト110aである第p世代の反応物リストX
pと、化学反応のリストである化学反応リスト110cとに基づいて、第p世代の生成物リストY
pを、生成物リスト110bとして生成する。この処理とともに、処理回路100は、発生機能100aにより、第p世代の生成物リストY
pの生成物それぞれに対応する数値情報リストW
pもあわせて算出する。すなわち、発生機能100aを有する処理回路100は、第p世代の生成物リストY
pを、各生成物に数値情報が対応づけられた形で生成する(ステップS200A)。ステップS200Aの詳細な処理については、
図9であらためて説明する。
【0102】
続いて、処理回路100は、制御機能100bにより、第p世代の生成物リストYp及び当該生成物それぞれに対応する数値情報リストWpを、それぞれ新たな反応物リスト(第p+1世代の反応物リストXp+1)及び新たな数値情報リストWp+1として、発生機能100aに係るプログラムに与える(ステップS300A)。このように、制御機能100bを有する処理回路100は、各生成物に数値情報が対応づけられた、第p世代の生成物リストYpを新たな反応物リスト(第p+1世代の反応物リストXp+1)として、発生機能100aに係るプログラムに与える。
【0103】
続いて、処理回路100は、制御機能100bにより、pの値を1増加させる(ステップS400)。続いて、処理回路100は、制御機能100bにより、新たな反応物リストXpが空集合か否かを判定する。第2の実施形態においては、発生機能100aを有する処理回路100は、数値情報リストWpを用いた制御を行い、生成される化合物を抑制するので、pが大きくなるに従い、新たな反応物リストXpの要素数が自然に減少していく。従って、制御機能100bを有する処理回路100は、新たな反応物リストXpが空集合になるpをもって、pに関する処理のエンドポイントとすることができる。
【0104】
すなわち、新たな反応物リストXpが空集合の場合(ステップS500A Yes)、処理は終了し、新たな反応物リストXpが空集合でない場合(ステップS500A No)、処理はステップS200Aに戻る。このような処理の停止条件を行うことで、例えばコストが与えられた閾値未満の化合物であって、商業的に価値の大きい化合物を、効率よく発生させることができる。
【0105】
続いて、
図9を用いて、ステップS200Aの処理の詳細について説明する。なお、
図9においては、反応物それぞれに対応する数値情報リストW
pが、当該反応物それぞれの生成物としてのコストを表す情報である場合について説明する。
【0106】
なお、
図6と同様、
図9においては、生成物リストの生成に用いられる化学反応が、2つの反応物から1つの生成物を生成する化学反応である場合について説明するが、実施形態は、すでに述べたように、反応物または生成物の数がこれと異なる場合にも、同様に適用できる。
【0107】
はじめに、ステップS210Aにおいて、処理回路100は、発生機能100aにより、生成物リスト110bにおいて、第p世代の生成物リストYpの生成を開始する。処理回路100が発生機能100aにより生成物リストYpの生成を開始した直後においては、生成物リストYpは、空集合である。
【0108】
第1の実施形態と同様に、ステップS220Aにおいて、処理回路100は、発生機能100aにより、第0世代の反応物リストX0、第1世代の反応物リストX1、第2世代の反応物リストX2、…第p世代の反応物リストXpのいずれかの反応物リストから要素を一つ選択し、第1の要素xmとして抽出する。
【0109】
続いて、ステップS230Aにおいて、処理回路100は、発生機能100aにより、第p世代の反応物リストXpから要素を一つ選択し、第2の要素xnとして抽出する。このようにして、ステップS220及びステップS230において、処理回路100は、発生機能100aにより、反応物リストから、1以上の化合物を抽出する。
【0110】
なお、処理回路100は、発生機能100aにより、様々な第1の要素xm及び第2の要素xnについて、ステップS220A~ステップS280Aの処理を繰り返す。
【0111】
続いて、ステップS231において、処理回路100は、発生機能100aにより、ステップS220Aで選択された第1の要素xmと、ステップS230Aで選択した第2の要素xnとを含む反応について、反応物のコスト(原料コストの和)を算出する。ここで、生成物のコストは、反応物のコスト(原料コストの和)と、化学反応を行うのに係るコストとの和であるが、原料コストの和の時点で許容コストを超過していた場合、化学反応に係るコストを考えるまでもなく、生成物のコストが、最大許容コストを超過することになる。従って、発生機能100aを有する処理回路100は、部分構造に係るループに入る前のステップS232において、枝刈り処理を行う。
【0112】
すなわち、反応物のコスト、例えばステップS220Aで選択された第1の要素xmに係るコストwmと、ステップS230Aで選択した第2の要素xnに係るコストwnの和wm+wnが、許容コストを超えた場合(ステップS232 No)、発生機能100aを有する処理回路100は、ステップS220A及びステップS230で選択された第1の要素xm及び第2の要素xnは適切な要素でないと判断し、新たな第1の要素xm及び第2の要素xnについて、ステップS220A~ステップS280Aの処理を繰り返す。一方、反応物のコスト、例えばステップS220Aで選択された第1の要素xmに係るコストwmと、ステップS230Aで選択した第2の要素xnに係るコストwnの和wm+wnが、許容コストを超えない場合(ステップS232 Yes)、処理はステップS240へと進む。
【0113】
続いて、ステップS240及びステップS250において、処理回路100は、発生機能100aにより、選択された要素から、化学反応が行われる部分構造を選択する。例えば、ステップS240において、処理回路100は、発生機能100aにより、ステップS220で抽出された第1の要素xmから、第1の部分構造ymを抽出する。また、同様に、ステップS240において、処理回路100は、発生機能100aにより、ステップS230において抽出された第2の要素xnから、第2の部分構造ynを抽出する。
【0114】
なお、処理回路100は、発生機能100aにより、様々な第1の部分構造ym及び第2の部分構造ynについて、ステップS240~ステップS280Aの処理を繰り返す。
【0115】
続いて、処理回路100は、発生機能100aにより、記憶部120から化学反応リスト110cを読み出し、ステップS240及びステップS250で抽出した構造が、化学反応リスト110cに記載された化学反応に含まれるかどうかを判定する。第1の部分構造ymと第2の部分構造ymとが、化学反応リストと一致しない場合(ステップS260No)、新たな第1の部分構造ym及び第2の部分構造ynについて、ステップS240~ステップS280Aの処理が繰り返される。一方、第1の部分構造ymと第2の部分構造ynが、化学反応リストと一致する場合(ステップS260 Yes)、処理は、ステップS270に進む。
【0116】
このようにして、処理回路100は、発生機能100aにより、ステップS220A及びS230Aで抽出された1以上の化合物が反応物となるような化学反応を化学反応リスト110cから抽出する。
【0117】
続いて、ステップS270において、処理回路100は、発生機能100aにより、化学反応リストに基づいて生成物ymnを生成する。
【0118】
続いて、ステップS275において、処理回路100は、発生機能100aにより、ステップS270において生成された生成物ymn、すなわち生成物リストYpの候補となる化合物が、以前に生成された生成物リストの中に含まれているかどうか、すなわち以前の処理においてすでに生成された化合物であるか否かについて判定を行う。処理回路100が、発生機能100aにより、ステップS270において生成された生成物ymnが、以前に生成された生成物リストの中に含まれていると判定した場合、すなわち以前の処理においてすでに生成された化合物であると判定した場合(ステップS275 Yes)、処理回路100は、当該生成物ymnについては、第p世代の生成物リストYpに含めず、新たな第1の部分構造ym及び第2の部分構造ynについて、ステップS240~S280の処理を繰り返す。
【0119】
一方、処理回路100が、発生機能100aにより、ステップS270において生成された生成物ymnが、以前の処理においてすでに生成された化合物でないと判定した場合(ステップS275 No)、処理はステップS271Aに進む。
【0120】
ステップS271Aにおいて、発生機能100aを有する処理回路100は、ステップS270において生成された生成物ymnについて、生成コストwmnの算出を行う。ここで、生成コストwmnは、反応物のコストの和wm+wnと、化学反応のコストzmnとの和である。すなわち、発生機能100aを有する処理回路100は、生成物リストYpの候補となる化合物ymnそれぞれに対応する数値情報を、候補となる化合物の原料となる反応物のコストの和wm+wnと、反応物から候補となる化合物ymnを生成する化学反応{ymn、{xm、xn}}に係るコストzmnとの和を用いて生成する。ここで、発生機能100aを有する処理回路100は、化学反応のコストzmnを、化学反応リスト110cから取得する。化学構造発生装置1は、化学反応リスト110cに、化学反応と、当該化学反応のコストとを、関連付けて記憶部120に保存する。
【0121】
続いて、ステップS272において、処理回路100は、発生機能100aにより、ステップS271Aで算出された生成物ymmの生成コストwmnが、最大許容コストcmax以下であるか否かを判定する。生成コストwmnが、最大許容コストcmax以下でない場合、(ステップS272 No)、当該生成物ymnは、生成物リストYpに追加されず、新たな第1の部分構造ym及び第2の部分構造ynについて、ステップS240~ステップS280Aの処理が繰り返される。一方、生成コストwmnが、最大許容コストcmax以下である場合、(ステップS272 Yes)、処理はステップS280Aに進む。
【0122】
このように、発生機能100aを有する処理回路100は、生成物リストYpの候補となる化合物ymnを生成する際に、候補となる化合物ymnそれぞれに対応する数値情報である生成コストwmnをステップS271Aにおいて算出し、算出した数値情報である生成コストwmnに基づいて、ステップS272において、候補となる化合物ymnを、生成物リストYpに含めるか否かを決定する。
【0123】
すなわち、反応物リストXpに含まれる反応物のそれぞれには、反応物のコストを表す情報が対応づけられ、発生機能100aを有する処理回路100は、反応物のコストを表す情報にもとづいて、生成物リストYpの候補となる化合物ymnのコストwmnをステップS271Aにおいて算出し、算出した生成物リストYpの候補となる化合物ymnのコストwmnを、ステップS272において予め設定された閾値である最大許容コストcmaxと比較し、コストwmnが閾値である最大許容コストcmaxを上回る場合(ステップS272 No)、候補となる化合物ymnを、生成物リストYpに含めない。
【0124】
ステップS280Aにおいて、処理回路100は、当該生成物ymnを、第p世代の生成物リストYpに対して追加し、生成物ymnの生成コストwmnを、第p世代の数値情報リストWpに対して追加する。このようにして、処理回路100は、発生機能100aにより、1以上の化合物からなる生成物Ypのリストに追加する。
【0125】
処理回路100は、発生機能100aにより、与えられた第1の要素xm及び第2の要素xnについて、第1の部分構造ym及び第2の部分構造ynを変えながら、様々な第1の部分構造ym及び第2の部分構造ynについて、ステップS240~S280Aの処理を繰り返す。また、処理回路100は、発生機能100aにより、様々な第1の要素xm及び第2の要素xnについて、ステップS220A~ステップS280Aの処理を繰り返す。
【0126】
実施形態は、上述の例に限られない。
【0127】
実施形態では、化合物それぞれに対応する数値情報リストWpが、当該化合物のコストを表す情報である場合について説明したが、実施形態は、これに限られない。例えば、化合物それぞれに対応する数値情報リストWpは、化合物ごとに定められたスコアであってもよい。一例として、発生機能100aを有する処理回路100は、化合物ごとに、単純な原料の価格のみならず、取扱いの技術的難易度、原料の調達容易性、マーケット需要など様々な要因を基に総合的な商業的有用性を判断して化合物ごとにスコアを定め、当該スコアが高い、あるいは一定の閾値を上回るものを優先的に次の世代の反応物リストに追加してもよい。ここで、化合物ごとに定められるスコアは、スコアが高いほど望ましい化合物を示すようなスコアであってもよいし、逆にスコアが低いほど望ましい化合物を示すようなスコアであってもよい。また、化合物それぞれに対応する数値情報リストWpの例として、化合物の物性に関する情報、例えば、分子量、蒸気圧、沸点、融点、双極子モーメント、油水分配係数(例えばlogP)等が用いられても良い。
【0128】
また、実施形態では、発生機能100aを有する処理回路100が、生成物リストYpの候補となる化合物を生成する際に、候補となる化合物それぞれに対応する数値情報を更に算出し、算出した数値情報に基づいて、候補となる化合物を、生成物リストYpに含めるか否かを決定する場合について説明した。しかしながら、実施形態はこれに限られない。例えば、発生機能100aを有する処理回路100が、生成物リストYpの候補となる化合物を生成する際に、候補となる化合物それぞれに対応する数値情報ではない情報を更に算出し、算出した情報に基づいて、候補となる化合物を、生成物リストYpに含めるか否かを決定してもよい。ここで、数値情報ではない情報の例としては、例えば特定の置換基を含むか否かの情報や、公的期間による危険物分類等の情報が挙げられる。かかる場合、例えば、発生機能100aを有する処理回路100は、生成物リストの候補となる化合物が、特定の置換基を含んでいたり、または特定の危険物分類に分類される化合物を、生成物リストYpから除外する。
【0129】
図9のフローチャートにおける、第1の要素x
m及び第2の要素x
nに係る繰り返し処理について、第1の要素x
m及び第2の要素x
nの選択を、化合物それぞれの数値情報リストW
pの内容によらず順次行う場合について説明したが、実施形態はこれに限られない。発生機能100aを有する処理回路100は、化合物それぞれの数値情報に基づく優先順位に従って、例えばコストの低い順やスコアの高い順に従って、第1の要素x
m及び第2の要素x
nの探索を行い、生成物リストY
pの候補y
mnを発生させてもよい。
【0130】
また、実施形態において、化合物のコストとは、化合物の単純な価格のみを示す情報に限られず、例えば安全管理の難易度や原料の調達容易性や安定性等、価格以外の種々のコストを含めてもよい。
【0131】
また、実施形態における数値情報は、スカラー量の形式での数値情報に限定されず、必要に応じて、ベクトル量またはテンソル量の形式での数値情報であってもよい。
【0132】
なお、実施形態では、処理回路100が、第0世代の反応物リストX0に基づいて、第p世代の生成物リストYpを順次生成していく場合について説明した。すなわち、実施形態では、第0世代の反応物リストX0という1つの初期リストをもとに、1つの反応物リストYpを生成する場合について説明した。しかしながら、実施形態はこれに限られず、複数の初期リストをもとに、当該複数の初期リストそれぞれに対応する複数の反応物リストを生成してもよい。
【0133】
例えば、ある化合物(この化合物自体は必ずしも本化合物発生装置の計算対象ではない)が2以上の原料群(例えば、A群、B群、C群・・・)を必要とする場合に、それぞれの原料群の化合物リスト(A群の化合物リスト、B群の化合物リスト、C群の化合物リスト・・・)を、許容コスト内で生成する場合を考える。
【0134】
この時、例えば、処理回路100は、発生機能100aにより、A群の化合物に関する第0世代の反応物リストX0、Aを基に、A群の化合物に関する第p世代の化合物リストYp、Aを生成し、B群の化合物に関する第0世代の反応物リストX0、Bを基に、B群の化合物に関する第p世代の化合物リストYp、Bを生成し、C群の化合物に関する第0世代の反応物リストX0、Cを基に、C群の化合物に関する第p世代の化合物リストYp、cを生成する。
【0135】
まず第1のケースとして、各原料群のそれぞれに、許容コストが定められている場合を考える。かかる場合、処理回路100は、発生機能100aにより、各原料群のそれぞれについて、各原料群について定められた許容コストを、
図9のステップS272における最大許容コストc
maxとして、すでに説明した処理を実行すればよい。例えば、A群及びB群の2つの2種類の原料群の化合物リストを生成する場合であって、全体の許容コストcが与えられ、またA群の許容コストとB群の許容コストの比が8:2と定められている場合を考える。この場合、処理回路100は、A群については、許容コストはc
max=0.8cであり、B群については、許容コストはc
max=0.2cであるとして、それぞれの処理を行う。
【0136】
次に、第2のケースとして、各原料群のそれぞれではなく、原料群全体で、許容コストが定められている場合を考える。かかる場合、処理回路100は、発生機能100aにより、各原料群のそれぞれについて、並行または交互にそれぞれの処理を進めたうえで、
図9のステップS272の処理において、他の原料群において生成されている化合物リストの許容コストに関する情報を参照しながら、生成物の生成コストが最大許容コスト以下かどうかを判定する。一例として、A群の化合物リストを生成する処理におけるステップS272の処理において、現在生成されている生成物の生成コストと、B群の化合物リストの中の生成コストの最小値との和が、全体の許容コストを上回った場合、処理回路100は、発生機能100aにより、当該生成物を、生成物リストに追加しない。
【0137】
以上の処理を行うことで、処理回路100は、2以上の原料群に関する化合物リストを同時並列的に生成することができる。
【0138】
このように、第2の実施形態では、処理回路100は、候補となる化合物それぞれに数値情報を付与し化学構造発生の制御を行う。これにより、機械学習の学習用データとして用いられるのに適切な、商業的に価値がある分子構造を更に効率的に発生させることができる。
【0139】
このように、本発明の実施形態によれば、機械学習の学習用データとして用いられるのに適切な分子構造を効率的に発生させることができる。
【0140】
なお、本発明の実施形態は、例として提示されたものにすぎず、種々の置き換え、変更等を行うことができる。
【0141】
上述の実施形態に関して、発明の選択的な特徴として以下の付記を開示する。
【0142】
(付記)
1以上の化合物からなる反応物リストと、1以上の化合物からなる生成物リストとのうち少なくとも一方のリストを有するデータベースと、化学構造発生装置とを備えるデータ処理システムであって、
前記化学構造発生装置は、
前記反応物リストと、化学反応リストとに基づいて、前記生成物リストを生成する発生部と、
前記生成物リストを新たな反応物リストとして前記発生部に与えるとともに、前記データベースの更新を行い、前記新たな反応物リスト及び前記化学反応リストに基づいて前記発生部に新たな生成物リストを生成させる制御部とを備える。
【符号の説明】
【0143】
100 処理回路
100a 発生機能
100b 制御機能
110 データベース
110a 反応物リスト
110b 生成物リスト
110c 化学反応リスト
110d 禁止反応リスト
110e 数値情報リスト
120 記憶部
130 入力装置
140 ディスプレイ