(57)【要約】      （修正有）【課題】化合物の探索に必要な演算ビット又は量子ビットの数を適切に抑制することができ、大きい分子量の化合物の探索が可能となる化合物探索装置を提供する。【解決手段】複数の化合物基が連結した化合物を探索する化合物探索装置であって、格子空間を定義する定義部と、制限格子空間を生成する制限部と、各格子点にビットをそれぞれ割り当てる割当部と、イジングモデルの最小エネルギーを算出する演算部と、複数の化合物基のいずれかが、制限格子空間の最外縁に配置されたかを判定する判定部と、判定部が、複数の化合物基のいずれかが、制限格子空間の最外縁に配置されたと判定した場合、制限部に、制限格子空間を拡張させるとともに、割当部による拡張後の制限格子空間に含まれる各格子点へのビットの割り当てと、演算部によるイジングモデルの最小エネルギーの算出とを実行させる制御部とを有する。【選択図】図６
2020067931.tif 000002
【特許請求の範囲】
【請求項１】
複数の化合物基が連結した化合物を探索する化合物探索装置において、
前記複数の化合物基が順次配置される格子の集合である格子空間を定義する定義部と、
前記複数の化合物基のいずれかを前記格子空間のいずれかの格子に配置後、次の化合物基を前記格子空間に配置する場合において、前記格子空間から前記次の化合物基を配置すべきでない領域を除外した制限格子空間を生成する制限部と、
前記制限格子空間に前記複数の化合物基が配置されうる各格子点にビットをそれぞれ割り当てる割当部と、
前記各格子点に関する制約条件に基づいて変換したイジングモデルについて、焼き鈍し法を用いた基底状態探索を実行することにより、前記イジングモデルの最小エネルギーを算出する演算部と、
前記各格子点に割り当てた複数の化合物基のいずれかが、前記制限格子空間の最外縁に配置されたかを判定する判定部と、
前記判定部が、前記各格子点に割り当てた複数の化合物基のいずれかが、前記制限格子空間の最外縁に配置されたと判定した場合、前記制限部に、前記制限格子空間を拡張させるとともに、前記割当部による拡張後の制限格子空間に含まれる各格子点への前記ビットの割り当てと、前記演算部による前記イジングモデルの最小エネルギーの算出とを実行させる制御部と、
を有する化合物探索装置。
【請求項２】
前記判定部は、前記各格子点に割り当てた複数の化合物基のうち、最初に配置された化合物基と最後に配置された化合物基とを除いた化合物基のいずれかが、前記制限格子空間の最外縁に配置されたかを判定する、請求項１に記載の化合物探索装置。
【請求項３】
前記制御部は、拡張情報に基づいて、前記制限部に、前記制限格子空間を拡張させる請求項１から２のいずれかに記載の化合物探索装置。
【請求項４】
前記制御部は、前記制限格子空間の最外縁に配置されたと判定された化合物基と、前記化合物基よりも配置の順番が若い化合物基とについては、既に割り当てられたビットを変更させない、請求項１から３のいずれかに記載の化合物探索装置。
【請求項５】
前記制御部は、前記制限部に、前記制限格子空間を拡張させる際、前記制限格子空間の最外縁に配置された化合物基の周囲の格子空間のみを拡張させる請求項１から４のいずれかに記載の化合物探索装置。
【請求項６】
前記拡張情報は、最後に配置された化合物基の配置の順番（ｎ）と、前記制限格子空間の最外縁に配置されたと判定された化合物基の配置の順番（Ｍ）との差（ｎ−Ｍ）を考慮し、
前記制御部は、前記拡張情報に基づいて、前記差（ｎ−Ｍ）が大きい場合よりも、前記差（ｎ−Ｍ）が小さい場合のほうが、前記制限格子空間を小さく拡張させるように、前記制限部に、前記制限格子空間を拡張させる請求項３から５のいずれかに記載の化合物探索装置。
【請求項７】
前記化合物基は、アミノ酸残基である、請求項１から６のいずれかに記載の化合物探索装置。
【請求項８】
前記化合物は、たんぱく質である、請求項７に記載の化合物探索装置。
【請求項９】
複数の化合物基が連結した化合物を探索する化合物探索方法において、
コンピュータが、
前記複数の化合物基が順次配置される格子の集合である格子空間を定義し、
前記複数の化合物基のいずれかを前記格子空間のいずれかの格子に配置後、次の化合物基を前記格子空間に配置する場合において、前記格子空間から前記次の化合物基を配置すべきでない領域を除外した制限格子空間を生成し、
前記制限格子空間に前記複数の化合物基が配置されうる各格子点にビットをそれぞれ割り当て、
前記各格子点に関する制約条件に基づいて変換したイジングモデルについて、焼き鈍し法を用いた基底状態探索を実行することにより、前記イジングモデルの最小エネルギーを算出し、
前記各格子点に割り当てた複数の化合物基のいずれかが、前記制限格子空間の最外縁に配置されたかを判定し、
前記各格子点に割り当てた複数の化合物基のいずれかが、前記制限格子空間の最外縁に配置されたと判定した場合、前記制限格子空間を拡張させるとともに、拡張後の制限格子空間に含まれる各格子点への前記ビットの割り当てと、前記イジングモデルの最小エネルギーの算出とを実行する、
化合物探索方法。
【請求項１０】
複数の化合物基が連結した化合物を探索する化合物探索プログラムにおいて、
コンピュータに、
前記複数の化合物基が順次配置される格子の集合である格子空間を定義させ、
前記複数の化合物基のいずれかを前記格子空間のいずれかの格子に配置後、次の化合物基を前記格子空間に配置する場合において、前記格子空間から前記次の化合物基を配置すべきでない領域を除外した制限格子空間を生成させ、
前記制限格子空間に前記複数の化合物基が配置されうる各格子点にビットをそれぞれ割り当てさせ、
前記各格子点に関する制約条件に基づいて変換したイジングモデルについて、焼き鈍し法を用いた基底状態探索を実行することにより、前記イジングモデルの最小エネルギーを算出させ、
前記各格子点に割り当てた複数の化合物基のいずれかが、前記制限格子空間の最外縁に配置されたかを判定させ、
前記各格子点に割り当てた複数の化合物基のいずれかが、前記制限格子空間の最外縁に配置されたと判定した場合、前記制限格子空間を拡張させるとともに、拡張後の制限格子空間に含まれる各格子点への前記ビットの割り当てと、前記イジングモデルの最小エネルギーの算出とを実行させる、
化合物探索プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、化合物探索装置、化合物探索方法、及び化合物探索プログラムに関する。
【背景技術】
【０００２】
タンパク質は、アミノ酸が１次元的に枝分かれすることなくつながった鎖状の高分子である。タンパク質は、その鎖状の高分子が折り畳まれることによって、特定の立体構造（三次元形状）をしている。そして、タンパク質の立体構造は、アミノ酸の配列によって決まる。
【０００３】
タンパク質の立体構造は、タンパク質の機能に深く関連している。タンパク質の分子認識機能は、立体構造中の特定の領域が特定の分子と特異的に結合することによって実現されている。そのため、タンパク質の立体構造を求めることはタンパク質の機能を理解する上で重要である。
【０００４】
タンパク質の立体構造は、例えば、Ｘ線結晶解析や、核磁気共鳴（ＮＭＲ：Ｎｕｃｌｅａｒ  Ｍａｇｎｅｔｉｃ  Ｒｅｓｏｎａｎｃｅ  ｓｐｅｃｔｒｏｓｃｏｐｙ）によって求めることができる。しかし、Ｘ線結晶解析やＮＭＲによって一つのタンパク質の立体構造を決定するには長い時間を要する。また、Ｘ線結晶解析においては、まず一種類のタンパク質の単結晶を作る必要があるが、この単結晶が作成できない場合、当該タンパク質の立体構造についてＸ線結晶解析ができない。また、ＮＭＲでは結晶化の必要はなく、水溶液中の立体構造を求めることができるが、大きなタンパク質では立体構造に関する多くの情報が得られない。
【０００５】
一方、タンパク質の立体構造が不明であっても、タンパク質のアミノ酸配列は、遺伝子情報から、又はタンパク質自体から、比較的簡単に求めることができる。
【０００６】
そこで、アミノ酸配列からタンパク質の立体構造を予測しようとする試みがなされている。例えば、タンパク質の折り畳みをＤｉａｍｏｎｄ  ｅｎｃｏｒｄｉｎｇ法によって求める方法がある。この方法は、鎖状のアミノ酸がどの位置にあるのかをダイアモンド格子上に埋め込んでいく手法であり、三次元の構造体（立体構造）が表現できる。この方法を用いて求めた立体構造のエネルギーは、例えば、イジングモデルを用いて算出することができる。そして、イジングモデルを解くには、例えば、アニーリングマシンが用いられる。
【先行技術文献】
【非特許文献】
【０００７】
【非特許文献１】Ｒ．  Ｂａｂｂｕｓｈ  ｅｔ．ａｌ．，  Ｃｏｎｓｔｒｕｃｔｉｏｎ  ｏｆ  Ｅｎｅｒｇｙ  Ｆｕｎｃｔｉｏｎｓ  ｆｏｒ  Ｌａｔｔｉｃｅ  Ｈｅｔｅｒｏｐｏｌｙｍｅｒ  Ｍｏｄｅｌｓ：  Ａ  Ｃａｓｅ  Ｓｔｕｄｙ  ｉｎ  Ｃｏｎｓｔｒａｉｎｔ  Ｓａｔｉｓｆａｃｔｉｏｎ  Ｐｒｏｇｒａｍｍｉsｎｇ  ａｎｄ  Ａｄｉａｂａｔｉｃ  Ｑｕａｎｔｕｍ  Ｏｐｔｉｍｉｚａｔｉｏｎ，  Ａｄｖａｎｃｅｓ  ｉｎ  Ｃｈｅｍｉｃａｌ  Ｐｈｙｓｉｃｓ，  １５５，  ２０１−２４４
【発明の概要】
【発明が解決しようとする課題】
【０００８】
イジングモデルを解くアニーリングマシンには、ハードウェアの制約により、扱える演算ビット、又は量子ビットの数に制約が存在する。
一方で、タンパク質の折り畳み問題を解くために必要なビット数は、タンパク質の規模（アミノ酸残基の数）に対して、図１のグラフのように指数関数的に増加する。
このように、ハードウェアで扱えるビットの数の制約により解ける問題規模が制限され、アミノ酸の探索対象を広げることができない。
【０００９】
本発明は、所定の化合物の探索に必要な演算ビット又は量子ビットの数を適切に抑制することができ、大きい分子量の化合物の探索が可能となる、化合物探索装置、化合物探索方法、及び化合物探索プログラムを提供することを目的とする。
【課題を解決するための手段】
【００１０】
１つの態様では、開示の化合物探索装置は、
複数の化合物基が連結した化合物を探索する化合物探索装置において、
前記複数の化合物基が順次配置される格子の集合である格子空間を定義する定義部と、
前記複数の化合物基のいずれかを前記格子空間のいずれかの格子に配置後、次の化合物基を前記格子空間に配置する場合において、前記格子空間から前記次の化合物基を配置すべきでない領域を除外した制限格子空間を生成する制限部と、
前記制限格子空間に前記複数の化合物基が配置されうる各格子点にビットをそれぞれ割り当てる割当部と、
前記各格子点に関する制約条件に基づいて変換したイジングモデルについて、焼き鈍し法を用いた基底状態探索を実行することにより、前記イジングモデルの最小エネルギーを算出する演算部と、
前記各格子点に割り当てた複数の化合物基のいずれかが、前記制限格子空間の最外縁に配置されたかを判定する判定部と、
前記判定部が、前記各格子点に割り当てた複数の化合物基のいずれかが、前記制限格子空間の最外縁に配置されたと判定した場合、前記制限部に、前記制限格子空間を拡張させるとともに、前記割当部による拡張後の制限格子空間に含まれる各格子点への前記ビットの割り当てと、前記演算部による前記イジングモデルの最小エネルギーの算出とを実行させる制御部と、
を有する。
【００１１】
他の１つの態様では、開示の化合物探索方法は、
複数の化合物基が連結した化合物を探索する化合物探索方法において、
コンピュータが、
前記複数の化合物基が順次配置される格子の集合である格子空間を定義し、
前記複数の化合物基のいずれかを前記格子空間のいずれかの格子に配置後、次の化合物基を前記格子空間に配置する場合において、前記格子空間から前記次の化合物基を配置すべきでない領域を除外した制限格子空間を生成し、
前記制限格子空間に前記複数の化合物基が配置されうる各格子点にビットをそれぞれ割り当て、
前記各格子点に関する制約条件に基づいて変換したイジングモデルについて、焼き鈍し法を用いた基底状態探索を実行することにより、前記イジングモデルの最小エネルギーを算出し、
前記各格子点に割り当てた複数の化合物基のいずれかが、前記制限格子空間の最外縁に配置されたかを判定し、
前記各格子点に割り当てた複数の化合物基のいずれかが、前記制限格子空間の最外縁に配置されたと判定した場合、前記制限格子空間を拡張させるとともに、拡張後の制限格子空間に含まれる各格子点への前記ビットの割り当てと、前記イジングモデルの最小エネルギーの算出とを実行する。
【００１２】
他の１つの態様では、開示の化合物探索プログラムは、
複数の化合物基が連結した化合物を探索する化合物探索プログラムにおいて、
コンピュータに、
前記複数の化合物基が順次配置される格子の集合である格子空間を定義させ、
前記複数の化合物基のいずれかを前記格子空間のいずれかの格子に配置後、次の化合物基を前記格子空間に配置する場合において、前記格子空間から前記次の化合物基を配置すべきでない領域を除外した制限格子空間を生成させ、
前記制限格子空間に前記複数の化合物基が配置されうる各格子点にビットをそれぞれ割り当てさせ、
前記各格子点に関する制約条件に基づいて変換したイジングモデルについて、焼き鈍し法を用いた基底状態探索を実行することにより、前記イジングモデルの最小エネルギーを算出させ、
前記各格子点に割り当てた複数の化合物基のいずれかが、前記制限格子空間の最外縁に配置されたかを判定させ、
前記各格子点に割り当てた複数の化合物基のいずれかが、前記制限格子空間の最外縁に配置されたと判定した場合、前記制限格子空間を拡張させるとともに、拡張後の制限格子空間に含まれる各格子点への前記ビットの割り当てと、前記イジングモデルの最小エネルギーの算出とを実行させる。
【発明の効果】
【００１３】
一つの側面では、所定の化合物の探索に必要な演算ビット又は量子ビットの数を適切に抑制することができ、大きい分子量の化合物の探索が可能となる化合物探索装置を提供できる。
また、一つの側面では、所定の化合物の探索に必要な演算ビット又は量子ビットの数を適切に抑制することができ、大きい分子量の化合物の探索が可能となる化合物探索方法を提供できる。
また、一つの側面では、所定の化合物の探索に必要な演算ビット又は量子ビットの数を適切に抑制することができ、大きい分子量の化合物の探索が可能となる化合物探索プログラムを提供できる。
【図面の簡単な説明】
【００１４】
【図１】図１は、アミノ酸残基の数と、必要なｂｉｔ数との関係を表すグラフである。
【図２Ａ】図２Ａは、タンパク質の安定構造を探索するための模式図である（その１）。
【図２Ｂ】図２Ｂは、タンパク質の安定構造を探索するための模式図である（その２）。
【図２Ｃ】図２Ｃは、タンパク質の安定構造を探索するための模式図である（その３）。
【図３Ａ】図３Ａは、Ｄｉａｍｏｎｄ  ｅｎｃｏｒｄｉｎｇ法を説明するための模式図である（その１）。
【図３Ｂ】図３Ｂは、Ｄｉａｍｏｎｄ  ｅｎｃｏｒｄｉｎｇ法を説明するための模式図である（その２）。
【図３Ｃ】図３Ｃは、Ｄｉａｍｏｎｄ  ｅｎｃｏｒｄｉｎｇ法を説明するための模式図である（その３）。
【図３Ｄ】図３Ｄは、Ｄｉａｍｏｎｄ  ｅｎｃｏｒｄｉｎｇ法を説明するための模式図である（その４）。
【図３Ｅ】図３Ｅは、Ｄｉａｍｏｎｄ  ｅｎｃｏｒｄｉｎｇ法を説明するための模式図である（その５）。
【図４】図４は、開示の技術において格子空間を制限した状態の概念図である。
【図５】図５は、制限格子空間の最外縁（最外殻）にアミノ酸残基が配置されている例である。
【図６】図６は、開示の化合物探索装置の構成例である。
【図７】図７は、図６の化合物探索装置１０Ａを用いてタンパク質の安定構造を探索する方法を示すフローチャートである。
【図８】図８は、半径ｒにある各格子をＳｒとした場合を表す図である。
【図９Ａ】図９Ａは、制限格子空間を生成しない場合のアミノ酸残基の移動先の格子点の集合を表す図である（その１）。
【図９Ｂ】図９Ｂは、制限格子空間を生成しない場合のアミノ酸残基の移動先の格子点の集合を表す図である（その２）。
【図９Ｃ】図９Ｃは、制限格子空間を生成しない場合のアミノ酸残基の移動先の格子点の集合を表す図である（その３）。
【図９Ｄ】図９Ｄは、制限格子空間を生成しない場合のアミノ酸残基の移動先の格子点の集合を表す図である（その４）。
【図１０】図１０は、Ｓ１、Ｓ２、Ｓ３を三次元で表した図である。
【図１１Ａ】図１１Ａは、各ビットＸ１〜Ｘｎに空間の情報を割り振る様子の一例である（その１）。
【図１１Ｂ】図１１Ｂは、各ビットＸ１〜Ｘｎに空間の情報を割り振る様子の一例である（その２）。
【図１１Ｃ】図１１Ｃは、各ビットＸ１〜Ｘｎに空間の情報を割り振る様子の一例である（その３）。
【図１２】図１２は、Ｈｏｎｅを説明するための図である。
【図１３】図１３は、Ｈｃｏｎｎを説明するための図である。
【図１４】図１４は、Ｈｏｌａｐを説明するための図である。
【図１５Ａ】図１５Ａは、Ｈｐａｉｒを説明するための図である（その１）。
【図１５Ｂ】図１５Ｂは、Ｈｐａｉｒを説明するための図である（その２）。
【図１６】図１６は、重みファイルの一例である。
【図１７】図１７は、焼き鈍し法に用いる最適化装置（演算部）の概念的構成を示す図である。
【図１８】図１８は、遷移制御部の回路レベルのブロック図である。
【図１９】図１９は、遷移制御部の動作フローを示す図である。
【図２０Ａ】図２０Ａは、ダイアモンド格子空間にアミノ酸残基を配置した一例である（実施例１）。
【図２０Ｂ】図２０Ｂは、図２０Ａのダイアモンド格子空間を拡張した一例である（実施例１）。
【図２１】図２１は、開示の化合物探索装置の他の構成例である（実施例２）。
【図２２】図２２は、図２１の化合物探索装置１０Ｂを用いてタンパク質の安定構造を探索する他の方法を示すフローチャートである（実施例２）。
【図２３Ａ】図２３Ａは、ダイアモンド格子空間にアミノ酸残基を配置した一例である（実施例２）。
【図２３Ｂ】図２３Ｂは、図２３Ａのダイアモンド格子空間を拡張した一例である（実施例２）。
【図２３Ｃ】図２３Ｃは、図２３Ｂの拡張したダイアモンド格子空間に番号１〜４のアミノ酸残基を固定したことを示す図である（実施例２）。
【図２４Ａ】図２４Ａは、ダイアモンド格子空間にアミノ酸残基を配置した一例である（実施例３）。
【図２４Ｂ】図２４Ｂは、図２４Ａのダイアモンド格子空間を拡張した一例である（実施例３）。
【図２４Ｃ】図２４Ｃは、図２４Ｂの拡張したダイアモンド格子空間に番号１〜４のアミノ酸残基を固定したことを示す図である（実施例３）。
【図２５Ａ】図２５Ａは、ダイアモンド格子空間にアミノ酸残基を配置した一例である（実施例４）。
【図２５Ｂ】図２５Ｂは、図２５Ａのダイアモンド格子空間を拡張した一例である（実施例４）。
【図２６Ａ】図２６Ａは、ダイアモンド格子空間にアミノ酸残基を配置した一例である（実施例５）。
【図２６Ｂ】図２６Ｂは、図２６Ａのダイアモンド格子空間を拡張した一例である（実施例５）。
【図２６Ｃ】図２６Ｃは、図２６Ｂの拡張したダイアモンド格子空間に番号１〜４のアミノ酸残基を固定したことを示す図である（実施例５）。
【図２７Ａ】図２７Ａは、ダイアモンド格子空間にアミノ酸残基を配置した一例である（実施例６）。
【図２７Ｂ】図２７Ｂは、図２７Ａのダイアモンド格子空間を拡張した一例である（実施例６）。
【図２７Ｃ】図２７Ｃは、図２７Ｂの拡張したダイアモンド格子空間に番号１〜４のアミノ酸残基を固定したことを示す図である（実施例６）。
【図２８】図２８は、実施例１〜６の関係をまとめた図である。
【図２９】図２９は、開示の化合物探索装置の他の構成例である。
【図３０】図３０は、図７のフローチャートの工程Ｓ１０１〜Ｓ１０７の変形例のフローチャートである。
【図３１】図３１は、直鎖数制限パラメータＭを設定した場合の、アミ酸残基の配列の制限を説明するための図である（その１）。
【図３２】図３２は、直鎖数制限パラメータＭを設定した場合の、アミ酸残基の配列の制限を説明するための図である（その２）。
【図３３】図３３は、図７のフローチャートの工程Ｓ１０１〜Ｓ１０７の他の変形例のフローチャートである。
【図３４】図３４は、直鎖数制限パラメータＭを用いた場合の最大空間を説明するための図である。
【図３５】図３５は、比較例と参考例とについて、必要なｂｉｔ数を対比したグラフである。
【図３６】図３６は、ｂｉｔ数の削減効果の一例を説明するための図である。
【発明を実施するための形態】
【００１５】
（化合物探索装置、化合物探索方法、化合物探索プログラム）
開示の化合物探索装置は、複数の化合物基が連結した化合物を探索する化合物探索装置である。
化合物探索装置は、定義部と、制限部と、割当部と、演算部と、判定部と、制御部とを少なくとも有する。
定義部は、複数の化合物基が順次配置される格子の集合である格子空間を定義する。
制限部は、複数の化合物基のいずれかを格子空間のいずれかの格子に配置後、次の化合物基を格子空間に配置する場合において、格子空間から次の化合物基を配置すべきでない領域を除外した制限格子空間を生成する。
割当部は、制限格子空間に複数の化合物基が配置されうる各格子点にビットをそれぞれ割り当てる。
演算部は、各格子点に関する制約条件に基づいて変換したイジングモデルについて、焼き鈍し法を用いた基底状態探索を実行することにより、イジングモデルの最小エネルギーを算出する。
判定部は、各格子点に割り当てた複数の化合物基のいずれかが、制限格子空間の最外縁に配置されたかを判定する。
制御部は、判定部が、各格子点に割り当てた複数の化合物基のいずれかが、制限格子空間の最外縁に配置されたと判定した場合、制限部に、制限格子空間を拡張させるとともに、割当部による拡張後の制限格子空間に含まれる各格子点へのビットの割り当てと、演算部によるイジングモデルの最小エネルギーの算出とを実行させる。
【００１６】
開示の化合物探索方法は、複数の化合物基が連結した化合物を探索する化合物探索方法である。
化合物探索方法においては、コンピュータが、複数の化合物基が順次配置される格子の集合である格子空間を定義し、複数の化合物基のいずれかを格子空間のいずれかの格子に配置後、次の化合物基を格子空間に配置する場合において、格子空間から次の化合物基を配置すべきでない領域を除外した制限格子空間を生成し、制限格子空間に複数の化合物基が配置されうる各格子点にビットをそれぞれ割り当て、各格子点に関する制約条件に基づいて変換したイジングモデルについて、焼き鈍し法を用いた基底状態探索を実行することにより、イジングモデルの最小エネルギーを算出する。
更に、化合物探索方法においては、コンピュータが、各格子点に割り当てた複数の化合物基のいずれかが、制限格子空間の最外縁に配置されたかを判定し、各格子点に割り当てた複数の化合物基のいずれかが、制限格子空間の最外縁に配置されたと判定した場合、制限格子空間を拡張させるとともに、拡張後の制限格子空間に含まれる各格子点へのビットの割り当てと、イジングモデルの最小エネルギーの算出とを実行する。
【００１７】
開示の化合物探索プログラムは、複数の化合物基が連結した化合物を探索する化合物探索プログラムである。
化合物探索プログラムにおいては、コンピュータに、複数の化合物基が順次配置される格子の集合である格子空間を定義させ、複数の化合物基のいずれかを格子空間のいずれかの格子に配置後、次の化合物基を格子空間に配置する場合において、格子空間から次の化合物基を配置すべきでない領域を除外した制限格子空間を生成させ、制限格子空間に複数の化合物基が配置されうる各格子点にビットをそれぞれ割り当てさせ、各格子点に関する制約条件に基づいて変換したイジングモデルについて、焼き鈍し法を用いた基底状態探索を実行することにより、イジングモデルの最小エネルギーを算出させる。
更に、化合物探索プログラムにおいては、コンピュータに、各格子点に割り当てた複数の化合物基のいずれかが、制限格子空間の最外縁に配置されたかを判定させ、各格子点に割り当てた複数の化合物基のいずれかが、制限格子空間の最外縁に配置されたと判定した場合、制限格子空間を拡張させるとともに、拡張後の制限格子空間に含まれる各格子点へのビットの割り当てと、イジングモデルの最小エネルギーの算出とを実行させる。
【００１８】
開示の技術の詳細を説明する前に、化合物であるタンパク質の折り畳みをＤｉａｍｏｎｄ  ｅｎｃｏｒｄｉｎｇ法によって求める方法について、説明する。
タンパク質の安定構造の探索は、通常、以下の手順で行われる。
【００１９】
まず、タンパク質の粗視化を行う（図２Ａ）。タンパク質の粗視化は、例えば、タンパク質を構成する原子２を、アミノ酸残基単位１Ａ、１Ｂ、１Ｃに粗視化することで行う。
次に、作成した粗視化モデルを用いて構造探索を行う（図２Ｂ）。構造探索は、後述するＤｉａｍｏｎｄ  ｅｎｃｏｒｄｉｎｇ法によって行う。
次に、粗視化モデルを全原子に戻す（図２Ｃ）。
【００２０】
Ｄｉａｍｏｎｄ  ｅｎｃｏｒｄｉｎｇ法は、鎖状のアミノ酸がどの位置にあるのかをダイアモンド格子上に埋め込んでいく手法であり、三次元の構造体が表現できる。以下では、簡略化のため二次元の場合を例として示す。
直線構造で表した場合に、５つのアミノ酸残基が結合した図３Ａの構造を持つ直鎖ペンタペプチドを例として、考える。図３Ａ〜図３Ｅにおいて、丸の中の番号は、直鎖ペンタペプチドにおけるアミノ酸残基の番号を表す。
まず、ダイアモンド格子の中心に、番号１のアミノ酸残基を配置すると、図３Ａに示すように、番号２のアミノ酸残基の配置可能な場所は、中心に隣接する図３Ｂに示す場所（番号２が付された場所）に限定される。
次に、番号２のアミノ酸残基に結合する番号３のアミノ酸残基の配置可能な場所は、図３Ｃにおいて、図３Ｂにおいて番号２が付された場所に隣接する場所（番号３が付された場所）に限定される。
次に、番号３のアミノ酸残基に結合する番号４のアミノ酸残基の配置可能な場所は、図３Ｄにおいて、図３Ｃにおいて番号３が付された場所に隣接する場所（番号４が付された場所）に限定される。
次に、番号４のアミノ酸残基に結合する番号５のアミノ酸残基の配置可能な場所は、図３Ｅにおいて、図３Ｄにおいて番号４が付された場所に隣接する場所（番号５が付された場所）に限定される。
このようにして、配置可能な場所をつないでいくことで、三次元の構造体が表現できる。
【００２１】
ここで、アミノ酸残基が直線状に結合していくと、結合させるアミノ酸残基の数（ｎ）に応じて、半径（ｎ）のダイアモンド格子空間を設定する必要がある。
しかし、タンパク質においては、通常、アミノ酸残基同士の相互作用によって、アミノ酸残基が直鎖状に並ぶことはほとんどない。
そのため、図４に示すように、ダイアモンド格子空間の半径ｒを、アミノ酸残基の数（ｎ）に一致させなくとも、タンパク質の立体構造を求めることができる。
【００２２】
そこで、開示の技術においては、複数の化合物基（例えば、アミノ酸残基）のいずれかを格子空間のいずれかの格子に配置後、次の化合物基を格子空間に配置する場合において、格子空間から次の化合物基を配置すべきでない領域を除外した制限格子空間を生成し、その制限格子空間に複数の化合物基が配置されうる各格子点にビットをそれぞれ割り当てる。以下、この技術を「参考例」と称することがある。そうすることで、所定の化合物の探索に必要な演算ビット又は量子ビットの数を抑制することができ、大きい分子量の化合物の探索が可能となる。
しかし、この場合、制限格子空間が狭すぎると、制限格子空間の最外縁により化合物基の配置が制限される結果、適切な立体構造を得られていない場合がある。即ち、各格子点に割り当てた複数の化合物基のいずれかが、制限格子空間の最外縁に配置されている場合には、格子空間を制限しすぎている場合があることになる。
例えば、半径３のダイアモンド格子空間において５個のアミノ酸残基が図５に示すように並んでいる場合を考える。３番目のアミノ酸残基が最外縁に配置されているために、４番目のアミノ酸残基は矢印の方向に配置されない。しかし、４番目のアミノ酸残基が矢印の方向のいずれかに配置されるほうが安定な立体構造になるかもしれない。
そこで、開示の技術においては、更に、各格子点に割り当てた複数の化合物基のいずれかが、制限格子空間の最外縁に配置されている場合には、制限格子空間を拡張させる。そうすることで、所定の化合物の探索に必要な演算ビット又は量子ビットの数を適切に抑制することができ、大きい分子量の化合物の探索が可能となる。
ここで、最外縁とは、ダイアモンド格子空間における最外殻であり、最外の面、及び最外の辺の両方を含む。
【００２３】
化合物基としては、例えば、アミノ酸残基である。
化合物基がアミノ酸残基の場合、化合物としては、例えば、タンパク質が挙げられる。
アミノ酸残基の元となるアミノ酸としては、天然アミノ酸であってもよいし、人工アミノ酸であってもよい。天然アミノ酸としては、例えば、アラニン、アルギニン、アスパラギン、アスパラギン酸、システイン、グルタミン、グルタミン酸、グリシン、ヒスチジン、イソロイシン、ロイシン、リシン、メチオニン、フェニルアラニン、プロリン、セリン、トレオニン、トリプトファン、チロシン、バリン、β−アラニン、β−フェニルアラニンなどが挙げられる。人工アミノ酸としては、例えば、パラベンゾイルフェニルアラニンなどが挙げられる。
【００２４】
タンパク質におけるアミノ酸残基の数としては、特に制限はなく、目的に応じて適宜選択することができ、例えば、１０〜３０程度であってもよいし、数百であってもよい。
例えば、中分子創薬を対象とするタンパク質であれば、１０〜３０程度であってもよい。
【００２５】
以下、装置例、フローチャート等を用いて、開示の技術の一例を説明する。
【００２６】
化合物探索装置の構成例を図６に示す。
図６に示す化合物探索装置１０Ａは、化合物基数カウント部１１と、定義部１２と、制限部１３と、割当部１４と、Ｈ生成部１５と、重み抽出部１６と、重みファイル作成部１７と、演算部１８と、判定部１９と、制御部２０と、出力部２１とを有する。
【００２７】
図７に、図６の化合物探索装置１０Ａを用いてタンパク質の安定構造を探索するフローチャートを示す。
【００２８】
＜工程Ｓ１０１＞
まず、化合物基数カウント部１１では、入力されたタンパク質（アミノ酸酸残基の配列）を構成するアミノ酸残基（化合物基）の数（ｎ）がカウントされる（Ｓ１０１）。
【００２９】
＜工程Ｓ１０２＞
次に、定義部１２では、アミノ酸残基の数（ｎ）に基づいて、複数のアミノ酸残基が順次配置される格子の集合である格子空間が定義される（Ｓ１０２）。
ここで、格子空間の定義の一例を説明する。格子空間は三次元であるが、以下では、簡略化のため二次元の場合を例として示す。
まず、ダイアモンド格子空間において半径ｒにある格子の集合をＳｈｅｌｌとし、各格子点をＳｒとする。すると、各格子点Ｓｒは、図８のように表すことができる。
【００３０】
ここで、開示の技術と異なり、制限格子空間を生成しない場合、例えば、１〜５個目のアミノ酸残基の移動先の格子点の集合Ｖ１〜Ｖ５は図９Ａ〜図９Ｄのようになる。
ここで、図９Ａにおいては、Ｖ１＝Ｓ１であり、Ｖ２＝Ｓ２である。
図９Ｂにおいて、Ｖ３＝Ｓ３である。
図９Ｃにおいて、Ｖ４＝Ｓ２、Ｓ４である。
図９Ｄにおいて、Ｖ５＝Ｓ３、Ｓ５である。
なお、Ｓ１、Ｓ２、Ｓ３を三次元で表すと図１０のようになる。図１０において、Ａ＝Ｓ１であり、Ｂ＝Ｓ２であり、Ｃ＝Ｓ３である。
そして、制限格子空間を生成しない場合、ｎ個のアミノ酸残基を有するタンパク質におけるｉ番目のアミノ酸残基に必要な空間Ｖｉは、以下の式で表される。
【００３１】
【数１】
2020067931.tif 000003
ここで、ｉ＝｛１，２，３，．．．．．．ｎ｝である。
そして、奇数番目（ｉ＝奇数）のアミノ酸残基の場合は、Ｊ＝｛１，３，．．．．．ｉ｝であり、偶数番目（ｉ＝偶数）のアミノ酸残基の場合は、Ｊ＝｛２，４，．．．．．ｉ｝である。
【００３２】
＜工程Ｓ１０３及びＳ１０４＞
他方、開示の技術においては、制限部１３において、複数の化合物基のいずれかを格子空間のいずれかの格子に配置後、次の化合物基を格子空間に配置する場合において、格子空間から次の化合物基を配置すべきでない領域を除外した制限格子空間を生成する。例えば、ダイアモンド格子空間の大きさを表す空間制限パラメータＬ（Ｌ＜ｎ）を設定し（Ｓ１０３）、その空間制限パラメータＬの制限下で、ｉ個目のアミノ酸残基の移動先の格子点の集合をＶｉとする（Ｓ１０４）。
そうすることで、ｉ番目のアミノ酸残基に必要な空間であるＶｉは、以下の式で表される。
【００３３】
【数２】
2020067931.tif 000004
ここで、ｉ＝｛１，２，３，．．．．．．ｎ｝である。
そして、空間制限パラメータＬが偶数、かつｉ＜Ｌのとき、
・奇数番目（ｉ＝奇数）のアミノ酸残基の場合は、Ｊ＝｛１，３，．．．．．ｉ｝である。
・偶数番目（ｉ＝偶数）のアミノ酸残基の場合は、Ｊ＝｛２，４，．．．．．ｉ｝である。
空間制限パラメータＬが偶数、かつｉ＞Ｌのとき、
・奇数番目（ｉ＝奇数）のアミノ酸残基の場合は、Ｊ＝｛１，３，．．．．．Ｌ−１｝である。
・偶数番目（ｉ＝偶数）のアミノ酸残基の場合は、Ｊ＝｛２，４，．．．．．Ｌ｝である。
空間制限パラメータＬが奇数、かつｉ＜Ｌのとき、
・奇数番目（ｉ＝奇数）のアミノ酸残基の場合は、Ｊ＝｛１，３，．．．．．ｉ｝である。
・偶数番目（ｉ＝偶数）のアミノ酸残基の場合は、Ｊ＝｛２，４，．．．．．ｉ｝である。
空間制限パラメータＬが奇数、かつｉ＞Ｌのとき、
・奇数番目（ｉ＝奇数）のアミノ酸残基の場合は、Ｊ＝｛１，３，．．．．．Ｌ｝である。
・偶数番目（ｉ＝偶数）のアミノ酸残基の場合は、Ｊ＝｛２，４，．．．．．Ｌ−１｝である。
【００３４】
以上により、アミノ酸残基が入る空間が定義される。
【００３５】
＜工程Ｓ１０５＞
次に、割当部１４では、制限格子空間に複数の化合物基が配置されうる各格子点にビットをそれぞれ割り当てる。即ち、各ビットＸ１〜Ｘｎに空間の情報を割り振ることが行われる（Ｓ１０５）。具体的には、図１１Ｂ〜図１１Ｅに示すように、各アミノ酸残基の入る空間に対して、その位置にアミノ酸残基が在ることを１とし、無いことを０として表すビットを割り振る。なお、図１１Ａ〜図１１Ｃにおいては、各アミノ酸残基２〜４に対して複数のＸｉに割当てられているが、実際は、１つのアミノ酸残基１つに対して、１つのビットＸｉが割り当てられる。
【００３６】
＜工程Ｓ１０６＞
次に、Ｈｏｎｅ，Ｈｃｏｎｎ，Ｈｏｌａｐ，Ｈｐａｉｒを設定し、各格子点に関する制約条件に基づいて変換したイジングモデルを作成する（Ｓ１０６）。
Ｈｏｎｅ，Ｈｃｏｎｎ，Ｈｏｌａｐ，Ｈｐａｉｒの設定は、Ｈ生成部１５のＨｏｎｅ生成部１５Ａ、Ｈｃｏｎｎ生成部１５Ｂ、Ｈｏｌａｐ生成部１５Ｃ、Ｈｐａｉｒ生成部１５Ｄにおいてそれぞれ行われる。
【００３７】
ここで、Ｄｉａｍｏｎｄ  ｅｎｃｏｒｄｉｎｇ法において、全エネルギーは、以下のように表現できる。
【００３８】
【数３】
2020067931.tif 000005
ここで、Ｈｏｎｅは、１〜ｎ番目のアミノ酸はそれぞれ一つしかないという制約を表す。
Ｈｃｏｎｎは、１〜ｎ番目のアミノ酸はそれぞれ繋がっているという制約を表す。
Ｈｏｌａｐは、１〜ｎ番目のアミノ酸はそれぞれ重ならないという制約を表す。
Ｈｐａｉｒは、アミノ酸同士の相互作用を表す制約を表す。
【００３９】
各制約の一例は、以下の通りである。
なお、以下において説明する図１２〜図１５において、Ｘ１は、番号１のアミノ酸残基が配置可能な位置を表す。
Ｘ２〜Ｘ５は、番号２のアミノ酸残基が配置可能な位置を表す。
Ｘ６〜Ｘ１３は、番号３のアミノ酸残基が配置可能な位置を表す。
Ｘ１４〜Ｘ２９は、番号４のアミノ酸残基が配置可能な位置を表す。
【００４０】
Ｈｏｎｅの一例を以下に示す。
【００４１】
【数４】
2020067931.tif 000006
【００４２】
上記関数において、Ｘａ、Ｘｂは、１又は０を取る。即ち、Ｈｏｎｅは、図１２において、Ｘ２、Ｘ３、Ｘ４、Ｘ５のうち、いずれか一つだけ１であるため、いずれか二つ以上１になっていた場合エネルギーが上がる関数であり、一つだけ１であった場合は０になるペナルティーの項である。
なお、上記関数において、λｏｎｅは、重み付けのための係数である。
【００４３】
Ｈｃｏｎｎの一例を以下に示す。
【００４４】
【数５】
2020067931.tif 000007
上記関数において、Ｘｄ、Ｘｕは、１又は０を取る。即ち、Ｈｃｏｎｎは、図１３において、Ｘ２が１のとき、Ｘ１３、Ｘ６、Ｘ７のいずれかがが１であればエネルギーが下がる式であり、すべてのアミノ酸残基が連結していると０になるペナルティー項である。
なお、上記関数において、λｃｏｎｎは、重み付けのための係数である。例えば、λｏｎｅ＞λｃｏｎｎの関係にある。
【００４５】
Ｈｏｌａｐの一例を以下に示す。
【００４６】
【数６】
2020067931.tif 000008
【００４７】
上記関数において、Ｘａ、Ｘｂは、１又は０を取る。即ち、Ｈｏｌａｐは、図１４において、Ｘ２が１のとき、Ｘ１４が１になった場合にペナルティーが発生する項である。
なお、上記関数において、λｏｌａｐは、重み付けのための係数である。
【００４８】
Ｈｐａｉｒの一例を以下に示す。
【００４９】
【数７】
2020067931.tif 000009
【００５０】
上記関数において、Ｘａ、Ｘｂは、１又は０を取る。即ち、Ｈｐａｉｒは、図１５Ａ及び図１５Ｂにおいて、Ｘ１が１のとき、Ｘ１５が１になった場合にＸ１のアミノ酸残基とＸ１５のアミノ酸残基との間に相互作用Ｐω（ｘ１）ω（ｘ１５）が働きエネルギーが下がるという関数である。相互作用Ｐω（ｘ１）ω（ｘ１５）は、２つのアミノ酸残基の組み合わせにより決まり、相互作用Ｐω（ｘ１）ω（ｘ１５）は、例えば、ｍｉｙａｚａｗａ−ｊｅｒｎｉｇａｎ（ＭＪ）  ｍａｔｒｉｘなどを参照して決定される。
【００５１】
次に、合成部１５Ｅにおいて、Ｈｏｎｅ，Ｈｃｏｎｎ，Ｈｏｌａｐ，及びＨｐａｉｒを合成することでＨが算出される。
【００５２】
次に、重み抽出部１６において、上記各関数における重み係数（λｏｎｅ、λｃｏｎｎ、λｏｌａｐ）が抽出される。
次に、重みファイル作成部１７において、抽出された重み係数に対応した重みファイルが作成される。重みファイルは、例えば、行列であり、例えば、２Ｘ１Ｘ２＋４Ｘ２Ｘ３の場合、図１６のような行列のファイルとなる。
【００５３】
作成した重みファイルを用いることで、以下のイジングモデルのエネルギー式を表現できる。
【００５４】
【数８】
2020067931.tif 000010
上記関数において、状態Ｘｉ、Ｘｊは、０又は１を表し、０は、無いことを意味し、１は、在ることを意味する。右辺の１項目のＷｉｊは、重み付けのための係数である。
右辺の１項目は、全ニューロン回路から選択可能な２つのニューロン回路の全組み合わせについて、漏れと重複なく、２つのニューロン回路の状態と重み値との積を積算したものである。
また、右辺の２項目は、全ニューロン回路のそれぞれのバイアス値と状態との積を積算したものである。ｂｉは、ｉ番目のニューロン回路のバイアス値を示している。
【００５５】
＜工程Ｓ１０７＞
次に、演算部１８（アニーリングマシン）において、各格子点に関する制約条件に基づいて変換したイジングモデルについて、焼き鈍し法を用いた基底状態探索を実行することにより、イジングモデルの最小エネルギーを算出する（Ｓ１０７）。
演算部１８（アニーリングマシン）としては、イジングモデルで表されるエネルギー関数について基底状態探索を行なうアニーリング方式を採用するコンピュータであれば、量子アニーリングマシンであっても、半導体技術を用いた半導体アニーリングマシンであっても、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）やＧＰＵ（Ｇｒａｐｈｉｃｓ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）を用いてソフトウェアにより実行されるシミュレーテッド・アニーリング（Ｓｉｍｕｌａｔｅｄ  Ａｎｎｅａｌｉｎｇ）の何れであっても良い。
【００５６】
以下に、焼き鈍し法、及び演算部１８（アニーリングマシン）の一例について説明する。
焼き鈍し法（シミュレーテッド・アニーリング法、ＳＡ法）はモンテカルロ法の一種であり、乱数値を用いて確率的に解を求める方法である。以下では最適化したい評価関数の値を最小化する問題を例に説明し、評価関数の値をエネルギーと呼ぶことにする。最大化の場合は、評価関数の符号を変えればよい。
【００５７】
各変数に離散値の１つを代入した初期状態からはじめ、現在の状態（変数の値の組み合わせ）から、それに近い状態（例えば１つの変数だけ変化させた状態）を選び、その状態遷移を考える。その状態遷移に対するエネルギーの変化を計算し、その値に応じてその状態遷移を採択して状態を変化させるか、採択せずに元の状態を保つかを確率的に決める。エネルギーが下がる場合の採択確率をエネルギーが上がる場合より大きく選ぶと、平均的にはエネルギーが下がる方向に状態変化が起こり、時間の経過とともにより適切な状態へ状態遷移することが期待できる。そして、最終的には最適解又は最適値に近いエネルギーを与える近似解を得られる可能性がある。もし、これを決定論的にエネルギーが下がる場合に採択とし、上がる場合に不採択とすれば、エネルギーの変化は時間に対して広義単調減少となるが、局所解に到達したらそれ以上変化が起こらなくなってしまう。上記のように離散最適化問題には非常に多数の局所解が存在するために、状態が、ほとんど確実にあまり最適値に近くない局所解に捕まってしまう。したがって、採択するかどうかを確率的に決定することが重要である。
【００５８】
焼き鈍し法においては、状態遷移の採択（許容）確率を次のように決めれば、時刻（反復回数）無限大の極限で状態が最適解に到達することが証明されている。
（１）状態遷移に伴うエネルギー変化（エネルギー減少）値（−ΔＥ）に対して、その状態遷移の許容確率ｐを次の何れかの関数ｆ（）により決める。
【００５９】
【数９】
2020067931.tif 000011
【００６０】
【数１０】
2020067931.tif 000012
【００６１】
【数１１】
2020067931.tif 000013
【００６２】
ここで、Ｔは、温度値と呼ばれるパラメータで次のように変化させる。
（２）温度値Ｔを次式で表されるように反復回数ｔに対数的に減少させる。
【００６３】
【数１２】
2020067931.tif 000014
【００６４】
ここで、Ｔ０は、初期温度値であり問題に応じて十分大きくとることが望ましい。
（１）の式で表される許容確率を用いた場合、十分な反復後に定常状態に達したとすると、各状態の占有確率は熱力学における熱平衡状態に対するボルツマン分布にしたがう。
そして、高い温度から徐々に下げていくとエネルギーの低い状態の占有確率が増加するため、十分温度が下がるとエネルギーの低い状態が得られるはずである。この様子が材料を焼き鈍したときの状態変化とよく似ているため、この方法は焼き鈍し法（または、疑似焼き鈍し法）と呼ばれるのである。このとき、エネルギーが上がる状態遷移が確率的に起こることは、物理学における熱励起に相当する。
【００６５】
図１７に焼き鈍し法を行う最適化装置（演算部１８）の概念的構成を示す。ただし、下記説明では、状態遷移の候補を複数発生させる場合についても述べているが、本来の基本的な焼き鈍し法は遷移候補を１つずつ発生させるものである。
【００６６】
最適化装置１００には、まず現在の状態Ｓ（複数の状態変数の値）を保持する状態保持部１１１がある。また、複数の状態変数の値の何れかが変化することによる現在の状態Ｓからの状態遷移が起こった場合の、各状態遷移のエネルギー変化値｛−ΔＥｉ｝を計算するエネルギー計算部１１２がある。そして、最適化装置１００には、温度値Ｔを制御する温度制御部１１３、状態変化を制御するための遷移制御部１１４がある。
【００６７】
遷移制御部１１４は、温度値Ｔとエネルギー変化値｛−ΔＥｉ｝と乱数値とに基づいて、エネルギー変化値｛−ΔＥｉ｝と熱励起エネルギーとの相対関係によって複数の状態遷移の何れかを受け入れるか否かを確率的に決定するものである。
【００６８】
遷移制御部１１４をさらに細分化すると、遷移制御部１１４は、状態遷移の候補を発生する候補発生部１１４ａ、各候補に対して、そのエネルギー変化値｛−ΔＥｉ｝と温度値Ｔとから状態遷移を許可するかどうかを確率的に決定するための可否判定部１１４ｂを有する。さらに、可となった候補から採用される候補を決定する遷移決定部１１４ｃ、及び、確率変数を発生させるための乱数発生部１１４ｄを有する。
【００６９】
一回の反復における動作は次のようなものである。まず、候補発生部１１４ａは、状態保持部１１１に保持された現在の状態Ｓから次の状態への状態遷移の候補（候補番号｛Ｎｉ｝）を１つまたは複数発生する。エネルギー計算部１１２は、現在の状態Ｓと状態遷移の候補を用いて候補に挙げられた各状態遷移に対するエネルギー変化値｛−ΔＥｉ｝を計算する。可否判定部１１４ｂは、温度制御部１１３で発生した温度値Ｔと乱数発生部１１４ｄで生成した確率変数（乱数値）を用い、各状態遷移のエネルギー変化値｛−ΔＥｉ｝に応じて、上記（１）の式の許容確率でその状態遷移を許容する。そして、可否判定部１１４ｂは、各状態遷移の可否｛ｆｉ｝を出力する。許容された状態遷移が複数ある場合には、遷移決定部１１４ｃは、乱数値を用いてランダムにそのうちの１つを選択する。そして、遷移決定部１１４ｃは、選択した状態遷移の遷移番号Ｎと、遷移可否ｆを出力する。許容された状態遷移が存在した場合、採択された状態遷移に応じて状態保持部１１１に記憶された状態変数の値が更新される。
【００７０】
初期状態から始めて、温度制御部１１３で温度値を下げながら上記反復を繰り返し、一定の反復回数に達したり、エネルギーが一定の値を下回る等の終了判定条件が満たされたとき、動作が終了する。最適化装置１１０が出力する答えは終了時の状態である。
【００７１】
図１８は、候補を１つずつ発生させる通常の焼き鈍し法における遷移制御部、特に可否判定部のために必要な演算部分の構成例の回路レベルのブロック図である。
遷移制御部１１４は、乱数発生回路１１４ｂ１、セレクタ１１４ｂ２、ノイズテーブル１１４ｂ３、乗算器１１４ｂ４、比較器１１４ｂ５を有する。
【００７２】
セレクタ１１４ｂ２は、各状態遷移の候補に対して計算されたエネルギー変化値｛−ΔＥｉ｝のうち、乱数発生回路１１４ｂ１が生成した乱数値である遷移番号Ｎに対応するものを選択して出力する。
【００７３】
ノイズテーブル１１４ｂ３の機能については後述する。ノイズテーブル１１４ｂ３として、例えば、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）、フラッシュメモリ等のメモリを用いることができる。
【００７４】
乗算器１１４ｂ４は、ノイズテーブル１１４ｂ３が出力する値と、温度値Ｔとを乗算した積（前述した熱励起エネルギーに相当する）を出力する。
比較器１１４ｂ５は、乗算器１１４ｂ４が出力した乗算結果と、セレクタ１１４ｂ２が選択したエネルギー変化値である−ΔＥとを比較した比較結果を遷移可否ｆとして出力する。
【００７５】
図１８に示されている遷移制御部１１４は、基本的に前述した機能をそのまま実装するものであるが、（１）の式で表される許容確率で状態遷移を許容するメカニズムについてはこれまで説明していないのでこれを補足する。
【００７６】
許容確率ｐで１を、（１−ｐ）で０を出力する回路は、２つの入力Ａ，Ｂを持ち、Ａ＞Ｂのとき１を出力し、Ａ＜Ｂのとき０を出力する比較器の入力Ａに許容確率ｐを、入力Ｂに区間［０，１）の値をとる一様乱数を入力することで実現することができる。したがってこの比較器の入力Ａに、エネルギー変化値と温度値Ｔにより（１）の式を用いて計算される許容確率ｐの値を入力すれば、上記の機能を実現することができる。
【００７７】
即ちｆを（１）の式で用いる関数、ｕを区間［０，１）の値をとる一様乱数とするとき、ｆ（ΔＥ／Ｔ）がｕより大きいとき１を出力する回路で、上記の機能を実現できる。
【００７８】
このままでもよいのであるが、次のような変形を行っても同じ機能が実現できる。２つの数に同じ単調増加関数を作用させても大小関係は変化しない。したがって比較器の２つの入力に同じ単調増加関数を作用させても出力は変わらない。この単調増加関数としてｆの逆関数ｆ−１を採用すると、−ΔＥ／Ｔがｆ−１（ｕ）より大きいとき１を出力する回路でよいことがわかる。さらに温度値Ｔが正であることから−ΔＥがＴｆ−１（ｕ）より大きいとき１を出力する回路でよい。図１８中のノイズテーブル１１４ｂ３はこの逆関数ｆ−１（ｕ）を実現するための変換テーブルであり、区間［０，１）を離散化した入力に対して次の関数の値を出力するテーブルである。
【００７９】
【数１３】
2020067931.tif 000015
【００８０】
【数１４】
2020067931.tif 000016
【００８１】
遷移制御部１１４には、判定結果等を保持するラッチやそのタイミングを発生するステートマシン等も存在するが、図１８では図示を簡単にするため省略されている。
【００８２】
図１９は、遷移制御部１１４の動作フローである。動作フローは、１つの状態遷移を候補として選ぶステップ（Ｓ０００１）、その状態遷移に対するエネルギー変化値と温度値と乱数値の積の比較で状態遷移の可否を決定するステップ（Ｓ０００２）、状態遷移が可ならばその状態遷移を採用し、否ならば不採用とするステップ（Ｓ０００３）を有する。
【００８３】
＜工程Ｓ１０８＞
次に、制限格子空間が十分な広さを設定できていたかの確認として、判定部１９において、各格子点に割り当てた複数の化合物基のいずれかが、制限格子空間の最外縁に配置されたかを判定する（Ｓ１０８）。
判定は、通常、算出された最小エネルギーを有するタンパク質の立体構造に対して行う。
なお、判定においては、通常、各格子点に割り当てた複数の化合物基のうち、最初に配置された化合物基と最後に配置された化合物基とを除いた化合物基のいずれかが、制限格子空間の最外縁に配置されたかを判定する。これは、最初に配置された化合物基は、通常、最外縁に配置されないためである。また、これは、最後に配置された化合物基が最外縁に配置されていても、次に配置される化合物基はないため、最外縁により化合物基の配置は制限されないためである。
【００８４】
＜工程Ｓ１０９＞
そして、各格子点に割り当てた複数の化合物基のいずれかが、制限格子空間の最外縁に配置されていないと、判定部１９が判定した場合には、制限格子空間が十分な広さを設定できていたと評価し、算出された最小エネルギーを有するタンパク質の立体構造に関する算出結果を出力する（Ｓ１０９）。
【００８５】
算出された結果は、出力部２１から出力される。結果は、タンパク質の立体構造図として出力してもよいし、タンパク質を構成する各アミノ酸残基の座標情報として出力してもよい。
【００８６】
＜工程Ｓ１１０＞
他方、各格子点に割り当てた複数の化合物基のいずれかが、制限格子空間の最外縁に配置されていたと、判定部１９が判定した場合には、制限格子空間が十分な広さを設定できていないと評価されるため、制限格子空間を拡張する。そのために、空間制限パラメータＬに拡張情報Ｋを加える（Ｓ１１０）。そして、拡張後の制限格子空間に含まれる各格子点へのビットの割り当てと、イジングモデルの最小エネルギーの算出とが行われる（Ｓ１０４〜Ｓ１０７）。
この際、制御部２０は、制限部１３に、制限格子空間の拡張を実行させる。
また、制御部２０は、割当部１４に、拡張後の制限格子空間に含まれる各格子点へのビットの割り当てを実行させる。
また、制御部２０は、演算部１８に、イジングモデルの最小エネルギーの算出を実行させる。
なお、制限格子空間を拡張する際、元の格子空間まで広げることは、通常、しない。
【００８７】
拡張の態様としては、例えば、制限格子空間の最外縁の外側に、均一に格子点を所定の数拡張させる態様であってもよいし、制限格子空間の最外縁に配置された化合物基の周囲の格子空間のみを拡張させる態様であってもよい。
また、制御部２０は、制限格子空間の最外縁に配置されたと判定された化合物基と、当該化合物基よりも配置の順番が若い化合物基とについては、既に割り当てられたビットを変更させないことが好ましい。なお、制限格子空間の最外縁に配置されたと判定された化合物基が複数ある場合、「制限格子空間の最外縁に配置されたと判定された化合物基」は、複数の化合物基のうちの配置の順番が一番若い化合物基であることが好ましい。
更に、拡張情報は、最後に配置された化合物基の配置の順番（ｎ）と、制限格子空間の最外縁に配置されたと判定された化合物基の配置の順番（Ｍ）との差（ｎ−Ｍ）を考慮し、制御部２０は、拡張情報に基づいて、差（ｎ−Ｍ）が大きい場合よりも、差（ｎ−Ｍ）が小さい場合のほうが、制限格子空間を小さく拡張させるように、制限部１３に、制限格子空間を拡張させることが好ましい。
これらを、一つ又は複数組み合わせて、実施してもよい。その例を、以下の実施例１〜６に示す。
【００８８】
＜実施例１＞
制限格子空間の拡張の一例を図を用いて説明する。
図２０Ａは、ダイアモンド格子空間にアミノ酸残基を配置した一例である。図２０Ａでは、アミノ酸残基の数（ｎ）が７（ｎ＝７）の場合に、空間制限パラメータＬを４（Ｌ＝４）とし、半径ｒが４（ｒ＝４）のダイアモンド格子空間に７個のアミノ酸残基が配置されている。
図２０Ａでは、番号４のアミノ酸残基が、ダイアモンド格子空間の最外縁に配置されている。
そのため、工程Ｓ１０８による判定により、各格子点に割り当てた複数の化合物基のいずれかが、制限格子空間の最外縁に配置されていたと判定され、ダイアモンド格子空間の拡張が行われる。
図２０Ｂに、図２０Ａのダイアモンド格子空間において、最外殻の外側に、格子点を１層拡張した例（即ち、半径ｒを半径ｒ＋１に拡張した例）を示す。図２０Ａのダイアモンド格子空間の最外殻の外側に、更に格子点が１つ追加されることで、制限格子空間が拡張されている。
このような拡張は、最外縁の外側に、均一に格子点を所定の数拡張させる態様である。
この拡張は、例えば、拡張情報Ｋに従って行うことができる。
【００８９】
＜実施例２＞
化合物基を順次配置していく際、制限格子空間の最外縁に化合物基が配置されるまでの複数の化合物基の配置については、制限格子空間の最外縁による制限を受けていない。
そのため、制限格子空間の最外縁に化合物基が配置されるまでの複数の化合物基の配置については保持して、制限格子空間を拡張させるとともに、拡張後の制限格子空間に含まれる各格子点へのビットの割り当てと、イジングモデルの最小エネルギーの算出とを実行することが、計算時間を短縮できる点で好ましい。
即ち、制限格子空間を拡張させるとともに、拡張後の制限格子空間に含まれる各格子点へのビットの割り当てと、イジングモデルの最小エネルギーの算出とを実行する場合、制限格子空間の最外縁に配置されたと判定された化合物基と、当該化合物基よりも配置の順番が若い化合物基とについては、既に割り当てられたビットを変更させないことが好ましい。なお、実施例２においては、制限格子空間の最外縁に配置されたと判定された化合物基が複数ある場合、上記「制限格子空間の最外縁に配置されたと判定された化合物基」は、複数の化合物基のうちの配置の順番が一番若い化合物基であることが好ましい。
【００９０】
以上について、フローチャートと図とを用いて説明する。
図２１は、開示の化合物探索装置の他の構成例である。図２１に示す化合物探索装置１０Ｂは、化合物基数カウント部１１と、定義部１２と、制限部１３と、割当部１４と、Ｈ生成部１５と、重み抽出部１６と、重みファイル作成部１７と、演算部１８と、判定部１９と、制御部２０と、出力部２１とを有する点では、図６に示す化合物探索装置１０Ａと同じである。ただし、図２１に示す化合物探索装置１０Ｂは、Ｈ生成部１５が、Ｈｆｉｘ生成部１５Ｆを有する点で、図６に示す化合物探索装置１０Ａと異なる。
図２２のフローチャートは、図７のフローチャートに工程Ｓ１１１を追加したフローチャートである。
図２３Ａは、ダイアモンド格子空間にアミノ酸残基を配置した一例である。
図２３Ａでは、アミノ酸残基の数（ｎ）が７（ｎ＝７）の場合に、空間制限パラメータＬを４（Ｌ＝４）とし、半径ｒが４（ｒ＝４）のダイアモンド格子空間に７個のアミノ酸残基が配置されている。
図２３Ａでは、番号４のアミノ酸残基が、ダイアモンド格子空間の最外縁に配置されている。
そのため、工程Ｓ１０８による判定により、各格子点に割り当てた複数の化合物基のいずれかが制限格子空間の最外縁に配置されていたと判定され、ダイアモンド格子空間の拡張が行われる。
例えば、図２３Ｂに示すように、図２３Ａのダイアモンド格子空間において、最外殻の外側に、格子点を１層拡張する（即ち、半径ｒを半径ｒ＋１に拡張する）。そして、拡張したダイアモンド格子空間を用いて、工程Ｓ１０４〜Ｓ１０７が行われる。そのときに、イジングモデルを作成する際に、制限格子空間の最外縁に配置されたと判定された番号４のアミノ酸残基と、番号４のアミノ酸残基よりも配置の順番が若い番号１〜３のアミノ酸残基とについては、既に割り当てられたビットを変更させないようにする制約項Ｈｆｉｘが追加される（Ｓ１１１）。制約項Ｈｆｉｘは、制御部２０の制御下、Ｈｆｉｘ生成部１５Ｆで生成される。イジングモデルを作成する際に、制約項Ｈｆｉｘを追加することで、制限格子空間の最外縁に配置されたと判定された番号４のアミノ酸残基と、番号４のアミノ酸残基よりも配置の順番が若い番号１〜３のアミノ酸残基とについては、既に割り当てられたビットを変更させないようにすることができる。それを図示すると、図２３Ｃに示すようになる。図２３Ｃは、図２３Ｂの拡張したダイアモンド格子空間に番号１〜４のアミノ酸残基を固定したことを示す図である。
なお、制約項Ｈｆｉｘは、例えば、以下の式で表される。
【００９１】
【数１５】
2020067931.tif 000017
【００９２】
上記関数において、ＸＡｉは、固定すべき（変更させない）アドレスであり、ｉは、アミノ酸残基の配列番号である。
上記関数において、λｆｉｘは、重み付けのための係数である。
そして、制約項Ｈｆｉｘが追加されたＥ（ｘ）は、以下のように表現できる。
【００９３】
【数１６】
2020067931.tif 000018
【００９４】
ここで、他の制約項における重み付けのための係数よりも、制約項Ｈｆｉｘにおけるλｆｉｘを十分に大きくすることで、他の制約項よりも制約項Ｈｆｉｘが優先されることになり、ＸＡｉが１に固定される。
【００９５】
＜実施例３＞
拡張の態様としては、制限格子空間の最外縁に配置された化合物基の周囲の格子空間のみを拡張させる態様であることが好ましい。制限格子空間の最外縁に配置された化合物基の周囲以外の格子空間を拡張させてもアミノ酸残基が配置される可能性は低い。そのため、制限格子空間の最外縁に配置された化合物基の周囲の格子空間のみを拡張させる態様とすることで、拡張させる範囲を適切な範囲に抑えることができる。
以下、制限格子空間の最外縁に配置された化合物基の周囲の格子空間のみを拡張させることを、「拡張に指向性を持たせる」と称することがある。
【００９６】
実施例３の態様は、実施例２の態様において、拡張に指向性を持たせた態様である。
【００９７】
実施例３の態様を、図を用いて説明する。
図２４Ａは、ダイアモンド格子空間にアミノ酸残基を配置した一例である。
図２４Ａでは、アミノ酸残基の数（ｎ）が７（ｎ＝７）の場合に、空間制限パラメータＬを４（Ｌ＝４）とし、半径ｒが４（ｒ＝４）のダイアモンド格子空間に７個のアミノ酸残基が配置されている。
図２４Ａでは、番号４のアミノ酸残基が、ダイアモンド格子空間の最外縁に配置されている。
そのため、工程Ｓ１０８による判定により、各格子点に割り当てた複数の化合物基のいずれかが制限格子空間の最外縁に配置されていたと判定され、ダイアモンド格子空間の拡張が行われる。
例えば、図２４Ｂに示すように、図２４Ａのダイアモンド格子空間において、制限格子空間の最外縁に配置されたアミノ酸残基（番号４のアミノ酸残基）の周囲の格子空間のみを拡張させる。そして、拡張したダイアモンド格子空間を用いて、工程Ｓ１０４〜Ｓ１０７が行われる。そのときに、イジングモデルを作成する際に、制限格子空間の最外縁に配置されたと判定された番号４のアミノ酸残基と、番号４のアミノ酸残基よりも配置の順番が若い番号１〜３のアミノ酸残基とについては、既に割り当てられたビットを変更させないようにする（図２４Ｃ）。
【００９８】
＜実施例４＞
制限格子空間の最外縁に配置された化合物基の配列番号が大きい場合には、その化合物基より配列番号が大きい化合物基（残りの化合物基）の数は少ない。一方、制限格子空間の最外縁に配置された化合物基の配列番号が小さい場合には、その化合物基より配列番号が大きい化合物基（残りの化合物基）の数が多い。残りの化合物基の数が多い場合には、拡張させる範囲を大きくしないと、適切な拡張にならない可能性がある。一方で、残りの化合物基の数が少ない場合に拡張させる範囲が大きいと、拡張させた範囲の多くが無駄になってしまう可能性がある。
そのため、制限格子空間の最外縁に配置された化合物基の配列番号が小さい場合には、制限格子空間の拡張の範囲を広くし、一方、制限格子空間の最外縁に配置された化合物基の配列番号が大きい場合には、制限格子空間の拡張の範囲を狭くすることが好ましい。
即ち、拡張情報Ｋは、最後に配置された化合物基の配置の順番（ｎ）と、制限格子空間の最外縁に配置されたと判定された化合物基の配置の順番（Ｍ）との差（ｎ−Ｍ）を考慮して、差（ｎ−Ｍ）が大きい場合よりも、差（ｎ−Ｍ）が小さい場合のほうが、制限格子空間を小さく拡張させるように、制限格子空間を拡張させることが好ましい。
以下、上記態様を、拡張の範囲の「アミノ酸残基番号依存性」と称することがある。
【００９９】
実施例４の態様は、実施例１の態様において、拡張の範囲にアミノ酸残基番号依存性をもたせた態様である。
【０１００】
実施例４の態様を、図を用いて説明する。
図２５Ａは、ダイアモンド格子空間にアミノ酸残基を配置した一例である。
図２５Ａでは、アミノ酸残基の数（ｎ）が７（ｎ＝７）の場合に、空間制限パラメータＬを４（Ｌ＝４）とし、半径ｒが４（ｒ＝４）のダイアモンド格子空間に７個のアミノ酸残基が配置されている。
図２５Ａでは、番号４のアミノ酸残基が、ダイアモンド格子空間の最外縁に配置されている。
そのため、工程Ｓ１０８による判定により、各格子点に割り当てた複数の化合物基のいずれかが制限格子空間の最外縁に配置されていたと判定され、ダイアモンド格子空間の拡張が行われる。
拡張を行う際、以下の関数に基づいて拡張する範囲Ｋ（格子点の層数）を求める。
【０１０１】
【数１７】
2020067931.tif 000019
【０１０２】
ここで、「ｒｏｕｎｄｕｐ」は、小数点以下を切り上げる関数である。
例えば、ｎ＝７、Ｍ＝４の場合、（７−４）／２＝１．５であり、Ｋ＝２となり、図２５Ｂに示すように、図２５Ａのダイアモンド格子空間において、最外殻の外側に、格子点を２層拡張する（即ち、半径ｒを半径ｒ＋２に拡張する）。そして、拡張したダイアモンド格子空間を用いて、工程Ｓ１０４〜Ｓ１０７が行われる。
【０１０３】
＜実施例５＞
実施例５は、実施例４に、実施例２を組み合わせた態様である。
実施例５の態様を、図を用いて説明する。
図２６Ａは、ダイアモンド格子空間にアミノ酸残基を配置した一例である。
図２６Ａでは、アミノ酸残基の数（ｎ）が７（ｎ＝７）の場合に、空間制限パラメータＬを４（Ｌ＝４）とし、半径ｒが４（ｒ＝４）のダイアモンド格子空間に７個のアミノ酸残基が配置されている。
図２６Ａでは、番号４のアミノ酸残基が、ダイアモンド格子空間の最外縁に配置されている。
そのため、工程Ｓ１０８による判定により、各格子点に割り当てた複数の化合物基のいずれかが制限格子空間の最外縁に配置されていたと判定され、ダイアモンド格子空間の拡張が行われる。
拡張を行う際、以下の関数に基づいて拡張する範囲Ｋ（格子点の層数）を求める。
【０１０４】
【数１８】
2020067931.tif 000020
【０１０５】
ここで、「ｒｏｕｎｄｕｐ」は、小数点以下を切り上げる関数である。
例えば、ｎ＝７、Ｍ＝４の場合、（７−４）／２＝１．５であり、Ｋ＝２となり、図２６Ｂに示すように、図２６Ａのダイアモンド格子空間において、最外殻の外側に、格子点を２層拡張する（即ち、半径ｒを半径ｒ＋２に拡張する）。そして、拡張したダイアモンド格子空間を用いて、工程Ｓ１０４〜Ｓ１０７が行われる。そのときに、イジングモデルを作成する際に、制限格子空間の最外縁に配置されたと判定された番号４のアミノ酸残基と、番号４のアミノ酸残基よりも配置の順番が若い番号１〜３のアミノ酸残基とについては、既に割り当てられたビットを変更させないようにする（図２６Ｃ）。
【０１０６】
＜実施例６＞
実施例６は、実施例４に、実施例３を組み合わせた態様である。
実施例６の態様を、図を用いて説明する。
図２７Ａは、ダイアモンド格子空間にアミノ酸残基を配置した一例である。
図２７Ａでは、アミノ酸残基の数（ｎ）が７（ｎ＝７）の場合に、空間制限パラメータＬを４（Ｌ＝４）とし、半径ｒが４（ｒ＝４）のダイアモンド格子空間に７個のアミノ酸残基が配置されている。
図２７Ａでは、番号４のアミノ酸残基が、ダイアモンド格子空間の最外縁に配置されている。
そのため、工程Ｓ１０８による判定により、各格子点に割り当てた複数の化合物基のいずれかが制限格子空間の最外縁に配置されていたと判定され、ダイアモンド格子空間の拡張が行われる。
拡張を行う際、拡張の範囲に指向性を持たせつつ、かつ、以下の関数に基づいて拡張する範囲Ｋ（格子点の層数）を求める。
【０１０７】
【数１９】
2020067931.tif 000021
【０１０８】
ここで、「ｒｏｕｎｄｕｐ」は、小数点以下を切り上げる関数である。
例えば、ｎ＝７、Ｍ＝４の場合、（７−４）／２＝１．５であり、Ｋ＝３となり、図２７Ｂに示すように、図２７Ａのダイアモンド格子空間において、制限格子空間の最外縁に配置されたアミノ酸残基（番号４のアミノ酸残基）の周囲の格子空間のみを格子点３層分拡張させる。そして、拡張したダイアモンド格子空間を用いて、工程Ｓ１０４〜Ｓ１０７が行われる。そのときに、イジングモデルを作成する際に、制限格子空間の最外縁に配置されたと判定された番号４のアミノ酸残基と、番号４のアミノ酸残基よりも配置の順番が若い番号１〜３のアミノ酸残基とについては、既に割り当てられたビットを変更させないようにする（図２７Ｃ）。
【０１０９】
以上、実施例１〜６を説明したが、それを図にまとめると図２８のようになる。
なお、図２８における「自動設定する」とは、上記のアミノ酸残基番号依存性を有することに対応する。
また、図２８における従来手法とは、Ｄｉａｍｏｎｄ  ｅｎｃｏｒｄｉｎｇ法において、格子空間を制限しないことを指す。
また、図２８における参考例とは、格子空間の制限をするものの、制限された格子空間を拡張させるかどうかを判断せずに、制限された格子空間を拡張させない場合を指す。
【０１１０】
なお、図６に示した化合物探索装置１０Ａは、演算部１８が、制限部１３等と同一空間的に配置された例であるが、開示の化合物探索装置は、図２９に示す化合物探索装置１０Ｃのように、演算部１８が、制限部１３等と空間的に離れていてもよい。
【０１１１】
次に、フローチャートを用いて、図７のフローチャートの工程Ｓ１０１〜Ｓ１０７の変形例を説明する。
図３０に、変形例のフローチャートを示す。
図３０のフローチャートにおいて、工程Ｓ２０１は、図７のフローチャートの工程Ｓ１０１に相当し、工程Ｓ２０２は、工程Ｓ１０２に相当し、工程Ｓ２０４は、工程Ｓ１０４に相当し、工程Ｓ２０５は、工程Ｓ１０５に相当し、工程Ｓ２０６は、工程Ｓ１０６に相当し、工程Ｓ２０７は、工程Ｓ１０７に相当する。
そのため制限部１３、及び工程２０３に着目して説明する。
【０１１２】
直鎖で並ぶアミノ酸残基の数の最大数Ｍ（直鎖数制限パラメータＭ）を設定する（Ｓ２０３）ことで、制限部１３では、複数の化合物基のいずれかを格子空間のいずれかの格子に配置後、次の化合物基を格子空間に配置する場合において、格子空間から次の化合物基を配置すべきでない領域を除外した制限格子空間を生成する。
【０１１３】
前述の通り、タンパク質においては、通常、アミノ酸残基同士の相互作用によって、アミノ酸残基が直鎖状に並ぶことはほとんどない。
そのため、直鎖で並ぶアミノ酸残基の数の最大数Ｍ（直鎖数制限パラメータＭ）を設定し、この制限の下でアミノ酸残基が配置すべきでない領域を除外して制限格子空間を生成することで、演算ビット数又は量子ビットを抑制することができる。ここで、Ｍは、当然に、アミノ酸残基の数（ｎ）より小さい（Ｍ＜ｎ）。
例えば、図３１に示すように、直鎖数制限パラメータＭを５とすると、直鎖で並ぶアミノ酸残基の数は、最大数で５となる。
直鎖数制限パラメータＭの設定下では、制限格子空間は、アミノ酸残基の数の増加に伴って、図３２に示すように増加する。即ち、ｎ個のアミノ酸残基について、直鎖数制限パラメータＭを用いた場合の最大格子空間Ｋは、以下の式で求められる。
【０１１４】
【数２０】
2020067931.tif 000022
【０１１５】
ここで、制限格子空間の生成に、空間制限パラメータＬ（Ｌ＜ｎ）を併用してもよい。その場合、Ｌ≦Ｋとすることが好ましい。
【０１１６】
図３３に、他の変形例のフローチャートを示す。
図３３のフローチャートにおいて、工程Ｓ３０１は、図３０のフローチャートの工程２０１に相当し、工程Ｓ３０２は、工程Ｓ２０２に相当し、工程Ｓ３０３は、工程Ｓ２０３に相当し、工程Ｓ３０５は、工程Ｓ２０４に相当し、工程Ｓ３０６は、工程Ｓ２０５に相当し、工程Ｓ３０７は、工程Ｓ２０６に相当し、工程Ｓ３０８は、工程Ｓ２０７に相当する。
そのため制限部１３、及び工程３０４に着目して説明する。
【０１１７】
直鎖で並ぶアミノ酸残基の数の最大数Ｍ（直鎖数制限パラメータＭ）を設定しつつ（Ｓ３０３）、更に、ｉ個目のアミノ酸残基の移動先の最大Ｓ（ｉ）を定義する（Ｓ３０４）ことで、制限部１３では、複数の化合物基のいずれかを格子空間のいずれかの格子に配置後、次の化合物基を格子空間に配置する場合において、格子空間から次の化合物基を配置すべきでない領域を除外した制限格子空間を生成する。
【０１１８】
直鎖数制限パラメータＭを用いた場合、各アミノ酸残基の空間半径ｒは、例えば、Ｍ＝５（Ｋ＝８）、ｎ＝１１、Ｌ＝Ｋの場合、以下の表１のとおりとなる。
【０１１９】
【表１】
2020067931.tif 000023
【０１２０】
これを図で表すと、図３４のようになり、最大空間は同じであるが、余剰空間が発生しており、６番目や７番目のアミノ酸残基では、実際には少ない空間でよいことがわかる。
【０１２１】
そこで、直鎖数制限パラメータＭに加え、直鎖数制限パラメータＭを用いた空間パラメータｓ（ｘ）を導入することによって、次のように空間を制限することができ、精度を落とさずにさらにビット数を抑えることができる。
【０１２２】
【数２１】
2020067931.tif 000024
ｉ＝｛１，２，３，．．．．．．ｎ｝
【０１２３】
【数２２】
2020067931.tif 000025
そして、空間制限パラメータＬが偶数、かつｉ＜Ｌのとき、
・奇数番目（ｉ＝奇数）のアミノ酸残基の場合は、Ｊ＝｛ｓ（１），ｓ（３），．．．．．Ｓ（ｉ）｝である。
・偶数番目（ｉ＝偶数）のアミノ酸残基の場合は、Ｊ＝｛ｓ（２），ｓ（４），．．．．．Ｓ（ｉ）｝である。
空間制限パラメータＬが偶数、かつｉ＞Ｌのとき、
・奇数番目（ｉ＝奇数）のアミノ酸残基の場合は、Ｊ＝｛ｓ（２），ｓ（４），．．．．．Ｓ（Ｌ−１）｝である。
・偶数番目（ｉ＝偶数）のアミノ酸残基の場合は、Ｊ＝｛ｓ（２），ｓ（４），．．．．．Ｓ（Ｌ）｝である。
空間制限パラメータＬが奇数、かつｉ＜Ｌのとき、
・奇数番目(i=奇数）のアミノ酸残基の場合は、Ｊ＝｛ｓ（１），ｓ（３），．．．．．Ｓ（ｉ）｝である。
・偶数番目（ｉ＝偶数）のアミノ酸残基の場合は、Ｊ＝｛ｓ（２），ｓ（４），．．．．．Ｓ（ｉ）｝である。
空間制限パラメータＬが奇数、かつｉ＞Ｌのとき、
・奇数番目（ｉ＝奇数）のアミノ酸残基の場合は、Ｊ＝｛ｓ（２），ｓ（４），．．．．．Ｓ（Ｌ）｝である。
・偶数番目(i=偶数）のアミノ酸残基の場合は、Ｊ＝｛ｓ（２），ｓ（４），．．．．．Ｓ（Ｌ−１）｝｝である。
【０１２４】
ここで、参考例の技術に関し、直鎖数制限パラメータを設けない場合を、参考例１とし、図３０を用いて説明した変形例を参考例２とし、図３３を用いて説明した変形例を参考例３とし、各参考例において、以下のようにパラメータを定めた場合の、必要ｂｉｔ数の変化を図３５に示した。
・参考例１：Ｌ＝１５
・参考例２：Ｌ＝１５、Ｍ＝５
・参考例３：Ｌ＝１５、Ｍ＝５
・比較例１：制限なし。
いずれの場合も、制限を設けなかった比較例１と比較して、必要なｂｉｔ数を減らすことができ、問題規模の大きい化合物（例えば、タンパク質）を探索の対象とすることができるようになることが確認できた。
【０１２５】
しかし、これらの参考例では、制限格子空間が狭すぎると、制限格子空間の最外縁により化合物基の配置が制限される結果、適切な立体構造を得られていない場合がある。
そこで、これらの参考例に、例えば、実施例１〜６を組み合わせることで、従来技術と比べて、ｂｉｔ数を適切に抑制することができる。
【０１２６】
例えば、格子空間の制限をしない場合、ｎ個のアミノ酸残基に必要なｂｉｔ数は、以下の式で表される。
【０１２７】
【数２３】
2020067931.tif 000026
【０１２８】
ここで、格子空間の制限（Ｌ：空間制限パラメータ）をＬ＝ｎ−１とし、拡張させる空間の半径（Ｋ：拡張情報でもある）をＫ＝１とすると、指向性を持たせて制限格子空間を拡張した場合、指向性部分の増加は、例えば、最外縁に配置されたアミノ酸残基が制限格子空間の最外の面に位置する場合には、３ｂｉｔとなり、最外縁に配置されたアミノ酸残基が制限格子空間の最外の辺に位置する場合は、４ｂｉｔとなり、最外縁に配置されたアミノ酸残基が制限格子空間の最外の頂点に位置する場合は、５ｂｉｔとなる。そこで、格子空間の制限（Ｌ：空間制限パラメータ）をＬ＝ｎ−１とし、拡張させる空間の半径（Ｋ：拡張情報でもある）をＫ＝１とすると、指向性を持たせて制限格子空間を拡張した場合の必要なｂｉｔ数は、以下の式で表される。
【０１２９】
【数２４】
2020067931.tif 000027
【０１３０】
ここで、１１個のアミノ酸残基が、図３６のように配列される場合を考える。なお、図３６中の数字は、ダイアモンド格子空間における格子点の位置を表す番号である。
１１個のアミノ酸残基について、格子空間の制限をしない場合（ｎ＝１１の場合）、必要なｂｉｔ数は、２９２１ｂｉｔとなる。
ここで、図３６のような配列の場合、参考例のように、格子空間の制限をするものの、制限された格子空間を拡張させるかどうかを判断せずに、制限された格子空間を拡張させない場合、制限格子空間をＬ＝５とすることが適切であり、その際、必要なｂｉｔ数は、１５３ｂｉｔとなる。
しかし、図３６のような配列の場合、制限格子空間をＬ＝４とし、指向性を持たせて、Ｋ＝１の分、即ち３ｂｉｔ、又は５ｂｉｔ拡張させてもよい。その場合、必要なｂｉｔ数は、６９ｂｉｔ（ｒ＝４の場合）＋３ｂｉｔ又は５ｂｉｔ＝７２ｂｉｔ又は７４ｂｉｔとなり、単純に制限格子空間をＬ＝５で設定した場合よりも、８１ｂｉｔ（＝１５３ｂｉｔ−７２ｂｉｔ）又は７９ｂｉｔ（＝１５３ｂｉｔ−７４ｂｉｔ）削減可能となる。
なお、このような削減効果は、アミノ酸残基の数が大きくなるほど、より大きくなる。
【０１３１】
以上の実施形態に関し、更に以下の付記を開示する。
（付記１）
複数の化合物基が連結した化合物を探索する化合物探索装置において、
前記複数の化合物基が順次配置される格子の集合である格子空間を定義する定義部と、
前記複数の化合物基のいずれかを前記格子空間のいずれかの格子に配置後、次の化合物基を前記格子空間に配置する場合において、前記格子空間から前記次の化合物基を配置すべきでない領域を除外した制限格子空間を生成する制限部と、
前記制限格子空間に前記複数の化合物基が配置されうる各格子点にビットをそれぞれ割り当てる割当部と、
前記各格子点に関する制約条件に基づいて変換したイジングモデルについて、焼き鈍し法を用いた基底状態探索を実行することにより、前記イジングモデルの最小エネルギーを算出する演算部と、
前記各格子点に割り当てた複数の化合物基のいずれかが、前記制限格子空間の最外縁に配置されたかを判定する判定部と、
前記判定部が、前記各格子点に割り当てた複数の化合物基のいずれかが、前記制限格子空間の最外縁に配置されたと判定した場合、前記制限部に、前記制限格子空間を拡張させるとともに、前記割当部による拡張後の制限格子空間に含まれる各格子点への前記ビットの割り当てと、前記演算部による前記イジングモデルの最小エネルギーの算出とを実行させる制御部と、
を有する化合物探索装置。
（付記２）
前記判定部は、前記各格子点に割り当てた複数の化合物基のうち、最初に配置された化合物基と最後に配置された化合物基とを除いた化合物基のいずれかが、前記制限格子空間の最外縁に配置されたかを判定する、付記１に記載の化合物探索装置。
（付記３）
前記制御部は、拡張情報に基づいて、前記制限部に、前記制限格子空間を拡張させる付記１から２のいずれかに記載の化合物探索装置。
（付記４）
前記制御部は、前記制限格子空間の最外縁に配置されたと判定された化合物基と、前記化合物基よりも配置の順番が若い化合物基とについては、既に割り当てられたビットを変更させない、付記１から３のいずれかに記載の化合物探索装置。
（付記５）
前記制御部は、前記制限部に、前記制限格子空間を拡張させる際、前記制限格子空間の最外縁に配置された化合物基の周囲の格子空間のみを拡張させる付記１から４のいずれかに記載の化合物探索装置。
（付記６）
前記拡張情報は、最後に配置された化合物基の配置の順番（ｎ）と、前記制限格子空間の最外縁に配置されたと判定された化合物基の配置の順番（Ｍ）との差（ｎ−Ｍ）を考慮し、
前記制御部は、前記拡張情報に基づいて、前記差（ｎ−Ｍ）が大きい場合よりも、前記差（ｎ−Ｍ）が小さい場合のほうが、前記制限格子空間を小さく拡張させるように、前記制限部に、前記制限格子空間を拡張させる付記３から５のいずれかに記載の化合物探索装置。
（付記７）
前記化合物基は、アミノ酸残基である、付記１から６のいずれかに記載の化合物探索装置。
（付記８）
前記化合物は、たんぱく質である、付記７に記載の化合物探索装置。
（付記９）
複数の化合物基が連結した化合物を探索する化合物探索方法において、
コンピュータが、
前記複数の化合物基が順次配置される格子の集合である格子空間を定義し、
前記複数の化合物基のいずれかを前記格子空間のいずれかの格子に配置後、次の化合物基を前記格子空間に配置する場合において、前記格子空間から前記次の化合物基を配置すべきでない領域を除外した制限格子空間を生成し、
前記制限格子空間に前記複数の化合物基が配置されうる各格子点にビットをそれぞれ割り当て、
前記各格子点に関する制約条件に基づいて変換したイジングモデルについて、焼き鈍し法を用いた基底状態探索を実行することにより、前記イジングモデルの最小エネルギーを算出し、
前記各格子点に割り当てた複数の化合物基のいずれかが、前記制限格子空間の最外縁に配置されたかを判定し、
前記各格子点に割り当てた複数の化合物基のいずれかが、前記制限格子空間の最外縁に配置されたと判定した場合、前記制限格子空間を拡張させるとともに、拡張後の制限格子空間に含まれる各格子点への前記ビットの割り当てと、前記イジングモデルの最小エネルギーの算出とを実行する、
化合物探索方法。
（付記１０）
前記各格子点に割り当てた複数の化合物基のうち、最初に配置された化合物基と最後に配置された化合物基とを除いた化合物基のいずれかが、前記制限格子空間の最外縁に配置されたかを判定する、付記９に記載の化合物探索方法。
（付記１１）
拡張情報に基づいて、前記制限格子空間を拡張させる付記９から１０のいずれかに記載の化合物探索方法。
（付記１２）
前記制限格子空間の最外縁に配置されたと判定された化合物基と、前記化合物基よりも配置の順番が若い化合物基とについては、既に割り当てられたビットを変更させない、付記９から１１のいずれかに記載の化合物探索方法。
（付記１３）
前記制限格子空間を拡張させる際、前記制限格子空間の最外縁に配置された化合物基の周囲の格子空間のみを拡張させる付記９から１２のいずれかに記載の化合物探索方法。
（付記１４）
前記拡張情報は、最後に配置された化合物基の配置の順番（ｎ）と、前記制限格子空間の最外縁に配置されたと判定された化合物基の配置の順番（Ｍ）との差（ｎ−Ｍ）を考慮し、
前記拡張情報に基づいて、前記差（ｎ−Ｍ）が大きい場合よりも、前記差（ｎ−Ｍ）が小さい場合のほうが、前記制限格子空間を小さく拡張させるように、前記制限格子空間を拡張させる付記１１から１３のいずれかに記載の化合物探索方法。
（付記１５）
前記化合物基は、アミノ酸残基である、付記９から１４のいずれかに記載の化合物探索方法。
（付記１６）
前記化合物は、たんぱく質である、付記１５に記載の化合物探索方法。
（付記１７）
複数の化合物基が連結した化合物を探索する化合物探索プログラムにおいて、
コンピュータに、
前記複数の化合物基が順次配置される格子の集合である格子空間を定義させ、
前記複数の化合物基のいずれかを前記格子空間のいずれかの格子に配置後、次の化合物基を前記格子空間に配置する場合において、前記格子空間から前記次の化合物基を配置すべきでない領域を除外した制限格子空間を生成させ、
前記制限格子空間に前記複数の化合物基が配置されうる各格子点にビットをそれぞれ割り当てさせ、
前記各格子点に関する制約条件に基づいて変換したイジングモデルについて、焼き鈍し法を用いた基底状態探索を実行することにより、前記イジングモデルの最小エネルギーを算出させ、
前記各格子点に割り当てた複数の化合物基のいずれかが、前記制限格子空間の最外縁に配置されたかを判定させ、
前記各格子点に割り当てた複数の化合物基のいずれかが、前記制限格子空間の最外縁に配置されたと判定した場合、前記制限格子空間を拡張させるとともに、拡張後の制限格子空間に含まれる各格子点への前記ビットの割り当てと、前記イジングモデルの最小エネルギーの算出とを実行させる、
化合物探索プログラム。
（付記１８）
前記各格子点に割り当てた複数の化合物基のうち、最初に配置された化合物基と最後に配置された化合物基とを除いた化合物基のいずれかが、前記制限格子空間の最外縁に配置されたかを判定する、付記１７に記載の化化合物探索プログラム。
（付記１９）
拡張情報に基づいて、前記制限格子空間を拡張させる付記１７から１８のいずれかに記載の化合物探索プログラム。
（付記２０）
前記制限格子空間の最外縁に配置されたと判定された化合物基と、前記化合物基よりも配置の順番が若い化合物基とについては、既に割り当てられたビットを変更させない、付記１７から１９のいずれかに記載の化合物探索プログラム。
（付記２１）
前記制限格子空間を拡張させる際、前記制限格子空間の最外縁に配置された化合物基の周囲の格子空間のみを拡張させる付記１７から２０のいずれかに記載の化合物探索プログラム。
（付記２２）
前記拡張情報は、最後に配置された化合物基の配置の順番（ｎ）と、前記制限格子空間の最外縁に配置されたと判定された化合物基の配置の順番（Ｍ）との差（ｎ−Ｍ）を考慮し、
前記拡張情報に基づいて、前記差（ｎ−Ｍ）が大きい場合よりも、前記差（ｎ−Ｍ）が小さい場合のほうが、前記制限格子空間を小さく拡張させるように、前記制限格子空間を拡張させる付記１９から２１のいずれかに記載の化合物探索プログラム。
（付記２３）
前記化合物基は、アミノ酸残基である、付記１７から２２のいずれかに記載の化合物探索プログラム。
（付記２４）
前記化合物は、たんぱく質である、付記２３に記載の化合物探索プログラム。
【符号の説明】
【０１３２】
１０Ａ  化合物探索装置
１０Ｂ  化合物探索装置
１０Ｃ  化合物探索装置
１１  化合物基数カウント部
１２  定義部
１３  制限部
１４  割当部
１５  Ｈ生成部
１６  重み抽出部
１７  重みファイル作成部
１８  演算部
１９  判定部
２０  制御部
２１  出力部
【図１】
2020067931.tif 000028
【図２Ａ】
2020067931.tif 000029
【図２Ｂ】
2020067931.tif 000030
【図２Ｃ】
2020067931.tif 000031
【図３Ａ】
2020067931.tif 000032
【図３Ｂ】
2020067931.tif 000033
【図３Ｃ】
2020067931.tif 000034
【図３Ｄ】
2020067931.tif 000035
【図３Ｅ】
2020067931.tif 000036
【図４】
2020067931.tif 000037
【図５】
2020067931.tif 000038
【図６】
2020067931.tif 000039
【図７】
2020067931.tif 000040
【図８】
2020067931.tif 000041
【図９Ａ】
2020067931.tif 000042
【図９Ｂ】
2020067931.tif 000043
【図９Ｃ】
2020067931.tif 000044
【図９Ｄ】
2020067931.tif 000045
【図１０】
2020067931.tif 000046
【図１１Ａ】
2020067931.tif 000047
【図１１Ｂ】
2020067931.tif 000048
【図１１Ｃ】
2020067931.tif 000049
【図１２】
2020067931.tif 000050
【図１３】
2020067931.tif 000051
【図１４】
2020067931.tif 000052
【図１５Ａ】
2020067931.tif 000053
【図１５Ｂ】
2020067931.tif 000054
【図１６】
2020067931.tif 000055
【図１７】
2020067931.tif 000056
【図１８】
2020067931.tif 000057
【図１９】
2020067931.tif 000058
【図２０Ａ】
2020067931.tif 000059
【図２０Ｂ】
2020067931.tif 000060
【図２１】
2020067931.tif 000061
【図２２】
2020067931.tif 000062
【図２３Ａ】
2020067931.tif 000063
【図２３Ｂ】
2020067931.tif 000064
【図２３Ｃ】
2020067931.tif 000065
【図２４Ａ】
2020067931.tif 000066
【図２４Ｂ】
2020067931.tif 000067
【図２４Ｃ】
2020067931.tif 000068
【図２５Ａ】
2020067931.tif 000069
【図２５Ｂ】
2020067931.tif 000070
【図２６Ａ】
2020067931.tif 000071
【図２６Ｂ】
2020067931.tif 000072
【図２６Ｃ】
2020067931.tif 000073
【図２７Ａ】
2020067931.tif 000074
【図２７Ｂ】
2020067931.tif 000075
【図２７Ｃ】
2020067931.tif 000076
【図２８】
2020067931.tif 000077
【図２９】
2020067931.tif 000078
【図３０】
2020067931.tif 000079
【図３１】
2020067931.tif 000080
【図３２】
2020067931.tif 000081
【図３３】
2020067931.tif 000082
【図３４】
2020067931.tif 000083
【図３５】
2020067931.tif 000084
【図３６】
2020067931.tif 000085