以下、情報処理装置等の実施形態について図面を参照して説明する。なお、実施の形態において同じ符号を付した構成要素は同様の動作を行うので、再度の説明を省略する場合がある。
(実施の形態1)
本実施の形態において、1以上のsoma(神経細胞体と言っても良い。)の発火条件を格納しており、入力から得られた1以上の情報を用いて、各somaが発火するか否かを判断し、その判断結果から発火パターンを取得し、当該発火パターンを用いて、出力情報を決定し、出力する情報処理装置について説明する。
また、本実施の形態において、特徴情報に対応して、最初に発火するsomaの情報を管理する発火始点情報を用いて、特徴情報の伝達処理が行われる情報処理装置について説明する。
また、本実施の形態において、2以上のリンクを経由してsomaに伝達された2以上の特徴情報をsoma内で演算する処理を行う情報処理装置について説明する。
また、本実施の形態において、2以上のsoma群(神経細胞体群と言っても良い。)が存在し、結合しているsoma群の間で情報を受け渡す情報処理装置について説明する。
また、本実施の形態において、情報の受け渡しは、AXON(軸索と言っても良い。)とDentrites(樹状突起と言っても良い。)とを有するリンクによって情報が伝わったり、伝わらなかったりする情報処理装置について説明する。
また、本実施の形態において、シナプスやスパインをも考慮した情報伝達を行う情報処理装置について説明する。
また、本実施の形態において、動作した要素は、予め決められた条件を満たすほど時間が経過していない場合には動作しない情報処理装置について説明する。なお、要素は、例えば、soma、AXON、Dendritesである。
また、本実施の形態において、発火したsomaの発火確率を上げる情報処理装置について説明する。
また、本実施の形態において、発火パターンと1以上の外部情報により、異なる出力情報を出力する情報処理装置について説明する。なお、外部情報とは、例えば、天気、気温、外界の風景、におい、音、光等である。
また、本実施の形態において、学習機能を有する情報処理装置について説明する。
また、本実施の形態において、要素が自動的に成長する情報処理装置について説明する。なお、成長のトリガーは発火または情報の受け付け等である。
また、本実施の形態において、グリア細胞情報を有し、グリア細胞情報が成長に影響する情報処理装置について説明する。
また、本実施の形態において、要素は位置情報を有し、位置情報を用いて、要素の成長や結合を実現する情報処理装置について説明する。
また、本実施の形態において、実際のAXON等の成長の仕方を模倣する情報処理装置について説明する。
さらに、本実施の形態において、soma等の細胞のアポトーシス処理を模倣する情報処理装置について説明する。ここで、例えば、予め決められた条件を満たすほどsomaが多い場合にsomaを消滅させたり、予め決められた条件を満たすほど発火の回数が少ないsomaを消滅させたり、DendritesやAXONに接続していないsomaを消滅させたり、接続されているAXONが予め決められたゴールに到達していないsomaを消滅させたりする。
図1は、本実施の形態における情報処理装置Aのブロック図である。情報処理装置Aは、格納部1、受付部2、処理部3、および出力部5を備える。図2は、情報処理装置Aを構成する処理部3のブロック図である。
格納部1は、soma関連情報格納部11、soma群情報格納部12、結合情報格納部13、グリア細胞情報格納部14、発火始点情報格納部15、出力管理情報格納部16、学習条件格納部17、学習情報格納部18、発火情報格納部19、および利用結合情報格納部20を備える。
受付部2は、入力情報受付部21を備える。
処理部3は、特徴情報取得部31、情報伝達部32、soma演算部33、判断部34、発火確率変更部35、発火パターン取得部36、出力情報取得部37、制御部38、学習検知部39、学習情報蓄積部40、成長部41、アポトーシス処理部42、および発火情報蓄積部43を備える。
情報伝達部32は、発火始点soma決定手段321、結合検知手段322、および伝達情報取得手段323を備える。
出力部5は、情報出力部51を備える。
格納部1には、各種の情報が格納される。各種の情報とは、例えば、後述するsoma関連情報、後述するsoma群情報、後述する結合情報、後述するグリア細胞情報、後述する発火始点情報、後述する出力管理情報、後述する学習条件、後述する学習情報、後述する発火情報、後述する利用結合情報である。
soma関連情報格納部11には、2以上のsoma関連情報が格納される。
ここで、soma関連情報は、somaに関する情報である。soma関連情報は、soma識別子と発火条件情報とを有する。soma関連情報は、通常、1以上のDendrites情報と1以上のAXON情報とを有する。Dendrites情報とは、somaへの情報の入力を実現するDendritesに関する情報である。Dendrites情報は、Dendrites識別子を有する。Dendrites識別子は、Dendritesを識別する情報であり、例えば、ID、名前等である。Dendrites情報は、Dendrites位置情報を有することは好適である。AXON情報とは、somaからの情報の出力を実現するAXONに関する情報である。AXON情報は、AXON識別子を有する。AXON識別子は、AXONを識別する情報であり、例えば、ID、名前等である。AXON情報は、AXON位置情報を有することは好適である。soma関連情報は、ゴール情報を有しても良い。ゴール情報とは、ゴールを特定する情報である。ゴールとは、somaに接続されるAXONまたはDendritesが延びる先である。ゴール情報は、位置を示す情報である。ゴール情報は、例えば、位置情報である。ゴール情報は、例えば三次元の座標値(x,y,z)または二次元の座標値(x,y)または四次元のクオータニオン(x,y,x,w)である。
なお、somaの間の結合を一つのリンクの情報で表現する場合には、soma関連情報は、Dendrites情報やAXON情報を有さなくても良い。
また、soma関連情報は、AXON情報またはDendrites情報に対応付けて、シナプスを識別するシナプス識別子またはスパインを識別するスパイン識別子を有しても良い。通常、シナプス識別子は、AXON情報に対応付く。また、通常、スパイン識別子は、Dendrites情報に対応付く。
また、soma関連情報は、somaが属するグループであるsoma群を識別するsoma群識別子を有しても良い。また、soma関連情報は、soma群識別子に対応付いていても良い。
また、soma関連情報は、somaの位置を示すsoma位置情報を有することは好適である。soma位置情報は、例えば、三次元の座標値(x,y,z)または二次元の座標値(x,y)または四次元のクオータニオン(x,y,x,w)である。
また、Dendrites位置情報は、Dendritesの位置を特定する情報であり、例えば、1または2以上の三次元の座標値(x,y,z)、または1または2以上の二次元の座標値(x,y)である。Dendrites位置情報が2以上の座標値を有する場合、Dendritesは、2以上の座標値の各点を結び線である。
また、AXON位置情報は、AXONの位置を特定する情報であり、例えば、1または2以上の三次元の座標値(x,y,z)、または1または2以上の二次元の座標値(x,y)である。AXON位置情報が2以上の座標値を有する場合、AXONは、2以上の座標値の各点を結び線である。
なお、Dendrites、AXONは枝分かれしても良い。Dendrites、AXONが枝分かれする場合の各々の位置情報は、3または4以上の座標値で表現され得る。ただし、Dendrites位置情報、AXON位置情報の表現方法は問わない。
また、soma識別子は、somaを識別する情報である。soma識別子は、例えば、ID、名前等である。発火条件情報は、somaが発火するための条件に関する情報である。発火条件情報は、通常、1以上の特徴情報を有する。特徴情報は、情報を識別する情報識別子と、情報の大きさを示す情報量とを有する情報でも良いし、情報の大きさを示す情報量のみの情報でも良い。情報量は、例えば、0より大きい数値である。発火条件情報は、例えば、「特徴情報>=0.5」「特徴情報>0.7」「情報量>=0.5」「情報量>0.7」「(情報識別子=A & 情報量>=0.5)&(情報識別子=B & 情報量>0.8)」等である。発火条件情報を構成する特徴情報は、情報量である。特徴情報は、例えば、特徴量であるが、入力情報そのものでも良い。特徴量は、例えば、画像解析した結果の画像の特徴量、音声解析した結果の音声の特徴量である。発火条件情報は、発火確率情報を有することは好適である。発火確率情報とは、発火する確率に関する情報である。発火確率情報は、発火確率そのものでも良いし、発火確率を関数等で変換した値等でも良い。発火確率情報が参照され、発火確率情報が示す確率で、特徴情報が同じでも、somaが発火したり、発火しなかったりすることは好適である。
2以上のsoma関連情報がグループ化されていても良い。「グループ化された」とは、例えば、soma関連情報にsoma群識別子が対応付いていることである。対応付いていることは、対応付けが可能であれば良い趣旨である。soma群識別子とは、somaが属するグループであるsoma群を識別する情報である。「グループ化された」とは、例えば、soma関連情報が有するゴール情報が同一であることである。また、「グループ化された」とは、例えば、同一のsoma群識別子を有しているまた、「グループ化された」とは、例えば、グループのsoma関連情報はリンクにより結合されていることである。なお、soma関連情報のグループ化の方法やデータ構造は問わないことは言うまでもない。なお、soma関連情報は、soma群識別子を有しても良い。
また、soma関連情報は、somaが保持しているエネルギー量を示す保有エネルギー量情報を有していることは好適である。また、soma関連情報は、発火に必要なエネルギー量を示す必要エネルギー量情報を有していることは好適である。また、Dendrites情報は、Dendritesが保持しているエネルギー量を示す保有エネルギー量情報を有していることは好適である。また、Dendrites情報は、Dendritesを利用して情報伝達を行うために必要な必要エネルギー量情報を有していることは好適である。また、AXON情報は、AXONが保持しているエネルギー量を示す保有エネルギー量情報を有していることは好適である。さらに、AXON情報は、AXONを利用して情報伝達を行うために必要な必要エネルギー量情報を有していることは好適である。
soma群情報格納部12は、2以上のsoma群情報が格納される。soma群情報は、soma群識別子とゴール情報とを有する。ゴール情報とは、soma群に属するsomaに接続されるAXONまたはDendritesが延びる先を特定する情報である。ゴール情報は、例えば、1または2以上の三次元の座標値(x,y,z)、または1または2以上の二次元の座標値(x,y)である。ゴール情報は、例えば、方向を示す情報でも良い。
結合情報格納部13は、1または2以上の結合情報が格納される。結合情報は、2以上のsomaの間の結合を特定する情報である。結合情報は、一のsomaのAXONと他のsomaのDendritesとの結合を特定する情報でも良い。かかる情報も、somaの間の結合を特定する情報である。結合情報は、一のシナプスと一のスパインとの間の結合を特定する情報でも良い。かかる情報も、somaの間の結合を特定する情報である。結合情報は、例えば、結合する2つのsoma識別子を有する。また、結合情報は、例えば、AXONのAXON識別子と、当該AXONと結合するDendritesのDendrites識別子とを有する。また、結合情報は、例えば、シナプスのシナプス識別子と、当該シナプスとの間で情報伝達を行えるスパインのスパイン識別子とを有する。結合情報は、情報伝達確率情報を有しても良い。情報伝達確率情報は、一のsomaと他のsomaとの間の情報伝達を行う確率に関する情報である。情報伝達確率情報は、AXONとDendritesとの間の情報伝達を行う確率に関する情報でも良い。かかる場合も、情報伝達確率情報は、一のsomaと他のsomaとの間の情報伝達を行う確率に関する情報である。また、情報伝達確率情報は、シナプスとスパインとの間の情報伝達を行う確率に関する情報でも良い。かかる場合も、情報伝達確率情報は、一のsomaと他のsomaとの間の情報伝達を行う確率に関する情報である。なお、ここでsoma間の結合方向は、通常、一方向である。
結合情報は、somaとAXONとの結合を示す情報でも良い。かかる場合、結合情報は、soma識別子とAXON識別子とを有する。また、結合情報は、somaとDendritesとの結合を示す情報でも良い。かかる場合、結合情報は、soma識別子とDendrites識別子とを有する。
結合情報は、グリア細胞とAXONまたはDendritesとの間の結合を特定する情報でも良い。かかる場合、結合情報は、例えば、グリア細胞情報を識別するグリア細胞識別子と、AXON識別子とを有する。結合情報は、例えば、グリア細胞識別子と、Dendrites識別子とを有しても良い。
グリア細胞情報格納部14は、1または2以上のグリア細胞情報が格納される。グリア細胞情報は、グリア細胞に関する情報である。グリア細胞情報は、グリア細胞を識別するグリア細胞識別子を有することは好適である。グリア細胞情報は、例えば、結合を補佐するsomaを識別するsoma識別子、または結合を補佐する結合情報を識別する結合情報識別子を有する。グリア細胞情報は、例えば、当該グリア細胞が結合を補佐するAXONのAXON識別子、または当該グリア細胞が結合を補佐するDendritesのDendrites識別子を有する。また、グリア細胞情報は、グリア細胞の種類を識別するグリア細胞種類識別子を有することは好適である。グリア細胞の種類とは、例えば、oligodendrocites(以下、適宜「oligo」と言う)、astrocitesである。なお、oligoは、axonに接続し得る細胞である。astrocitesは、somaまたはDendritesに接続し得る細胞である。また、グリア細胞情報は、グリア細胞の位置を特定するグリア細胞位置情報を有することは好適である。特に、oligoのグリア細胞情報は、グリア細胞位置情報を有することは好適である。また、グリア細胞情報は、1以上の各手の長さを示す手長情報を有しても良い。また、グリア細胞情報は、グリア細胞から出ている手の数を示す手数情報を有しても良い。そして、通常、各手の手長情報から算出されるグリア細胞の全体の長さが閾値に届いた場合、それ以上、グリア細胞は成長しないことは好適である。
発火始点情報格納部15は、1以上の発火始点情報が格納される。発火始点情報は、特徴情報を識別する情報識別子と、特徴情報が受け付けられた場合に発火するsomaを識別する1以上のsoma識別子とを有する。情報識別子は、例えば、画像の特徴量の種類を特定する情報であり、例えば、色を構成する赤「R」、色を構成する緑「G」、色を構成する青「B」である。また、情報識別子は、例えば、音の特徴量の種類を特定する情報であり、例えば、「周波数」、「振幅」等である。
出力管理情報格納部16は、1または2以上の出力管理情報が格納される。出力管理情報は、出力条件と出力情報とを有する情報である。出力管理情報は、出力条件と出力情報との対の情報でも良い。
出力条件とは、出力情報を決定するために用いられる条件である。出力条件は、発火パターンを用いた出力のための条件である。出力条件は、発火パターンそのものでも良いし、発火パターンと出力確率情報を有する情報でも良い。出力確率情報は、出力情報を取得するための確率に関する情報である。出力条件は、発火パターンと適用される発火パターンが有するsoma識別子の数の下限の情報、発火パターンと適用される発火パターンが有するsoma識別子の割合の下限の情報等でも良い。発火パターンは、1以上のsoma識別子を有する。発火パターンとは、1または2以上のsomaの発火のパターンである。出力情報は、発火パターンに対応する情報である。出力情報は、例えば、人の感情に関する感情情報、人の意思を示す意思情報、人の体の動きに関する行動情報などである。感情情報は、例えば、嬉しい、悲しい、怯え、驚き等である。感情情報は、例えば、感情を識別するIDである。意思情報は、例えば、意思を識別する情報である。行動情報は、例えば、例えば、アバター(キャラクタ)の動きに反映される情報である。アバターを動作させる技術は公知技術であるので、詳細な説明は省略する。
出力条件は、発火パターンと1以上の外部情報に関する情報とを用いた条件であっても良い。外部情報とは、外部の情報である。外部情報は、ユーザコンテキストと言っても良い。外部情報は、例えば、気温、天気、におい、音、光等である。なお、外部情報は、通常、入力情報が受け付けられた際の、入力情報以外に受け付けられる情報である。
学習条件格納部17は、1または2以上の学習条件が格納される。学習条件とは、学習が行われるための条件である。学習条件は、発火パターンを用いた条件である。学習条件は、発火パターンそのものでも良い。学習条件は、例えば、1以上のsoma識別子を有する発火パターンと、学習するために発火が必要なsomaの数、または学習するために発火が必要なsomaの割合(学習条件が有する発火パターンに含まれるsoma識別子のうち、発火したsomaの数/学習条件が有する発火パターンに含まれるsoma識別子の数)等でも良い。また、学習条件は、発火パターンと学習確率情報を有しても良い。学習確率情報は、学習すると決定する確率に関する情報である。学習条件が学習確率情報を有する場合、発火パターンを用いた判断が「学習する」との判断できる場合であっても、学習確率情報を用いて、確率的に判断され、「学習しない」と判断されることもあり得る。
学習情報格納部18は、1または2以上の学習情報が格納される。学習情報は、学習された情報である。学習情報は、学習後に利用される情報である。学習情報は、入力情報または入力情報から取得される1以上の特徴情報と、発火パターンとを有する。ここでの特徴情報は、特徴情報を識別する情報識別子でも良い。ここでの特徴情報は、情報識別子と情報量でも良い。学習情報は、発火パターンの保持時間を示す保持時間情報を有しても良い。保持時間とは、当該発火パターンが利用されない場合に、消去される時間である。なお、保持時間情報が示す時間、利用されなかった学習情報を削除する処理は、例えば、処理部3が行う。
発火情報格納部19は、1または2以上の発火情報が格納される。ここでの発火情報は、発火した結果に関する情報である。発火情報は、発火したsomaを識別するsoma識別子を有する。発火情報は、通常、発火した時を示すタイマー情報を有しても良い。タイマー情報は、相対的な時を示す情報でも良いし、絶対的な時を示す時刻の情報でも良い。なお、発火情報格納部19の発火情報は、蓄積から一定時間経過後、自動的に処理部3により削除されても良い。
利用結合情報格納部20は、1または2以上の利用結合情報が格納される。利用結合情報は、情報の伝達のために結合情報が利用された履歴を示す情報である。利用結合情報は、情報の伝達のためにAXONやDendritesが利用された履歴を示す情報であっても良い。利用結合情報は、例えば、結合情報識別子を有する。利用結合情報は、例えば、AXON識別子または/およびDendrites識別子を有する。利用結合情報は、例えば、シナプス識別子または/およびスパイン識別子を有する。利用結合情報は、例えば、利用された時を示すタイマー情報を有しても良い。
受付部2は、各種の情報を受け付ける。各種の情報とは、例えば、後述する入力情報、外部情報等である。各種の情報の入力手段は、例えば、カメラやマイクやテンキーやキーボードやマウスやメニュー画面によるものやモーションセンサーや温度センサーをはじめとする各種センサー等、何でも良い。受付部2は、カメラやマイクやテンキーやキーボード等の入力手段のデバイスドライバーや、メニュー画面の制御ソフトウェア等で実現され得る。また、受け付けとは、カメラやマイクやキーボードやマウス、タッチパネルなどの入力デバイスから入力された情報の受け付け、有線もしくは無線の通信回線を介して送信された情報の受信、光ディスクや磁気ディスク、半導体メモリなどの記録媒体から読み出された情報の受け付けなどを含む概念である。
入力情報受付部21は、入力情報を受け付ける。入力情報は、入力される情報である。入力情報は、例えば、動画、静止画、音声、文字列等である。入力情報のデータタイプやデータ構造等は問わない。入力情報受付部21は、1以上の外部情報をも受け付けることは好適である。
処理部3は、各種の処理を行う。各種の処理とは、例えば、特徴情報取得部31、情報伝達部32、soma演算部33、判断部34、発火確率変更部35、発火パターン取得部36、出力情報取得部37、制御部38、学習検知部39、学習情報蓄積部40、成長部41、アポトーシス処理部42、発火情報蓄積部43等が行う処理である。
特徴情報取得部31は、入力情報から1以上の特徴情報を取得する。特徴情報は、例えば、特徴量、入力情報そのもの等である。特徴情報は、例えば、情報識別子と情報量とを有する。
特徴情報取得部31は、例えば、受け付けられた画像である入力情報を画像分析し、画像の1以上の情報識別子と情報量の組を取得する。特徴情報取得部31は、例えば、受け付けられた画像である入力情報を画像分析し、「情報識別子「R」(赤を示す),情報量=521」「情報識別子「G」(緑を示す),情報量=219」「情報識別子「B」(青を示す),情報量=56」の3組の情報を取得する。なお、かかる情報は、R,G,Bそれぞれの値の大きさを示す情報である。
特徴情報取得部31は、例えば、受け付けられた音声である入力情報を分析し、音声の1以上の特徴情報を取得する。特徴情報取得部31は、例えば、受け付けられた音声である入力情報を音声分析し、「情報識別子(周波数=X),情報量=50」「情報識別子(周波数=Y),情報量=120」等を取得する。なお、かかる情報は、各周波数におけるレベルを示す情報である。
なお、画像の特徴量を取得する処理、音声の特徴量を取得する処理は公知技術であるので、詳細な説明を省略する。
情報伝達部32は、特徴情報取得部31が取得した1以上の特徴情報と最初に発火するsomaを識別する1以上のsoma識別子とを取得する。情報伝達部32は、特徴情報取得部31が取得した特徴情報が有する情報識別子と対になる1以上のsoma識別子を発火始点情報格納部15から取得し、当該1以上の各soma識別子と特徴情報取得部31が取得した特徴情報が有する情報量とを対にして、取得する。なお、通常、この1以上のsoma識別子で識別される各somaに情報量が与えられる。また、この1以上のsoma識別子で識別されるsomaが最初に発火するsomaの識別子であっても良い。
情報伝達部32は、1以上の他のsomaから渡された1以上の特徴情報または1以上の特徴情報から取得される1以上の特徴情報と発火の判断の対象となる1以上の各somaのsoma識別子とを取得する。
情報伝達部32は、判断部34が発火すると判断したsomaのsoma関連情報に適用された1以上の特徴情報または1以上の特徴情報から取得される1以上の特徴情報と、判断部34が発火すると判断したsomaと結合している1以上の各somaのsoma識別子とを取得する。なお、情報伝達部32は、結合情報格納部13の結合情報を用いて、判断部34が発火すると判断したsomaと結合している1以上の各somaのsoma識別子を取得する。
情報伝達部32は、後述するsoma演算部33が取得した一の特徴情報と発火の判断の対象となる1以上の各somaのsoma識別子とを取得する。ここで、一の特徴情報は、通常、一の情報量である。
情報伝達部32は、判断部34が発火すると判断したsomaが含まれるsoma群(第一soma群という)と他のsoma群(第二soma群という)と結合を特定する結合情報を用いて、第二soma群に含まれる1以上のsomaのsoma識別子を取得する場合がある。第二soma群に含まれる1以上のsomaのsoma識別子は、第一soma群の位置に近い位置に存在するsomaの識別子である。
情報伝達部32は、結合情報格納部13の結合情報が有する情報伝達確率情報を用いて、判断部34が発火すると判断したsomaと結合している1以上の各somaのsoma識別子を、確率的に取得する。確率的に取得することは、確率の情報(ここでは、情報伝達確率情報)を用いて、発火すると判断したり、発火しないと判断したりすることである。なお、確率的に取得する処理は公知技術であるので詳細な説明を省略する。
なお、例えば、後述する判断部34が、AXONまたはDendritesまたはシナプスまたはスパインが利用された履歴を示す利用結合情報に基づいて、最近に当該AXONまたは当該Dendritesまたは当該シナプスまたは当該スパインが利用されてから、予め決められた時間以上経過したと判断した場合または予め決められた時間より長い時間利用されていないと判断した場合のみ、情報伝達部32は、次のsomaへの情報伝達処理を行うことは好適である。
また、情報伝達部32は、次のsomaへの情報伝達処理を行った場合、利用結合情報を構成し、利用結合情報格納部20に蓄積することは好適である。つまり、情報伝達部32は、次のsomaへの情報伝達処理を行った場合、図示しないタイマーから現在の時を示すタイマー情報を取得する。そして、情報伝達部32は、利用されたAXONのAXON識別子、利用されたDendritesのDendrites識別子、利用されたシナプスのシナプス識別子、または利用されたスパインのスパイン識別子のうちの1以上の識別子を取得する。そして、情報伝達部32は、タイマー情報、および取得した1以上の識別子を有する利用結合情報を構成し、利用結合情報格納部20に蓄積する。また、情報伝達部32は、例えば、情報伝達に利用された結合(リンク)の結合情報識別子を取得し、図示しないタイマーから現在の時を示すタイマー情報を取得し、当該結合情報識別子と当該タイマー情報とを有する利用結合情報を構成し、利用結合情報格納部20に蓄積する。
また、情報伝達部32は、次のsomaへの情報伝達処理を行った場合、当該伝達のために利用したAXONのAXON識別子と対になる保有エネルギー量情報、および当該伝達のために利用したDendritesのDendrites識別子と対になる保有エネルギー量情報が示すエネルギー量を減じることは好適である。なお、エネルギー量を減じるための関数は、例えば、格納部1に格納されている、とする。また、当該関数は問わない。関数は、例えば、以下の数式1である。
数式1において、E,g,cはパラメータ,Iは入力信号(要求信号)である。また、数式1において例えば,E=-65mV, g=0.025μS,C=0.5nFである。
発火始点soma決定手段321は、特徴情報取得部31が取得した1以上の各特徴情報を識別する情報識別子と対になる1以上のsoma識別子を発火始点情報格納部15から取得する。情報識別子は、特徴情報取得部31が取得した特徴情報が有しても良いし、特徴情報取得部31が取得した特徴情報または情報量に対応付いていても良い。
結合検知手段322は、結合情報格納部13の結合情報を用いて、判断部34が発火すると判断したsomaと結合している1以上のsomaを検知する。somaの検知とは、通常、soma識別子の取得である。
結合検知手段322は、例えば、判断部34が発火すると判断したsomaのsoma識別子を取得し、当該soma識別子と対になる1以上のsoma識別子を結合情報格納部13から取得する。
結合検知手段322は、例えば、判断部34が発火すると判断したsomaのsoma識別子を取得し、当該soma識別子と対になるAXON識別子をsoma関連情報格納部11から取得し、当該AXON識別子と対になるDendrites識別子を結合情報格納部13から取得し、当該Dendrites識別子と対になるsoma識別子をsoma関連情報格納部11から取得する。
結合検知手段322は、例えば、判断部34が発火すると判断したsomaのsoma識別子を取得し、当該soma識別子と対になるシナプス識別子をsoma関連情報格納部11から取得し、当該シナプス識別子と対になるスパイン識別子を、結合情報格納部13から取得し、当該スパイン識別子と対になるsoma識別子をsoma関連情報格納部11から取得する。
結合検知手段322は、例えば、判断部34が発火すると判断したsomaが属するsoma群のsoma群識別子を取得する。そして、判断部34が発火すると判断したsomaがsoma群の中の端のsomaである(同一のsoma群の中で、特徴情報を伝達するsomaが存在しない)場合、結合検知手段322は、当該soma群を識別するsoma群識別子と対になる他のsoma群のsoma群識別子を、結合情報格納部13から取得する。次に、結合検知手段322は、例えば、当該取得したsoma群識別子で特定されるsoma群の中の端の1以上のsoma(同一のsoma群の中の他のsomaから特徴情報を受けることがないsoma)を識別する1以上のsoma識別子を取得する。
結合検知手段322は、例えば、判断部34が発火すると判断したsomaのsoma識別子が、当該somaが属するsoma群の中の情報伝達の最終のsomaであるとして、格納部1に格納されている場合、当該soma群を識別するsoma群識別子と対になる他のsoma群のsoma群識別子を結合情報格納部13から取得する。そして、結合検知手段322は、例えば、当該取得した他のsoma群のsoma群識別子と対になる1以上のsoma識別子の中で、他のsoma群から情報伝達を最初に受けるsomaであるとして、格納部1に格納されている場合、当該somaのsoma識別子を、格納部1から取得する。
伝達情報取得手段323は、soma間の情報の伝達のために使用する情報を取得する。伝達情報取得手段323は、伝達する特徴情報と、伝達先のsomaのsoma識別子とを取得する。伝達情報取得手段323は、例えば、判断部34が発火すると判断したsomaのsoma関連情報に適用された1以上の特徴情報または1以上の特徴情報から取得される1以上の特徴情報と、結合検知手段322が検知した1以上のsomaのsoma識別子とを取得する。
soma演算部33は、2以上の他の各somaから渡された2以上の特徴情報に対して演算を行い、一の特徴情報を取得する。ここでの特徴情報は、通常、情報量である。つまり、soma演算部33は、通常、2以上の他の各somaから渡された2以上の情報量に対して演算を行い、一の情報量を取得する。なお、演算とは、予め決められた演算である。演算は、例えば、2以上の他の各somaから渡された2以上の情報量を加算する処理である。演算は、例えば、2以上の他の各somaから渡された2以上の情報量を加算した後に、1未満の定数を乗算する処理である。
判断部34は、情報伝達部32が取得した1以上の特徴情報と、情報伝達部32が取得した1以上の各soma識別子と対になる発火条件情報とを用いて、各soma識別子で識別されるsomaが発火するか否かを判断する。なお、1以上の特徴情報は、例えば、情報量である。
判断部34は、例えば、情報伝達部32が取得した1以上の各soma識別子と対になる発火条件情報をsoma関連情報格納部11から取得する。そして、判断部34は、例えば、情報伝達部32が取得した情報量が、取得した発火条件情報が示す条件に合致するか否かを判断する。
判断部34は、発火したと判断したsomaに対して、予め決められた条件を満たすほど時間が経過していない場合、発火するとは判断しないことは好適である。発火するとは判断しないことは、発火しないとは判断することでも良い。
判断部34は、例えば、発火情報格納部19を参照し、判断対象のsomaのsoma識別子と対になるタイマー情報であり、最近のタイマー情報を取得する。そして、判断部34は、例えば、図示しないタイマーから現在のタイマー情報を取得する。そして、判断部34は、例えば、現在のタイマー情報と最近のタイマー情報とから、最近に発火してからの経過時間の情報を取得する。次に、判断部34は、経過時間が閾値より小さいまたは経過時間が閾値以下であるか否かを判断し、経過時間が閾値より小さいまたは閾値以下であると判断した場合には、当該somaは発火しないとは判断することは好適である。
発火条件情報が発火の確率を示す発火確率情報を有する場合、判断部34は、当該発火確率情報を用いて、somaが発火するか否かを判断するので、判断部34は、同一の1以上の特徴情報と発火条件情報とを用いても、somaが発火するか否かを判断する場合でも、somaが発火すると判断したり、発火しないと判断したりたりする。つまり、同じ1以上の特徴情報が一のsomaに与えられても、判断部34は、当該somaに対応する発火確率情報を用いて、発火すると判断したり、発火しないと判断したりすることは好適である。
また、判断部34は、同じ1以上の特徴情報が入力されても、外部情報に応じて、発火すると判断したり、発火しないと判断したりすることは好適である。
判断部34は、例えば、発火したsomaのsoma識別子と発火した時を示すタイマー情報とを対にして、格納部1に蓄積する。つまり、判断部34は、somaが発火したと判断した場合、図示しないタイマーからタイマー情報を取得する。そして、発火したsomaのsoma識別子と当該タイマー情報とを有する発火情報を発火情報格納部19に蓄積する。
結合情報も、一度動作した場合は、予め決められた条件を満たすほど時間が経過していない場合、動作しないことは好適である。つまり、判断部34は、情報伝達に利用されるAXONまたはDendritesまたはシナプスまたはスパインが最近に利用された時を示すタイマー情報を利用結合情報格納部20から取得し、現在の時を示すタイマー情報と比較し、予め決められた条件を満たすほど時間が経過していない場合、当該AXONまたは当該Dendritesまたは当該シナプスまたは当該スパインを利用した情報の伝達が行わない、と判断することは好適である。
また、判断部34は、一のsomaが発火すると判断した場合に、当該somaのsoma関連情報が有する保有エネルギー量情報が示すエネルギー量を減じることは好適である。なお、エネルギー量を減じるための関数は、例えば、格納部1に格納されている、とする。また、当該関数は問わない。関数は、例えば、以下の数式2である。
なお、数式2において、tは時間、f(t)は保有エネルギー量である。
発火確率変更部35は、判断部34が発火すると判断したsomaに対応する発火確率情報を、発火する確率が上がるように変更する。つまり、発火確率変更部35は、判断部34が発火すると判断したsomaのsoma識別子を取得し、当該soma識別子と対になる発火確率情報を、発火する確率が上がるように変更する。なお、発火確率情報の変更のアルゴリズムは問わない。発火確率変更部35は、予め決められた値を発火確率情報に加算しても良いし、予め決められた割合の値を発火確率情報に加算しても良いし、受け付けられた1以上の特徴情報に基づいて、上昇させる確率を取得する等しても良い。つまり、確率の上昇度合いは、一定でも良いし、動的に変化しても良い。
発火パターン取得部36は、判断部34が発火したと判断したsomaを識別する1以上のsoma識別子を含む発火パターンを取得する。
発火パターン取得部36は、入力情報受付部21が受け付けた入力情報または入力情報から取得される1以上の特徴情報を学習情報格納部18の1以上の学習情報に適用し、入力情報または入力情報から取得される1以上の特徴情報に対応する発火パターンを取得することは好適である。ここでの発火パターンは、学習情報を用いて取得された発火パターンである。
なお、発火パターン取得部36が発火パターンを取得するタイミングは問わない。発火パターン取得部36は、定期的に発火パターンを取得しても良いし、不定期に発火パターンを取得しても良いし、判断部34がsomaの発火を検知するごとに発火パターンを取得しても良い。
また、発火パターン取得部36が取得する発火パターンの時間的な幅は問わない。発火パターン取得部36は、現在の時から閾値以内または閾値より最近の時を示すタイマー情報と対になる1以上のsoma識別子を発火情報格納部19から取得しても良い。発火パターン取得部36は、発火情報格納部19のすべての発火情報が有する1以上のsoma識別子を発火情報格納部19から取得しても良い。発火パターン取得部36が取得する発火パターンの時間的な幅は、動的に変わることは好適である。
出力情報取得部37は、発火パターン取得部36が取得した発火パターンに対応する出力情報を出力管理情報格納部16から取得する。
発火パターンに対応する出力情報とは、通常、発火パターン取得部36が取得した発火パターンと予め決められた条件を満たすほど類似する発火パターンと対になる出力情報である。発火パターンAと発火パターンBとが予め決められた条件を満たすほど類似する場合は、例えば、発火パターンAに含まれる1以上のsoma識別子のうちの閾値以上または閾値より多い数のsoma識別子が発火パターンBに含まれる場合である。発火パターンAと発火パターンBとが予め決められた条件を満たすほど類似する場合は、例えば、発火パターンBに含まれる1以上のsoma識別子のうちの閾値以上または閾値より多い数のsoma識別子が発火パターンAに含まれる場合である。発火パターンAと発火パターンBとが予め決められた条件を満たすほど類似する場合は、例えば、発火パターンAに含まれる1以上のsoma識別子のうちの閾値以上または閾値より多い割合のsoma識別子が発火パターンBに含まれる場合である。発火パターンAと発火パターンBとが予め決められた条件を満たすほど類似する場合は、例えば、発火パターンBに含まれる1以上のsoma識別子のうちの閾値以上または閾値より多い割合のsoma識別子が発火パターンAに含まれる場合である。
出力情報取得部37は、例えば、発火パターン取得部36が取得した発火パターンと予め決められた条件を満たすほど類似する発火パターンを検出し、当該発火パターンと対になる出力確率情報を用いて、確率的に、出力条件を満たすか否かを判断し、出力条件を満たすと判断した場合に、当該出力条件と対になる出力情報を、出力管理情報格納部16から取得する。
出力情報取得部37は、発火パターン取得部36が取得した発火パターンと入力情報受付部21が受け付けた1以上の外部情報とに合致する出力条件を決定し、当該出力条件と対になる出力情報を取得する。出力情報取得部37は、出力管理情報格納部16に格納されている出力条件の中から出力条件を決定し、当該出力条件と対になる出力情報を取得する。
出力情報取得部37は、例えば、発火パターン取得部36が取得した発火パターンと予め決められた条件を満たすほど類似する発火パターンを出力管理情報格納部16から検出し、当該発火パターンと対になる1以上の外部情報が、入力情報受付部21が受け付けた1以上の外部情報と予め決められた条件を満たすほど類似すると判断した場合に、出力管理情報格納部16の中の当該発火パターンと当該1以上の外部情報と対になる出力情報を取得する。
また、出力情報取得部37は、例えば、発火パターン取得部36が取得した発火パターンと予め決められた条件を満たすほど類似する発火パターンを出力管理情報格納部16から検出し、当該発火パターンと対になる1以上の外部情報が、入力情報受付部21が受け付けた1以上の外部情報と予め決められた条件を満たすほど類似すると判断した場合に、当該発火パターンと当該1以上の外部情報と対になる出力確率情報を用いて、確率的に、出力条件を満たすか否かを判断し、出力条件を満たすと判断した場合に、当該出力条件と対になる出力情報を、出力管理情報格納部16から取得する。
なお、出力情報取得部37は、常に出力情報を取得できるとは限らない。
制御部38は、判断部34の処理と発火パターン取得部36の処理と情報伝達部32の処理とを2回以上繰り返すように制御する。
学習検知部39は、発火パターン取得部36が取得した発火パターンが合致する学習条件を検知する。なお、ここで、発火パターン取得部36が取得した発火パターンの一部のsoma識別子と、学習条件が有する発火パターンを構成するsoma識別子の全部または一部が、予め決められた条件を満たすほど類似する場合、学習検知部39は、当該学習条件に発火パターン取得部36が取得した発火パターンが合致すると判断する。また、学習条件の検知とは、例えば、学習条件を識別する学習条件識別子の取得、学習条件に合致した旨の情報の取得等である。
学習情報蓄積部40は、学習検知部39が合致する学習条件を検知した場合、学習情報を学習情報格納部18に蓄積する。学習情報は、発火パターン取得部36が取得した発火パターンの元になる入力情報または当該入力情報から取得される1以上の特徴情報と、発火パターン取得部36が取得した発火パターンを構成する少なくとも一部のsoma識別子を有する発火パターンとを有する。少なくとも一部のsoma識別子とは、例えば、発火パターン取得部36が取得した発火パターンをから、学習条件の検知に用いられた1以上のsoma識別子を除く1以上のsoma識別子である。
成長部41は、soma生成処理、結合情報生成処理、結合情報成長処理、グリア細胞生成処理のうちの1以上の処理を行う。
soma生成処理とは、soma識別子を有するsoma関連情報を生成する処理である。soma生成処理は、例えば、ユニークなsoma識別子を生成し、分裂元のsomaのsoma関連情報が有するsoma位置情報が示す位置から予め決められた条件を満たす位置のsoma位置情報を生成し、当該soma識別子と当該soma位置情報とを有するsoma関連情報をsoma関連情報格納部11に蓄積する処理である。なお、生成されたsomaのsoma関連情報を構成する一部の情報はNULL(空)でも良い。
なお、soma生成処理は、例えば、分裂元のsomaのsoma関連情報を構成する一部の情報を複写し、当該情報を有する分裂somaのsoma関連情報を生成する処理でも良い。複写される情報は、例えば、発火条件情報である。また、成長部41は、生成するsoma関連情報が有するsoma位置情報を、他の要素の位置と重ならない位置の情報とすることは好適である。また、成長部41は、生成するsoma関連情報が有するsoma位置情報を、分裂元のsomaのsoma位置情報が示す位置と予め決められた条件を満たすほど近い位置の情報とすることは好適である。また、soma生成処理において、
結合情報生成処理とは、結合情報を生成し、当該結合情報を結合情報格納部13に蓄積する処理である。結合情報生成処理は、例えば、結合する2つのsomaのsoma識別子を取得し、当該2つのsoma識別子を有する結合情報を生成し、結合情報格納部13に蓄積する処理である。また、結合情報生成処理は、例えば、結合するAXONのAXON識別子とDendritesのDendrites識別子とを取得し、当該2つの識別子を有する結合情報を生成し、結合情報格納部13に蓄積する処理である。また、結合情報生成処理は、例えば情報伝達するシナプスのシナプス識別子と情報伝達されるスパインのスパイン識別子とを生成し、当該2つの識別子を有する結合情報を生成し、結合情報格納部13に蓄積する処理である。
結合情報成長処理とは、結合情報を成長させる処理である。結合情報成長処理は、例えば、AXON情報が有するAXON位置情報の位置を、AXONが伸長する方向に変更することである。結合情報成長処理は、例えば、Dendrites情報が有するDendrites位置情報の位置を、Dendritesが伸長する方向に変更することである。
成長部41は、判断部34が発火したと判断した回数または頻度が予め決められた条件を満たすほど多いsomaを分裂させた新たなsomaである分裂somaのsoma関連情報を生成し、soma関連情報格納部11に蓄積するsoma生成処理を行うことは好適である。
成長部41は、判断部34が発火したと判断した回数または頻度が予め決められた条件を満たすほど多いsomaと分裂somaとを結合する結合情報を生成し、結合情報格納部13に蓄積する結合情報生成処理を行うことは好適である。なお、分裂somaは、当該分裂somaの生成の元になったsomaが分裂したsomaである。
成長部41は、接続されているグリア細胞情報が予め決められた条件を満たすsomaを分裂させた新たなsomaである分裂somaのsoma関連情報を生成し、soma関連情報格納部11に蓄積するsoma生成処理を行うことは好適である。
成長部41は、接続されているグリア細胞情報が予め決められた条件を満たすAXONまたはDendritesを成長させる結合情報成長処理を行うことは好適である。
成長部41は、一のsomaのAXONのAXON位置情報と他のsomaのDendritesのDendrites位置情報とが予め決められた条件を満たすほど近い場合に、一のsomaのsoma識別子と他のsomaのsoma識別子とを有する結合情報を生成し、結合情報格納部13に蓄積する結合情報生成処理を行うことは好適である。
成長部41は、以下のようなグリア細胞生成処理を行うことは好適である。つまり、例えば、soma、AXON、またはDendritesである要素の保有エネルギー量が、必要エネルギー量に対して、予め決められた条件を満たすほど少なくなった場合、成長部41は、当該要素に接続するグリア細胞情報を生成する。予め決められた条件とは、例えば、「保有エネルギー量<必要エネルギー量」または「保有エネルギー量<=必要エネルギー量」または「保有エネルギー量−必要エネルギー量<=閾値」または「保有エネルギー量−必要エネルギー量<閾値」である。さらに具体的には、成長部41は、例えば、各要素の情報(soma関連情報、AXON情報、またはDendrites情報)が有する保有エネルギー量情報が示す保有エネルギー量が、各要素の情報が有する必要エネルギー量情報が示す必要エネルギー量と比較して、予め決められた条件を満たすほど少ないか否かを判断し、少ないと判断した場合に、当該要素を識別する識別子(soma識別子、AXON識別子、またはDendrites識別子)を有するグリア細胞情報を生成し、グリア細胞情報格納部14に蓄積する。
アポトーシス処理部42は、soma関連情報をsoma関連情報格納部11から削除する場合がある。soma関連情報を削除した場合、アポトーシス処理部42は、当該soma関連情報に対応するsomaに関する情報、当該soma関連情報に対応するsomaに接続されているAXONに関する情報、当該soma関連情報に対応するsomaに接続されているDendritesに関する情報を削除することは好適である。つまり、アポトーシス処理部42は、削除したsoma関連情報が有するsoma識別子を有する結合情報、削除したsoma関連情報が有するAXON識別子を有する結合情報、削除したsoma関連情報が有するDendrites識別子を有する結合情報を、結合情報格納部13から削除することは好適である。また、soma関連情報をsoma関連情報格納部11から削除する場合、アポトーシス処理部42は、当該soma関連情報に対応するsomaに接続されているAXONおよびDendritesへの結合情報を削除しても良い。
また、アポトーシス処理部42は、AXON情報を削除する場合がある。また、アポトーシス処理部42は、Dendrites情報を削除する場合がある。somaがアポトーシスせず、AXONまたはDendritesのみがアポトーシスする場合、アポトーシス処理部42は、例えば、当該アポトーシスするAXONのAXON情報または当該アポトーシスするDendritesのDendrites情報を、soma関連情報から削除する。そして、かかる場合、アポトーシス処理部42は、例えば、当該アポトーシスするAXONのAXON識別子を有する結合情報、当該アポトーシスするDendritesのDendrites識別子を有する結合情報を結合情報格納部13から削除することは好適である。
また、アポトーシス処理部42は、削除したsomaに接続されているグリア細胞の、当該somaとの接続に関する情報をグリア細胞情報格納部14から削除することは好適である。つまり、例えば、アポトーシス処理部42は、削除したsomaのsoma識別子を含むグリア細胞情報から、当該soma識別子を削除する。また、AXONまたはDendritesがアポトーシスしたり、AXONまたはDendritesが接続されているsomaがアポトーシスしたりする場合、アポトーシス処理部42は、当該AXONのAXON識別子または当該DendritesのDendrites識別子を含むグリア細胞情報から、当該AXON識別子またはDendrites識別子を削除する。つまり、somaまたはAXONまたはDendritesの情報が削除される場合、アポトーシス処理部42は、グリア細胞情報から、somaまたはAXONまたはDendritesへの接続の情報は、削除することは好適である。
アポトーシス処理部42は、予め決められた条件に従って、soma関連情報をsoma関連情報格納部11から削除することは好適である。
アポトーシス処理部42は、予め決められた条件を満たすほど、soma関連情報格納部11に格納されているsoma関連情報が多い場合、soma関連情報をsoma関連情報格納部11から削除することは好適である。
アポトーシス処理部42は、他のsomaまたはDendritesまたはAXONと接続されていないsomaを決定し、当該決定したsomaのsoma識別子を有するsoma関連情報をsoma関連情報格納部11から削除することは好適である。アポトーシス処理部42は、例えば、結合情報格納部13を検査し、soma識別子が出現する回数が閾値以下または閾値未満のsoma識別子を取得し、当該soma識別子を含むsoma関連情報をsoma関連情報格納部11から削除する。また、アポトーシス処理部42は、例えば、soma関連情報格納部11を検査し、閾値以下または閾値未満のDendrites情報、または閾値以下または閾値未満のAXON情報のみを有するsoma関連情報をsoma関連情報格納部11から削除する。
アポトーシス処理部42は、接続されているAXONが予め決められたゴールに到達していないsomaを決定し、当該決定したsomaのsoma識別子を有するsoma関連情報をsoma関連情報格納部11から削除することは好適である。アポトーシス処理部42は、例えば、soma関連情報格納部11を検査し、soma関連情報が有するAXON位置情報とゴール情報とを比較し、AXONが予め決められたゴールに到達していないsomaを決定し、当該決定したsomaのsoma識別子を有するsoma関連情報をsoma関連情報格納部11から削除する。
アポトーシス処理部42は、発火情報格納部19の1以上の発火情報を用いて、予め決められた条件を満たすほど発火した回数が少ないsoma識別子を決定し、当該soma識別子を有するsoma関連情報をsoma関連情報格納部11から削除することは好適である。アポトーシス処理部42は、例えば、出現回数が閾値以下または閾値未満のsoma識別子を決定し、当該、当該soma識別子を有するsoma関連情報をsoma関連情報格納部11から削除する。
アポトーシス処理部42は、予め決められた条件に従って、AXONに関する情報またはDendritesに関する情報を削除する。AXONに関する情報とは、例えば、AXON情報またはAXON識別子を含む結合情報、グリア細胞情報の中のAXON識別子である。Dendritesに関する情報とは、例えば、Dendrites情報またはDendrites識別子を含む結合情報、グリア細胞情報の中のDendrites識別子である。
例えば、アポトーシス処理部42が飽和状態になったと判断し、かつどこにも接続していないAXONまたはDendritesが存在すると判断した場合、当該AXONに関する情報または当該Dendritesに関する情報を削除する。なお、飽和状態になることは、soma関連情報、AXON情報、Dendrites情報、グリア細胞情報のうちの1種類以上の情報の数が予め決められた条件を満たすほど多いことである。つまり、情報処理装置A(脳を模倣した装置)の空間内に、要素が条件を満たすほど多く、空間の空き領域が閾値以下または閾値より少ないという状態である。なお、要素とは、soma、AXON、Dendrites、グリア細胞、シナプス、スパインである。
発火情報蓄積部43は、判断部34が発火すると判断したsomaを識別するsoma識別子を有する発火情報を構成し、発火情報を発火情報格納部19に蓄積する。発火情報蓄積部43は、例えば、判断部34が発火すると判断したsomaを識別するsoma識別子を取得し、かつ図示しないタイマーから現在の時を示すタイマー情報を取得し、当該soma識別子と当該タイマー情報とを有する発火情報を構成し、当該発火情報を発火情報格納部19に蓄積する。
出力部5は、各種の情報を出力する。各種の情報とは、例えば、出力情報である。ここで、出力とは、ディスプレイへの表示、プロジェクターを用いた投影、プリンタでの印字、音出力、バイブレータによる振動出力、外部の装置への送信、記録媒体への蓄積、他の処理装置や他のプログラムなどへの処理結果の引渡しなどを含む概念である。
情報出力部51は、出力情報取得部37が取得した出力情報を出力する。なお、出力情報の出力先は問わない。出力情報の出力先は、情報処理装置Aの外部でも良いし、情報処理装置A内の他の処理への引き渡し等でも良い。
格納部1、soma関連情報格納部11、soma群情報格納部12、結合情報格納部13、グリア細胞情報格納部14、発火始点情報格納部15、出力管理情報格納部16、学習条件格納部17、学習情報格納部18、発火情報格納部19、および利用結合情報格納部20は、不揮発性の記録媒体が好適であるが、揮発性の記録媒体でも実現可能である。
格納部1等に情報が記憶される過程は問わない。例えば、記録媒体を介して情報が格納部1等で記憶されるようになってもよく、通信回線等を介して送信された情報が格納部1等で記憶されるようになってもよく、あるいは、入力デバイスを介して入力された情報が格納部1等で記憶されるようになってもよい。
処理部3、特徴情報取得部31、情報伝達部32、soma演算部33、判断部34、発火確率変更部35、発火パターン取得部36、出力情報取得部37、制御部38、学習検知部39、学習情報蓄積部40、成長部41、アポトーシス処理部42、および発火情報蓄積部43は、通常、MPUやメモリ等から実現され得る。処理部3等の処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはROM等の記録媒体に記録されている。但し、ハードウェア(専用回路)で実現しても良い。
出力部5、および情報出力部51は、ディスプレイやスピーカー等の出力デバイスを含むと考えても含まないと考えても良い。出力部5等は、出力デバイスのドライバーソフトまたは、出力デバイスのドライバーソフトと出力デバイス等で実現され得る。
次に、情報処理装置Aの動作例について、図3のフローチャートを用いて説明する。
(ステップS301)入力情報受付部21は、外部情報を受け付け、格納部1に一時蓄積する。なお、ここで、入力情報受付部21は、外部情報を受け付けない場合もあり得る。
(ステップS302)入力情報受付部21は、入力情報を受け付けたか否かを判断する。入力情報を受け付けた場合はステップS303に行き、入力情報を受け付けない場合はステップS304に行く。
(ステップS303)情報処理装置Aは、発火伝達処理を行う。ステップS301に戻る。発火伝達処理とは、somaの間を情報が伝達される処理である。発火伝達処理の例の詳細について、図4のフローチャートを用いて説明する。
(ステップS304)処理部3は、発火パターン処理を行うか否かを判断する。発火パターン処理を行う場合はステップS305に行き、発火パターン処理を行わない場合はステップS306に行く。なお、処理部3は、常に発火パターン処理を行うと判断しても良いし、一定期間の間隔で発火パターン処理を行うと判断しても良い。発火パターン処理を行うか否かを判断の条件は問わない。
(ステップS305)情報処理装置Aは、発火パターン処理を行う。ステップS301に戻る。発火パターン処理は、発火パターンを用いて行う処理であり、例えば、発火パターンを用いて出力情報を決定し、出力情報を出力する処理、および学習処理を含む。発火パターン処理の例の詳細について、図6のフローチャートを用いて説明する。
(ステップS306)処理部3は、成長処理とアポトーシス処理を行うか否かを判断する。成長処理等を行う場合はステップS307に行き、成長処理等を行わない場合はステップS301に戻る。なお、処理部3は、常に成長処理等を行うと判断しても良いし、一定期間の間隔で成長処理等を行うと判断しても良い。成長処理等を行うか否かを判断の条件は問わない。また、成長処理とアポトーシス処理とをセットで行っても良いし、個別に、行うか否かを判断しても良い。
(ステップS307)成長部41は、soma成長処理を行う。soma成長処理について、図7のフローチャートを用いて説明する。
(ステップS308)成長部41は、AXON成長処理を行う。AXON成長処理について、図8のフローチャートを用いて説明する。
(ステップS309)成長部41は、Dendrites成長処理を行う。Dendrites成長処理について、図9のフローチャートを用いて説明する。
(ステップS310)成長部41は、soma結合処理を行う。soma結合処理について、図10のフローチャートを用いて説明する。
(ステップS311)成長部41は、グリア細胞成長処理を行う。グリア細胞成長処理について、図11のフローチャートを用いて説明する。
(ステップS312)アポトーシス処理部42は、アポトーシス処理を行う。ステップS301に戻る。アポトーシス処理について、図12のフローチャートを用いて説明する。
なお、図3のフローチャートにおいて、発火伝達処理、発火パターン処理、成長処理、アポトーシス処理等は並列処理されることは好適である。また、各somaの発火伝達処理も並列処理されることは好適である。
また、図3のフローチャートにおいて、電源オフや処理終了の割り込みにより処理は終了する。
次に、ステップS303の発火伝達処理の例の詳細について、図4のフローチャートを用いて説明する。
(ステップS401)特徴情報取得部31は、1以上の特徴情報を取得する。特徴情報取得部31が1以上の特徴情報を取得する方法は、例えば、以下の(1)から(3)の方法のいずれかである。(1)特徴情報取得部31は、ステップS201で受け付けられた入力情報を分析し、1以上の特徴情報を取得する。ここで、1以上の特徴情報は、例えば、情報識別子と情報量との組、1組以上である。(2)情報伝達部32は、発火すると判断されたsomaのsoma関連情報に適用された1以上の特徴情報を取得する。ここで、1以上の特徴情報は、例えば、一の情報量である。(3)情報伝達部32は、発火すると判断されたsomaのsoma関連情報に適用された1以上の特徴情報から、1以上の特徴情報を取得する。なお、(3)において、情報伝達部32は、発火すると判断されたsomaが受け付けた1以上の各特徴情報を予め決められた演算式で演算し、1以上の特徴情報を取得する。かかる演算の例は、例えば、加算である。
(ステップS402)情報伝達部32は、ステップS401で取得された1以上の特徴情報を渡す1以上のsomaを決定する。かかるsomaの決定方法は、例えば、以下の(1)から(3)のいずれかである。(1)情報伝達部32は、soma関連情報格納部11のsoma関連情報のうちの、予め決められた1以上のsomaのsoma識別子を取得する。かかる予め決められた1以上のsomaのsoma識別子は、例えば、格納部1に格納されており、情報伝達部32は、かかる1以上のsoma識別子を格納部1から取得する。かかる1以上のsoma識別子は、外部から受け付けた入力情報から取得された1以上の特徴情報を最初に受け付けるsomaのsoma識別子である。(2)情報伝達部32は、特徴情報取得部31が取得した特徴情報が有する情報識別子と対になる1以上のsoma識別子を発火始点情報格納部15から取得する。(3)情報伝達部32は、結合情報格納部13を参照し、処理対象のsomaの先に結合されている1以上のsomaのsoma識別子を取得する。つまり、情報伝達部32は、例えば、以下の(a)〜(c)のいずれかの処理により、(3)の処理を実現する。(a)情報伝達部32は、例えば、処理対象のsomaのsoma関連情報が有する1以上の各AXON識別子と対になるDendrites識別子を結合情報格納部13から取得する。そして、情報伝達部32は、例えば、取得した1以上の各Dendrites識別子を有するsoma関連情報に含まれる1以上のsoma識別子をsoma関連情報格納部11から取得する。(b)情報伝達部32は、例えば、処理対象のsomaのsoma関連情報が有するsoma識別子と対になる1以上のsoma識別子を結合情報格納部13から取得する。(c)情報伝達部32は、例えば、処理対象のsomaのsoma関連情報が有する1以上の各シナプス識別子と対になるスパイン識別子を結合情報格納部13から取得する。そして、情報伝達部32は、例えば、取得した1以上の各スパイン識別子を有するsoma関連情報に含まれる1以上のsoma識別子をsoma関連情報格納部11から取得する。
(ステップS403)処理部3は、カウンタiに1を代入する。
(ステップS404)処理部3は、ステップS402で決定された1以上のsomaの中に、i番目のsomaが存在するか否かを判断する。i番目のsomaが存在する場合はステップS405に行き、i番目のsomaが存在しない場合は上位処理にリターンする。i番目のsomaが存在するか否かについて、処理部3は、通常、ステップS402で取得されたsoma識別子のうちの、i番目のsoma識別子が存在するか否かにより判断する。
(ステップS405)判断部34は、発火判断処理を行う。発火判断処理の詳細について、図5のフローチャートを用いて説明する。
(ステップS406)処理部3は、ステップS405における判断結果が「発火する」との判断結果である場合はステップS407に行き、「発火しない」との判断結果である場合はステップS411に行く。
(ステップS407)発火情報蓄積部43は、判断部34が発火すると判断したsomaを識別するsoma識別子を有する発火情報を構成する。そして、発火情報蓄積部43は、当該発火情報を発火情報格納部19に蓄積する。なお、ここで、発火情報蓄積部43は、図示しないタイマーからタイマー情報を取得し、soma識別子とタイマー情報とを有する発火情報を構成し、発火情報格納部19に蓄積することは好適である。
(ステップS408)発火確率変更部35は、判断部34が発火すると判断したsomaのsoma識別子と対になる発火確率情報を、発火する確率が上がるように変更する。なお、変更される発火確率情報は、soma関連情報格納部11に格納されている情報である。
(ステップS409)処理部3は、i番目のsomaの先のsoma、またはi番目のsomaの先のsoma群への、特徴情報の伝達を終了するか否かを判断する。伝達を終了する場合はステップS411に行き、伝達を終了しない場合はステップS410に行く。なお、処理部3は、例えば、結合情報格納部13を参照し、i番目のsomaの先のsomaが存在するか否かを判断する。なお、i番目のsomaの先のsomaが存在しない場合、特徴情報の伝達を終了する。また、i番目のsomaに接続されているAXONの先のDendritesが存在しない場合は、somaからAXONに情報を伝達する動きは行われるが、AXONから先へは情報の受け手が存在しないため、情報の伝達は停止する。処理部3は、かかる場合も特徴情報の伝達を終了すると判断する。
(ステップS410)処理部3は、i番目のsomaの先のsoma、またはi番目のsomaの先のsoma群への発火伝達処理を実行する。かかる処理は、発火伝達処理である。つまり、発火伝達処理は、再帰処理である。
(ステップS411)処理部3は、カウンタiを1、インクリメントする。ステップS404に戻る。
次に、ステップS405の発火判断処理の詳細について、図5のフローチャートを用いて説明する。
(ステップS501)判断部34は、処理対象のsomaのsoma関連情報が有する発火条件情報をsoma関連情報格納部11から取得する。
(ステップS502)判断部34は、ステップS301で外部情報を受け付けているか否かを判断する。外部情報を受け付けている場合はステップS503に行き、外部情報を受け付けていない場合はステップS504に行く。
(ステップS503)判断部34は、ステップS302で受け付けている外部情報、または当該外部情報から取得した1以上の特徴情報を取得する。なお、外部情報から1以上の特徴情報を取得する処理は、特徴情報取得部31が行っても良いし、判断部34等が行っても良い。
(ステップS504)判断部34は、1以上の特徴情報等を、ステップS501で取得した発火条件情報に適用し、発火するか否かを判断する。1以上の特徴情報等とは、1以上の特徴情報、または1以上の特徴情報と外部情報である。
(ステップS505)判断部34は、ステップS504における判断結果を変数「リターン値」に代入する。上位処理にリターンする。
次に、ステップS305の発火パターン処理の例の詳細について、図6のフローチャートを用いて説明する。
(ステップS601)発火パターン取得部36は、発火情報格納部19を参照し、1以上のsoma識別子を有する発火パターンを取得する。また、発火パターン取得部36は、入力情報または入力情報から取得された1以上の特徴情報に対応する発火パターンをも、学習情報格納部18から取得することは好適である。つまり、入力情報等に対応付けて学習されている発火パターンをも、以下の処理に利用することは好適である。
(ステップS602)出力情報取得部37は、ステップS301で外部情報を受け付けているか否かを判断する。外部情報を受け付けている場合はステップS603に行き、外部情報を受け付けていない場合はステップS604に行く。
(ステップS603)出力情報取得部37は、ステップS301で受け付けている外部情報、または当該外部情報から取得した1以上の特徴情報を取得する。なお、外部情報から1以上の特徴情報を取得する処理は、特徴情報取得部31が行っても良いし、出力情報取得部37等が行っても良い。なお、ステップS301で受け付けている外部情報とは、通常、格納部1に格納されている外部情報である。
(ステップS604)出力情報取得部37は、カウンタiに1を代入する。
(ステップS605)出力情報取得部37は、出力管理情報格納部16にi番目の出力管理情報が存在するか否かを判断する。i番目の出力管理情報が存在する場合はステップS606に行き、i番目の出力管理情報が存在しない場合はステップS611に行く。
(ステップS606)出力情報取得部37は、i番目の出力管理情報が有する出力条件を、出力管理情報格納部16から取得する。
(ステップS607)出力情報取得部37は、ステップS601で取得された発火パターン、またはステップS601で取得された発火パターンとステップS603で取得した情報が、ステップS606で取得した出力条件に合致するか否かを判断する。出力条件に合致する場合はステップS608に行き、出力条件に合致しない場合はステップS610に行く。
(ステップS608)出力情報取得部37は、i番目の出力管理情報が有する出力情報を取得する。
(ステップS609)情報出力部51は、ステップS608で取得された出力情報を出力する。
(ステップS610)出力情報取得部37は、カウンタiを1、インクリメントする。ステップS605に戻る。
(ステップS611)学習情報蓄積部40は、入力情報または入力情報から取得された1以上の特徴情報を取得する。
(ステップS612)学習検知部39は、カウンタiに1を代入する。
(ステップS613)学習検知部39は、i番目の学習条件が学習条件格納部17に存在するか否かを判断する。i番目の学習条件が存在する場合はステップS614に行き、存在しない場合はステップS617に行く。
(ステップS614)学習検知部39は、ステップS601で取得された発火パターンが、i番目の学習条件に合致するか否かを判断する。合致する場合はステップS615に行き、合致しない場合はステップS617に行く。
(ステップS615)学習情報蓄積部40は、ステップS601で取得された発火パターンから蓄積すべき1以上のsoma識別子を取得する。そして、学習情報蓄積部40は、当該1以上のsoma識別子と、ステップS611で取得した入力情報または1以上の特徴情報とを有する学習情報を構成する。なお、当該1以上のsoma識別子は、発火パターンである。
(ステップS616)学習情報蓄積部40は、ステップS615で構成した学習情報を蓄積する。
(ステップS617)学習検知部39は、カウンタiを1、インクリメントする。ステップS613に戻る。
なお、図6のフローチャートにおいて、ステップS601からステップS610は、出力情報の出力処理であり、ステップS611からステップS617は学習処理である。
次に、ステップS307のsoma成長処理の例について、図7のフローチャートを用いて説明する。
(ステップS701)成長部41は、カウンタiに1を代入する。
(ステップS702)成長部41は、i番目のsoma関連情報がsoma関連情報格納部11に存在するか否かを判断する。i番目のsoma関連情報が存在する場合はステップS703に行き、i番目のsoma関連情報が存在しない場合は上位処理にリターンする。
(ステップS703)成長部41は、i番目のsoma関連情報に含まれるi番目のsoma識別子に対応する発火情報を発火情報格納部19から取得する。かかる発火情報は、i番目のsomaの発火の履歴である。そして、成長部41は、取得した発火情報が条件を満たすか否かを判断する。条件を満たす場合はステップS704に行き、条件を満たさない場合はステップS708に行く。なお、成長部41は、例えば、取得した発火情報から、予め決められた条件を満たすほど、somaが良く発火している場合は、条件を満たすと判断する。つまり、成長部41は、i番目のsoma識別子を含む発火情報の数が予め決められた条件を満たすほど多いか否かを判断する。多い場合は、条件を満たす、と判断する。なお、成長部41が取得する発火情報は、例えば、現在から一定期間以内のタイマー情報を有する発火情報でも良い。
(ステップS704)成長部41は、i番目のsomaに対応するグリア細胞情報に関する情報を取得する。ここでのグリア細胞情報に関する情報とは、i番目のsomaに結合されている1以上のグリア細胞のグリア細胞情報でも良いし、i番目のsomaに結合されているグリア細胞の数などでも良い。
(ステップS705)成長部41は、ステップS704で取得したグリア細胞情報に関する情報が、予め決められた条件を満たすか否かを判断する。条件を満たす場合はステップS706に行き、条件を満たさない場合はステップS708に行く。なお、予め決められた条件とは、子のsomaを生成するための条件である。また、予め決められた条件は、グリア細胞情報に関する情報が、予め決められた条件を満たすほどグリア細胞が多いことを示す情報である場合である。成長部41は、例えば、i番目のsoma識別子と対になるグリア細胞識別子の数を算出し、当該数が閾値以上または閾値より多い場合に、予め決められた条件を満たすと判断する。なお、ここで、soma関連情報の数、AXON情報の数、Dendrites情報の数等のうち、1種類以上の要素の数が閾値より少ないまたは閾値以下であることを条件として、成長部41は条件を満たすと判断しても良い。
(ステップS706)成長部41は、i番目のsomaを分裂させた分裂somaのsoma関連情報を生成し、soma関連情報格納部11に蓄積する。なお、成長部41が子のsomaのsoma関連情報を生成するアルゴリズムは問わない。
(ステップS707)成長部41は、i番目のsomaと、ステップS706で生成した分裂somaとを結合する結合情報を生成し、結合情報格納部13に蓄積する。
(ステップS708)成長部41は、カウンタiを1、インクリメントする。ステップS702に戻る。
次に、ステップS308のAXON成長処理の例について、図8のフローチャートを用いて説明する。
(ステップS801)成長部41は、カウンタiに1を代入する。
(ステップS802)成長部41は、i番目のAXON情報がsoma関連情報格納部11に存在するか否かを判断する。i番目のAXON情報が存在する場合はステップS803に行き、i番目のAXON情報が存在しない場合は上位処理にリターンする。
(ステップS803)成長部41は、i番目のAXON情報に対応するグリア細胞情報に関する情報を取得する。ここでのグリア細胞情報に関する情報とは、i番目のAXONに結合されている1以上のグリア細胞のグリア細胞情報でも良いし、i番目のAXONに結合されているグリア細胞の数などでも良い。
(ステップS804)成長部41は、ステップS803で取得したグリア細胞情報に関する情報が、予め決められた条件を満たすか否かを判断する。条件を満たす場合はステップS805に行き、条件を満たさない場合はステップS806に行く。なお、予め決められた条件とは、AXONが伸長するための条件である。また、予め決められた条件は、グリア細胞情報に関する情報が、予め決められた条件を満たすほどグリア細胞が多いことを示す情報である場合である。
(ステップS805)成長部41は、AXONが伸長するように、i番目のAXON情報に含まれるAXON位置情報を変更する。
(ステップS806)成長部41は、カウンタiを1、インクリメントする。ステップS802に戻る。
次に、ステップS309のDendrites成長処理について、図9のフローチャートを用いて説明する。
(ステップS901)成長部41は、カウンタiに1を代入する。
(ステップS902)成長部41は、i番目のDendrites情報がsoma関連情報格納部11に存在するか否かを判断する。i番目のDendrites情報が存在する場合はステップS903に行き、i番目のDendrites情報が存在しない場合は上位処理にリターンする。
(ステップS903)成長部41は、i番目のDendrites情報に対応するグリア細胞情報に関する情報を取得する。ここでのグリア細胞情報に関する情報とは、i番目のDendritesに結合されている1以上のグリア細胞のグリア細胞情報でも良いし、i番目のDendritesに結合されているグリア細胞の数などでも良い。
(ステップS904)成長部41は、ステップS903で取得したグリア細胞情報に関する情報が、予め決められた条件を満たすか否かを判断する。条件を満たす場合はステップS905に行き、条件を満たさない場合はステップS906に行く。なお、予め決められた条件とは、Dendritesが伸長するための条件である。また、予め決められた条件は、グリア細胞情報に関する情報が、予め決められた条件を満たすほどグリア細胞が多いことを示す情報である場合である。
(ステップS905)成長部41は、Dendritesが伸長するように、i番目のDendrites情報に含まれるDendrites位置情報を変更する。
(ステップS906)成長部41は、カウンタiを1、インクリメントする。ステップS902に戻る。
次に、ステップS310のsoma結合処理について、図10のフローチャートを用いて説明する。
(ステップS1001)成長部41は、カウンタiに1を代入する。
(ステップS1002)成長部41は、i番目のAXON情報がsoma関連情報格納部11に存在するか否かを判断する。i番目のAXON情報が存在する場合はステップS1003に行き、i番目のAXON情報が存在しない場合は上位処理にリターンする。
(ステップS1003)成長部41は、i番目のAXON情報が有するAXON位置情報をsoma関連情報格納部11から取得する。
(ステップS1004)成長部41は、カウンタjに1を代入する。
(ステップS1005)成長部41は、i番目のAXONが接続されているsomaへの入力ではないDendritesのDendrites情報であり、j番目のDendrites情報がsoma関連情報格納部11に存在するか否かを判断する。j番目のDendrites情報が存在する場合はステップS1006に行き、j番目のDendrites情報が存在しない場合はステップS1010に行く。
(ステップS1006)成長部41は、j番目のDendrites情報が有するDendrites位置情報をsoma関連情報格納部11から取得する。
(ステップS1007)成長部41は、i番目のAXON情報が有するAXON位置情報と、j番目のDendrites情報が有するDendrites位置情報とを用いて、i番目のAXONとj番目のDendritesとが結合可能か否かを判断する。結合可能である場合はステップS1008に行き、結合可能でない場合はステップS1009に行く。なお、成長部41は、例えば、i番目のAXON情報が有するAXON位置情報がj番目のDendrites情報が有するDendrites位置情報と重なりを有すると判断した場合に、i番目のAXONとj番目のDendritesとが結合可能であると判断する。また、成長部41は、例えば、i番目のAXON情報が有するAXON位置情報が示すAXONの先端の位置と、j番目のDendrites情報が有するDendrites位置情報が示すDendritesの先端の位置とが、一致するまたは閾値以下の距離または閾値未満の距離であると判断した場合に、i番目のAXONとj番目のDendritesとが結合可能であると判断する。
(ステップS1008)成長部41は、i番目のAXONとj番目のDendritesとの結合を特定する結合情報を構成し、結合情報格納部13に蓄積する。成長部41は、例えば、i番目のAXON情報が有するAXON識別子と、j番目のDendrites情報が有するDendrites識別子とを有する結合情報を構成し、結合情報格納部13に蓄積する。
(ステップS1009)成長部41は、カウンタjを1、インクリメントする。ステップS1005に戻る。
(ステップS1010)成長部41は、カウンタiを1、インクリメントする。ステップS1002に戻る。
次に、ステップS311のグリア細胞成長処理について、図11のフローチャートを用いて説明する。
(ステップS1101)成長部41は、カウンタiに1を代入する。
(ステップS1102)成長部41は、i番目のsoma関連情報がsoma関連情報格納部11に存在するか否かを判断する。i番目のsoma関連情報が存在すればステップS1103に行き、i番目のsoma関連情報が存在しなければ上位処理にリターンする。
(ステップS1103)成長部41は、i番目のsoma関連情報が有する必要エネルギー量情報と保有エネルギー量情報とを取得する。
(ステップS1104)成長部41は、ステップS1103で取得した必要エネルギー量情報と保有エネルギー量情報とが予め決められた条件を満たすか否かを判断する。予め決められた条件を満たす場合はステップS1105に行き、予め決められた条件を満たさない場合はステップS1107に行く。
(ステップS1105)成長部41は、i番目のsoma関連情報が有するsoma識別子を取得する。
(ステップS1106)成長部41は、ステップS1105で取得したsoma識別子を有するグリア細胞情報を構成し、グリア細胞情報格納部14に蓄積する。
(ステップS1107)成長部41は、カウンタjに1を代入する。
(ステップS1108)成長部41は、i番目のsoma関連情報の中にj番目のAXON情報が存在するか否かを判断する。j番目のAXON情報が存在する場合はステップS1109に行き、j番目のAXON情報が存在しない場合はステップS1114に行く。
(ステップS1109)成長部41は、j番目のAXON情報が有する必要エネルギー量情報と保有エネルギー量情報とを取得する。
(ステップS1110)成長部41は、ステップS1109で取得した必要エネルギー量情報と保有エネルギー量情報とが予め決められた条件を満たすか否かを判断する。予め決められた条件を満たす場合はステップS1111に行き、予め決められた条件を満たさない場合はステップS1113に行く。
(ステップS1111)成長部41は、j番目のAXON情報のAXON識別子を取得する。
(ステップS1112)成長部41は、ステップS1111で取得したAXON識別子を有するグリア細胞情報を構成し、グリア細胞情報格納部14に蓄積する。
(ステップS1113)成長部41は、カウンタjを1、インクリメントする。ステップS1108に戻る。
(ステップS1114)成長部41は、カウンタjに1を代入する。
(ステップS1115)成長部41は、i番目のsoma関連情報の中にj番目のDendrites情報が存在するか否かを判断する。j番目のDendrites情報が存在する場合はステップS1116に行き、j番目のDendrites情報が存在しない場合はステップS1121に行く。
(ステップS1116)成長部41は、j番目のDendrites情報が有する必要エネルギー量情報と保有エネルギー量情報とを取得する。
(ステップS1117)成長部41は、ステップS1116で取得した必要エネルギー量情報と保有エネルギー量情報とが予め決められた条件を満たすか否かを判断する。予め決められた条件を満たす場合はステップS1118に行き、予め決められた条件を満たさない場合はステップS1120に行く。
(ステップS1118)成長部41は、j番目のDendrites情報のDendrites識別子を取得する。
(ステップS1119)成長部41は、ステップS1118で取得したDendrites識別子を有するグリア細胞情報を構成し、グリア細胞情報格納部14に蓄積する。
(ステップS1120)成長部41は、カウンタjを1、インクリメントする。ステップS1115に戻る。
(ステップS1121)成長部41は、カウンタiを1、インクリメントする。ステップS1102に戻る。
次に、ステップS312のアポトーシス処理について、図12のフローチャートを用いて説明する。
(ステップS1201)アポトーシス処理部42は、カウンタiに1を代入する。
(ステップS1202)アポトーシス処理部42は、i番目のsoma関連情報がsoma関連情報格納部11に存在するか否かを判断する。i番目のsoma関連情報が存在する場合はステップS1203に行き、i番目のsoma関連情報が存在しない場合は上位処理にリターンする。
(ステップS1203)アポトーシス処理部42は、i番目のsoma関連情報のsoma識別子をsoma関連情報格納部11から取得する。
(ステップS1204)アポトーシス処理部42は、ステップS1203で取得したsoma識別子を含む発火情報を発火情報格納部19から取得する。なお、ここで取得する発火情報は、現在の時から閾値以内または閾値より近い時を示すタイマー情報を有する発火情報であることは好適である。
(ステップS1205)アポトーシス処理部42は、ステップS1204で取得した発火情報を用いて、アポトーシスの条件を満たすか否かを判断する。アポトーシスの条件を満たす場合はステップS1206に行き、アポトーシスの条件を満たさない場合はステップS1208に行く。
(ステップS1206)アポトーシス処理部42は、i番目のsoma関連情報をsoma関連情報格納部11から削除する。
(ステップS1207)アポトーシス処理部42は、i番目のsomaに対応する結合情報を結合情報格納部13から削除する。
(ステップS1208)アポトーシス処理部42は、カウンタiを1、インクリメントする。ステップS1202に戻る。
以上、本実施の形態によれば、脳内の処理を模倣した情報処理装置を実現できる。
また、本実施の形態によれば、soma群の間の情報の受け渡し処理をも模倣した情報処理装置を実現できる。
また、本実施の形態によれば、脳内のDendritesとAXONを模倣した情報処理装置を実現できる。
また、本実施の形態によれば、脳内のシナプスとスパインを模倣した情報処理装置を実現できる。
また、本実施の形態によれば、一度動作したsomaは、予め決められた条件を満たすほど時間が経過していない場合は動作しない、という脳内の処理を模倣した情報処理装置を実現できる。
また、本実施の形態によれば、発火したsomaは発火しやすくなる、という脳内の処理を模倣した情報処理装置を実現できる。
また、本実施の形態によれば、同じ入力情報が与えられた場合でも、外部情報に応じて、出力情報が異なる、という脳内の処理を模倣した情報処理装置を実現できる。
また、本実施の形態によれば、発火パターンを学習する、という脳内の処理を模倣した情報処理装置を実現できる。
また、本実施の形態によれば、soma等は成長する、という脳内の処理を模倣した情報処理装置を実現できる。
また、本実施の形態によれば、脳内のsoma等の成長方法を模倣した情報処理装置を実現できる。
また、本実施の形態によれば、脳内のグリア細胞を模倣した情報処理装置を実現できる。
また、本実施の形態によれば、脳内のsomaが自動的に減少する、という脳内の処理を模倣した情報処理装置を実現できる。
また、本実施の形態によれば、脳内のsomaのアポトーシスを模倣した情報処理装置を実現できる。
さらに、本実施の形態によれば、脳内のsoma等の成長をより模倣した情報処理装置を実現できる。
なお、本実施の形態における処理は、ソフトウェアで実現しても良い。そして、このソフトウェアをソフトウェアダウンロード等により配布しても良い。また、このソフトウェアをCD−ROMなどの記録媒体に記録して流布しても良い。なお、このことは、本明細書における他の実施の形態においても該当する。なお、本実施の形態における情報処理装置Aを実現するソフトウェアは、以下のようなプログラムである。つまり、このプログラムは、例えば、コンピュータがアクセス可能な記録媒体は、somaを識別するsoma識別子と、当該somaが発火するための条件に関する発火条件情報とを有する2以上のsoma関連情報が格納されるsoma関連情報格納部と、2以上のsomaの間の結合を特定する1以上の結合情報が格納される結合情報格納部と、1以上のsoma識別子を有する発火パターンを用いた出力のための条件である出力条件と出力される情報である出力情報とを有する1以上の出力管理情報が格納される出力管理情報格納部とを具備し、コンピュータを、入力情報を受け付ける入力情報受付部と、前記入力情報から1以上の特徴情報を取得する特徴情報取得部と、前記特徴情報取得部が取得した1以上の特徴情報と最初に発火するsomaを識別する1以上のsoma識別子とを取得し、かつ1以上の他のsomaから渡された1以上の特徴情報または当該1以上の特徴情報から取得される1以上の特徴情報と発火の判断の対象となる1以上の各somaのsoma識別子とを取得する情報伝達部と、前記情報伝達部が取得した1以上の特徴情報と、前記情報伝達部が取得した1以上の各soma識別子と対になる発火条件情報とを用いて、前記各soma識別子で識別されるsomaが発火するか否かを判断する判断部と、前記判断部が発火すると判断したsomaを識別する1以上のsoma識別子を含む発火パターンを取得する発火パターン取得部と、前記発火パターン取得部が取得した発火パターンに対応する出力情報を前記出力管理情報格納部から取得する出力情報取得部と、前記出力情報取得部が取得した出力情報を出力する情報出力部として機能させ、前記情報伝達部は、前記判断部が発火すると判断したsomaのsoma関連情報に適用された1以上の特徴情報または当該1以上の特徴情報から取得される1以上の特徴情報と、前記結合情報格納部の結合情報を用いて、前記判断部が発火すると判断したsomaと結合している1以上の各somaのsoma識別子とを取得し、前記判断部の処理と前記発火パターン取得部の処理と前記情報伝達部の処理とを2回以上繰り返すように、コンピュータを機能させるためのプログラムである。
また、図13は、本明細書で述べたプログラムを実行して、上述した種々の実施の形態の情報処理装置Aを実現するコンピュータの外観を示す。上述の実施の形態は、コンピュータハードウェア及びその上で実行されるコンピュータプログラムで実現され得る。図13は、このコンピュータシステム300の概観図であり、図14は、システム300のブロック図である。
図13において、コンピュータシステム300は、CD−ROMドライブを3012含むコンピュータ301と、キーボード302と、マウス303と、モニタ304とを含む。
図14において、コンピュータ301は、CD−ROMドライブ3012と、MPU3013と、バス3014と、ROM3015と、RAM3016と、ハードディスク3017とを含む。ROM3015は、ブートアッププログラム等のプログラムを記憶している。RAM3016は、MPU3013に接続され、アプリケーションプログラムの命令を一時的に記憶するとともに一時記憶空間を提供する。ハードディスク3017は、通常、アプリケーションプログラム、システムプログラム、及びデータを記憶している。ここでは、図示しないが、コンピュータ301は、さらに、LANへの接続を提供するネットワークカードを含んでも良い。
コンピュータシステム300に、上述した実施の形態の情報処理装置Aの機能を実行させるプログラムは、CD−ROM3101に記憶されて、CD−ROMドライブ3012に挿入され、さらにハードディスク3017に転送されても良い。また、プログラムは、図示しないネットワークを介してコンピュータ301に送信され、ハードディスク3017に記憶されても良い。プログラムは実行の際にRAM3016にロードされる。プログラムは、CD−ROM3101またはネットワークから直接、ロードされても良い。
プログラムは、コンピュータ301に、上述した実施の形態の情報処理装置Aの機能を実行させるオペレーティングシステム(OS)、またはサードパーティープログラム等は、必ずしも含まなくても良い。プログラムは、制御された態様で適切なモジュールを呼び出し、所望の結果が得られるようにする命令の部分のみを含んでいれば良い。コンピュータシステム300がどのように動作するかは周知であり、詳細な説明は省略する。
また、上記プログラムを実行するコンピュータは、単数であってもよく、複数であってもよい。すなわち、集中処理を行ってもよく、あるいは分散処理を行ってもよい。
また、上記各実施の形態において、各処理は、単一の装置によって集中処理されることによって実現されてもよく、あるいは、複数の装置によって分散処理されることによって実現されてもよい。
本発明は、以上の実施の形態に限定されることなく、種々の変更が可能であり、それらも本発明の範囲内に包含されるものであることは言うまでもない。