"統合発火型電子ニューロンの外部スパイク信号に応じて、前記外部スパイク信号に基づいてニューロン膜電位を表すデジタル膜電位を更新するステップと、漏れ率に基づいて前記デジタル膜電位を減衰するステップと、前記デジタル膜電位がしきい値を超えたことに応じて、スパイク信号を生成するステップと、を含む、方法。前記膜電位を更新するステップが、外部興奮性スパイク信号の受信に応じて、1の時間ステップで受信した興奮性スパイク信号の数に第1のスケーリングパラメータを掛けたものに等しい増加分だけ前記膜電位を増加するステップと、外部抑制性スパイク信号の受信に応じて、1の時間ステップで受信した抑制性スパイク信号の数に第2のスケーリングパラメータを掛けたものに等しい減少分だけ前記膜電位を減少させるステップと、を含む、請求項1記載の方法。前記第1のスケーリングパラメータが2の倍数であり、前記受信した興奮性スパイクの数に前記倍率を掛けることがデジタルビットシフト操作によって行われる、請求項2記載の方法。前記第2のスケーリングパラメータが2の倍数であり、前記受信した抑制性スパイクの数に前記倍率を掛けることがデジタルビットシフト操作によって行われる、請求項2記載の方法。前記膜電位を減衰するステップが、前記膜電位の現在値を時定数で割ったものに等しい漏れ率に基づいて前記膜電位を減衰するステップを含む、請求項4記載の方法。前記時定数が2の倍数であり、前記膜電位を前記時定数値で割ることがデジタルビットシフト操作によって行われる、請求項5記載の方法。前記膜電位を更新するステップが、抑制性スパイク信号の受信に応じて、抑制性チャネルコンダクタンス値を増加するステップを含む、請求項4記載の方法。前記抑制性チャネルコンダクタンス値の現在値を時定数で割ったものに等しい漏れ率に基づいて前記抑制性チャネルコンダクタンス値を減衰するステップであって、前記時定数が2の倍数であり、前記抑制性チャネルコンダクタンス値を前記時定数値で割ることがビットシフト操作によって行われる、ステップと、前記抑制性チャネルコンダクタンス値に基づいて前記膜電位を減少させることにより前記膜電位に抑制を適用するステップと、をさらに含む、請求項7記載の方法。前記膜電位に抑制を適用するステップが、前記膜電位から前記膜電位値の現在値を除数値で割ったものを引くステップを含み、前記除数値が倍率から前記抑制性チャネルコンダクタンス値内の最上位非ゼロビットを引いたものに等しい冪指数だけ2を累乗したものを含む、請求項8記載の方法。各外部スパイク信号によって強度係数だけ増加する2つの抑制性チャネルコンダクタンス変数の差として前記電子ニューロン内のシナプスチャネルコンダクタンスをモデル化するステップと、時定数によって支配される減衰率に基づいて前記コンダクタンス変数を減衰するステップであって、前記時定数が2の倍数であり、前記減衰がデジタルビットシフト操作によって行われる、ステップと、をさらに含む、請求項4記載の方法。前記膜電位から前記膜電位の現在値を除数値で割ったものを引くことにより前記膜電位に抑制を適用するステップであって、前記除数値が倍率から前記抑制性チャネルコンダクタンス変数の前記差の値内の最上位非ゼロビットを引いたものに等しい冪指数だけ2を累乗したものである、ステップと、合計を生成するためにビットシフト操作を使用して膜電位補数値を興奮性強度シフト係数に加えることにより前記膜電位に興奮を適用し、倍率から前記興奮性チャネルコンダクタンス変数の前記差の値内の最上位非ゼロビットを引いたものに等しい冪指数だけ2を累乗したものである除数で前記合計を割るステップと、をさらに含む、請求項10記載の方法。統合発火型電子ニューロンの膜電位を表すデジタルカウンタと、外部スパイク信号に基づいて前記膜電位を更新するために構成されたコントローラであって、外部興奮性スパイク信号の受信に応じて、変更する必要がある前記カウンタ内のビットのみが変更されるようなビット単位の操作を使用して増加分だけ前記膜電位を増分すること、外部抑制性スパイク信号の受信に応じて、変更する必要がある前記カウンタ内のビットのみが変更されるようなビット単位の操作を使用して減少分だけ前記膜電位を減分すること、によって前記膜電位を更新するためのコントローラと、アナログ抵抗-容量モデルを使用して時定数に基づいて前記膜電位を減衰するために構成された減衰モジュールと、前記膜電位がしきい値を超えたことに応じて、スパイク信号を生成するために構成されたスパイクモジュールと、を含む、統合発火型電子ニューロン。前記減衰モジュールが、アナログ抵抗-容量モデルを使用して時定数に基づいて減衰イベントを発生することにより前記膜電位を減衰するために構成される、請求項12記載の統合発火型電子ニューロン。減衰イベントの発生に応じて、前記カウンタの最上位ビットが1である場合に前記カウンタの前記最上位ビットがゼロに設定され、そうではない場合に前記カウンタのすべての下位ビットがゼロに設定される、請求項13記載の統合発火型電子ニューロン。前記ニューロンがスパイク信号を生成すると、前記容量が急速に放電され、ある充電率で充電され、前記充電がしきい値への到達に応じて、減衰イベントが発生される、請求項14記載の統合発火型電子ニューロン。前記ニューロンがスパイク信号を生成すると、前記容量が急速に放電され、ある充電率で充電され、前記充電が第1のしきい値への到達に応じて、減衰イベントが発生され、前記容量がある率で放電され、前記充電が第2のしきい値への到達に応じて、減衰イベントが発生される、請求項14記載の統合発火型電子ニューロン。前記抵抗-容量モデルが2つの容量を含み、前記膜の前記電位が、前記ニューロンが第1のスパイク信号を生成したときに、第2の容量に切り替わりながら第1の容量を急速に放電することと、前記ニューロンが第2のスパイク信号を生成したときに、前記第1の容量に切り替わりながら前記第2の容量を急速に放電することによって減衰される、請求項13記載の統合発火型電子ニューロン。イベントドリブン統合発火型電子ニューロン内で外部スパイク信号を受信したことに応じて、前記外部スパイク信号に基づいて電子ニューロンのデジタル膜電位を更新するステップと、漏れ率に基づいて前記膜電位を減衰するステップと、前記膜電位がしきい値を超えたことに応じて、スパイク信号を生成するステップを含み、前記膜電位を更新するステップが、興奮性イベントタイプの発生に応じて、興奮性シナプス強度増加分だけ前記膜電位を増分するステップをさらに含む、方法。前記膜電位を更新するステップが、抑制性イベントタイプの発生に応じて、抑制性シナプス強度減少分だけ前記膜電位を減分するステップをさらに含む、請求項18記載の方法。前記膜電位を更新するステップが、減衰イベントタイプの発生に応じて、漏れ強度減少分だけ前記膜電位を減分するステップをさらに含む、請求項19記載の方法。スパイク信号を生成するステップが、前記膜電位をリセット値に設定するステップをさらに含む、請求項20記載の方法。減衰イベントの発生に応じて、前記膜電位がしきい値より上である場合に前記ニューロンがスパイクイベントを送信し、シミュレーションとハードウェアとの対応を維持する、請求項18記載の方法。デジタル膜電位カウンタと、統合発火型電子ニューロン内の外部スパイク信号に応じて、前記外部スパイク信号に基づいてデジタル膜電位を更新するために構成されたコントローラモジュールであって、前記デジタル膜電位がニューロン膜電位を表す、コントローラモジュールと、漏れ率に基づいて前記デジタル膜電位を減衰するために構成された減衰モジュールと、前記デジタル膜電位がしきい値を超えたことに応じて、スパイク信号を生成するために構成されたスパイクモジュールと、を含む、統合発火型電子ニューロン。前記コントローラモジュールが、外部興奮性スパイク信号の受信に応じて、1つの時間ステップで受信した興奮性スパイク信号の数に第1のスケーリングパラメータを掛けたものに等しい増加分だけ前記膜電位を増加することと、外部抑制性スパイク信号の受信に応じて、1つの時間ステップで受信した抑制性スパイク信号の数に第2のスケーリングパラメータを掛けたものに等しい減少分だけ前記膜電位を減少させることによって前記膜電位を更新するためにさらに構成される、請求項23記載の統合発火型電子ニューロン。前記第1のスケーリングパラメータが2の倍数であり、前記受信した興奮性スパイクの数に前記倍率を掛けることがデジタルビットシフト操作によって行われるようになっており、前記第2のスケーリングパラメータが2の倍数であり、前記受信した抑制性スパイクの数に前記倍率を掛けることがデジタルビットシフト操作によって行われるようになっている、請求項24記載の統合発火型電子ニューロン。請求項1~11、18~22のいずれかに記載の方法の各ステップを実行させるプログラムコードを含む、プログラム。本発明の諸実施形態は、統合発火型電子ニューロンを提供する。一実施形態では、外部スパイク信号を受信したことに応じて、外部スパイク信号に基づいて、ニューロン膜電位を表すデジタルカウンタが更新される。膜電位は漏れ率に基づいて減衰される。膜電位がしきい値を超えしたことに応じて、スパイク信号が生成される。膜電位は生物ニューロン内の膜電位電圧に対応する。他の実施形態では、混合モードのデジタルアナログ電子ニューロンが提供され、外部興奮性スパイク信号を受信したことに応じて、変更する必要があるカウンタ内のビットのみが変更されるようなビット単位の操作を使用して増加分だけデジタル膜電位が増分される。さらに、外部抑制性スパイク信号を受信したことに応じて、変更する必要があるカウンタ内のビットのみが変更されるようなビット単位の操作を使用して減少分だけ膜電位が減分される。さらに、アナログ抵抗-容量モデルanalogresistorcapacitormodelを使用して時定数に基づいて膜電位が減衰される。一実施形態では、1つの時間ステップで受信した興奮性スパイク信号の数にスケーリングパラメータを掛けたものに等しい増加分だけ膜電位を増加する。一例では、スケーリングパラメータは2の倍数に制限され、受信した興奮性スパイクの数に倍率でスケーリングする倍率を掛けることがビットシフト操作によって行われるようになっている。一実施形態では、1つの時間ステップで受信した抑制性スパイクの数にスケーリングパラメータを掛けたものに等しい減少分だけ膜電位を減少させる。スケーリングパラメータは2の倍数に制限され、受信した抑制性スパイクの数に倍率を掛けることがビットシフト操作によって行われるようになっている。他の実施形態では、イベントドリブン電子ニューロンが提供され、興奮性イベントタイプが発生すると、デジタル膜電位は興奮性シナプス強度増加分だけ増分される。抑制性イベントタイプが発生すると、デジタル膜電位は抑制性シナプス強度減少分だけ減分される。減衰イベントタイプが発生すると、デジタル膜電位は漏れ強度減少分だけ減分される。本発明の上記その他の特徴、態様、および利点は、以下の説明、特許請求の範囲、および添付図面に関連して十分理解されたものになるであろう。本発明の諸実施形態は、統合発火型ニューロンを含むニューロンシナプス型システムを提供する。統合発火型電子ニューロンintegrateandfireelectronicneuronは、生物ニューロンで検出された統合およびスパイク特性をシミュレートする計算効率の良いメカニズムである。このような電子ニューロンは、シナプス入力を膜電位電圧変数に統合し、膜電位電圧がしきい値を超えた場合にスパイクおよび電圧リセットを発生することによって動作する。本発明の諸実施形態は、正確な1対1のソフトウェアハードウェア対応を可能にし、カスタムデジタル回路内のソフトウェアシミュレーションおよびハードウェアシミュレーションで実装可能な漏出型の統合発火型ニューロンモデルをさらに提供する。次に図1を参照すると、本発明の一実施形態による、統合発火型電子ニューロンを相互接続するクロスバーアレイを有するニューロンシナプス型システム10の図が示されている。一例では、クロスバーアレイは、約0.1nm~10μmの範囲内のピッチを有することができる超高密度クロスバーアレイを含むことができる。ニューロンシナプス型システム10は、本発明の一実施形態による、複数の統合発火型ニューロン14、16、18、および20を有するクロスバーアレイ12を含む。これらのニューロンは本明細書では電子ニューロンとも呼ばれる。ニューロン14および16は軸索ニューロンであり、ニューロン18および20は樹状突起ニューロンである。軸索ニューロン14および16は、出力22および24が導電性軸索パス/ワイヤ軸索26および28にそれぞれ接続された状態で示されている。樹状突起ニューロン18および20は、入力30および32が導電性樹状突起パス/ワイヤ樹状突起34および36にそれぞれ接続された状態で示されている。軸索ニューロン14および16は、入力も含み、樹状突起伝いで信号を受信するが、これらの入力および樹状突起は図を単純にするために図示されていない。したがって、軸索ニューロン14および16は、樹状突起接続伝いで入力を受信するときに、樹状突起ニューロンとして機能することになる。同様に、樹状突起ニューロン18および20は、その軸索接続伝いで信号を送出するときに、軸索ニューロンとして機能することになる。ニューロン14、16、18、および20のいずれかが発火したときに、そのニューロンはその軸索接続および樹状突起接続にパルスを送出することになる。本明細書で使用するときにwhenという用語は、ニューロンが発火してから即座にまたはニューロンが発火してからある程度の期間後に、信号が送信されることを意味することができる。軸索26、28と樹状突起34、36との間の各接続はシナプスデバイスsynapsedeviceによって行われ、そのシナプスデバイスは一実施形態では可変状態抵抗variablestateresistor38、40、42、および44を含む。可変状態抵抗が位置する接合部は、本明細書ではクロスポイント接合部crosspointjunctionと呼ぶことができる。可変状態抵抗という用語は、電気パルス電圧または電流のいずれか一方の印加によってデバイスの電気コンダクタンス特性が変化するクラスのデバイスを指す。クロスバーアレイニューロンシナプス型システムならびにこのようなクロスバーアレイで使用される可変状態抵抗について全般的に考察するために、2008年発行のJNanoelectronicsandOptoelectronics2008の第3巻、203~230ページに掲載されたKLikharevによるHybridCMOSNanoelectronicCircuitsOpportunitiesandChallengesを参照する。本発明の一実施形態では、可変状態抵抗は相変化メモリPCMを含むことができる。PCMデバイスの他に、本発明の諸実施形態で使用可能なその他の可変状態抵抗デバイスとしては、上記で参照したKLikharevによる論文により詳細に記載されているように、金属酸化物、硫化物、酸化シリコンおよびアモルファスシリコン、磁気トンネル接合、浮遊ゲートFETトランジスタ、および有機薄膜層デバイスを使用して作られたデバイスを含む。また、可変状態抵抗は、スタティックランダムアクセスメモリデバイスを使用して構築することもできる。また、可変状態抵抗にはアクセスデバイス39も付加され、このアクセスデバイスは、PNダイオード、ダイオードとして配線されたFET、または非線形の電圧電流応答を有するその他の何らかのエレメントを含むことができる。一般に、本発明の一実施形態により、軸索ニューロン14および16は、樹状突起入力接続図示せずから受信する入力がしきい値を超えたときに、発火するパルスを送信または放出することになる。軸索ニューロン14および16が発火すると、それらは、時間の経過につれてたとえば、約50msec減衰するA-STDP変数を維持する。A-STDP変数は、たとえば、指数関数、一次関数、多項式関数、または二次関数などの関数に応じて、時間の関数として減衰する。A-STDP変数はサンプリングすることができる。本発明の他の実施形態では、A-STDP変数は、時間の経過につれて減少する代わりに増加することもできる。A-STDP変数は、関連のニューロンの最後の発火以降の時間をエンコードすることにより、軸索STDPを達成するために使用される。軸索STDPは、典型的に、このコンテキストでシナプスコンダクタンスを増加することとして定義される増強potentiationを制御するために使用されるが、このコンテキストでシナプスコンダクタンスを減少させることを指す下降depressionを制御するために使用することもできる。樹状突起ニューロン18、20が発火すると、それらは、時間の経過につれてたとえば、約50msec減衰するD-STDP変数を維持する。D-STDP変数は、たとえば、指数関数、一次関数、多項式関数、または二次関数などの関数に応じて、時間の関数として減衰する。D-STDP変数はサンプリングすることができる。本発明の他の実施形態では、この変数は、時間の経過につれて減少する代わりに増加することもできる。D-STDP変数は、以下により詳細に論ずるように、関連のニューロンの最後の発火以降の時間をエンコードすることにより、樹状突起STDPを達成するために使用することができる。樹状突起STDPは、典型的に、このコンテキストでシナプスコンダクタンスを減少させることとして定義される下降を制御するために使用されるが、このコンテキストでシナプスコンダクタンスを増加することを指す増強を制御するために使用することもできる。一実施形態では、本発明は、デジタル回路を使用して実装される統合発火型電子ニューロンを提供する。第1の実装例は、線形漏れ回路と線形ポイント電流linearpointcurrentタイプのシナプスデバイスを使用する、統合発火型ニューロンを含む。第2の実装例は、線形漏れ回路を凸状電圧減衰回路で置き換えることを含み、さらに不応期を使用する。第3の実装例は、コンダクタンスベースの抑制を追加することを含む。第4の実装例は、二重指数コンダクタンスベースのシナプスを実装する。これらの実装例については以下により詳細に説明する。線形漏れ統合発火型LL-IF本発明の第1の実装例は、図5のブロック図例によって示されているように、線形漏れ統合発火型LL-IF電子ニューロン80を含む。LL-IFニューロン80によって受信された各興奮性スパイクについて、入力積分器モジュール81は一定の量sだけニューロンの膜電位Vを増加し、ニューロンが受信する各抑制性スパイクについて、入力積分器モジュール81は一定の量sだけVを減少させる。ニューロン膜漏れは、漏出器leakerモジュール82を使用して各時間ステップ内でλだけVを線形に減少させることによってシミュレートされる。1つのデジタルクロック信号は複数の時間ステップを提供する。比較器モジュール83により、ニューロン80への入力がしきい値θより上にVを増加する場合、スパイクが生成され、Vがリセット値Vresetに設定される。ニューロンパラメータは非負整数であり、nは1つの時間ステップ内で受信した興奮性スパイクの数であり整数[0,63]、nは1つの時間ステップ内で受信した抑制性スパイクの数であり整数[0,63]、sは∈{0,1,2,4,8,16,32}である興奮強度であり、sは∈{0,1,2,4,8,16,32}である抑制強度であり、効率のために、sおよびsは2の累乗になるように制限されており、θはVと同じ分解能を有する整数であるスパイクしきい値であり、Vresetはリセット電圧であり単純にするため、Vreset=0と想定されている、λは漏れ率である整数[0,63]。ニューロンダイナミクスに関しては、Vはデジタルカウンタによって維持される膜電圧8ビットで表される非負整数であり、Vは折り返さず、Vがすでにゼロである場合にV-1は依然としてゼロになる。Vに関する更新規則は、以下の式に応じてVを更新することを含む。Vt=Vt-1-λsn-snここで、sはsnがnのビットシフト加算になるような2の累乗である。さらに、sは-snがnのビットシフト減算になるような2の累乗である。このニューロンに関するスパイク条件は以下のものを含む。Vt>θである場合、Vt=Vresetを設定し、スパイクを放出する。図2は、時間に関して、入力なし0~200時間ステップ、確率興奮性入力201~400時間ステップ、および確率興奮性抑制性入力401~600時間ステップという条件に対するLL-IF電子ニューロンのV変数の応答グラフ例51を示している。各時間ステップ内の入力スパイクの数はガウス分布μ=1,δ=1から引き出され、負数はゼロに丸められている。各時間ステップの長さはデジタルクロック信号によって決定される。1msecの時間ステップは、生物ニューロンで検出されたものを近似する時間スケール上での挙動を生成する。使用されるパラメータ値は、s=24、s=23、θ=200、Vreset=0、λ=6である。不応期付き凸状減衰統合発火型CD-IFw/RP本発明の第2の実装例は、図6のブロック図例によって示されているように、不応期付き凸状減衰近似統合発火型CD-IFw/RP電子ニューロン85を含む。CD-IFw/RP電子ニューロン85は不応期を有し、ニューロンが受信する各興奮性スパイクについて、入力積分器86は一定の量sだけ膜電位Vを増加し、ニューロンが受信する各抑制性スパイクについて、入力積分器86は一定の量sだけVを減少させる。ニューロン膜漏れは、漏出器モジュール87が各時間ステップ内で時定数τに応じてVを減衰することによってシミュレートされるしたがって、静止膜電位が0であると想定する。比較器モジュール88により、ニューロンへの入力がしきい値θより上にVを増加する場合、ニューロンはスパイクを生成し、VがVresetに設定される。ニューロンがスパイクを生成すると、不応期発生器モジュール89がρ時間ステップの間、VをVresetに保持することによって不応期がシミュレートされる。すべてのニューロンパラメータは非負整数であり、nは1つの時間ステップ内で受信した興奮性スパイクの数であり整数[0,63]、nは1つの時間ステップ内で受信した抑制性スパイクの数であり整数[0,63]、sは∈{0,1,2,4,8,16,32,64,128}である興奮強度であり、sは∈{0,1,2,4,8,16,32,64,128}である抑制強度であり、効率のために、sおよびsは2の累乗になるように制限されており、θはスパイクしきい値Vと同じ分解能を有する整数であり、Vresetはリセット電圧であって、θより小さい任意の正整数にすることができ、τは∈{1,2,4,8...210}である膜時定数であり、効率のために、τはVの範囲内の2の累乗になるように制限されており、ρは不応期である整数[0,63]。本明細書に示されているパラメータ範囲は例に過ぎない。当業者であれば、本発明の諸実施形態では複数のパラメータ範囲が可能であり有用であることを認識するであろう。ニューロンダイナミクスに関しては、Vは膜電位カウンタ10ビットで表される非負整数であり、Vは折り返さず、Vがすでにゼロである場合にV-1は依然としてゼロになる。rは不応期カウンタ6ビットで表される正整数であり、rは折り返さない。更新規則は、以下のものを含む。rt>0である場合、rt=rt-1-1であり、Vを更新せず、さもなければ、に応じてVを更新する。ここで、sはsnがnのビットシフト加算になるような2の累乗である。さらに、sは-snがnのビットシフト減算になるような2の累乗である。さらに、τは-Vt-1/τがVt-1のビットシフト減算になるような2の累乗である。このニューロンに関するスパイク条件は以下のものを含む。Vt>θである場合、rt=ρを設定し、スパイクを放出する。図3は、入力なしたとえば、0~200時間ステップ、確率興奮性入力たとえば、201~400時間ステップ、および確率興奮性抑制性入力たとえば、401~600時間ステップに対するCD-IFw/RP電子ニューロンの応答グラフ例52を示している。各時間ステップ内の入力スパイクの数はガウス分布μ=1,δ=1から引き出され、負数はゼロに丸められている。使用されるパラメータ値は、s=26、s=25、θ=700、Vreset=0、ρ=8、およびτ=16である。不応期およびコンダクタンスベースの抑制付き凸状減衰統合発火型CD-IFw/RPCB-I本発明の第3の実装例は、図7のブロック図例によって示されているように、不応期およびコンダクタンスベースの抑制付き凸状減衰近似統合発火型CD-IFw/RPCB-I電子ニューロン90を含む。CD-IFw/RPCB-Iニューロン90が受信する各興奮性スパイクについて、入力積分器モジュール91は一定の量sだけ膜電位Vを増加し、入力積分器モジュール91によって受信された各抑制性スパイクについて、入力積分器モジュール91は一定の量sだけ抑制性チャネルコンダクタンスgを増加する。シナプスコンダクタンス計算器モジュール92は各時間ステップで抑制性チャネルコンダクタンス減衰を提供し、率は時定数τgによって支配される。次に、以下のように膜電位Vを減少させることにより、各時間ステップで入力積分器モジュール91によって抑制が膜電位に統合される。ここで、gscaleはgの倍率であるこれは0という抑制性逆転電位を想定している。膜漏れは、漏出器モジュール93が各時間ステップ内で時定数τに応じてVを減衰することによってシミュレートされるしたがって、静止膜電位が0であると想定する。比較器モジュール94Aにより、ニューロンへの入力がしきい値θより上にVを増加する場合、ニューロンはスパイクを生成し、VがVresetに設定される。不応期発生器モジュール94Bにより、ニューロンがスパイクを生成すると、ρ時間ステップの間、VをVresetに保持することによって不応期がシミュレートされる。すべてのパラメータは非負整数であり、nは1つの時間ステップ内で受信した興奮性スパイクの数であり整数[0,63]、nは1つの時間ステップ内で受信した抑制性スパイクの数であり整数[0,63]、sは∈{0,1,2,4,8,16,32,64,128}である興奮強度であり、sは∈{0,1,2,4,8,16,32,64,128}である抑制強度であり、効率のために、sおよびsは2の累乗になるように制限されており、θはスパイクしきい値Vと同じ分解能を有する整数であり、Vresetはリセット電圧であって、θより小さい任意の正整数にすることができ、τは∈{1,2,4,8...210}である膜時定数であり、効率のために、τはVの範囲内の2の累乗になるように制限されており、τgは∈{1,2,4,8...28}である抑制性コンダクタンス時定数であり、効率のために、τgはgの範囲内の2の累乗になるように制限されており、ρは不応期であり整数[0,63]、gscaleはgの区分倍率divisivescalingfactorである整数[10,16]。本明細書に示されているパラメータ範囲は例に過ぎない。当業者であれば、本発明の諸実施形態では複数のパラメータ範囲が可能であり有用であることを認識するであろう。ダイナミクスに関しては、Vは膜電圧カウンタ10ビットで表される非負整数であり、Vは折り返さず、Vがすでにゼロである場合にV-1は依然としてゼロになる。rは不応期カウンタ6ビットで表される正整数であり、rは折り返さない。gは抑制性コンダクタンス10ビットで表される正整数であり、gは折り返さない。このニューロンに関する更新規則は、以下のものを含む。ここで、τgは2の累乗であり、-gt-1/τgはgt-1のビットシフト減算であり、sは2の累乗であり、-snはnのビットシフト減算である。rt>0である場合、rt=rt-1-1であり、Vを更新せず、さもなければ、に応じてVを更新する。ここで、k=gscale-floorlog2gtであり、floorlog2xはx内の最上位非ゼロビットの位置であり、kは整数であり、Vt-1/2kはVt-1のビットシフトバージョンである。さらに、sはsnがnのビットシフト加算になるような2の累乗である。さらに、τは-Vt-1/τがVt-1のビットシフト減算になるような2の累乗である。このニューロンに関するスパイク条件は以下のものを含む。Vt>θである場合、rt=ρを設定し、スパイクを放出する。図4は、入力なし0~200時間ステップ、確率興奮性入力201~400時間ステップ、および確率興奮性抑制性入力401~600時間ステップに対するCD-IFw/RPCB-I電子ニューロンの応答グラフ例53を示している。各時間ステップ内の入力スパイクの数はガウス分布μ=1,δ=1から引き出され、負数はゼロに丸められている。使用されるパラメータ値は、s=26、s=25、θ=700、Vreset=0、ρ=8、およびτg=8、gscale=8である。図9は、図4と同じ刺激列に対する抑制性コンダクタンスgの値のグラフ例54を示している。不応期およびコンダクタンスベースのシナプス付き凸状減衰統合発火型CD-IFw/RPCB-S本発明の第4の実装例は、図8のブロック図例によって示されているように、不応期およびコンダクタンスベースのシナプス付き凸状減衰近似統合発火型CD-IFw/RPCB-S電子ニューロン95を含む。シナプスチャネルコンダクタンスは指数コンダクタンス変数g1およびg2の差としてモデル化され、これらの変数はニューロンへの各入力によって強度係数sだけ増加する。次に、シナプスコンダクタンス計算器モジュール96により、コンダクタンス変数は各時間ステップで減衰し、率は時定数τgによって支配される。各時間ステップにおいて、入力積分器モジュール97が以下のようにシナプス電流を使用することにより、ニューロン膜電位Vが変更される。ここで、gscaleはgの倍率であり、Erevはチャネル逆転電位であって、抑制性チャネルの場合は0になり、興奮性チャネルの場合は2102EEshiftになるように想定されている。膜漏れは、漏出器モジュール98が各時間ステップ内で時定数τに応じてVを減衰することによってシミュレートされるしたがって、静止膜電位が0であると想定する。比較器モジュール99Aにより、ニューロン95への入力がしきい値θより上にVを増加する場合、ニューロンはスパイクを生成し、VがVresetに設定される。不応期発生器99Bにより、ニューロンがスパイクを生成すると、ρ時間ステップの間、VをVresetに保持することによって不応期がシミュレートされる。すべてのパラメータは非負整数であり、nは受信した興奮性スパイクの数であり整数[0,63]、nは受信した抑制性スパイクの数であり整数[0,63]、sは∈{0,1,2,4,8,16,32,64,128}である興奮強度であり、sは∈{0,1,2,4,8,16,32,64,128}である抑制強度であり、効率のために、sおよびsは2の累乗になるように制限されており、θはスパイクしきい値Vと同じ分解能を有する整数であり、Vresetはリセット電圧であって、θより小さい任意の正整数にすることができ、τは∈{1,2,4,8...210}である膜時定数であり、効率のために、τはVの範囲内の2の累乗になるように制限されており、τgI1は∈{1,2,4,8...28}である第1の抑制性コンダクタンス時定数であり、τgI2は∈{1,2,4,8...28}である第2の抑制性コンダクタンス時定数であり、τgE1は∈{1,2,4,8...28}である第1の興奮性コンダクタンス時定数であり、τgE2は∈{1,2,4,8...28}である第2の興奮性コンダクタンス時定数であり、効率のために、すべてのτgはgの範囲内の2の累乗になるように制限されており、ρは不応期であり整数[0,63]、gEscaleは興奮性コンダクタンスに関する区分倍率であり整数[10,16]、gIscaleは抑制性コンダクタンスに関する区分倍率であり整数[10,16]、EEShiftはしきい値より大きい興奮性逆転電位に合わせて調整する整数[10,13]。本明細書に示されているパラメータ範囲は例に過ぎない。当業者であれば、本発明の諸実施形態では複数のパラメータ範囲が可能であり有用であることを認識するであろう。ダイナミクスに関しては、Vは膜電圧10ビットで表される非負整数であり、Vは折り返さず、Vがすでにゼロである場合にV-1は依然としてゼロになる。rは不応期カウンタ6ビットで表される正整数であり、rは折り返さない。gI1は抑制性指数変数110ビットで表される正整数である。gI2は抑制性指数変数210ビットで表される正整数である。gE1は興奮性指数変数110ビットで表される正整数である。gE2は興奮性指数変数210ビットで表される正整数である。すべてのg値は折り返さない。このニューロンに関する更新規則は、以下のものを含む。に応じてgI1を更新する。に応じてgI2を更新する。に応じてgE1を更新する。に応じてgE2を更新する。ここで、τgは2の累乗であり、-gt-1/τgはgt-1のビットシフト減算であり、sは2の累乗であり、-snはnのビットシフト減算であり、sは2の累乗であり、snはnのビットシフト加算である。rt>0である場合、rt=rt-1-1であり、Vを更新せず、さもなければ、に応じてVを更新する。ここで、kI=gIscale-floorlog2gI1-gI2であり、kE=gEscale-floorlog2gE1-gE2であり、kは整数であり、x/2kはxのビットシフトバージョンであり、floorlog2xはx内の最上位非ゼロビットの位置であり、210-VはVのビット単位の補数であり、210-VEEShiftは210-Vのビットシフトバージョンである。さらに、τは-Vt-1/τがVt-1のビットシフト減算になるような2の累乗である。このニューロンに関するスパイク条件は以下のものを含む。Vt>θである場合、rt=ρを設定し、スパイクを放出する。図10は、入力なし0~200時間ステップ、確率興奮性入力201~400時間ステップ、および確率興奮性抑制性入力401~600時間ステップに対するCD-IFw/RPCB-S電子ニューロンの応答グラフ例55を示している。各時間ステップ内の入力スパイクの数はガウス分布μ=1,δ=1から引き出され、負数はゼロに丸められている。使用されるパラメータ値は、s=26、s=25、θ=700、Vreset=0、ρ=8、τ=16、τgI1=2、τgI2=8、τgE1=1、τgE2=2,gIscale=10、gEscale=12、EEShift=12、gscale=8である。図11は、図10と同じ刺激列に対する抑制性コンダクタンスgの値のグラフ例を示している。図12は、図10と同じ刺激列に対する興奮性gの値のグラフ例を示している。本明細書に記載されている本発明の実装例では、興奮強度パラメータおよび抑制強度パラメータsおよびsは2の累乗に制限されている。この制限により、電子ニューロンは、単純なビットシフト操作を使用して、各時間ステップ内に受信した興奮性スパイクおよび抑制性スパイクの数nおよびnにそれぞれの強度パラメータを掛けることによって、入力スパイクを効率よく統合することができる。次に、加算または減算により、結果値を電圧またはシナプスコンダクタンスのうち電子ニューロンに適した方に統合することができる。シナプス強度パラメータを2の累乗に制限することによって提供されるものより精密な制御がそれらのパラメータに対して行われることが望ましい場合がある。このような制御は、シナプス強度パラメータを所与の範囲内の任意の正整数たとえば、[0,127]にして、さらに柔軟性を提供することによって達成することができる。次に、n回だけ適切な変数にsを加えることによって興奮性スパイクを統合することができ、n回だけ適切な変数からsを引くことによって抑制性スパイクを統合することができる。電子ニューロンが時間ステップあたり多くても1つの興奮性入力スパイクと1つの抑制性入力スパイクを受信する場合、この実装例は上記で詳述した実装例と同じ程度に効率が良いものである。CD-IFニューロン膜電位更新規則は以下の通りである。これは、上記の第2および第3の実装例に関するものであり、伝統的な統合発火型IFニューロンモデルで使用される膜電圧の指数関数的減衰に対する凸状近似を提供し、したがって、以下の対応する膜更新規則に比較してより高度の生物学的リアリズムが得られる。Vt=Vt-1-λsn-snこれは、本発明の第1の実施形態に関するものであり、時間の経過につれて膜電圧が一定の直線傾斜下降することを使用する。以下のように混合膜更新規則を使用することもできる。ここで、電圧依存区分漏れおよび電圧非依存線形漏れの項の両方を使用して、この混合膜更新規則はさらに同調可能性を提供する。本発明の一実施形態により、混合膜更新規則を実装するニューロンシナプス型システムが上記の本発明の第1、第2、および第3の実装例の挙動を複製する際のパラメータ値を選択することができる。イベントベースのニューロン更新も使用することができる。本明細書に記載されている更新規則はデジタルクロック駆動方式で電子ニューロンの更新を提供し、1つまたは複数の状態変数は各時間ステップで変化する。イベントが発生したときに状態変数のみが変化するように、イベントベースの方式でニューロンをシミュレートすることができる。これは、各ニューロンに関するカウンタKを保持することによって達成することができ、このカウンタはイベントが発生するたびにゼロに設定され、各時間ステップで1だけ増分する。次に、このカウンタにより、イベントが発生するたびに状態変数プロセスが変化する。たとえば、本発明の第1の実装例に関するプロセスは以下のように変化する。更新規則:V=V-Kλsn-snに応じてVを更新する。sは2の累乗であるので、snはnのビットシフト加算である。sは2の累乗であるので、-snはnのビットシフト減算である。スパイク条件:Vt>θである場合、Vt=Vresetを設定し、スパイクを放出する。このため、本発明の諸実施形態は専用デジタル電子ニューロンを使用して生物学的脳のシミュレーションを容易にし、この電子ニューロンは製作中に発生する小規模なハードウェアの変動の影響をあまり受けない。本発明の諸実施形態はさらに、完全に非同期で電力効率が良いニューロンシナプス型ハードウェア実装により、混合モードデジタルアナログ統合発火型電子ニューロンを提供する。図13は、本発明による混合モードデジタルアナログ統合発火型電子ニューロン60の実装例の図を示している。混合モードニューロンはその膜電位状態をデジタル状態カウンタ62で維持する。このニューロンが興奮性ニューロンからのスパイクを含む外部信号を受信すると、状態カウンタ62は小さい整数典型的に1に設定されるだけ増分される。このニューロンが抑制性ニューロンからのスパイクを含む外部信号を受信すると、状態カウンタ62は小さい整数典型的に1に設定されるだけ減分される。変更する必要がある状態カウンタ62内のビットのみが変更されるように、この増分および減分は電力効率が良いビット単位の方式で実行される。状態カウンタが比較器63によって決定されたしきい値を超えた場合、このニューロンは発火し、パルスモジュール64を介してスパイクを放出する。図14では、状態カウンタ62のMSB最上位ビットおよび下位ビットMSBビット以外のものすべてが識別されている。減衰イベントを発生するためのメカニズム61が設けられている図13。減衰イベントが発生したときに以下のものを実装することによって効率の良い状態カウンタ漏れを達成することができる。状態カウンタのMSBが1である場合、状態カウンタのMSBがゼロに設定される。さもなければすべての下位ビットがゼロに設定される。終了。図15を参照すると、第1の実施形態では、減衰イベントを発生するためのメカニズム61は、数ミリ秒のRC時定数を有するアナログ抵抗-容量RC回路を含むたとえば、約5~20msecの範囲内の値により、電子ニューロンは生物ニューロンで観察された挙動を再生することができるであろう。電子ニューロン60がスパイクを生成すると、容量Cは急速に放電される。次に、容量Cは、図16の例によって示されているように、ゆっくり充電する。容量Cがしきい値たとえば、その完全充電の86.5に到達すると、減衰イベントが発生し、以下の動作が回路61内で実行される。容量61Aはスイッチ61Bを介して急速に放電され、電流源61Dからスイッチ61Cを介してもう一度充電を開始する。状態カウンタ62のMSBが1である場合、状態カウンタのMSBがゼロに設定される。さもなければすべての下位ビットがゼロに設定される。終了。第2の実施形態では、減衰イベントを発生するためのメカニズム61は、数ミリ秒のRC時定数を有するRC回路図15の例によって示されているものなどを含むたとえば、約5~20msecの範囲内の値により、電子ニューロンは生物ニューロンで観察された挙動を再生することができるであろう。電子ニューロン60がスパイクを生成すると、容量Cは急速に放電される。さらに、以下の動作が実行される。ステップ1:容量Cは開始値からゆっくり充電する図16。スパイクイベントが発生したばかりである場合、開始値はゼロであり、そうではない場合、開始値は、容量Cがすでに備えている電荷である。容量Cが第1のしきい値たとえば、その完全充電の86.5に到達すると、減衰イベントが発生し、以下の動作が実行される。状態カウンタ62図13のMSBが1である場合、状態カウンタ62のMSBがゼロに設定される。さもなければ状態カウンタ62のすべての下位ビットがゼロに設定される。終了。ステップ2に移行する。ステップ2:次に容量Cは、それがすでに備えている電荷から始めて、図17に示されているようにゆっくり放電する。容量Cが第2のしきい値たとえば、その完全充電の約13.5または14.5に到達すると、減衰イベントが発生し、以下の動作が実行される。状態カウンタ62図13のMSBが1である場合、状態カウンタ62のMSBがゼロに設定される。さもなければ状態カウンタ62のすべての下位ビットがゼロに設定される。終了。ステップ1に移行する。ステップ1の充電はこの時点では空の容量からではなく、容量がすでに備えている電荷から始めることになる。パーセンテージに関しては、好ましくは以下のようになる。第1のしきい値第2のしきい値=100上記のステップ1とステップ2は互いに逆であり、ステップ1ではエネルギーすなわち、電荷が容量Cに供給され、ステップ2ではエネルギーが容量Cから抽出される。このため、正味のエネルギー損失は削減される。状態カウンタ62は、電子ニューロン60が興奮性信号を受信したときに増分動作を続行し、電子ニューロン60が抑制性信号を受信したときに減分動作を続行する。いつでも状態カウンタ62がしきい値たとえば、約255に到達した場合、電子ニューロン60は発火し、スパイク信号を放出する。電子ニューロン90がスパイクを生成すると、容量Cは急速に放電される。上記の例では、スパイクイベントが発生すると、容量Cが放電される。エネルギー損失を回避するために、放電動作を除去することができる。これは、追加の異質性と、ニューロン発火におけるランダム性の発生源をもたらすものである。代わって、抵抗とインダクタと容量とを含むRLC回路において、2つの容量を使用することができる。ニューロンは、両方の容量が放電状態にある状態から始める。最初は、第1の容量が電流源を介してしきい値に到達するまで第1の容量が充電され、その間に第2の容量はインダクタを介して電流源に放電する。第1の容量がしきい値に到達すると、2つの容量の役割が逆転する。次に、第2の容量が電流源を介してしきい値に到達するまで第2の容量が充電され、その間に第1の容量はインダクタを介して電流源に放電する。第2の容量がしきい値に到達すると、2つの容量の役割がもう一度逆転する。このように、サイクルが継続する。したがって、2つの容量を交互にすることにより、エネルギー損失が最小限になる。本発明による混合モード電子ニューロンの諸実施形態は、いくつかのこのようなニューロン間の非同期動作を提供し、減衰容量に関するエネルギー消費を削減する際に効率的である容量内のエネルギー損失は、スパイクイベントが発生したときにのみ発生し、必要であれば、これさえも最小限にすることができる。混合モードニューロンは、状態カウンタを操作する際に最小限のエネルギーを必要とする状態カウンタに関するエネルギー損失は、新しい情報が到着したとき、または減衰イベントが発生したとき、またはスパイクイベントが発生したときにのみ発生する。ニューロン間には固有の異質性が存在する。ニューロンは、自然にバイナリシナプスとのインターフェースを取り、ニューロン同士を相互接続するためにクロスバーアレイとの高速インターフェースたとえば、10nsec未満をサポートするアナログ専用ニューロンは長時間0.1msの電流の流れを必要とする。混合モードニューロンは、蓄積デジタル状態カウンタおよび減衰アナログRC回路のプロセスを分離する。低電力イベントドリブンLPED電子ニューロン回路は、上記のLL-IFニューロンをハードウェアで実現したものである。LPED電子ニューロンは、貴重な資源たとえば、クロスバーアレイへのアクセスを解放するために迅速にイベントを処理する。イベントは比較的低速で到着するのでたとえば、各ニューロンは平均して10,000入力×10Hz=105イベント/秒で受信する、本発明の一実施形態による純粋なイベントドリブン電子ニューロンは、低い動的電力消費により改善されたサービス時間たとえば、イベントあたり数ナノ秒未満を提供する。図18は、クロスバーアレイ回路12に接続された本発明の一実施形態によるLPED電子ニューロン70の図を示している。図19は、本発明の一実施形態による、図18のLL-IFLPED電子ニューロン70に関する回路のより詳細な図を示している。ニューロンパラメータたとえば、8ビットの符号付きの値としては、興奮性シナプス強度E、抑制性シナプス強度I、漏れ強度L、リセット値R、およびしきい値Tを含む。この実施形態では、LPED電子ニューロン70は2つの樹状突起チャネルExcおよびInh上でシナプスイベントを受信し、これらのイベントは、クロスバーアレイ、仮想化ネットワークを含む多数の発生源から到着するか、または他のニューロンから発生した軸索から直接、到着する可能性がある。イベントは相互排他的に一度に1つずつ到着し、各イベントは他のイベントを受け入れる前にLPED電子ニューロン70によって完全に処理される。他の実施形態では、イベント到着は排他的になるように制限されないが、LPED電子ニューロン70は、一度に1つずつ選択して、その複数入力間でアービトレーションを行う必要がある。また、LPED電子ニューロン70は、個別チャネル上で同期イベントも受信する。その出力のために、LPED電子ニューロン70は軸索チャネル上でスパイクイベントを送信する。イベントドリブンニューロンシステムでは、イベントが到着する順序はアービトレーションのために決定的ではない。非決定的イベント到着が存在する場合でも、1すべての保留シナプスイベントが時間ウィンドウt内で処理されるニューロン膜電位Vtが一度にイベント1つずつについて更新されるシナプス更新フェーズと、2スパイクイベントが存在するかどうかを判断するためにVtとしきい値が比較されるスパイク計算フェーズという2つのフェーズに計算を分けることにより、LPEDニューロンをソフトウェア記述に正確に一致させることができる。スパイクの有無をチェックする前に、第1のフェーズでイベントが処理される順序がVtの最終値を変更しないのでニューロンが線形であるため、LPEDニューロンは決定的な挙動を示す。ニューロン70は、制御モジュール75と、更新値モジュール73と、リセットモジュール76と、加算器/ラッチモジュール71と、比較モジュール72とを含む。制御モジュール75は、シナプスイベント用のCaおよびCbと、同期イベント用のCcと、Vtの符号正または負を決定するためのCxと、Vt>Tしきい値という条件を判断するためのCfという5つの入力チャネルを有する。ニューロン70は、Vtを更新するための値を選択するためのCdと、VtをリセットするためのCeと、スパイクイベントを送信するためのCsという3つの出力チャネルを有する。更新値モジュール73は、Vtに対して可能な更新の値を保管し、選択するための3つの値8ビットの符号付きの数値、すなわち、E、I、およびLを有する。この値は、Cdによって制御モジュール75から選択され、加算器/ラッチモジュール71に送信される。加算器/ラッチモジュール71は、Aと値BとしてVtについて11ビットの符号付き加算を実行し、C上に合計Vt1を生成し、D上で加算の符号を送信する。この合計は加算器71の出力にあるラッチに保管される。リセットモジュール76は、Vtをリセット値Rで置き換えるか、または制御モジュール75からのCe上で不変かつ条件付きのVt1を送信する。比較モジュール72は、Vt1をTと比較し、その結果をCf上で制御モジュール75に送信する。本明細書で使用する電子ニューロンという用語は、生物ニューロンをシミュレートするように構成されたアーキテクチャを表す。電子ニューロンは、生物学的脳のニューロンと機能的にほぼ同等の処理要素間の接続を作成する。このため、本発明の諸実施形態による電子ニューロンを含むニューロンシナプス型システムは、生物ニューロンを手本にした様々な電子回路を含むことができる。さらに、本発明の諸実施形態による電子ニューロンを含むニューロンシナプス型システムは、生物ニューロンを手本にした様々な処理要素コンピュータシミュレーションを含むを含むことができる。電子回路を含む電子ニューロンを使用して本発明の特定の例示的な諸実施形態について本明細書で説明してきたが、本発明は電子回路に限定されない。本発明の諸実施形態によるニューロンシナプス型システムは、回路を含むニューロンシナプス型アーキテクチャとして、さらにコンピュータシミュレーションとして実装することができる。実際に、本発明の諸実施形態は、完全にハードウェアの実施形態、完全にソフトウェアの実施形態、またはソフトウェア要素とハードウェア要素の両方を含む一実施形態の形を取ることができる。本発明の諸実施形態は、コンピュータ、処理装置、または任意の命令実行システムによりあるいはそれに関連して使用するためのプログラムコードを提供するコンピュータ使用可能媒体またはコンピュータ可読媒体からアクセス可能なコンピュータシミュレーションまたはプログラムの形を取ることができる。当業者であれば認識するように、本発明の諸態様は、システム、方法、またはコンピュータプログラムとして実施することができる。したがって、本発明の諸態様は、完全にハードウェアの実施形態、完全にソフトウェアの実施形態ファームウェア、常駐ソフトウェア、マイクロコードなどを含む、またはソフトウェア態様とハードウェア態様を結合した一実施形態の形を取ることができ、このような実施形態は一般に本明細書ではいずれも回路、モジュール、またはシステムと呼ぶことができる。さらに、本発明の諸態様は、コンピュータ可読プログラムコードがそこに実施されている1つまたは複数のコンピュータ可読媒体に実施されたコンピュータプログラムの形を取ることもできる。1つまたは複数のコンピュータ可読媒体の任意の組み合わせを使用することができる。コンピュータ可読媒体は、コンピュータ可読信号媒体またはコンピュータ可読記憶媒体にすることができる。コンピュータ可読記憶媒体は、たとえば、電子、磁気、光、電磁、赤外線、または半導体システム、装置、あるいはデバイス、もしくはこれらの任意の適切な組み合わせにすることができるが、これらに限定されないものである。コンピュータ可読記憶媒体のより具体的な例非網羅的リストとしては、1つまたは複数のワイヤを有する電気接続、ポータブルコンピュータディスケット、ハードディスク、ランダムアクセスメモリRAM、読み取り専用メモリROM、消去可能プログラム可能読み取り専用メモリEPROMまたはフラッシュメモリ、光ファイバ、ポータブルコンパクトディスク読み取り専用メモリCD-ROM、光記憶装置、磁気記憶装置、またはこれらの任意の適切な組み合わせを含むであろう。本書に関連して、コンピュータ可読記憶媒体は、命令実行システム、装置、またはデバイスによりあるいはそれに関連して使用するためのプログラムを収容または保管可能な任意の有形媒体にすることができる。コンピュータ可読信号媒体は、たとえば、ベースバンド内にまたは搬送波の一部として、コンピュータ可読プログラムコードがそこに実施されている伝搬データ信号を含むことができる。このような伝搬信号は、電磁、光、またはこれらの任意の適切な組み合わせを含むがこれらに限定されない様々な形のいずれかを取ることができる。コンピュータ可読信号媒体は、コンピュータ可読記憶媒体ではなく、命令実行システム、装置、またはデバイスによりあるいはそれに関連して使用するためのプログラムを伝達、伝搬、または移送可能な任意のコンピュータ可読媒体にすることができる。コンピュータ可読媒体上に実施されたプログラムコードは、無線、有線、光ファイバケーブル、RFなど、またはこれらの任意の適切な組み合わせを含むがこれらに限定されない任意の適切な媒体を使用して伝送することができる。本発明の諸態様に関する動作を実行するためのコンピュータプログラムコードは、JavaR、SmalltalkR、Cなどのオブジェクト指向プログラミング言語ならびにCプログラミング言語または同様のプログラミング言語などの従来の手続き型プログラミング言語を含む、1つまたは複数のプログラミング言語の任意の組み合わせで作成することができる。このプログラムコードは、スタンドアロンソフトウェアパッケージとして、完全にユーザのコンピュータ上で、一部分はユーザのコンピュータ上で、一部分はユーザのコンピュータ上でしかも一部分はリモートコンピュータ上で、あるいは完全にリモートコンピュータまたはサーバ上で実行することができる。後者のシナリオでは、リモートコンピュータは、ローカルエリアネットワークLANまたは広域ネットワークWANを含む任意のタイプのネットワークを介してユーザのコンピュータに接続される場合もあれば、たとえば、インターネットサービスプロバイダを使用してインターネットを介して外部コンピュータに対して接続が行われる場合もある。本発明の諸実施形態による方法、装置システム、およびコンピュータプログラムの流れ図あるいはブロック図またはその両方に関連して、本発明の諸態様について以下に説明する。流れ図あるいはブロック図またはその両方の各ブロックならびに流れ図あるいはブロック図またはその両方の複数ブロックの組み合わせは、コンピュータプログラム命令によって実装可能であることが理解されるであろう。これらのコンピュータプログラム命令は、マシンを生産するために汎用コンピュータ、特殊目的コンピュータ、またはその他のプログラマブルデータ処理装置のプロセッサに提供することができ、それにより、コンピュータまたはその他のプログラマブルデータ処理装置のプロセッサを介して実行される命令は流れ図あるいはブロック図またはその両方の1つまたは複数のブロックに指定された機能/動作を実装するための手段を作成することになる。また、これらのコンピュータプログラム命令は、コンピュータ、その他のプログラマブルデータ処理装置、またはその他のデバイスに対して特定の方法で機能するよう指示することができるコンピュータ可読媒体に保管することもでき、それにより、コンピュータ可読媒体に保管された命令は流れ図あるいはブロック図またはその両方の1つまたは複数のブロックに指定された機能/動作を実装する命令を含む生産物articleofmanufactureを生産することになる。また、これらのコンピュータプログラム命令は、コンピュータ、その他のプログラマブルデータ処理装置、またはその他のデバイス上にロードして、コンピュータによって実装されるプロセスを生成するためにコンピュータ、その他のプログラマブル装置、またはその他のデバイス上で一連の動作ステップを実行させることができ、それにより、コンピュータまたはその他のプログラマブル装置上で実行される命令は流れ図あるいはブロック図またはその両方の1つまたは複数のブロックに指定された機能/動作を実装するためのプロセスを提供することになる。図20は、本発明の一実施形態を実装するために有用な情報処理システムを示す高レベルブロック図である。このコンピュータシステムは、プロセッサ102などの1つまたは複数のプロセッサを含む。プロセッサ102は、通信インフラストラクチャ104たとえば、通信バス、クロスバー、またはネットワークに接続されている。コンピュータシステムは、ディスプレイ装置108上に表示するために通信インフラストラクチャ104からまたは図示していないフレームバッファからグラフィックス、テキスト、およびその他のデータを転送するディスプレイインターフェース106を含むことができる。また、コンピュータシステムは、好ましくはランダムアクセスメモリRAMであるメインメモリ110も含み、2次メモリ112を含むこともできる。2次メモリ112は、たとえば、ハードディスクドライブ114あるいは、たとえば、フレキシブルディスクドライブ、磁気テープドライブ、または光ディスクドライブを表す取り外し可能ストレージドライブ116またはその両方を含むことができる。取り外し可能ストレージドライブ116は、当業者にとって周知の方法で、取り外し可能ストレージユニット118からの読み取りあるいは取り外し可能ストレージユニット118への書き込みまたはその両方を行う。取り外し可能ストレージユニット118は、たとえば、フレキシブルディスク、コンパクトディスク、磁気テープ、または光ディスクなどを表し、取り外し可能ストレージドライブ116によって読み書きされる。認識されるように、取り外し可能ストレージユニット118は、コンピュータソフトウェアあるいはデータまたはその両方がそこに保管されているコンピュータ可読媒体を含む。代替諸実施形態では、2次メモリ112は、コンピュータプログラムまたはその他の命令をコンピュータシステムにロードできるようにするためのその他の同様の手段を含むことができる。このような手段は、たとえば、取り外し可能ストレージユニット120およびインターフェース122を含むことができる。このような手段の例としては、プログラムパッケージおよびパッケージインターフェースビデオゲームデバイス内に使用されているものなど、取り外し可能メモリチップEPROMまたはPROMなどおよび関連ソケット、ならびにその他の取り外し可能ストレージユニット120と取り外し可能ストレージユニット120からコンピュータシステムにソフトウェアおよびデータを転送できるようにするインターフェース122を含むことができる。また、コンピュータシステムは通信インターフェース124を含むこともできる。通信インターフェース124は、コンピュータシステムと外部装置との間でソフトウェアおよびデータを転送できるようにするものである。通信インターフェース124の例としては、モデム、ネットワークインターフェースイーサネットカードなど、通信ポート、またはPCMCIAスロットおよびカードなどを含むことができる。通信インターフェース124を介して転送されるソフトウェアおよびデータは信号の形になっており、この信号は、たとえば、通信インターフェース124によって受信可能な電子信号、電磁信号、光信号、またはその他の信号にすることができる。これらの信号は通信パスすなわち、チャネル126を介して通信インターフェース124に提供される。この通信パス126は、信号を運搬するものであり、ワイヤまたはケーブル、光ファイバ、電話回線、携帯電話リンク、無線周波RFリンク、あるいはその他の通信チャネル、またはこれらの組み合わせを使用して実装することができる。本明細書では、コンピュータプログラム媒体、コンピュータ使用可能媒体、およびコンピュータ可読媒体という用語は、一般に、メインメモリ110および2次メモリ112、取り外し可能ストレージドライブ116、ならびにハードディスクドライブ114に取り付けられたハードディスクなどの媒体を指すために使用されている。コンピュータプログラムコンピュータ制御ロジックとも呼ばれるはメインメモリ110あるいは2次メモリ112またはその両方に保管される。また、コンピュータプログラムは通信インターフェース124を介して受信することもできる。このようなコンピュータプログラムが実行されると、コンピュータシステムは本明細書で論じた本発明の特徴を実行することができる。特に、コンピュータプログラムが実行されると、プロセッサ102はコンピュータシステムの特徴を実行することができる。したがって、このようなコンピュータプログラムは、コンピュータシステムのコントローラを表す。上記の図面内の流れ図およびブロック図は、本発明の様々な実施形態によるシステム、方法、およびコンピュータプログラムについて可能な実装例のアーキテクチャ、機能、および動作を例示している。この点に関しては、流れ図またはブロック図内の各ブロックは、指定の論理機能複数も可を実装するための1つまたは複数の実行可能命令を含む、コードのモジュール、セグメント、または一部分を表すことができる。また、いくつかの代替実装例では、ブロック内に示された機能は図面内に示された順序から外れて行われる可能性があることにも留意されたい。たとえば、連続して示されている2つのブロックは、関係する機能に応じて、実際にはほぼ同時に実行される場合もあれば、ときには逆の順序で実行される場合もある。また、ブロック図あるいは流れ図またはその両方の各ブロックならびにブロック図あるいは流れ図またはその両方の複数ブロックの組み合わせは、指定の機能または動作を実行する特殊目的ハードウェアベースのシステムによって、または特殊目的ハードウェアとコンピュータ命令の組み合わせによって、実装可能であることも留意されるであろう。"