(57)【特許請求の範囲】
【請求項１】
所定のハードウエアから構成され、シミュレーション対象物間の反応によるシミュレーション対象物の変化量をシミュレーションするハードウエアシミュレータであって、
シミュレーション対象物に関する値をカウントする複数の個別カウント回路と、
前記シミュレーション対象物間の反応に応じて、前記個別カウント回路のカウント値を増減させる反応回路と、
前記シミュレーション対象物間の反応に応じて前記反応回路と前記個別カウント回路との接続を切り換える切り換え回路とを備え、
前記複数の個別カウント回路は、
第１のシミュレーション対象物と反応する複数の第２のシミュレーション対象物をグループ分けしたグループごとに設けられ、前記第１のシミュレーション対象物に関する値をグループごとにカウントする複数の分割カウント回路を含み、
前記複数の分割カウント回路に接続され、前記第１のシミュレーション対象物に関する値をカウントし、前記複数の分割カウント回路のカウント値を管理する統合カウント回路をさらに備え、
前記分割カウント回路は、予め設定された上限カウント値及び下限カウント値を有し、
前記統合カウント回路は、前記分割カウント回路のカウント値が上限カウント値に達した場合に当該分割カウント回路のカウント値から所定値を減算するとともに、自身のカウント値に所定数を加算し、前記分割カウント回路のカウント値が下限カウント値に達した場合に当該分割カウント回路のカウント値に所定値を加算するとともに、自身のカウント値から所定数を減算することを特徴とするハードウエアシミュレータ。
【請求項２】
前記統合カウント回路は、
前記複数の分割カウント回路をグループ分けしたグループごとに設けられ、各グループに属する複数の分割カウント回路のカウント値を管理する複数の第１の統合カウント回路と、
前記複数の第１の統合カウント回路のカウント値を管理する第２の統合カウント回路とを備えることを特徴とする請求項１記載のハードウエアシミュレータ。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、所定のハードウエアから構成され、シミュレーション対象物間の反応によるシミュレーション対象物の変化量をシミュレーションするハードウエアシミュレータに関するものである。
【背景技術】
【０００２】
従来の化学反応シミュレーション方法としては、例えば、シミュレーションプログラムを計算機で実行することにより、有限温度及び有限時間を設定し、これら有限温度及び有限時間における分子動力学計算を行い、分子動力学計算により求められた励起状態を含む構造のすべてを用いて物質の全原子に働く力がすべて緩和される安定構造を複数求める処理等を行うものがある（特許文献１参照）。
【０００３】
一方、上記のような化学反応シミュレーションにおいて多数の物質を容易に取り扱うことができるように、本願発明者は、化学反応シミュレーションを所定のハードウエアを用いて行うことを提案しており、この場合、物質ごとにカウンタが設けられ、このカウンタの値を増減させてシミュレーションが行われる（特許文献２参照）。
【特許文献１】特開２００２−２６０９７５号公報
【特許文献２】特開２００２−１２６４９７号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかしながら、物質ごとにカウンタを設けたのでは、反応に関係する物質が多数ある場合、物質間のネットワークが複雑となり、当該カウンタへの配線が困難になる。また、カウンタがカウントできる範囲には限りがあり、物質の数がカウント範囲を超えた場合、シミュレーションを中止しなければならない。一方、すべてのカウンタのカウント範囲を単に大きくしたのでは、カウンタのコストが増大する。
【０００５】
本発明の目的は、カウント回路に対する配線を容易に行うことができるとともに、カウント回路の狭いカウンタ回路を用いてより広いカウント範囲を実現することができるハードウエアシミュレータを提供することである。
【課題を解決するための手段】
【０００６】
本発明に係るハードウエアシミュレータは、所定のハードウエアから構成され、シミュレーション対象物間の反応によるシミュレーション対象物の変化量をシミュレーションするハードウエアシミュレータであって、シミュレーション対象物に関する値をカウントする複数の個別カウント回路と、前記シミュレーション対象物間の反応に応じて、前記個別カウント回路のカウント値を増減させる反応回路と、前記シミュレーション対象物間の反応に応じて前記反応回路と前記個別カウント回路との接続を切り換える切り換え回路とを備え、前記複数の個別カウント回路は、第１のシミュレーション対象物と反応する複数の第２のシミュレーション対象物をグループ分けしたグループごとに設けられ、前記第１のシミュレーション対象物に関する値をグループごとにカウントする複数の分割カウント回路を含み、前記複数の分割カウント回路に接続され、前記第１のシミュレーション対象物に関する値をカウントし、前記複数の分割カウント回路のカウント値を管理する統合カウント回路をさらに備え、前記分割カウント回路は、予め設定された上限カウント値及び下限カウント値を有し、前記統合カウント回路は、前記分割カウント回路のカウント値が上限カウント値に達した場合に当該分割カウント回路のカウント値から所定値を減算するとともに、自身のカウント値に所定数を加算し、前記分割カウント回路のカウント値が下限カウント値に達した場合に当該分割カウント回路のカウント値に所定値を加算するとともに、自身のカウント値から所定数を減算する。
【０００７】
本発明に係るハードウエアシミュレータでは、シミュレーション対象物間の反応に応じてシミュレーション対象物に関する値をカウントする複数の個別カウント回路のカウント値が反応回路によって変更されることにより、シミュレーション対象物間の反応によるシミュレーション対象物の変化量がシミュレーションされる。このとき、第１のシミュレーション対象物と反応する複数の第２のシミュレーション対象物がグループ分けされ、第１のシミュレーション対象物に対して割り当てられる複数の分割カウント回路がグループごとに設けられ、複数の分割カウント回路のカウント値を管理する統合カウント回路が複数の分割カウント回路に接続される。
【０００８】
したがって、第１のシミュレーション対象物と反応する第２のシミュレーション対象物が多数ある場合でも、第２のシミュレーション対象物がグループ分けされ、このグループごとに第１のシミュレーション対象物の分割カウント回路が設けられているので、第１のシミュレーション対象物の各分割カウント回路と接続されるべき第２のシミュレーション対象物の個別カウント回路の数を低減することができ、分割カウント回路に対する配線を容易に行うことができる。
【０００９】
また、分割カウント回路のカウント値を管理する統合カウント回路が設けられているので、分割カウント回路のカウント範囲が狭い場合でも、分割カウント回路のカウント値を補正することにより第１のシミュレーション対象物に対するカウント範囲を広くすることができ、カウント範囲の狭いカウント回路を用いてより広いカウント範囲を実現することができる。また、分割カウント回路をオーバーフローさせることなく動作させることができるので、シミュレーションを中断させることなく、シミュレーションを完了させることができる。
【００１０】
前記統合カウント回路は、前記複数の分割カウント回路をグループ分けしたグループごとに設けられ、各グループに属する複数の分割カウント回路のカウント値を管理する複数の第１の統合カウント回路と、前記複数の第１の統合カウント回路のカウント値を管理する第２の統合カウント回路とを備えることが好ましい。
【００１１】
この場合、統合カウント回路を多段にすることができるので、分割カウント回路のカウント範囲が狭い場合でも、簡略な回路構成でシミュレーション対象物のカウント範囲をより広くすることができる。
【発明の効果】
【００１４】
本発明によれば、第１のシミュレーション対象物の各分割カウント回路と接続されるべき第２のシミュレーション対象物の個別カウント回路の数を低減することができるので、分割カウント回路に対する配線を容易に行うことができるとともに、分割カウント回路のカウント範囲が狭い場合でも、第１のシミュレーション対象物に対するカウント範囲を広くすることができるので、カウント範囲の狭いカウント回路を用いてより広いカウント範囲を実現することができる。
【発明を実施するための最良の形態】
【００１５】
以下、本発明によるハードウエアシミュレータの一例として、生化学反応をシミュレーションし、シグナル伝達ネットワーク、遺伝子ネットワーク等の解明に好適に用いられる化学反応シミュレーション装置について図面を参照しながら説明する。
【００１６】
図１は、本発明の一実施の形態によるハードウエアシミュレータの構成を示すブロック図である。図１に示すハードウエアシミュレータは、複数の乱数発生器Ｒ１〜Ｒｎ（ｎは任意の正数）、複数の酵素カウンタＫ１〜Ｋｎ、複数の絞り回路Ｖ１〜Ｖｎ、複数の反応実行回路Ｈ１〜Ｈｎ、複数の物質カウンタＢ１〜Ｂｍ（ｍは任意の正数）、接続切り換え回路ＳＷ、下位統合カウンタＬ１，Ｌ２及び上位統合カウンタＨＣを備える。
【００１７】
酵素カウンタＫ１〜Ｋｎ、絞り回路Ｖ１〜Ｖｎ及び反応実行回路Ｈ１〜Ｈｎは、シミュレーションに使用される生化学反応ごとに設けられ、例えば、物質カウンタＢ１〜Ｂ５は、シミュレーションに使用される一の物質に対して設けられ、物質カウンタＢ６〜Ｂｍは、シミュレーションに使用される他の物質ごとに設けられる。このとき、一の物質と反応する複数の物質がグループ分けされ、物質カウンタＢ１〜Ｂ５は、このグループごとに設けられる。なお、物質カウンタＢ１〜Ｂｍに対する各物質の割り当て方法は、上記の例に特に限定されず、一の物質を分割して４個以下又は６個以上の物質カウンタに割り当てたり、複数の物質の各々を分割して複数の物質カウンタに割り当てる等の種々の変更が可能である。
【００１８】
乱数発生器Ｒ１は、絞り回路Ｖ１の入力側に接続され、反応実行回路Ｈ１は、絞り回路Ｖ１の出力側に接続され、酵素カウンタＫ１は、絞り回路Ｖ１に接続される。他の乱数発生器、酵素カウンタ、絞り回路及び反応実行回路も上記と同様に接続される。
【００１９】
接続切り換え回路ＳＷは、例えば、空間スイッチ等から構成され、複数の増加指令用の入力配線Ｉ１〜Ｉｎ及び減少指令用の入力配線Ｄ１〜Ｄｎと、複数の増加指令用の出力配線ｉ１〜ｉｍ及び減少指令用の出力配線ｄ１〜ｄｍを含み、各配線がマトリックス状に配置されている。
【００２０】
反応実行回路Ｈ１は、接続切り換え回路ＳＷの増加指令用の入力配線Ｉ１及び減少指令用の入力配線Ｄ１に接続され、他の反応実行回路も同様に接続される。物質カウンタＢ１は、接続切り換え回路ＳＷの増加指令用の出力配線ｉ１及び減少指令用の出力配線ｄ１に接続され、他の物質カウンタも同様に接続される。また、接続切り換え回路ＳＷにおいて図中に黒丸で示す各配線の交点ＮＤには、時分割ゲート及び時分割ゲートのオン／オフを制御する保持メモリ等から構成されるスイッチ（図示省略）が配置されている。
【００２１】
接続切り換え回路ＳＷは、各スイッチをオン／オフすることにより、増加指令用の入力配線Ｉ１〜Ｉｎと増加指令用の出力配線ｉ１〜ｉｍとの接続状態及び減少指令用の入力配線Ｄ１〜Ｄｎと減少指令用の出力配線ｄ１〜ｄｍとの接続状態を制御し、各反応実行回路Ｈ１〜Ｈｎが表す生化学反応の反応前の物質を表す物質カウンタ及び反応後の物質を表す物質カウンタと対応する反応実行回路とを接続する。なお、接続切り換え回路ＳＷは、上記の空間スイッチに特に限定されず、反応実行回路と物質カウンタとの接続状態を切り換えることができるものであれば、他の接続切り換え回路を用いてもよいし、また、接続切り換え回路を用いることなく、反応実行回路と物質カウンタとを配線により直接接続するようにしてもよい。
【００２２】
物質カウンタＢ１〜Ｂｍ、下位統合カウンタＬ１，Ｌ２及び上位統合カウンタＨＣは、例えば、バイナリカウンタ等から構成され、下位統合カウンタＬ１は、物質カウンタＢ１〜Ｂ３に接続され、下位統合カウンタＬ２は、物質カウンタＢ４，Ｂ５に接続され、上位統合カウンタＨＣは、下位統合カウンタＬ１，Ｌ２に接続される。
【００２３】
例えば、物質カウンタＢ１〜Ｂ５、下位統合カウンタＬ１，Ｌ２及び上位統合カウンタＨＣは、反応前又は反応後の一の物質の数、すなわち分子数又は原子数のうち所定数をそれぞれ初期カウント値として設定され、物質カウンタＢ６〜Ｂｍは、反応前又は反応後の他の物質の数、すなわち分子数又は原子数を初期カウント値としてそれぞれ設定される。物質カウンタＢ１〜Ｂｍは、反応実行回路Ｈ１〜Ｈｎの減少指令及び増加指令に応じて、そのカウント値を減少及び増加させる。
【００２４】
なお、物質カウンタは、上記のバイナリカウンタに特に限定されず、他のカウンタ等を用いてもよい。例えば、代謝経路におけるクエン酸回路のような生化学反応を状態遷移と捉え、状態遷移機械（有限状態オートマトン）を組み合わせて使用する場合、物質カウンタとしてジョンソンカウンタを用いることにより、コンパクトな回路により高速にシミュレーションすることができる。
【００２５】
乱数発生器Ｒ１は、生化学反応の反応速度を制御するための所定の乱数を、絞り回路Ｖ１を介して反応実行回路Ｈ１に出力する。乱数発生器としては、擬似乱数を発生させる擬似乱数発生回路、カオス的な乱数を発生させるカオス発生回路、熱雑音に基づく乱数を発生させる熱雑音発生回路等を用いることができる。
【００２６】
例えば、擬似乱数発生回路としては、線形フィードバックシフトレジスタを用いることによって、線形フィードバックシフトレジスタがＬ個のレジスタから構成されると、２L−１の長周期を有するが、ほぼランダムな乱数を発生させることができる。カオス発生回路としては、コンデンサと可変抵抗回路とで構成される閉ループにより不規則な信号を発生させる回路等を用いることによって、カオス的な振る舞いを行う不規則な乱数を発生させることができる。熱雑音発生回路としては、短周期のパルスを長周期のパルスによりラッチし、ラッチされた短周期のパルスのレベルを乱数として出力する回路等を用いることによって、ホワイトノイズによる周期性のない乱数を発生させることができる。
【００２７】
酵素カウンタＫ１は、反応実行回路Ｈ１が表す生化学反応に使用される酵素物質の数、すなわち酵素物質の分子数をそのカウント値として設定され、設定されたカウント値に応じて絞り回路Ｖ１の絞り量が調整される。なお、一般の化学反応の場合は、酵素カウンタが触媒カウンタに変更され、生細胞内で作られる蛋白性の生体触媒である酵素の代わりに、触媒物質の数がそのカウント値として設定される。また、触媒（酵素）を使用しない化学反応の場合、触媒（酵素）カウンタ及び絞り回路は不要となる。
【００２８】
具体的には、乱数発生器Ｒ１が乱数として“１”又は“０”のデータをランダムに発生し、酵素カウンタＫ１がそのカウント値に応じて“０”に対する“１”の頻度を調整して“１”又は“０”のデータを出力する。このとき、絞り回路Ｖ１は両データの論理積を取り、その結果を反応実行回路Ｈ１へ出力する。したがって、酵素カウンタＫ１のカウント値に応じて反応実行回路Ｈ１へ入力される“１”の頻度が調整される。
【００２９】
反応実行回路Ｈ１は、データとして“１”が入力された場合、反応を実行させるため、増加指令用の入力配線Ｉ１にカウント値を１だけ増加させるための増加指令を出力するとともに、減少指令用の入力配線Ｄ１にカウント値を１だけ減少させるための減少指令を出力する。一方、反応実行回路Ｈ１は、データとして“０”が入力された場合、反応を行わないようにするため（不実行の状態）、増加指令及び減少指令を出力しない。
【００３０】
このとき、接続切り換え回路ＳＷは、減少指令用の入力配線Ｄ１と、反応実行回路Ｈ１が表す生化学反応における反応前の物質の数、すなわち分子数又は原子数を表す物質カウンタに接続されている減少指令用の出力配線とを接続している。したがって、反応実行回路Ｈ１から出力される減少指令が反応前の物質に対して設けられた物質カウンタへ入力され、当該物質カウンタが自身のカウント値を１だけ減少させる。また、接続切り換え回路ＳＷは、増加指令用の入力配線Ｉ１と、反応実行回路Ｈ１が表す生化学反応における反応後の物質の数、すなわち分子数又は原子数を表す物質カウンタに接続されている増加指令用の出力配線とを接続している。したがって、反応実行回路Ｈ１から出力される増加指令が反応後の物質に対して設けられた物質カウンタへ入力され、当該物質カウンタが自身のカウント値を１だけ増加させる。
【００３１】
他の乱数発生器、酵素カウンタ、絞り回路及び反応実行回路も、上記と同様に構成され、生化学反応に応じて上記と同様に動作する。なお、酵素カウンタに割り当てられる酵素の数が生化学反応等により増減する場合は、酵素カウンタも物質カウンタと同様に構成されて接続切り換え回路に接続され、対応する反応実行回路によりそのカウント値が増減される。
【００３２】
また、物質カウンタＢ１〜Ｂ３は、上限カウント値及び下限カウント値を有し、自身のカウント値が上限カウント値に達した場合、上限到達信号を下位統合カウンタＬ１へ出力し、自身のカウント値が下限カウント値に達した場合、下限到達信号を下位統合カウンタＬ１へ出力する。物質カウンタＢ４，Ｂ５は、上限カウント値及び下限カウント値を有し、自身のカウント値が上限カウント値に達した場合、上限到達信号を下位統合カウンタＬ２へ出力し、自身のカウント値が下限カウント値に達した場合、下限到達信号を下位統合カウンタＬ２へ出力する。
【００３３】
下位統合カウンタＬ１は、物質カウンタＢ１〜Ｂ３から上限到達信号を受けたとき、当該物質カウンタのカウント値から所定値を減算することを指示する減算指令信号を出力するとともに、自身のカウント値に所定数を加算する。減算指令信号を受けた物質カウンタは、自身のカウント値から所定値を減算する。下位統合カウンタＬ１は、物質カウンタＢ１〜Ｂ３から下限到達信号を受けたときも、当該物質カウンタのカウント値に所定値を加算することを指示する加算指令信号を出力するとともに、自身のカウント値から所定数を減算する。加算指令信号を受けた物質カウンタは、自身のカウント値に所定値を加算する。下位統合カウンタＬ２及び物質カウンタＢ４，Ｂ５も、下位統合カウンタＬ１及び物質カウンタＢ１〜Ｂ３と同様に動作する。
【００３４】
下位統合カウンタＬ１，Ｌ２は、上限カウント値及び下限カウント値を有し、自身のカウント値が上限カウント値に達した場合、上限到達信号を上位統合カウンタＨＣへ出力し、自身のカウント値が下限カウント値に達した場合、下限到達信号を上位統合カウンタＨＣへ出力する。上位統合カウンタＨＣは、下位統合カウンタＬ１，Ｌ２から上限到達信号を受けたとき、当該下位統合カウンタのカウント値から所定値を減算することを指示する減算指令信号を出力するとともに、自身のカウント値に所定数を加算する。減算指令信号を受けた下位統合カウンタは、自身のカウント値から所定値を減算する。上位統合カウンタＨＣは、下位統合カウンタＬ１，Ｌ２から下限到達信号を受けたとき、当該下位統合カウンタのカウント値に所定値を加算することを指示する加算指令信号を出力するとともに、自身のカウント値から所定数を減算する。加算指令信号を受けた下位統合カウンタは、自身のカウント値に所定値を加算する。
【００３５】
例えば、物質カウンタＢ１〜Ｂ５、下位統合カウンタＬ１，Ｌ２及び上位統合カウンタＨＣがｋビットカウンタ（ｋは任意の正数）から構成され、物質カウンタＢ１〜Ｂ５の最上位ビットを下位統合カウンタＬ１，Ｌ２の最下位ビットに対応させ、下位統合カウンタＬ１，Ｌ２の最上位ビットを上位統合カウンタＨＣの最下位ビットに対応させた場合、物質カウンタＢ１〜Ｂ５、下位統合カウンタＬ１，Ｌ２及び上位統合カウンタＨＣによる縫合的なカウント範囲は、２３ｋ−２となる。なお、統合カウンタの段数は、上記の例に特に限定されず、１段の統合カウンタのみを設けたり、３段以上の統合カウンタを設けたりしてもよい。また、統合カウンタが管理する物質カウンタの数も上記の例に特に限定されず、４個以上の物質カウンタを管理する等の変更が可能である。
【００３６】
本実施の形態において、物質カウンタＢ１〜Ｂｍが個別カウント回路の一例に相当し、反応実行回路Ｈ１〜Ｈｎ、乱数発生器Ｒ１〜Ｒｎ、酵素カウンタＫ１〜Ｋｎ、絞り回路Ｖ１〜Ｖｎ及び接続切り換え回路ＳＷが反応回路の一例に相当し、物質カウンタＢ１〜Ｂ５が分割カウント回路の一例に相当し、下位統合カウンタＬ１，Ｌ２及び上位統合カウンタＨＣが統合カウント回路の一例に相当し、下位統合カウンタＬ１，Ｌ２が第１の統合カウント回路の一例に相当し、上位統合カウンタＨＣが第２の統合カウント回路の一例に相当する。
【００３７】
次に、上記のように構成されたハードウエアシミュレータの動作について説明する。まず、シミュレーションの対象となる物質、生化学反応及び酵素等に関する必要なデータを用いて、物質カウンタＢ１〜Ｂ５、下位統合カウンタＬ１，Ｌ２及び上位統合カウンタＨＣにこれらの初期値の合計が一の物質の数を表すように分配して設定され、物質カウンタＢ７〜Ｂｍに各物質の数を表すカウンタの初期値が設定されるとともに、酵素カウンタＫ１〜Ｋｎに各酵素の数を表すカウンタの初期値が設定される。次に、乱数発生器Ｒ１〜Ｒｎは上記の乱数を発生させ、絞り回路Ｖ１〜Ｖｎは、酵素カウンタＫ１〜Ｋｎの酵素の数に応じて乱数を補正する。反応実行回路Ｈ１〜Ｈｎは、酵素数により補正された乱数の値に応じて反応が実行されるように、反応前の物質の分子数又は原子数を表す物質カウンタＢ１〜Ｂｍのカウント値を１だけ減少させるとともに、反応後の物質の分子数又は原子数を表す物質カウンタＢ１〜Ｂｍのカウント値を１だけ増加させる。
【００３８】
このようにして、各反応実行回路Ｈ１〜Ｈｎが表す生化学反応の反応速度が反応実行回路Ｈ１〜Ｈｎごとに調整され、各反応実行回路Ｈ１〜Ｈｎが表す生化学反応の反応前後の物質に対応する物質カウンタＢ１〜Ｂｍが対応する反応実行回路Ｈ１〜Ｈｎに接続されるとともに、各反応実行回路Ｈ１〜Ｈｎが表す生化学反応に応じて反応前後の物質に対応する物質カウンタＢ１〜Ｂｍのカウント値が減少又は増加され、複数の生化学反応が並列的にシミュレーションされる。
【００３９】
このように、反応前後の各物質の量をカウント値、すなわち数（整数）として捉え、生化学反応による物質の変化量をシミュレーションしているので、物質カウンタＢ１〜Ｂｍの数を増加するだけでシミュレーションに使用する物質の種類を増加させることができる。また、未知の生化学反応が新たにわかった場合、病体等によりある生化学反応が欠損している場合及び野生種のために生化学反応が通常と異なる場合でも、新たな生化学反応、欠損した生化学反応及び通常と異なる生化学反応に応じて接続切り換え回路ＳＷにより反応実行回路Ｈ１〜Ｈｎと物質カウンタＢ１〜Ｂｍとの接続状態を変更等することにより容易に対処することができる。
【００４０】
ここで、物質カウンタＢ１〜Ｂ５は、一の物質に対して設けられるとともに、当該一の物質と反応する複数の物質が５グループに分割され、物質カウンタＢ１〜Ｂ３は、３個のグループに対して各々設けられており、以下、物質カウンタＢ１〜Ｂ３を例に物質カウンタの分割方法を説明する。
【００４１】
図２は、物質カウンタの分割方法を説明するための模式図である。例えば、物質カウンタＢ０に割り当てられる物質ｂ０が、７個の物質ｘ１〜ｘ７、３個の物質ｙ１〜ｙ３及び５個の物質ｚ１〜ｚ５の１５個の物質と反応する場合、７個の物質ｘ１〜ｘ７、３個の物質ｙ１〜ｙ３及び５個の物質ｚ１〜ｚ５を割り当てられている物質カウンタＸ１〜Ｘ７，Ｙ１〜Ｙ３，Ｚ１〜Ｚ５と物質カウンタＢ０との関係は、図２の（ａ）に示すようなネットワークにより表現される。なお、図中の矢印の方向は反応方向を示しており、反応に応じて矢印の始点側の物質カウンタの値が減少し、矢印の終点側の物質カウンタの値が増加する。この場合、物質カウンタＢ０は、１５個の物質カウンタＸ１〜Ｘ７，Ｙ１〜Ｙ３，Ｚ１〜Ｚ５との配線が必要となる。
【００４２】
一方、図２の（ｂ）に示す例では、７個の物質ｘ１〜ｘ７、３個の物質ｙ１〜ｙ３及び５個の物質ｚ１〜ｚ５を７個の物質ｘ１〜ｘ７のグループ、３個の物質ｙ１〜ｙ３のグループ及び５個の物質ｚ１〜ｚ５のグループからなる３グループにグループ分けし、各グループに対して物質ｂ０の物質カウンタＢ１〜Ｂ３が設けられ、３個の物質カウンタＢ１〜Ｂ３を統合する統合カウンタＬ１が設けられている。この場合、物質カウンタＢ１は、７個の物質カウンタＸ１〜Ｘ７と接続され、物質カウンタＢ２は、３個の物質カウンタＹ１〜Ｙ３と接続され、物質カウンタＢ３は、５個の物質カウンタＺ１〜Ｚ５と接続され、物質カウンタＢ１〜Ｂ３と他の物質カウンタとの最大接続数は７個となり、一の物質カウンタに対する配線数を削減することができる。
【００４３】
また、上記のシミュレーション中に、物質カウンタＢ１〜Ｂ５は、自身のカウント値が上限カウント値又は下限カウント値に達した場合、上限到達信号又は下限到達信号を下位統合カウンタＬ１，Ｌ２へ出力する。このとき、下位統合カウンタＬ１，Ｌ２は、自身のカウント値に対して所定数を加算又は減算した後、減算指令信号又は加算指令信号を返信する。減算指令信号又は加算指令信号を受けた物質カウンタＢ１〜Ｂ５は、自身のカウント値に対して所定値を減算又は加算する。下位統合カウンタＬ１，Ｌ２及び上位統合カウンタＨＣも、上記と同様に動作する。
【００４４】
図２の（ｂ）に示す例において、例えば、物質カウンタＢ１〜Ｂ３及び統合カウンタＬ１が６ビットカウンタから構成され、物質カウンタＢ１〜Ｂ３の最上位ビットを統合カウンタＬ１の最下位ビットに対応させ、初期値として、統合カウンタＬ１に“０”、物質カウンタＢ１〜Ｂ３に“３２”がそれぞれ設定されている場合、シミュレーション中に物質カウンタＢ１のカウント値が“６３”になると、物質カウンタＢ１は、上限到達信号を統合カウンタＬ１へ出力し、統合カウンタＬ１は最下位ビットをセットしてカウント値を“３２”に設定し、減算指令信号を返信する。減算指令信号を受けた物質カウンタＢ１は、最上位ビットをクリアしてカウント値を“３１”に設定する。その後、物質カウンタＢ２のカウント値が“０”になると、物質カウンタＢ２は、下限到達信号を統合カウンタＬ１へ出力し、統合カウンタＬ１は最下位ビットをクリアしてカウント値を“０”に設定し、加算指令信号を返信する。加算指令信号を受けた物質カウンタＢ２は、最上位ビットをセットしてカウント値を“３２”に設定する。この場合、物質カウンタＢ１〜Ｂ３のカウント範囲は０〜６３となるが、統合カウンタＬ１を含めた総合カウント範囲は、０〜２０４７となり、カウント範囲を大幅に拡大することができる。
【００４５】
上記のように、本実施の形態では、一の物質と反応する他の物質が多数ある場合でも、他の物質がグループ分けされ、このグループごとに一の物質の物質カウント回路Ｂ１〜Ｂ５が設けられているので、各物質カウンタＢ１〜Ｂ５に接続されるべき物質カウンタの数を低減することができ、物質カウンタＢ１〜Ｂ５に対する配線を容易に行うことができる。また、物質カウンタＢ１〜Ｂ５のカウント値を管理する下位統合カウンタＬ１，Ｌ２及び下位統合カウンタＬ１，Ｌ２を管理する上位統合カウンタＨＣが設けられているので、物質カウンタＢ１〜Ｂ５のカウント範囲が狭い場合でも、一の物質に対するカウント範囲を大幅に拡大することができ、カウント範囲の狭いカウント回路を用いて簡略な回路構成で非常に広いカウント範囲を実現することができる。さらに、物質カウンタＢ１〜Ｂ５が上限カウント値又は下限カウント値に達した場合でも、物質カウンタＢ１〜Ｂ５のカウント値をカウント可能な値に修正することができるので、物質カウンタＢ１〜Ｂ５をオーバーフローさせることなく動作させることができ、シミュレーションを中断することなく、シミュレーションを完了させることができる。
【００４６】
次に、細胞内の各物質の濃度勾配を考慮して細胞内の生化学反応をシミュレーションする場合について説明する。図３は、細胞内の各物質の濃度勾配を考慮して細胞内の生化学反応をシミュレーションする方法を説明するための模式図である。
【００４７】
図３に示すように、細胞内の生化学反応をシミュレーションする場合、一つの細胞を複数のセルＣＥに空間分割し、セルＣＥごとに物質の量を保持させ、セルラーオートマトンにより各物質の濃度勾配をシミュレーションする。すなわち、対象とするセル内の各物質の濃度（量）と近傍の６個のセル内の物質の濃度（量）とからセル間での各物質の拡散をシミュレーションする。
【００４８】
例えば、隣接する２つのセルＣ１，Ｃ２に、濃度の異なる物質１、物質２及び物質３がそれぞれ含まれている場合、セルＣ１，Ｃ２間では、濃度の高い方から低い方へ各物質が拡散し、このセル間での拡散を以下のようにしてシミュレーションすることができる。
【００４９】
図４は、図３に示す２つのセルにおける物質の拡散をシミュレーションする場合のハードウエアシミュレータの構成を示すブロック図である。図４に示すハードウエアシミュレータは、セルＣ１用のハードウエアシミュレータＣＢ１、セルＣ２用のハードウエアシミュレータＣＢ２及び拡散回路ＫＣを備える。
【００５０】
図４に示すハードウエアシミュレータＣＢ１内の物質カウンタＢ１ａ〜Ｂ１ｃ及び統合カウンタＩＣのカウント値の合計値は、セルＣ１内の物質１の分子数又は原子数を表し、物質カウンタＢ２，Ｂ３の各カウント値は、セルＣ１内の物質２，３の分子数又は原子数を表し、ハードウエアシミュレータＣＢ２内の物質カウンタＢ１ａ’〜Ｂ１ｃ’及び統合カウンタＩＣ’のカウント値の合計値は、セルＣ２内の物質１の分子数又は原子数を表し、物質カウンタＢ２’，Ｂ３’の各カウント値は、セルＣ２内の物質２，３の分子数又は原子数を表し、各物質カウンタＢ１ａ〜Ｂ３，Ｂ１ａ’〜Ｂ３’は、拡散回路ＫＣを介して接続されている。なお、図４に示す例では，統合カウンタを１段のみ用いている。
【００５１】
拡散回路ＫＣは、統合カウンタＩＣ，ＩＣ’及び物質カウンタＢ１ａ〜Ｂ３，Ｂ１ａ’〜Ｂ３’のカウント値、すなわち各物質の分子数又は原子数に応じて各物質が拡散するように、物質カウンタＢ１ａ〜Ｂ３，Ｂ１ａ’〜Ｂ３’のカウント値を制御する。例えば、物質カウンタＢ１ａ〜Ｂ１ｃ及び統合カウンタＩＣのカウント値の合計値が物質カウンタＢ１ａ’〜Ｂ１ｃ’及び統合カウンタＩＣ’のカウント値の合計値より大きい場合、平衡状態になるまで、所定の拡散速度に従い、物質カウンタＢ１ａ〜Ｂ３のカウント値を順次減少させるとともに、これに対応させて物質カウンタＢ１ａ’〜Ｂ３’のカウント値を順次増加させる。
【００５２】
なお、図４では、セルＣ１，Ｃ２用のハードウエアシミュレータＣＢ１，ＣＢ２において統合カウンタＩＣ，ＩＣ’及び物質カウンタＢ１ａ〜Ｂ３，Ｂ１ａ’〜Ｂ３’のみを図示しているが、各ハードウエアシミュレータＣＢ１，ＣＢ２も、図１に示すハードウエアシミュレータと同様に構成され、乱数発生器、酵素カウンタ、絞り回路、反応実行回路及び接続切り換え回路（図示省略）を有している。したがって、ハードウエアシミュレータＣＢ１，ＣＢ２も、図１に示すハードウエアシミュレータと同様に動作し、各セルＣ１，Ｃ２ごとに内部の生化学反応がシミュレーションされ、物質カウンタＢ１ａ〜Ｂ１ｃ，Ｂ１ａ’〜Ｂ１ｃ’は、自身のカウント値が上限カウント値又は下限カウント値に達した場合、上限到達信号又は下限到達信号を統合カウンタＩＣ，ＩＣ’へ出力し、統合カウンタＩＣ，ＩＣ’は、自身のカウント値に対して所定数を加算又は減算した後、減算指令信号又は加算指令信号を返信し、物質カウンタＢ１ａ〜Ｂ１ｃ，Ｂ１ａ’〜Ｂ１ｃ’は、自身のカウント値に対して所定値を減算又は加算する。
【００５３】
上記のように、細胞を複数のセルに分割し、セルごとに生化学反応による物質の変化量をシミュレーションするとともに、隣接するセル間での各物質の拡散をシミュレーションすることにより、細胞内の各物質の濃度勾配を考慮して細胞内の物質の変化量をシミュレーションすることができる。同時に、物質カウンタＢ１ａ〜Ｂ１ｃ，Ｂ１ａ’〜Ｂ１ｃ’をオーバーフローさせることなく動作させることができ、シミュレーションを中断することなく、シミュレーションを完了させることができる。また、物質カウンタＢ１ａ〜Ｂ３，Ｂ１ａ’〜Ｂ３’に対する配線を容易に行うことができるとともに、カウント範囲の狭い物質カウンタＢ１ａ〜Ｂ３，Ｂ１ａ’〜Ｂ３’を用いて簡略な回路構成で広いカウント範囲を実現することができる。
【００５４】
次に、多細胞の生化学反応をシミュレーションする場合について説明する。図５は、多細胞の生化学反応をシミュレーションする方法を説明するための概略図である。図５に示すように、図３と同様に各細胞を複数のセルＣＥ（図中のハッチングのないセル）に分割するとともに、細胞間に存在する細胞壁を複数の細胞壁セルＷＣ（図中のハッチングを施したセル）に分割する。この場合、各細胞内では、図３及び図４を用いて説明した細胞内のシミュレーションと同様に生化学反応がシミュレーションされる。
【００５５】
また、細胞壁を表す細胞壁セルＷＣの部分は、例えば、拡散が起こらない、すなわち細胞間で物質が拡散しないものとしてシミュレーションを行ってもよく、また、細胞壁でもある程度の拡散が行われるとして、細胞内の細胞セルと同様に拡散回路を用いて拡散をシミュレーションしてもよい。
【００５６】
上記のように、各細胞を複数のセルに分割するとともに、細胞壁を複数の細胞壁セルに分割し、セルごとに生化学反応による物質の変化量をシミュレーションしながら、細胞内で隣接するセル間の各物質の拡散等をシミュレーションすることにより、多細胞についても、その生化学反応を同様にシミュレーションできる。同時に、物質カウンタをオーバーフローさせることなく動作させることができ、シミュレーションを中断することなく、シミュレーションを完了させることができる。また、物質カウンタに対する配線を容易に行うことができるとともに、カウント範囲の狭いカウント回路を用いて簡略な回路構成で広いカウント範囲を実現することができる。
【００５７】
なお、本発明が適用可能なハードウエアシミュレータは、上記の例に特に限定されず、所定のハードウエアから構成され、シミュレーション対象物間の反応によるシミュレーション対象物の変化量をシミュレーションするハードウエアシミュレータであれば、種々の分野に適用可能である。例えば、脳細胞及び神経回路網等の生物シミュレーション、遺伝子進化及び生物の個体進化シミュレーション、渡り鳥の移動等に関する生態系シミュレーション、移動物に関する交通システムシミュレーション、避難シミュレーション、数値流体シミュレーション、気象シミュレーション、ロジスティクスシミュレーション、電力供給シミュレーション、都市計画等に関する都市シミュレーション、企業間取引及び株式・先物取引等に関する経済システムシミュレーション、経営シミュレーション、電気回路及び集積回路等の電磁シミュレーション、半導体及び材料の電子レベルシミュレーションに適用することができる。
【図面の簡単な説明】
【００５８】
【図１】本発明の一実施の形態によるハードウエアシミュレータの構成を示すブロック図である。
【図２】物質カウンタの分割方法を説明するための模式図である。
【図３】細胞内の各物質の濃度勾配を考慮して細胞内の生化学反応をシミュレーションする方法を説明するための模式図である。
【図４】図３に示す２つのセルにおける物質の拡散をシミュレーションする場合のハードウエアシミュレータの構成を示すブロック図である。
【図５】多細胞の生化学反応をシミュレーションする方法を説明するための概略図である。
【符号の説明】
【００５９】
Ｒ１〜Ｒｎ  乱数発生器
Ｋ１〜Ｋｎ  酵素カウンタ
Ｖ１〜Ｖｎ  絞り回路
Ｈ１〜Ｈｎ  反応実行回路
Ｂ１〜Ｂｍ  物質カウンタ
ＳＷ  接続切り換え回路
Ｌ１，Ｌ２  下位統合カウンタ
ＨＣ  上位統合カウンタ
【図１】
0004774529.tif 000002
【図２】
0004774529.tif 000003
【図３】
0004774529.tif 000004
【図４】
0004774529.tif 000005
【図５】
0004774529.tif 000006