説明

入力・出力機能を実行するためのネットワークおよびネットワークを生成するためのコンピュータによって実行される方法

【課題】ネットワークは入力・出力機能を実行する。ネットワークは1組のセルを備える。
【解決手段】当該セルはそれぞれ全く同じ構造を有し、隣接するセルが互いに接続されてネットワークを形成する。各セルは、入力・出力機能を実行するように構成される1組の論理ユニットをさらに備え、当該論理ユニットはファクタ信号、セル間信号及び発生出力信号を出力し、ファクタ信号は同じセル内の1組の論理ユニットのための入力信号であり、セル間信号は、隣接するセル内の1組の論理ユニットのための入力信号であり、発生出力信号は発生事象を開始し、同じセル内の1組の論理ユニットのための発生事象後に、論理ユニットへの発生入力信号が設定され、各セル内の1組の論理ユニットの構造は全く同じである。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、包括的には論理回路に関し、より具体的には、マルチセル型ネットワークとして編成される論理回路に関する。
【背景技術】
【0002】
自然進化及び人工進化
大規模なアナログ論理回路又はデジタル論理回路の設計は、非常に複雑な作業であることがある。さらに複雑な人工機械を設計しようするとき、植物及び動物のような複雑な自然の「機械」が作り出される原理を理解することは、時間を費やすだけの価値がある。
【0003】
自然の生物は、無計画で成り行き任せの進化の過程によって「設計」されていると一般には理解されている。進化に関する従来の説明では、生物の集団が、淘汰を通じて、その環境への適応性を次第に高めていき、その集団の中の最も適合する生物が、他の生物よりも迅速に繁殖するようになる。人間は、何世紀にもわたって、家畜の繁殖、及び有用な植物の栽培等の、自然生物の人工的な淘汰を利用している。
【0004】
最近になって、John Hollandの仕事を始めとして、「遺伝的アルゴリズム」として知られている人工的な進化の形を用いて機械又はコンピュータプログラムを設計することに大きな関心が寄せられている。遺伝的アルゴリズムは、人工的な進化の過程の詳細に応じて、及び進化させられるシステムの構造にも応じて、多数の異なる形態をとる。John Henry Holland著「A universal computer capable of executing an arbitrary number of subprograms simultaneously」(Proc.Eastern Joint Comp.Conf.pp.108−112,1959)、John Henry Holland著「Iterative circuit computers」(Proc.Western Joint Comp.Conf.pp.259−265,1960)、及び1987年9月29日にHolland他に対して発行された「Adaptive computing system capable of learning and discovery」と題する米国特許第4,697,242号を参照されたい。
【0005】
John Kozaは、長年にわたって、遺伝的アルゴリズムの最も重要な変形形態のうちの1つを提唱しており、それを「遺伝的プログラミング」と呼んでいる。遺伝的プログラミングでは、典型的にはLispで書かれるコンピュータプログラムが、人工的な進化の過程を通じて進化し、その過程は、そのプログラムを表現する計算木の小枝を変更することによって、プログラムを「突然変異」させることを伴う。1990年6月19日にKozaに対して発行された「Non−linear genetic algorithms for solving problems」と題する米国特許第4,935,877号、及び2002年3月19日にKoza他に対して発行された「Method and apparatus for automated design of complex structures using genetic programming」と題する米国特許第6,360,191号を参照されたい。
【0006】
遺伝的プログラミング及び遺伝的アルゴリズムはより一般的には、興味深く、有用なシステム及びプログラムを作り出すのに或る程度成功を収めてきた。しかしながら、最新の遺伝的アルゴリズムを用いても、どの問題を解くことができ、どの問題を解くことができないかを精確に特定するのは難しいため、現在の形式の遺伝的アルゴリズムは、これまでのソフトウエア及びハードウエア設計方法に取って代わるものとして広く普及してはいない。
【0007】
多細胞生物
多細胞生物は進化の過程を用いて設計されるという事実に加えて、複雑な植物及び動物には、それらの動植物の全ての生命が単細胞から始まり、細胞分裂を通じて複雑な発生過程を経て成長し、成体になるという別の共通の特徴がある。
【0008】
典型的には、成熟した多細胞生物には多数の異なる細胞タイプがあるが、精細胞及び卵細胞を除いて、生物の異なる細胞は全て、そのDNAでは全く同じ遺伝的仕様を共有する。全く同じ遺伝的仕様でも細胞の挙動が異なるのは、細胞が異なる歴史を有し、異なる環境に晒された結果である。
【0009】
より具体的には、生体細胞の挙動は複雑な遺伝的調節機構によって制御され、その調節機構が、どの遺伝子がメッセンジャーRNAに転写され、その後、タンパク質にされるかを決定する。1つの極めて重要な調節機構は、遺伝子のタンパク質コード領域の上流にあるDNA調節領域に結合し、DNAからRNAへの転写の促進及び抑制に関与する「転写因子」と呼ばれるタンパク質である。2つの細胞の歴史が異なる結果として、一方が高い濃度の特定の転写因子を有し、他方が低い濃度を有することがあり、それにより、2つの細胞は、全く同じDNAを有する場合であっても、異なる遺伝子を発現することになるであろう。
【0010】
多細胞生物内の異なるタイプの細胞の差別的な発生を制御する別の重要な機構は、細胞間で行われる生物学的なシグナル伝達である。ホルモンのようなシグナルは、或る細胞を特定の発生経路に誘導するという効果がある。
【0011】
一般的に、転写因子、ホルモン及び生体細胞内で用いられる多数の他の制御機構はネットワークとして組織化され、そのネットワークは「回路」として表すことができ、その場合に、そのシステムの状態は、異なる生化学的成分の濃度によって特徴付けられる。実際には、生物学者は、生物学的な回路を要約するのを助けるために、配線図を作成し始めている。たとえば、Longabaugh,W.J.R.、Davidson,E.H.及びBolouri,H.著「Computational representation of developmental genetic regulatory networks」(Dev.Biol.283,1−16,2005)を参照されたい。
【0012】
多細胞生物の設計における理論的な見通し
進化を用いて生物を設計するという観点から、多細胞生物内の全ての細胞のために全く同じ遺伝的仕様を用いることに、何か理論的な利点があるかという疑問が自然に浮かぶ。
【0013】
1つの考えられる利点は、生物の遺伝的仕様に比較的小さな変化があると、生物の発生中の多数の異なる時点において、多数の異なる種類の細胞の挙動が同時に変化することができることである。それゆえ、細胞を制御する回路に対して有利な変化を引き起こす可能性がある場合には、その変化に一度だけ気が付けば、多数の時点でその変化を利用することができ、生物内の細胞毎に同じ有利な突然変異を繰返し見つける必要はない。
【0014】
考えられる別の関連する利点は、非常に複雑な生物の仕様を比較的コンパクトに定めることができることである。ヒトのような複雑な生物内にある何兆もの細胞の仕様を別個に定めなければならないとすると、ヒトゲノムを記述するために必要とされる全情報量は、何兆倍にも増えるであろう。多数の異なるタイプの細胞において全く同じ回路を再利用することが、はるかに効率的であるのは明らかである。
【発明の開示】
【発明が解決しようとする課題】
【0015】
他方、生物内の各細胞が全く同じ遺伝的仕様を共有しなければならないという制約によって、設計の観点から、厄介な問題が生じるのも明らかである。たとえば、発生の或る時点で1つのタイプの細胞において機能するように設計される遺伝子が、発生の異なる時点で異なるタイプの細胞において問題を引き起こさないことが重要である。多細胞生物が適切に機能するには、遺伝子をオン及びオフする制御論理を良好に設計することが不可欠であるのは明らかである。
【課題を解決するための手段】
【0016】
ネットワークは入力・出力機能を実行する。ネットワークは1組のセルを備える。当該セルはそれぞれ全く同じ構造を有し、隣接するセルが互いに接続されてネットワークを形成する。
【0017】
各セルは、入力・出力機能を実行するように構成される1組の論理ユニットをさらに備え、当該論理ユニットはファクタ信号、セル間信号及び発生出力信号を出力し、ファクタ信号は同じセル内の1組の論理ユニットのための入力信号であり、セル間信号は隣接するセル内の1組の論理ユニットのための入力信号であり、発生出力信号は発生事象を開始し、同じセル内の1組の論理ユニットのための発生事象後に、論理ユニットへの発生入力信号が設定され、各セル内の1組の論理ユニットの構造は全く同じである。
【発明の効果】
【0018】
情報処理デバイスの論理は、その実施態様の詳細から切り離すことができることは既知である。たとえば、コンピュータは、回転する歯車、メカニカルリレー、真空管、トランジスタ又は集積回路を用いて実装することができる。重要なことは、その根底にある論理の規則であり、すなわち、その論理を表現するためにどの特定の技術が用いられるかではなく、そのシステムの論理状態がいかに更新及び格納されるかということである。
【0019】
それゆえ、生化学を用いて「実装される」ことが明らかである生物有機体の多細胞設計の利点は、従来のハードウエア又はソフトウエアを用いて実装されるシステムのための論理回路設計に移し変えることができることも理に適っているように思われる。
【0020】
詳細には、各セル(cell細胞)が全く同じ仕様を共有する多数の処理セルを用いる論理回路を設計することによって、大きな利点が得られるものと予測される。第一に、莫大な数のセルを含む非常に複雑な回路の仕様をコンパクトに定めることができる。第二に、システム内の異なるセル毎に有利な突然変異を繰返し「発見し直す」ことなく、遺伝的アルゴリズムを利用することができる。
【発明を実施するための最良の形態】
【0021】
図1Aは、本発明の一実施形態による入力・出力機能を実行するためのマルチセル(multi−cellular:多細胞)型回路を示す。その回路は1組の全く同じセル110を備え、隣接するセルが互いに接続されて、ネットワーク100が形成される。その組は、1つ又は複数のセルを含むことができる。各セルは、入力・出力機能を実行するネットワークのための処理ノードである。
【0022】
図1Bは、複数のセルから成るネットワークを生成するための方法150を示す。その方法は、動的段階又は発生段階151と、試験段階152と、静的段階153とを含む。発生段階中に、或る発生方法を用いて、ネットワークを生成する。その発生方法は、そのネットワークが「静的に」なるまで、ネットワークの発生をシミュレートするソフトウエアプログラムの形をとることができる。
【0023】
試験段階は、ネットワークが入力・出力機能を実行するための「適応度」を測定する。静的ネットワークは、ハードウエア若しくはソフトウエア、又はそれらの組み合わせの形をとることができる。そのような複数のセルから成る静的ネットワークは、ランダムアクセスメモリ(RAM)又は演算論理装置(ALU)のような十分に確立されている論理回路を実現することができる。また、複数のセルから成る静的ネットワークは、音声処理又は画像処理において用いられるような、さらに複雑な、又は曖昧な機能を実現することもできる。
【0024】
そのネットワークには「プログラム」140が関連付けられる。そのプログラムは、初期セルの構造と、初期の単一セルから、全く同じセルから成る静的ネットワークを発生させるための全ての規則とを完全に指定することができる。そのプログラムは実効的には、生物内のDNAと論理的に等価である。そのプログラムによって、単一の初期セルが自らを複製する。
【0025】
単一セルから静的ネットワークを生成する方法は、そのネットワークの「発生方法」である。その方法は、複数のセルから成る動的な、成長するネットワークを伴うため、その発生方法は通常、ソフトウエアによって実行される。しかしながら、複数のセルから成る最終的な静的ネットワークは、ソフトウエア又はハードウエアのいずれかにおいて実現することができる。
【0026】
図2に示されるように、初期化されたネットワーク内の各セルは1組の「論理ユニット」120を含み、その論理ユニットはプログラム140によって完全に指定される。1組には、1つ又は複数の論理ユニットが含まれることがある。各論理ユニットは、一定の入力・出力機能を実施し、それにより、それぞれが既知の遅延を伴って、1組の入力信号から1組の出力信号が求められる。1組の論理ユニットの構造はセル毎に全く同じである。
【0027】
図2に示されるように、セル内の1組の論理ユニット120によって求められる1組の出力信号は一般的には、3つのクラスに分割される。第1のクラスの出力信号は、「ファクタ信号」101と呼ばれる。ファクタ信号は、同じセル内の論理ユニット120のための入力信号として用いられる。第2のクラスの出力信号は、「セル間信号」102と呼ばれる。セル間信号は、隣接するセル内の論理ユニットのための入力信号として用いられる。第3のクラスの出力信号は、「発生出力信号」103と呼ばれ、セル複製事象、セル再編成事象又はセル除去事象のような「発生事象」を開始するために用いられる。他の発生事象も起こり得る。一般的に、発生事象は、ネットワーク100を再構築することを含む。
【0028】
「発生入力信号」104というクラスも存在し、それは、発生事象後に設定される信号である。発生入力信号104は、同じセル内の論理ユニットのための入力信号として用いられる。
【0029】
図3に示されるように、初期ネットワークは単一の初期セル110である。そのネットワークは、入力信号の全ての値をプログラム140によって指定された値に設定することによって初期化される。その初期ネットワークはおそらく、その初期セルにセル間信号102を送信する複数の他の処理ノードから成る「環境」内に配置することができるか、又はその初期セルは外部信号から切り離される。その後、単一セル内の論理ユニットは、プログラム140の規則に従って更新を開始する。
【0030】
セル複製事象がトリガされると、2つのセル301が生成され、既存の単一セルに取って代わる。新たなセルのうちの一方は、「親」セル311と呼ばれ、他方は、「子」セル312と呼ばれる。親セル及び子セルは隣接しており、互いに接続される。また、それらのセルは、元の複製されるセルから生成される隣接セルのいくつかのサブセットの中の1組の隣接セルである。
【0031】
親セル及び子セルはそれぞれ、複製前の元のセルと厳密に同じ論理ユニットを含む。出力信号値及び入力信号値の大部分も、元のセル内のそれらの値と全く同じ値に設定されるが、1組の発生入力信号104を、親セル及び子セルの中で異なる値に設定して、複製事象が生じたという事実を指示することができるか、又は親セルと子セルとを区別することができるか、又はそれ以外の方法でセル複製事象についての情報を記録することができる。セル複製事象が終了した後に、複数のセルから成るネットワークが発生し続け(302〜304)、その場合も、各セルは、その論理ユニットの自らの複製の規則に従う。
【0032】
セル除去事象及びセル再編成事象も同じように機能するが、セル複製とは異なり、トリガされると、セルを異なる隣接セルに接続することによって、そのセルがネットワーク内で除去されるか、又は再編成され、その隣接セルが異なる構造を採用するように再編成されることがある。
【0033】
プログラムによって指定され、「発生の終了点」155と呼ばれる或る時点において、複数のセルから成るネットワークが静的になる(305)。セル複製、セル除去、又はセル再編成のような、それ以降の全ての発生事象は禁止される。その時点で、複数のセルから成る静的ネットワークが試験される(152)。そのネットワークを試験するために、プログラムによって指定されるように、1組の「入力ノード」401及び1組の「出力ノード」402が、図4に示されるように予め指定された位置においてネットワークに取り付けられる。ノードの各組は、1つ又は複数のノードを含むことができる。入力ノードは、セル間信号をネットワークの中に送信するために用いられ、一方、出力ノードは、ネットワークからセル間信号を収集するために用いられる。
【0034】
静的ネットワークは、試験中にネットワークが入力・出力機能をいかに良好に実行するかによって、また、おそらくはネットワークがどのくらいの量の計算資源を使用するか、たとえばどのくらいの量の論理ユニット及び信号を使用するかによって、「適応度」値を割り当てられる。適応度に応じて、ネットワークを、最終的なネットワークとして受け入れることができるか、又はネットワークを再び発生させることができる。熟練したプログラマであれば、ネットワークを手作業でプログラムし直すことができる。別法では、再プログラミングは、ランダム化された最適化過程を用いることができ、その過程は、既存のネットワークのためのプログラムを変更し、変更されたネットワークのための発生段階をシミュレートすることによって1組のネットワークを生成し、その後、適応度が高い特定のネットワークを求めて1組のネットワークを探索する。別の代替形態として、ネットワークの集団において、遺伝的アルゴリズムを用いて、適応度が高いネットワークを探索することができる。
【0035】
その方法によって生成されるネットワーク
その方法の目標は、所望の入力・出力機能を実現する複数のセルから成る静的ネットワークを生成することである。入力及び出力は、デジタル信号若しくはアナログ信号、又はそれらの或る組み合わせを含むことができる。ネットワークの出力とその入力との関係は、ネットワークの状態に依存することがあり、その状態は複数の入力のこれまでの履歴によって影響を及ぼされる。
【0036】
図1は、複数のセルから成る静的ネットワークの全体的な構造を示す。そのネットワークは、信号を送信及び受信することによって隣接セルと通信する複数のセルを含む。いくつかのセルは、ネットワークの外部からの信号も受信し、一方、それらのセルの別の部分は、そのネットワークから外部に信号を送信する。上述のように、目標は、ネットワークからの出力信号がネットワークへの入力信号と何らかの対応関係を有し、各セルが全く同じ論理回路を含む、ネットワークを構築することである。
【0037】
従来の最新のデジタル回路において一般的に行われるように、そのネットワークの動作をタイミング信号130によって同期させて、入力信号及び出力信号が不連続な単位時間においてのみサンプリングされるようにすることができる。そのようなネットワーク内のセルを同期したままにするために、通常、それらのセルをグローバルクロック135に接続することができる。別法では、そのネットワークは、任意の遅延で機能しているセル内の論理ユニットによって非同期とすることができる。非同期のネットワークでは、グローバル同期を全く用いることなく、それらのセルが分散形式で機能することができる。
【0038】
RAMネットワーク
図5は、ネットワーク500がランダムアクセスメモリ(RAM)として機能する一例の応用形態を示す。この例では、全ての入力及び出力が2値であり、その時間は、クロック135によって測定されるような、不連続なクロックサイクル単位で測定される。ネットワーク500のセル内の論理ユニットの具体的な詳細は、後に詳細に説明する。
【0039】
RAMネットワークは3つの入力信号、すなわち入力データ501、アドレス502、制御503と、1つの出力信号と、出力データ504とを有する。一般的に、データ及びアドレスは或るビット数を有する。たとえば、それぞれが16ビットを有する場合には、RAMは、216=65536の異なる16ビットデータワードを格納することができる。この説明を簡単にしておくために、RAM500は、データ及びアドレスのいずれの場合にも1ビット「ワード」を使用することにし、それは、RAMが2つの1ビットワードを格納することを意味する。制御503は、「読出し」動作又は「書込み」動作を指示する。
【0040】
したがって、その一例のRAMネットワークは、3つの入力ビットと、1つの出力ビットとを有する。本明細書では、入力ビット501はラベルInを付され、アドレスビット502はラベルAddressを付され、制御ビット503はラベルControlを付され、出力ビット504はラベルOutを付される。また本明細書では、変数Reg510及びReg511が使用され、それは、0に初期化される1ビットレジスタ変数としての役割を果たす。レジスタ変数を用いて、RAMネットワーク500の入力・出力機能が記述される。
【0041】
アドレスビットに対応するレジスタは、制御ビットが1である場合に限って書き込まれる。たとえば、Control(t)=1であり、Address(t)=0である場合には、Reg(t)=In(t)である。制御ビットが0である場合には、それらのレジスタは単に、その以前の状態を維持する。その際、時刻t+1における出力Out(t+1)は、時刻tにおけるアドレスAddress(t)に対応するレジスタの値によって与えられる。たとえば、Address(t)=1である場合には、Out(t+1)=Reg(t)である。
【0042】
その一例のRAMネットワークの入力・出力機能は完全に従来どおりであることは理解されたい。本発明の新規性は、ネットワークの任意の特定の所望の入力・出力機能においては明らかではなく、ネットワークが構築される方法において、及び入力・出力機能を満たし、複数の論理ユニットから成る相互接続される全く同じセルだけを含む、ネットワークの最終的な形において明らかになる。
【0043】
所望の入力・出力機能は、或る形のメモリに記録されるようなネットワークの内部状態によって決定することができることに注目されたい。本発明の例では、その内部状態はレジスタ変数に記録され、出力は、内部状態及び入力ビットによって決定される。
【0044】
単一セルの仕様
そのネットワークは最初に、単一のセルと、ネットワークをシミュレートするのに不可欠な任意の他の情報と共に、そのセル内の全ての論理ユニット110の仕様を定めるプログラム140とを有する。
【0045】
図2は単一のセルを示しており、そのセルは1組の論理ユニットを含む。論理ユニットは、おそらく0入力信号を含む、或る一定の整数の入力信号を受信し、それらの入力信号から出力信号を求める。一例として、或る論理ユニットが2つの入力信号S及びSをとり、出力信号Sを求めるものと仮定する。その出力信号は、所与の遅延後の入力信号の或る関数である:S(t+Δ)=f(S(t),S(t))。この形の関数を用いて、複数の入力信号から全ての出力信号が求められる。
【0046】
ネットワークの動作がクロックによって同期する場合には、遅延は通常、1単位時間又は0単位時間のいずれかである。論理ユニットのうちのいくつかが0単位時間である遅延を有する場合には、プログラム140は、0遅延論理ユニットだけを含むあらゆるフィードバックループを避けるように設計される。
【0047】
2値信号だけが用いられる場合には、全ての信号値が論理0又は論理1であり、それらの関数は、AND関数、OR関数、排他的論理和XOR関数、又は真理値表を用いて指定することができる他の論理関数のような従来の論理関数に対応する。
【0048】
取り得る値の連続した範囲を有するアナログ信号を用いることができ、さらには、限られた1組の取り得る値を有する量子化された信号を用いることもできる。論理ユニットの入力信号及び出力信号は、2値信号、量子化された信号及びアナログ信号が任意に混合したものとすることができる。
【0049】
異なるタイプの信号
3つの異なるタイプの信号が用いられる。第1のタイプは、「ファクタ信号」101と呼ばれ、セル内の出力信号として求められ、その後、同じセル内の論理ユニットのための入力信号として用いられる。第2のタイプは、「セル間信号」102と呼ばれ、セル内の出力信号として求められ、異なるセル内の論理ユニットのための入力信号として用いられる。第3のタイプの信号は、「発生信号」103である。出力発生信号は、他の論理ユニットのための入力としての役割を直接果たすのではなく、代わりに、セル複製、セル除去又はセル再編成のような発生事象をトリガするために用いられる。入力発生信号104は、セル発生事象が発生した後に設定され、同じセル内の論理ユニットのための入力信号として用いられる。
【0050】
2つ以上の論理ユニットが同じ出力信号を求めることが起こり得る。これが起こる場合には、その出力信号のための値は、異なる論理ユニットによって求められる異なる可能性がある値間で調停されなければならない。その調停は、各論理ユニットにおいて求められる値の所定の関数を用いて果たされる。
【0051】
信号が全て2値である場合には、所定の調停関数は、論理OR関数とすることができ、結果として、論理ユニットのうちのいずれか1つがその出力信号のために1の値を出力する場合には、その出力信号は1になる。それらの信号が連続した値を有する場合には、使用される調停関数は、同じラベルを共有する出力信号の値の単なる加法とすることができるか、又はOR関数を連続した値に拡張するソフトOR関数のような、さらに複雑な或る関数を用いることができる。ソフトOR関数の一例として、2つの信号x及びxが連続であり、範囲[0.0,1.0]に限定される場合には、ソフトOR関数fsoft−ORは、fsoft−OR(x,x)=x+x−xとすることができる。
【0052】
セル間信号は通常、ネットワーク内の隣接する各セルに送信される。しかしながら、そのプログラムが、セル間信号の方向性について、いくつかの規則を指定することもあり得る。たとえば、そのプログラムは、特定のセル間信号が、送信するセルの「右側」に位置するセルにだけ送信されるものと指定することができる。
【0053】
多数のセルが、全く同じラベルを有する信号を、同じ宛先セルに送信する場合には、その信号の値も調停される必要がある。その調停は、同じ信号を出力する複数の論理ユニットの場合の調停と同じようにして機能する。したがって、それらの信号が2値である場合には、通常は論理OR関数が用いられる。それゆえ、或るセルが、その隣接するセルのいずれか1つから、値1を有するセル間信号を受信する場合には、その信号の値は1である。それらの信号が連続した値を有する場合には、加法関数又はソフトOR関数を用いることができる。
【0054】
調停関数は、そのネットワークのためのプログラム140において予め指定されている。任意の信号のための正しい値については、曖昧さは一切ない。
【0055】
発生信号
ファクタ信号及びセル間信号とは異なり、出力発生信号103は、論理ユニットのための入力としての役割は、直接は果たさない。代わりに、出力発生信号の値は、セル複製、セル再編成又はセル除去のような「発生事象」を開始するためのトリガである。たとえば、特定の発生信号が1つの2値を有することがある。ただし、値1は、特定のタイプのセル複製が生じるべきであることを指示する。
【0056】
セル複製が生じるとき、2つのセルが生成される。ただし、それ以前には単一のセルしか存在していなかった。それらのセルのうちの一方は「親」セルであり、他方は「子」セルである。図3を参照されたい。親セル及び子セルはいずれも、元のセル内の全ての論理ユニットの精確な複製を受け取る。全ての出力信号の値も、親セル及び子セルの両方において複製される。
【0057】
親セルと子セルとの間の相違は、「発生入力信号」104と呼ばれる入力信号のクラスにおいてのみ反映される。発生入力信号は、他の何らかの論理ユニットの出力信号によって与えられないという点で、他の入力信号とは異なる。代わりに、発生入力信号は、セル発生事象中に生成される。たとえば、セル複製事象が生じると、通常、セル複製が生じたことを指示するために、或る発生入力信号が用いられ、新たに生成されたセルが親セルであるか又は子セルであるかを指示するために、別の発生入力信号が用いられる。この後者の発生入力信号によって、そのセルが子セルであるか又は親セルであるかに応じて、セルの論理回路が異なるように動作できるようになる。
【0058】
セル発生事象後のネットワークの再構築
セル発生事象が生じた後に、ネットワークの隣接構造が更新される。セル複製後、新たに生成された親セルと子セルとは常に互いの隣接セルであり、それぞれ、元のセルの隣接セルの或るサブセットの中の1組の隣接セルでもある。本明細書では、隣接とは、他のセルが一切介在することなく、それらのセル間が直に接続されることを意味する。
【0059】
同様に、セル除去が生じた後に、除去されたセルに隣接していたセルは、その隣接構造を更新する。最後に、セル再編成事象は、影響を受けたセルの隣接構造を更新するための或る1組の規則に従う。
【0060】
隣接構造を更新するための規則は、1組の「セル発生隣接規則」として、ネットワークのためのプログラム140において指定される。
【0061】
以下の説明は、あり得る1組の規則のための具体例であり、それは、セル複製だけが起こり得るが、セル再編成又はセル除去が起こらない例を含む。一例の1組のセル発生隣接規則では、ネットワーク全体が常に正方形のエリアを占有し、水平方向及び垂直方向において0.0〜1.0に及ぶ単位を有するものと仮定する。図3を参照されたい。
【0062】
初期のネットワークは、エリア全体を占有する単一のセル301から成る。セル複製によって、1つのセルが、所定の場所において親セル311及び子セル312によって置き換えられ、元のセルによって以前に占有されていたエリアの半分を親セルが占有し、そのエリアのもう半分を子セルが占有する。この例では、2つのタイプのセル複製事象が起こる可能性があり、そのうちの一方では、親セルが、新たな子セルに対して、元のセルのエリアの左半分に置かれ、他方では、親セルが新たな子セルの下に置かれる。
【0063】
この例の1組のセル発生隣接規則では、セルが互いに近接している場合には、それらのセルは隣接していると見なされる。図3は、これらの規則による一連のセル複製の一例を示す。単一セルの初期ネットワークから開始して、全部で4回のセル複製が行われ、最終的には、5つのセルから成るネットワークが形成される。ネットワークの最終的な隣接構造305も図に示される。
【0064】
この例では、そのセル発生隣接規則は、セルが所与のエリアを「占有」する幾何学的な特徴抽出を用いて導出された。1つのエリアを占有するセルの幾何学的形状を参照しない他のセル発生隣接規則も実現可能であることは理解されたい。たとえば、その規則は、幾何学的な形状を全く考えることなく、トポロジ(接続性)の関係に厳密に基づくことができる。
【0065】
ネットワークの発生の終了
先に述べられたように、そのネットワークは、初期には単一のセルである。その初期のネットワークはオプションでは、その発生段階中に「母」セルと見なされることがある複数のセルから成る別のネットワークからの信号に接続されると共に当該信号を受信することがあるか、又は、そのネットワークは一切の他の信号から切り離されることがある。
【0066】
そのネットワークは、そのセル内の論理ユニットの規則、及びそのプログラムに含まれる任意の他の関連する規則に従って更新される。そのプログラムにおいて指定される終了点155では、そのネットワークは、あらゆるセル発生事象を「オフ」にし、ネットワーク内のセルの構造が静的になる。初期のネットワークが、その発生段階中に、複数のセルから成る別のネットワークに接続される場合には、初期のネットワークは、その他のネットワークから切り離される。
【0067】
その静的ネットワークは試験され(152)、そのネットワークが、その所望の入力・出力機能を適切に実行するか否かが調べられる。ネットワークを試験するために、そのネットワークを、ネットワーク内に信号を送信するだけである1組の「入力ノード」141、及びネットワークから受信される信号を測定するだけである1組の「出力ノード」142に接続することができる。入力ノード及び出力ノードの配置、並びにどの信号が入力ノードによって送信され、出力ノードによって測定されるかについての詳細は、ネットワークプログラム140において指定される。
【0068】
ネットワークプログラム
そのネットワークのための「プログラム」140は、ネットワークをシミュレートするために必要とされる全ての情報を含む。ネットワークプログラムは、入力信号、出力信号、実行される入力・出力機能、及び遅延を含む、各セル内の全ての論理ユニット110のリストを含む。この情報の一部として、全ての信号の2値又はアナログの特性が与えられる。
【0069】
また、そのプログラムは、どのセル及び出力ノードがセル間信号を受信するかについての規則も含む。
【0070】
また、そのプログラムは、複数の論理ユニットが全く同じ出力信号を生成する場合に、及び複数の隣接するセルが別のセルに全く同じセル間信号を送信するときに用いられる調停関数も指定する。
【0071】
また、そのプログラムは、セル発生隣接規則も指定する。また、そのプログラムは、セル発生事象後に、発生入力信号がいかに設定されるかも指定することができる。
【0072】
また、そのプログラムは、発生出力信号のどの値が発生事象をトリガするか、及び発生事象後に、発生入力信号の値がいかに設定されるかも指定する。
【0073】
また、そのプログラムは、その発生段階中に、そのネットワークが別のネットワークに対して有する任意の接続も指定する。
【0074】
また、そのプログラムは、発生段階が終了する時刻も指定することができる。発生段階のために経過した全時間は、タイミング信号130によって測定することができる。
【0075】
また、そのプログラムは、その静的段階中にネットワークに接続される任意の一定の入力ノード141及び出力ノード142の配置、並びに入力ノードによって生成され、出力ノードによって測定されるセル間信号の詳細も指定する。
【0076】
一例のRAMネットワークのためのプログラム
本発明による方法を例示するために、上述のRAM入力・出力機能を実行する2つのセルから成るネットワークを生成するプログラムを詳細に説明する。そのプログラムを理解するために、それは、信号がプログラム内で、且つ図6のセル600の配線図内でラベルを付される方法を理解するのに役に立つ。
【0077】
そのプログラムは、以下のようにラベルを付される12個の2値信号を指定する:
1.I_A:RAMのための「アドレス」ビットに対応するセル間信号。
2.I_I:RAMのための「入力」ビットに対応するセル間信号。
3.I_C:RAMのための「制御」ビットに対応するセル間信号。
4.I_O:RAMのための「出力」ビットに対応するセル間信号。
5.DO_D:値1を有するときにセル複製を引き起こす発生出力信号。
6.F_T:或るセルがアドレスビットのターゲットであるか否かを指示するために用いられるファクタ信号。
7.F_C:入力ビットがレジスタに書き込まれるか否かを指示するために用いられるファクタ信号。
8.F_R:セルが生成する出力を指示するために用いられるファクタ信号。それはそのセルのレジスタ値に対応するため、「F_R」と呼ばれる。
9.DI_D:セル複製が生じた直後に、1の値に設定される発生入力信号。
10.DI_P:セルが親セルである場合に、セル複製直後に、1の値に設定される発生入力信号。
11.F_D:セル複製が生じたか否かを永続的に指示するファクタ信号。
12.F_P:セルが親セルであるか否かを永続的に指示するファクタ信号。
【0078】
そのプログラムはセル600のための以下の論理ユニット110を指定し、その表記法が以下に説明される:
LU NOR(DI_D,F_D)⇒DO_D [遅延=1]
LU OR(DI_D,F_D)⇒F_D [遅延=1]
LU OR(DI_P,F_P)⇒F_P [遅延=1]
LU XOR(I_A,F_P)⇒F_T [遅延=1]
LU AND(F_T,I_C)⇒F_C [遅延=0]
LU TRUTH{01000111}(I_I,F_C,F_R)⇒F_R
[遅延=1]
LU AND(F_T,F_R)⇒I_O [遅延=0]
【0079】
ここで、論理ユニットのための上記の表記法を説明する。一例として、上記の第5の論理を取り上げる。表記「AND」は、入力から論理ANDを計算して、出力を計算することを意味する。表記「(F_T,I_C)」は、2つの入力がF_Tファクタ信号及びI_Cセル間信号であることを意味する。表記「⇒F_C」は、ファクタ信号F_Cが出力信号であることを意味し、一方、表記「[遅延=0]」は、0単位時間の遅延後に、入力信号から出力信号が計算されることを意味する。
【0080】
第6の論理ユニットにおいて用いられている表記「TRUTH{...}」は、真理値表関数が用いられることを意味する。ただし、括弧内の数は、入力000、001、010、011、100、101、110及び111の場合に、その順序において得られる出力値を指示する。したがって、たとえば、TRUTH{00000001}は、3つの変数にわたるAND関数に対応し、3つの変数が全て1である場合には、1の出力が与えられ、それ以外の場合には、0が与えられる。
【0081】
プログラム140内の全仕様は以下のとおりである。
1.論理ユニットは上記で指定されたとおりである。
2.1つのセル又は入力ノードに隣接する全てのセル又は出力ノードは、そのセル又は入力ノードから、全てのセル間信号を受信する。
3.調停関数として、常にOR関数が用いられる。
4.セル発生隣接規則は、項[セル発生事象後のネットワークの再構築]において、ただ1つのタイプのセル複製を用いて説明された例において与えられたとおりであり、親セルが元のセルのエリアの半分を占有し、子セルがもう半分を占有し、親セルが子セルの下に配置されるようになる。
5.発生出力信号DO_Dが1の値を有する場合には、セル複製事象がトリガされる。発生入力信号DI_Dは、セル複製事象の直後に、新たに生成された親セル及び新たに生成された子セルのいずれにおいても1に設定され、それ以外の場合には、0に設定される。発生入力信号DI_Pは、セル複製事象の直後に、新たに生成された親セルにおいて1に設定され、それ以外の場合には、0に設定される。
6.発生段階中に、ネットワークは別のネットワークから切り離されており、接続されない。
7.t=5であるときに、発生段階は終了する。
8.図4及び図6に示されるように、ネットワークはただ1つの入力ノード141及びただ1つの出力ノード142に接続される。その入力ノードは3つのセル間信号I_I、I_A及びI_Cを生成し、一方、出力ノードはセル間信号I_Oを測定する。
【0082】
一例のネットワーク機能の説明
以下は、一例のネットワークがいかにRAM入力・出力機能を実施するのに成功するかの説明である。図4に示されるように、静的ネットワークは2つのセルを有し、各セルは入力ノード及び出力ノードに接続される。図6は、RAMネットワークの単一のセル600内の論理ユニットの詳細な配線及び信号を示す。そのネットワークは、単一セルとして初期化される。
【0083】
第1の論理ユニット(LU)(NOR(DI_D,F_D)⇒DO_D[遅延=1])は、セル複製事象をトリガする。以前に、DI_D入力発生信号又はF_Dファクタ信号によって記録されるような複製事象がなかった場合には、その論理ユニットは、DO_D発生出力信号を1に設定し、それによりセル複製がトリガされる。
【0084】
第2の論理ユニット(LU)(OR(DI_D,F_D)⇒F_D[遅延=1])は、セル複製事象が生じたことを永続的に指示するファクタ信号F_Dをオンにし、第1の論理ユニットとともに、それ以上複製が生じないことを確実にする。
【0085】
第3の論理ユニット(LU)(OR(DI_P,F_P)⇒F_P[遅延=1])は、親セル内の持続的な信号をオンにし、親セルを子セルから区別できるようにする。F_D又はF_Pが1に設定された後に、第2の論理ユニット及び第3の論理ユニットは、F_D及びF_Pが1のままであることを確保することに留意されたい。
【0086】
5単位時間後に、発生段階は終了し(155)、ネットワークは入力ノード141及び出力ノード142に取り付けられる。5単位時間を選択することに特別なことは何もなく、プログラムによって、ただ一度のセル複製が生じること、及びファクタ信号F_Pが親セルを永続的に指示することが強制されるために、2単位時間以上の任意の数の単位時間でうまく機能できることに留意されたい。
【0087】
第4の論理ユニット(LU)(XOR(I_A,F_P)⇒F_T[遅延=1])は、2つのセルのうちのいずれがアドレスのターゲットであるかを知らせるために用いられる。アドレス信号I_Aが1である場合には、ターゲットファクタ信号F_Tは、親セルにおいて1であり、子セルにおいて0であるのに対して、アドレス信号I_Aが0である場合には、ターゲットファクタ信号F_Tは、親セルにおいて0であり、子セルにおいて1である。
【0088】
第5の論理ユニット(LU)(AND(F_T,I_C)⇒F_C[遅延=0])は、そのセルにおいて書込みが行われるべきであるか否かを知らせるために用いられる。そのセルがターゲットであり(F_T=1)、制御信号が入力ノードから送信されていた(I_C=1)場合には、F_Cファクタ制御信号は1に設定され、そうでない場合には、F_Cは0に設定される。
【0089】
第6の論理ユニット(LU)(TRUTH{01000111}(I_I,F_C,F_R)⇒F_R[遅延=1])は、レジスタファクタ信号F_Rの値を設定するために用いられる。F_Cが1である場合には、F_Rは、入力信号I_Iの値に設定される。F_Cが0である場合には、F_Rは、その以前の値に等しくなるように設定される。
【0090】
第7の論理ユニット(LU)(AND(F_T,F_R)⇒I_O[遅延=0])は、出力セル間信号I_Oを、アドレス指定されているセルのためのレジスタの値に設定する。
【0091】
この例はネットワーク内で2つのセルだけを用いており、簡単なネットワーク入力・出力機能を用いて、説明するのを簡単にしている。しかしながら、その方法は、複雑な機能を実施する非常に多数のセルを用いてネットワークを生成するために用いることができることは理解されたい。
【0092】
ネットワークのプログラミング
ネットワークのためのプログラムは、種々の方法で、たとえば手動で又は自動的に選択された手順によって選択することができる。
【0093】
そのような自動化された手順は、ネットワーク毎に、そのネットワークが所望の入力・出力機能をどの程度良好に実施するか、及びそのネットワークがいくつの計算資源(たとえば論理ユニット及び/又は信号)を必要とするかを反映する「適応度」値を使用する。最小量の計算資源を用いながら、所望の入力・出力機能を正確に実行するネットワークには、大きな適応度値が割り当てられる。
【0094】
また、自動化された手順は、或るプログラムを比較的類似の別のプログラムに変更する方法も必要とする。これは、論理ユニットを変更することによって行うことができる。論理ユニットにおいて成し得る変更は、論理ユニットの個々の入力又は出力を変更すること、及び論理ユニットによって計算される論理関数を変更することを含むことができる。
【0095】
その自動化された手順は、適応度が高いプログラムを見つけるために、取り得るプログラムの空間を探索する。この探索は、ヒルクライミング又は焼きなましのような従来の最適化方法を用いることができる。それは、1組のネットワークのためのプログラム140の集団において動作する遺伝的アルゴリズムも用いることもできる。そのプログラムの変更は、そのネットワークの多数のセルの動作に自動的に反映されるため、遺伝的アルゴリズムは、適応度が高いネットワークを探索するのによく適している。
【0096】
十分な適応度のネットワークが発見されると、そのネットワークは、ソフトウエア又はハードウエアのいずれかで実現することができる。そのネットワーク内の各セルは同じ全く論理ユニットを含むため、そのネットワークのハードウエア実施態様は、多数のセルを含むネットワークに対して、潜在的に非常にコスト効率的である可能性がある。
【0097】
本発明は、好ましい実施形態の一例として説明されてきたが、本発明の精神及び範囲内で、種々の他の改変及び変更を行うことができることは理解されたい。それゆえ、添付の特許請求の範囲の目的は、本発明の真の精神及び範囲内に入るような全てのそのような変形及び変更を包含することである。
【図面の簡単な説明】
【0098】
【図1A】本発明の実施の形態による処理セルのネットワークのブロック図である。
【図1B】本発明の実施の形態による処理セルのネットワークのブロック図である。
【図2】本発明の実施の形態による単一の処理セルのブロック図である。
【図3】本発明の実施の形態による経時的に発生するネットワークのブロック図である。
【図4】本発明の実施の形態による一例のネットワークのブロック図である。
【図5】本発明の実施の形態によるランダムアクセスメモリとして構成されるネットワークのブロック図である。
【図6】本発明の実施の形態によるランダムアクセスメモリとして構成されるネットワーク内の単一セルの配線を詳細に示すブロック図である。

