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