(58)【調査した分野】(Int.Cl.,DB名)
複数の同時スレッド(concurrent threads)を用いて空間的計算を実現し、各同時スレッドが残りの同時スレッドに属する状態の発生、同時発生または排除に基づいて活性化されるコンピュータ装置であって、
周辺の現象を検知する複数の2状態センサであって、前記2状態センサの周辺にファイル構造のレコード空間であるタプル空間が含まれ、検知された現象が前記タプル空間に存在するか否かを示す二値信号を生成する、複数の2状態センサ、
周辺に対して影響を及ぼし、各々のエフェクターに対して複数のセンサのうち少なくとも一つが周辺に対するエフェクターの影響を検知する、一つ以上のエフェクター、および、
各々が、外部状態、レベル及び等級を有する複数のアクションであって、複数のアクション各々が2個の同時スレッドの同時排除を実行する、複数のアクション、を含み、
前記外部状態は少なくとも部分的に前記センサの状態によって決定され、
前記アクションのレベルは、階層内で前記アクションが実行できる同時排除数を示し、
前記アクションの等級は前記アクションの外部状態を決定するために用いられるセンサ数を示し、
前記複数のアクションが階層に配列され、前記複数のアクションの各々が前記階層内のノードであることを特徴とするコンピュータ装置。
各インパルスが複数のセンサのうち受信センサの状態の反転として周辺から空間的計算に導入され、前記複数のアクションが一つ以上のインパルスの導入時に外部状態を以下のように、アップデートする、
複数のセンサの一つ以上の状態を階層のボトムレベルからボトムレベルより高い少なくとも一つのレベルに上向き伝送するバブルアッププロセスを実行し、このようなバブルアッププロセスは各々のインパルスの跡を創造し、このような跡は複数のセンサの状態を上向き伝送する間、外部状態をアップデートしたアクションを含み、
バブルアッププロセスの跡を逆追跡して、ボトムレベルより高い階層のレベルから一つ以上のアクションまで一つ以上の下位目標を下向き伝送するトリクルダウンプロセスを実行し、このような一つ以上のアクションによって一つ以上のエフェクターが対応の下位目標によって確認される効果を出し、前記一つ以上の下位目標が集まって目標を形成する、
ことを特徴とする、請求項2に記載のコンピュータ装置。
前記階層のノードは親ノード、親ノードに対する子ノード、および、親ノードでありながら子ノードではないトップノードを含み、各アクションと関連したスレッドが一番目〜三番目の集合を含む複数の集合に配列され、
前記一番目の集合は、前記複数のアクションのうちの一つ以上のオリジネーティングアクションや一つ以上のセンサにおいて起こる変化を検知し、前記変化に合わせて前記アクションの外部状態をアップデートし、前記アクションのノードが子ノードであれば、前記変化を前記ノードの親ノードのアクションに上向き伝送してバブルアッププロセスを実行するスレッドを含み、前記オリジネーティングアクションは、アクションより低い階層レベルにあり、複数のアクションのうち一番目のアクションであるので受信センサの状態の反転を検知し、
前記二番目の集合は分散バックチェイニングプロセスを実行するスレッドを含み、分散バックチェイニングプロセスでは、前記アクションがグラウンドにならない場合、オリジネーティングアクションからグラウンドになりつつオリジネーティングアクションと同じレベルを有するアクションにポテンシャルコーザルリンクのツリーを追加し、前記ツリーは複数のアクションのうち他のアクションに対する0、1またはそれ以上のリンクを含み、前記他のアクションはグラウンドにならずにオリジネーティングアクションと同じレベルを有し、
前記三番目の集合は、前記アクションがグラウンドになった場合、前記アクションより上位の階層レベルのうちの一つから前記アクションを識別する下位目標のうち一番目の下位目標を検知し、前記一番目の下位目標を二番目および三番目の下位目標に分割し、二番目の下位目標は子ノードのうちの一つに、三番目の下位目標は子ノードのうち残りのノードに送り、前記アクションにリンクしつつ、前記アクションの実行を待っている全てのチェーンの実行を着手させて前記トリクルダウンプロセスを実行するスレッドを含み、
アクションが発する条件が周辺で現在満たされることを、アクションはグラウンドになるとし、アクションが発する条件が周辺で現在満たされないことを、アクションはグラウンドにならないとすることを特徴とする、請求項6に記載のコンピュータ装置。
前記同時排除のうちの一つ以上が周辺の要素に関連し、前記インパルスが前記要素に関連する時、オリジネーティングアクションが前記要素の同時排除に属するスレッドを含み、この時、オリジネーティングアクションがバブルアッププロセスを開始することを特徴とする、請求項7に記載のコンピュータ装置。
前記空間的計算の目標状態が垂直特徴と水平特徴の交差点において、前記空間的計算の現在状態に連結され、前記垂直特徴は、前記バブルアッププロセスおよび前記トリクルダウンプロセスを含み、前記水平特徴はバックチェイニングプロセスによって決定されることを特徴とする、請求項7に記載のコンピュータ装置。
前記分散バックチェイニングプロセスが、前記複数のアクションのうち二つの間のコーザルリンクの複数の逆方向チェーンを生成し、前記複数の逆方向チェーンが前記ツリーを形成し、逆方向チェーンに必要な一つ以上の従来の下位目標状態が逆方向チェーンのアクションより上位レベルを有し、グラウンドになったアクションによって発行されるまで逆方向チェーン各々の実行が停止されることを特徴とする、請求項10に記載のコンピュータ装置。
一番目のアクションのノードがトップノードではない時、一番目のアクションが前記階層の次の上位レベルのアクションのための分散バックチェイニングプロセスを引き起こすインパルスを発行してバブルアッププロセスを実行し、
トップノードでないノードを有するアクション各々が、一つ以上のインパルスを一つ以上の目標に変換した後、一つ以上の目標をアクションの子ノードに伝送してトリクルダウンプロセスを実行することを特徴とする、請求項11に記載のコンピュータ装置。
前記空間的計算がファクトであり、前記コンピュータ装置がユーザからのファクトの要請に応答してリコール演算をさらに実施し、前記リコール演算をする時、コンピュータ装置が専用イベントウィンドウのインスタンスを生成し、前記専用イベントウィンドウは前記ファクトを含み、コンピュータ装置が前記インパルスのうちの一つとしてリコールインパルスを生成し、前記リコールインパルスはバブルアッププロセスが一番目のアクションのうちの一つ以上をグラウンドする一つ以上の関連のインジケータなどを生成するように目標状態を設定し、
アクションが発する条件が周辺で現在満たされることを、アクションはグラウンドになるとし、アクションが発する条件が周辺で現在満たされないことを、アクションはグラウンドにならないとすることを特徴とする、請求項6に記載のコンピュータ装置。
前記空間的計算が、前記専用イベントウィンドウを用いてファクトのリコールに関連した一つ以上の新しい下位目標を挿入する新しいプロセスを求めることを特徴とする、請求項13に記載のコンピュータ装置。
前記タプル空間内での各タプルが一つ以上のセキュリティビットを含み、前記セキュリティビットは前記タプルやタプルのフィールドが非結合フィールドと一致しないように設定されることを特徴とする、請求項1に記載のコンピュータ装置。
【背景技術】
【0002】
ハードウェアでの実行や別に規定されていないイベントの文字列として理解できる計算は、基本的に時間のように、各々のステップが基本的に非可逆的である。順次計算は、性質上、情報を消費し、並列性を有し、一つ以上の順次処理の多重コピーの組織的実行をする。このような事実は、Alan TuringとAlaude Shannonの数学理論に根拠をおく。
【0003】
本発明は、時間的計算に反対の概念である新しい種類の計算法である空間的計算を提示する。空間的計算は、(波のように)可逆的であり、情報を生成する。空間的計算は、既存の順次(並列)計算とは基本的に異なる新しい数学に依存する。
【0004】
その結果、多くの変化があっても空間的計算には「時間」概念がない。このような変化は、(計算の作用範囲を示した)複素波形の進行や離散並列ビットフリップの伝播挙動として表されることができる(パーセバルの恒等式(Parseval’s Identity(1799))を参照)。
【0005】
パーセバルの恒等式によれば、n次元直交空間に関数Fを投影したものがFのフーリエ分解である。これは、ピタゴラス理論をn次元に一般化したものである。n次元座標系において、F’の現在値はn次元ハイパーキューブでのハイパー−斜辺(hyper−hypotenuse)に前記当し、投影をすれば、ハイパー−斜辺が構成因子である各々の次元に従って数個のピース(piece)に分離される。
【0006】
n次元立方体を作ろうとすれば、両辺がa、bの直角三角形から始まる。この三角形を斜辺に反映して両辺a、b、面積ab、対角線√(a
2+b
2)の長方形を作った後、長方形を垂直に(長さc)持ち上げて3次元(3D)立方体abcを作る。これの対角線はd=√(a
2+b
2+c
2)であり、このような二乗の和を継続して4D立方体、5D立方体などを作る。
【0007】
同時に、初めての直角三角形に戻って、a=d cosθ、b=d sinθで表すことができ、この時、θはaと斜辺との間の角度である。このようなサイン・コサイン値でa、b、c、...を置換すれば、(投影値から始まった関数Fの現在値である)n次元斜辺に対する次元が生じ、サインとコサインの和であるフーリエ世界が生じる。
【0008】
したがって、波形の世界と直交座標系の世界は同じ世界であり、計算に連結する世界は後者である。このような連結は各々の次元を一部過程の状態値に対応させ、この時、このような全ての過程a、b、c、...、ab、ac、...、abc、...は概念上独立的(直交的)であるが、相互作用は自由で同時的である。また、このような過程の各々であるa、b、c、...、ab、ac、...、abc、...は、任意の特定時間において2個の可能な状態のうちの一つにある。ここで用いられたZ3={0、1、−1}にわたる幾何(クリフォード)代数学において、1−ベクトルは1状態ビットである±1で処理され、m−ベクトルはm状態ビットを有する。併行プロセスa、bに対してa+bを書き、a、bが作用する時にabと書く。abは2個の状態ビットと±1の外観を有するプロセスである。このような座標系でのプロセス−状態進行過程の分析によれば、プロセスの一部や全体は一部の周波数において状態が変わり、互いに作用するプロセス(m−ベクトル)は構成プロセスより低い周波数において変わる。このようなプロセスは、状態ビットの数(m)に合わせて周波数帯域に分離されると見なされるが、高周波帯域は、システムに対する短期高解像データを呈する、より頻繁に変わる個別の1次元プロセスa、b、c、..、を含み、低周波帯域は、次元増加(ab、abc、abcd)プロセスで表される長期対称とグローバル発展に対応する。
【0009】
パーセバルの恒等式によれば、周波数帯域が代数の式に前記当し、このような式は相互作用の集合に前記当する。この座標系のフーリエ分解は、このような周波数帯域の交差和を実行することであると言える。座標系での個別のプロセスの変化の周波数に対するこのような交差和フーリエ帯域の関係を感覚のフィーリングまたは経験と知覚の間の関係、例えば、個人の網膜細胞により検知された赤色の経験の和と光周波数の間の関係に分析できる。
【0010】
空間的計算Sは以下のような6つの特性を有する。
【0011】
1.空間的計算は分散的であり、これは、一つ以上のプロセスからなる同期的であり且つ独立的であるものの、相互作用する大量のエンティティからなる全体システムが、中央統制がほぼ/全く行われない一貫したグローバル挙動を示すことを意味する。分散システムをデザインし構築する方法のための正確な技術的基準は規定し難いことが立証されており、前記問題を本発明が解決する。
【0012】
2.空間的計算は自己組織的であり、これは、空間的計算を含む周辺環境(「周辺」という)から与えられた幾つかの方法と必要な入力と関連して、空間的計算の成分が時間の経過に伴ってこのような入力を安定した形態で周辺と相互作用する個別ユニットの一貫的エンティティ(すなわち、他のエンティティ、個別のプロセスまたはこれらの組み合わせ)で組み立てるという意味である。自己組織的計算をデザインする方法は、本発明が指向する現在の関心の研究分野である。
【0013】
3.空間的計算は階層的であり、これは、自己組織的なものが初期ユニットの組み合わせ−このような組み合わせの組み合わせ−を示す新しい個別ユニットの創造を含み、このような新しいユニットが自己組織的方法に属することを意味する。階層は、汎用的であり、概念的複雑性を統制することが立証され、当分野でプログラミング言語から通信プロトコルのデータベースまでその用途が発見された技術的ツールである。
【0014】
4.空間的計算はチューリング制限的なものではなく、これは、(並列を含む)順次計算に制限された普遍的なチューリングマシンで実際の空間的計算をシミュレーションできないことを意味する。これを容易に理解できるように示すのがコインデモンストレーションである。チューリング理論は全ての計算が基本的に順次的であることを示すため、本明細書ではこれに反論する。
【0015】
5.空間的計算は、周辺に連結されることなく周辺と相互作用をしなければ成長できないので無意味である。恐らく真の意味を探す計算であるπ値を計算する順次計算とは対照的に、この世界は完璧である。
【0016】
6.空間的計算は、放送/リッスン(listen)コミュニケーション規律を利用する。すなわち、空間的計算は、自己の状態を放送し、他の放送状態を聞く(反応する)。これは、そうでなければ、要請/応答規律が基本的に文字に関数的であるためであり、y=f(x)であるためであるが、これは、fがxにおいて作用し、その結果に応答しろという要請であるためである。しかし、一人のyは他人のxであるため、z=g(y)も可能である。しかし、この時、g(y)=g(f(x))であり、zを求めようとすれば、fを先に求めた後にgを求めなければならず、これは、基本的に順次的で且つ時間型である。現在のコンピュータシステムはこのように組織されている。その反面、空間的計算は、順次的プロセスのステップをその都度組み立て、これについては後述することにする。現代の技術は、y=f(x)(すなわち、順次的)組織パラダイムに合わないため、大部分は放送/リッスン(listen)プロトコルを無視する。
【0017】
以下のコインデモンストレーションが基本的原理を示す。
【0018】
アクトI.一人の男が両手を後ろにし、貴方の前に立っている。この男は、コインを握った手を貴方に見せた後、その手を自分の後ろに隠す。少し後、この男は同じコインに見られるものを握っている同じ手を貴方に見せた後、再びその手を後ろに隠し、「私は何個のコインを持っていますか?」と尋ねる。
【0019】
この時点での最適な答えは「1個以上」であり、これは、一つの情報と、二つの可能であるものの互いに排他的な状態である状態1=「1個のコイン」と状態2=「1個以上のコイン」を探していることを暗示する。
【0020】
決定すべきことは、1個のコインであれば、Xをするか、さもなければYをし、正確に一つの情報により答えを求めることができる。言い換えれば、このような決定ができる時、この事実のために一つの情報を受けたものである。
【0021】
アクトII.さて、この男が手を出し、2個の同じコインを握っている。
【0022】
2個のコインは全ての面で先に見せたコインと同じものであるとし、我々は今はコインが2個であることを知っているところ、すなわち、一つの情報を受け、曖昧性を解決し、今はドラマチックなピークに達した。
【0023】
アクトIII.この男が「この情報はどこから来ましたか?」と尋ねる。
【0024】
この情報は、2個のコインの同時存在(同時発生)に起因し、各々の状態が各々のコインである2個のプロセスが前記状態にある時には、互いの存在を排除しないという観察された事実を暗号化する。また、このような状態は同時的で且つ独立的であるため、時間の観点では区分することができない。
【0025】
したがって、順次に取得できない環境に関する情報があり、そのため、チューリングマシンで真の同時性をシミュレーションすることができない。プロセスaの与えられた状態がプロセスbの与えられた状態と同時に存在することができるか、またはこれらが互いの存在を排除することができるか?これは、根本的な区分である。より公式には、当然a+a’=0であり、b+b’=0(’=not=マイナス)に書くことができ、これは、(プロセス状態)aが(プロセス状態)a’を排除し、(プロセス状態)bが(プロセス状態)b’を排除することを意味する。同時存在はこのような2個の式を合わせてキャプチャーすることができ、その結果を示す二つの方法として、一番目は、
(a+b’)+(a’+b)=0 である。
【0026】
これは、一般的な排中律(excluded middle)として、AでもなければBでもないという意味である。このような原理を本発明に適用することができ、既存の1/0や1/1’の区分を暗号化することができる。二番目は、
(a+b)+(a’+b’)=0 である。
【0027】
これは、2個の重ね合わせ状態として、両方であるかまたはどちらでもない。すなわち、技術的に一次元プロセスとしてのa/a’とb/b’の重ね合わせがなく、かえってこれらは排除区分である。一番目の重ね合わせは、区分排除対同時発生を経て、プロセスの二番目のレベル(すなわち、ab)に現れる。
【0028】
コインデモンストレーションによれば、存在それ自身によりa+bのような2個の同時発生が一つの情報を有していることを示す。同時発生関係は、その特性上、構造的であるかまたは空間的である。(時間的情報とは反対の)このような空間的情報が、結局には(全ての2−ベクトルのような)フーリエバンドの構造と内容を形成する。前述したように、m−ベクトルの集合である{xy}、{xyz}、{wxyz}、...は、連続的にシステム境界x+y+z+...、において同時フラックス(flux)の下位意味として、安定的で準安定的なプロセスの階層へのフラックスの同時的な構造的で基本的な分解成分を形成する。
【0029】
アクトIV.この男が両手を前に出し、片手は空いているが、他手にはコインがある。手を握って後ろに隠してから手の甲を再び前に出し、コインが入った手が変わったのを見せながら「どんなことが起こったのでしょうか?」と尋ねる。
【0030】
ここで、2個の同時排除プロセスa、bに同時排除推論を適用して、aがa’を排除し、bがb’を排除すれば、(a+b’)が(a’+b)を排除するとする(または、a+bがa’+b’を排除)。同時排除推論の結論は、よってabが存在するということである。その理由は、我々は2個の1ビット状態プロセスa、bを1個の2ビット状態プロセスabに論理的に代替でき、これは、プロセスにおいてカウントするのは状態大きさでなく順次性であり、誕生順(ここでは、2個の相補的な状態間の交代の形態)は排除するためである。すなわち、2個の同時排除(a+b’)│(a’+b)と(a+b)│(a’+b’)の存在がabを暗号化するのに十分な情報を示し、そのため、論理的で計算的に言ってabを正当に例に挙げて説明することができる。
【0031】
δ(a+b’)=ab=−δ(a’+b)、δ(a+b)=ab=−δ(a’+b’)とし、δは(微積分学の積分に類似した)コバウンダリ作用素(co−boundary operator)という。微分法は、反対に∂(ab)=a+bである。完全に実現されたabは2個の共役の同時排除値からなり、サイン/コサイン形態の関係をなす。より高い等級の作用素abc、abcd、...も同様に構成される。δ(ab+c)=abc、δ(ab+cd)=abcdなど。これが本発明の自己組織的方法の核心である。
【0032】
さて、「どんなことが起こったのでしょうか?」という質問に、「コインが入った手が変わった時、システムの状態が180度回転してab(a+b’)ba=a’+b」と答えることができる。1ビットの情報(「起こったこと」)が2個の互いに排他的な状態の交代からできたことが分かる。転移δ(a+b)=abは、基本的な知覚行動が一番目の知覚を呼び、次いでメタ知覚(meta−perception)が誘導されることを示す。
【0033】
以上で説明したシステムおよび方法がコンピュータ機器での空間的計算を実現し、この計算のプロセスは同時排除に基づくので前述した意味を有する。
【発明の概要】
【発明が解決しようとする課題】
【0034】
本発明は、空間的計算を実現するために、コンピュータ装置を含むコンピュータ環境を構成するシステムおよび方法を提供する。
【課題を解決するための手段】
【0035】
本発明のコンピュータ装置は、同時スレッド(concurrent threads)中の残りに属する状態の発生、同時発生または排除に基づいて各々活性化される複数の同時スレッドを用いて空間的計算を実現する。この装置は、複数の同時スレッド(concurrent threads)を用いて空間的計算を実現し、各々の同時スレッドが残りの同時スレッドに属する状態の発生、同時発生または排除に基づいて活性化されるコンピュータ装置である。この装置は、周辺の現象を検知する複数の2状態センサであって、このような2状態センサの周辺にファイル構造のレコード空間であるタプル空間が含まれ、検知された現象がタプル空間に存在するか否かを示す二値信号を生産する複数の2状態センサ、周辺に対して影響を及ぼし、各々のエフェクターに対して複数のセンサのうち少なくとも一つが周辺に対するエフェクターの影響を検知する一つ以上のエフェクター、および各々外部状態とレベルと等級を有する複数のアクションであって、複数のアクション各々が2個の同時スレッドの同時排除を実行する複数のアクションを含む。このような外部状態は少なくとも部分的に前記センサの状態によって決定され、アクションのレベルは階層内で前記アクションが実行できる同時排除数を示し、アクションの等級は前記アクションの外部状態を決定するために用いられるセンサ数を示し、複数のアクションが階層に配列され、複数のアクション各々が階層内のノードである。
【0036】
このコンピュータ装置は、階層の一つ以上のレベルにおいて、複数のアクションのうち2個のアクション間の同時排除を検知し、このような同時排除をイベントウィンドウ
のインスタンスを生成したCormに戻すように構成された少なくとも一つのイベントウィンドウ
のインスタンスを生成するように構成された一つ以上のCormをさらに含む。また、このようなCormは、少なくとも一つのイベントウィンドウのうちの一つから複数のアクションのうち一番目のアクションと二番目のアクションの同時排除を受け、一番目のアクションと二番目のアクションのノードを新しいアクションのノードの子ノードとして連結する動作と、新しいアクションの外部状態を一番目と二番目のアクションの外部状態に合わせて設定する動作、および新しいアクションの等級を一番目と二番目のアクションの等級に基づいて新しいアクションの等級を設定する動作により、複数のアクションに新しいアクション
のインスタンスを生成する一つ以上のCormをさらに含むように構成されてもよい。各々のCormは、一番目のアクションが二番目のアクションといかなるセンサも共有しない場合のみに新しいアクション
のインスタンスを生成するように構成されてもよい。新しいアクション
のインスタンスを生成するCormは、新しいアクションが階層の一つ以上のトップノードのうちの一つであることを示すタプルを放出し、前記トップノードはその他のノードの子ノードでないノードであり、新しいノードの子ノードのうちの一つがトップノードのうちの一つであることを示す全てのタプルを除去してもよい。このように新しいアクション
のインスタンスを生成するCormが一番目のアクションと二番目のアクションの等級に基づいて新しいアクションの等級を以下のように設定し、一番目と二番目のアクションが他の組み合わせを有すれば新しいアクション
のインスタンスを生成しなくてもよいところ、一番目のアクションが0等級を有し二番目のアクションが1等級を有する時、Cormが1等級の新しいアクション
のインスタンスを生成し、一番目のアクションが1等級を有し二番目のアクションが1等級を有する時、Cormが2等級の新しいアクション
のインスタンスを生成し、一番目のアクションが1等級を有し二番目のアクションが2等級を有する時、Cormが3等級の新しいアクション
のインスタンスを生成し、一番目のアクションが2等級を有し二番目のアクションが2等級を有する時、Cormが1等級の新しいアクション
のインスタンスを生成し、一番目のアクションが2等級を有し二番目のアクションが3等級を有する時、Cormが1等級の新しいアクション
のインスタンスを生成し、一番目のアクションが3等級を有し二番目のアクションが3等級を有する時、Cormが2等級の新しいアクション
のインスタンスを生成する。
【0037】
階層のボトムレベル(bottom level)が一つ以上のセンサと一つ以上のエフェクターのうちの一方または両方を含んでもよい。複数のアクションが一つ以上の目標を実行するように階層に配列され、前記目標は周辺の一つ以上のインパルスに基づいて現在状態から目標状態に空間的計算を変調し、複数のアクションが、階層を通じて、各々のインパルスは上向き伝播し、各々の目標は下向き伝播し、複数のアクションのうちの一つ以上はエフェクターのうちの一つ以上が周辺に対して前記当影響を及ぼすようにしてもよい。コンピュータ装置がセンサ対とアクション対との間の同時排除を用いて複数のアクションを周辺に反応する一つ以上の服属アーキテクチャに自動で自己組織をしてもよい。
【0038】
各々のインパルスが複数のセンサのうち受信センサの状態の反転として周辺から空間的計算に導入され、複数のアクションが一つ以上のインパルスの導入時に外部状態を以下のようにアップデートすることができるところ、複数のセンサの一つ以上の状態を階層のボトムレベルからボトムレベルより高い少なくとも一つのレベルに上向き伝送するバブルアップ(bubble up)プロセスを実行し、このようなバブルアッププロセスは各々のインパルスの跡を創造し、このような跡は複数のセンサの状態を上向き伝送する間外部状態をアップデートしたアクションを含み、バブルアッププロセスの跡を逆追跡して、ボトムレベルより高い階層のレベルから一つ以上のアクションまで一つ以上の下位目標を下向き伝送するトリクルダウン(trickle down)プロセスを実行し、このような一つ以上のアクションによって一つ以上のエフェクターが対応の下位目標によって確認される効果を出し、前記一つ以上の下位目標が集まって目標を形成する。
【0039】
また、階層のノードは、親ノード、親ノードに対する子ノード、および親ノードでありながら子ノードではないトップノードを含み、各々のアクションと関連したスレッドが一番目〜三番目の集合を含む複数の集合に配列されてもよい。一番目の集合は、複数のアクションのうちの一つ以上のオリジネーティングアクション(originating action)や一つ以上のセンサにおいて起こる変化を検知し、前記変化に合わせてアクションの外部状態をアップデートし、アクションのノードが子ノードであれば、このような変化を前記ノードの親ノードのアクションに上向き伝送してバブルアッププロセスを実行するスレッドを含み、前記オリジネーティングアクションは、アクションより低い階層レベルにあり、複数のアクションのうち一番目のアクションであるので受信センサの状態の反転を検知してもよい。二番目の集合は分散バックチェイニング(distributed back−chaining)プロセスを実行するスレッドを含み、分散バックチェイニングプロセスでは、アクションがグラウンドにならない場合、オリジネーティングアクションからグラウンドになりつつオリジネーティングアクションと同じレベルを有するアクションにポテンシャルコーザルリンク(potential causal link)のツリーを追加し、前記ツリーは複数のアクションのうち他のアクションに対する0、1またはそれ以上のリンクを含み、前記他のアクションはグラウンドにならずにオリジネーティングアクションと同じレベルを有してもよい。三番目の集合は、アクションがグラウンドになった場合、前記アクションより上位の階層レベルのうちの一つから前記アクションを識別する下位目標のうち一番目の下位目標を検知し、前記一番目の下位目標を二番目および三番目の下位目標に分割し、二番目の下位目標は子ノードのうちの一つに、三番目の下位目標は子ノードのうち残りのノードに送り、前記アクションにリンクしつつ、前記アクションの実行を待っている全てのチェーンの実行を着手させてトリクルダウンプロセスを実行するスレッドを含んでもよい。同時排除のうちの一つ以上が周辺の要素に関連し、インパルスが前記要素に関連する時、オリジネーティングアクションが前記要素の同時排除に属するスレッドを含み、この時、オリジネーティングアクションがバブルアッププロセスを開始してもよい。
【0040】
空間的計算の目標状態が垂直特徴と水平特徴の交差点において空間的計算の現在状態に連結され、垂直特徴はバブルアッププロセスおよびトリクルダウンプロセスを含み、水平特徴はバックチェイニングプロセスによって決定されてもよい。水平特徴が階層のレベルのうちの一つに対応してもよい。
【0041】
分散バックチェイニングプロセスにおいて、複数のセンサのうち一番目のセンサと一番目のインパルスの受信センサを含みつつ、一番目の子ノードに一番目のインパルスの受信センサを有する一番目の同時排除を含み、グラウンドにならない一番目のアクションが二番目のスレッド集合を用いて一番目の新しいインパルスを発行し、一番目の新しいインパルスは一番目のセンサを一番目の新しいインパルスの受信センサに識別し、一番目のアクションと同じレベルを有し一番目のセンサと二番目のセンサを含む同時排除のうち二番目の同時排除を含むアクションのうち二番目のアクションが前記一番目のインパルスを検知し、前記一番目のアクションをリンクさせてツリーに追加し、二番目のアクションがグラウンドになっていないのであれば二番目のスレッド集合を用いて二番目の新しいインパルスを発行し、二番目の新しいインパルスは二番目のセンサを二番目の新しいセンサの受信センサに識別し、分散バックチェイニングプロセスは最も最近の新しいインパルスがグラウンドになったアクションによって検知されるまで複数のアクションのうち残りのアクションを用いて二番目のアクションのステップを繰り返してもよい。分散バックチェイニングプロセスが複数のアクションのうち二つの間のコーザルリンクの複数の逆方向チェーンを生成し、複数の逆方向チェーンがツリーを形成し、逆方向チェーンに必要な一つ以上の従来の下位目標状態が逆方向チェーンのアクションより上位レベルを有し、グラウンドになったアクションによって発行されるまで逆方向チェーン各々の実行が停止されてもよい。一番目のアクションのノードがトップノードではない時、一番目のアクションが階層の次の上位レベルのアクションのための分散バックチェイニングプロセスを引き起こすインパルスを発行してバブルアッププロセスを実行し、トップノードでないノードを有するアクション各々が、一つ以上のインパルスを一つ以上の目標に変換した後、一つ以上の目標をアクションの子ノードに伝送してトリクルダウンプロセスを実行してもよい。これについては添付のTLindaコードを参照する。
【0042】
空間的計算がファクトであり、コンピュータ装置がユーザからのファクトの要請に応答してリコール演算をさらに実施し、このようなリコール演算をする時、コンピュータ装置が専用イベントウィンドウ
のインスタンスを生成し、前記専用イベントウィンドウは前記ファクトを含み、コンピュータ装置が前記インパルスのうちの一つとしてリコールインパルスを生成し、前記リコールインパルスはバブルアッププロセスが一番目のアクションのうちの一つ以上をグラウンドする一つ以上の関連のインジケータを生成するように目標状態を設定してもよい。空間的計算が専用イベントウィンドウを用いてファクトのリコールに関連した一つ以上の新しい下位目標を挿入する新しいプロセスを求めてもよい。
【0043】
空間的計算が仮想世界での人間ユーザを表すアバター構造を実現し、このような空間的計算において、複数のアクションがアバター構造を実現しつつ、システムデザイナーによって空間的計算に供給される複数のシステム供給アクションを含み、複数のシステム供給アクションに含まれるセンサとエフェクターがアバター構造が動作する仮想世界に対するインターフェースを含み、一つ以上のインパルスがユーザによって空間的計算に送られ、前記アバター構造がユーザの公共/個人のアイデンティティに固定されてもよい。
【0044】
コンピュータ装置が閉サイクルにおいてデッドロック(dead lock)やライブロック(live lock)にロックされる一連のプロセスを表わす空間的計算のパターンを検知し、このようなサイクルに参加するアクションを識別し、参加するアクションが動作する下位目標とインパルスを一時除去してサイクルを緩和させ、除去された下位目標とインパルスを所定期間の後に再設定するように構成されてもよい。
【0045】
複数のアクションの各々は、空間的計算には知られており周辺には知られていない名前を有してもよい。各々のアクションは、やはりアクションである2個の子ノードをさらに有してもよく、各々のアクションの名前は、子ノードの名前がアクションの名前から誘導されないようにアクションの子ノードの名前から誘導されてもよい。タプル空間内での各々のタプルが一つ以上のセキュリティビットを含み、セキュリティビットは前記タプルやタプルのフィールドが非結合フィールドと一致しないように設定されてもよい。
【発明を実施するための形態】
【0047】
本発明のシステムおよび方法は、情報を生成する可逆的で自己組織的な階層的空間的計算をコンピュータが可逆的に行う
ことができるようにするコンピュータリーダブルコードを用いる。このコードは、分散計算を規定する非一時性のコンピュータリーダブル格納媒体から実行されることができる。このシステムおよび方法が設定した環境は1台のコンピュータ装置で実現されるが、コンピュータ装置ネットワークに分散した時にその潜在力を最大化することができる。
【0048】
TLinda Coordination Language
空間的計算は、協調言語を用いて規定することが最も易しい。協調言語は、スレッドと呼ばれると同時に、動作するプロセスの相互作用を調律する手続き的または制御流れ的な言語である。そのため、協調言語は算術的な計算機能がなく、条件付き構造(例えば、条件式)とループ構造(例えば、反復的なループ)のような一般的な制御流れロジックを維持しスレッドを調律する他の制御流れ演算を含むことができる。
【0049】
他の協調言語とモデルを用いることもできるが、既存のLinda言語から誘導された言語であるTLindaを用いた協調言語を用い、この言語はグローバルタプル空間TSを想定し、この空間はスレッドのうちの一つによって発行されるタプルT=[field1、field2、...]に4個の作業をする。四つの標準Linda作業がOut(T)、Rd(T)、In(T)、Eval(T)である。
【0050】
−Out(T)はTSに存在するTを作る。
【0051】
−Rd(T)は先ずTの形態をTSのタプルに一致させるが、Tの形態がTSに存在する他のタプルの形態と一致すれば、Rd(T)はTの変数を一致する対応フィールドに結合し(すなわち、Tの変数が一致するタプル内で対応フィールドの値を受ける)、Tの発行スレッドを進行させることができ、そうでなければ、Rd(T)がTに一致するタプルがTSに現れるまで発行スレッドを遮断する。
【0052】
−In(T)はRd(T)と同じであるが、相互排除下、TSからTを無くしたりもする。そのため、必要時に同期トークンを作ることができ、この時、In(T)を用いてTのコピー(すなわち、トークン)が誤って作られるのを防止する。一方、各々のスレッドは割り当てられたまま残っているそれ自身のタプルを管理し、全ての割り当てられたタプルの存在カウンター(ユーザには見えず、In(T)によってインクリメントされ、Out(T)によってデクリメントされるが、0より小さくはない)はその有用性を表わす(すなわち、存在カウンターが0より大きければTSにタプルが存在)。
【0053】
−Eval(T)はTLindaコードを示すタプルTに規定された新しくて独立的なスレッドを創造する。Eval(T)は、発行スレッドを中断もせず、値を発行スレッド(または他の全てのスレッド)に戻すことを約束することもない。
【0054】
このような既存のLinda演算に、TLindaはCo(U、...、V)、NotCo(U、...、V)、AntiRd(U、...、V)およびAntiNotCo(U、...、V)を加える。このような演算は、下記の表1に合わせてTS内のタプルU、...、Vの同時発生やその不足に対するテストをして遮断(すなわち、一つ以上のスレッドを待機)する(表において「ALL」は演算で規定された全てのタプルを意味する)。このような演算の各々は「one−shot」下バージョンであるCop、NotCop、AntiRdp、AntiCop、AntiNotCopを有し、これらは(可能であればスレッド遮断なしに)演算を実行しTrue/False表示を戻す。
【0056】
したがって、全体計算スタイルはTSを含む周辺内の(現在スレッド状態を表す)タプル間の完全に同時性である関連マッチングから誘導され、タプル演算自体の内在的な同期化特性(すなわち、スレッド遮断)と結合される。
【0057】
空間的計算成分
本発明のシステムおよび方法は、TLindaのコーディネーティング原理を用いてTSや周辺に現れる種々のオブジェクトを構成する。空間的計算の成分であってもよい、このようなオブジェクトにはタプル、同時排除物、スレッド、インパルス、目標、センサ、メタセンサ、エフェクター、メタエフェクター、アクション、イベントウィンドウおよびCormsがあるが、これらに限定されるものではない。このようなオブジェクトは、以下のように定義される(添付のTLinda code Appendixを参照)。
【0058】
スレッドは、「軽量」プロセスであり、自体の状態が最小である小規模の順次的計算である。TLindaでのスレッドは、指向オブジェクトや他のハイレベルプログラミングでのnon−value−returningサブルーチンと類似しており、主にタプル空間を伴う演算からなる。多重関連スレッドの(例えば、後述するアクションでの)活動は、primitives RD、Inなどの遮断性質を通じて調律される。したがって、還元主義の観点で階層はスレッドからなる。
【0059】
センサは、周辺環境内の特定現象を検知するかまたは検知しないシングルスレッドTLindaオブジェクトであって、その結果をタプル空間に仲介する。センサが二つの状態を有しており、検知結果を二値信号に翻訳することもできる。本明細書では、2−状態例を仮定する。一例として、+1はセンサが検知したものがTSに現在存在することを、−1は検知したものが現在TSにないことを示す。センサの0値はエラーや例外を示す。このようなZ
3={0、1、2}={0、1、−1}ナンバーシステムはZ
nや実数Rにも一般化できるが、数学的な取り扱い容易性を犠牲にしたものである。一方、センサが2以上の状態を有することもできる(例えば、電磁気場を検知するスピノル)。
【0060】
エフェクターは、計算が環境に影響を及ぼすようにするものであり、(1)エフェクターの効果を引き起こす出力命令語(例えば、プログラムコードにおいてpassed variablesがあるかまたは無しに周辺機器の動作を引き起こす関数呼び出し)と(2)周辺に対するエフェクターの効果を探知するセンサ(すなわち、エフェクターセンサ)の観点で定義されるが、エフェクターセンサはその効果に反応して自身の状態をスイッチングする。より複雑なエフェクターもこのような見本を用いて容易に定義することができる。
【0061】
空間的計算において、センサがエフェクターより遥かに多いこともあり、これは、学習できる情報量を決定するのがセンサの個数nであり、(原則的に)エフェクターは情報を消費するためである。
【0062】
アクションは、2個以上の互いに異なるエンティティ(例えば、プロセス、センサ、他のアクション)の同時排除を規定し制御し表すオブジェクトであり、全てのアクションには名前、外部状態、レベル、等級、その他のカテゴリー情報が付けられる。外部状態は値であって、2−状態の場合、2個の「スピン」(すなわち、スカラー)値1と−1のうちの一つである。アクションのレベルは、階層的にその下にある同時排除数を基礎にする。アクションの等級は、アクションの外部状態を決定するセンサ数を示す整数として、{1、2、3}のうちの一つであり、例えば、1−ベクトルaは1等級、2−ベクトルabは2等級などである。1や−1のようなスカラー数は0等級であり、3より高い等級は提示された例では存在しない。アクションが発する条件が周辺で現在満たされる時、アクションはグラウンドになる。
【0063】
カテゴリー情報は、アクションの与えられた同値類(equivalence class)の数としてアクションを識別することができる。このような同値類の例として、「all Actions with grade 2 mod 4」や「all Actions with [level、grade]=[12、3]」がある。このような同値類は、前述したように、Parseval’s Identityに応じた数個の周波数帯域と対応する。全てのこのような同値類は、外部状態(スピン)が構成成分の性質、例えば、Z
3アルゴリズムでのスピンの和のような性質によって決定されるシングルアクションで表されることができる。
【0064】
アクションは、メタセンサ部分とメトエフェクター部分の二つの要部を有し、各々、数個のスレッドを有する(添付のMetaSensor、MetaEffector threadsを参照)。アクションのメタセンサ部分のスレッドは、アクションの名前、外部状態、レベル、等級などを一つ以上のタプルに暗号化することができる。メタセンサ部分の残りのスレッドは、各々が他のアクションのセンサやメタセンサの状態をモニターするのでメタセンサともいう。したがって、メタセンサは、アクションのセンサリスト、すなわち、アクションにより直接的に他のアクションの一つ以上のメタセンサを介してモニターされる全てのセンサのリストを示す。
【0065】
このようなメタセンサはボトムレベルセンサからの情報を後述する階層に上げるが(「バブルアップ」)、このようなメタセンサは階層内の上位アクションの他のメタセンサによってモニターされ、したがって、アクションの子エンティティがその外部状態を変化させ、このような変化はこのアクションを通じてアクションの親エンティティに伝播される。このためにTLindaコードは非常に簡単である(添付を参照)。
【0066】
同様に、高レベルアクションの情報はメタエフェクターにより階層において最低プリミティブエフェクターレベルまで下へ伝播されるが「トリクルダウン」)、関連のエフェクターが環境に直接影響を及ぼす。
【0067】
イベントウィンドウ(EW)は、アクション(m−ベクトル、m≧2)に変わるタプル中の同時排除を効果的に探すためのオブジェクトである。WEの作動原理は米国特許第5,864,785号に紹介されている。EWはアクションのような或るm−ベクトルが一致する一つ以上の一致基準を含むが、このようなm−ベクトルのうちの一つ以上はEWに「含まれる」とすることができる。m−ベクトルが自体的にEWのフォーカス主題であることができることを認識すれば、空間的計算の自己組織的成分を提供する。EWは固定サンプリングインターバルΔTを有するが、EWが最小サンプリングインターバル、最大サンプリングインターバルまたはその両方を有することもできる。したがって、EWは、最小時間インターバルおよび/または最大時間インターバルだけ発生するイベントを登録するように構成されることができる。
【0068】
空間的計算は最も階層的であり、このような階層は離散レベルに配列されたノードで構成され、各レベルの少なくとも一つのノードは(最上位レベルを除いた)上位レベルのノードに連結され、各レベルの少なくとも一つのレベルは下位レベルのノードに連結される。最下位レベル(レベル1)のノードは周辺を検知するセンサ(スレッド)が占拠しており、数学的に1−ベクトルで表される。階層の残りのレベルは、イベントウィンドウメカニズムを通じて
インスタンスを生成されて発見されたアクションから形成される(Cormsを参照)。したがって、全ての後続レベル(レベル2以上)は、構成成分のため、m−ベクトルを示す(m>1)。アクションは1−ベクトルの組み合わせである。アクションのレベルは階層内での自体レベルであるが、階層のレベルが必ずしもmに対応する必要はなく、そのレベルのアクションで表された1−ベクトルの数に対応する必要もない。したがって、例えば、レベル2のアクションは2個や3個の1−ベクトルの組み合わせであってもよい。2個の要素のアクションから形成された新しいアクションは構成アクションから1レベル上に動き、新しいアクションのノードは構成アクションである子ノードの親ノードである。
【0069】
CormはEW
のインスタンスを生成するオブジェクトであって、今後、前述したように同時排除を探してCormに戻して計算の成長を引き継ぐ。受信Cormは、同時排除内のエンティティの特性から新しいアクションを創造(
インスタンスを生成)とする。Cormは、階層の単一レベルや多重レベルに縛られて、アクション
のインスタンスを生成する。簡単なCormは、一つのEWのみ
インスタンスを生成して、例えば、そのレベルの全てのアクションを生成することができる。より複雑なCormは、特定アクションや後述するタプルに一致する専用EWを含めて多重EW
のインスタンスを生成することができる。Cormは新しいCorm
のインスタンスを生成するように構成され、それ自身も再
インスタンスを生成してアクションの階層を容易に構築することができる。特に、新しいアクションの形成が新しいレベルが生じるものであると見ると、現在レベルのCormがこのような新しいレベルの新しいCormを生成することができる。Cormは新しいアクションの等級を計算することを担当して、表2に関連して後述するクリフォード−最適化計算を利用できるという点で有利である。
【0070】
アクションは目標を実行するために存在し、目標は成功された時に一つ以上のエフェクターの成功的な作動を誘発し、エフェクターは目標の意図を周辺環境に伝播する。目標はインパルスから発生し、インパルスは(現在目的のために)周辺に起因し、センサが検知するように構成される周辺の現象を含む。インパルスは階層のあるレベルにおいて空間的計算に誘導されたタプルであり、このレベルを階層の自己類似性のために現在の目的のための「ボトム」レベルといえる。このような「誘導」は、センサXの値の現在状態から反対状態への単純な反転を要求する。インパルスを受けるセンサX、すなわち、インパルス−タプルの存在を検知するセンサXは受信センサである。インパルスと目標を表わすために、代数的測定形態(±1+X)、│X│=1またはインパルスのためのTLindaタプルエンコーディング[↑、X、NotX]と目標のための[!、X、NotX]を用いることができるが、どの場合にもXはセンサやメタセンサである。
【0071】
後ほど説明するように、受信センサの状態の反転は、センサリストの受信センサを備えたアクションの外部状態を変化させる。受信センサを直接モニターする(すなわち、このセンサを含み、受信センサ上位階層の最下レベルにある)アクションは、受信センサの状態の反転を探知する一番目のアクションであり、このセンサの状態変化をグラウンドになったアクションに伝播することを担当する。このような一番目の受信アクションを以下ではオリジネーティングアクション(originating action)という。
【0072】
原始機能(Primitive Functionalities)
時間的計算とは異なり、空間的計算はほぼ/全く算術的ではないが、ある程度の算術的計算は必須である。TLindaを含むように拡張したり、空間的計算によりシミュレーションしたりすることもできる。例えば、空間的計算は2進数10011を1→+と0→−マッピングを通じてバイナリ階層+abcde−abcd−abc+ab+aにマッピングすることができる。各種の算術的計算に対する要求に応答する特殊目的のアクションを定義することもできる。
【0073】
同時排除とアクションを発生とおりに記録することができ、このような記録は与えられた空間的計算を復旧したり複製したりする手段の役割をする。しかし、量子力学の複製不可論によれば、復旧/複製された計算は、最近のアイテムが記録された時間での特定の内部状態を保存しなければならないため、必ず本来の計算とは異ならなければならない。したがって、このような「ダンプ(dump)」計算は、複製されている空間的計算外でなされなければならない。格納過程は、持続的な記録と、所望の時にコンピュータ装置のメモリやストレージのようなダンプの2段階からなる。復旧作業は、このようなダンプを用いて中断された計算の構造と状態を再設定する。
【0074】
Cormでイベントウィンドウの最適化
本発明者の以前の作業によれば、原則的にTS内の全てのタプルはアクションを形成するように同時排除されることができ、このようなアクションはイベントウィンドウが効果的にすることである(すなわち、δは新しいアクションの
インスタンスの生成のために同時排除を発見し、それをCormに戻す)。大型システムの効率的なハードウェアとソフトウェアを用いて、どのタプルが集中するのに最適であるかを決定するためにこのような汎用性を最適化する。
【0075】
TLindaの逆演算により実行できる単純ではあるが重要な最適化によれば、新しく形成されたアクションの外部状態の2個の逆スピン値が自体的には同時排除されず、これは、それが不必要であるためである。また、アクション
のインスタンスを生成する時(すなわち、δを実現する時)、アクションの子ノードB1、B2のアクションがセンサs
xを全く共有しないようにする。すなわち、B1∩B2=0とする。これは、
インスタンスの生成時間にアクションに関連したセンサリスト内のアクションの各々の構成センサs
iを記録して効率的に達成される。したがって、どのレベルにおいても、アクションのセンサリストは、このアクションを実際に構成する全てのセンサの名前を含む。ボトムレベルにあるセンサは子ノードを有しない。子ノードB1、B2のアクションがセンサリストを所有するため、その交差点も容易に計算される。B1∩B2≠0であれば、どのアクションも
インスタンスを生成されない。これは、エラーではなく、意味論的に認められない組み合わせに過ぎず、これはアクションの有効レベルと等級を誤って述べるためである。
【0076】
アクション
のインスタンスを生成する時、このアクションがトップノードを占拠して親がないことを示すタプルも放出しなさい。その補充として、アクションの子ノードをトップノードとして表わす全てのタプルを除去しなさい。
【0077】
また、アクション
のインスタンスを生成する時、既存のノードを新しいアクションのノードと連携して行う階層の創造は、新しいアクションの外部状態を2個のスピン値の間に数回前後にトグルして加速化されることができる。このようなトグリング(toggling)により、新しいアクションはそれと一致する一致基準を有する(創造されるイベントウィンドウ以外の)他のイベントウィンドウに登録される。これに合わせて、イベントウィンドウのカスケードが階層を通じて上昇して、環境が同一な一致性を供給する場合よりさらに速く階層が完成される。
【0078】
n等級のアクションは、2
n−1個別の同時排除を表す。これは、原則的に与えられたアクションの2
n−1個の割り当てられて実行するインスタンスが存在できることを意味する。このようなインスタンスは、相互排除プロトコルに関与して一つのインスタンスだけ与えられた文脈に作用するようにする。一番目の結果は浪費的であり、二番目の結果は複雑である。このような結果を全て避ける他の最適な方法として、アクションが全ての2
n−1代案を一つのスレッドに規定/制御するように構成することができ、このようなスレッドの順次性は所望の相互排除を自動で出せる愉快な副作用を有する。このシステムは、場合によっては、一番目のイベントウィンドウヒットにおいて、またはイベントウィンドウが明確にプロンプトをヒットする時にのみ、全ての2
n−1インスタンス
のインスタンスを生成することができる。
【0079】
安定した演算と取り扱いし易い数学的意味論の両方を(公式的な機能立証をする)保障する他の最適化方法においては、Cormが新しいアクションの等級を変調し、このアクションは基本的に同時排除されるアクションの等級の和である。Cormベースの実施例において、新しい等級は前述した集合{0、1、2、3}に下降変調されることができ、この時、イベントウィンドウを採択して同時排除を以下のように検知して戻す(注;EW(p、q)、ここで、p、q>0、前記当アクションの名前とスピンがイベントウィンドウの一致基準に属して新しいアクションを形成するように同時排除される2個のベクトル等級)。
【0080】
EW(1、1)は、等級1mod4を有するエンティティを同時排除し、等級1+1=2mod4を有するアクションを生成する。例えば、δ(a、b)→ab、=等級2。
【0081】
EW(1、2)は、等級1mod4と2mod4を有するエンティティを同時排除する。例えば、δ(a+bc)→abc、=等級3。
【0082】
EW(2、2)は、等級2mod4を有するエンティティを同時排除する。例えば、δ(ab+cd)→abcd、=等級4。abcdのsign/orientation(概念的に新しい)1−ベクトルである等級1にマッピングする。このような1−ベクトルはabcdの代わりをする。
【0083】
EW(2、3)は、等級2mod4と3mod4を有するエンティティを同時排除する。例えば、δ(ab+cde)→abcde、=等級5。abcdeのsign/orientationは(概念的に新しい)1−ベクトルである等級5mod4=1にマッピングされる。このような1−ベクトルはabcdeの代わりをする。
【0084】
EW(3、3)は、等級3mod4を有するエンティティを同時排除する。例えば、δ(abc+def)→abcdef、=等級6mod4=等級2であり、abcdefも同様に2−ベクトルに代替される。
【0085】
EW(1、3)は、その挙動が本来混乱し、数学的に取り扱いできないシステムを創造するので不許になる。他の列挙されていない等級の組み合わせも同様に不許になる。
【0086】
このような機能の全ては同じモジュール(Corm)により実現されることができ、このモジュールのイベントウィンドウが新しい同時排除を発見する時に活性化されることができる。表2は、アクションレベル対に対する同時排除を要約したものである。
【0088】
ここで、最も高い等級は6であり、最も低い等級は1であるが、このような結果が集合{1、2、3}に変わることができ、新しい等級のこのようなmod4変換はCorm−制御の巨視的な成長パターンの
インスタンスの生成のためのものである。
【0089】
アクション階層の最上「レベル」は、動的に変わるアクション集合であって、「親」ノードのないトップノードにある。これらのアクションのうちの二つが互いに同時排除される時、そのノードは最終アクションの新しいノードの子ノードになり、今はこのノードがトップノードである。
【0090】
他の最適化方案において、システムは、最上アクション(トップノードにあるアクション)のうちの一つ以上に参加する一つ以上のイベントウィンドウを表すことができる。このようなイベントウィンドウは、システムのユーザや管理者に計算の成長と進化のハイレベルビューを提供することは勿論、これらを調整する機会も提供する。
【0091】
したがって、イベントウィンドウを経てCormによって新しいアクションが追加される。アクションは削除されることもでき、この時、このアクションに依存する全ての上向き(親)アクションも削除される(すなわち、削除されたアクションのノードの親ノードの第2アクションと第2アクションのノードの親ノードの第3アクションなど、反復的に階層を登って行ってトップノードに達するまで)。アクションを削除するスレッドは削除されたアクション全ての子ノードにあるアクションを識別する一つ以上のタプルをトップノードに居住しているように放出し、このようなアクションが削除結果として親アクションを有しない場合にそうである。センサを削除することは、センサに付随する全てのアクションを削除することを意味する。
【0092】
2個の空間的計算P、Qを合わせるために、システムは必要に応じてPのセンサ/メタセンサリストをQと結合したりその逆にしたりする。
【0093】
その都度目標達成
(センサ、エフェクター、アクションなどに関する)上記の説明によれば、インパルスを受けた時の空間的計算(例えば、「xをx
1に変化」)は変化集合を環境に集め、このような変化を順に実行して所望の結果を求める。一例として、多くのセンサとエフェクターを備えた衛星の状態をリセットすることがある。このような変化集合を探し、これらを適切な順に実行するのがそれほど容易ではない。
【0094】
5個の他のアクションを実行することができると仮定しよう。最終プランにある各々のステップは実行しなければならないかまたは実行し、これらより5個の他の可能性を組み立てた。n個のステップの可能なプラン(plan)の数が5’’として指数的成長をすることを意味する。さらには、衛星のような全ての実際システムにおいて、「5」は過度に小さい。50個のエフェクターとn=500段階は50
500の可能性を見せる。空間で作業可能なプランを探してみれば、このようなサイズは非常に難しい任務である。以下の最適化方案は、このような問題に対し、新しくて非常に効率的な解決策を提示する。
【0095】
一番目の最適化は、プランを予めするよりはその都度組み立てることであり、常に驚くべき環境では後者(予めすること)は不可能である(Stanford AI’s Shakey)。服属アーキテクチャという現在の慣行では、非常に単純な状況に対して非常に単純なプランのみを規定し、それをシステムに格納してから自動で用いる。より複雑な全てのものはより高いレベルのアクションによって「上層」で取り扱いし、このようなアクションは単純なプランを集めてより複雑な問題を解決することができる。このような非常に成功的な服属アーキテクチャは、単純な失敗防止ボトムレベルアクション(例えば、「光/暗がりを探して行く」、「壁に沿って行く」など)に重点を置く。このような単純なアクションでない全てのものは高位−レベルモジュール作業であって、大半は人間プログラマーにより設計組み立てられるものであろう。空間的計算の自己組織能力は、このような全ての仕様と人間の入力を代替して、複雑な服属アーキテクチャの構成と組み立てを自動化する。
【0096】
二番目の最適化は、階層による代数減少で可能性の指数爆発に対抗することである。アクションの階層、例えば、システムのエフェクターの真上にある1レベルアクション、その上にあり、1レベルアクションを含む2レベルアクションなどが全て環境の観察された挙動から推論され、非常に重要である。イベントウィンドウメカニズムが正確にこのような階層を構築するが、基本メカニズムは非選択的であるので大型システムに合わせることができない。Cormによるイベントウィンドウの使用に関する最適化がこの問題を解決する。
【0097】
三番目の最適化は、アクション階層を用いて複雑な多くのレベルのプランをその都度創造する特定の方法である。可能な様々なアクションを実行して達成しようとする空間的計算Sの一つ以上の目標状態にプランを表す。一般に、目標状態はセンサ状態集合であるが、もう少し上位レベルに対応するさらに抽象的な状態でもある。
【0098】
目標状態を達成するためのアクションを実行する二つの位相があるが、Sの境界から階層の上位レベルへのインパルス(すなわち、受信センサの状態変化)と他のセンサ情報のバブルアップ、および最終目標の上位レベルからのトリクルダウンがそれである。このような流れの両方ともアクションを担当する。したがって、アクションを構成する数個のスレッドを3個のメイン集合に区分する。
【0099】
一番目のスレッド集合は、変化できる階層内の下向きピアリング(peering)を担当し、このような変化が起こる時、アクションの外部状態のアップデートとこのような変化の親アクションへの上向きバブルも担当する。この集合は、二つの特徴、すなわち(後述するバックチェイニングを誘発する)インパルスのバブルアップと、他のセンサ情報のバブルアップとを有する。
【0100】
二番目の集合は、後述するバックチェイニング(back−chaining)を担当する。
【0101】
三番目の集合は、アクションの名前で目標をトリクルダウンするようにする階層での上向きピアリングを担当し、また二つの特徴を有しており、アクションがグラウンドになれば、目標が現れる時、目標をアクションの子ノードの目標(下位目標)に分割し、このアクションにリンクされた全てのチェーンに向かった「ファイアリング(firing)」を引き起こす。
【0102】
このような全てのスレッドに対するTLindaコードが添付に記載されているが、最小の機能を例に挙げたのみである。
【0103】
例題問題
例題問題が以上で説明したコンピュータ環境をさらによく説明することができる。次のセンサとしてブロックワールドというサラウンドを考慮する(添付のTLinda codeを参照)。
【0106】
これに先立ち、計算が以下のアクションを推論した(「│」は、xorを意味し、+より小さいものに優先する)。
【0108】
バブルアップ位相において、例えば、xへの変化はこれの同時排除xy、xzによってピックアップされ、上位階層に送られる。これは、センサとメタセンサの両方ともを意味する。
【0109】
目標生成アルゴリズムを起こさせて
インスタンスを生成するための例題は、BlockをPlace AからPlace Cに動くことを目標とする。すなわち、Place Cを満たすためのインパルス[↑、c’、c]がサラウンドに発行される。上記のアクションの他に、空間的計算Sがアクションab’⇔a’bおよびbc’⇔b’cは学習したが、アクションac’⇔a’cはまだ学習していないため、[!、c’、c]を達成しようとすれば、先ず、ブロックをaからbに、次いでbからcに動かなければならないと仮定する。
【0110】
したがって、インパルスが目標がcにある前記当目標である[!、c’、c]によって単純に反射すれば、cから(現在ブロックがある)aとの間に明白な連結がないため、aを空にする下位目標を発行する基礎がない。したがって、必要な全てのマシーンがあっても、この目標を達成することができない。本アルゴリズムは、非常に一般的な前記問題を解決して、非常に効率的である。
【0111】
インパルスと目標伝播
初期インパルスを伝播し、それを数個の目標に変換しようとすれば、現在状態と目標状態との間にミッシングコネクション(missing connection)を設定しなければならない。これは、垂直および水平の特性を全て有する(
図2を参照)。垂直型は変化のための環境インパルス[↑、X、X’]の階層での上向き伝播であって、このようなバブルアップは空間的計算の効率の重要な特徴であり、この場合、サーチ空間を対数的に減らすためである。このようなバブルアップインパルスは、結局、水が流れるように広まってわき上がるようにインパルスの跡をたどる目標に変換される。
【0112】
水平特徴は、バックチェイニングの分散バージョンである。現在状態に対する目標状態を考慮せず、アルゴリズムは目標状態から現在状態への逆方向に接近した後、2状態を連結する(コーザル)経路を利用する。勿論、どの方向でも、可能性は指数関数的に広がるため、このような爆発が効率に影響を与えないようにすることが重要である。このアルゴリズムは、垂直および水平の特徴の交差を用いてそれを達成する。
【0113】
アクション階層の全てのレベルは、このような「水平」平面に前記当する。また、階層で上に行くほど、レベルのアクションの有効等級がステップごとに(最大にはダブルに)増加し、この計算の原因も範囲と配慮の面でグローバルに増加する。
【0114】
アクションMe−XYがインパルス[↑、X、X’]を表わす時、XはMeの2個の構成である子ノードのうちの一つであり、Meはグラウンドにならない場合、インパルス[↑、Y、Y’]を発行し、これは、「(数個のアクションノード周辺の楕円により
図2に示されたこのレベルにおいて)(Xのパートナーである)Yを同時排除の一部としてフリップするアクションがあるか?」という質問である。このようなアクションが発見されると、MeはXをそれ自体でフリップすることができる。Meによって放出されたインパルスはバックリンキング(back−linking)インパルスである。全てのアクションは、このようなバックリンキングインパルスを探してそれ自体を同じ方式でチェーンに加えるスレッドを有しいる。これが(
図2において、放出ノードから受信ノードへの点線の矢印で示された)バックチェイニングである。チェーンがグラウンドになったアクションに達するまで(同時分散の形態で)続き、これは問題のアクションが結局扇動アクションであるMeに達するエフェクター活性化チェーンを開始できることを意味し、これは、環境の現在状態が(恐らく)成功するのに必要な状態に一致するためである。コーディネーションアルゴリズムであるこのアルゴリズムは、このような状態情報をメモリ状態でない(サラウンドと共に)スレッド状態として格納して、例えば、オーバーラップするかまたは旧式チェーンの場合に物の不要な複製を避け、これは既存の計算と同様である。アルゴリズムは、チェーンの最大長さを定めて、目標状態に達する時に変わりうる現在状態を制限する。
【0115】
各レベルのアクションを連結するリンクチェーンが沢山あり、全てBからAに送ることができ(
図2の階層の一番目と二番目のレベル各々にこのようなチェーンが3個ある)、オリジネーティングアクションへのコーザル逆リンキングツリーを形成する。したがって、バックチェイニング過程によれば、チェーンが実行を始まらず、これはBからAに伝送するこのようなチェーンが多く、このようなチェーンが一旦実行されると、多くの努力が無駄になるかまたはさらに悪くなるためである。かえって、全てのレベルでの逆方向チェーンがグラウンドになった上位レベルやトップレベルノードが所望の目標を発行するまで停止状態を維持する。その後、このような目標がトリクルダウンしてツリーアウトになり、目標を充足する全てのグラウンドになった(すなわち、トリクルダウンを通じて終わったばかりの以前の下位目標を有する下位目標に対してグラウンドになった)アクションのみが子のメタ−エフェクターを活性化することができる。このようなチェーンの階層的積層により、下位目標が適切な順に放出され、そうでなければ、学習を通じて、結局それを解決する。
【0116】
アクションMeがグラウンドにならなかった時、Meに達したインパルスや逆リリンキングチェーンによってチェーンの逆方向伝播とインパルスのバブルアップがなされ(
図2(A)の実線を参照)、Meそれ自体での新しいインパルス形態はMeImpulse=[’∧’、XY、−XY]である。これが次のレベルでのバックチェイニングを引き起こす。トップノードに達したインパルスは、求められた目標に変換されて階層の下に戻される(
図2(B)の実線を参照)。このような変換は大部分そうであるように、人間を含む少しは微少に異なる決定に拡張されることができる。
【0117】
バックチェーンとして生じるアクション−対は前進する。タプル[”D;”、AtoB]は同じ親ノードの子ノードとしての2個のアクションA、Bが厳格にAとBの順に実行されなければならないことを示す。ある場合には、このような対が使われる時ごとにカウンターがインクリメントされ、カウンター値の高い対が代案プランに優先権を有することもできる。このようになれば、結局「good」プランの長いチェーンとその階層が生成される。不幸にも、これが存在もしない問題を解決し、これは全ての与えられた対が常に同じ状況で選択され、その選択アルゴリズムが非常に効率的であるためである。そのため、得られるのは何もない。また、ある状況の全ての関連の特徴を集めた空間的階層による柔軟性を、近視眼的で、柔軟性に劣り、旧式でもある時間的解法が占拠したりもする。
【0118】
(アクションをグラウンドさせるための)検索能力は勿論、目標のためのインパルス、目標、アクションなどもあり得る。
【0119】
地理的に離れたアクションのノードとこれらの親子ノードは、このようなノードがセンサ、インパルス、エフェクターまたは制御タプルであれ何であれ、与えられた状態変化をこのようなノードの間で自動に伝播させる加入型メカニズムによって連結されることができる。連結されるノードのアクションリストをセンサと共に追加して加入を維持することもできる。このような追加は連結されたノードのうちの一番目のノードに伝播され、二番目に連結されたノード下のノードのセンサで変わる。また、加入が連結されたノード上のノードのアクションを含むことができる。または、加入メカニズムが関数呼び出しのようなシステム機能であってもよく、加入によって連結されるノードを識別するユーザや管理者によって始まってもよい。
【0120】
「メモリから何かをリコールする」概念自体が空間的計算の演算の一部であるが、システムはリコール演算を実行して全ての特定計算やSに知られたファクトF(すなわち、アクションやセンサの特定状態)を回収することができる。一例として、システムがファクトに一致する一致基準を有する専用イベントウィンドウを作る。したがって、専用イベントウィンドウはファクトを「含む」。専用イベントウィンドウがファクトのモードの子ノードのアクションのような追加のアクションをさらに含むこともできる。また、専用イベントウィンドウを自体的に一致させるよりはむしろ、ファクトが専用イベントウィンドウに含まれたアクションにバブルアップするインパルスであってもよい。専用イベントウィンドウからファクトをリコールしようとすれば、このファクトF用のインパルスを発行する。その結果、バブルアップされるF関連のインパルスを専用イベントウィンドウのバッファに見られる。
【0121】
以上で説明したリコール演算を拡張して新しいプロセスを探すことができ、このようなプロセスは基本的に以前にはSを達成する方法を知らなかった目標を達成するようにエフェクターを引き起こすアクションチェーンである。リコール演算に専用されるイベントウィンドウのコンテンツを用いて、空間的計算が同時に実行する下位目標を放出することができ、このような下位目標はリコール演算に関連したアクションをシミュレーション(すなわち、グラウンド)する。したがって、既存のアクションおよび/または既存のシミュレーションされたアクションの同時排除で形成された新しいアクションの観点で新しいプロセスが規定され、不足した概念/ノードが共に組み合わせられる。リコールされるファクトに前記当する特定共鳴の生成を目標にして、このような問題をフーリエの側面から追求することもできる。関数呼び出しや他のプログラムコードのようなもので新しいプロセスの発見をこのような方式で開始するようにシステムを構成することもできるが、計算時に活動が低い期間の間や目標が満足できない時(例えば、バブルアップインパルスを受けるトップレベルアクションが全くグラウンドにならない時)にはシステムリソースの活用が低い。
【0122】
計算のセキュリティ性
空間的計算Sが環境に起因し環境に反応するため、外部プロセスはS自体の用語だけでSに接近することができ、そうでなければ全く反応しない。これが環境に対する空間的計算のセキュリティの基本である。
【0123】
空間的計算の内部に対して、(TS内での個別タプルという)個別コミュニケーションを必要時に暗号化することができる。暗号化を問わず、このようなコミュニケーションは、範囲が非常に微視的であり、コンテンツ面で原子的であるため、ほぼ値を有さず、通常a±1値と匿名タグを有する。動的なイベント構造においてのみ実際意味のある空間的計算によって作られて管理される。
【0124】
基本原理は、相互作用を通じてのみSに関する情報を求めることができるということである。質問プロセスP?を含む周辺のSを考慮する。SはP?との相互作用を通じて(内部)情報を生成する。このような情報はP?が認知されるまでの(共有環境での)反応の形態でトリクルダウンする前にS内部でバブルアップされる。このような認知は、必然的にSに関するP?の唯一の情報源である。したがって、P?はSがP?から受けるものよりさらに多い情報をSから受けることができない。P?がSのような空間的計算である場合にのみ情報交換が等価的である。
【0125】
特に、(階層的構成がSを構成する)アクションの名前はP?に知られず、これはSの挙動(「モーション」)だけが外部から見えるためである。このような名前の不足でP?はSに浸透することができない。また、アクションがS内で互いに対して匿名で残るために、アクションの名前NAが子ノードB1とB2からNA=f(B1、B2)として創造され、fは情報を失う、いわゆる、トラップ−ドア(trap−door)関数であり、B1とB2はNAから誘導されることができない。f=xorであれば、一般的で効率的なハードウェア演算に好ましい。fを暗号に選択することも可能であるが、fは、特性上可逆的であり、セキュリティ的に弱点を有する。
【0126】
このようにして、アクション自体のみが自身の子ノードを知り、他のアクションは知ることができず、これは、名前B1とB2がアクション内でのみ知られており、それ自体は既に同じ方式で創造されたためである。全てのアクションに対して同一である。Biが同時排除される時ごとに新しい名前を受けることができる。周辺を備えたSの境界を構成するセンサにランダム名前を付与すれば、周辺を防御的に作ることができる。このようなコード−ネーミング戦略により、空間的計算に強力で根本的なアーキテクチャー的な支援をして安定したセキュリティシステムを構築することができる。
【0127】
このような全てのセキュリティが自動で起こる所では、特に全てのアクションが同一の相互作用プロトコルに従うため、空間的計算が自己組織的であることを考慮する時、これが特に便利である。このようなプロトコルに従わないアクションは、他の全てのアクションの名前を知らないため、他の全てのアクションと相互作用するのは非常に難しい。
【0128】
子ノードB1、B2のアクションは、このようなアクションのセンサリストを暗号化すれば、センサのアドレスが公開されないのでさらに保護できる。
【0129】
変移TLindaコードに対する他の対策として、非結合フィールドに対するタプルの一致を拒否する一つ以上のセキュリティビットを各々のタプルが備えることもできる。すなわち、標準ミニマルLindaタプルマッチが拡張され、「ワイルドカード」マッチが指定されたフィールドおよび/またはタプルに許可されない。このような簡単な措置は「探り出し(fishing expedition)」を単純化する。
【0130】
P?は(環境的に共有される)sの状態をs’に変化させることを要求するインパルス[↑、s→s’]を発行してSを反応させる。このようなインパルスはインパルスを満たす一つ以上のアクション(すなわち、このアクションはインパルスの変数と一致する変数を有しており、必ずしもグラウンドになる必要はない)を満たすまでにバブルアップされ、その結果、各々のアクションによって前記当目標の発行がなされる。各々の目標はトリクルダウンし、結局エフェクター目標[!、s→s’]になる。s→s’への遷移はP?が探す唯一なものである。例外的に、Sは高位レベルアクション(すなわち、NA対センサ境界{s})を、外部インパルスに利用できることを公表してもよい。しかし、アクションNAが目標達成者であるため、インパルスはこれ以上階層上に伝播しないため、Sが許す程度にSの内部へのP?のアクセスを制限する。
【0131】
アクションがグラウンドになれば、実行はできるものの潜在的にのみなり得ることを意味する。アクションのgroundedness(すなわち、関連性)は、グラウンドになったアクションより低い階層内アクションの一部配列がこのアクションを実行するように同期化されることを示す。グラウンドになったアクションを見せる人間管理者に適用できるこのような有用な情報にもかかわらず、グラウンドになったという事実がこのアクションがいつどこでどのように実行されるかを正確に示すものではない。このように不足した情報を用いてローカル情報のプライバシーを強化して、さらに上位レベルで可能な結果を合法的にモニターする機能を有することができる。すなわち、合法的モニターが、下位レベルアクションが許容可能な構成に調律されることが分かり、そうでなければ、アクションはグラウンドにならない。しかし、モニターは下位レベルアクションの詳細事項を知ることができないため、依然として局部的に非公開状態である。アクションが(犯罪状況での捜索令状のような)適切な許容下で連結された階層に配列されるため、モニターはアクションが不適切に行動するレベルへのノードまでノードに沿って下降することができる。
【0132】
その他の特徴
アバター(avatar)は、コンピュータシステムの残りに対するエンティティ(通常は人間)を表すソフトウェア構造である。一般に、ビデオやオンラインゲームで人を表すのにアバターを用いるが、この概念は(自身の代役を選択するのに大きい柔軟性を有する)ユーザと(安全で丈夫で汎用的で且つ包括的なアバターインターフェースをデザインする)システムデザイナーの両方に非常に一般的である。このようなアバター構造は、センサとエフェクターが仮想世界にあるシステム供給アクションを通じて空間的計算に実現されることもできる。または、センサとエフェクターそれ自身が仮想世界に対するアバターのインターフェースであってもよい。すなわち、空間的計算は、それ自身のセンサとエフェクターを有する仮想世界のアバターをセンサとエフェクターを介して効果的に
インスタンスを生成する。ユーザは、包括的アバターの下位アバターを定義し、これらを自由に飾ることができる。アバターは、全体的または部分的にソフトウェアによって運用されるが、常に人間個人の公開アイデンティティに連結されなければならないため、アクションに対する責任を負う誰かがいる。
【0133】
目標誘導プロセスは、デッドロック(deadlock)またはライブロック(livelock)であってもよく、いずれも1セットのプロセスを永久閉鎖サイクルにロックする。パーセバルの等式(Parseval’s Identity)を通じて、ウェーブ(すなわち、フーリエ)ドメインでの空間的計算の演算を見ることができる。この計算スペクトルでの「デッドスポット」、「線」、その他の特徴的パターンはデッドロックまたはライブロックの存在を示し、このようなロックに参加するアクションを識別したりもする。ロックは関連の目標やインパルスを臨時に除去するかまたは沈黙させて壊れることができ、次いで一定時間が過ぎた後(例えば、現在の運用システムデザインの基本原理に従って)、除去された目標またはインパルスを再設定することができる。このようなロックの大部分は運が悪いものであって、このような中断の後には再び現れなさそうである。
【0134】
最も現代的なイベントに焦点を合わせたメンタルメカニズムをSTM(short term memory)とし、STM−ドメイン期間を含む全ての適当な期間にかけて作動できるイベントウィンドウメカニズムに含まれて一般化されることができる。