(57)【要約】      （修正有）【課題】複数の分子による構造を探索することができる構造探索装置を提供する。【解決手段】構造探索装置１０は、複数の分子に含まれる構成単位の数と、複数の分子に含まれる分子の数と、に基づいて算出される数の位置ビットを、複数の分子に含まれる個々の分子における個々の構成単位毎に用意する。一の分子における個々の構成単位毎に用意された位置ビットに１つ存在するという制約と、位置ビット間において、同じ位置の位置ビットには、複数の分子の内のいずれかにおける構成単位は１つ存在するか又は存在しないという制約と、を含むコスト関数に基づき、相互作用を持つ複数の分子による構造を探索する構造探索部５０を備える。【選択図】図１３
2020194487.tif 000002
【特許請求の範囲】
【請求項１】
相互作用を持つ複数の分子による構造を探索する構造探索装置であって、
前記複数の分子に含まれる構成単位の数と、前記複数の分子に含まれる分子の数と、に基づいて算出される数の位置ビットを、前記複数の分子に含まれる個々の分子における個々の前記構成単位毎に用意し、
（Ａ−１）前記複数の分子に含まれる一の分子における個々の前記構成単位が隣接して存在する位置ビットに与える負の相互作用と、
（Ａ−２）前記複数の分子に含まれる他の分子における前記構成単位が隣接して存在する位置ビットに与える、前記分子の相互間における本来の相互作用と、
（Ｂ−１）前記一の分子における個々の前記構成単位毎に用意された前記位置ビットにおいて、前記一の分子における個々の前記構成単位は、前記一の分子における個々の前記構成単位毎に用意された前記位置ビットに１つ存在するという制約と、
（Ｂ−２）前記複数の分子における個々の前記構成単位毎に用意された前記位置ビット間において、同じ位置の前記位置ビットには、前記複数の分子の内のいずれかにおける前記構成単位は１つ存在するか又は存在しないという制約と、
を含むコスト関数に基づき、相互作用を持つ前記複数の分子による構造を探索する構造探索部を備えることを特徴とする構造探索装置。
【請求項２】
前記位置ビットに前記構成単位が存在するときを１とし、前記位置ビットに前記構成単位が存在しないときを０とすると、
前記構造探索部が、前記（Ｂ−１）において、前記一の分子における個々の前記構成単位に用意された前記位置ビットの和が１でないときに、前記コスト関数に対して正のコストを与える、請求項１に記載の構造探索装置。
【請求項３】
前記位置ビットに前記構成単位が存在するときを１とし、前記位置ビットに前記構成単位が存在しないときを０とすると、
前記構造探索部が、前記（Ｂ−２）において、前記複数の分子における個々の前記構成単位に用意された前記位置ビットどうしの間において、同じ位置の前記位置ビットの和が０又は１ではないときに、前記コスト関数に対して正のコストを与える、請求項１又は２に記載の構造探索装置。
【請求項４】
前記負の相互作用及び前記本来の相互作用が、次の不等式、
前記負の相互作用  ＜  前記本来の相互作用、
を満たす、請求項１から３のいずれかに記載の構造探索装置。
【請求項５】
前記本来の相互作用が、
前記一の分子における前記構成単位と、前記他の分子における前記構成単位とが同じである場合の、前記一の分子における前記構成単位と前記他の分子における前記構成単位との相互作用αと、
前記一の分子における前記構成単位と、前記他の分子における前記構成単位とが異なる場合の、前記一の分子における前記構成単位と前記他の分子における前記構成単位との相互作用βとが異なるようにして与えられる、請求項１から４のいずれかに記載の構造探索装置。
【請求項６】
前記構造探索部が、下記式（１）で表される前記コスト関数に基づき、前記複数の分子による構造を探索する、請求項１から５のいずれかに記載の構造探索装置。
【数１】
2020194487.tif 000015
ただし、前記式（１）において、
前記Ｅは、前記コスト関数であり、
前記Ｎは、前記分子の数であり、
前記Ｎｉは、前記分子の番号であり、
前記ｎは、前記一の分子における前記構成単位の番号であり、
前記Ｎｐは、個々の前記分子における個々の前記構成単位毎に用意した前記位置ビットにおける、隣接する前記位置ビットの数であり、
前記ｉｐは、個々の前記分子における個々の前記構成単位毎に用意した前記位置ビットにおける、隣接する前記位置ビットの番号であり、
前記ｖは、前記負の相互作用の大きさを表す数値であり、
前記ｘｍは、ｍ番目の前記位置ビットが０又は１であることを表すバイナリ変数であり、
前記ｎＮｉは、前記一の分子における前記構成単位の数であり、
前記Ｅｐａｉｒは、前記本来の相互作用の大きさを表す数値であり、
前記ｐ１及び前記ｐ２は、正の数であり、
前記Ｍは、前記構成単位の総数であり、
前記ｔは、個々の前記分子における個々の前記構成単位毎に用意した前記位置ビットの数であり、
前記ｉは、個々の前記分子における個々の前記構成単位毎に用意した前記位置ビットの番号である。
【請求項７】
前記構造探索部が、前記式（１）を、下記式（２）で表されるイジングモデルに変換した前記コスト関数に基づき、前記複数の分子による構造を探索する、請求項６に記載の構造探索装置。
【数２】
2020194487.tif 000016
ただし、前記式（２）において、
前記ｗijは、ｉ番目の前記位置ビットとｊ番目の前記位置ビットの間の重み付けのための係数であり、
前記ｂｉは、ｉ番目の前記位置ビットに対するバイアスを表す数値であり、
前記ｘiは、ｉ番目の前記位置ビットが０又は１であることを表すバイナリ変数であり、
前記ｘjは、ｊ番目の前記位置ビットが０又は１であることを表すバイナリ変数である。
【請求項８】
前記構造探索部が、焼き鈍し法により前記コスト関数を安定化することにより、前記複数の分子による構造を探索する、請求項１から７のいずれかに記載の構造探索装置。
【請求項９】
前記構成単位が、原子群又は原子である、請求項１から８のいずれかに記載の構造探索装置。
【請求項１０】
前記位置ビットが格子状に位置する、請求項１から９のいずれかに記載の構造探索装置。
【請求項１１】
前記位置ビットに周期境界条件が課せられている、請求項１から１０のいずれかに記載の構造探索装置。
【請求項１２】
前記構造探索部が、乱数を用いて前記位置ビットを遷移させながら、温度を一の温度よりも高い温度から前記一の温度にかけて降温することを複数回繰り返して平均化することにより、前記複数の分子の前記一の温度における構造を探索する、請求項１から１１のいずれかに記載の構造探索装置。
【請求項１３】
前記構造探索部が、レプリカ交換法により、一の温度を一定時間保持した計算を行って平均化することにより、前記複数の分子の前記一の温度における構造を探索する、請求項１から１１のいずれかに記載の構造探索装置。
【請求項１４】
前記構造探索部が、焼き鈍し法により前記コスト関数を最小化することにより、相互作用を持つ前記複数の分子による構造を探索する、請求項１から１１のいずれかに記載の構造探索装置。
【請求項１５】
相互作用を持つ複数の分子による構造を探索する構造探索方法であって、
前記複数の分子に含まれる構成単位の数と、前記複数の分子に含まれる分子の数と、に基づいて算出される数の位置ビットを、前記複数の分子に含まれる個々の分子における個々の前記構成単位毎に用意し、
（Ａ−１）前記複数の分子に含まれる一の分子における個々の前記構成単位が隣接して存在する位置ビットに与える負の相互作用と、
（Ａ−２）前記複数の分子に含まれる他の分子における前記構成単位が隣接して存在する位置ビットに与える、前記分子の相互間における本来の相互作用と、
（Ｂ−１）前記一の分子における個々の前記構成単位毎に用意された前記位置ビットにおいて、前記一の分子における個々の前記構成単位は、前記一の分子における個々の前記構成単位毎に用意された前記位置ビットに１つ存在するという制約と、
（Ｂ−２）前記複数の分子における個々の前記構成単位毎に用意された前記位置ビット間において、同じ位置の前記位置ビットには、前記複数の分子の内のいずれかにおける前記構成単位は１つ存在するか又は存在しないという制約と、
を含むコスト関数に基づき、相互作用を持つ前記複数の分子による構造を探索する構造探索工程を含むことを特徴とする構造探索方法。
【請求項１６】
相互作用を持つ複数の分子による構造を探索する構造探索プログラムであって、
前記複数の分子に含まれる構成単位の数と、前記複数の分子に含まれる分子の数と、に基づいて算出される数の位置ビットを、前記複数の分子に含まれる個々の分子における個々の前記構成単位毎に用意し、
（Ａ−１）前記複数の分子に含まれる一の分子における個々の前記構成単位が隣接して存在する位置ビットに与える負の相互作用と、
（Ａ−２）前記複数の分子に含まれる他の分子における前記構成単位が隣接して存在する位置ビットに与える、前記分子の相互間における本来の相互作用と、
（Ｂ−１）前記一の分子における個々の前記構成単位毎に用意された前記位置ビットにおいて、前記一の分子における個々の前記構成単位は、前記一の分子における個々の前記構成単位毎に用意された前記位置ビットに１つ存在するという制約と、
（Ｂ−２）前記複数の分子における個々の前記構成単位毎に用意された前記位置ビット間において、同じ位置の前記位置ビットには、前記複数の分子の内のいずれかにおける前記構成単位は１つ存在するか又は存在しないという制約と、
を含むコスト関数に基づき、相互作用を持つ前記複数の分子による構造を探索する処理を、コンピュータに行わせることを特徴とする構造探索プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本件は、構造探索装置、構造探索方法、及び構造探索プログラムに関する。
【背景技術】
【０００２】
近年、創薬などの場面においては、計算機（コンピュータ）を用いてサイズの大きな分子の安定構造を求めることが必要となる場合がある。しかし、例えば、分子を形成する原子の数が多い場合などにおいては、全ての原子を露わに考慮する計算では、現実的な時間内に安定構造を探索することが困難になるときがある。
【０００３】
分子構造の粗視化に関する技術としては、例えば、タンパク質におけるアミノ酸残基の一次元配列情報に基づき、直鎖（一続き）の単純立方格子構造に粗視化して、格子タンパク質（Ｌａｔｔｉｃｅ  Ｐｒｏｔｅｉｎ）として扱う技術が研究されている。Ｌａｔｔｉｃｅ  Ｐｒｏｔｅｉｎにおいては、量子アニーリングの技術を用いて、安定構造を高速に探索する技術が報告されている（例えば、非特許文献１、非特許文献２参照）。
【０００４】
これらのＬａｔｔｉｃｅ  Ｐｒｏｔｅｉｎの安定構造をアニーリングマシンで探索する技術においては、格子における起点となる位置を決めて、アミノ酸残基の進行方向又はアミノ酸残基の隣接位置を、ビット（０又は１）で表現する。そのため、これらの従来技術は、直鎖状に繋がった一つの分子の構造のみを探索可能な技術であり、ポリマー集合体などの複数の分子で形成される構造の探索には用いることができない。
【先行技術文献】
【非特許文献】
【０００５】
【非特許文献１】Ａｌｅｊａｎｄｒｏ  Ｐｅｒｄｏｍｏ−Ｏｒｔｉｚ  ｅｔ．ａｌ．，  Ｆｉｎｄｉｎｇ  ｌｏｗ−ｅｎｅｒｇｙ  ｃｏｎｆｏｒｍａｔｉｏｎｓ  ｏｆ  ｌａｔｔｉｃｅ  ｐｒｏｔｅｉｎ  ｍｏｄｅｌｓ  ｂｙ  ｑｕａｎｔｕｍ  ａｎｎｅａｌｉｎｇ，Ｓｃｉｅｎｔｉｆｉｃ  Ｒｅｐｏｒｔｓ  ｖｏｌｕｍｅ  ２，  Ａｒｔｉｃｌｅ  ｎｕｍｂｅｒ：  ５７１  （２０１２）
【非特許文献２】Ｒ．  Ｂａｂｂｕｓｈ  ｅｔ．ａｌ．，  Ｃｏｎｓｔｒｕｃｔｉｏｎ  ｏｆ  Ｅｎｅｒｇｙ  Ｆｕｎｃｔｉｏｎｓ  ｆｏｒ  Ｌａｔｔｉｃｅ  Ｈｅｔｅｒｏｐｏｌｙｍｅｒ  Ｍｏｄｅｌｓ：  Ａ  Ｃａｓｅ  Ｓｔｕｄｙ  ｉｎ  Ｃｏｎｓｔｒａｉｎｔ  Ｓａｔｉｓｆａｃｔｉｏｎ  Ｐｒｏｇｒａｍｍｉsｎｇ  ａｎｄ  Ａｄｉａｂａｔｉｃ  Ｑｕａｎｔｕｍ  Ｏｐｔｉｍｉｚａｔｉｏｎ，  Ａｄｖａｎｃｅｓ  ｉｎ  Ｃｈｅｍｉｃａｌ  Ｐｈｙｓｉｃｓ，  １５５，  ２０１−２４４
【発明の概要】
【発明が解決しようとする課題】
【０００６】
一つの側面では、本件は、複数の分子による構造を探索することができる構造探索装置、構造探索方法、及び構造探索プログラムを提供することを目的とする。
【課題を解決するための手段】
【０００７】
上記の課題を解決するための手段の一つの実施態様は、以下の通りである。
すなわち、一つの実施態様では、構造探索装置は、相互作用を持つ複数の分子による構造を探索する構造探索装置であって、
複数の分子に含まれる構成単位の数と、複数の分子に含まれる分子の数と、に基づいて算出される数の位置ビットを、複数の分子に含まれる個々の分子における個々の構成単位毎に用意し、
（Ａ−１）複数の分子に含まれる一の分子における個々の構成単位が隣接して存在する位置ビットに与える負の相互作用と、
（Ａ−２）複数の分子に含まれる他の分子における構成単位が隣接して存在する位置ビットに与える、分子の相互間における本来の相互作用と、
（Ｂ−１）一の分子における個々の構成単位毎に用意された位置ビットにおいて、一の分子における個々の構成単位は、一の分子における個々の構成単位毎に用意された位置ビットに１つ存在するという制約と、
（Ｂ−２）複数の分子における個々の構成単位毎に用意された位置ビット間において、同じ位置の位置ビットには、複数の分子の内のいずれかにおける構成単位は１つ存在するか又は存在しないという制約と、
を含むコスト関数に基づき、相互作用を持つ複数の分子による構造を探索する構造探索部を備える。
【０００８】
また、一つの実施態様では、構造探索方法は、相互作用を持つ複数の分子による構造を探索する構造探索方法であって、
複数の分子に含まれる構成単位の数と、複数の分子に含まれる分子の数と、に基づいて算出される数の位置ビットを、複数の分子に含まれる個々の分子における個々の構成単位毎に用意し、
（Ａ−１）複数の分子に含まれる一の分子における個々の構成単位が隣接して存在する位置ビットに与える負の相互作用と、
（Ａ−２）複数の分子に含まれる他の分子における構成単位が隣接して存在する位置ビットに与える、分子の相互間における本来の相互作用と、
（Ｂ−１）一の分子における個々の構成単位毎に用意された位置ビットにおいて、一の分子における個々の構成単位は、一の分子における個々の構成単位毎に用意された位置ビットに１つ存在するという制約と、
（Ｂ−２）複数の分子における個々の構成単位毎に用意された位置ビット間において、同じ位置の位置ビットには、複数の分子の内のいずれかにおける構成単位は１つ存在するか又は存在しないという制約と、
を含むコスト関数に基づき、相互作用を持つ複数の分子による構造を探索する構造探索工程を含む。
【０００９】
さらに、一つの実施態様では、構造探索プログラムは、相互作用を持つ複数の分子による構造を探索する構造探索プログラムであって、
複数の分子に含まれる構成単位の数と、複数の分子に含まれる分子の数と、に基づいて算出される数の位置ビットを、複数の分子に含まれる個々の分子における個々の構成単位毎に用意し、
（Ａ−１）複数の分子に含まれる一の分子における個々の構成単位が隣接して存在する位置ビットに与える負の相互作用と、
（Ａ−２）複数の分子に含まれる他の分子における構成単位が隣接して存在する位置ビットに与える、分子の相互間における本来の相互作用と、
（Ｂ−１）一の分子における個々の構成単位毎に用意された位置ビットにおいて、一の分子における個々の構成単位は、一の分子における個々の構成単位毎に用意された位置ビットに１つ存在するという制約と、
（Ｂ−２）複数の分子における個々の構成単位毎に用意された位置ビット間において、同じ位置の位置ビットには、複数の分子の内のいずれかにおける構成単位は１つ存在するか又は存在しないという制約と、
を含むコスト関数に基づき、相互作用を持つ複数の分子による構造を探索する処理を、コンピュータに行わせる。
【発明の効果】
【００１０】
一つの側面では、本件は、複数の分子による構造を探索することができる構造探索装置、構造探索方法、及び構造探索プログラムを提供できる。
【図面の簡単な説明】
【００１１】
【図１Ａ】図１Ａは、タンパク質の粗視化して安定構造を探索する際の一例を示す模式図である（その１）。
【図１Ｂ】図１Ｂは、タンパク質の粗視化して安定構造を探索する際の一例を示す模式図である（その２）。
【図１Ｃ】図１Ｃは、タンパク質の粗視化して安定構造を探索する際の一例を示す模式図である（その３）。
【図２Ａ】図２Ａは、Ｔｕｒｎ  ｅｎｃｏｒｄｉｎｇ法の一例を説明するための模式図である（その１）。
【図２Ｂ】図２Ｂは、Ｔｕｒｎ  ｅｎｃｏｒｄｉｎｇ法の一例を説明するための模式図である（その２）。
【図２Ｃ】図２Ｃは、Ｔｕｒｎ  ｅｎｃｏｒｄｉｎｇ法の一例を説明するための模式図である（その３）。
【図２Ｄ】図２Ｄは、Ｔｕｒｎ  ｅｎｃｏｒｄｉｎｇ法の一例を説明するための模式図である（その４）。
【図３Ａ】図３Ａは、Ｄｉａｍｏｎｄ  ｅｎｃｏｒｄｉｎｇ法の一例を説明するための模式図である（その１）。
【図３Ｂ】図３Ｂは、Ｄｉａｍｏｎｄ  ｅｎｃｏｒｄｉｎｇ法の一例を説明するための模式図である（その２）。
【図３Ｃ】図３Ｃは、Ｄｉａｍｏｎｄ  ｅｎｃｏｒｄｉｎｇ法の一例を説明するための模式図である（その３）。
【図３Ｄ】図３Ｄは、Ｄｉａｍｏｎｄ  ｅｎｃｏｒｄｉｎｇ法の一例を説明するための模式図である（その４）。
【図３Ｅ】図３Ｅは、Ｄｉａｍｏｎｄ  ｅｎｃｏｒｄｉｎｇ法の一例を説明するための模式図である（その５）。
【図４】図４は、ブロックコポリマーの構造の一例を示す模式図である。
【図５】図５は、本件で開示する技術の一例における周期境界条件の一例を説明するための模式図である。
【図６Ａ】図６Ａは、構成単位と位置ビットの関係の一例を示す模式図である。
【図６Ｂ】図６Ｂは、構成単位と位置ビットの関係の他の一例を示す模式図である。
【図７Ａ】図７Ａは、構成単位Ａ及びＢで構成される分子ＡＢが２つ存在する構造を探索する場合の相互作用の一例を示す模式図である（その１）。
【図７Ｂ】図７Ｂは、構成単位Ａ及びＢで構成される分子ＡＢが２つ存在する構造を探索する場合の相互作用の一例を示す模式図である（その２）。
【図８】図８は、構成単位毎に用意した位置ビットの一例を示す模式図である。
【図９】図９は、一つの分子における構成単位が互いに分離することなく、かつ、構成単位どうしが重ならずに、一つの位置ビットに一つずつ配置された構造の一例を示す模式図である。
【図１０】図１０は、本件で開示する構造探索装置のハードウェア構成例を表す図である。
【図１１】図１１は、本件で開示する構造探索装置の他のハードウェア構成例を表す図である。
【図１２】図１２は、本件で開示する構造探索装置の他のハードウェア構成例を表す図である。
【図１３】図１３は、本件で開示する構造探索装置の機能構成例を表す図である。
【図１４】図１４は、重みファイルの一例を示す図である。
【図１５】図１５は、本件で開示する技術の一例を用いて、複数の分子による構造を探索する際のフローチャートの例である。
【図１６】図１６は、本件で開示する技術の一例を用いて、複数の所望の温度（一の温度）における構造を探索して、当該構造のエネルギーを算出する際のフローチャートの例である。
【図１７】図１７は、焼き鈍し法に用いる最適化装置（制御部）の機能構成の一例を示す図である。
【図１８】図１８は、遷移制御部の回路レベルの一例を示すブロック図である。
【図１９】図１９は、遷移制御部の動作フローの一例を示す図である。
【図２０】図２０は、実施例１−１における構造の探索結果を示す模式図である。
【図２１】図２１は、実施例１−２における構造の探索結果を示す模式図である。
【図２２】図２２は、実施例２−１及び２−２における温度毎のエネルギーの平均値を示す図である。
【図２３】図２３は、本件で開示する技術の実施例及び従来技術における、分子の構造探索の一例を示す図である。
【発明を実施するための形態】
【００１２】
（構造探索装置）
本件で開示する構造探索装置は、相互作用を持つ複数の分子による構造を探索する装置である。本件で開示する構造探索装置は、構造探索部を有し、更に必要に応じてその他の部（手段）を有する。
【００１３】
本件で開示する技術の詳細を説明する前に、従来技術としてのＬａｔｔｉｃｅ  Ｐｒｏｔｅｉｎを用いた技術を用いて、タンパク質の折り畳み構造を求める方法について説明する。
まず、Ｌａｔｔｉｃｅ  Ｐｒｏｔｅｉｎを用いた技術の一つであるＴｕｒｎ  ｅｎｃｏｄｉｎｇ法について説明する。
【００１４】
Ｌａｔｔｉｃｅ  Ｐｒｏｔｅｉｎを用いたタンパク質（又はペプチド）の構造探索を行う際には、まず、タンパク質の粗視化を行う。ここで、タンパク質の粗視化は、例えば、図１Ａに示すように、タンパク質を構成する原子２を、アミノ酸残基ごとの単位である粗視化粒子１Ａ、１Ｂ、１Ｃに粗視化して粗視化モデルを作成することにより行う。
次に、作成した粗視化モデルを用いて安定な結合構造の探索を行う。図１Ｂにおいては、粗視化粒子１Ｃが矢印の終点に位置する結合構造が安定である場合の例を示す。ここで、安定な結合構造の探索は、後述するＴｕｒｎ  ｅｎｃｏｄｉｎｇ法又はＤｉａｍｏｎｄ  ｅｎｃｏｒｄｉｎｇ法によって行う。
そして、図１Ｃに示すように、探索した安定な構造に基づいて、粗視化モデルを全原子のモデルに戻す。
【００１５】
Ｔｕｒｎ  ｅｎｃｏｄｉｎｇ法では、一般的に、タンパク質を形成する鎖状のアミノ酸を粗視化した粒子（粗視化モデル）を、格子の格子点に当てはめる際に、格子における起点となる位置を決めて、アミノ酸残基の進行方向をビットで表現する。
以下では、説明の簡略化のため、Ｔｕｒｎ  ｅｎｃｏｒｄｉｎｇ法について、二次元の場合を例として説明する。
【００１６】
ここで、二次元の格子におけるアミノ酸残基の進行方向を、例えば、図２Ａに示すように２つのビット（２ｂｉｔ）で定義する場合を考える。図２Ａに示す例では、例えば、ビットが〔００〕であるときは下向きにアミノ酸残基が進行（結合）することを表し、ビットが〔０１〕であるときは右向きにアミノ酸残基が進行することを表す。同様に、図２Ａに示す例では、例えば、ビットが〔１０〕であるときは左向きにアミノ酸残基が進行することを表し、ビットが〔１１〕であるときは上向きにアミノ酸残基が進行することを表す。
【００１７】
Ｔｕｒｎ  ｅｎｃｏｒｄｉｎｇ法において、図２Ｂに示すように、格子の中心に番号１のアミノ酸残基を配置する場合、番号２のアミノ酸残基を番号１のアミノ酸残基の右の格子点に配置するときには、アミノ酸残基の進行方向を表すビットは〔０１〕となる。
次に、図２Ｃに示すように、番号３のアミノ酸残基を番号２のアミノ酸残基の下の格子点に配置するときには、アミノ酸残基の進行方向を表すビットは〔０１００〕となる。
続いて、図２Ｄに示すように、番号４のアミノ酸残基を番号３のアミノ酸残基の左の格子点に配置するときには、アミノ酸残基の進行方向を表すビットは〔０１００１０〕となる。
このように、Ｔｕｒｎ  ｅｎｃｏｒｄｉｎｇ法では、格子における起点となる位置を決めて、アミノ酸残基の進行方向をビットで表すことにより、粗視化したタンパク質の構造を表現することができる。
【００１８】
次に、Ｌａｔｔｉｃｅ  Ｐｒｏｔｅｉｎを用いた技術の他の例として、Ｄｉａｍｏｎｄ  ｅｎｃｏｄｉｎｇ法について説明する。
【００１９】
ここで、Ｄｉａｍｏｎｄ  ｅｎｃｏｒｄｉｎｇ法は、一般的に、タンパク質を形成する鎖状のアミノ酸を粗視化した粒子（粗視化モデル）を、ダイアモンド格子の格子点に当てはめていく手法であり、三次元のタンパク質の構造を表現可能である。
以下では、説明の簡略化のため、Ｄｉａｍｏｎｄ  ｅｎｃｏｒｄｉｎｇ法について、二次元の場合を例として説明する。
【００２０】
図３Ａは、５つのアミノ酸残基が結合した直鎖ペンタペプチドが直線構造を有する場合の構造の一例を示す図である。また、図３Ａから３Ｅにおいて、丸の中の番号は、直鎖ペンタペプチドにおけるアミノ酸残基の番号を表す。
【００２１】
Ｄｉａｍｏｎｄ  ｅｎｃｏｒｄｉｎｇ法において、まず、ダイアモンド格子の中心に、番号１のアミノ酸残基を配置すると、図３Ｂに示すように、番号２のアミノ酸残基の配置可能な場所は、中心に隣接する場所（番号２が付された場所）に限定される。
続いて、番号２のアミノ酸残基に結合する番号３のアミノ酸残基の配置可能な場所は、図３Ｃにおいて、図３Ｂで番号２が付された場所に隣接する場所（番号３が付された場所）に限定される。
そして、番号３のアミノ酸残基に結合する番号４のアミノ酸残基の配置可能な場所は、図３Ｄにおいて、図３Ｃで番号３が付された場所に隣接する場所（番号４が付された場所）に限定される。
さらに、番号４のアミノ酸残基に結合する番号５のアミノ酸残基の配置可能な場所は、図３Ｅにおいて、図３Ｄで番号４が付された場所に隣接する場所（番号５が付された場所）に限定される。
このようにして特定された配置可能な場所どうしを、アミノ酸残基の番号の順に繋いでいくことにより、粗視化したタンパク質の構造を表現することができる。言い換えると、Ｄｉａｍｏｎｄ  ｅｎｃｏｒｄｉｎｇ法においては、格子における起点となる位置を決めて、アミノ酸残基の隣接位置をビットで表現することにより、粗視化したタンパク質の構造を表現することができる。
【００２２】
しかしながら、これらのＬａｔｔｉｃｅ  Ｐｒｏｔｅｉｎを用いた従来技術は、一つのタンパク質の構造を探索することを目的とした技術であり、複数の分子で形成される構造の探索を行うことはできない。言い換えると、上述した従来技術は、直鎖状に繋がった一つの分子の構造のみを探索可能な技術であり、ポリマー集合体などの複数の分子で形成される構造の探索には用いることができない。
より具体的には、例えば、図４に示すようなブロックコポリマーにおいては、粒子ＡからＤが結合して形成された分子が複数存在し、異なる分子間における粒子どうしの相互作用により、粒子Ａ及びＢで形成される層と、粒子Ｃ及びＤで形成される層とに分かれている。このような、相互作用を持つ複数の分子の構造は、格子における起点となる位置を決めて、アミノ酸残基の進行方向又はアミノ酸残基の隣接位置をビットで表現する従来技術では、表現することができない。
【００２３】
また、タンパク質の構造を探索する際においても、複数の分子で形成される構造を探索することが求められる場合がある。例えば、タンパク質の中には、三次元構造に折り畳まれた三次構造を有する直鎖のポリペプチド（サブユニット）が複数結合することにより、四次構造を形成するものが多く存在する。タンパク質の機能の発現には、当該タンパク質の四次構造が重要となる場合があり、創薬などの場面においては、タンパク質の四次構造を正確に探索することが必要となるときがある。
しかしながら、タンパク質の四次構造は、複数のポリペプチドで形成された構造であるため、上述した従来技術では、その構造を探索することができない。
【００２４】
そこで、本発明者は、複数の分子による構造を探索することができる装置等について鋭意検討を重ね、本件で開示する技術を想到した。すなわち、本発明者は、複数の分子に含まれる構成単位の数と、複数の分子に含まれる分子の数と、に基づいて算出される数の位置ビットを、複数の分子に含まれる個々の分子における個々の構成単位毎に用意し、
（Ａ−１）複数の分子に含まれる一の分子における個々の構成単位が隣接して存在する位置ビットに与える負の相互作用と、
（Ａ−２）複数の分子に含まれる他の分子における構成単位が隣接して存在する位置ビットに与える、分子の相互間における本来の相互作用と、
（Ｂ−１）一の分子における個々の構成単位毎に用意された位置ビットにおいて、一の分子における個々の構成単位は、一の分子における個々の構成単位毎に用意された位置ビットに１つ存在するという制約と、
（Ｂ−２）複数の分子における個々の構成単位毎に用意された位置ビット間において、同じ位置の位置ビットには、複数の分子の内のいずれかにおける構成単位は１つ存在するか又は存在しないという制約と、
を含むコスト関数に基づいた探索行うことにより、複数の分子による構造を探索することができることを見出した。
以下では、本件で開示する技術の一例を、図面を参照しながら説明する。なお、本件で開示する技術の一例としての構造探索装置における、複数の分子による構造の探索などの処理（動作）は、例えば、構造探索装置が有する構造探索部により行うことができる。
【００２５】
本件で開示する技術の一例においては、まず、探索する構造に含まれる複数の分子に含まれる構成単位の数と、複数の分子に含まれる分子の数と、に基づいて算出される数の位置ビットを、複数の分子に含まれる個々の分子における個々の構成単位毎に用意する。
【００２６】
＜探索する構造＞
本件で開示する技術の一例で探索する構造としては、複数の分子で形成される構造であれば特に制限はなく、目的に応じて適宜選択することができる。
ここで、本件で開示する技術の一例における分子としては、特に制限はなく、目的に応じて適宜選択することができ、例えば、ポリマー、タンパク質（ペプチド）、低分子化合物などが挙げられる。
【００２７】
ポリマーとしては、特に制限はなく、目的に応じて適宜選択することができ、探索する構造の中に複数の種類のポリマーが含まれていてもよい。
タンパク質としては、特に制限はなく、目的に応じて適宜選択することができ、探索する構造の中に、異なるアミノ酸配列を有するタンパク質が含まれていてもよい。
低分子化合物としては、特に制限はなく、目的に応じて適宜選択することができ、例えば、分子量が１万以下の化合物とすることができる。
また、探索する構造としては、例えば、タンパク質と低分子化合物の複合体の構造などであってもよい。
【００２８】
＜＜構成単位＞＞
本件で開示する技術の一例における構成単位とは、探索する構造に含まれる分子を構成する単位を意味する。構成単位としては、特に制限はなく、分子の種類などに応じて適宜選択することができる。
分子がポリマーである場合、構成単位としては、例えば、分子を構成する各原子としてもよいし、複数の原子毎に粗視化した粗視化粒子（原子群）としてもよい。
分子がタンパク質である場合、構成単位としては、例えば、タンパク質を構成するアミノ酸残基毎に粗視化した粗視化粒子とすることができる。
分子が低分子化合物である場合、構成単位としては、例えば、分子を構成する各原子としてもよいし、複数の原子毎に粗視化した粗視化粒子としてもよい。
このように、本件で開示する技術の一例においては、構成単位を原子群又は原子とすることができる。
【００２９】
＜＜位置ビット＞＞
本件で開示する技術の一例における位置ビットは、探索する構造に含まれる分子を構成する構成単位の位置を表すビットを意味する。位置ビットは、本件で開示する技術の一例においては、例えば、「１」であるときに当該位置ビットに構成単位が存在することを意味し、「０」であるときに当該位置ビットに構成単位が存在しないことを意味する。
位置ビットを配置する位置としては、特に制限はなく、目的に応じて適宜選択することができ、例えば、格子状に位置させてもよいし、不規則に配置させてもよい。本件で開示する技術の一例においては、位置ビットが、格子状に位置することが好ましい。
ここで、位置ビットを格子状に位置させる場合において、格子の構造としては、特に制限はなく、目的に応じて適宜選択することができ、例えば、平面の格子、単純立方格子、体心立方格子、面心立方格子などが挙げられる。
【００３０】
また、本件で開示する技術の一例においては、位置ビットに周期境界条件が課せられていることが好ましい。ここで、周期境界条件とは、例えば、位置ビットを配置した立方体（又は長方形）形状の計算系において、当該計算系の周囲を取り囲むように、当該計算系と同一の仮想的な計算系を複数個配置した場合の条件を意味する。言い換えると、周期境界条件とは、位置ビットを配置した立方体（又は長方形）形状の計算系において、当該計算系の特定の二つの境界面における状況（状態）が等しくなるような条件を意味する。なお、上記の特定の二つの境界面としては、例えば、立方体（又は長方形）において、互いに対向する面（又は線）などとすることができる。
本件で開示する技術は、一つの側面では、位置ビットに周期境界条件を課すことにより、位置ビットを配置した計算系に境界が存在することによる悪影響を抑制できるため、バルクな状態に近い条件で複数の分子による構造を探索することができる。これにより、本件で開示する技術は、一つの側面では、計算系における境界の影響を適切に考慮して、より高い精度で複数の分子による構造を探索することができる。
【００３１】
ここで、図５に、番号１から４で表される４つの位置ビットを配置した計算系（図５の中央の計算系）に対して周期境界条件を課し、中央の計算系の周囲を取り囲むように、中央の計算系と同一の仮想的な計算系を配置した場合の例を示す。
例えば、中央の計算系における番号１の位置ビットの左側には、中央の計算系の左側に位置する計算系における番号２の位置ビットが隣接している。このため、周期境界条件下においては、例えば、番号１の位置ビットの左側の境界と、番号２の位置ビットの右側の境界とにおける状況（状態）が等しいという条件で構造の探索を行う。言い換えると、周期境界条件下においては、例えば、番号１の位置ビットの左側と、番号２の位置ビットの右側とが相互作用可能な条件で構造の探索を行う。
このように、本件で開示する技術は、一つの側面では、位置ビットに周期境界条件を課すことにより、構成単位毎の相互作用をより適切に考慮して、より高い精度で複数の分子による構造を探索することができる。
また、周期境界条件を課した構造の探索は、例えば、位置ビット毎に、周期境界条件を課した場合における当該位置ビットに隣接する位置ビットの組み合わせを特定し、特定した位置ビットの組み合わせに基づいて構造を探索することにより行うことができる。
【００３２】
ここで、本件で開示する技術の一例においては、位置ビットを、探索する構造に含まれる複数の分子に含まれる構成単位の数と、複数の分子に含まれる分子の数と、に基づいて算出される数の位置ビットを、複数の分子に含まれる個々の分子における個々の構成単位毎に用意する。なお、以下では、「探索する構造に含まれる複数の分子の構成単位の数」を「構成単位数」と、「探索する構造に含まれる複数の分子の数」を「分子数」と称することがある。
構成単位数と分子数とに基づいて算出される数としては、例えば、構成単位数と分子数に対する総和により算出される数とすることができる。構成単位数と分子数に対する総和により算出される数としては、構成単位数と分子数に対する総和としてもよいし、構成単位数と分子数に対する総和よりも大きな数としてもよい。言い換えると、本件で開示する技術の一例における、構成単位数と分子数とに基づいて算出される数としては、探索する構造に含まれる構成単位の数以上の数とすることができる。つまり、本件で開示する技術の一例においては、探索する複数の分子の構造に含まれる構成単位の総数よりも多い数の位置ビットを用意してもよい。
【００３３】
また、本件で開示する技術の一例においては、位置ビットを、複数の分子に含まれる個々の分子における個々の構成単位毎に用意する。言い換えると、本件で開示する技術の一例においては、探索する構造に含まれる全ての構成単位について、構成単位数と分子数とに基づいて算出される数の位置ビットをそれぞれ用意する。
【００３４】
ここで、図６Ａの例に示すように、構成単位Ａ及びＢで構成される分子ＡＢと、構成単位Ｃ及びＤで構成される分子ＣＤとを含む構造を探索する場合において、構成単位数と分子数に対する総和により算出される数の位置ビットを用意する場合について説明する。
まず、図６Ａの例においては、分子ＡＢ及び分子ＣＤが共に２つの構成単位で構成されている。さらに、図６Ａの例においては、探索する構造には分子ＡＢと分子ＣＤの２つの分子が含まれるため、探索する構造に含まれる分子の数である分子数は２となる。
すなわち、図６Ａの例においては、構成単位数が２であり、分子数が２であるため、構成単位数と分子数に対する総和は４となる。
【００３５】
このため、図６Ａの例において、個々の分子における個々の構成単位毎に、位置ビットを用意すると、構成単位ＡからＤの４つの構成単位毎に、４つの位置ビットを用意することになるため、合計では１６個の位置ビットが用意される。
【００３６】
次に、図６Ｂの例に示すように、構成単位Ａ及びＢで構成される分子ＡＢを８個含む構造を探索する場合において、構成単位数と分子数に対する総和により算出される数の位置ビットを用意する場合について説明する。
まず、図６Ｂの例においては、分子ＡＢは２つの構成単位で構成されている。さらに、図６Ｂの例においては、探索する構造には８個の分子ＡＢが含まれるため、分子数は８となる。
すなわち、図６Ｂの例においては、構成単位数が２であり、分子数が８であるため、構成単位数と分子数に対する総和は１６となる。
【００３７】
ここで、図６Ｂの例では、８個の構成単位Ａと８個の構成単位Ｂとが構造に含まれるため、合計では１６個の構成単位が、探索する構造に含まれることになる。このため、図６Ｂの例において、複数の分子に含まれる個々の分子における個々の構成単位毎に、位置ビットを用意すると、１６個の構成単位毎に、１６個の位置ビットを用意することになるため、合計では２５６個の位置ビットが用意される。
【００３８】
このようにして、位置ビットを、複数の分子に含まれる個々の分子における個々の構成単位毎に用意することにより、本件で開示する技術は、一つの側面では、構成単位が存在し得る全ての位置を考慮した上で、相互作用を持つ複数の分子による構造を探索することができる。
なお、ここまでは、説明の簡略化のため、二次元の構造を探索する例を挙げて説明したが、本件で開示する技術の一例においては、三次元に位置ビットを配置することにより、三次元の構造を探索可能である。
【００３９】
＜コスト関数＞
本件で開示する技術の一例においては、少なくとも以下の（Ａ−１）から（Ｂ−２）の４つの相互作用又は制約を含むコスト関数に基づき、相互作用を持つ複数の分子による構造を探索する。
（Ａ−１）複数の分子に含まれる一の分子における個々の構成単位が隣接して存在する位置ビットに与える負の相互作用
（Ａ−２）複数の分子に含まれる他の分子における構成単位が隣接して存在する位置ビットに与える、分子の相互間における本来の相互作用
（Ｂ−１）一の分子における個々の構成単位毎に用意された位置ビットにおいて、一の分子における個々の構成単位は、一の分子における個々の構成単位毎に用意された位置ビットに１つ存在するという制約
（Ｂ−２）複数の分子における個々の構成単位毎に用意された位置ビット間において、同じ位置の位置ビットには、複数の分子の内のいずれかにおける構成単位は１つ存在するか又は存在しないという制約
【００４０】
上記の（Ａ−１）から（Ｂ−２）を含むコスト関数としては、例えば、（Ａ−１）の相互作用を表す項と、（Ａ−２）の相互作用を表す項と、（Ｂ−１）の制約を表す項と、（Ｂ−２）の制約を表す項との和とすることができる。
また、本件で開示する技術においては、上記の（Ａ−１）から（Ｂ−２）以外の相互作用や制約を、コスト関数に含んでいてもよい。なお、（Ａ−１）から（Ｂ−２）以外の相互作用や制約としては、特に制限はなく、目的に応じて適宜選択することができる。
【００４１】
ここで、上記の（Ａ−１）における負の相互作用としては、複数の分子に含まれる一の分子における個々の構成単位が隣接して存在する位置ビットに与える相互作用であって、大きさが負（マイナスの符号をもつ）ものであれば特に制限はなく、目的に応じて適宜選択することができる。
上記の（Ａ−１）における負の相互作用の大きさ（強さ）としては、例えば、（Ａ−１）から（Ｂ−２）を含むコスト関数に基づいて構造を探索する際に、一の分子の構成単位が分離しないように（一の分子内の結合が切れないように）設定することが好ましい。一の分子の構成単位が分離しないような大きさの負の相互作用の設定は、例えば、実際に（Ａ−１）から（Ｂ−２）を含むコスト関数に基づいた構造の探索を行って、負の相互作用の大きさをチューニングしていくことにより行うことができる。
【００４２】
なお、複数の分子に含まれる一の分子における個々の構成単位が隣接して存在する位置ビットとしては、構成単位どうしが互いに接して存在する最近接の位置ビットのみに限られるものではなく、例えば、最近接の位置ビットの他に、最近接の位置ビット以外の位置ビットを含んでもよい。
【００４３】
上記の（Ａ−２）の分子の相互間における本来の相互作用としては、複数の分子に含まれる他の分子における構成単位が隣接して存在する位置ビットに与える相互作用であれば特に制限はなく、目的に応じて適宜選択することができる。
ここで、本来の相互作用とは、例えば、分子の相互間において作用する静電相互作用やファンデルワールス力などを表現する相互作用を意味する。
【００４４】
上記の（Ａ−２）における本来の相互作用の大きさ（強さ）は、例えば、構成単位の種類の組み合わせ毎に設定することが好ましい。こうすることにより、本件で開示する技術は、一つの側面では、構成単位どうしの性質に応じた本来の相互作用を含むコスト関数に基づいて、より高い精度で複数の分子による構造を探索することができる。
【００４５】
上記の（Ａ−２）における本来の相互作用の大きさは、例えば、構成単位の性質などに基づいて適宜設定することができる。
例えば、探索する構造に含まれる分子がポリマーや低分子化合物である場合、分子を構成する構成単位の性質に基づいた計算により、構成単位の種類の組み合わせ毎における本来の相互作用の大きさを表すパラメータを、適宜作成して用いることが好ましい。
また、探索する構造に含まれる分子がタンパク質である場合は、例えば、ｍｉｙａｚａｗａ−ｊｅｒｎｉｇａｎ（ＭＪ）  ｍａｔｒｉｘなどを参照して、構成単位の種類の組み合わせ毎における本来の相互作用の大きさを表すパラメータを決定することができる。また、タンパク質に、非天然アミノ酸残基が含まれる場合は、当該非天然アミノ酸残基と、その他のアミノ酸残基との相互作用パラメータを、適宜作成して用いることが好ましい。
【００４６】
上記の（Ａ−２）における本来の相互作用としては、例えば、下記の相互作用αと相互作用βとが異なるようにしてもよい。
相互作用α：一の分子における構成単位と、他の分子における構成単位とが同じである場合の、一の分子における構成単位と他の分子における構成単位との相互作用。
相互作用β：一の分子における構成単位と、他の分子における構成単位とが異なる場合の、一の分子における構成単位と他の分子における構成単位との相互作用。
【００４７】
上記の相互作用αと相互作用βとが異なる場合の例として、図７Ａ及び７Ｂに示すような、構成単位Ａ及びＢで構成される分子ＡＢが２つ存在する構造を探索する場合について説明する。
図７Ａに示すように、例えば、２つの分子ＡＢにおいて、構成単位Ａどうし及び構成単位Ｂどうしが隣接している場合の、構成単位Ａどうしの間の相互作用をＶＡＡ、構成単位Ｂどうしの間の相互作用をＶＢＢとする。同様に、図７Ｂに示すように、例えば、２つの分子ＡＢにおいて、構成単位Ａと構成単位Ｂが隣接している場合の、構成単位Ａと構成単位Ｂとの間の相互作用をＶＡＢとする。
この例においては、上記の相互作用αの一例が相互作用ＶＡＡ及びＶＢＢとなり、相互作用βの一例が相互作用ＶＡＢとなる。このため、図７Ａ及び７Ｂに示す例では、例えば、相互作用ＶＡＡ及びＶＢＢと、相互作用ＶＡＢとが異なるようにすることで、上記の相互作用αと相互作用βとを異ならせることができる。
なお、図７Ａ及び７Ｂに示す例では、相互作用ＶＡＡ及びＶＢＢを同じ（大きさの）相互作用としたが、本件で開示する技術は、これに限られるものではなく、相互作用ＶＡＡとＶＢＢとを異なる相互作用としてもよい。
【００４８】
ここで、上記の（Ａ−１）における負の相互作用と（Ａ−２）における本来の相互作用は、例えば、数値として表現することができる。
上記の（Ａ−１）における負の相互作用と（Ａ−２）における本来の相互作用においては、次の不等式、〔負の相互作用  ＜  本来の相互作用〕、を満たすことが好ましい。
こうすることにより、本件で開示する技術は、一つの側面では、一の分子の構成単位が分離しない構造をより確実に探索することができるため、より高い精度で複数の分子による構造を探索することができる。
【００４９】
上記の（Ｂ−１）の制約は、一の分子における個々の構成単位毎に用意された前記位置ビットにおいて、一の分子における個々の構成単位は、一の分子における個々の構成単位毎に用意された位置ビットに１つ存在するように加える制約である。言い換えると、上記の（Ｂ−１）の制約は、探索する構造に含まれる構成単位が、当該構成単位に用意された位置ビットのどれか１つに重複しないで存在するように加える制約である。
コスト関数が上記の（Ｂ−１）の制約を含むことにより、本件で開示する技術は、一つの側面では、探索する構造に含まれる各構成単位が一つずつ存在し、複数の分子の構造として矛盾のない構造を探索することができる。言い換えると、コスト関数が上記の（Ｂ−１）の制約を含むことにより、本件で開示する技術は、一つの側面では、構造を探索する際における構成単位の数の変動を抑制（構成単位の数を固定）できるため、入力した分子を構成する構成単位を、それぞれ一つずつ含む構造を探索することができる。
【００５０】
ここで、図８を参照して、（Ｂ−１）の制約の具体例について説明する。
なお、図８においては、構成単位Ａについて用意した４つの位置ビットを、それぞれ位置ビットＡ１からＡ４とする。構成単位ＢからＤについても同様に、用意した位置ビットをそれぞれ位置ビットＢ１からＢ４、位置ビットＣ１からＣ４、位置ビットＤ１からＤ４とする。
図８の例は、構成単位ＡからＤの４つの構成単位毎に、４つの位置ビットを用意した例である。図８の例において、一の分子における個々の構成単位毎に用意された位置ビットは、例えば、構成単位Ａにおける位置ビットＡ１からＡ４に対応する。
位置ビットＡ１からＡ４において、一の分子における個々の構成単位は、一の分子における個々の構成単位毎に用意された位置ビットに１つ存在する状態とは、例えば、位置ビットＡ１からＡ４の内のどれか１つに、構成単位が存在する状態を意味する。言い換えると、図８の例における（Ｂ−１）の制約は、位置ビットに構成単位が存在するときを１とし、存在しないときを０とすると、構成単位Ａにおける位置ビットＡ１からＡ４の内、どれか１つだけが１となり、その他の位置ビットが０となるような制約である。さらに、構成単位ＢからＤについても、同様の制約を加えることにより、全ての構成単位について（Ｂ−１）の制約を加えることができる。
【００５１】
上記の（Ｂ−１）の制約は、例えば、位置ビットに構成単位が存在するときを１とし、存在しないときを０とすると、個々の構成単位に用意された位置ビットの和が１でないときに、コスト関数に対して正のコストを与えることにより行うことが好ましい。ここで、コスト関数に対して正のコストを与えるとは、例えば、制約を表す項の値を、コスト関数の値が大きくなるような値とすることを意味する。
なお、コスト関数の値が大きいことは、例えば、当該コスト関数の値となる構造が、不安定である（エネルギーが高い）ことに対応すると考えることができる。
さらに、個々の構成単位に用意された位置ビットの和が１でないことは、例えば、一の分子における個々の構成単位が、一の分子における個々の構成単位毎に用意された位置ビットに１つ存在しない（１つも存在しない又は２つ以上存在する）ことに対応する。
【００５２】
つまり、上記の（Ｂ−１）の制約において、個々の構成単位に用意された位置ビットの和が１でないときに、コスト関数に対して正のコストを与えることにより、複数の分子の構造として矛盾を生じうる構造におけるコスト関数の値を大きくすることができる。これにより、本件で開示する技術は、一つの側面では、コスト関数を安定化させて構造を探索する際に、探索する構造に含まれる各構成単位が一つずつ存在し、複数の分子の構造として矛盾のない構造を探索することができる。
【００５３】
上記の（Ｂ−１）の制約として、個々の構成単位に用意された位置ビットの和が１でないときに、コスト関数に対して正のコストを与える場合における、上記の（Ｂ−１）制約を表す項の具体例について、図８を参照して説明する。
図８の例において、例えば、構成単位Ａにおける位置ビットＡ１からＡ４について、ｐを係数（正の数）とすると、ｐ（Ａ１＋Ａ２＋Ａ３＋Ａ４−１）２を、上記の（Ｂ−１）制約を表す項として用いることができる。上記の項は、位置ビットＡ１からＡ４の内、どれか１つの位置ビットだけが１となり、その他の位置ビットが０となる場合、項の値が０となるが、その他の場合には、項の値は正の値となる。すなわち、上記の項は、位置ビットＡ１からＡ４の和が１でないときに、コスト関数に対して正のコストを与える項となっている。さらに、構成単位ＢからＤについても、同様の項を用いることにより、全ての構成単位について位置ビットの和が１でないときに、コスト関数に対して正のコストを与えることができる。
【００５４】
上記の（Ｂ−２）の制約は、複数の分子における個々の構成単位毎に用意された位置ビット間において、同じ位置の位置ビットには、複数の分子の内のいずれかにおける構成単位は１つ存在するか又は存在しないように加える制約である。言い換えると、上記の（Ｂ−２）の制約は、互いに異なる構成単位が、同じ位置の位置ビットに重なって存在しないように加える制約である。
コスト関数が上記の（Ｂ−２）の制約を含むことにより、本件で開示する技術は、一つの側面では、互いに異なる構成単位が同一の位置に存在せず、複数の分子の構造として矛盾のない構造を探索することができる。言い換えると、コスト関数が上記の（Ｂ−２）の制約を含むことにより、本件で開示する技術は、一つの側面では、構造を探索する際における異なる構成単位の重なりを抑制できるため、構成単位がそれぞれ別の位置に存在する構造を探索することができる。
【００５５】
ここで、図８を参照して、（Ｂ−２）の制約の具体例について説明する。
図８の例は、上述したように、構成単位ＡからＤの４つの構成単位毎に、４つの位置ビットを用意した例である。図８では、複数の分子における個々の構成単位毎に用意された位置ビット間における、同じ位置の位置ビットは、例えば、構成単位Ａの位置ビットＡ１、構成単位Ｂの位置ビットＢ１、構成単位Ｃの位置ビットＣ１、及び構成単位Ｄの位置ビットＤ１に対応する。
位置ビットＡ１、Ｂ１、Ｃ１、及びＤ１において、同じ位置の位置ビットに、構成単位が１つ存在するか又は存在しない状態とは、例えば、位置ビットＡ１、Ｂ１、Ｃ１、及びＤ１の内のどれか１つに、構成単位が存在するか又は存在しない状態を意味する。言い換えると、図８の例における（Ｂ−２）の制約は、位置ビットに構成単位が存在するときを１とし、存在しないときを０とすると、構成単位Ａにおける位置ビットＡ１、Ｂ１、Ｃ１、及びＤ１の和が２以上とならないようにする制約である。さらに、構成単位Ａ２からＤ２、構成単位Ａ３からＤ３、構成単位Ａ４からＤ４についても、同様の制約を加えることにより、全ての構成単位について（Ｂ−２）の制約を加えることができる。
【００５６】
上記の（Ｂ−２）の制約は、例えば、個々の構成単位に用意された位置ビットどうしの間において、同じ位置の位置ビットの和が０又は１ではないときに、コスト関数に対して正のコストを与えることにより行うことが好ましい。なお、（Ｂ−１）の場合と同様に、位置ビットに構成単位が存在するときを１とし、当該位置ビットに構成単位が存在しないときを０とする。
ここで、位置ビットどうしの間において、同じ位置の位置ビットの和が０又は１ではないとは、例えば、互いに異なる構成単位が、同じ位置の位置ビットに重なって（２つ以上）存在することに対応する。
【００５７】
つまり、位置ビットどうしの間で、同じ位置の位置ビットの和が０又は１ではないときに、コスト関数に対して正のコストを与えることにより、複数の分子の構造として矛盾を生じうる構造におけるコスト関数の値を大きくすることができる。これにより、本件で開示する技術は、一つの側面では、コスト関数を安定化させて構造を探索する際に、互いに異なる構成単位が同一の位置に重なって存在せず、複数の分子の構造として矛盾のない構造を探索することができる。
【００５８】
上記の（Ｂ−２）の制約として、位置ビットどうしの間において、同じ位置の位置ビットの和が０又は１ではないときに、コスト関数に対して正のコストを与える場合における、上記の（Ｂ−２）制約を表す項の具体例について、図８を参照して説明する。
図８の例において、例えば、位置ビットＡ１、Ｂ１、Ｃ１、及びＤ１について、ｐを係数（正の数）とすると、ｐ（Ａ１＋Ｂ１＋Ｃ１＋Ｄ１−１）２を、上記の（Ｂ−２）制約を表す項として用いることができる。上記の項は、位置ビットＡ１、Ｂ１、Ｃ１、及びＤ１の内、どれか１つの位置ビットだけが１となり、その他の位置ビットが０となる場合、項の値が０となるが、その他の場合には、項の値は正の値となる。すなわち、上記の項は、位置ビットＡ１、Ｂ１、Ｃ１、及びＤ１の和が１でないときに、コスト関数に対して正のコストを与える項となっている。さらに、構成単位Ａ２からＤ２、構成単位Ａ３からＤ３、構成単位Ａ４からＤ４についても、同様の項を用いることにより、全ての構成単位について位置ビットの和が１でないときに、コスト関数に対して正のコストを与えることができる。
【００５９】
また、上記の例においては、同じ位置の位置ビットの和が１ではないときに、コスト関数に対して正のコストを与える例について説明したが、上述したように、同じ位置の位置ビットの和が０でないときにも、コスト関数に対して正のコストを与えてもよい。この場合、例えば、位置ビットＡ１、Ｂ１、Ｃ１、及びＤ１について、ｐを係数（正の数）とすると、ｐ（Ａ１＋Ｂ１＋Ｃ１＋Ｄ１−１）（Ａ１＋Ｂ１＋Ｃ１＋Ｄ１）を、上記の（Ｂ−２）制約を表す項として用いることができる。上記の項は、位置ビットＡ１、Ｂ１、Ｃ１、及びＤ１の内、全ての位置ビットが１又は０となる場合、項の値が０となるが、その他の場合には、項の値は正の値となる。
なお、位置ビットどうしの間において、同じ位置の位置ビットの和が０となる場合としては、例えば、探索する複数の分子の構造に含まれる構成単位の総数よりも多い数の位置ビットを用意した場合などが挙げられる。
【００６０】
このように、本件で開示する技術の一例では、上記の（Ａ−１）から（Ｂ−２）の４つの相互作用又は制約を含むコスト関数に基づいた探索を行うことにより、複数の分子による構造を正しく探索することができる。
ここで、図６の例について、本件で開示する技術の一例を用いて構造を探索すると、例えば、図９のような構造を得ることができる。図９に示した例においては、一つの分子における構成単位が互いに分離することなく、かつ、構成単位どうしが重ならずに、一つの位置ビットに一つずつ配置された構造が探索されている。
【００６１】
＜＜コスト関数の具体例＞＞
本件で開示する技術の一例におけるコスト関数としては、（Ａ−１）から（Ｂ−２）の４つの相互作用又は制約を含むものであれば、特に制限はなく、目的に応じて適宜選択することができるが、例えば、下記の式（１）のコスト関数を用いることが好ましい。
【００６２】
【数１】
2020194487.tif 000003
ただし、上記式（１）において、Ｅは、コスト関数である。
Ｎは、探索する構造に含まれる分子の数であり、Ｎｉは、分子の番号である。
ｎは、一の分子における構成単位の番号である。
Ｎｐは、個々の分子における個々の構成単位毎に用意した位置ビットにおける、隣接する位置ビットの数であり、ｉｐは、個々の分子における個々の構成単位毎に用意した位置ビットにおける、隣接する位置ビットの番号である。
ｖは、（Ｂ−１）における負の相互作用の大きさを表す数値である。
ｘｍは、ｍ番目の位置ビットが０又は１であることを表すバイナリ変数である。
ｎＮｉは、一の分子における構成単位の数である。
Ｅｐａｉｒは、（Ｂ−２）における本来の相互作用の大きさを表す数値である。
ｐ１及びｐ２は、正の数である。
Ｍは、探索する構造に含まれる構成単位の総数である。
ｔは、個々の分子における個々の構成単位毎に用意した位置ビットの数であり、ｉは、個々の分子における個々の構成単位毎に用意した位置ビットの番号である。
【００６３】
さらに、上記式（１）において、例えば、〈ｉ，ｊ〉のように表される表記は、ｉとｊの組を意味する。
また、上記式（１）においては、ｉ＝｛０，１，２，．．．．．．ｔ−１｝、Ｎｉ＝｛０，１，２，．．．．．．Ｎ−１｝、ｎ＝｛０，１，２，．．．．．．ｎＮｉ−１｝、ｉｐ＝｛０，１，２，．．．．．．Ｎｐ−１｝を満たす。なお、上記式（１）において、用意した位置ビットの総数は、ｔＭで表される。
【００６４】
加えて、上記式（１）においては、Ｍは次式を満たす。
【００６５】
【数２】
2020194487.tif 000004
【００６６】
上記式（１）において、用意した位置ビットの通し番号を意味するｍは、次式を満たす。
【００６７】
【数３】
2020194487.tif 000005
【００６８】
上記式（１）におけるパラメータは、探索する構造に含まれる分子や構成単位の情報などに基づいて、適宜設定することができる。なお、例えば、ｖ、ｐ１、及びｐ２については、実際に上記式（１）に基づいた構造の探索を行って、数値をチューニングしておくことが好ましい。
【００６９】
本件で開示する技術の一例では、上記式（１）における、右辺の一項目は（Ａ−１）における負の相互作用に、右辺の二項目は（Ａ−２）における本来の相互作用に、右辺の三項目は（Ｂ−１）の制約に、右辺の四項目は（Ｂ−２）の制約に、それぞれ対応する。
【００７０】
（Ａ−１）における負の相互作用に対応する上記式（１）の右辺の一項目は、個々の分子における個々の構成単位毎に用意した位置ビットにおける、隣接する位置ビットの間の負の相互作用の大きさの和を表す項である。
ここで、通常、上記式（１）の右辺の一項目におけるｖは負の数となるため、ｘｍ及びｘｍ’とが１となったときに、右辺の一項目はより絶対値の大きな負の数となり、コスト関数の値が小さくなる。なお、コスト関数の値が小さいことは、例えば、当該コスト関数の値となる構造が、安定である（エネルギーが低い）ことに対応すると考えることができる。
【００７１】
（Ａ−２）における本来の相互作用に対応する上記式（１）の右辺の二項目は、異なる分子における構成単位が隣接して存在する位置ビットの間の本来の相互作用の大きさの和を表す項である。
ここで、通常、上記式（１）の右辺の二項目におけるＥｐａｉｒは負の数となるため、ｘｍ及びｘｍ’とが１となったときに、右辺の二項目はより絶対値の大きな負の数となり、コスト関数の値が小さくなる。
【００７２】
（Ｂ−１）の制約に対応する上記式（１）の右辺の三項目は、個々の構成単位に用意された位置ビットの和が１でないときに、コスト関数に対して正のコストを与える（コスト関数の値を多くする）ペナルティーの項である。
ここで、上記式（１）の右辺の三項目におけるｐ１は正の数であるため、個々の構成単位に用意された位置ビットにおけるｘｍの和が１でないときに、右辺の三項目はより大きな正の数となり、コスト関数の値が大きくなる。
【００７３】
（Ｂ−２）の制約に対応する上記式（１）の右辺の四項目は、個々の構成単位に用意された位置ビットどうしの間において、同じ位置の位置ビットの和が１ではないときに、コスト関数に対して正のコストを与えるペナルティーの項である。
ここで、上記式（１）の右辺の四項目におけるｐ２は正の数であるため、個々の構成単位に用意された位置ビットどうしの間における同じ位置の位置ビットｘｍの和が１でないときに、右辺の四項目はより大きな正の数となり、コスト関数の値が大きくなる。
また、上記式（１）の右辺の四項目は、同じ位置の位置ビットの和が１ではないときに、コスト関数に対して正のコストを与える項であるが、同じ位置の位置ビットの和が０でないときにも、正のコストを与えるように式（１）の右辺の四項目を変形してもよい。
【００７４】
本件で開示する技術の一例においては、上記式（１）を、下記式（２）で表されるイジングモデルに変換したコスト関数に基づき、複数の分子による構造を探索することが好ましい。
【００７５】
【数４】
2020194487.tif 000006
ただし、上記式（２）において、ｗijは、ｉ番目の位置ビットとｊ番目の位置ビットの間の重み付けのための係数である。
ｂｉは、ｉ番目の位置ビットに対するバイアスを表す数値である。
ｘiは、ｉ番目の位置ビットが０又は１であることを表すバイナリ変数であり、ｘjは、ｊ番目の位置ビットが０又は１であることを表すバイナリ変数である。
【００７６】
ここで、ｗijは、例えば、上記式（１）におけるｖ、Ｅｐａｉｒ、ｐ１、及びｐ２を、ｘiとｘjの組み合わせ毎に抽出することにより求めることができ、通常は行列となる。
上記式（２）における右辺の一項目は、全回路から選択可能な２つの回路の全組み合わせについて、漏れと重複なく、２つの回路の状態と重み値との積を積算したものである。
また、上記式（２）における右辺の二項目は、全回路のそれぞれのバイアス値と状態との積を積算したものである。
つまり、上記式（１）のパラメータを抽出して、ｗij及びｂｉを求めることにより、上記式（１）を、上記式（２）で表されるイジングモデルに変換することができる。
【００７７】
上記式（２）のようにＱＵＢＯ（Ｑｕａｄｒａｔｉｃ  Ｕｎｃｏｎｓｔｒａｉｎｅｄ  Ｂｉｎａｒｙ  Ｏｐｔｉｍｉｚａｔｉｏｎ）形式のイジングモデル式で表されるコスト関数（ハミルトニアン）の安定化は、アニーリングマシンなどを用いた焼き鈍し法（アニーリング）を行うことにより、短時間で実行することができる。
このため、本件で開示する技術は、一つの側面では、上記式（２）を用いることで、アニーリングマシンなどを用いた焼き鈍し法により複数の分子による構造を探索することができるため、より短時間で構造の探索を行うことができる。言い換えると、本件で開示する技術は、一つの側面では、焼き鈍し法によりコスト関数を安定化することにより、より短時間で構造の探索を行うことができる。なお、焼き鈍し法の詳細については後述する。
【００７８】
また、本件で開示する技術の一例においては、焼き鈍し法によりコスト関数を最小化することにより、相互作用を持つ複数の分子による構造を探索することが好ましい。こうすることにより、本件で開示する技術は、一つの側面では、コスト関数が最小となる最も安定な構造を、短時間で探索することができる。
なお、コスト関数が最小となる最も安定な構造は、例えば、絶対零度（０Ｋ）における複数の分子の構造に対応すると考えることができる。
【００７９】
本件で開示する技術の一例においては、乱数を用いて位置ビットを遷移させながら、温度を一の温度よりも高い温度から一の温度にかけて降温することを複数回繰り返して平均化することにより、複数の分子の一の温度における構造を探索することも好ましい。なお、乱数を用いて位置ビットを遷移させる手法としては、例えば、メトロポリス法を用いることができる。
ここで、一の温度としては、特に制限はなく、目的に応じて適宜選択することができ、例えば、絶対温度以外の温度（有限温度）とすることができる。有限温度における複数の分子の構造は、温度によるゆらぎ等の影響から一意に決まらないこともあるため、乱数を用いて位置ビットを遷移させながら、温度を一の温度よりも高い温度から一の温度にかけて降温することを複数回繰り返して平均化することが好ましい。
このように、本件で開示する技術は、一つの側面では、所望の温度（一の温度）における相互作用を持つ複数の分子による構造を探索することができる。
また、例えば、一の温度を変更して、複数の温度における構造を探索することにより、温度の変化による構造の遷移を解析することもできる。これにより、本件で開示する技術は、一つの側面では、転移温度を境に規則状態から不規則状態へ向かってなだらかにエネルギー相変化する様子などが観測できる。
【００８０】
さらに、本件で開示する技術の一例においては、レプリカ交換法により、一の温度を一定時間保持した計算を行って平均化することにより、複数の分子の一の温度における構造を探索することも好ましい。
ここで、レプリカ交換法とは、異なる温度をもつ、互いに相互作用しない系（レプリカ）を用意し、所定の条件で、それぞれの系の温度を交換する手法である。
本件で開示する技術は、一つの側面では、レプリカ交換法により、一の温度を一定時間保持した計算を行って平均化することで、所望の温度（一の温度）における相互作用を持つ複数の分子による構造を探索することができる。
【００８１】
以下、装置の構成例やフローチャートを用いて、本件で開示する技術の一例を更に詳細に説明する。
図１０に、本件で開示する構造探索装置のハードウェア構成例を示す。
構造探索装置１０においては、例えば、制御部１１、メモリ１２、記憶部１３、表示部１４、入力部１５、出力部１６、Ｉ／Ｏインターフェース部１７がシステムバス１８を介して接続されている。
【００８２】
制御部１１は、演算（四則演算、比較演算、焼き鈍し法の演算等）、ハードウェア及びソフトウェアの動作制御などを行う。
制御部１１としては、特に制限はなく、目的に応じて適宜選択することができ、例えば、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）であってもよいし、後述する焼き鈍し法に用いる最適化装置であってもよく、これらの組み合わせでもよい。
本件で開示する構造探索装置における構造探索部は、例えば、制御部１１により実現することができる。
【００８３】
メモリ１２は、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）などのメモリである。ＲＡＭは、ＲＯＭ及び記憶部１３から読み出されたＯＳ（Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ）及びアプリケーションプログラムなどを記憶し、制御部１１の主メモリ及びワークエリアとして機能する。
【００８４】
記憶部１３は、各種プログラム及びデータを記憶する装置であり、例えば、ハードディスクである。記憶部１３には、制御部１１が実行するプログラム、プログラム実行に必要なデータ、ＯＳなどが格納される。
本件で開示する構造探索プログラムは、記憶部１３に格納され、メモリ１２のＲＡＭ（主メモリ）にロードされ、制御部１１により実行される。
【００８５】
表示部１４は、表示装置であり、例えば、ＣＲＴモニタ、液晶パネルなどのディスプレイ装置である。
入力部１５は、各種データの入力装置であり、例えば、キーボード、ポインティングデバイス（例えば、マウス等）などである。
出力部１６は、各種データの出力装置であり、例えば、プリンタなどである。
Ｉ／Ｏインターフェース部１７は、各種の外部装置を接続するためのインターフェースである。Ｉ／Ｏインターフェース部１７は、例えば、ＣＤ−ＲＯＭ（Ｃｏｍｐａｃｔ  Ｄｉｓｃ  Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）、ＤＶＤ−ＲＯＭ（Ｄｉｇｉｔａｌ  Ｖｅｒｓａｔｉｌｅ  Ｄｉｓｋ  Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）、ＭＯディスク（Ｍａｇｎｅｔｏ−Ｏｐｔｉｃａｌ  ｄｉｓｋ）、ＵＳＢメモリ〔ＵＳＢ（Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ）  ｆｌａｓｈ  ｄｒｉｖｅ〕などのデータの入出力を可能にする。
【００８６】
図１１に、本件で開示する構造探索装置の他のハードウェア構成例を示す。
図１１に示す例は、構造探索装置をクラウド型にした場合の例であり、制御部１１が、記憶部１３などとは独立している。図１１に示す例においては、ネットワークインターフェース部１９、２０を介して、記憶部１３などを格納するコンピュータ３０と、制御部１１を格納するコンピュータ４０とが接続される。
ネットワークインターフェース部１９、２０は、インターネットを利用して、通信を行うハードウェアである。
【００８７】
図１２に、本件で開示する構造探索装置の他のハードウェア構成例を示す。
図１２に示す例は、構造探索装置をクラウド型にした場合の例であり、記憶部１３が、制御部１１などとは独立している。図１２に示す例においては、ネットワークインターフェース部１９、２０を介して、制御部１１等を格納するコンピュータ３０と、記憶部１３を格納するコンピュータ４０とが接続される。
【００８８】
図１３に、本件で開示する構造探索装置の機能構成例を示す。
図１３に示す構造探索装置１０は、構造探索部５０を有し、構造探索部５０は、カウント部５１と、定義部５２と、割当部５３と、コスト関数規定部５４と、重み抽出部５５と、重みファイル作成部５６と、演算部５７と、結果出力部５８とを有する。
【００８９】
カウント部５１は、入力された複数の分子の構造における、分子の数、各分子を構成する構成単位の数をカウントする。
定義部５２では、カウントした分子の構成単位の数と、分子の数とに基づいて、探索する構造に含まれる個々の分子における個々の構成単位毎に用意すべき位置ビットの数を定義する。また、定義部５２は、探索する構造の次元、及び周期性（例えば、周期境界条件を課すか否か）を考慮して、位置ビットの数を定義する。
割当部５３では、定義部５２で定義した数の位置ビットを、探索する構造に含まれる個々の分子における個々の構成単位毎に割り当てる（用意する）。言い換えると、割当部５３では、各ビットＸ１〜Ｘｎに空間の情報を割り振る。また、割当部５３は、探索する構造の周期性を考慮して、隣接する位置ビットの組み合わせを特定する。
【００９０】
コスト関数規定部５４では、（Ａ−１）から（Ｂ−２）の４つの相互作用又は制約を含むコスト関数を規定する。コスト関数規定部５４は、上記式（１）で表されるコスト関数を規定する。
重み抽出部５５では、コスト関数規定部５４で規定された上記式（１）のパラメータ（ｖ、Ｅｐａｉｒ、ｐ１、及びｐ２）を抽出する。
重みファイル作成部５６では、抽出された重み係数に対応した重みファイルが作成される。重みファイルは、例えば、行列であり、２Ｘ１Ｘ２＋４Ｘ２Ｘ３の場合、図１４のような行列のファイルとなる。言い換えると、重みファイル作成部５６は、抽出したパラメータを用いて、上記式（２）におけるｗij及びｂｉを特定し、上記式（１）を、上記式（２）で表されるイジングモデルの式に変換する。
【００９１】
演算部５７は、上記式（２）で表されるイジングモデルの式を、焼き鈍し法により安定化させることにより、複数の分子による構造を探索する。
結果出力部５８は、演算部５７による構造の探索結果を出力する。結果は、分子の立体構造図として出力してもよいし、分子を構成する構成単位の座標情報として出力してもよい。結果出力部５８が出力した結果は、例えば、出力部１６により表示することができる。
【００９２】
図１５に、本件で開示する技術の一例を用いて、複数の分子による構造を探索する際のフローチャートの例を示す。
【００９３】
まず、制御部１１は、探索する構造の次元（二次元又は三次元）及び周期性（例えば、周期境界条件を課すか否か）を規定する（Ｓ１０１）。Ｓ１０１では、例えば、構造探索装置１０がユーザの入力を受け付けることにより行ってもよいし、入力された構造のデータに基づいて規定してもよい。
【００９４】
続いて、制御部１１は、入力された複数の分子の構造における、分子の数、各分子を構成する構成単位の数をカウントする（Ｓ１０２）。
次に、制御部１１は、カウントした分子の構成単位の数と、分子の数とに基づいて、探索する構造に含まれる個々の分子における個々の構成単位毎に用意すべき位置ビットの数を定義する（Ｓ１０３）。ここで、Ｓ１０３において、個々の構成単位毎に用意すべき位置ビットの数を定義する際には、探索する構造の次元及び周期性を考慮する。
【００９５】
次に、制御部１１は、Ｓ１０３で定義した数の位置ビットを、探索する構造に含まれる個々の分子における個々の構成単位毎に割り当てる（Ｓ１０４）。
そして、制御部１１は、Ｓ１０４で割り当てた（用意した）位置ビットについて、探索する構造の周期性を考慮して、隣接する位置ビットの組み合わせを特定する。（Ｓ１０５）。
【００９６】
続いて、制御部１１は、（Ａ−１）から（Ｂ−２）の４つの相互作用又は制約を含むコスト関数である上記式（１）を変換した上記式（２）で表されるイジングモデルの式を規定する（Ｓ１０６）。
次に、制御部１１は、上記式（２）で表されるイジングモデルの式を、アニーリングマシンを用いた焼き鈍し法により最小化させることにより、コスト関数が最小となる最も安定な構造を探索する（Ｓ１０７）。
アニーリングマシンとしては、イジングモデルで表されるエネルギー関数について基底状態探索を行なうアニーリング方式を採用するコンピュータであれば特に制限はなく、目的に応じて適宜選択することができる。アニーリングマシンとしては、例えば、量子アニーリングマシン、半導体技術を用いた半導体アニーリングマシン、ＣＰＵやＧＰＵ（Ｇｒａｐｈｉｃｓ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）を用いてソフトウェアにより実行されるシミュレーテッド・アニーリング（Ｓｉｍｕｌａｔｅｄ  Ａｎｎｅａｌｉｎｇ）を行うマシンなどが挙げられる。また、アニーリングマシンとしては、例えば、デジタルアニーラ（登録商標）を用いてもよい。
【００９７】
Ｓ１０８では、算出結果を出力する。結果は、分子の立体構造図として出力してもよいし、分子を構成する構成単位の座標情報として出力してもよい。
このようにして、図１５に示したフローチャートの例では、コスト関数が最小となる最も安定な構造の探索結果を出力することができる。
【００９８】
図１６に、本件で開示する技術の一例を用いて、複数の所望の温度（一の温度）における構造を探索して、当該構造のエネルギーを算出する際のフローチャートの例を示す。
図１６において、Ｓ２０１からＳ２０６は、図１５におけるＳ１０１からＳ１０６と同様の処理であるため、説明を省略する。
【００９９】
Ｓ２０７では、制御部１１は、上記式（２）で表されるイジングモデルの式を、アニーリングマシンを用いて、乱数を用いて位置ビットを遷移させながら、温度を所望の温度よりも高い温度から所望の温度にかけて降温させる。これにより、Ｓ２０７では、所望の温度におけるエネルギー（コスト関数の値）を算出する。
続いて、Ｓ２０８では、制御部１１は、Ｓ２０７におけるエネルギーの算出を所定回数繰り返したか否かを判定する。制御部１１は、Ｓ２０７におけるエネルギーの算出を所定回数繰り返したと判定した場合は、処理をＳ２０９に移す。一方、制御部１１は、Ｓ２０７におけるエネルギーの算出をまだ所定回数繰り返していないと判定した場合は、処理をＳ２０７に戻す。
【０１００】
Ｓ２０９では、制御部１１は、Ｓ２０７において算出されたエネルギーの平均を求める。
次に、Ｓ２１０では、制御部１１は、Ｓ２０９において、全ての所望の温度について平均のエネルギーを算出したか否かを判定する。制御部１１は、全ての所望の温度について平均のエネルギーを算出していないと判定した場合は、所望の温度を変更して処理をＳ２０７に移す。一方、制御部１１は、全ての所望の温度について平均のエネルギーを算出したと判定した場合は、処理をＳ２１１に移す。
そして、Ｓ２１１では、算出結果を出力する。結果は、例えば、縦軸をエネルギー（コスト関数の値）、横軸を温度として表したグラフなどの形式で出力することができる。
このようにして、図１６に示したフローチャートの例では、複数の所望の温度（一の温度）における構造を探索するときにおける、当該構造のエネルギーの算出結果を出力することができる。
【０１０１】
以下に、焼き鈍し法及びアニーリングマシンの一例について説明する。
焼き鈍し法は、乱数値や量子ビットの重ね合わせを用いて確率的に解を求める方法である。以下では最適化したい評価関数の値を最小化する問題を例に説明し、評価関数の値をエネルギーと呼ぶことにする。また、評価関数の値を最大化する場合は、評価関数の符号を変えればよい。
【０１０２】
まず、各変数に離散値の１つを代入した初期状態からはじめ、現在の状態（変数の値の組み合わせ）から、それに近い状態（例えば、１つの変数だけ変化させた状態）を選び、その状態遷移を考える。その状態遷移に対するエネルギーの変化を計算し、その値に応じてその状態遷移を採択して状態を変化させるか、採択せずに元の状態を保つかを確率的に決める。エネルギーが下がる場合の採択確率をエネルギーが上がる場合より大きく選ぶと、平均的にはエネルギーが下がる方向に状態変化が起こり、時間の経過とともにより適切な状態へ状態遷移することが期待できる。このため、最終的には最適解又は最適値に近いエネルギーを与える近似解を得られる可能性がある。
もし、これを決定論的にエネルギーが下がる場合に採択とし、上がる場合に不採択とすれば、エネルギーの変化は時間に対して広義単調減少となるが、局所解に到達したらそれ以上変化が起こらなくなってしまう。上記のように離散最適化問題には非常に多数の局所解が存在するために、状態が、ほとんど確実にあまり最適値に近くない局所解に捕まってしまう。したがって、離散最適化問題を解く際には、その状態を採択するかどうかを確率的に決定することが重要である。
【０１０３】
焼き鈍し法においては、状態遷移の採択（許容）確率を次のように決めれば、時刻（反復回数）無限大の極限で状態が最適解に到達することが証明されている。
以下では、焼き鈍し法を用いて最適解を求める方法について、順序を追って説明する。
【０１０４】
（１）状態遷移に伴うエネルギー変化（エネルギー減少）値（−ΔＥ）に対して、その状態遷移の許容確率ｐを、次のいずれかの関数ｆ（  ）により決める。
【０１０５】
【数５】
2020194487.tif 000007
【０１０６】
【数６】
2020194487.tif 000008
【０１０７】
【数７】
2020194487.tif 000009
【０１０８】
ここで、Ｔは、温度値と呼ばれるパラメータであり、例えば、次のように変化させることができる。
【０１０９】
（２）温度値Ｔを次式で表されるように反復回数ｔに対数的に減少させる。
【０１１０】
【数８】
2020194487.tif 000010
【０１１１】
ここで、Ｔ０は、初期温度値であり問題に応じて、十分大きくとることが望ましい。
（１）の式で表される許容確率を用いた場合、十分な反復後に定常状態に達したとすると、各状態の占有確率は熱力学における熱平衡状態に対するボルツマン分布に従う。
そして、高い温度から徐々に下げていくとエネルギーの低い状態の占有確率が増加するため、十分温度が下がるとエネルギーの低い状態が得られると考えられる。この様子が、材料を焼き鈍したときの状態変化とよく似ているため、この方法は焼き鈍し法（または、疑似焼き鈍し法）と称される。なお、エネルギーが上がる状態遷移が確率的に起こることは、物理学における熱励起に相当する。
【０１１２】
図１７に焼き鈍し法を行う最適化装置（制御部１１）の機能構成の一例を示す。ただし、下記説明では、状態遷移の候補を複数発生させる場合についても述べるが、基本的な焼き鈍し法は、遷移候補を１つずつ発生させるものである。
【０１１３】
最適化装置１００は、現在の状態Ｓ（複数の状態変数の値）を保持する状態保持部１１１を有する。また、最適化装置１００は、複数の状態変数の値のいずれかが変化することによる現在の状態Ｓからの状態遷移が起こった場合における、各状態遷移のエネルギー変化値｛−ΔＥｉ｝を計算するエネルギー計算部１１２を有する。さらに、最適化装置１００は、温度値Ｔを制御する温度制御部１１３、状態変化を制御するための遷移制御部１１４を有する。
【０１１４】
遷移制御部１１４は、温度値Ｔとエネルギー変化値｛−ΔＥｉ｝と乱数値とに基づいて、エネルギー変化値｛−ΔＥｉ｝と熱励起エネルギーとの相対関係によって複数の状態遷移のいずれかを受け入れるか否かを確率的に決定する。
【０１１５】
ここで、遷移制御部１１４は、状態遷移の候補を発生する候補発生部１１４ａ、各候補に対して、そのエネルギー変化値｛−ΔＥｉ｝と温度値Ｔとから状態遷移を許可するかどうかを確率的に決定するための可否判定部１１４ｂを有する。さらに、遷移制御部１１４は、可となった候補から採用される候補を決定する遷移決定部１１４ｃ、及び確率変数を発生させるための乱数発生部１１４ｄを有する。
【０１１６】
最適化装置１００における、一回の反復における動作は次のようなものである。
まず、候補発生部１１４ａは、状態保持部１１１に保持された現在の状態Ｓから次の状態への状態遷移の候補（候補番号｛Ｎｉ｝）を１つまたは複数発生する。次に、エネルギー計算部１１２は、現在の状態Ｓと状態遷移の候補を用いて候補に挙げられた各状態遷移に対するエネルギー変化値｛−ΔＥｉ｝を計算する。可否判定部１１４ｂは、温度制御部１１３で発生した温度値Ｔと乱数発生部１１４ｄで生成した確率変数（乱数値）を用い、各状態遷移のエネルギー変化値｛−ΔＥｉ｝に応じて、上記（１）の式の許容確率でその状態遷移を許容する。
そして、可否判定部１１４ｂは、各状態遷移の可否｛ｆｉ｝を出力する。許容された状態遷移が複数ある場合には、遷移決定部１１４ｃは、乱数値を用いてランダムにそのうちの１つを選択する。そして、遷移決定部１１４ｃは、選択した状態遷移の遷移番号Ｎと、遷移可否ｆを出力する。許容された状態遷移が存在した場合、採択された状態遷移に応じて状態保持部１１１に記憶された状態変数の値が更新される。
【０１１７】
初期状態から始めて、温度制御部１１３で温度値を下げながら上記反復を繰り返し、一定の反復回数に達する、又はエネルギーが一定の値を下回る等の終了判定条件が満たされたときに動作が終了する。最適化装置１００が出力する答えは、終了時の状態である。
【０１１８】
図１８は、候補を１つずつ発生させる通常の焼き鈍し法における遷移制御部、特に可否判定部のために必要な演算部分の構成例の回路レベルのブロック図である。
遷移制御部１１４は、乱数発生回路１１４ｂ１、セレクタ１１４ｂ２、ノイズテーブル１１４ｂ３、乗算器１１４ｂ４、比較器１１４ｂ５を有する。
【０１１９】
セレクタ１１４ｂ２は、各状態遷移の候補に対して計算されたエネルギー変化値｛−ΔＥｉ｝のうち、乱数発生回路１１４ｂ１が生成した乱数値である遷移番号Ｎに対応するものを選択して出力する。
【０１２０】
ノイズテーブル１１４ｂ３の機能については後述する。ノイズテーブル１１４ｂ３として、例えば、ＲＡＭ、フラッシュメモリ等のメモリを用いることができる。
【０１２１】
乗算器１１４ｂ４は、ノイズテーブル１１４ｂ３が出力する値と、温度値Ｔとを乗算した積（前述した熱励起エネルギーに相当する）を出力する。
比較器１１４ｂ５は、乗算器１１４ｂ４が出力した乗算結果と、セレクタ１１４ｂ２が選択したエネルギー変化値である−ΔＥとを比較した比較結果を遷移可否ｆとして出力する。
【０１２２】
図１８に示されている遷移制御部１１４は、基本的に前述した機能をそのまま実装するものであるが、（１）の式で表される許容確率で状態遷移を許容するメカニズムについて、更に詳細に説明する。
【０１２３】
許容確率ｐで１を、（１−ｐ）で０を出力する回路は、２つの入力Ａ，Ｂを持ち、Ａ＞Ｂのとき１を出力し、Ａ＜Ｂのとき０を出力する比較器の入力Ａに許容確率ｐを、入力Ｂに区間［０，１）の値をとる一様乱数を入力することで実現することができる。したがって、この比較器の入力Ａに、エネルギー変化値と温度値Ｔにより（１）の式を用いて計算される許容確率ｐの値を入力すれば、上記の機能を実現することができる。
【０１２４】
すなわち、ｆを（１）の式で用いる関数、ｕを区間［０，１）の値をとる一様乱数とするとき、ｆ（ΔＥ／Ｔ）がｕより大きいとき１を出力する回路により、上記の機能を実現できる。
【０１２５】
また、次のような変形を行っても、上記の機能と同じ機能が実現できる。
２つの数に同じ単調増加関数を作用させても大小関係は変化しない。したがって、比較器の２つの入力に同じ単調増加関数を作用させても出力は変わらない。この単調増加関数として、ｆの逆関数ｆ−１を採用すると、−ΔＥ／Ｔがｆ−１（ｕ）より大きいとき１を出力する回路とすることができることがわかる。さらに、温度値Ｔが正であることから、−ΔＥがＴｆ−１（ｕ）より大きいとき１を出力する回路でよいことがわかる。
図１８中のノイズテーブル１１４ｂ３はこの逆関数ｆ−１（ｕ）を実現するための変換テーブルであり、区間［０，１）を離散化した入力に対して次の関数の値を出力するテーブルである。
【０１２６】
【数９】
2020194487.tif 000011
【０１２７】
【数１０】
2020194487.tif 000012
【０１２８】
遷移制御部１１４には、判定結果等を保持するラッチやそのタイミングを発生するステートマシン等も存在するが、図１８では図示を簡単にするため省略されている。
【０１２９】
図１９は、遷移制御部１１４の動作フローの一例を示す図である。図１９に示す動作フローは、１つの状態遷移を候補として選ぶステップ（Ｓ０００１）、その状態遷移に対するエネルギー変化値と温度値と乱数値の積の比較で状態遷移の可否を決定するステップ（Ｓ０００２）、状態遷移が可ならばその状態遷移を採用し、否ならば不採用とするステップ（Ｓ０００３）を有する。
【０１３０】
（構造探索方法）
本件で開示する構造探索方法は、一つの実施態様では、相互作用を持つ複数の分子による構造を探索する構造探索方法であって、
複数の分子に含まれる構成単位の数と、複数の分子に含まれる分子の数と、に基づいて算出される数の位置ビットを、複数の分子に含まれる個々の分子における個々の構成単位毎に用意し、
（Ａ−１）複数の分子に含まれる一の分子における個々の構成単位が隣接して存在する位置ビットに与える負の相互作用と、
（Ａ−２）複数の分子に含まれる他の分子における構成単位が隣接して存在する位置ビットに与える、分子の相互間における本来の相互作用と、
（Ｂ−１）一の分子における個々の構成単位毎に用意された位置ビットにおいて、一の分子における個々の構成単位は、一の分子における個々の構成単位毎に用意された位置ビットに１つ存在するという制約と、
（Ｂ−２）複数の分子における個々の構成単位毎に用意された位置ビット間において、同じ位置の位置ビットには、複数の分子の内のいずれかにおける構成単位は１つ存在するか又は存在しないという制約と、
を含むコスト関数に基づき、相互作用を持つ複数の分子による構造を探索する構造探索工程を含む。
【０１３１】
本件で開示する構造探索方法は、例えば、本件で開示する構造探索装置により行うことができる。また、本件で開示する構造探索方法における好適な態様は、例えば、本件で開示する構造探索装置における好適な態様と同様にすることができる。
【０１３２】
（構造探索プログラム）
本件で開示する構造探索プログラムは、一つの実施態様では、相互作用を持つ複数の分子による構造を探索する構造探索プログラムであって、
複数の分子に含まれる構成単位の数と、複数の分子に含まれる分子の数と、に基づいて算出される数の位置ビットを、複数の分子に含まれる個々の分子における個々の構成単位毎に用意し、
（Ａ−１）複数の分子に含まれる一の分子における個々の構成単位が隣接して存在する位置ビットに与える負の相互作用と、
（Ａ−２）複数の分子に含まれる他の分子における構成単位が隣接して存在する位置ビットに与える、分子の相互間における本来の相互作用と、
（Ｂ−１）一の分子における個々の構成単位毎に用意された位置ビットにおいて、一の分子における個々の構成単位は、一の分子における個々の構成単位毎に用意された位置ビットに１つ存在するという制約と、
（Ｂ−２）複数の分子における個々の構成単位毎に用意された位置ビット間において、同じ位置の位置ビットには、複数の分子の内のいずれかにおける構成単位は１つ存在するか又は存在しないという制約と、
を含むコスト関数に基づき、相互作用を持つ複数の分子による構造を探索する処理を、コンピュータに行わせる。
【０１３３】
本件で開示する構造探索プログラムは、例えば、本件で開示する構造探索方法コンピュータを実行させるプログラムとすることができる。また、本件で開示する構造探索プログラムにおける好適な態様は、例えば、本件で開示する構造探索装置における好適な態様と同様にすることができる。
【０１３４】
本件で開示する構造探索プログラムは、使用するコンピュータシステムの構成及びオペレーティングシステムの種類・バージョンなどに応じて、公知の各種のプログラム言語を用いて作成することができる。
【０１３５】
本件で開示する構造探索プログラムは、内蔵ハードディスク、外付けハードディスクなどの記録媒体に記録しておいてもよいし、ＣＤ−ＲＯＭ、ＤＶＤ−ＲＯＭ、ＭＯディスク、ＵＳＢメモリなどの記録媒体に記録しておいてもよい。
さらに、本件で開示する構造探索プログラムを、上記の記録媒体に記録する場合には、必要に応じて、コンピュータシステムが有する記録媒体読取装置を通じて、これを直接又はハードディスクにインストールして使用することができる。また、コンピュータシステムから情報通信ネットワークを通じてアクセス可能な外部記憶領域（他のコンピュータなど）に本件で開示する構造探索プログラムを記録しておいてもよい。この場合、外部記憶領域に記録された本件で開示する構造探索プログラムは、必要に応じて、外部記憶領域から情報通信ネットワークを通じてこれを直接、又はハードディスクにインストールして使用することができる。
なお、本件で開示する構造探索プログラムは、複数の記録媒体に、任意の処理毎に分割されて記録されていてもよい。
【０１３６】
（コンピュータが読み取り可能な記録媒体）
本件で開示するコンピュータが読み取り可能な記録媒体は、本件で開示する構造探索プログラムを記録してなる。
本件で開示するコンピュータが読み取り可能な記録媒体としては、特に制限はなく、目的に応じて適宜選択することができ、例えば、内蔵ハードディスク、外付けハードディスク、ＣＤ−ＲＯＭ、ＤＶＤ−ＲＯＭ、ＭＯディスク、ＵＳＢメモリなどが挙げられる。
また、本件で開示するコンピュータが読み取り可能な記録媒体は、本件で開示する構造探索プログラムが任意の処理毎に分割されて記録された複数の記録媒体であってもよい。
【実施例】
【０１３７】
本件で開示する技術の一実施例について説明するが、本件で開示する技術はこれらの実施例に何ら限定されるものではない。
【０１３８】
（実施例１−１）
実施例１−１として、本件で開示する構造探索装置の一例を用いて、構成単位Ａ及びＢで構成される分子ＡＢ（ポリマーの一例）が、８個含まれる構造について、エネルギーが最小となる構造の探索を行った。
実施例１−１における構造の探索においては、図１３に示す機能構成を有する構造探索装置を用いて、図１５のフローチャートに従って、構造の探索を行った。
また、実施例１−１においては、個々の分子における個々の構成単位毎に、１６個の位置ビットを用意して、構造の探索を行った。また、位置ビットは、二次元に配置し、周期境界条件を課した。
【０１３９】
上記式（１）におけるパラメータとしては、上記式（１）の右辺の一項目におけるｖ（負の相互作用の大きさ）を−１００とした。また、上記式（１）の右辺の二項目におけるＥｐａｉｒ（本来の相互作用の大きさ）としては、構成単位Ａどうしの間の相互作用ＶＡＡを−２、構成単位Ｂどうしの間の相互作用ＶＢＢを−２、構成単位Ａと構成単位Ｂとの間の相互作用ＶＡＢを−１とした。上記式（１）の右辺の三項目及び四項目におけるｐ１及びｐ２は１００とした。
ここで、上記式（２）の最小化を行う際のアニーリングマシンの設定としては、１０００回の計算毎に、温度を１−０．０００２０１４５６倍ずつ下げていく条件で、計算を８０００１０００回繰り返して、温度が０．１となるときの構造を探索した。
なお、実施例１−１においては、上記式（２）の最小化を行う計算を、２０個並列（パラレル）で行い、その中から最もエネルギーが低くなる（コスト関数の値が小さくなる）構造を、最も安定な構造とした。
【０１４０】
図２０に、実施例１−１における構造の探索結果を示す。図２０に示すように、実施例１−１の条件においては、構成単位Ａどうしと構成単位Ｂどうしとが規則的に集まった層状の構造となった。なお、実施例１−１で探索された構造におけるコスト関数の値は、−８４８であった。
なお、図２０に示すように、実施例１−１では位置ビットに周期境界条件を課しているため、図２０の一番上の行の位置ビットに配置された構成単位Ｂと、図２０の一番下の行の位置ビットに配置された構成単位Ａとは、結合した状態である。
【０１４１】
（実施例１−２）
実施例１−２では、構成単位Ａと構成単位Ｂとの間の相互作用ＶＡＢを−３とした以外は、実施例１−１と同様にして、構造の探索を行った。
【０１４２】
図２１に、実施例１−２における構造の探索結果を示す。図２１に示すように、実施例１−２の条件においては、構成単位Ａと構成単位Ｂとが互いに混じり合った構造となった。なお、実施例１−２で探索された構造におけるコスト関数の値は、−８７２であった。
なお、図２１に示すように、実施例１−２では位置ビットに周期境界条件を課しているため、例えば、図２１の左上の端の位置ビットに配置された構成単位Ｂと、図２１の右上の端の行の位置ビットに配置された構成単位Ａとは、結合した状態である。
【０１４３】
このように、本件で開示する技術は、一つの側面では、分子間の相互作用を適切に考慮して、実際の分子の性質に合わせて、複数の分子による構造を探索することができる。
【０１４４】
（実施例２−１）
実施例２−１では、本件で開示する構造探索装置の一例を用いて、分子数４の場合のＡＢ合金について、複数の所望の温度における構造を探索して、温度毎のエネルギーを算出することにより、温度の変化による構造の遷移を解析した。
実施例２−１における構造の探索では、図１３に示す機能構成を有する構造探索装置を用いて、図１６のフローチャートに従って、構造の探索を行った。つまり、実施例２−１においては、乱数を用いて位置ビットを遷移させながら、温度を一の温度よりも高い温度から一の温度にかけて降温することを複数回繰り返して平均化することにより、複数の分子の一の温度における構造を探索した。
【０１４５】
上記式（１）におけるパラメータは、上記式（１）の右辺の二項目におけるＥｐａｉｒ（本来の相互作用の大きさ）としては、構成単位Ａどうしの間の相互作用ＶＡＡを−２、構成単位Ｂどうしの間の相互作用ＶＢＢを−２、構成単位Ａと構成単位Ｂとの間の相互作用ＶＡＢを−１とした。上記式（１）の右辺の三項目及び四項目におけるｐ１及びｐ２は、１００とした。
ここで、上記式（２）の安定化を行う際のアニーリングマシンの設定としては、所望の温度の１０００００倍の温度から計算を始め、１０００００００回の計算毎に温度を０．１倍する条件で、計算を６０００００００回繰り返す設定とした。この設定での計算を、所望の温度毎に、１００回から１００００回（例えば、３０７２回）繰り返して、それぞれの計算で算出されたエネルギーの平均値を算出した。
そして、算出したエネルギーの平均値を、所望の温度毎にプロットして、温度の変化による構造の遷移を解析した。
【０１４６】
図２２に、実施例２−１における、温度毎のエネルギーの平均値を示す。図２２においては、縦軸はエネルギーの平均値（Ｅ）であり、横軸は温度（ｋＴ）である。
図２２から、例えば、転移温度ｋＴｃを境に、規則状態から不規則状態になだらかに相変化する様子がわかる。これは、構造のエントロピーを考えると、温度の高い状態では、不規則な状態が安定となる場合があるためであると考えられる。
このように、本件で開示する技術は、一つの側面では、一の温度（所望の温度）を変更して、複数の温度における構造を探索することにより、温度の変化による構造の遷移を解析することができる。
【０１４７】
（実施例２−２）
実施例２−２では、レプリカ交換法により、一の温度を一定時間保持した計算を行って平均化し、複数の分子の一の温度における構造を探索して、温度毎のエネルギーを算出した以外は、実施例２−１と同様にして、温度の変化による構造の遷移を解析した。
実施例２−２においても、温度毎のエネルギーの平均値は、図２２に示すようになった。
このことから、本件で開示する技術の一例においては、一の温度における平均化の手法に関わらず、所望の温度におけるエネルギーの平均値を算出できることがわかる。
【０１４８】
図２３は、本件で開示する技術の実施例及び従来技術における、分子の構造探索の一例を示す図である。
図２３に示すように、従来技術においては、直鎖状に繋がった一つの分子の構造しか探索することができない。
一方、本件で開示する技術は、一つの側面では、コスト関数が最小となり最も安定な複数の分子による構造を、構成単位どうしの相互作用の大きさに応じて、探索することができる。さらに、本件で開示する技術は、一つの側面では、複数の温度における構造を探索することにより、温度の変化による構造の遷移を解析することができる。
【０１４９】
以上の実施形態に関し、更に以下の付記を開示する。
（付記１）
相互作用を持つ複数の分子による構造を探索する構造探索装置であって、
前記複数の分子に含まれる構成単位の数と、前記複数の分子に含まれる分子の数と、に基づいて算出される数の位置ビットを、前記複数の分子に含まれる個々の分子における個々の前記構成単位毎に用意し、
（Ａ−１）前記複数の分子に含まれる一の分子における個々の前記構成単位が隣接して存在する位置ビットに与える負の相互作用と、
（Ａ−２）前記複数の分子に含まれる他の分子における前記構成単位が隣接して存在する位置ビットに与える、前記分子の相互間における本来の相互作用と、
（Ｂ−１）前記一の分子における個々の前記構成単位毎に用意された前記位置ビットにおいて、前記一の分子における個々の前記構成単位は、前記一の分子における個々の前記構成単位毎に用意された前記位置ビットに１つ存在するという制約と、
（Ｂ−２）前記複数の分子における個々の前記構成単位毎に用意された前記位置ビット間において、同じ位置の前記位置ビットには、前記複数の分子の内のいずれかにおける前記構成単位は１つ存在するか又は存在しないという制約と、
を含むコスト関数に基づき、相互作用を持つ前記複数の分子による構造を探索する構造探索部を備えることを特徴とする構造探索装置。
（付記２）
前記位置ビットに前記構成単位が存在するときを１とし、前記位置ビットに前記構成単位が存在しないときを０とすると、
前記構造探索部が、前記（Ｂ−１）において、前記一の分子における個々の前記構成単位に用意された前記位置ビットの和が１でないときに、前記コスト関数に対して正のコストを与える、付記１に記載の構造探索装置。
（付記３）
前記位置ビットに前記構成単位が存在するときを１とし、前記位置ビットに前記構成単位が存在しないときを０とすると、
前記構造探索部が、前記（Ｂ−２）において、前記複数の分子における個々の前記構成単位に用意された前記位置ビットどうしの間において、同じ位置の前記位置ビットの和が０又は１ではないときに、前記コスト関数に対して正のコストを与える、付記１又は２に記載の構造探索装置。
（付記４）
前記負の相互作用及び前記本来の相互作用が、次の不等式、
前記負の相互作用  ＜  前記本来の相互作用、
を満たす、付記１から３のいずれかに記載の構造探索装置。
（付記５）
前記本来の相互作用が、
前記一の分子における前記構成単位と、前記他の分子における前記構成単位とが同じである場合の、前記一の分子における前記構成単位と前記他の分子における前記構成単位との相互作用αと、
前記一の分子における前記構成単位と、前記他の分子における前記構成単位とが異なる場合の、前記一の分子における前記構成単位と前記他の分子における前記構成単位との相互作用βとが異なるようにして与えられる、付記１から４のいずれかに記載の構造探索装置。
（付記６）
前記構造探索部が、下記式（１）で表される前記コスト関数に基づき、前記複数の分子による構造を探索する、付記１から５のいずれかに記載の構造探索装置。
【数１１】
2020194487.tif 000013
ただし、前記式（１）において、
前記Ｅは、前記コスト関数であり、
前記Ｎは、前記分子の数であり、
前記Ｎｉは、前記分子の番号であり、
前記ｎは、前記一の分子における前記構成単位の番号であり、
前記Ｎｐは、個々の前記分子における個々の前記構成単位毎に用意した前記位置ビットにおける、隣接する前記位置ビットの数であり、
前記ｉｐは、個々の前記分子における個々の前記構成単位毎に用意した前記位置ビットにおける、隣接する前記位置ビットの番号であり、
前記ｖは、前記負の相互作用の大きさを表す数値であり、
前記ｘｍは、ｍ番目の前記位置ビットが０又は１であることを表すバイナリ変数であり、
前記ｎＮｉは、前記一の分子における前記構成単位の数であり、
前記Ｅｐａｉｒは、前記本来の相互作用の大きさを表す数値であり、
前記ｐ１及び前記ｐ２は、正の数であり、
前記Ｍは、前記構成単位の総数であり、
前記ｔは、個々の前記分子における個々の前記構成単位毎に用意した前記位置ビットの数であり、
前記ｉは、個々の前記分子における個々の前記構成単位毎に用意した前記位置ビットの番号である。
（付記７）
前記構造探索部が、前記式（１）を、下記式（２）で表されるイジングモデルに変換した前記コスト関数に基づき、前記複数の分子による構造を探索する、付記６に記載の構造探索装置。
【数１２】
2020194487.tif 000014
ただし、前記式（２）において、
前記ｗijは、ｉ番目の前記位置ビットとｊ番目の前記位置ビットの間の重み付けのための係数であり、
前記ｂｉは、ｉ番目の前記位置ビットに対するバイアスを表す数値であり、
前記ｘiは、ｉ番目の前記位置ビットが０又は１であることを表すバイナリ変数であり、
前記ｘjは、ｊ番目の前記位置ビットが０又は１であることを表すバイナリ変数である。
（付記８）
前記構造探索部が、焼き鈍し法により前記コスト関数を安定化することにより、前記複数の分子による構造を探索する、付記１から７のいずれかに記載の構造探索装置。
（付記９）
前記構成単位が、原子群又は原子である、付記１から８のいずれかに記載の構造探索装置。
（付記１０）
前記位置ビットが格子状に位置する、付記１から９のいずれかに記載の構造探索装置。
（付記１１）
前記位置ビットに周期境界条件が課せられている、付記１から１０のいずれかに記載の構造探索装置。
（付記１２）
前記構造探索部が、乱数を用いて前記位置ビットを遷移させながら、温度を一の温度よりも高い温度から前記一の温度にかけて降温することを複数回繰り返して平均化することにより、前記複数の分子の前記一の温度における構造を探索する、付記１から１１のいずれかに記載の構造探索装置。
（付記１３）
前記構造探索部が、レプリカ交換法により、一の温度を一定時間保持した計算を行って平均化することにより、前記複数の分子の前記一の温度における構造を探索する、付記１から１１のいずれかに記載の構造探索装置。
（付記１４）
前記構造探索部が、焼き鈍し法により前記コスト関数を最小化することにより、相互作用を持つ前記複数の分子による構造を探索する、付記１から１１のいずれかに記載の構造探索装置。
（付記１５）
相互作用を持つ複数の分子による構造を探索する構造探索方法であって、
前記複数の分子に含まれる構成単位の数と、前記複数の分子に含まれる分子の数と、に基づいて算出される数の位置ビットを、前記複数の分子に含まれる個々の分子における個々の前記構成単位毎に用意し、
（Ａ−１）前記複数の分子に含まれる一の分子における個々の前記構成単位が隣接して存在する位置ビットに与える負の相互作用と、
（Ａ−２）前記複数の分子に含まれる他の分子における前記構成単位が隣接して存在する位置ビットに与える、前記分子の相互間における本来の相互作用と、
（Ｂ−１）前記一の分子における個々の前記構成単位毎に用意された前記位置ビットにおいて、前記一の分子における個々の前記構成単位は、前記一の分子における個々の前記構成単位毎に用意された前記位置ビットに１つ存在するという制約と、
（Ｂ−２）前記複数の分子における個々の前記構成単位毎に用意された前記位置ビット間において、同じ位置の前記位置ビットには、前記複数の分子の内のいずれかにおける前記構成単位は１つ存在するか又は存在しないという制約と、
を含むコスト関数に基づき、相互作用を持つ前記複数の分子による構造を探索する構造探索工程を含むことを特徴とする構造探索方法。
（付記１６）
相互作用を持つ複数の分子による構造を探索する構造探索プログラムであって、
前記複数の分子に含まれる構成単位の数と、前記複数の分子に含まれる分子の数と、に基づいて算出される数の位置ビットを、前記複数の分子に含まれる個々の分子における個々の前記構成単位毎に用意し、
（Ａ−１）前記複数の分子に含まれる一の分子における個々の前記構成単位が隣接して存在する位置ビットに与える負の相互作用と、
（Ａ−２）前記複数の分子に含まれる他の分子における前記構成単位が隣接して存在する位置ビットに与える、前記分子の相互間における本来の相互作用と、
（Ｂ−１）前記一の分子における個々の前記構成単位毎に用意された前記位置ビットにおいて、前記一の分子における個々の前記構成単位は、前記一の分子における個々の前記構成単位毎に用意された前記位置ビットに１つ存在するという制約と、
（Ｂ−２）前記複数の分子における個々の前記構成単位毎に用意された前記位置ビット間において、同じ位置の前記位置ビットには、前記複数の分子の内のいずれかにおける前記構成単位は１つ存在するか又は存在しないという制約と、
を含むコスト関数に基づき、相互作用を持つ前記複数の分子による構造を探索する処理を、コンピュータに行わせることを特徴とする構造探索プログラム。
【符号の説明】
【０１５０】
１０    構造探索装置
１１    制御部
１２    メモリ
１３    記憶部
１４    表示部
１５    入力部
１６    出力部
１７    Ｉ／Ｏインターフェース部
１８    システムバス
１９    ネットワークインターフェース部
２０    ネットワークインターフェース部
３０    コンピュータ
４０    コンピュータ
５０    構造探索部
５１    カウント部
５２    定義部
５３    割当部
５４    コスト関数規定部
５５    重み抽出部
５６    重みファイル作成部
５７    演算部
５８    結果出力部
【図１Ａ】
2020194487.tif 000017
【図１Ｂ】
2020194487.tif 000018
【図１Ｃ】
2020194487.tif 000019
【図２Ａ】
2020194487.tif 000020
【図２Ｂ】
2020194487.tif 000021
【図２Ｃ】
2020194487.tif 000022
【図２Ｄ】
2020194487.tif 000023
【図３Ａ】
2020194487.tif 000024
【図３Ｂ】
2020194487.tif 000025
【図３Ｃ】
2020194487.tif 000026
【図３Ｄ】
2020194487.tif 000027
【図３Ｅ】
2020194487.tif 000028
【図４】
2020194487.tif 000029
【図５】
2020194487.tif 000030
【図６Ａ】
2020194487.tif 000031
【図６Ｂ】
2020194487.tif 000032
【図７Ａ】
2020194487.tif 000033
【図７Ｂ】
2020194487.tif 000034
【図８】
2020194487.tif 000035
【図９】
2020194487.tif 000036
【図１０】
2020194487.tif 000037
【図１１】
2020194487.tif 000038
【図１２】
2020194487.tif 000039
【図１３】
2020194487.tif 000040
【図１４】
2020194487.tif 000041
【図１５】
2020194487.tif 000042
【図１６】
2020194487.tif 000043
【図１７】
2020194487.tif 000044
【図１８】
2020194487.tif 000045
【図１９】
2020194487.tif 000046
【図２０】
2020194487.tif 000047
【図２１】
2020194487.tif 000048
【図２２】
2020194487.tif 000049
【図２３】
2020194487.tif 000050