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