【特許請求の範囲】
【請求項1】
入力・出力機能を実行するためのネットワークであって、
1組のセルであって、前記セルはそれぞれ全く同じ構造を有し、隣接するセルが互いに接続されてネットワークを形成する1組のセルを備え、
前記セルはそれぞれ、前記入力・出力機能を実行するように構成される1組の論理ユニットをさらに備え、
前記論理ユニットはファクタ信号、セル間信号及び発生出力信号を出力し、前記ファクタ信号は同じセル内の前記1組の論理ユニットのための入力信号であり、前記セル間信号は前記隣接するセル内の前記1組の論理ユニットのための入力信号であり、前記発生出力信号は発生事象を開始し、同じセル内の前記1組の論理ユニットのための前記発生事象後に、前記論理ユニットへの発生入力信号が設定され、前記セルのそれぞれの中の前記1組の論理ユニットの構造は全く同じであることを特徴とする入力・出力機能を実行するためのネットワーク。
【請求項2】
発生段階中の前記ネットワークは最初に1つの初期セルを有し、前記発生事象は前記初期セルを複製することを特徴とする請求項1に記載の入力・出力機能を実行するためのネットワーク。
【請求項3】
前記ネットワークの前記セルは、前記発生段階中に、タイミング信号によって測定されるような所定の時間にわたって複製されることを特徴とする請求項2に記載の入力・出力機能を実行するためのネットワーク。
【請求項4】
前記ネットワークは、前記発生段階の終了時に静的にされることを特徴とする請求項3に記載の入力・出力機能を実行するためのネットワーク。
【請求項5】
前記静的ネットワークは、ハードウエアにおいて実行されることを特徴とする請求項4に記載の入力・出力機能を実行するためのネットワーク。
【請求項6】
前記静的ネットワークは、ソフトウエアにおいて実行されることを特徴とする請求項4に記載の入力・出力機能を実行するためのネットワーク。
【請求項7】
前記発生段階中に、前記ネットワークの前記セルは、複数のセルから成る別のネットワークに接続されることを特徴とする請求項4に記載の入力・出力機能を実行するためのネットワーク。
【請求項8】
前記入力・出力機能を実行するための適応度を試験するための手段をさらに備えることを特徴とする請求項4に記載の入力・出力機能を実行するためのネットワーク。
【請求項9】
前記ネットワークはメモリの形をとり、前記入力・出力機能は前記メモリにランダムにアクセスすることを特徴とする請求項1に記載の入力・出力機能を実行するためのネットワーク。
【請求項10】
前記初期セルの構造、前記1組のセルのための全ての入力信号、及び前記初期セルを複製して前記静的ネットワークを形成するための規則を完全に指定するように構成されるプログラムをさらに備えることを特徴とする請求項4に記載の入力・出力機能を実行するためのネットワーク。
【請求項11】
前記発生段階をシミュレートするための手段をさらに備えることを特徴とする請求項2に記載の入力・出力機能を実行するためのネットワーク。
【請求項12】
前記論理ユニットはそれぞれ既知の遅延を有することを特徴とする請求項1に記載の入力・出力機能を実行するためのネットワーク。
【請求項13】
前記発生事象は、セル複製、セル再編成及びセル除去を含むことを特徴とする請求項1に記載の入力・出力機能を実行するためのネットワーク。
【請求項14】
前記複製は、全く同じ親セルと、前記親セルに接続される全く同じ子セルとを生成することを特徴とする請求項2に記載の入力・出力機能を実行するためのネットワーク。
【請求項15】
前記複製によって1組のネットワークが生成され、前記ネットワークは、
前記ネットワークのそれぞれの前記適応度を測定すると共に、適応度が高い特定のネットワークを前記静的ネットワークとして選択するための手段をさらに備えることを特徴とする請求項8に記載の入力・出力機能を実行するためのネットワーク。
【請求項16】
前記ネットワークの動作を同期させるように構成されるクロックをさらに備えることを特徴とする請求項1に記載の入力・出力機能を実行するためのネットワーク。
【請求項17】
前記ネットワークの動作は非同期であることを特徴とする請求項1に記載の入力・出力機能を実行するためのネットワーク。
【請求項18】
前記プログラムは、前記ネットワークをシミュレートするために必要とされる全ての情報を含むことを特徴とする請求項10に記載の入力・出力機能を実行するためのネットワーク。
【請求項19】
前記プログラムは、複数の論理ユニットが全く同じ出力信号を生成するときに用いられる調停関数を指定することを特徴とする請求項10に記載の入力・出力機能を実行するためのネットワーク。
【請求項20】
前記プログラムは、複数の隣接するセルが全く同じセル間信号を別のセルに送信するときに用いられる調停関数を指定することを特徴とする請求項10に記載の入力・出力機能を実行するためのネットワーク。
【請求項21】
入力・出力機能を実行するためのネットワークを生成するためのコンピュータによって実行される方法であって、
1組のセルを生成するステップであって、前記セルはそれぞれ全く同じ構造を有し、隣接するセルが互いに接続されてネットワークを形成する1組のセルを生成するステップを含み、
前記1組のセルを生成するステップは、
前記入力・出力機能を実行するように構成される1組の論理ユニットを生成するステップをさらに含み、
前記論理ユニットはファクタ信号、セル間信号及び発生出力信号を出力し、前記ファクタ信号は同じセル内の前記1組の論理ユニットのための入力信号であり、前記セル間信号は前記隣接するセル内の前記1組の論理ユニットのための入力信号であり、前記発生出力信号は発生事象を開始し、同じセル内の前記1組の論理ユニットのための前記発生事象後に、前記論理ユニットへの発生入力信号が設定され、前記セルのそれぞれの中の前記1組の論理ユニットの構造は全く同じであることを特徴とするネットワークを生成するためのコンピュータによって実行される方法。
【請求項22】
発生段階中の前記ネットワークは最初に1つの初期セルを有し、前記発生事象は前記初期セルを複製することを特徴とする請求項21に記載のネットワークを生成するためのコンピュータによって実行される方法。
【請求項23】
前記ネットワークの前記セルは、前記発生段階中に、タイミング信号によって測定されるような所定の時間にわたって複製されることを特徴とする請求項22に記載のネットワークを生成するためのコンピュータによって実行される方法。
【請求項24】
前記ネットワークは、前記発生段階の終了時に静的にされることを特徴とする請求項23に記載のネットワークを生成するためのコンピュータによって実行される方法。
【請求項25】
前記静的ネットワークは、ハードウエアにおいて実行されることを特徴とする請求項24に記載のネットワークを生成するためのコンピュータによって実行される方法。
【請求項26】
前記静的ネットワークは、ソフトウエアにおいて実行されることを特徴とする請求項24に記載のネットワークを生成するためのコンピュータによって実行される方法。
【請求項27】
前記発生段階中に、前記ネットワークは、複数のセルから成る別のネットワークに接続されることを特徴とする請求項24に記載のネットワークを生成するためのコンピュータによって実行される方法。
【請求項28】
前記入力・出力機能を実行するための適応度を試験するステップをさらに含むことを特徴とする請求項24に記載のネットワークを生成するためのコンピュータによって実行される方法。
【請求項29】
前記ネットワークはメモリの形をとり、前記入力・出力機能は前記メモリにランダムにアクセスすることを特徴とする請求項21に記載のネットワークを生成するためのコンピュータによって実行される方法。
【請求項30】
前記初期セルの構造、前記1組のセルのための全ての入力信号、及び前記初期セルを複製して前記静的ネットワークを形成するための規則を完全に指定するプログラムを構成するステップをさらに含むことを特徴とする請求項24に記載のネットワークを生成するためのコンピュータによって実行される方法。
【請求項31】
前記発生段階をソフトウエアによってシミュレートするステップをさらに含むことを特徴とする請求項22に記載のネットワークを生成するためのコンピュータによって実行される方法。
【請求項32】
前記論理ユニットはそれぞれ既知の遅延を有することを特徴とする請求項21に記載のネットワークを生成するためのコンピュータによって実行される方法。
【請求項33】
前記発生事象は、セル複製、セル再編成及びセル除去を含むことを特徴とする請求項21に記載のネットワークを生成するためのコンピュータによって実行される方法。
【請求項34】
前記複製は、全く同じ親セルと、前記親セルに接続される全く同じ子セルとを生成することを特徴とする請求項22に記載のネットワークを生成するためのコンピュータによって実行される方法。
【請求項35】
前記複製によって1組のネットワークが生成され、前記方法は、
前記ネットワークのそれぞれの前記適応度を測定すると共に、適応度が高い特定のネットワークを前記静的ネットワークとして選択するステップをさらに含むことを特徴とする請求項28に記載のネットワークを生成するためのコンピュータによって実行される方法。
【請求項36】
前記ネットワークの動作を同期させるステップをさらに含むことを特徴とする請求項21に記載のネットワークを生成するためのコンピュータによって実行される方法。
【請求項37】
前記ネットワークの動作は非同期であることを特徴とする請求項21に記載のネットワークを生成するためのコンピュータによって実行される方法。
【請求項38】
前記プログラムは、前記ネットワークをシミュレートするために必要とされる全ての情報を含むことを特徴とする請求項30に記載のネットワークを生成するためのコンピュータによって実行される方法。
【請求項39】
前記プログラムは、複数の論理ユニットが全く同じ出力信号を生成するときに用いられる調停関数を指定することを特徴とする請求項30に記載のネットワークを生成するためのコンピュータによって実行される方法。
【請求項40】
前記論理ユニットへの入力信号及び前記論理ユニットからの出力信号は、デジタル信号であることを特徴とする請求項21に記載のネットワークを生成するためのコンピュータによって実行される方法。
【請求項41】
前記論理ユニットへの入力信号及び前記論理ユニットからの出力信号は、アナログ信号であることを特徴とする請求項21に記載のネットワークを生成するためのコンピュータによって実行される方法。
【請求項42】
前記論理ユニットへの入力信号及び前記論理ユニットからの出力信号は、デジタル信号及びアナログ信号を含むことを特徴とする請求項21に記載のネットワークを生成するためのコンピュータによって実行される方法。
【請求項43】
前記論理ユニットへの入力信号及び前記論理ユニットからの出力信号はデジタル信号であり、前記デジタル信号のための前記調停関数はOR関数であることを特徴とする請求項39に記載のネットワークを生成するためのコンピュータによって実行される方法。
【請求項44】
前記論理ユニットへの入力信号及び前記論理ユニットからの出力信号は、デジタル信号及びアナログ信号を含み、前記デジタル信号のための前記調停関数はOR関数であり、前記アナログ信号のための前記調停関数は加法関数であることを特徴とする請求項39に記載のネットワークを生成するためのコンピュータによって実行される方法。
【請求項45】
前記論理ユニットへの入力信号及び前記論理ユニットからの出力信号は、デジタル信号及びアナログ信号を含み、前記デジタル信号のための前記調停関数はOR関数であり、前記アナログ信号のための前記調停関数はソフトOR関数であることを特徴とする請求項39に記載のネットワークを生成するためのコンピュータによって実行される方法。

【図1A】
image rotate

【図1B】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate


【公開番号】特開2008−269594(P2008−269594A)
【公開日】平成20年11月6日(2008.11.6)
【国際特許分類】
【外国語出願】
【出願番号】特願2008−96009(P2008−96009)
【出願日】平成20年4月2日(2008.4.2)
【出願人】(597067574)ミツビシ・エレクトリック・リサーチ・ラボラトリーズ・インコーポレイテッド (484)
【住所又は居所原語表記】201 BROADWAY, CAMBRIDGE, MASSACHUSETTS 02139, U.S.A.