JP2021117663A - 類似度計算装置、類似度計算方法、及びプログラム - Google Patents

類似度計算装置、類似度計算方法、及びプログラム Download PDF

Info

Publication number
JP2021117663A
JP2021117663A JP2020009953A JP2020009953A JP2021117663A JP 2021117663 A JP2021117663 A JP 2021117663A JP 2020009953 A JP2020009953 A JP 2020009953A JP 2020009953 A JP2020009953 A JP 2020009953A JP 2021117663 A JP2021117663 A JP 2021117663A
Authority
JP
Japan
Prior art keywords
nodes
graph
node
similarity
atoms
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2020009953A
Other languages
English (en)
Inventor
秀幸 實宝
Hideyuki Jippo
秀幸 實宝
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2020009953A priority Critical patent/JP2021117663A/ja
Priority to EP20205387.2A priority patent/EP3855445A1/en
Priority to US17/090,945 priority patent/US20210232728A1/en
Priority to CN202011308867.5A priority patent/CN113177568A/zh
Publication of JP2021117663A publication Critical patent/JP2021117663A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/20Design optimisation, verification or simulation
    • GPHYSICS
    • G16INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
    • G16CCOMPUTATIONAL CHEMISTRY; CHEMOINFORMATICS; COMPUTATIONAL MATERIALS SCIENCE
    • G16C20/00Chemoinformatics, i.e. ICT specially adapted for the handling of physicochemical or structural data of chemical particles, elements, compounds or mixtures
    • G16C20/40Searching chemical structures or physicochemical data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/22Matching criteria, e.g. proximity measures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2455Query execution
    • GPHYSICS
    • G16INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
    • G16CCOMPUTATIONAL CHEMISTRY; CHEMOINFORMATICS; COMPUTATIONAL MATERIALS SCIENCE
    • G16C20/00Chemoinformatics, i.e. ICT specially adapted for the handling of physicochemical or structural data of chemical particles, elements, compounds or mixtures
    • G16C20/70Machine learning, data mining or chemometrics
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2111/00Details relating to CAD techniques
    • G06F2111/08Probabilistic or stochastic CAD
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2111/00Details relating to CAD techniques
    • G06F2111/10Numerical modelling

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Chemical & Material Sciences (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Crystallography & Structural Chemistry (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Computing Systems (AREA)
  • Artificial Intelligence (AREA)
  • Databases & Information Systems (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Computer Hardware Design (AREA)
  • Geometry (AREA)
  • Software Systems (AREA)
  • Medical Informatics (AREA)
  • General Health & Medical Sciences (AREA)
  • Evolutionary Biology (AREA)
  • Computational Linguistics (AREA)
  • Health & Medical Sciences (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Organic Low-Molecular-Weight Compounds And Preparation Thereof (AREA)

Abstract

【課題】算出される構造類似度の精度に優れ、かつ計算に必要なビット数を減らすことができる類似度計算装置などを提供する。【解決手段】第1材料と第2材料との類似度を計算する類似度計算装置であって、第1材料を構成する各原子及び第2材料を構成する各原子の組み合わせからなる複数のノードと、所定のルールに基づきエッジが形成される複数のノードの内の2つのノードの間に形成されたエッジとを有するコンフリフトグラフを作成する作成部と、コンフリフトグラフにおける最大独立集合を、焼き鈍し法を用いた基底状態探索を実行することにより探索する探索部と、最大独立集合に基づいて、第1材料と第2材料との類似度を算出する算出部と、を有する。コンフリフトグラフの複数のノードは、第1材料及び第2材料の間の、元素種よりも細分化された原子タイプが同じである2つの原子の組み合わせからなる。【選択図】図24

Description

本件は、類似度計算装置、類似度計算方法、及びプログラムに関する。
通常、構造が類似する化合物(分子)どうしは、特性(性質)も類似することが期待される。この「類似する化合物は類似する性質を持つ」という類似性質原則は、化合物の性質を予測して、所定の性質を持つ化合物を設計する場合や、化合物のデータベースをスクリーニングして、所定の性質を持つ化合物を探索する場合などにおいて広く用いられている。
類似性質原則を用いると、例えば、既存の化合物を問い合わせ化合物として、データベースから探索された類似化合物(当該問い合わせ化合物と構造が類似する化合物)は、その機能(特性、物性)が問い合わせ化合物と同様であると予測できる。また、新規の化合物を問い合わせ化合物とする場合には、当該問い合わせ化合物と構造が類似する化合物をデータベースから探索することにより、新規化学物質の特性値を予測することもできる。
ここで、構造が互いに類似する化合物の探索は、例えば、化合物どうしにおける構造の類似度を評価し、構造の類似度が高い化合物を類似する化合物として特定することにより行うことができる。
化合物どうしにおける構造の類似度を評価する手法としては、様々な手法が提案されているが、例えば、フィンガープリント法が広く用いられている。フィンガープリント法では、例えば、問い合わせ化合物における部分構造が、比較対象の化合物に含まれているか否かを、0又は1で表して類似度を評価する。
また、構造の類似度を評価する手法として、化合物間において共通する部分構造の探索を、コンフリクトグラフの最大独立集合問題をイジングモデルの式で表してアニーリングマシン等で解くことにより行う手法も提案されている(例えば、非特許文献1参照)。
しかし、この提案の技術では、算出される構造類似度の精度の点では、検討の余地がある。また、この提案の技術では、化合物を構成する原子の数が増えると、アニーリングマシンに必要なビット数が多くなる。
Maritza Hernandez, Arman Zaribafiyan, Maliheh Aramon, Mohammad Naghibi "A Novel Graph−based Approach for Determining Molecular Similarity". arXiv:1601.06693(https://arxiv.org/pdf/1601.06693.pdf)
一つの側面では、本件は、算出される構造類似度の精度に優れ、かつ計算に必要なビット数を減らすことができる類似度計算装置、類似度計算方法、及びプログラムを提供することを目的とする。
上記の課題を解決するための手段の一つの実施態様は、以下の通りである。
すなわち、一つの実施態様では、類似度計算装置は、第1材料と第2材料との類似度を計算する類似度計算装置であって、
前記第1材料を構成する各原子及び前記第2材料を構成する各原子の組み合わせからなる複数のノードと、前記複数のノードの内の2つのノードの間に形成されたエッジとを有するグラフであって、2つのノードどうしを比較して互いに同一でないノード間にはエッジを有し、2つのノードどうしを比較して互いに同一であるノード間にはエッジを有しないコンフリフトグラフを作成する作成部と、
前記コンフリフトグラフにおける最大独立集合を、焼き鈍し法を用いた基底状態探索を実行することにより探索する探索部と、
前記最大独立集合に基づいて、前記第1材料と前記第2材料との類似度を算出する算出部と、
を有し、
前記コンフリフトグラフの前記複数のノードが、前記第1材料及び前記第2材料の間の、元素種よりも細分化された原子タイプが同じである2つの原子の組み合わせからなる。
また、一つの実施態様では、類似度計算方法は、第1材料と第2材料との類似度を計算する類似度計算方法であって、
前記第1材料を構成する各原子及び前記第2材料を構成する各原子の組み合わせからなる複数のノードと、前記複数のノードの内の2つのノードの間に形成されたエッジとを有するグラフであって、2つのノードどうしを比較して互いに同一でないノード間にはエッジを有し、2つのノードどうしを比較して互いに同一であるノード間にはエッジを有しないコンフリフトグラフを作成する作成工程と、
前記コンフリフトグラフにおける最大独立集合を、焼き鈍し法を用いた基底状態探索を実行することにより探索する探索工程と、
前記最大独立集合に基づいて、前記第1材料と前記第2材料との類似度を算出する算出工程と、
を含み、
前記コンフリフトグラフの前記複数のノードが、前記第1材料及び前記第2材料の間の、元素種よりも細分化された原子タイプが同じである2つの原子の組み合わせからなる。
さらに、一つの実施態様では、プログラムは、第1材料を構成する各原子及び第2材料を構成する各原子の組み合わせからなる複数のノードと、前記複数のノードの内の2つのノードの間に形成されたエッジとを有するグラフであって、2つのノードどうしを比較して互いに同一でないノード間にはエッジを有し、2つのノードどうしを比較して互いに同一であるノード間にはエッジを有しないコンフリフトグラフを作成する作成工程をコンピュータに行わせることを含み、
前記コンフリフトグラフの前記複数のノードが、前記第1材料及び前記第2材料の間の、元素種よりも細分化された原子タイプが同じである2つの原子の組み合わせからなる。
一つの側面では、本件は、算出される構造類似度の精度に優れ、かつ計算に必要なビット数を減らすことができる類似度計算装置、類似度計算方法、及びプログラムを提供することができる。
図1は、酢酸及び酢酸メチルをグラフ化する様子の一例を示す従来技術の図である。 図2は、分子A及び分子Bにおける同じ元素どうしを組み合わせてコンフリクトグラフのノードをする場合の組み合わせの一例を示す従来技術の図である。 図3は、コンフリクトグラフにおけるエッジ作成のルールの一例を示す従来技術の図である。 図4は、分子Aと分子Bにおけるコンフリクトグラフの一例を示す従来技術の図である。 図5は、グラフにおける最大独立集合の一例を示す従来技術の図である。 図6は、分子Aと分子Bとにおける最大の共通部分構造を、コンフリクトグラフの最大独立集合を求める(最大独立集合問題を解く)ことにより求める場合における流れの一例を示す従来技術の図である。 図7は、ノードの数が6個のグラフにおける最大独立集合を探索する従来手法の一例を説明するための説明図である。 図8は、ノードの数が6個のグラフにおける最大独立集合を探索する従来手法の一例を説明するための説明図である。 図9は、コンフリクトグラフにおける最大独立集合の一例を示す従来技術の図である。 図10は、GAFF(General AMBER Force Field)の原子タイプに基づいて酢酸及び酢酸メチルをグラフ化する例を表す図である。 図11は、GAFFの原子タイプに基づいた酢酸及び酢酸メチルのグラフからコンフリフトグラフのノードを作成する例を表す図である。 図12は、図11に示すノードから作成されたコンフリフトグラフである。 図13は、酢酸と酢酸メチルを例として、分子構造を読み込むことから最大独立集合を探索することまでの一例を説明するための図である(その1)。 図14は、酢酸と酢酸メチルを例として、分子構造を読み込むことから最大独立集合を探索することまでの一例を説明するための図である(その2)。 図15は、酢酸と酢酸メチルを例として、分子構造を読み込むことから最大独立集合を探索することまでの一例を説明するための図である(その3)。 図16は、酢酸と酢酸メチルを例として、分子構造を読み込むことから最大独立集合を探索することまでの一例を説明するための図である(その4)。 図17は、酢酸と酢酸メチルを例として、分子構造を読み込むことから最大独立集合を探索することまでの一例を説明するための図である(その5)。 図18は、酢酸と酢酸メチルを例として、分子構造を読み込むことから最大独立集合を探索することまでの一例を説明するための図である(その6)。 図19は、酢酸と酢酸メチルを例として、分子構造を読み込むことから最大独立集合を探索することまでの一例を説明するための図である(その7)。 図20は、本件で開示する類似度計算装置の構成例を表す図である。 図21は、本件で開示する類似度計算装置の他の構成例を表す図である。 図22は、本件で開示する類似度計算装置の他の構成例を表す図である。 図23は、本件で開示する類似度計算装置の他の構成例を表す図である。 図24は、本件で開示する類似度計算装置の一実施形態としての機能構成例を示す図である。 図25は、本件で開示する類似度計算の一実施形態のフローチャートである。 図26は、焼き鈍し法に用いる最適化装置(制御部)の機能構成の一例を示す図である。 図27は、遷移制御部の回路レベルの一例を示すブロック図である。 図28は、遷移制御部の動作フローの一例を示す図である。 図29は、リナロールの化学構造を示す図である。 図30は、従来例のビット数を表す図である。 図31は、実施例のビット数を表す図である。
(類似度計算装置、類似度計算方法、プログラム)
本件で開示する類似度計算装置は、第1材料と第2材料との類似度を計算する装置である。
類似度計算装置は、作成部と、探索部と、算出部とを有し、更に必要に応じて、その他の部を有する。
作成部は、コンフリフトグラフを作成する。
コンフリフトグラフは、第1材料を構成する各原子及び第2材料を構成する各原子の組み合わせからなる複数のノードと、複数のノードの内の2つのノードの間に形成されたエッジとを有するグラフであって、2つのノードどうしを比較して互いに同一でないノード間にはエッジを有し、2つのノードどうしを比較して互いに同一であるノード間にはエッジを有しないグラフである。
探索部は、コンフリフトグラフにおける最大独立集合を、焼き鈍し法を用いた基底状態探索を実行することにより探索する。
算出部は、最大独立集合に基づいて、第1材料と第2材料との類似度を算出する。
ここで、コンフリフトグラフの複数のノードは、第1材料及び第2材料の間の、元素種よりも細分化された原子タイプが同じである2つの原子の組み合わせからなる。
本件で開示する類似度計算方法は、第1材料と第2材料との類似度を計算する方法である。
類似度計算方法は、作成工程と、探索工程と、算出工程とを含み、更に必要に応じて、その他の工程を含む。
作成工程は、コンフリフトグラフを作成する工程である。
コンフリフトグラフは、第1材料を構成する各原子及び第2材料を構成する各原子の組み合わせからなる複数のノードと、複数のノードの内の2つのノードの間に形成されたエッジとを有するグラフであって、2つのノードどうしを比較して互いに同一でないノード間にはエッジを有し、2つのノードどうしを比較して互いに同一であるノード間にはエッジを有しないグラフである。
探索工程は、コンフリフトグラフにおける最大独立集合を、焼き鈍し法を用いた基底状態探索を実行することにより探索する工程である。
算出工程は、最大独立集合に基づいて、第1材料と第2材料との類似度を算出する工程である。
ここで、コンフリフトグラフの複数のノードは、第1材料及び第2材料の間の、元素種よりも細分化された原子タイプが同じである2つの原子の組み合わせからなる。
本件で開示するプログラムは、作成工程をコンピュータに行わせることを含む。
作成工程は、コンフリフトグラフを作成する工程である。
コンフリフトグラフは、第1材料を構成する各原子及び第2材料を構成する各原子の組み合わせからなる複数のノードと、複数のノードの内の2つのノードの間に形成されたエッジとを有するグラフであって、2つのノードどうしを比較して互いに同一でないノード間にはエッジを有し、2つのノードどうしを比較して互いに同一であるノード間にはエッジを有しないグラフである。
ここで、コンフリフトグラフの複数のノードは、第1材料及び第2材料の間の、元素種よりも細分化された原子タイプが同じである2つの原子の組み合わせからなる。
まず、本件で開示する技術の詳細を説明する前に、コンフリクトグラフの最大独立集合問題を解くことにより、比較する材料どうしにおいて共通する部分構造を探索して類似度を算出する従来手法について説明する。
コンフリクトグラフの最大独立集合問題を解くことにより、化合物どうしの構造の類似度を算出する際には、化合物をグラフ化して扱う。ここで、化合物をグラフ化するとは、例えば、化合物における原子の種類(元素)の情報と各原子の結合状態の情報とを用いて、化合物の構造を表すことを意味する。
化合物の構造は、例えば、MOL形式や、SDF(Structure Data File)形式の表現を用いて表すことができる。通常、SDF形式とは、MOL形式で表現された複数の化合物の構造情報を、一つのファイルにまとめたものを意味する。また、SDF形式のファイルにおいては、MOL形式の構造情報の他に、化合物ごとの付加情報(例えば、カタログ番号、CAS番号、分子量など)を扱うことが可能である。これらの化合物の構造は、例えば、「原子1(の名称)、原子2(の名称)、原子1の元素の情報、原子2の元素の情報、原子1と原子2の結合次数」を1つの行とするCSV(Comma−Separated Value)形式としてグラフ化できる。
以下では、コンフリクトグラフの作成方法について、酢酸(CHCOOH)と酢酸メチル(CHCOOCH)とにおけるコンフリクトグラフを作成する場合を例として説明する。
まず、酢酸(以下では、「分子A」と称することがある)と酢酸メチル(以下では、「分子B」と称することがある)をグラフ化すると、図1のようになる。図1においては、酢酸を形成する原子をA1、A2、A3、及びA5で示し、酢酸メチルを形成する原子をB1からB5で示している。また、図1では、A1、A2、B1、B2、及びB4は炭素を示し、A3、A5、B3、及びB5は酸素を示すとともに、単結合を細い実線で、二重結合を太い実線で示している。なお、図1に示す例においては、水素以外の原子を選択してグラフ化しているが、化合物をグラフ化する際には、水素も含めて全ての原子を選択してグラフ化してもよい。
次に、グラフ化した分子A及び分子Bにおける頂点(原子)どうしを組み合わせて、コンフリクトグラフの頂点(ノード)を作成する。このとき、図2に示すように、分子A及び分子Bにおける同じ元素どうしを組み合わせてコンフリクトグラフのノードとする。図2に示す例においては、炭素を表すA1、A2、B1、B2、及びB4どうしの組み合わせ、並びに、酸素を表すA3、A5、B3、及びB5どうしの組み合わせをコンフリクトグラフのノードとする。
図2の例では、分子Aの炭素と分子Bの炭素との組み合わせにより6個、分子Aの酸素と分子Bの酸素との組み合わせにより4個のノードを作成するため、グラフ化した分子A及び分子Bから作成されるコンフリクトグラフにおけるノードの数は10個となる。
続いて、コンフリクトグラフにおけるエッジ(枝、辺)を作成する。このとき、2つのノードを比較して、ノードどうしが異なる状況(例えば、原子番号、結合の有無、結合次数など)にある原子で構成される場合は、その2つのノードの間にエッジを作成する。一方、2つのノードを比較して、ノードどうしが同じ状況にある原子で構成される場合は、その2つのノードの間にはエッジを作成しない。
ここで、図3を参照して、コンフリクトグラフにおけるエッジ作成のルールについて説明する。
まず、図3に示す例において、ノード〔A1B1〕とノード〔A2B2〕との間にエッジを作成するか否かについて説明する。図3におけるグラフ化した分子Aの構造からわかるように、ノード〔A1B1〕に含まれる分子Aの炭素A1と、ノード〔A2B2〕に含まれる分子Aの炭素A2は、互いに結合(単結合)している。同様に、ノード〔A1B1〕に含まれる分子Bの炭素B1と、ノード〔A2B2〕に含まれる分子Bの炭素B2は、互いに結合(単結合)している。すなわち、炭素A1と炭素A2の結合の状況と、炭素B1と炭素B2の結合の状況は互いに同一になっている。
このように、図3の例においては、分子Aにおける炭素A1と炭素A2の状況と、分子Bにおける炭素B1と炭素B2の状況が互いに同一となっており、ノード〔A1B1〕とノード〔A2B2〕は、互いに同一の状況の原子で構成されるノードどうしとなる。このため、図3に示す例では、ノード〔A1B1〕とノード〔A2B2〕との間には、エッジを作成しない。
次に、図3に示す例において、ノード〔A1B4〕とノード〔A2B2〕との間にエッジを作成するか否かについて説明する。図3におけるグラフ化した分子Aの構造からわかるように、ノード〔A1B4〕に含まれる分子Aの炭素A1と、ノード〔A2B2〕に含まれる分子Aの炭素A2は、互いに結合(単結合)している。一方、グラフ化した分子Bの構造からわかるように、ノード〔A1B4〕に含まれる分子Bの炭素B4と、ノード〔A2B2〕に含まれる分子Bの炭素B2は、間に酸素B3を挟んでおり、直接は結合していない。すなわち、炭素A1と炭素A2の結合の状況と、炭素B4と炭素B2の結合の状況は互いに異なっている。
つまり、図3の例においては、分子Aにおける炭素A1と炭素A2の状況と、分子Bにおける炭素B4と炭素B2の状況が互いに異なっており、ノード〔A1B4〕とノード〔A2B2〕は、互いに異なる状況の原子で構成されるノードどうしとなる。このため、図3に示す例では、ノード〔A1B4〕とノード〔A2B2〕との間に、エッジを作成する。
このように、コンフリクトグラフは、ノードどうしが異なる状況にある原子で構成される場合は、そのノードの間にエッジを作成し、同じ状況にある原子で構成される場合は、そのノードの間にはエッジを作成しないというルールに基づいて作成することができる。
図4は、分子Aと分子Bにおけるコンフリクトグラフの一例を示す図である。図4に示すように、例えば、ノード〔A2B2〕とノード〔A5B5〕においては、分子Aにおける炭素A2と酸素A5の結合の状況と、分子Bにおける炭素B2と炭素B5の結合の状況は互いに同一になっている。このため、ノード〔A2B2〕とノード〔A5B5〕は、互いに同一の状況にある原子で構成されるノードとなるため、ノード〔A2B2〕とノード〔A5B5〕との間には、エッジを作成していない。
ここで、コンフリクトグラフのエッジは、例えば、構造の類似度を算出する2つの化合物の化学構造データに基づいて作成することができる。例えば、SDF形式のファイルを用いて化合物の化学構造データを入力する場合、SDF形式のファイルに含まれる情報に基づいて、コンピュータ等の計算機を用いて計算を行うことで、コンフリクトグラフのエッジを作成(特定)することができる。
次に、非特許文献1に記載されているような従来技術の一例における、作成したコンフリクトグラフの最大独立集合問題を解く方法について説明する。
コンフリクトグラフにおける最大独立集合(Maximum Independent Set;MIS)とは、コンフリクトグラフを構成するノードの集合のうち、ノード間にエッジが存在しないノードが最も多く含まれる集合を意味する。言い換えると、コンフリクトグラフにおける最大独立集合とは、互いのノードの間にエッジが存在しないノードで形成される集合のうち、最大の大きさ(ノード数)を有する集合を意味する。
図5は、グラフにおける最大独立集合の一例を示す図である。図5では、集合に含まれるノードには「1」の符号を、集合に含まれないノードには「0」の符号を付し、ノード間にエッジが存在する箇所は実線で当該ノードどうしを結び、エッジが存在しない箇所は点線で当該ノードどうしを結んでいる。なお、ここでは、図5に示すように、説明の簡略化のため、ノードの数が6個のグラフを例として説明する。
図5に示す例においては、ノード間にエッジが存在しないノードで構成される集合のうち、ノードの数が最大となる集合は3つあり、これらの集合のノード数は3である。すなわち、図5に示す例では、グラフにおける最大独立集合は、一点鎖線で囲んだ3つの集合となる。
ここで、上述したように、コンフリクトグラフは、ノードどうしが異なる状況にある原子で構成される場合は、そのノードの間にエッジを作成し、同じ状況にある原子で構成される場合は、そのノードの間にはエッジを作成しないというルールに基づいて作成される。このため、コンフリクトグラフにおいて、ノード間にエッジが存在しないノードで構成される集合のうち、ノードの数が最大となる集合である最大独立集合を求めることは、2つの分子間において共通する部分構造のうち、最大のものを求めることと同義となる。言い換えると、コンフリクトグラフにおける最大独立集合を求めることにより、2つの分子における最も大きな共通の部分構造を特定することができる。
つまり、2つの分子をグラフ化して、グラフ化した分子の構造に基づいてコンフリクトグラフを作成し、コンフリクトグラフにおける最大独立集合を求めることにより、当該2つの分子における最大の共通部分構造を求めることができる。
図6には、分子A(酢酸)と分子B(酢酸メチル)とにおける最大の共通部分構造を、コンフリクトグラフの最大独立集合を求める(最大独立集合問題を解く)ことにより求める場合における流れの一例を示す。図6に示すように、分子Aと分子Bをそれぞれグラフ化し、同じ元素どうしを組み合わせてノードとし、ノードを構成する原子の状況に応じてエッジを形成してコンフリクトグラフを作成する。そして、作成したコンフリクトグラフにおける最大独立集合を求めることにより、分子Aと分子Bにおける最大の共通部分構造を求めることができる。
ここで、コンフリクトグラフの最大独立集合を求める(探索する)ための具体的な方法の一例について説明する。
コンフリクトグラフの最大独立集合の探索は、例えば、最小化することが最大独立集合の探索をすることを意味するハミルトニアンを用いることにより行うことができる。より具体的には、例えば、下記の式(1)に示すハミルトニアン(H)を用いることにより行うことができる。
Figure 2021117663
ここで、上記式(1)において、nは、コンフリクトグラフにおけるノードの数であり、biは、i番目のノードに対するバイアスを表す数値である。
さらに、wijは、i番目のノードとj番目のノードとの間にエッジが存在するときは、0ではない正の数であり、i番目のノードとj番目のノードとの間にエッジが存在しないときは、0である。
また、xiは、i番目のノードが0又は1であることを表すバイナリ変数であり、xjは、j番目のノードが0又は1であることを表すバイナリ変数である。
なお、α及びβは、正の数である。
上記式(1)で表されるハミルトニアンと最大独立集合の探索との関係について、更に詳細に説明する。上記式(1)は、Quadratic Unconstrained Binary Optimization(QUBO)形式のイジングモデル式を表すハミルトニアンである。
上記式(1)において、xiは、1である場合、i番目のノードが最大独立集合の候補となる集合に含まれることを意味し、0である場合、i番目のノードが最大独立集合の候補となる集合に含まれないことを意味する。同様に、上記式(1)において、xは、1である場合、j番目のノードが最大独立集合の候補となる集合に含まれることを意味し、0である場合、j番目のノードが最大独立集合の候補となる集合に含まれないことを意味する。
このため、上記式(1)について、状態を1とした(ビットを1にした)ノード間にはエッジが存在しないという制約の下で、できるだけ多くのノードの状態が1となる組み合わせを探索することにより、最大独立集合を探索することができる。
ここで、上記式(1)における各項について説明する。
上記式(1)における右辺の一項目(係数が−αの項)は、xiが1となるiが多いほど(最大独立集合の候補となる集合に含まれるノードの数が多いほど)、値が小さくなる項である。なお、上記式(1)における右辺の一項目において値が小さくなるとは、大きな負の数になることを意味する。つまり、上記式(1)においては、右辺の一項目の作用により、多くのノードのビットが1となると、ハミルトニアン(H)の値が小さくなる。
上記式(1)における右辺の二項目(係数がβの項)は、ビットが1になっているノード間にエッジが存在する場合(wijが0ではない正の数である場合)に、値が大きくなるペナルティーの項である。言い換えると、上記式(1)における右辺の二項目は、ビットが1になっているノード間においてエッジが存在する箇所がない場合には0となり、それ以外の場合には正の数となる。つまり、上記式(1)においては、右辺の二項目の作用により、ビットが1になっているノード間にエッジが存在すると、ハミルトニアン(H)の値が大きくなる。
上記式(1)は、上述したように、多くのノードのビットが1となると値が小さくなるとともに、ビットが1になっているノード間にエッジが存在すると値が大きくなるため、上記式(1)を最小化することが最大独立集合の探索をすることを意味するといえる。
ここで、上記式(1)で表されるハミルトニアンと最大独立集合の探索との関係について、図面を参照しながら例を用いて説明する。
ノードの数が6個のグラフにおいて、図7に示す例のように各ノードにビットを設定する場合を考える。図7の例では、図5と同様に、ノード間にエッジが存在する箇所は実線で当該ノードどうしを結び、エッジが存在しない箇所は点線で当該ノードどうしを結んでいる。
図7の例について、上記式(1)におけるbを1とし、i番目のノードとj番目のノードとの間にエッジが存在するときのwijを1とすると、上記式(1)は次のようになる。
Figure 2021117663
このように、図7の例では、ビットが1になっているノード間においてエッジが存在する箇所がない場合(独立集合として矛盾がない場合)には右辺の二項目は0となり、一項目の値が、そのままハミルトニアンの値となる。
次に、図8に示す例のように各ノードにビットを設定する場合を考える。図7の例と同様に、上記式(1)におけるbを1とし、i番目のノードとj番目のノードとの間にエッジが存在するときのwijを1とすると、上記式(1)は次のようになる。
Figure 2021117663
このように、図8の例では、ビットが1になっているノード間においてエッジが存在する箇所があるため、右辺の二項目は0とはならず、ハミルトニアンの値は、右辺の2つの項の和となる。ここで、図7及び8に示した例では、例えば、α>5βとすると、−3α<−4α+5βとなるため、図8の例におけるハミルトニアンの値よりも、図7の例におけるハミルトニアンの値の方が小さくなっている。図7の例は、最大独立集合として矛盾のないノードの集合であり、上記式(1)のハミルトニアンの値が小さくなるノードの組み合わせを探索することにより、最大独立集合を探索できることがわかる。
次に、非特許文献1に記載されているような従来技術の一例における、探索した最大独立集合に基づいて、分子どうしの構造の類似度を算出する方法について説明する。
分子どうしの構造の類似度は、例えば、下記の式(2)を用いて算出することができる。
Figure 2021117663
ここで、上記式(2)において、S(G,G)は、グラフ化した第一の分子(例えば、分子A)とグラフ化した第二の分子(例えば、分子B)との類似度を表し、0〜1で表され、1に近づく程、類似度が高いことを意味する。
また、Vは、グラフ化した第一の分子におけるノード原子の総数を表し、V は、グラフ化した第一の分子におけるノード原子の内、コンフリクトグラフの最大独立集合に含まれるノード原子の数を表す。なお、ノード原子とは、グラフ化した分子における頂点の原子を意味する。
さらに、Vは、グラフ化した第二の分子におけるノード原子の総数を表し、V は、グラフ化した第二の分子におけるノード原子の内、コンフリクトグラフの最大独立集合に含まれるノード原子の数を表す。
δは、0〜1の数である。
また、上記式(2)において、max{A,B}は、AとBのうち、値が大きい方を選択することを意味し、min{A,B}は、AとBのうち、値が小さい方を選択することを意味する。
ここで、図1等と同様に、酢酸(分子A)と酢酸メチル(分子B)を例として、類似度の算出方法について説明する。
図9に示したコンフリクトグラフにおいて、最大独立集合は、ノード〔A1B1〕、ノード〔A2B2〕、ノード〔A3B3〕、及びノード〔A5B5〕の4つのノードで構成される。つまり、図9の例においては、|V|は4となり、|V |は4となり、|V|は5となり、|V |は4となる。また、この例において、δを0.5として、第一の分子と第二の分子の平均を取る(均等に扱う)こととすると、上記式(2)は次のようになる。
Figure 2021117663
このように、図9の例においては、上記式(2)に基づいて、分子どうしの構造の類似度は0.9と算出される。
以上、説明したように、非特許文献1に記載されているような従来技術の一例においては、上記式(1)及び式(2)を用いて、化合物(分子)どうしの構造の類似度を算出する。
しかしながら、このような従来技術においては、図2に示すように、分子A及び分子Bにおける同じ元素どうしを組み合わせてコンフリクトグラフのノードとする。そのため、コンフリクトグラフのノードを作成する際に、原子における元素以外の状態が考慮されておらず、類似度の精度に改善の余地がある上に、化合物を構成する原子の数が増えると、計算に必要なビット数が多くなる。
そこで、本発明者は、コンフリフトグラフから最大独立集合を探索し、類似度を計算する際に、コンフリフトグラフのノードを、第1材料及び第2材料の間の、元素種よりも細分化された原子タイプが同じである2つの原子の組み合わせから構成することにより、類似度の精度を改善でき、かつノードの数を減らす(即ち、計算に必要なビット数を減らす)ことができることを見出した。
コンフリフトグラフのノードを、第1材料及び第2材料の間の、元素種よりも細分化された原子タイプが同じである2つの原子の組み合わせから構成する際は、例えば、原子タイプに、原子の最外殻電子の混成軌道、芳香族性の種類、化学的環境の種類などが含まれる。その一例を説明する。
また、例えば、コンフリフトグラフの複数のノードは、第1材料及び第2材料の間の、原子タイプ及び結合タイプが同じである2つの原子の組み合わせからなる。結合タイプは、例えば、芳香環に含まれるかどうか、配位結合であるかどうかを含む。
図10は、酢酸及び酢酸メチルをグラフ化する様子の一例を示す図である。
図10においては、酢酸を形成する原子をA1、A2、A3、及びA5で示し、酢酸メチルを形成する原子をB1からB5で示している。また、図10では、A1、A2、B1、B2、及びB4は炭素を示し、A3、A5、B3、及びB5は酸素を示すとともに、単結合を細い実線で、二重結合を太い実線で示している。なお、図10に示す例においては、水素以外の原子を選択してグラフ化しているが、化合物をグラフ化する際には、水素も含めて全ての原子を選択してグラフ化してもよい。ここまでは、図1に示すグラフと同じである。しかし、図10においては、炭素、及び酸素が、更に、混成軌道や芳香族性、化学的環境に基づいて細分化されている。図10において、原子タイプの細分化は、GAFF(General AMBER Force Field)の原子タイプに基づいて行われている。GAFFの原子タイプは、例えば、下記文献のTable 1などに紹介されている。
文献:JUNMEI WANG, ROMAIN M. WOLF, JAMES W. CALDWELL, PETER A. KOLLMAN, DAVID A. CASE, Development and Testing of a General Amber Force Field,Vol. 25, No. 9 ・ Journal of Computational Chemistry
ここで、図10において、「c3」は、sp炭素を表し、「c2」は、脂肪族sp炭素を表し、「o」は、C=O又はCOOにおけるsp酸素を表し、「oh」は、水酸基におけるsp酸素を表し、「os」は、エーテル又はエステルにおけるsp酸素を表す。
図10における酢酸のグラフ、及び酢酸メチルのグラフは、これらの原子タイプの情報を有している。
次に、グラフ化した分子A及び分子Bにおける頂点(原子)どうしを組み合わせて、コンフリクトグラフの頂点(ノード)を作成する。このとき、例えば、図11に示すように、分子A及び分子Bにおける同じ原子タイプどうしを組み合わせてコンフリクトグラフのノードとする。図11に示す例においては、原子タイプ「c3」を表すA1、B1、及びB4どうしの組み合わせ、原子タイプ「c2」を表すA2、及びB2どうしの組み合わせ、並びに、原子タイプ「o」を表すA5、及びB5どうしの組み合わせをコンフリクトグラフのノードとする。このように、同じ元素どうしの組み合わせではなく、元素種よりも細分化された原子タイプが同じである原子どうしをノードとすることにより、ノードの数を抑制でき、最大独立集合問題を解くために必要とされる計算機のビットの数を少なくできる。
図11の例では、図11に示すように、グラフ化した分子A及び分子Bから作成されるコンフリフトグラフにおけるノードの数は4個となる。
一方、図2の例では、分子Aの炭素と分子Bの炭素との組み合わせにより6個、分子Aの酸素と分子Bの酸素との組み合わせにより4個のノードを作成する。そのため、グラフ化した分子A及び分子Bから作成されるコンフリクトグラフにおけるノードの数は10個となる。
続いて、コンフリフトグラフを作成すると、図12のようになる。
本件で開示する技術の一例において、例えば、第1材料とは、類似度が求められる第2材料の比較対象となる材料である。
第1材料としては、特に制限はなく、目的に応じて適宜選択することができ、分子であってもよいし、分子でなくてもよい。分子以外の第1材料としては、例えば、無機結晶などが挙げられる。
また、第1材料としては、グラフ化可能な材料であれば、特に制限はなく、目的に応じて適宜選択することができる。
本件で開示する技術の一例において、例えば、第2材料とは、第1材料に対する類似度を求める対象となる材料を意味する。
第2材料としては、特に制限はなく、目的に応じて適宜選択することができ、分子であってもよいし、分子でなくてもよい。分子以外の第2材料としては、例えば、無機結晶などが挙げられる。
また、第2材料としては、グラフ化可能な材料であれば、特に制限はなく、目的に応じて適宜選択することができる。
ここで、本件で開示する技術の一例においては、第1材料及び第2材料の化学構造データは、多数の材料の化学構造データ群(データベース)として入力されることが好ましい。言い換えると、本件で開示する技術の一例としての類似度計算装置は、多数の材料の化学構造データ群を有することが好ましい。
化学構造データ群の形式(データ構造)としては、特に制限はなく、目的に応じて適宜選択することができ、例えば、上述したSDF形式などが挙げられる。
本件で開示する技術の一例においては、例えば、第1材料及び第2材料の化合物名や慣用名などを受け付けて、第1材料及び第2材料を化学構造データ群と照合することにより、第1材料及び第2材料それぞれの構造を特定してもよい。また、本件で開示する技術の一例においては、例えば、第1材料及び第2材料の化学構造データを直接入力することにより、第1材料及び第2材料の構造を特定してもよい。
本件で開示する技術の一例においては、例えば、上記式(1)及び式(2)を用いて第1材料と第2材料との類似度を求める際に、上記式(1)及び式(2)におけるパラメータを、適宜最適化する。
本件で開示する技術の一例においては、例えば、上述した従来技術と同様に、式(1)を用いて、第1材料及び第2材料の分子構造に基づく最大独立集合の探索をすることにより類似度を求めることができる。
Figure 2021117663
ただし、上記式(1)において、Hは、Hを最小化することが最大独立集合の探索をすることを意味するハミルトニアンである。
nは、グラフ化した第1材料及び第2材料のコンフリクトグラフにおけるノードの数として理解されるものである。
また、コンフリクトグラフは、グラフ化した第1材料を構成する各ノード原子と、グラフ化した第2材料を構成する各ノード原子との組合せをノードとし、2つのノードどうしを比較して互いに同一でないノード間にはエッジを作成し、2つのノードどうしを比較して互いに同一であるノード間にはエッジを作成しないというルールに基づき作成されるグラフとして理解されるものである。
iは、i番目のノードに対するバイアスを表す数値である。
ijは、i番目のノードとj番目のノードとの間にエッジが存在するときは、0ではない正の数であり、i番目のノードとj番目のノードとの間にエッジが存在しないときは、0である。
iは、i番目のノードが0又は1であることを表すバイナリ変数であり、xjは、j番目のノードが0又は1であることを表すバイナリ変数である。
なお、α及びβは、正の数である。
ここで、本件で開示する技術の一例においては、「2つのノードどうしを比較して互いに同一である」とは、2つのノードどうしを比較したときに、これらのノードが互いに同一の状況(結合状況)にあるノード原子で構成されることを意味する。同様に、本件で開示する技術の一例においては、「2つのノードどうしを比較して互いに同一でない」とは、複数あるノードどうしを比較したときに、これらのノードが互いに異なる状況(結合状況)にあるノード原子で構成されることを意味する。
ここで、結合状況は、結合次数であってもよいが、結合次数よりも細部化された結合状況であってもよい。例えば、結合状況は、芳香環に含まれるかどうか、配位結合であるかどうかを含んでもよい。結合次数よりも細部化された結合状況としては、例えば、AM1−BCC(Bond Charge Correction)で定義される結合タイプが挙げられる。
AM1−BCC(Bond Charge Correction)で定義される結合タイプは、例えば、以下の文献で紹介されている。
文献:ARAZ JAKALIAN, DAVID B. JACK, CHRISTOPHER I. BAYLY, Fast, Efficient Generation of High−Quality Atomic Charges. AM1−BCC Model: II. Parameterization and Validation, J Comput Chem 23 : 1623−1641, 2002
本件で開示する技術の一例において、上記式(1)を用いて最大独立集合の探索を行う場合、グラフ化した第1材料及び第2材料のコンフリクトグラフを作成することは必須ではなく、少なくとも上記式(1)を最小化できればよい。言い換えると、本件で開示する技術の一例においては、第1材料及び第2材料のコンフリクトグラフにおける最大独立集合の探索を、最小化することが最大独立集合の探索をすることを意味するハミルトニアンにおける組み合わせ最適化問題に置き換えて解く。ここで、上記式(1)のようにQUBO形式のイジングモデル式で表されるハミルトニアンの最小化は、アニーリングマシンなどを用いて焼き鈍し法(アニーリング)を行うことにより、短時間で実行することができる。なお、焼き鈍し法の詳細については後述する。
また、本件で開示する技術の一例においては、例えば、上述した従来技術と同様に、式(2)を用いて、探索された最大独立集合に基づいて類似度を求めることができる。
Figure 2021117663
ただし、上記式(2)において、Gは、グラフ化した第1材料を表し、Gは、グラフ化した第2材料を表し、S(G,G)は、グラフ化した第1材料とグラフ化した第2材料との類似度を表し、0〜1で表され、1に近づく程、類似度が高いことを意味する。
また、Vは、グラフ化した第1材料におけるノード原子の総数を表し、V は、グラフ化した第1材料におけるノード原子の内、コンフリクトグラフの最大独立集合に含まれるノード原子の数を表す。
は、グラフ化した第2材料におけるノード原子の総数を表し、V は、グラフ化した第2材料におけるノード原子の内、コンフリクトグラフの最大独立集合に含まれるノード原子の数を表す。
なお、δは、0〜1の数である。
酢酸と酢酸メチルを例として、分子構造を読み込むことから最大独立集合を探索することまでの一例を、更に説明する。
まず、図13に示す酢酸(A)及び酢酸メチル(B)の化学構造をSDF等のファイル形式から読み込む。
次に、読み込んだ化学構造を入力として、antechamberを用いて、原子タイプ、及び結合タイプ(結合状況)を定義する。ここで、antechamberとは、AMBER Toolに含まれるモジュールである。
そうすると、酢酸(A)及び酢酸メチル(B)の原子タイプ及び結合タイプ(結合状況)は、それぞれ以下のように定義される。なお、以下の数字は、図13の分子の原子に割り当てられた数字に対応する。
(I)原子タイプ
(A) 1:c3
2:c2
3:oh
5:o
(B) 1:c3
2:c2
3:os
4:c3
5:o
(II)結合タイプ
(A) 1−2:1重結合
2−3:1重結合
2−5:2重結合
(B) 1−2:1重結合
2−3:1重結合
2−5:2重結合
3−4:1重結合
そして、原子タイプ及び結合タイプをそれぞれノードラベル及びエッジラベルとしてグラフ化すると、図14のようになる。
次に、作成したグラフを用い、図15に示すフローチャートに従って、同じ原子タイプのペアを見つけ、そのペアをコンフリフトグラフのノードとする。ここで、図15に示すフローチャートにおける符号の意味は以下のとおりである。
・ia:分子A(酢酸)の原子index
・ja:分子B(酢酸メチル)の原子index
・nA:分子A(酢酸)の全原子数
・nB:分子B(酢酸メチル)の全原子数
・at[i]:原子iの原子タイプ
その結果、図16に示す4つのペアがコンフリフトグラフのノードとなる。そして、各ノードに1ビットずつ割り当てる。
次に、異なる結合状況のノード間にエッジを作成する。
図17に、コンフリフトグラフを示した。なお、図17のコンフリフトグラフにおいて、ノード間の実線はエッジを表し、ノード間の破線はエッジが作成されていないことを表す。
そして、図18に示すフローに従って、エッジのないノード(ビット)間のweightを0とし、エッジのあるノード(ビット)間のweightを1(又は1以上の整数値)とする。
ここで、例えば、[0]−[1]に関しては、A1−A2間が1重結合であり、B1−B2間が1重結合であるため、w01は0となる。[0]−[2]に関しては、A1−A1は自分自身であり、かつB1−B4間は結合がない。即ち、[0]−[2]に関しては、互いに同一でないノード間となる。そのため、w02は1となる。[1]−[2]に関しては、A2−A1間が1重結合であり、B2−B4間は直接の結合がないため、w12は1となる。
次に、前述の式(1)を用いて、H(ハミルトニアン)を最小化するビット状態である最大独立集合の探索を行う。最大独立集合の探索は、例えば、デジタルアニーラ(登録商標)を用いて行う。
その結果、図19に示すように、x〔A1B1〕=1、x〔A2B2〕=1、x〔A1B4〕=0、x〔A5B5〕=1の時に最大独立集合をとることがわかる。そして、その際の酢酸と酢酸メチルとの最大共通部分構造は、図19のとおりとなる。
以下、装置の構成例やフローチャートなどを用いて、本件で開示する技術の一例を更に詳細に説明する。
図20に、本件で開示する類似度計算装置のハードウェア構成例を示す。
類似度計算装置10においては、例えば、制御部11、メモリ12、記憶部13、表示部14、入力部15、出力部16、及びI/Oインターフェース部17がシステムバス18を介して接続されている。
制御部11は、演算(四則演算、比較演算、焼き鈍し法の演算等)、ハードウェア及びソフトウェアの動作制御などを行う。
制御部11としては、特に制限はなく、目的に応じて適宜選択することができ、例えば、CPU(Central Processing Unit)であってもよいし、後述する焼き鈍し法に用いる最適化装置であってもよく、これらの組み合わせでもよい。
本件で開示する類似度計算装置における作成部、探索部、及び算出部は、例えば、制御部11により実現することができる。
メモリ12は、RAM(Random Access Memory)、ROM(Read Only Memory)などのメモリである。RAMは、ROM及び記憶部13から読み出されたOS(Operating System)及びアプリケーションプログラムなどを記憶し、制御部11の主メモリ及びワークエリアとして機能する。
記憶部13は、各種プログラム及びデータを記憶する装置であり、例えば、ハードディスクである。記憶部13には、制御部11が実行するプログラム、プログラム実行に必要なデータ、OSなどが格納される。
また、本件で開示するプログラムは、例えば、記憶部13に格納され、メモリ12のRAM(主メモリ)にロードされ、制御部11により実行される。
表示部14は、表示装置であり、例えば、CRTモニタ、液晶パネルなどのディスプレイ装置である。
入力部15は、各種データの入力装置であり、例えば、キーボード、ポインティングデバイス(例えば、マウス等)などである。
出力部16は、各種データの出力装置であり、例えば、プリンタなどである。
I/Oインターフェース部17は、各種の外部装置を接続するためのインターフェースである。I/Oインターフェース部17は、例えば、CD−ROM(Compact Disc Read Only Memory)、DVD−ROM(Digital Versatile Disk Read Only Memory)、MOディスク(Magneto−Optical disk)、USBメモリ〔USB(Universal Serial Bus) flash drive〕などのデータの入出力を可能にする。
図21に、本件で開示する類似度計算装置の他のハードウェア構成例を示す。
図21に示す例は、類似度計算装置をクラウド型にした場合の例であり、制御部11が、記憶部13などとは独立している。図21に示す例においては、ネットワークインターフェース部19、20を介して、記憶部13などを格納するコンピュータ30と、制御部11を格納するコンピュータ40とが接続される。
ネットワークインターフェース部19、20は、インターネットを利用して、通信を行うハードウェアである。
図22に、本件で開示する類似度計算装置の他のハードウェア構成例を示す。
図22に示す例は、類似度計算装置をクラウド型にした場合の例であり、記憶部13が、制御部11などとは独立している。図22に示す例においては、ネットワークインターフェース部19、20を介して、制御部11等を格納するコンピュータ30と、記憶部13を格納するコンピュータ40とが接続される。
図23に、本件で開示する類似度計算装置の他のハードウェア構成例を示す。
図23に示す例は、制御部11とは別に最適化装置21を有する場合の例である。また、図23に示す例は、類似度計算装置をクラウド型にした場合の例である。図23においては、最適化装置21が、制御部11、メモリ12、及び記憶部13などとは独立している。図23に示す例においては、ネットワークインターフェース部19,20を介して、制御部11等を格納するコンピュータ30と、最適化装置21を格納するコンピュータ40とが接続されている。最適化装置21は、例えば、後述する焼き鈍し法に用いる最適化装置である。
図23に示す例では、例えば、本件で開示する類似度計算装置における作成部、及び算出部は、制御部11により実現され、探索部は、最適化装置21により実現される。
図24に、本件で開示する類似度計算装置の一実施形態としての機能構成例を示す。また、図25に、本件で開示する類似度計算の一実施形態のフローチャートを示す。
図24に示すように、類似度計算装置10は、構造取得部51と、化学構造グラフ化部52と、作成部53と、探索部54と、算出部55とを備える。
構造取得部51は、入力として材料(第1材料、第2材料)の化学構造データ60をSDF等のファイル形式から読み込む(工程:S1)。
化学構造グラフ化部52は、読み込んだ化学構造データ60について、第1材料、及び第2材料のグラフ化を行う(工程:S2)。作成されたグラフにおいて、ノードを構成する原子は、例えば、図10に示すように、原子タイプによって分類分けされている。
作成部53は、作成されたグラフを用いて、コンフリフトグラフを作成する(工程:S3)。
探索部54は、コンフリフトグラフにおける最大独立集合を、焼き鈍し法を用いた基底状態探索を実行することにより探索する(工程:S4)。例えば、最適化装置であるアニーリングマシンを用いて、式(1)のハミルトニアンを最小化することで最大独立集合を探索する。
算出部55は、最大独立集合に基づいて、第1材料と第2材料との類似度を算出する(工程:S6)。例えば、式(2)から類似度が算出される。
算出された類似度は、出力される。
アニーリングマシンとしては、イジングモデルで表されるエネルギー関数について基底状態探索を行なうアニーリング方式を採用するコンピュータであれば特に制限はなく、目的に応じて適宜選択することができる。アニーリングマシンとしては、例えば、量子アニーリングマシン、半導体技術を用いた半導体アニーリングマシン、CPUやGPU(Graphics Processing Unit)を用いてソフトウェアにより実行されるシミュレーテッド・アニーリング(Simulated Annealing)を行うマシンなどが挙げられる。また、アニーリングマシンとしては、例えば、デジタルアニーラ(登録商標)を用いてもよい。
以下に、焼き鈍し法及びアニーリングマシンの一例について説明する。
焼き鈍し法は、乱数値や量子ビットの重ね合わせを用いて確率的に解を求める方法である。以下では最適化したい評価関数の値を最小化する問題を例に説明し、評価関数の値をエネルギーと呼ぶことにする。また、評価関数の値を最大化する場合は、評価関数の符号を変えればよい。
まず、各変数に離散値の1つを代入した初期状態からはじめ、現在の状態(変数の値の組み合わせ)から、それに近い状態(例えば、1つの変数だけ変化させた状態)を選び、その状態遷移を考える。その状態遷移に対するエネルギーの変化を計算し、その値に応じてその状態遷移を採択して状態を変化させるか、採択せずに元の状態を保つかを確率的に決める。エネルギーが下がる場合の採択確率をエネルギーが上がる場合より大きく選ぶと、平均的にはエネルギーが下がる方向に状態変化が起こり、時間の経過とともにより適切な状態へ状態遷移することが期待できる。このため、最終的には最適解又は最適値に近いエネルギーを与える近似解を得られる可能性がある。
もし、これを決定論的にエネルギーが下がる場合に採択とし、上がる場合に不採択とすれば、エネルギーの変化は時間に対して広義単調減少となるが、局所解に到達したらそれ以上変化が起こらなくなってしまう。上記のように離散最適化問題には非常に多数の局所解が存在するために、状態が、ほとんど確実にあまり最適値に近くない局所解に捕まってしまう。したがって、離散最適化問題を解く際には、その状態を採択するかどうかを確率的に決定することが重要である。
焼き鈍し法においては、状態遷移の採択(許容)確率を次のように決めれば、時刻(反復回数)無限大の極限で状態が最適解に到達することが証明されている。
以下では、焼き鈍し法を用いて最適解を求める方法について、順序を追って説明する。
(1)状態遷移に伴うエネルギー変化(エネルギー減少)値(−ΔE)に対して、その状態遷移の許容確率pを、次のいずれかの関数f( )により決める。
Figure 2021117663
Figure 2021117663
Figure 2021117663
ここで、Tは、温度値と呼ばれるパラメータであり、例えば、次のように変化させることができる。
(2)温度値Tを次式で表されるように反復回数tに対数的に減少させる。
Figure 2021117663
ここで、Tは、初期温度値であり問題に応じて、十分大きくとることが望ましい。
(1)の式で表される許容確率を用いた場合、十分な反復後に定常状態に達したとすると、各状態の占有確率は熱力学における熱平衡状態に対するボルツマン分布に従う。
そして、高い温度から徐々に下げていくとエネルギーの低い状態の占有確率が増加するため、十分温度が下がるとエネルギーの低い状態が得られると考えられる。この様子が、材料を焼き鈍したときの状態変化とよく似ているため、この方法は焼き鈍し法(または、疑似焼き鈍し法)と称される。なお、エネルギーが上がる状態遷移が確率的に起こることは、物理学における熱励起に相当する。
図26に焼き鈍し法を行う最適化装置の機能構成の一例を示す。ただし、下記説明では、状態遷移の候補を複数発生させる場合についても述べるが、基本的な焼き鈍し法は、遷移候補を1つずつ発生させるものである。
最適化装置100は、現在の状態S(複数の状態変数の値)を保持する状態保持部111を有する。また、最適化装置100は、複数の状態変数の値のいずれかが変化することによる現在の状態Sからの状態遷移が起こった場合における、各状態遷移のエネルギー変化値{−ΔEi}を計算するエネルギー計算部112を有する。さらに、最適化装置100は、温度値Tを制御する温度制御部113、状態変化を制御するための遷移制御部114を有する。
遷移制御部114は、温度値Tとエネルギー変化値{−ΔEi}と乱数値とに基づいて、エネルギー変化値{−ΔEi}と熱励起エネルギーとの相対関係によって複数の状態遷移のいずれかを受け入れるか否かを確率的に決定する。
ここで、遷移制御部114は、状態遷移の候補を発生する候補発生部114a、各候補に対して、そのエネルギー変化値{−ΔEi}と温度値Tとから状態遷移を許可するかどうかを確率的に決定するための可否判定部114bを有する。さらに、遷移制御部114は、可となった候補から採用される候補を決定する遷移決定部114c、及び確率変数を発生させるための乱数発生部114dを有する。
最適化装置100における、一回の反復における動作は次のようなものである。
まず、候補発生部114aは、状態保持部111に保持された現在の状態Sから次の状態への状態遷移の候補(候補番号{Ni})を1つまたは複数発生する。次に、エネルギー計算部112は、現在の状態Sと状態遷移の候補を用いて候補に挙げられた各状態遷移に対するエネルギー変化値{−ΔEi}を計算する。可否判定部114bは、温度制御部113で発生した温度値Tと乱数発生部114dで生成した確率変数(乱数値)を用い、各状態遷移のエネルギー変化値{−ΔEi}に応じて、上記(1)の式の許容確率でその状態遷移を許容する。
そして、可否判定部114bは、各状態遷移の可否{fi}を出力する。許容された状態遷移が複数ある場合には、遷移決定部114cは、乱数値を用いてランダムにそのうちの1つを選択する。そして、遷移決定部114cは、選択した状態遷移の遷移番号Nと、遷移可否fを出力する。許容された状態遷移が存在した場合、採択された状態遷移に応じて状態保持部111に記憶された状態変数の値が更新される。
初期状態から始めて、温度制御部113で温度値を下げながら上記反復を繰り返し、一定の反復回数に達する、又はエネルギーが一定の値を下回る等の終了判定条件が満たされたときに動作が終了する。最適化装置100が出力する答えは、終了時の状態である。
図27は、候補を1つずつ発生させる通常の焼き鈍し法における遷移制御部、特に可否判定部のために必要な演算部分の構成例の回路レベルのブロック図である。
遷移制御部114は、乱数発生回路114b1、セレクタ114b2、ノイズテーブル114b3、乗算器114b4、比較器114b5を有する。
セレクタ114b2は、各状態遷移の候補に対して計算されたエネルギー変化値{−ΔEi}のうち、乱数発生回路114b1が生成した乱数値である遷移番号Nに対応するものを選択して出力する。
ノイズテーブル114b3の機能については後述する。ノイズテーブル114b3として、例えば、RAM、フラッシュメモリ等のメモリを用いることができる。
乗算器114b4は、ノイズテーブル114b3が出力する値と、温度値Tとを乗算した積(前述した熱励起エネルギーに相当する)を出力する。
比較器114b5は、乗算器114b4が出力した乗算結果と、セレクタ114b2が選択したエネルギー変化値である−ΔEとを比較した比較結果を遷移可否fとして出力する。
図27に示されている遷移制御部114は、基本的に前述した機能をそのまま実装するものであるが、(1)の式で表される許容確率で状態遷移を許容するメカニズムについて、更に詳細に説明する。
許容確率pで1を、(1−p)で0を出力する回路は、2つの入力A,Bを持ち、A>Bのとき1を出力し、A<Bのとき0を出力する比較器の入力Aに許容確率pを、入力Bに区間[0,1)の値をとる一様乱数を入力することで実現することができる。したがって、この比較器の入力Aに、エネルギー変化値と温度値Tにより(1)の式を用いて計算される許容確率pの値を入力すれば、上記の機能を実現することができる。
すなわち、fを(1)の式で用いる関数、uを区間[0,1)の値をとる一様乱数とするとき、f(ΔE/T)がuより大きいとき1を出力する回路により、上記の機能を実現できる。
また、次のような変形を行っても、上記の機能と同じ機能が実現できる。
2つの数に同じ単調増加関数を作用させても大小関係は変化しない。したがって、比較器の2つの入力に同じ単調増加関数を作用させても出力は変わらない。この単調増加関数として、fの逆関数f−1を採用すると、−ΔE/Tがf−1(u)より大きいとき1を出力する回路とすることができることがわかる。さらに、温度値Tが正であることから、−ΔEがTf−1(u)より大きいとき1を出力する回路でよいことがわかる。
図27中のノイズテーブル114b3はこの逆関数f−1(u)を実現するための変換テーブルであり、区間[0,1)を離散化した入力に対して次の関数の値を出力するテーブルである。
Figure 2021117663
Figure 2021117663
遷移制御部114には、判定結果等を保持するラッチやそのタイミングを発生するステートマシン等も存在するが、図27では図示を簡単にするため省略されている。
図28は、遷移制御部114の動作フローの一例を示す図である。図28に示す動作フローは、1つの状態遷移を候補として選ぶステップ(S0001)、その状態遷移に対するエネルギー変化値と温度値と乱数値の積の比較で状態遷移の可否を決定するステップ(S0002)、状態遷移が可ならばその状態遷移を採用し、否ならば不採用とするステップ(S0003)を有する。
本件で開示するプログラムは、例えば、本件で開示する類似度計算方法をコンピュータに実行させるプログラムとすることができる。また、本件で開示するプログラムにおける好適な態様は、例えば、本件で開示する類似度計算方法における好適な態様と同様にすることができる。
本件で開示するプログラムは、使用するコンピュータシステムの構成及びオペレーティングシステムの種類・バージョンなどに応じて、公知の各種のプログラム言語を用いて作成することができる。
本件で開示するプログラムは、内蔵ハードディスク、外付けハードディスクなどの記録媒体に記録しておいてもよいし、CD−ROM、DVD−ROM、MOディスク、USBメモリなどの記録媒体に記録しておいてもよい。
さらに、本件で開示するプログラムを、上記の記録媒体に記録する場合には、必要に応じて、コンピュータシステムが有する記録媒体読取装置を通じて、これを直接又はハードディスクにインストールして使用することができる。また、コンピュータシステムから情報通信ネットワークを通じてアクセス可能な外部記憶領域(他のコンピュータなど)に本件で開示するプログラムを記録しておいてもよい。この場合、外部記憶領域に記録された本件で開示するプログラムは、必要に応じて、外部記憶領域から情報通信ネットワークを通じてこれを直接、又はハードディスクにインストールして使用することができる。
なお、本件で開示するプログラムは、複数の記録媒体に、任意の処理毎に分割されて記録されていてもよい。
(記録媒体)
本件で開示する記録媒体は、本件で開示するプログラムを記録してなる。
本件で開示する記録媒体は、コンピュータが読み取り可能である。
本件で開示する記録媒体としては、特に制限はなく、目的に応じて適宜選択することができ、例えば、内蔵ハードディスク、外付けハードディスク、CD−ROM、DVD−ROM、MOディスク、USBメモリなどが挙げられる。
また、本件で開示する記録媒体は、本件で開示するプログラムが任意の処理毎に分割されて記録された複数の記録媒体であってもよい。
本件で開示する記録媒体は、一過性であってもよいし、非一過性であってもよい。
<計算例>
本件で開示する類似度計算装置の一計算例として、リナロールと香料分子との類似度計算を行った。
リナロールとは図29に示す化学構造を有し、シトラスの香りを持つ。
香料分子として、食品衛生法施行規則別表第1に記載された分子のうち、The Good Scents Company Information System(http://www.thegoodscentscompany.com/index.html)で香りが登録されている132分子を用いた。
<<従来例>>
図25に示すフローに従って、類似度の計算を行った。
入力として香料分子の化学構造データをSDFのファイル形式から読み込んだ(工程:S1)。
読み込んだ化学構造データについて、グラフ化を行った(工程:S2)。作成されたグラフにおいて、ノードを構成する原子は、元素種によって分類分けされている。
作成されたグラフを用いて、コンフリフトグラフを作成した(工程:S3)。ここで、コンフリフトグラフを作成する際、2つの分子間の同じ元素種である2つの原子の組み合わせから、コンフリフトグラフのノードを作成した。
コンフリフトグラフにおける最大独立集合を、焼き鈍し法を用いた基底状態探索を実行することにより探索した(工程:S4)。ここでは、最適化装置であるアニーリングマシンを用いて、式(1)のハミルトニアンを最小化することで最大独立集合を探索した。
最大独立集合に基づいて、類似度を算出した(工程:S6)。ここでは、式(2)から類似度を算出した。
従来例においては、リナロールとテルピネオールとのコンフリフトグラフを作成した場合、ノードが101つ作成された。即ち、図30に示すように、最大独立集合の探索には、101ビットを要した。
また、132分子の一部について、従来例によりリナロールとの類似度を計算した結果を、表1に示す。
Figure 2021117663
<<実施例>>
図25に示すフローに従って、類似度の計算を行った。
入力として香料分子の化学構造データをSDFのファイル形式から読み込んだ(工程:S1)。
読み込んだ化学構造データについて、グラフ化を行った(工程:S2)。作成されたグラフにおいて、ノードを構成する原子は、GAFF(General AMBER Force Field)の原子タイプによって分類分けされている。
作成されたグラフを用いて、コンフリフトグラフを作成した(工程:S3)。ここで、コンフリフトグラフを作成する際、2つの分子間のGAFFの原子タイプが同じである2つの原子の組み合わせから、コンフリフトグラフのノードを作成した。
コンフリフトグラフにおける最大独立集合を、焼き鈍し法を用いた基底状態探索を実行することにより探索した(工程:S4)。ここでは、最適化装置であるアニーリングマシンを用いて、式(1)のハミルトニアンを最小化することで最大独立集合を探索した。
最大独立集合に基づいて、類似度を算出した(工程:S6)。ここでは、式(2)から類似度を算出した。
実施例においては、リナロールとテルピネオールとのコンフリフトグラフを作成した場合、ノードが57つ作成された。即ち、図31に示すように、最大独立集合の探索には、57ビットを要した。
また、132分子の一部について、実施例によりリナロールとの類似度を計算した結果を、表2に示す。
Figure 2021117663
表1及び表2を比較すると、実施例では、シトラス系ではないメントールの類似度が、従来例で算出される類似度よりも低い値を示した。即ち、実施例の方が、従来例よりも、類似度の精度が高かった。この違いは、実施例の方法では、以下の2つの構造における部分構造(HC−CH)と部分構造(HC−CH)とが同一に扱われない一方で、従来例では、以下の2つの構造における部分構造(HC−CH)と部分構造(HC−CH)とが同一に扱われるためと考えられる。
Figure 2021117663
以上の実施形態に関し、更に以下の付記を開示する。
(付記1)
第1材料と第2材料との類似度を計算する類似度計算装置であって、
前記第1材料を構成する各原子及び前記第2材料を構成する各原子の組み合わせからなる複数のノードと、前記複数のノードの内の2つのノードの間に形成されたエッジとを有するグラフであって、2つのノードどうしを比較して互いに同一でないノード間にはエッジを有し、2つのノードどうしを比較して互いに同一であるノード間にはエッジを有しないコンフリフトグラフを作成する作成部と、
前記コンフリフトグラフにおける最大独立集合を、焼き鈍し法を用いた基底状態探索を実行することにより探索する探索部と、
前記最大独立集合に基づいて、前記第1材料と前記第2材料との類似度を算出する算出部と、
を有し、
前記コンフリフトグラフの前記複数のノードが、前記第1材料及び前記第2材料の間の、元素種よりも細分化された原子タイプが同じである2つの原子の組み合わせからなる、ことを特徴とする類似度計算装置。
(付記2)
前記原子タイプに、原子の最外殻電子の混成軌道の種類、芳香族性の種類、及び化学的環境の種類の少なくとも一つが含まれる付記1に記載の類似度計算装置。
(付記3)
前記コンフリフトグラフの前記複数のノードが、前記第1材料及び前記第2材料の間の、前記原子タイプ及び結合タイプが同じである2つの原子の組み合わせからなることを特徴とする付記1又は2に記載の類似度計算装置。
(付記4)
前記結合タイプに、芳香環に含まれるかどうか、配位結合であるかどうかの少なくとも一つが含まれる付記3に記載の類似度計算装置。
(付記5)
前記探索部が、下記式(1)を用いて、前記第1材料及び前記第2材料の分子構造に基づく前記最大独立集合の探索をする付記1から4のいずれかに記載の類似度計算装置。
Figure 2021117663
ただし、前記式(1)において、
前記Hは、当該Hを最小化することが前記最大独立集合の探索をすることを意味するハミルトニアンであり、
前記nは、グラフ化した前記第1材料及び前記第2材料の前記コンフリクトグラフにおけるノードの数として理解されるものであり、
前記biは、i番目の前記ノードに対するバイアスを表す数値であり、
前記wijは、
前記i番目の前記ノードと前記j番目の前記ノードとの間にエッジが存在するときは、0ではない正の数であり、
前記i番目の前記ノードと前記j番目の前記ノードとの間にエッジが存在しないときは、0であり、
前記xiは、i番目の前記ノードが0又は1であることを表すバイナリ変数であり、
前記xjは、j番目の前記ノードが0又は1であることを表すバイナリ変数であり、
前記α及び前記βは、正の数である。
(付記6)
前記算出部が、下記式(2)を用いて、探索された前記最大独立集合に基づいて前記類似度を求める付記1から5のいずれかに記載の類似度計算装置。
Figure 2021117663
ただし、前記式(2)において、
前記Gは、グラフ化した前記第1材料を表し、
前記Gは、グラフ化した前記第2材料を表し、
前記S(G,G)は、グラフ化した前記第1材料とグラフ化した前記第2材料との類似度を表し、0〜1で表され、1に近づく程、類似度が高いことを意味し、
前記Vは、グラフ化した前記第1材料におけるノード原子の総数を表し、
前記V は、グラフ化した前記第1材料における前記ノード原子の内、前記コンフリクトグラフの最大独立集合に含まれる前記ノード原子の数を表し、
前記Vは、グラフ化した前記第2材料におけるノード原子の総数を表し、
前記V は、グラフ化した前記第2材料における前記ノード原子の内、前記コンフリクトグラフの最大独立集合に含まれる前記ノード原子の数を表し、
前記δは、0〜1の数である。
(付記7)
第1材料と第2材料との類似度を計算する類似度計算方法であって、
前記第1材料を構成する各原子及び前記第2材料を構成する各原子の組み合わせからなる複数のノードと、前記複数のノードの内の2つのノードの間に形成されたエッジとを有するグラフであって、2つのノードどうしを比較して互いに同一でないノード間にはエッジを有し、2つのノードどうしを比較して互いに同一であるノード間にはエッジを有しないコンフリフトグラフを作成する作成工程と、
前記コンフリフトグラフにおける最大独立集合を、焼き鈍し法を用いた基底状態探索を実行することにより探索する探索工程と、
前記最大独立集合に基づいて、前記第1材料と前記第2材料との類似度を算出する算出工程と、
を含み、
前記コンフリフトグラフの前記複数のノードが、前記第1材料及び前記第2材料の間の、元素種よりも細分化された原子タイプが同じである2つの原子の組み合わせからなる、ことを特徴とする類似度計算方法。
(付記8)
前記原子タイプに、原子の最外殻電子の混成軌道の種類、芳香族性の種類、及び化学的環境の種類の少なくとも一つが含まれる付記7に記載の類似度計算方法。
(付記9)
前記コンフリフトグラフの前記複数のノードが、前記第1材料及び前記第2材料の間の、前記原子タイプ及び結合タイプが同じである2つの原子の組み合わせからなる付記7又は8に記載の類似度計算方法。
(付記10)
前記結合タイプに、芳香環に含まれるかどうか、配位結合であるかどうかの少なくとも一つが含まれる付記9に記載の類似度計算方法。
(付記11)
前記探索工程が、下記式(1)を用いて、前記第1材料及び前記第2材料の分子構造に基づく前記最大独立集合の探索をする付記7から10のいずれかに記載の類似度計算方法。
Figure 2021117663
ただし、前記式(1)において、
前記Hは、当該Hを最小化することが前記最大独立集合の探索をすることを意味するハミルトニアンであり、
前記nは、グラフ化した前記第1材料及び前記第2材料の前記コンフリクトグラフにおけるノードの数として理解されるものであり、
前記biは、i番目の前記ノードに対するバイアスを表す数値であり、
前記wijは、
前記i番目の前記ノードと前記j番目の前記ノードとの間にエッジが存在するときは、0ではない正の数であり、
前記i番目の前記ノードと前記j番目の前記ノードとの間にエッジが存在しないときは、0であり、
前記xiは、i番目の前記ノードが0又は1であることを表すバイナリ変数であり、
前記xjは、j番目の前記ノードが0又は1であることを表すバイナリ変数であり、
前記α及び前記βは、正の数である。
(付記12)
前記算出工程が、下記式(2)を用いて、探索された前記最大独立集合に基づいて前記類似度を求める付記7から11のいずれかに記載の類似度計算方法。
Figure 2021117663
ただし、前記式(2)において、
前記Gは、グラフ化した前記第1材料を表し、
前記Gは、グラフ化した前記第2材料を表し、
前記S(G,G)は、グラフ化した前記第1材料とグラフ化した前記第2材料との類似度を表し、0〜1で表され、1に近づく程、類似度が高いことを意味し、
前記Vは、グラフ化した前記第1材料におけるノード原子の総数を表し、
前記V は、グラフ化した前記第1材料における前記ノード原子の内、前記コンフリクトグラフの最大独立集合に含まれる前記ノード原子の数を表し、
前記Vは、グラフ化した前記第2材料におけるノード原子の総数を表し、
前記V は、グラフ化した前記第2材料における前記ノード原子の内、前記コンフリクトグラフの最大独立集合に含まれる前記ノード原子の数を表し、
前記δは、0〜1の数である。
(付記13)
第1材料を構成する各原子及び第2材料を構成する各原子の組み合わせからなる複数のノードと、前記複数のノードの内の2つのノードの間に形成されたエッジとを有するグラフであって、2つのノードどうしを比較して互いに同一でないノード間にはエッジを有し、2つのノードどうしを比較して互いに同一であるノード間にはエッジを有しないコンフリフトグラフを作成する作成工程をコンピュータに行わせることを含み、
前記コンフリフトグラフの前記複数のノードが、前記第1材料及び前記第2材料の間の、元素種よりも細分化された原子タイプが同じである2つの原子の組み合わせからなる、ことを特徴とするプログラム。
(付記14)
前記コンフリフトグラフにおける最大独立集合を、焼き鈍し法を用いた基底状態探索を実行することにより探索する探索工程を前記コンピュータに行わせることを含み、
前記最大独立集合に基づいて、前記第1材料と前記第2材料との類似度を算出する算出工程を前記コンピュータに行わせることを含む、付記13に記載のプログラム。
(付記15)
前記原子タイプに、原子の最外殻電子の混成軌道の種類、芳香族性の種類、及び化学的環境の種類の少なくとも一つが含まれる付記13又は14に記載のプログラム。
(付記16)
前記コンフリフトグラフの前記複数のノードが、前記第1材料及び前記第2材料の間の、前記原子タイプ及び結合タイプが同じである2つの原子の組み合わせからなる付記13から15のいずれかに記載のプログラム。
(付記17)
前記結合タイプに、芳香環に含まれるかどうか、配位結合であるかどうかの少なくとも一つが含まれる付記16に記載のプログラム。
(付記18)
前記探索工程が、下記式(1)を用いて、前記第1材料及び前記第2材料の分子構造に基づく前記最大独立集合の探索をする付記14から17のいずれかに記載のプログラム。
Figure 2021117663
ただし、前記式(1)において、
前記Hは、当該Hを最小化することが前記最大独立集合の探索をすることを意味するハミルトニアンであり、
前記nは、グラフ化した前記第1材料及び前記第2材料の前記コンフリクトグラフにおけるノードの数として理解されるものであり、
前記biは、i番目の前記ノードに対するバイアスを表す数値であり、
前記wijは、
前記i番目の前記ノードと前記j番目の前記ノードとの間にエッジが存在するときは、0ではない正の数であり、
前記i番目の前記ノードと前記j番目の前記ノードとの間にエッジが存在しないときは、0であり、
前記xiは、i番目の前記ノードが0又は1であることを表すバイナリ変数であり、
前記xjは、j番目の前記ノードが0又は1であることを表すバイナリ変数であり、
前記α及び前記βは、正の数である。
(付記19)
前記算出工程が、下記式(2)を用いて、探索された前記最大独立集合に基づいて前記類似度を求める付記14から18のいずれかに記載のプログラム。
Figure 2021117663
ただし、前記式(2)において、
前記Gは、グラフ化した前記第1材料を表し、
前記Gは、グラフ化した前記第2材料を表し、
前記S(G,G)は、グラフ化した前記第1材料とグラフ化した前記第2材料との類似度を表し、0〜1で表され、1に近づく程、類似度が高いことを意味し、
前記Vは、グラフ化した前記第1材料におけるノード原子の総数を表し、
前記V は、グラフ化した前記第1材料における前記ノード原子の内、前記コンフリクトグラフの最大独立集合に含まれる前記ノード原子の数を表し、
前記Vは、グラフ化した前記第2材料におけるノード原子の総数を表し、
前記V は、グラフ化した前記第2材料における前記ノード原子の内、前記コンフリクトグラフの最大独立集合に含まれる前記ノード原子の数を表し、
前記δは、0〜1の数である。
10 類似度計算装置
11 制御部
12 メモリ
13 記憶部
14 表示部
15 入力部
16 出力部
17 I/Oインターフェース部
18 システムバス
19 ネットワークインターフェース部
20 ネットワークインターフェース部
21 最適化装置
30 コンピュータ
40 コンピュータ
51 構造取得部
52 化学構造グラフ化部
53 作成部
54 探索部
55 算出部
60 化学構造データ

Claims (8)

  1. 第1材料と第2材料との類似度を計算する類似度計算装置であって、
    前記第1材料を構成する各原子及び前記第2材料を構成する各原子の組み合わせからなる複数のノードと、前記複数のノードの内の2つのノードの間に形成されたエッジとを有するグラフであって、2つのノードどうしを比較して互いに同一でないノード間にはエッジを有し、2つのノードどうしを比較して互いに同一であるノード間にはエッジを有しないコンフリフトグラフを作成する作成部と、
    前記コンフリフトグラフにおける最大独立集合を、焼き鈍し法を用いた基底状態探索を実行することにより探索する探索部と、
    前記最大独立集合に基づいて、前記第1材料と前記第2材料との類似度を算出する算出部と、
    を有し、
    前記コンフリフトグラフの前記複数のノードが、前記第1材料及び前記第2材料の間の、元素種よりも細分化された原子タイプが同じである2つの原子の組み合わせからなる、ことを特徴とする類似度計算装置。
  2. 前記原子タイプに、原子の最外殻電子の混成軌道の種類、芳香族性の種類、及び化学的環境の種類の少なくとも一つが含まれる請求項1に記載の類似度計算装置。
  3. 前記コンフリフトグラフの前記複数のノードが、前記第1材料及び前記第2材料の間の、前記原子タイプ及び結合タイプが同じである2つの原子の組み合わせからなる請求項1又は2に記載の類似度計算装置。
  4. 前記結合タイプに、芳香環に含まれるかどうか、配位結合であるかどうかの少なくとも一つが含まれる請求項3に記載の類似度計算装置。
  5. 前記探索部が、下記式(1)を用いて、前記第1材料及び前記第2材料の分子構造に基づく前記最大独立集合の探索をする請求項1乃至4のいずれかに記載の類似度計算装置。
    Figure 2021117663
    ただし、前記式(1)において、
    前記Hは、当該Hを最小化することが前記最大独立集合の探索をすることを意味するハミルトニアンであり、
    前記nは、グラフ化した前記第1材料及び前記第2材料の前記コンフリクトグラフにおけるノードの数として理解されるものであり、
    前記biは、i番目の前記ノードに対するバイアスを表す数値であり、
    前記wijは、
    前記i番目の前記ノードと前記j番目の前記ノードとの間にエッジが存在するときは、0ではない正の数であり、
    前記i番目の前記ノードと前記j番目の前記ノードとの間にエッジが存在しないときは、0であり、
    前記xiは、i番目の前記ノードが0又は1であることを表すバイナリ変数であり、
    前記xjは、j番目の前記ノードが0又は1であることを表すバイナリ変数であり、
    前記α及び前記βは、正の数である。
  6. 前記算出部が、下記式(2)を用いて、探索された前記最大独立集合に基づいて前記類似度を求める請求項1から5のいずれかに記載の類似度計算装置。
    Figure 2021117663
    ただし、前記式(2)において、
    前記Gは、グラフ化した前記第1材料を表し、
    前記Gは、グラフ化した前記第2材料を表し、
    前記S(G,G)は、グラフ化した前記第1材料とグラフ化した前記第2材料との類似度を表し、0〜1で表され、1に近づく程、類似度が高いことを意味し、
    前記Vは、グラフ化した前記第1材料におけるノード原子の総数を表し、
    前記V は、グラフ化した前記第1材料における前記ノード原子の内、前記コンフリクトグラフの最大独立集合に含まれる前記ノード原子の数を表し、
    前記Vは、グラフ化した前記第2材料におけるノード原子の総数を表し、
    前記V は、グラフ化した前記第2材料における前記ノード原子の内、前記コンフリクトグラフの最大独立集合に含まれる前記ノード原子の数を表し、
    前記δは、0〜1の数である。
  7. 第1材料と第2材料との類似度を計算する類似度計算方法であって、
    前記第1材料を構成する各原子及び前記第2材料を構成する各原子の組み合わせからなる複数のノードと、前記複数のノードの内の2つのノードの間に形成されたエッジとを有するグラフであって、2つのノードどうしを比較して互いに同一でないノード間にはエッジを有し、2つのノードどうしを比較して互いに同一であるノード間にはエッジを有しないコンフリフトグラフを作成する作成工程と、
    前記コンフリフトグラフにおける最大独立集合を、焼き鈍し法を用いた基底状態探索を実行することにより探索する探索工程と、
    前記最大独立集合に基づいて、前記第1材料と前記第2材料との類似度を算出する算出工程と、
    を含み、
    前記コンフリフトグラフの前記複数のノードが、前記第1材料及び前記第2材料の間の、元素種よりも細分化された原子タイプが同じである2つの原子の組み合わせからなる、ことを特徴とする類似度計算方法。
  8. 第1材料を構成する各原子及び第2材料を構成する各原子の組み合わせからなる複数のノードと、前記複数のノードの内の2つのノードの間に形成されたエッジとを有するグラフであって、2つのノードどうしを比較して互いに同一でないノード間にはエッジを有し、2つのノードどうしを比較して互いに同一であるノード間にはエッジを有しないコンフリフトグラフを作成する作成工程をコンピュータに行わせることを含み、
    前記コンフリフトグラフの前記複数のノードが、前記第1材料及び前記第2材料の間の、元素種よりも細分化された原子タイプが同じである2つの原子の組み合わせからなる、ことを特徴とするプログラム。
JP2020009953A 2020-01-24 2020-01-24 類似度計算装置、類似度計算方法、及びプログラム Pending JP2021117663A (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP2020009953A JP2021117663A (ja) 2020-01-24 2020-01-24 類似度計算装置、類似度計算方法、及びプログラム
EP20205387.2A EP3855445A1 (en) 2020-01-24 2020-11-03 Similarity calculation device, similarity calculation method, and program
US17/090,945 US20210232728A1 (en) 2020-01-24 2020-11-06 Similarity calculation device, similarity calculation method, and computer-readable recording medium recording program
CN202011308867.5A CN113177568A (zh) 2020-01-24 2020-11-20 相似度计算装置、相似度计算方法和记录程序的记录介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2020009953A JP2021117663A (ja) 2020-01-24 2020-01-24 類似度計算装置、類似度計算方法、及びプログラム

Publications (1)

Publication Number Publication Date
JP2021117663A true JP2021117663A (ja) 2021-08-10

Family

ID=73059535

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2020009953A Pending JP2021117663A (ja) 2020-01-24 2020-01-24 類似度計算装置、類似度計算方法、及びプログラム

Country Status (4)

Country Link
US (1) US20210232728A1 (ja)
EP (1) EP3855445A1 (ja)
JP (1) JP2021117663A (ja)
CN (1) CN113177568A (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117828374B (zh) * 2024-03-06 2024-05-07 北京玻色量子科技有限公司 基于光量子计算机的分子相似性计算方法和装置

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030009298A1 (en) * 2001-03-23 2003-01-09 International Business Machines Corporation Field-based similarity search system and method
US7346614B2 (en) * 2001-10-17 2008-03-18 Japan Science And Technology Corporation Information searching method, information searching program, and computer-readable recording medium on which information searching program is recorded
CN104750761B (zh) * 2013-12-31 2018-06-22 上海致化化学科技有限公司 分子结构数据库的建立方法及搜索方法
KR102085412B1 (ko) * 2015-03-24 2020-03-05 킨디 인코포레이티드 인지 메모리 그래프 인덱싱, 저장 및 검색 기법

Also Published As

Publication number Publication date
US20210232728A1 (en) 2021-07-29
CN113177568A (zh) 2021-07-27
EP3855445A1 (en) 2021-07-28

Similar Documents

Publication Publication Date Title
JP2020194488A (ja) 材料特性予測装置、材料特性予測方法、及び材料特性予測プログラム
Zhou et al. Optimization of molecules via deep reinforcement learning
Blaschke et al. Memory-assisted reinforcement learning for diverse molecular de novo design
Asif et al. Identifying disease genes using machine learning and gene functional similarities, assessed through Gene Ontology
Myszkowski et al. Hybrid ant colony optimization in solving multi-skill resource-constrained project scheduling problem
Lee et al. Random permutations fix a worst case for cyclic coordinate descent
JP7392668B2 (ja) データ処理方法および電子機器
Morrissey et al. Inferring the time-invariant topology of a nonlinear sparse gene regulatory network using fully Bayesian spline autoregression
Palmer et al. Calibration after bootstrap for accurate uncertainty quantification in regression models
Jain et al. HDSI: High dimensional selection with interactions algorithm on feature selection and testing
Hirt et al. An end-to-end process model for supervised machine learning classification: from problem to deployment in information systems
Zhang et al. Traveling salesman problems with profits and stochastic customers
Bernard et al. Discovering customer journeys from evidence: a genetic approach inspired by process mining
JP2021117663A (ja) 類似度計算装置、類似度計算方法、及びプログラム
US11308128B2 (en) Refining classification results based on glossary relationships
JP2022150078A (ja) 情報処理プログラム、情報処理装置、及び情報処理方法
Kitson et al. The impact of variable ordering on Bayesian Network Structure Learning
JP2014115685A (ja) プロファイル解析装置及び方法及びプログラム
JP5555238B2 (ja) ベイジアンネットワーク構造学習のための情報処理装置及びプログラム
Glassen et al. Finding the mean in a partition distribution
İlhan Mobile device based test tool for optimization algorithms
Wang et al. A multi-objective genetic programming approach to uncover explicit and implicit equations from data
Ran et al. A two-level global optimization method based on hybrid metamodel for expensive problems
Briguglio et al. Interpreting Machine Learning Malware Detectors Which Leverage N-gram Analysis
Jia et al. Accurate determination of causalities in gene regulatory networks by dissecting downstream target genes

Legal Events

Date Code Title Description
RD03 Notification of appointment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7423

Effective date: 20220601

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20220908

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20230926

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20240319