(57)【特許請求の範囲】
【請求項１】
知識表現およびアプリケーション開発のためのシステムであって、
プロセッサと、
前記プロセッサに対して結合されているメモリ・ユニットと、
前記メモリ・ユニット内に記憶されている複数の情報ユニットであって、
少なくとも１つの別の情報ユニットを直接的または間接的に参照する情報ユニット要素または情報ユニット要素のセット、
前記情報ユニットが衝撃を与えられる、すなわち、活性化される場合に前記情報ユニットが実行する複数のアクションのうちの１つを定義する演算子、および、
前記情報ユニットと別の情報ユニットとの間に存在する関係を記述する少なくとも１つのパス、を含む情報ユニットと、
情報ユニットの前記演算子に衝撃を与える、すなわち、前記演算子を活性化し、それによって、衝撃を与えられた前記情報ユニットがパスを介して接続される別の情報ユニットにさらなる衝撃、すなわち、活性化を流すために、前記プロセッサによって実行可能な動的エンジン・モジュールと、を備え、
前記情報ユニットおよび前記パスは、情報ユニット・モデルを具現化し、前記情報ユニット・モデルにおいて、モデル要素の特定の集合および構成は、ドメイン、観察結果のセット、実際の知識、およびデータのうちの少なくとも１つに対応する、システム。
【請求項２】
抽象化の何らかのレベルにおいて同様の特徴を有するオブジェクトまたはオブジェクトのセットは、クラスを形成するための無制限の数の情報ユニットを含む情報ユニットのセットによって表現され、クラスの特徴は、複数の属性によって表現される、請求項１に記載のシステム。
【請求項３】
クラスの各属性は、テキスト文字列、リスト、およびクラスのうちの１つを表現する、請求項２に記載のシステム。
【請求項４】
元のクラスはコピーされ、前記元のクラスへのパスを有するクラス・インスタンスを形成する、請求項２に記載のシステム。
【請求項５】
前記情報ユニット要素は、リストを表現する情報ユニットのセットを参照する、請求項１に記載のシステム。
【請求項６】
１以上の衝撃または活性化を情報ユニットの所定のセットに向ける互いへのパスを有する情報ユニットのセットは、プロセスを形成する、請求項１に記載のシステム。
【請求項７】
複数の情報ユニットが単一の情報ユニットを有するカプセル化として参照され、前記カプセル化は、リスト、プロセス、およびクラスのうちの１つである、請求項１に記載のシステム。
【請求項８】
１つの情報ユニット要素は、マッピング動作における使用のための記号要素または記号シーケンスである、請求項１に記載のシステム。
【請求項９】
各情報ユニットは、その情報ユニットが衝撃を与えられる、すなわち、活性化される場合における別の情報ユニットに対するその情報ユニットの関係の状態を示す特性を含む、請求項１に記載のシステム。
【請求項１０】
前記演算子の前記衝撃、すなわち、前記活性化は、前記パスによって接続されている情報ユニットの所定のセットを通じた動的な特性またはエネルギーのフローの選択的な開始を可能とする、請求項１に記載のシステム。
【請求項１１】
各パスは、１つの情報ユニットから別の情報ユニットへのエネルギーのフローを、前記別の情報ユニットが衝撃を与えられる、すなわち、活性化される場合に制御する抵抗特性を有する、請求項１０に記載のシステム。
【請求項１２】
各情報ユニットは、前記演算子に衝撃を与える、すなわち、前記演算子を活性化するために必要とされる衝撃の数、量、またはその両方を量化する閾値特性を有する、請求項１０に記載のシステム。
【請求項１３】
前記エネルギーのフローは、単一のパスを通じて単一の宛先ユニットへ方向付けられる、請求項１０に記載のシステム。
【請求項１４】
前記エネルギーのフローは、複数のパスを通じて複数の宛先情報ユニットへ方向付けられる、請求項１０に記載のシステム。
【請求項１５】
前記エネルギーのフローは、所望の結果を達成するか、または一定の目標基準を満足する、請求項１０に記載のシステム。
【請求項１６】
前記ユニット・モデルのコンピュータ実装によって、知識の選択された領域のモデルを構築するための前記ユニット・モデルの機能の制御、操作、および選択的な実行を行うことをユーザに可能とするためのユーザ・インタフェースを含む、動的エンジンおよび複数のインテグレートされたモジュールが具現化される、請求項１に記載のシステム。
【請求項１７】
前記ユニット・モデルをグラフィック表示する視覚化モジュールをさらに備える、請求項１６に記載のシステム。
【請求項１８】
データベースにユニット・モデルを記憶するとともに、データベースから前記モデルを取り出すことをユーザに可能とするためのインタフェースをさらに備える、請求項１６に記載のシステム。
【請求項１９】
前記ユニット・モデルを外部のコンピュータ・プログラムに組み込むことをユーザに可能とするためのインタフェースをさらに備える、請求項１６に記載のシステム。
【請求項２０】
前記情報ユニットのうちの少なくとも１つは、前記情報ユニットの特性を表現する、二進数または二進数でない実数値のうちの１つを含む真理値を含む、請求項１に記載のシステム。
【請求項２１】
前記情報ユニットのうちの少なくとも１つは、１つの情報ユニットの他の情報ユニットに対する望ましさに対応する、整数または実数値の特性のうちの１つを含む、望ましさ因子を含む、請求項１に記載のシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の分野は、一般に、知識の自動化された処理に関し、より具体的には、アクセス、視覚化、発見および処理において一定の利点を提供する情報の抽象モデルのアプリケーションに関する。
【背景技術】
【０００２】
情報処理の自動化は、人間が最古の装置を着想し、構築して以来、発明および機械設計の目標であった。進歩した処理スキームを探求することは、大きな関心のある領域であり、科学的理解を促進するための大きな将来性を有し、富を生み出し人類を利するために採用され続けている。
【０００３】
計算機の出現により、計算能力、処理の利用のしやすさ、ディスク記憶およびデータ・ネットワークなどの利用可能な技術における進歩は、興味深い状況を作り出してきた。こうした新たな技術は、過去には概念的な実験または思考的な実験でしかあり得なかった情報処理の多くのモデルの実装を可能とする。しかしながら、同じ技術は、膨大な量の記憶されるデータおよび情報の作成および記憶も可能とし、今度は、大量の記憶されたデータを処理するための進歩し自動化された技法に対する必要を生み出した。
【０００４】
情報および認識のモデル化は、コンピュータ理解、認識科学、神経生物学、マクロ意識の組織、教育、決定支援システムおよび基礎物理を含む、多くの科学分野において有益である。特殊化されたモデルに従った、情報処理のモデル化および自動化は、認識を理解し、より高次の認識機能および理解をコンピュータに与えるための鍵として提案されてきており、おそらくは、コンピュータが発見を行い、人間の限界に匹敵または超過する機能に達することを可能とする。
【０００５】
人工知能（ＡＩ：Ａｒｔｉｆｉｃｉａｌ  Ｉｎｔｅｌｌｉｇｅｎｃｅ）という用語は、思考、理解、推論、学習、問題解決、抽象化、観察および説明を含む、人間のような認識能力を機械が呈することを可能とすることを対象とする研究および実装に広く及ぶ。機械を人間のように振る舞わせ、または機械に知的挙動を示させるいかなる試みも、人工知能と説明されることが多い。
【０００６】
人工知能に対する多くの従来のアプローチは、ＡＩ実装を２つの領域、すなわち、知識ベースと知識エンジンとに分ける。知識ベースは、特定のドメインに関する知識を機械使用可能な形式でキャプチャする。知識エンジンは、知識ベースを適用する。言い換えれば、知識ベースは、ロジックまたは規則と類似しているのに対して、知識エンジンは、ロジックを適用する機能的な命令、アルゴリズムおよび処理命令である。しかしながら、多くのＡＩ実装は、ロジックとアプリケーションとの間の区別を曖昧にする。例えば、ロジックは、処理命令を含み得る。
【０００７】
知識ベースを設計し、構築することは、知識エンジニアリングの主要な活動である。知識エンジニアリングという用語は、１９８３年にエドワード・ファイゲンバウム（Ｅｄｗａｒｄ  Ｆｅｉｇｅｎｂａｕｍ）によって初めて使用された。ファイゲンバウムは、高度な人間の専門知識を通常は必要とする複雑な問題を解決するために、知識をコンピュータ・システム内にインテグレートすることに関与する工学専門分野として、知識エンジニアリングを定義した。大抵は、領域専門家が、知識ベースのための知識を提供し、この専門家の知識が、自動的にまたは人間の行為によって知識ベースへ変換され得る。特に課題となることは、ＡＩアプリケーションにおいても、メンテナンス者および作成者にとっても
、知識を容易にアクセス可能とする形式で知識を符号化することである。
【０００８】
知識ベースを設計するための１つの従来のアプローチは、各規則が先行部分と後続部分とを備える規則のシーケンスとして知識をキャプチャする。先行部は、一連の条件であり、この一連の条件は、満足された場合に、後続部分において特定される行為をトリガする。次いで、規則は、１以上の最終的な結論を得るために、入力データのセットに対して処理される。規則ベースの専門家システムは、限られた領域では成功を達成しているが、課題は、領域知識を一連の規則においてキャプチャすることである。大抵の従来のシステムは、領域専門家が知識工学技術者と共に作業して、規則をキャプチャすることを必要としてきた。規則ベースのシステムが直面している別の課題は、規則を便宜的な手法で適用し、タイムクリティカルなシステムにおける規則ベースのシステムの使用を制限することである。人間の専門家が結論に到達する際に規則と、それに応じて、規則の自動化されたアプリケーションの値とを使用するかは、しばしば議論される。
【０００９】
領域知識のモデルを構築するための従来のアプローチは、自動化された観察者が一連のイベントおよび条件を調べ、その結果として、観察に基づいて領域知識のモデルを構築するトレーニングである。監視下での学習（強化トレーニングとも呼ばれる）においては、教師または他の専門知識の源が、正確な結果を提供することによってトレーニングを誘導する。非監視下での学習においては、自動化された学習システムが、誘導なしで、データセット内のパターンまたは特徴を探す。観察されたデータから規則を自動的に構築しようと試みた従来のシステムもある。
【００１０】
人工知能に対する別のアプローチは、人工ニューラル・ネットワークを採用する。生体ニューロンのネットワークは、人間および他の生物の脳の大半を構成する。人工ニューラル・ネットワークは、相互接続する人工ノードまたはニューロンを実装するためにコンピューティングアルゴリズムまたはハードウェアを使用して、類似の原理を使用する。各ノードは、その入力ネットワークから刺激を受け取ることができ、適切に刺激された場合に、このノードは、「興奮し（ｆｉｒｅｓ）」、その出力に接続されたノードへ刺激を送る。接続および興奮閾値は、ネットワークの機能を決定する。ニューラル・ネットワークは、コネクショニズムの分野に一般化されることもある。
【００１１】
ニューラル・ネットワークにおける早期の研究は、生体システム構造および機能をエミュレートすることに重点を置いていたが、大抵の現代の研究は、信号処理および統計に基づいている。ニューラル・ネットワークに関する問題は、ニューラル・ネットワークが知識ドメイン上でトレーニングされるという要件である。トレーニングには時間がかかることがあり、獲得される知識はトレーニング・データに固有のものである。したがって、人工ニューラル・ネットワークは、トレーニング・ドメイン外のデータに対して対処するための能力を一般化または獲得しない。ニューラル・ネットワークは、制御システムなどの限られたドメインにおいて成功を収めてきた。
【００１２】
分類子は、データのセットをクラスに分け、データにおけるパターンを認識し、一般には、データセットにおける関係を自動的に識別するための自動化されたシステムである。このような関係は、相互関係、ランキング、クラスタおよび特徴を含み得る。多くの分類子は、カーネル方法またはサポート・ベクトル・マシンを使用して実装される。カーネル方法は、筆跡鑑定および自動文字認識などの分野において、いくらかの成功を収めてきた。
【００１３】
検証および妥当性確認は、コンピュータベースの知能システムの別の課題である。多くの基幹系システムは、システムが仕様を満たすことを検証し、そのシステムが展開される前に、そのシステムが期待通りに動くことも妥当性確認するための集中的なテストを必要
とする。このテストは、自動化された認識実装においてはよくあることであるが、人間によって簡単に理解されない形式で知識がキャプチャされ、システムの振る舞いが複雑または非線形である場合に困難となる。
【００１４】
他の関連する分野は、認識モデル化、情報理論、およびコルモゴロフ複雑性である。
本発明は、知的思考および情報処理中に存在する要素、構造およびプロセスを説明するコンピュータ実装モデルに関連する。
【００１５】
本モデルおよびそのコンピュータ実装は、その単純さ（少数の要素のみから成る）および普遍性（この領域において直面される非常に多様な経験を正確に表現するための能力）において基礎となることが意図されている。本方法論は、科学分野および情報処理技術を含む、人間の努力のいくつかの分野に対する形式的記述と適用との両方を有する。
【００１６】
この発明の上述された特徴および目的ならびに他の特徴および目的、ならびにそれらを獲得する手法は、添付の図面と併せて検討される、本発明の実施形態の下記の説明を参照することによって、より明らかとなり、本発明自体がより良く理解されるであろう。
【図面の簡単な説明】
【００１７】
【図１】本発明の一実施形態を実装するコンピュータ・システムの概略図。
【図２Ａ】本発明の一実施形態に係る、クラスの構成および関係コンポーネントを図示する樹形図。
【図２Ｂ】本発明の一実施形態に係る、要素の構成および関係コンポーネントを図示する樹形図。
【図２Ｃ】本発明の一実施形態に係る、パスの構成および関係コンポーネントを図示する樹形図。
【図３Ａ】閉鎖システムにおけるポイント・オブジェクトの運動学（ｋｉｎｅｍａｔｉｃｓ）のドメインに対して適用される本発明の一実施形態を例示する図。
【図３Ｂ】閉鎖システムにおけるポイント・オブジェクトの運動学のドメインに対して適用される本発明の一実施形態を例示する図。
【図３Ｃ】閉鎖システムにおけるポイント・オブジェクトの運動学のドメインに対して適用される本発明の一実施形態を例示する図。
【図３Ｄ】閉鎖システムにおけるポイント・オブジェクトの運動学のドメインに対して適用される本発明の一実施形態を例示する図。
【図３Ｅ】閉鎖システムにおけるポイント・オブジェクトの運動学のドメインに対して適用される本発明の一実施形態を例示する図。
【図３Ｆ】閉鎖システムにおけるポイント・オブジェクトの運動学のドメインに対して適用される本発明の一実施形態を例示する図。
【図３Ｇ】閉鎖システムにおけるポイント・オブジェクトの運動学のドメインに対して適用される本発明の一実施形態を例示する図。
【図４Ａ−１】ビジネスの運営のドメインに対して適用される本発明の一実施形態を例示する図。
【図４Ａ−２】ビジネスの運営のドメインに対して適用される本発明の一実施形態を例示する図。
【図４Ｂ】ビジネスの運営のドメインに対して適用される本発明の一実施形態を例示する図。
【図４Ｃ】ビジネスの運営のドメインに対して適用される本発明の一実施形態を例示する図。
【図４Ｄ】ビジネスの運営のドメインに対して適用される本発明の一実施形態を例示する図。
【図４Ｅ】ビジネスの運営のドメインに対して適用される本発明の一実施形態を例示する図。
【図４Ｆ】ビジネスの運営のドメインに対して適用される本発明の一実施形態を例示する図。
【図５Ａ】単一値の画素のアレイにおけるオブジェクトの識別のドメインに対して適用される本発明の一実施形態を例示する図。
【図５Ｂ−１】単一値の画素のアレイにおけるオブジェクトの識別のドメインに対して適用される本発明の一実施形態を例示する図。
【図５Ｂ−２】単一値の画素のアレイにおけるオブジェクトの識別のドメインに対して適用される本発明の一実施形態を例示する図。
【図５Ｃ】単一値の画素のアレイにおけるオブジェクトの識別のドメインに対して適用される本発明の一実施形態を例示する図。
【図５Ｄ】単一値の画素のアレイにおけるオブジェクトの識別のドメインに対して適用される本発明の一実施形態を例示する図。
【図５Ｅ】単一値の画素のアレイにおけるオブジェクトの識別のドメインに対して適用される本発明の一実施形態を例示する図。
【図６】本発明の一実施形態に係る、単一のユニット内での衝撃の処理を説明するフロー・チャート。
【図７】ユニット・モデル表現への変換のためのプロセスの工程の一実施形態を説明するフロー・チャート。
【図８】本発明の問題解決方法の工程の一実施形態を説明するフロー・チャート。
【図９】発見に関連する本発明の一実施形態を説明するフロー・チャート。
【図１０】本発明の１つの実施形態に係るマッピング・プロセスを説明するフロー・チャート。
【図１１】本発明の別の実施形態に係る支払リスト作成プロセスを説明するフロー・チャート。
【図１２Ａ】本発明の実施形態が活用され得るネットワーク・システムの概略図。
【図１２Ｂ】本発明の実施形態と併せて活用され得る、随意的な入力デバイス（例えば、キーボード、マウス、タッチ・スクリーン等）ならびに出力デバイス、ハードウェア、ネットワーク接続、１以上のプロセッサ、ならびにデータおよびモジュールのためのメモリ／ストレージ等を有するコンピューティング・システム（必要に応じて、サーバもしくはクライアント、または両方）のブロック図。
【発明を実施するための形態】
【００１８】
対応する参照符号は、いくつかの図にわたって、対応する部分を示す。図面は、本発明の実施形態を表現するが、図面は、必ずしも原寸に比例しておらず、いくつかの特徴は、本発明をより良く例示し、説明するために誇張されていることがある。本明細書において記載される例証は、本発明の一実施形態を１つの形式において例示するものであり、このような例証は、いかなる形でも本発明の範囲を限定するものとして解釈されるべきではない。
【００１９】
下記に続く説明および図面において、少数のコンポーネントおよび接続は、説明および例示を容易にするために示されることがある。本明細書において使用されるコンポーネントの数は、例のためのものに過ぎない。こうした例は、取り得るコンポーネントの数量、インスタンスまたは相互接続の数を含む、本発明の究極の機能を説明するものではないことが理解されるべきである。下記に開示される実施形態は、包括的であること、または、下記の詳細な説明において開示される正確な形式に本発明を限定することを意図されない。むしろ、実施形態は、その教示を当業者が活用し得るように選ばれ、説明されている。
【００２０】
下記に続く詳細な説明は、英数字または他の情報を表現する、コンピュータ・メモリ内のデータ・ビットに対する動作（演算）のアルゴリズムおよび記号的表現の観点から部分
的に提示される。コンピュータは、一般に、命令を実行するためのプロセッサと、命令およびデータを記憶するためのメモリとを含む。汎用コンピュータが、そのメモリに記憶された一連の機械符号化された命令を有する場合、このような符号化された命令上で動作するこのコンピュータは、特定のタイプの機械、つまり、一連の命令によって具現化される動作を実行するように特に構成されたコンピュータとなり得る。命令のうちの一部は、他の機械の動作を制御する信号を生成するように適合され得、したがって、それらの制御信号を通じて動作して、コンピュータ自体から遠く離れた材料を変換し得る。こうした説明および表現は、データ処理技術の当業者によって、当業者の研究の本質を他の当業者へ最も効果的に伝達するために使用される手段である。
【００２１】
アルゴリズムは、ここでは、また、一般に、所望の結果を導く工程の自己無撞着シーケンスであると考えられる。こうした工程は、物理量の物理操作を必要とする工程である。必ずというわけではないが、通常、こうした量は、記憶され、伝送され、変換され、結合され、比較され、さもなければ操作されることが可能な電気パルスもしくは電気信号または磁気パルスもしくは磁気信号の形式を取る。主に、一般的な用法の理由から、このような信号が具現化され、または表現される物理的な品物または物理的発現への参照として、こうした信号をビット、値、シンボル、文字、表示データ、用語、数などとして参照することは時には都合がよいことが分かっている。しかしながら、これらの全ておよび同様の用語は、適当な物理量に対して関連付けられるべきであり、ここでは、こうした量に対して適用される都合がよいラベルとして使用されるに過ぎないことが留意されるべきである。
【００２２】
いくつかのアルゴリズムは、情報の入力と所望の結果の生成との両方のためにデータ構造を使用し得る。データ構造は、データ処理システムによるデータ管理を非常に容易にし、洗練されたソフトウェア・システムを通じて以外はアクセス不可能である。データ構造は、メモリの情報コンテンツではなく、むしろ、データ構造は、メモリに記憶された情報に関する物理的組織を伝え、または明示する特定の電気構造要素を表現する。単なる抽象化に留まらず、データ構造は、複雑なデータ、しばしば、関連するアイテムのデータ・モデル化の物理的な特徴を正確に表現すると同時に、コンピュータ動作における向上された効率を提供する、メモリ内の特定の電気構造要素または磁気構造要素である。
【００２３】
さらに、実行される操作は、人間のオペレータによって実行される心的操作に対して一般に関連付けられる、比較または追加などの用語で参照されることが多い。人間のオペレータのそのような機能は、本発明の一部を形成する、本明細書において説明される動作のいずれにおいても、大抵の場合に必要ではなく、または望ましくない。動作は、機械動作である。本発明の動作を実行するための有益な機械は、汎用デジタル・コンピュータまたは他の同様のデバイスを含む。あらゆる場合において、コンピュータを動作させる際の方法動作と、演算の方法自体との間の区別が認識されるべきである。本発明は、電気物理信号または他の（例えば、機械的、化学的）物理信号を処理して、他の所望の物理的発現または物理信号を生成する際にコンピュータを動作させるための方法および装置に関する。コンピュータは、ソフトウェア・モジュール上で動作し、ソフトウェア・モジュールは、アルゴリズム工程を実装する機械命令をコンピュータ・プロセッサが実行することを可能とする一連の機械命令を表現する媒体上に記憶された信号の集合である。このような機械命令は、プロセッサが命令を実装するために解釈する実際のコンピュータ・コードであり得、または、代替的に、実際のコンピュータ・コードを取得するために解釈される、より高次の命令のコーディングであり得る。ソフトウェア・モジュールは、ハードウェア・コンポーネントも含むことができ、この場合、アルゴリズムのいくつかの態様は、命令の結果としてというよりも、回路自体によって実行される。
【００２４】
本発明は、こうした動作を実行するための装置にも関する。この装置は、必要とされる
目的のために具体的に構築されてもよく、またはコンピュータに記憶されるコンピュータ・プログラムによって選択的に活性化され、もしくは再構成される汎用コンピュータを備えてもよい。本明細書において提示されるアルゴリズムは、特定のハードウェアを必要とするものとして明示的に示されない限り、任意の特定のコンピュータまたは他の装置に本質的に関するものではない。いくつかの場合において、コンピュータ・プログラムは、相互作用すべき特定のハードウェアまたはプログラミングを必要とし、または必要としないことがあり得る特定のプロトコルのために構成される信号を通じて、他のプログラムまたは機器と通信し、または関連し得る。具体的には、様々な汎用機械が、本明細書における教示に従って書かれたプログラムと共に使用されてもよく、または、必要とされる方法工程を実行するために、より特殊な装置を構築する方がより都合がよいと分かることもあり得る。多様なこうした機械のために必要とされる構造は、下記の説明から出現するであろう。
【００２５】
下記の説明において、頻繁に使用されるいくつかの用語は、本文脈において特殊な意味を有する。「ウィンドウ環境」、「ウィンドウ内で実行中」、および「グラフィック・ユーザ・インタフェース・オペレーティン・システム」という用語は、ラスタ走査されるビデオ・ディスプレイ上の有界領域内などの、ビデオ・ディスプレイ上で情報が操作され、表示されるコンピュータ・ユーザ・インタフェースを表すために使用される。「ネットワーク」、「ローカル・エリア・ネットワーク」、「ＬＡＮ」、「広域ネットワーク」または「ＷＡＮ」という用語は、メッセージがコンピュータ間で送信され得るように接続される、２つ以上のコンピュータを意味する。このようなコンピュータ・ネットワークにおいて、典型的には、１以上のコンピュータは、「サーバ」、すなわち、ハード・ディスク・ドライブなどの大容量記憶デバイスと、プリンタまたはモデムなどの周辺デバイスを動作させるための通信ハードウェアとを有するコンピュータとして動作する。「ワークステーション」と称される他のコンピュータは、コンピュータ・ネットワークのユーザが共有データ・ファイル、共通周辺デバイス、およびワークステーション間通信などのネットワーク・リソースへアクセスし得るように、ユーザ・インタフェースを提供する。ユーザは、コンピュータ・プログラムまたはネットワーク・リソースを活性化して、入力変数およびその環境によって決定される特定の動作の特徴と共に、コンピュータ・プログラムの一般的な動作も共に含むプロセスを作成する。プロセスと同様のものにはエージェント（知的エージェントと呼ばれることもある）があり、エージェントは、ユーザ介入なしに、何らかの定期的なスケジュールで、情報を収集し、または何らかの他のサービスを実行するプロセスである。典型的には、エージェントは、ユーザによって典型的には提供されるパラメータを使用して、ホストマシン上またはネットワーク上の何らかの他のポイントにおけるロケーションをサーチし、エージェントの目的に関する情報を収集し、この情報をユーザに対して周期的に提示する。
【００２６】
「ウィンドウ」という用語、および上記で定義された「ウィンドウ環境」または「ウィンドウ内で実行中」などの関連付けられる用語は、ワシントン州レドモンド（Ｒｅｄｍｏｎｄ）のマイクロソフト・コーポレーション（Ｍｉｃｒｏｓｏｆｔ  Ｃｏｒｐｏｒａｔｉｏｎ）から入手可能ないくつかのウィンドウ・システムによって例証されるコンピュータ・ユーザ・インタフェースを指す。他のウィンドウ・コンピュータ・インタフェースは、例えば、カリフォルニア州クパチーノ（Ｃｕｐｅｒｔｉｎｏ）のアップル・コンピュータ・インコーポレーテッド（Ａｐｐｌｅ  Ｃｏｍｐｕｔｅｒｓ  Ｉｎｃｏｒｐｏｒａｔｅｄ）から、およびＬＩＮＵＸ（登録商標）動作環境のコンポーネントとして入手可能である。具体的には、本明細書の説明における、こうした用語の使用は、いかなる特定のコンピューティング環境またはオペレーティング・システムに対する限定も暗示しないことが理解されるべきである。
【００２７】
「デスクトップ」という用語は、デスクトップに対して関連付けられるユーザのために
、メニューまたはオブジェクトの表示を関連付けられた設定と共に提示する特定のユーザ・インタフェースを意味する。デスクトップが、ネットワーク・リソースに対してアクセスする場合、これは、典型的には、アプリケーション・プログラムが遠隔サーバ上で実行されることを必要とし、デスクトップは、アプリケーション・プログラム・インタフェースすなわちＡＰＩを呼び出して、ユーザがネットワーク・リソースに対してコマンドを提供し、任意の出力を観察することを可能とする。
【００２８】
「ブラウザ」という用語は、必ずしもユーザにとって明らかとは限らないが、ＰＤＦとネットワーク・サーバとの間でメッセージを送信すること、ならびに、ネットワーク・ユーザへ表示すること、およびネットワーク・ユーザと相互作用することに責任を負うプログラムを指す。ブラウザは、コンピュータの世界的なネットワーク、つまり、「ワールド・ワイド・ウェブ」または単に「ウェブ」上でのテキストおよびグラフィック情報の送信のための通信プロトコルを活用するように設計される。本発明と互換性のあるブラウザの例は、マイクロソフト・コーポレーションによって販売されるインターネット・エクスプローラ（インターネット・エクスプローラは、マイクロソフト・コーポレーションの商標である）、オペラ・ソフトウェアＡＳＡ（Ｏｐｅｒａ  Ｓｏｆｔｗａｒｅ  ＡＳＡ）によって作成されるオペラ・ブラウザ・プログラム、またはモジラ・ファウンデーション（Ｍｏｚｉｌｌａ  Ｆｏｕｎｄａｔｉｏｎ）によって流通されるＦｉｒｅｆｏｘブラウザ・プログラム（Ｆｉｒｅｆｏｘは、モジラ・ファウンデーションの登録商標である）を含む。下記の説明は、そのような動作をブラウザのグラフィック・ユーザ・インタフェースの観点から詳細に説明するが、本発明は、グラフィック・ベースのブラウザの機能のうちの多くを有する、テキスト・ベースのインタフェース、または、音声起動されるインタフェースもしくは視覚的に起動されるインタフェースすら用いて実施され得る。
【００２９】
ブラウザは、標準汎用マークアップ言語（「ＳＧＭＬ：Ｓｔａｎｄａｒｄ  Ｇｅｎｅｒａｌｉｚｅｄ  Ｍａｒｋｕｐ  Ｌａｎｇｕａｇｅ」）またはハイパーテキスト・マークアップ言語（「ＨＴＭＬ」）でフォーマットされる情報を表示し、これら両方は、特別なＡＳＣＩＩテキスト・コードの使用を通じて、テキスト文書内に非視覚的なコードを埋め込むスクリプト言語である。これらのフォーマットのファイルは、インターネットのようなグローバル情報ネットワークを含むコンピュータ・ネットワーク上で簡単に送信され、ブラウザがテキスト、画像を表示し、オーディオ記録およびビデオ記録を再生することを可能とし得る。ウェブは、これらのデータ・ファイル・フォーマットを、このような情報をサーバとワークステーションとの間で送信するためのウェブの通信プロトコルと併せて活用する。ブラウザは、拡張可能マークアップ言語（「ＸＭＬ：ｅＸｔｅｎｓｉｂｌｅ  Ｍａｒｋｕｐ  Ｌａｎｇｕａｇｅ」）ファイルで提供される情報を表示するようにもプログラムされ得、ＸＭＬファイルは、いくつかの文書型定義（「ＤＴＤ：Ｄｏｃｕｍｅｎｔ  Ｔｙｐｅ  Ｄｅｆｉｎｉｔｉｏｎｓ」）と共に使用することが可能であり、したがって、ＳＭＧＬまたはＨＴＭＬよりも本質的に一般的である。ＸＭＬファイルは、データとスタイルシート・フォーマットとが別個に含まれているため、オブジェクトに類似し得る（フォーマットは、情報を表示する方法として考えられてもよく、したがって、ＸＭＬファイルは、データと、関連付けられた方法とを有する）。
【００３０】
上記で定義されたような「パーソナル・デジタル・アシスタント」または「ＰＤＡ」という用語は、演算機能、電話機能、ファックス機能、電子メール機能およびネットワーク機能を備える任意のハンドヘルドの携帯デバイスを意味する。「無線広域ネットワーク」または「ＷＷＡＮ」という用語は、ハンドヘルド・デバイスとコンピュータとの間におけるデータの送信のための媒体としての役割を果たす無線ネットワークを意味する。「同期」という用語は、ハンドヘルド・デバイスとデスクトップ・コンピュータとの間における、有線を介した、または無線での情報の交換を意味する。同期は、ハンドヘルド・デバイスとデスクトップ・コンピュータとの両方におけるデータが同一であることを確保する。
【００３１】
無線広域ネットワークにおいて、通信は、主に、アナログ・ネットワーク、デジタル・セルラ・ネットワーク、またはパーソナル通信サービス（「ＰＣＳ：ｐｅｒｓｏｎａｌ  ｃｏｍｍｕｎｉｃａｔｉｏｎｓ  ｓｅｒｖｉｃｅ」）ネットワーク上での無線信号の送信を通じて発生する。信号は、マイクロ波および他の電磁波を通じて送信されることもあり得る。通信のために使用される電磁波は、自由空間を通じて、または「光ファイバ」を導波路として使用して送信される、視覚周波数またはほぼ視覚周波数における「光」波を含み得る。現在のところ、大抵の無線データ通信は、符号分割多元接続（「ＣＤＭＡ」）、時分割多元接続（「ＴＤＭＡ」）、グローバル・システム・フォー・モバイル・コミュニケーション（「ＧＳＭ（登録商標）」）、パーソナル・デジタル・セルラ（「ＰＤＣ」）などの第２の世代技術を使用してセルラ・システム上で、または先進移動電話サービス（「ＡＭＰＳ」）上で使用されるセルラ・デジタル・パケット・データ（「ＣＤＰＤ」）などの、アナログ・システム上のパケット・データ技術を通じて起こる。「無線アプリケーション・プロトコル」または「ＷＡＰ」という用語は、ハンドヘルド・デバイスおよびモバイル・デバイス上で小さいユーザ・インタフェースを用いてウェブベースのデータの配信および提示を容易にするためのユニバーサルな仕様を意味する。
【００３２】
「リアル・タイム」（「リアルタイム」とも言う）または「ほぼリアル・タイム」という用語は、タイミングを主な設計目的として使用するシステム設計アプローチを意味する。具体的には、リアル・タイム・システムは、所定の基準を満たす時間間隔内に、１以上の動作を完了する。この用語は、実行される動作、例えば、「リアル・タイムでの更新」を指すためにも使用され得る。時間間隔基準は、特定の量の時間であってもよく、または、「バッチ」システムもしくは「オフライン」システムと称されることもある、別の非リアル・タイム・システムと対照的に定義されてもよい。時間間隔は、システムによって変わる要件によって決定されることが認められ得る。例えば、高性能航空機のリアル・タイム制御システムは、マイクロ秒単位で応答することが必要とされ得るのに対して、リアル・タイムの貯水位調整装置については、数時間間隔での更新が容認可能であり得る。人間のユーザとの相互作用において、「リアル・タイム応答」を提供するシステムは、不快な遅延なしにシステムの相互作用的な使用または「ライブ」使用を可能とするのに十分な速さで、ユーザが入力に対する応答を受け取ることを意味する。
【００３３】
本明細書における説明では、リアル・タイム・トランザクション処理は、システム・データに影響を与える動作を迅速に完了するようにシステムが設計されており、結果として得られる変更されたデータは、オフライン同期プロセスを必要とせずに、できる限り迅速に他のシステム・コンポーネントに対して利用可能にされることを意味する。このようなシステムの正確なタイミングは、処理時間およびネットワーク上でのデータの伝搬などの数多くの要因に依存するが、顕著な特徴は、トランザクション・イベントの結果として変更されたデータの迅速な利用可能性であることが認められ得る。
【００３４】
図１２Ａは、１つの実施形態に係るコンピューティング環境１２００の高レベルのブロック図である。図１２Ａは、ネットワーク１２１４によって接続されるサーバ１２１０と３つのクライアント１２１２とを例示する。説明を単純化し、明確にするために、３つのクライアント１２１２のみが図１２Ａに示されている。コンピューティング環境１００の実施形態は、ネットワーク１２１４、例えば、インターネットへ接続される、数千個または数百万個のクライアント１２１２を有し得る。ユーザ（図示せず）は、ネットワーク１２１４を通じてサーバ１２１０とその関連付けられた通信機器およびソフトウェア（図示せず）を介してメッセージを送ることと、メッセージを受信することの両方のために、クライアント１２１２のうちの１つでソフトウェア１２１６を動作させ得る。
【００３５】
図１２Ｂは、サーバ１２１０またはクライアント１２１２を実装するのに適したコンピ
ュータ・システム１２１１のブロック図を図示する。コンピュータ・システム１２１１は、中央処理装置１２１５、システム・メモリ１２１７（典型的には、ＲＡＭであるが、システム・メモリはＲＯＭ、フラッシュＲＡＭなども含み得る）、入出力コントローラ１２１８、オーディオ出力インタフェース１２２２を介したスピーカ・システム１２２０などの外部オーディオ・デバイス、ディスプレイ・アダプタ１２２６を介したディスプレイ画面１２２４などの外部デバイス、シリアル・ポート１２２８および１２３０、（キーボード・コントローラ１２３３を用いてインタフェースされる）キーボード１２３２、ストレージ・インタフェース１２３４、フロッピー（登録商標）・ディスク１２３８を受け入れるように動作するディスク・ドライブ１２３７、ファイバ・チャネル・ネットワーク１２９０へ接続するように動作するホスト・バス・アダプタ（ＨＢＡ）インタフェース・カード１２３５Ａ、ＳＣＳＩバス１２３９へ接続するように動作するホスト・バス・アダプタ（ＨＢＡ）インタフェース・カード１２３５Ｂ、および光ディスク１２４２を受け入れるように動作する光ディスク・ドライブ１２４０などの、コンピュータ・システム１２１１の主要なサブシステムを相互接続するバス１２１３を含む。マウス１２４６（または、シリアル・ポート１２２８を介してバス１２１９へ結合される他のポイント・アンド・クリック・デバイス）、モデム１２４７（シリアル・ポート１２３０を介してバス１２１２へ結合される）、およびネットワーク・インタフェース１２４８（バス１２１３へ直接的に結合される）も含まれる。
【００３６】
バス１２１３は、中央処理装置１２１４とシステム・メモリ１２１７との間のデータ通信を可能とする。システム・メモリ１２１７は、前述されたように、読み出し専用メモリ（ＲＯＭ）またはフラッシュ・メモリ（どちらも図示せず）と、ランダム・アクセス・メモリ（ＲＡＭ）（図示せず）とを含み得る。ＲＡＭは、一般には、オペレーティング・システムおよびアプリケーション・プログラムがロードされるメイン・メモリである。ＲＯＭまたはフラッシュ・メモリは、ソフトウェア・コードの中でも特に、基本入出力システム（ＢＩＯＳ）を含み得る。ＢＩＯＳは、周辺コンポーネントとの相互作用などの基本ハードウェア動作を制御する。コンピュータ・システム１２１１に存在するアプリケーションは、一般には、ハード・ディスク・ドライブ（例えば、固定ディスク１２４４）、光学式ドライブ（例えば、光学式ドライブ１２４０）、フロッピー（登録商標）・ディスク・ユニット１２３７、または他の記憶媒体などのコンピュータ読取可能な媒体上に記憶され、コンピュータ読取可能な媒体を介してアクセスされる。また、アプリケーションは、ネットワーク・モデム１２４７またはインタフェース１２４８または他の電気通信機器（図示せず）を介してアクセスされる際に、アプリケーションおよびデータ通信技術に応じて変調される電気信号の形式であり得る。
【００３７】
ストレージ・インタフェース１２３４は、コンピュータ・システム１２１０の他のストレージ・インタフェースと同様に、固定ディスク・ドライブ１２４４などの、情報の記憶および／または取出のための標準的なコンピュータ読取可能な媒体へ接続され得る。固定ディスク・ドライブ１２４４は、コンピュータ・システム１２１１の一部であってもよく、または、別個のものであって、他のインタフェース・システムを通じてアクセスされてもよい。モデム１２４７は、インターネット・サービス・プロバイダ（ＩＳＰ）（図示せず）を介して、電話線またはインターネットを介して遠隔サーバへの直接的に接続を提供し得る。ネットワーク・インタフェース１２４８は、ＰＯＰ（ｐｏｉｎｔ  ｏｆ  ｐｒｅｓｅｎｃｅ）を介したインターネットへの直接的なネットワーク・リンクを介して遠隔サーバへの直接的な接続を提供し得る。ネットワーク・インタフェース１２４８は、このような接続を、デジタル・セルラ電話接続、セルラ・デジタル・パケット・データ（ＣＤＰＤ）接続、デジタル衛星データ接続などを含む無線技法を使用して提供し得る。
【００３８】
多くの他のデバイスまたはサブシステム（図示せず）は、同様の手法で接続され得る（例えば、文書スキャナ、デジタル・カメラなど）。反対に、図１２Ｂに示されるデバイス
の全てが、本開示を実施するために存在する必要はない。デバイスおよびサブシステムは、図１２Ｂに示される手法とは異なるように相互接続されてもよい。図１２Ｂに示されるコンピュータ・システムなどのコンピュータ・システムの動作は、本技術分野において容易に知られており、本出願においては詳細に議論されない。本開示を実装するためのソフトウェア・ソースおよび／またはオブジェクト・コードは、システム・メモリ１２１７、固定ディスク１２４４、光ディスク１２４２、またはフロッピー（登録商標）・ディスク１２３８のうちの１つまたは複数などの、コンピュータ読取可能な記憶媒体に記憶され得る。コンピュータ・システム１２１１上で提供されるオペレーティング・システムは、ＭＳ−ＤＯＳ（登録商標）（ＭＳ−ＤＯＳは、ワシントン州レドモンドのマイクロソフト・コーポレーションの登録商標である）、ＷＩＮＤＯＷＳ（登録商標）（ＷＩＮＤＯＷＳ（登録商標）は、ワシントン州レドモンドのマイクロソフト・コーポレーションの登録商標である）、ＯＳ／２（登録商標）（ＯＳ／２は、ニューヨーク州アーモンク（Ａｒｍｏｎｋ）のインターナショナル・ビジネス・マシーンズ・コーポレーション（Ｉｎｔｅｒｎａｔｉｏｎａｌ  Ｂｕｓｉｎｅｓｓ  Ｍａｃｈｉｎｅｓ  Ｃｏｒｐｏｒａｔｉｏｎ）の登録商標である）、ＵＮＩＸ（登録商標）（ＵＮＩＸ（登録商標）は、英国レディングのエックス／オープン・カンパニー・リミテッド（Ｘ／Ｏｐｅｎ  Ｃｏｍｐａｎｙ  Ｌｉｍｉｔｅｄ）の登録商標である）、Ｌｉｎｕｘ（登録商標）（ＬＩＮＵＸ（登録商標）は、オレゴン州ポートランドのライナス・トーバルズ（Ｌｉｎｕｓ  Ｔｏｒｖａｌｄｓ）の登録商標である）、または他の既知もしくは開発済みのオペレーティング・システムのいずれかの一種または一バージョンであり得る。
【００３９】
さらに、本明細書において説明される信号に関して、当業者は、信号が第１のブロックから第２のブロックへ直接的に送信され得ること、または信号がブロック間で変更され（例えば、増幅され、減衰され、遅延され、ラッチされ、バッファリングされ、反転され、フィルタリングされ、または、さもなければ変更され）得ることを認識する。上述された実施形態の信号は、１つのブロックから次のブロックへ送信されるものとして特徴付けられるが、本開示の他の実施形態は、信号の情報および／または機能面がブロック間で送信される限り、そのような直接的に送信される信号に代えて変更された信号を含んでもよい。ある程度は、第２のブロックにおける第２の入力は、関与する回路の物理的制限に起因して（例えば、いくらかの減衰および遅延が必然的に存在する）、第１のブロックから出力される第１の信号から導かれる第２の信号として概念化され得る。そのため、本明細書において、第１の信号から導かれる第２の信号は、第１の信号を含み、または、回路制限に起因するものであれ、もしくは第１の信号の情報および／もしくは最終的な機能面を変化させない他の回路要素の通過に起因するものであれ、第１の信号に対する任意の変更を含む。
【００４０】
本明細書における特徴および説明のうちの多くは、「ユニット・モデル」と称される情報モデルを参照する。ユニット・モデルの設計および構造は、それ自体が本開示の一部であり、その特徴は、本明細書において開示される本発明の複数の実施形態の他の特徴および説明のうちの多くの基礎である。
【００４１】
本明細書における説明は、大まかに３つの態様に分けられ得る。第１に、ユニット・モデルは、要素、方法、および関係の抽象的なセットである。第２に、ユニット・モデルのインスタンス化またはインスタンスは、ドメイン、観察のセット、実際の知識、データなどに対応して収集されるモデル要素の特定の集合およびアセンブリを指す。モデル・インスタンスはドメインのモデルであると言うことができる。第３に、ユニット・モデルの実装は、例えば、デジタル・コンピュータにおけるプログラムおよびデータとしての、モデルまたはモデルのインスタンスの機械実装を指す。これらの３つの態様を使用する参照は互換的に使用され得ることが認識されるべきである。例えば、モデルへの参照は、コンピュータ上でのモデルおよびその方法の実装も参照し得る。別の例として、モデルのインス
タンスへの参照は、コンピュータのメモリ内でのインスタンスの表現への参照として見なされ得る。
【００４２】
ユニット・モデル（本明細書においては、「モデル」または「情報ユニット・モデル」または「知識ユニット・モデル」とも称される）は、知的情報処理に対応する構造およびプロセスの抽象化から成るモデルである。モデルは、「情報ユニット」または「知識ユニット」と称される単一のアトムに基づく。情報の全ての領域は、情報ユニットのアレイおよびそれらの間の関係によって説明され得る。本発明のいくつかの実施形態は、このような知識ユニットの異なる構成を含む。
【００４３】
情報ユニットは表現である。情報ユニットは、いかなるものも表現し得る。情報ユニットは、自動車などの実際のオブジェクトを表現してもよく、または、情報ユニットは、アイデアなどの抽象的思考を表現してもよい。情報ユニットは、情報ユニットのシーケンスも表現し得る。
【００４４】
図２Ａ〜図２Ｃは、情報ユニットの構造およびその構成要素を図示する樹形図である。図２Ａを参照すると、情報ユニット２０２が示されている。ユニット２０２は、一意なＩＤ２０４、名前２０６、要素リスト２０８およびパスのリスト２１０を含む、いくつかの関連付けられた属性を有する。
【００４５】
あらゆるユニットは、典型的には、一意な識別子を有する。同一の識別子を有することは可能であるが、これは、二次キー、またはユニットの誤った呼び出しの可能性を暗示し得る。
【００４６】
あらゆるユニットは、ユニットの意味を識別する助けとするために使用されるテキスト文字列である、１つの名前またはいくつかの名前を有し得る。例えば、ユニットは、１２３ｘｙｚというＩＤを有する青い自動車を表現し得るが、その名前は、「青い自動車」であってもよい。ユニットは、債券の価格を表現する数学的変数を表現し得る。ＩＤは、５６７ｍｎｏであり得る。このユニットは、２つの名前を有してもよく、第１の名前は「債権価格」であり、第２の名前は「ＢＰ」から始まり、これは等式における表示により適している。ユニットの名前は、必ずしも一意であるとは限らず、そのユニットが何を表現するのかを人間のユーザが識別するのに役立つように使用されるに過ぎない。
【００４７】
要素リスト２０８は、要素のシーケンスを表現する。図２Ｂは、要素の構造を図示する。要素２３０は、別の情報ユニットを識別する構造である。要素情報ユニットが識別され得るいくつかの手法が存在する。その手法は、１）そのｉｄ２３２によって直接的に参照されること、２）情報ユニットの演算子ターゲット２３４として間接的に参照されること、３）情報ユニットのソース・ターゲット２３６として間接的に参照されることであり得る。さらに、要素によって参照される情報ユニットは、情報ユニットによって参照される要素であり得る。要素は、マッピング動作における使用のための記号要素または記号シーケンスとして識別され得る。さらに、要素は、例えば、クラスの属性を指し示し得るパスを付加された、上記の方法のうちのいずれかによって、ユニットを参照し得る。
【００４８】
パス・リスト２１０は、ユニットが他の情報ユニットと共に有するパスのリストである。パス構造は、図２Ｃに図示される。パス２５０は、ソース・ユニット２５２と、関係ユニット２５６と、宛先ユニット２５４と、抵抗２５８とから成る。
【００４９】
真理値２１２は、ユニットが現実またはユニットの演算子の成功を表現する条件または程度を示す、例えば、バイナリまたは実数値といった値である。
望ましさ因子２１４は、ユニットがユニット・モデル・インスタンス化の実施形態に対
して望ましいまたは望ましくない何かを表現する程度を示す実数値である。
【００５０】
演算子２１６は、十分な大きさの衝撃を受け取った際に行われるアクションを示す。演算子によって取られるアクションは、情報ユニットを作成し、変更し、または削除し得、パスを作成し、変更し、または削除し得、モデル実施形態に特有である、例えば、入力デバイスまたは出力デバイスを操作する、実際の演算子を呼び出し得る。演算子は、より一般には、ユニットのシーケンスに対して作用し得る任意のアクションであってもよく、すなわち、ユニットを並べ替え、ユニットの別のシーケンス内の特定のユニットまたはユニットのセットの存在をマッピングし、チェックする。
【００５１】
多くの演算子が、本発明の実施形態において作成され得る。リストされる演算子は、本発明のいくつかの実施形態においてユニット、アトム値、および他のオブジェクトに対して取り得る演算子の例として提供される。このような演算子は、下記を含むが、これらに限定されない。
【００５２】
Ｃｒｅａｔｅｕｎｉｔ  −  新たなユニットを作成する。新たなユニットは、ユニットのターゲットである。
Ｃｏｐｙ  −  ユニット、ユニットのセットおよびそれらの関係（例えば、クラス）をコピーする
Ｃｏｐｙｏｎｔｏ  −  ソース・ユニットの関係をコピーし、それらを宛先ユニットに対して適用する
Ｄｅｌｅｔｅｕｎｉｔ  −  ユニットを削除する
Ｓｈｏｃｋ  −  衝撃をユニットへ送る
Ｆａｃｔ  −  何も行わない演算子である。要素は、シーケンスを表現する役割のみを果たし、そのため、ｆａｃｔと称される
Ｉｎｔｅｒｓｅｃｔ？  −  あるリストが、別のリストと共通の要素を有するか
Ｉｎｔｅｒｓｅｃｔ−ｅｘ？  −  あるリストの全ての要素が、別のリストの要素であるか
Ｌｏｏｐ（ｌｉｓｔ，ｅｌｅｍｅｎｔ）  −  リストの各要素に対するサイクルであり、［ｅｌｅｍｅｎｔ］のうちの第１の要素を現在の要素に対して設定する。ループが次に衝撃を受け取った際、ループは、［ｅｌｅｍｅｎｔ］をリストの要素リストにおける次の要素に対して設定する。
【００５３】
Ｒｅｓｅｔ（ｌｏｏｐ）  −  ループが次に衝撃を加えられた際に、その要素変数をリストの第１の要素に設定するように、ループ・ユニットを再設定する。
Ｍａｐｅｌｅｍｅｎｔｓ  −  ターゲット・ユニットの要素に対してマップを適用し、成功した場合には、ターゲット要素のうちの１つまたは複数に対して仮想ユニットを設定する。成功した場合には、真理値を真に設定し、そうでない場合には、偽に設定する。
【００５４】
Ｍａｐｐａｔｈｓ  −  ターゲット・ユニットのパスに対してマップを提供し、成功した場合には、ターゲット・パス要素のうちの１つまたは複数に対して仮想ユニットを設定する。成功した場合には、真理値を真に設定し、そうでない場合には、偽に設定する。
【００５５】
Ａｄｄｐａｔｈｓ：［Ｕｎｉｔ］［Ｓｏｕｒｃｅ］［Ｒｅｌａｔｉｏｎ］［Ｄｅｓｔｉｎａｔｉｏｎ］  −  ユニットに対してパスを追加する
Ｄｅｌｅｔｅｐａｔｈ  −  ユニットからパスを削除する
Ｃｌｅａｒ  −  ユニットのリストから全ての要素を除去し、仮想ユニットをクリアする。
【００５６】
Ｓａｍｅ  Ｕｎｉｔ？：［Ｕｎｉｔ１］［Ｕｎｉｔ２］  −  ユニット１とユニット
２とは同じか
Ｓｉｍｉｌａｒ  Ｕｎｉｔ？：［Ｕｎｉｔ１］［Ｕｎｉｔ２］  −  ユニット１とユニット２とは同様のユニットを有するか
Ｓｅｔ［Ｕｎｉｔ１］［Ｕｎｉｔ２］［Ｕｎｉｔ３］＊［Ｕｎｉｔ４］  −  ［Ｕｎｉｔ１］から［Ｕｎｉｔ２］［Ｕｎｉｔ３］の要素および［Ｕｎｉｔ４］の要素を設定する
Ｒｅａｌ：［Ｏｐｅｒａｔｏｒ］［Ｐａｒａｍｅｔｅｒ  １．．ｎ］  −  ［Ｏｐｅｒａｔｏｒ］によって特定される実際の演算子を呼び出す演算子。実際の演算子は、ユニット・モデルの外部の任意のもの、例えば、ディスプレイ、ストレージ・デバイス、または入力デバイスと相互作用するものである。
【００５７】
ユニットに対する演算子に加えて、実数、入力関数、プロセス、および他の環境面を表現するアトムが、下記の実際の演算子のうちの１つまたは複数によって動作させられ得る。
【００５８】
ａ＝ｂ＋ｃ、ａ＝ｂ−ｃ、ａ＝ｂ＊ｃ、ａ＝ｂ／ｃ  −  単純な算術演算
Ｃｏｓ、Ｓｉｎ、Ｔａｎ、ＡｒｃＣｏｓ、ＡｒｃＳｉｎ、ＡｒｃＴａｎ、Ｃｏｓｈ、Ｓｉｎｈ、Ｔａｎｈ  −  三角演算
Ｌｎ、Ｌｏｇ、Ｐｏｗｅｒ  −  対数
ＩｓＮｕｍｂｅｒ？  −  ユニットの要素は、数を表現するか
＞、＜、＜＝、＞＝、！＝、＝？  −  単純な算術比較演算子
Ｄｉｖ  −  商および剰余演算子
ＩｎｐｕｔＴｅｘｔ  −  ユーザからテキストを得る
Ｍｅｓｓａｇｅ  −  メッセージのテキストがディスプレイへ示されるように設定する
ＭｅｓｓａｇｅＹｅｓＮｏ  −  ＹｅｓボタンまたはＮｏボタンをクリックするようにユーザに要求するメッセージ・ボックスを示す
ＧｅｔＳｅｌｅｃｔｅｄ  −  アプリケーション・ユーザ・インタフェースからユニットを選択するようにユーザに求める
ＡｐｐｌｉｃａｔｉｏｎＭｅｎｕ  −  アプリケーション・メイン・メニューに対して、特定のプロセスにアクセスすることができるアイテムを追加する
ＵｎｉｔＭｅｎｕ  −  ユニットの右クリック・メニューに対して、特定のプロセスにアクセスすることができるアイテムを知的に追加する
ＧｅｔＣｏｍｍｅｎｔ  −  ユニットのコメントを得る
ＳｈｏｗＵｎｉｔ  −  ユニットをディスプレイへ示す
Ｆｏｒｍ  −  ユニットのセットを表現するコントロールを有する相互作用フォームを示す。このセットは、通常、クラス、クラス・インスタンスまたはリストである。
【００５９】
Ｉｍｐｏｒｔ  −  区切られたテキスト・ファイルをインポートする
ＣｏｕｎｔＥｌｅｍｅｎｔｓ  −  ユニットの要素の数を数える
ＦｉｎｄＰａｒｅｎｔＰｒｏｃｅｓｓ  −  工程がメンバーであるプロセスを発見する
ＳｅｔＷｏｒｋｉｎｇＫＢ  −  システムのＷｏｒｋｉｎｇＫＢ変数を設定する。ＷｏｒｋｉｎｇＫＢは、複数の目的のために使用され、特に、作成される新たなユニットのドメインを設定するために使用される
ＳｅｔＵｎｉｔＫＢ  −  特定のユニットのドメインを設定する
ＳｅｔＴｒｕｔｈＶａｌｕｅ  −  ユニットの真理値を設定する
Ｓｌｅｅｐ  −  特定された数ミリ秒間、一時停止させるための衝撃フローを引き起こす演算子
ＩｓＥｍｐｔｙ？  −  ユニットはいずれかの要素を有するか？ユニットが要素を有する場合、演算子は、そのユニットの真理値を偽に設定する
ＬｏａｄＫＢ  −  ストレージ・デバイスから知識ドメインをロードする。
【００６０】
ユニットは、このユニットの動作の対象となる演算子ターゲット・ユニット２１５を有し得る。ユニット２０２は、ユニット２０２を活性化するユニットを識別するソース・ターゲット・ユニット２１３も有し得る。
【００６１】
ユニット・モデルは、構成要素の小さいセットを有しており、作業がしやすい。ユニット・モデルの例示的な表現は、図２Ａ〜図２Ｃにおいて提供されている。モデルは、非常に一般的でもある。モデルは、単一の一般的な構造（情報ユニット）から成り、ソースが生成するイベントの任意のセットをモデル化するのに十分である。モデルは、直面される非常に多様な経験を正確に表現するためのその能力においても一般的である。無制限の数のイベントの組み合わせが、モデルを用いて表され得る。
【００６２】
ユニット・モデルは、ソースの観察者として採用されてもよく、ソースが一連の「イベント」を作成する。観察されるイベントの各々は、その結果として、モデルにおいて情報ユニットとしてインスタンス化される。イベントは、典型的には、モデル命名法において２文字のシーケンス「Ｅｖ」によって表現される。イベントは、モデルにおける情報ユニットである。
【００６３】
複数のイベントが観察され、複数の対応する情報ユニットがモデルにおいてインスタンス化された場合、ユニット間の「関係（Ｒｅｌａｔｉｏｎ）」もインスタンス化され得る。こうした関係の例は、イベント間のタイミングに対処することができ、ここで、関係は、「前」、「後」、または「同時」であり得る。ユニット間の関係の別の例は、イベントが同一ではないことを表す「異なる」である。関係は、典型的には、モデル命名法において小文字の「ｒ」によって表現される。情報ユニットも、モデルにおけるユニット間の関係を表現するために使用され得る。
【００６４】
２つのユニットは、それら２つのユニット間の関係と併せて、「パス」として定義される。パスは、モデルにおける情報ユニットによっても表現され得る。
「状態」は、インスタンス化されたイベントの集合である。したがって、観察される各イベントは、モデルにおける新たな状態を作成する。状態は、典型的には、モデル命名法において小文字の「ｓ」によって表現される。状態は、モデルにおける情報ユニットでもある。
【００６５】
「状況」は、連続的な状態のセットとして定義される。具体的には、状況は、関係する情報ユニットの状態のシーケンスである。状況は、典型的には、モデル命名法において大文字の「Ｓ」によって表現される。状況は、モデルにおける情報ユニットでもある。
【００６６】
ある特定の状態の後に、別の特定の状態が常に続く場合、この２つの状態は「条件関係」を有すると言われる。条件関係は、典型的には、モデル命名法において２つの文字列「−＞」によって表現される。条件関係は、モデルにおける情報ユニットでもある。
【００６７】
「記号ユニット」は、任意の他のユニットの値を呈し得るユニットである。記号ユニットは、１つよりも多くのイベントが、あるケースと一致する場合の一般化のために有益である。記号ユニットは、典型的には、モデル命名法において、その後に整数が続く下線（「＿」）を備える文字列によって表現され、マッピングに関与する動作において使用される。記号ユニットは、単一のユニットを表現するように制約されてもよく、またはユニットのシーケンスを表現してもよい。
【００６８】
各条件関係は、その条件関係が依存するユニット（先行する条件）と、この先行する条件が満足された結果である他のユニットとを有することに留意されたい。したがって、結
果として生じるユニットは、ユニットのシーケンスだけを表現するのはなく、次の状態がその前の状態とどのように異なるかも示す。したがって、結果は、変化の主体でもある。
【００６９】
いくつかの実施形態において、結果は、新たなユニットの作成を含む。他の実施形態において、結果は、その代わりに、既存のユニットを変更する。したがって、条件関係の満足は、情報ユニット（ターゲット・ユニット）を、その演算子によって定義されるように、作成し、変更し、または除去し得る。
【００７０】
各情報ユニットは、１以上の他の情報ユニットに対して関係を有し得、これは、おそらくはパスとして記憶されるシーケンスを含み得る。情報ユニットと別の情報ユニットまたはターゲット・シーケンスとの間の関係は、等価、マッピングまたは抽象化であり得る。
【００７１】
情報ユニットが複数のユニットを含む場合、要素シーケンスは、様々な実施形態において、様々な基準に従って順序付けられてもよく、または、このシーケンスは、特定の順序を有しなくてもよい。例えば、シーケンスは、作成日時または同様の時間的基準に従って順序付けられ、またはソートされてもよい。したがって、あらゆる経験を情報ユニットのセットとして表現することができる。
【００７２】
「ライブラリ」は、ドメインの集合である。
「共通フロー」は、自由で抑制されないフローである。「バイポーラ・フロー」は、２つの変位された情報ユニットからのフローである。
【００７３】
カプセル化は、複数のユニットが単一のユニットとして参照されるプロセスである。カプセル化の例は、リスト、プロセス、およびドメインである。
持続的なイベント、または持続的な関連するイベントのセットは、「オブジェクト」と称される。オブジェクトは、リスト、クラス・インスタンスであってもよく、実際の物理的なものに対応し得る。「リスト」は、要素のシーケンスから構成されるオブジェクトとして定義される。
【００７４】
「プロセス」は、互いに条件関係（通常は線形）を有するユニットのセットのカプセル化である。プロセスは、１以上の衝撃をユニットのシーケンスに向ける。
「ドメイン」は、知識の領域である。ドメインの同義語は「ユニバース」である。ドメインは、オブジェクト、クラス、情報ユニット、および他のユニット・モデル要素を含み得る。
【００７５】
全てが関係の同様のセットを有するオブジェクトのセットを「クラス」と称する。クラスは、表現される情報ユニットの全てが同様の特徴を有する、情報ユニットのセットを表現する、ユニットの仮想セットである。クラスにおける情報ユニットの数に対しては制限がない。同様に、このコンテキストにおいては、関係のセットまたは特徴のセットは、抽象化の何らかのレベルにおいて同じであることを意味する。
【００７６】
クラスのメンバーを、クラスの「インスタンス」と称する。同様の関係を属性関係と称し、関係を形成するイベントをクラスの「属性」と称する。
全てのクラスは、クラス属性間に存在し得る全ての条件関係をカプセル化する、プロセスのセットを有し得る。こうしたプロセスは、クラスの「原理」と称される。一般に、クラスは、任意の数の属性および原理を有し得る。
【００７７】
属性は、テキスト文字列、オプションのリストによって制約されるテキスト文字列、クラス自体またはリストであり得る。例えば、名前属性は、テキスト文字列タイプである。人物（クラス）の性別（属性）は、「男性」または「女性」のリストによって制約される
テキスト文字列属性の例である。従業員（リスト属性）は、各リスト・アイテムがクラス従業員であるリスト属性の例であり、従業員は、会社の属性である。
【００７８】
オブジェクト、クラス、リストおよびプロセスを説明してきた。しかしながら、情報ユニットは、はるかに多くの種類の構成において配置され得る。他の情報ユニットのランダム・シーケンスである情報ユニットが作成されてもよい。観察される状態との相関が理由で、作成されるユニットのうちの一部が、将来の状態の予測因子と見なされ得る条件関係を表すことがあり得る。しかしながら、過去の実績は必ずしも将来の結果を示すとは限らないため、条件関係を表すユニットは、真の真理値または望ましい真理値に関連することもあれば、関連しないこともある。
【００７９】
したがって、各ユニットは、観察に対するそのユニットの関連を示す二進値の特性を有し、この特性をその「真理値」または「ＴＶ」と称する。真理値は、「真」もしくは「偽」であり、または、代替的な実施形態においては、実数量であり得る。真理値は、いくつかの例において、ユニットの演算子の成功または値も表現し得る。ユニットの真理値は、同じユニットの演算子または異なるユニットの演算子のアクションによって変更され得る。他の実施形態において、真理値は、ユニットのこの特性のファジー理論評価を表現する、非二値の実数値であり得る。このようなファジーな値は、実数、例えば、０から１の範囲、所定の最小値と所定の最大値との間の範囲の整数値、または取り得る値の他のセットであってもよい。
【００８０】
各ユニットは、他のユニットに対するそのユニットの望ましさに対応する整数または実数値の特性であり得る望ましさ因子も有する。
説明されたように、情報ユニットは、観察の結果、構築され、ユニバースに対して追加され得る。情報ユニットの追加的な特性は、「演算子」と呼ばれる。演算子は、後述されるように衝撃を印加すること、情報ユニットに対して論理演算または集合演算を行うこと、このような情報ユニットを順序付し、シーケンス化し、および他の処理機能を行うことを含めて、ユニット自体の情報ユニットのセットを作成し、変更するための能力をユニットに与える。したがって、ユニットは、情報ユニットの個々の部分を追加し、除去し、コピーし、または変えることを含めて、ユニット自体の情報ユニットのセットに追加を行い、除去し、コピーし、編集し得る。演算子は、観察された変化の主体を反映する。
【００８１】
３つの追加的な変更演算子、すなわち、衝撃演算子、パス抵抗設定、閾値設定が、情報ユニットに対して適用される。衝撃演算子は、ユニットに対して「衝撃」を与え、したがって、フローの選択的な開始を可能とする。パス抵抗演算子は、パスの「抵抗」特性を設定する。１つの実施形態において、抵抗は正の実数量である。１つの実施形態において、抵抗特性は、抵抗がエネルギーの流れに抵抗し、エネルギーを浪費させるという点において、流体抵抗、機械抵抗または電気抵抗と類似する。したがって、抵抗特性は、エネルギーが流れるパスを開閉することによって、フローの選択的な制御を可能とする。１つの実施形態において、パスの抵抗特性は、時間と共に変化する。例えば、ユニットの抵抗は、エネルギーがパスを流れるたびに減少し得る。したがって、パスは、経験されたフローの履歴のメモリを含み得る。パスを流れたフローの過去の履歴は、現在のフローに対する抵抗に影響を与え得る。他の実施形態において、抵抗は、特定のユニットの一定の特性として定義され得る。
【００８２】
各ユニットは、その「閾値」として知られる特性を有する。閾値は、ユニットの演算子を活性化するために必要とされる衝撃の数および／または量を量化する。いくつかの実施形態において、単一の「衝撃」は、ユニットを活性化し、ユニットは、その結果として、おそらくは無制限の数の「宛先ユニット」に衝撃を与える。他の実施形態において、演算子を活性化し、その条件パスの全てに沿った衝撃を開始するために、複数の衝撃が必要と
される。１つの実施形態において、複数の衝撃は、設定された期間内に到達しなければならない。別の実施形態において、複数の衝撃は、衝撃の累積量がユニット活性化閾値に到達するか、または超過するまで累積される。
【００８３】
ユニット・モデルを使用するシステムの１つの例示的な実施形態は、図１においてシステム１００として示される。データ・バス１０２は、プロセッサ１０８と、入力デバイス１０２と、出力デバイス１０４と、通信インタフェース１０６と、メモリ１１０とを相互接続する。メモリ１１０は、本明細書において説明される方法を実装するためにプロセッサ１０８によって使用される様々なアイテムを記憶し、オペレーティング・システム１１２と、ユニット・モデル・モジュール１１４と、モデル視覚化モジュール１１６と、モデル・エディタ・モジュール１１８と、モデル観察モジュール１２０と、動作モジュール１２２と、ダイナミクス・モジュール１２４とを含み、これら全てはユニット・モデル・ストレージ１２６へのアクセスを有する。
【００８４】
多くの相互接続された情報ユニットを備えるネットワークにおいて、活性化され得る取り得る演算子の数は無制限である。これが生じるとすれば、多くの新たなユニットが総セットに対して追加される。本発明の様々な実施形態のうちのいくつかに従って、有限のエネルギーおよび抵抗の概念を適用することは、取り得る活性化の数を制限する。
【００８５】
ユニット・モデルの別の重要な側面は、フローと名付けられる。モデルのこの側面をダイナミクスと称する。「フロー」は、活性化されたユニットの軌跡として、および、これらのユニットを接続するパスとして定義される。フロー・パスに含まれるユニットは、フローの外部のユニットと異なる。なぜなら、含まれる各ユニットは、そのユニットを通過する何らかの動的な特性のフローを経験しているためである。この動的な特性を「エネルギー」と呼ぶ。そのため、十分なエネルギーを用いて衝撃を与えられるユニットは、その演算子を活性化するものとする。いかなるユニットも、条件関係の先行条件となり得る。エネルギーを印加する動力（ｄｙｎａｍｉｃ）は、どのように結果が活性化されるかを説明する。条件関係は、条件から結果へエネルギーを伝達するためのパスとして動作する。
【００８６】
様々な実施形態において、ユニットは、衝撃を受け取った後に、衝撃からのエネルギーを使用することによって動作して、ユニット演算子を実行する。ユニットが、１以上の宛先ユニットへのパスを有する場合、残りのエネルギーは、１以上の宛先ユニットに対し向けられる。宛先ユニットが、それら自体の宛先ユニットへのパスを有し、演算子によるエネルギーの消費およびパス上での抵抗損失を乗り越えた後に残っているエネルギーを有する限り、エネルギーのこの伝達は継続する。ユニット・モデルの任意の特定のインスタンス化において、多くの取り得るエネルギー・フロー経路が存在する。特定のドメインまたはユニバースは、エネルギー・フローが抵抗に直面するにつれてエネルギーが浪費される異なる方法を有し得る。
【００８７】
図６を参照すると、フロー・チャートは、本発明の一実施形態に係る、単一のユニット内での衝撃の処理を説明する。図６は、本発明の１つの実施形態に係る、単一のユニットにおけるフローの処理を説明する。ただし、特定のドメインまたはユニバースは、フローを別様に処理し得る。実際的なモデルは、複数の接続されたユニットを備えるため、全てのユニットを通じて同様のプロセスを反復することが必要である。処理は、６０１において開始し、決定６０２へ進む。決定６０２は、考慮中のユニットが他のユニットから衝撃または何らかのエネルギーを受け取ったかを決定する。６０２が偽（いいえ）である場合、ユニットの処理は６１１において終了する。６０２が真（はい）である場合、処理は決定６０３へ続く。
【００８８】
いくつかの実施形態において、衝撃エネルギーの量は、ユニットを活性化するための閾
値を超えなければならない。決定６０３は、衝撃エネルギーがユニットを活性化するのに十分であるかを決定する。決定６０３が偽（いいえ）である場合、ユニットの処理は６１１において終了する。６０３が真（はい）である場合、処理は６０４へ続く。
【００８９】
６０４において、ユニット演算子が活性化される。次いで、６０５において、残りのエネルギーを決定するために、消費エネルギー損失が適用される。いくつかの実施形態において、ユニットの活性化は、入力からのエネルギーを使用し、または浪費する。他の実施形態において、演算子の活性化が原因でエネルギーが損失されることはなく、全ての入力エネルギーが、アタッチされたユニットへの伝搬のために残る。さらに他の実施形態において、エネルギーは、ユニットが活性化された場合に追加される。
【００９０】
６０６において、抵抗調整が適用される。いくつかの実施形態において、ユニットの活性化は、その抵抗を減少させ、または、その閾値を減少させ、したがって、そのユニットが後続のフローに含まれる可能性を高める。他の実施形態において、ユニットの活性化は、その閾値または抵抗を増加させ、そのユニットが将来のフローに含まれる可能性を低くする。
【００９１】
６０４および６０５において処理が完了すると、ユニットは、接続された他のユニットへ渡すためのエネルギーを有し得る。６０６において、他のユニットが接続されているかが決定される。ユニットが接続されていない場合、処理は６１１において終了する。少なくとも１つの他のユニットが接続されている場合、決定６０６は真（はい）であり、処理は６０７へ続く。
【００９２】
６０７において、到来するフローの残りのエネルギーは、出力接続間で分配される。１つの実施形態において、エネルギーは、出力接続間で等しく分けられる。別の実施形態においては、複数の出力接続が存在する場合、分配アルゴリズムが、どのようにエネルギーが分けられるかを決定する。分配アルゴリズムは、特定の基準を満たす関係を有するパスへのフローも制約し得る。処理は６１１において終了する。
【００９３】
ユニット・モデルは、モデルにおいて使用される情報ユニットに変化を引き起こすために活性化され得る、いくつかのデバイスを有する。様々な実施形態において、方法は、こうしたデバイスを使用して、望ましい結果を追求し、または望ましくない結果を回避する。特定のドメインまたはユニバースは、多様な条件に基づいて、ドメインまたはユニバース自体の望ましい結果の評価基準を有し得る。
【００９４】
前述のセクション［０９８］から［０１０３］は、ユニットが衝撃を受け取った後のアクティビティを説明した。原理上は、無限の数のユニットが、同時に衝撃を受け取り得る。理論上、これは完全に容認可能である。しかしながら、実際には、利用可能なハードウェアが、これらの衝撃をシステムがどのように管理するかを指図する。これが達成され得る数多くの手段が存在する。直列型システムの場合、このシステムの１つの実施形態は、エンジンによって系統的に上から下へ辿られる衝撃スタックのセットを採用する。別のユニットへ衝撃を与える演算子を持つユニットは、スタックのこのセット内のスタックのうちの１つに対して衝撃を内部的に追加し得る。スタックは、衝撃のリストである構造である。衝撃は、衝撃のエネルギーに関連する特性とパス特性とを有する構造である。パスは、衝撃源、宛先、および、２つを接続し、エネルギーが流れる関係を定義する。スタック、衝撃およびパスは、エンジンまたはユニット・モデルによって実装され得る。衝撃は、エネルギーが流れるパスによって定義される。
【００９５】
衝撃は、現在のスタックの終わりに追加されてもよく、または、衝撃が追加される新たなスタックが作成されてもよく、新たなスタックは、現在のスタックに設定される。その
ため、ターゲット・ユニットへのフローは、先行するスタックがその処理を再開する前に完了する。複数のフローが並行して、ただし、直列的に時間管理されるように、動作し得ることが留意されるべきである。ユニットを有する接続へエネルギーが分配される手法は、スタックによって実装され得るプロセスである。
【００９６】
＞および！＞によって接続されるユニットのセットを考慮されたい。ユニットの真理値が真である場合、フローは、＞パスを進み、偽である場合、！＞パスを進む。＞および！＞関係以外の全てのパスについての抵抗は、無限に設定される。そのため、フローは、それらのパスのうちの１つを進むことが保証され得る。同様のパスおよび抵抗設定を有する多くのユニットをまとめて設置することによって、フローは、ユニットの所定のセットを通過するように方向付けられる。こうしたユニットは、マッピング、条件決定、ユニット作成／削除、ユニット変更、実インタフェース操作、および動的なパス抵抗設定などの機能を実行する演算子を有する。ユニットのこのセットは、プロセスと称される。
【００９７】
図８の一般問題解決法（Ｇｅｎｅｒａｌ  Ｐｒｏｂｌｅｍ  Ｓｏｌｖｅｒ）は、等式によってその値が決定される未知の量を決定するために使用されるアルゴリズムを具現化する例示的なプロセスである。ＧＰＳ８０１は、既知の量から未知の量を計算するために、８０２および８０３においてドメインの基本的な原理を適用し、必要な計算の全てを採用する。ＧＰＳ８０１は、特定のモデルを基準として用いずに設計されてもよく、そのため、ユニット・モデルによって説明される任意のドメインに対して適用され得る。ＧＰＳ８０１は、前述されたように全ての原理についてループし、そのプロセスに衝撃を与えることによって原理を適用する。適用すべき原理がそれ以上存在しない場合、ループ動作は、偽の真理値を有し、ボックス８０５において開始する「解の変数（Ｓｏｌｖｅ  Ｖａｒｉａｂｌｅ）」ユニットへのパスに従う。ボックス８０５は、各等式がユニットであり、その要素が特定のシーケンスにおける数、変数および他の算術記号を表現する、等式のリストについてループする。等式は、その演算子が作成演算子であるユニットに衝撃を与えることによって作成され得る。等式要素は、その時に設定されても、または後で設定されてもよい。等式リストは、その要素が等式のリストとなるユニットである。等式は、工程８０７において、Ｓｏｌｖｅ  Ｖａｒｉａｂｌｅが等式（Ｅｑ）要素のメンバーであるかを確認するために交差演算を行うことによって、解の変数を含むかを確認するためにチェックされる。Ｓｏｌｖｅ  Ｖａｒｉａｂｌｅが、等式要素のメンバーである場合、フローは、工程８０８において、変数についての等式を解くプロセスに衝撃を与える次のユニットへ進む。次に、等式は、工程８０９において評価され、工程８０１０において出力に成功する。Ｓｏｌｖｅ  Ｖａｒｉａｂｌｅが存在しない場合、プロセスは、工程８０６において失敗に終わる。
【００９８】
目標指向のフローは、所望の結果を達成し、または目標基準を満足するフローである。１つの実施形態において、目標基準は、開始ユニットのセットおよび終了ユニットのセットとして表される。他の実施形態において、目標の開始ユニットおよび終了ユニットは、状況または状態として表され得る。モデルの特定のインスタンス化内で終了ユニットを開始ユニットへ接続する経路およびユニットを見つけるために、様々な方法が使用され得る。
【００９９】
ユニット・モデルの重大な特徴は、目標指向のフロー、および、モデルのインスタンス化において目標を満足するフローを構成するユニットおよび接続の識別である。関連する概念は、「方向付けられたフロー」である。方向付けられたフローは、目標と、フローが開始するドメインと、結果として得られるフローとを備える。目標指向のフローの例示的な適用例は、発見、一般問題解決、および仮説のテストを含む。「仮説」は、既知の知識ユニットから、知識ユニットの新たなクラスを展開するプロセスである。
【０１００】
様々な実施形態において、ユニット・モデルのインスタンス化は、フィードバック、規制および観察を呈する。例として、Ｓ１およびＳ２と表される２つの状況を考慮されたい。一定の情報ユニットは、Ｓ１およびＳ２の両方のメンバーである。Ｓ２は、Ｓ１におけるユニットのうちのいくつかを含む。いくつかのＳ１ユニットは、Ｓ２における１以上のユニットの演算子のターゲットである。したがって、Ｓ２は、Ｓ１をモニタし、所定の基準に応じてＳ１のコンテンツを変更し得る。この機能は、自己観察と、フィードバックを通じた自己規制とについての基礎を提供する。この概念は、Ｓ１−＞Ｓ２−＞Ｓ３−＞Ｓ１などの、２つよりも多くの状況に関与する、より複雑な規制シナリオへ拡張され得る。
【０１０１】
先行する議論は、相関が一般にはおそらく因果関係を示すという仮定の下で、演繹法の一般的な原理に基づいて、望ましいものを予測し、説明し、追及するためのモデルの使用を説明する。しかしながら、ユニット・モデルは、さらなる有益な利点を有する。モデルは、知識を発見し、経験を反映し、一般化を行うために使用され得る。
【０１０２】
モデルは、その経験の情報の中から新たな知識を見つける際、または目標に到達する際の効率も最大化し得る。効率の最大化は、ダイナミクスの観点から述べられ得る。説明されたように、各フローはエネルギーに依存する。取り得るフロー・パスは、フローを生成するために利用可能なエネルギーを超過し得る。したがって、目標を達成するために必要とされるエネルギーを低減することが望ましい。
【０１０３】
ユニット・モデルのインスタンスを作成し、または拡張するための多くの手法が存在する。議論されたように、観察は、ユニット・モデル・インスタンスを追加するために使用され得る。いくつかの実施形態においては、観察からよりもむしろ、別の形式の情報から、ユニット・モデルのインスタンスを作成し、または拡張することが望ましい。１つの実施形態において、このような変換は、システムのダイナミクスにおける一般モデル化プロセス（ＧＭＰ：Ｇｅｎｅｒａｌ  Ｍｏｄｅｌｉｎｇ  Ｐｒｏｃｅｓｓ）の適用によって達成される。ＧＭＰは、知識を共通の形式からユニット・モデル形式へ動的に変換するための方法のセットである。ＧＭＰは、特定のドメインを展開するための一般化された手法である。
【０１０４】
図７を参照すると、図７は、ＧＭＰ変換の工程の一実施形態を説明するフロー・チャートを示す。図７に示される工程は、一般的であり、特定の実施形態のニーズ、ドメイン、または必要とされるデータ変換に対して適合され得る。工程は、異なる順序で実行されてもよく、または、いくつかの工程が、必要に応じて省略されてもよい。
【０１０５】
図７では、工程７０１において、ドメインが識別され、現実の世界または物理的な世界から関連データを収集し、作成されるモデル・インスタンスの範囲を決定する。工程７０２においては、工程７０１において識別されたドメインについての目標が識別される。目標は、望ましい情報ユニットの観点から、または、１つもしくは複数のプロセスの観点から識別され得る。工程７０３において、工程７０１において識別されたドメインに適当なクラスおよび属性のタイプの識別を含む、必要とされるオブジェクトが識別される。７０４において、工程７０３において識別されなかった、ドメイン内の一意なアイテムが識別され、キャプチャされる。
【０１０６】
工程７０５において、制約を含めて、リストおよびカプセル化が識別される。工程７０６において、同様のオブジェクトは、工程７０３において識別されたクラス・タイプに対して関連付けられる特定のクラスを識別するためにグループ化される。同様に、工程７０７において、各クラスの定義のために必要とされる特定の属性が識別される。
【０１０７】
工程７０８において、原理および条件関係は、識別され、定義されたドメイン・クラス
に従って識別される。工程７０９において、必要とされるプロセスが識別される。典型的には、こうしたプロセスは、ドメインについて定義された目標、オブジェクト、およびクラスから導かれるが、クラス属性に対して関連付けられてもよい。
【０１０８】
実際にユニット・モデルを実装するための多くの手法が存在する。１つの実施形態において、ユニット・モデルは、例えば、紙および描画装置を使用して、手動で実施される。少数のユニットまたは関係を超過するモデルの任意のインスタンスにおいては、本明細書における特徴および説明に係るモデルのユニットを記憶し、処理するためにデジタル・コンピュータを使用することが実際的である。したがって、１つの実施形態において、ユニット・モデルは、デジタル・コンピュータがモデルを記憶し、実行することを可能とする、データ構造のセット、アルゴリズムのセット、およびプログラムされた機能のセットとして提供される。別の実施形態においては、アナログ・コンピュータが使用される。別の実施形態において、アナログ・コンポーネントとデジタル・コンポーネントとの両方を組み込んだハイブリッド・コンピュータが使用される。１つの実施形態において、ユニット・モデルのために特に設計されたハードウェア・コンポーネントが、モデルを記憶し、または実行するために構築される。
【０１０９】
１つの実施形態において、コンピュータ実装は、視覚化アプリケーションを含む。本明細書において説明されるように、ユニット・モデルは、データを視覚的に表示し、組織化するために使用され得る。視覚化アプリケーションは、コンピュータ・ディスプレイまたはプリンタ上でデータを見る機能を提供する。１つの実施形態において、コンピュータ実装はエディタを含む。ユニット・モデル・エディタは、ユーザがモデルの要素を取り出し、検査し、変更し、追加し、記憶し、文書化することを可能とする。エディタは、視覚化アプリケーションと同様であるが、モデルに対して変更を加えるための機能を追加する。したがって、エディタは、知識ドメインの一部または全体を作成し、変更し、維持し、または削除するために使用され得る。エディタは、テキスト記述またはグラフィック表示を使用して、モデルの要素を編集するように設計され得る。
【０１１０】
別の実施形態において、コンピュータ実装は、観察モジュールを含む。観察モジュールは、ユニット・モデルにおけるユニットを形成するためにイベントを自動的に処理し、結果として得られるモデルを記憶する。イベントは、任意のソースから、例えば、データ・ファイル、データ・ネットワーク接続、シミュレータ、リアル・タイム・モニタから、または、外部の計装および測定装置から取得され得る。
【０１１１】
１つの実施形態において、コンピュータ実装は、モデルにおける情報ユニットに対して作用するための演算子モジュールを含む。演算子モジュールは、条件付き関連付け（ｃｏｎｄｉｔｉｏｎａｌ  ａｓｓｏｃｉａｔｉｏｎ）、因果関係の識別、値の割り当て、編集、自己観察、衝撃開始、衝撃抵抗、閾値決定、および一般化を含む動作を実行し得る。演算子モジュールは、データの要素間の関係を発見し、一般化するためのメカニズムを含み得る。
【０１１２】
１つの実施形態において、コンピュータ実装は、他のモジュールの相互作用を調整し、モデルの要素のフローを制御するための動的エンジン・モジュールを含む。１つの実施形態において、コンピュータ実装は、永続ストレージ内で、例えば、磁気テープ、回転ディスクまたは光学式ストレージ上で、モデルを記憶し、取り出すための回路を含む。１つの実施形態において、本実装は、データベース内にモデルを記憶し、このデータベースからモデルを取り出すためのインタフェースを含む。信頼性、冗長性、および大量のデータを収容するための能力などの利点を提供する、多くのデータベース・プログラムが利用可能である。１つの実施形態において、複数のアプリケーションは、情報モデラー・ツールセットまたはワークベンチ内にインテグレートされる。インテグレートされたツールセット
は、ユーザがモデルの機能を制御し、操作し、選択的に実行することを可能とするためのユーザ・インタフェースを含む。
【０１１３】
本明細書における特徴および説明に従って実装され得る、多くのコンピュータ・アプリケーションおよびツールが存在する。本明細書における例示的な実施形態は、あくまでも例に過ぎず、包括的または限定的なものとしてみなされるべきではない。本明細書における特徴および説明の１つの実施形態において、ユニット・モデルのコンピュータ実装は、特徴が外部のコンピュータ・プログラムによって呼び出され得る、コンピュータ機能のセット、オブジェクトのセット、サブルーチンのセット、またはモジュールのセットとして提供される。これは、ユーザが、ユニット・モデル・アクセス、操作および実行を実装するために必要とされる機能の全てをコーディングせずに、ユニット・モデル実装を別のコンピュータ・プログラム内へ組み込むことを可能とする。
【０１１４】
本明細書における特徴および説明は、多種多様なドメインをモデル化する際に有益である。本明細書における特徴および説明の適用例のいくつかの例示的な実施形態およびインスタンス化は、図および関連付けられた説明において例示される。ユニット・モデルの特徴の全てが、特定のドメインのモデル化において採用される必要があるわけではないことが理解されるべきである。その代わりに、モデルは、必要に応じて採用され得る、特徴およびオプションの豊富なセットを提供する。同様に、モデル機能のいくつかの側面は、モデル自体に対する変更なしに、特定のドメインに一致するように適合され得る。
【０１１５】
例えば、抵抗、ダイナミクス、およびフローの側面において、各ドメイン・モデルは、異なる特徴を必要とし得る。いくつかの実施形態において、フローのエネルギーは、エネルギー出力と浪費されたエネルギーとの合計が、システムへ投入されたエネルギーと等しくなるように保存される。他の実施形態において、いくつかのユニットは、伝搬中にエネルギーを再生し、または増幅する。特定のドメインまたはユニバースは、抵抗、ダイナミクスおよびフローに対して適用される規則を決定する。
【０１１６】
ここで、図３Ａを参照すると、閉鎖システムにおけるポイント・オブジェクトの運動学のドメインに対して適用される本発明の一実施形態が図示される。これは、物理的なシステムの特徴をキャプチャするためのユニット・モデル機能を例示する。３０２において、最上位のシステム・クラスが示されている。クラス３０２は、様々な属性を有する。全ての属性が必ずしも図に示されるとは限らない。クラス３０２の例示的な属性は、名前属性３０３、ｏｂｊｅｃｔ＿ｌｉｓｔ属性３０４、および調整システム属性３０５として示される。クラス３０２は、プロセス・リスト３０６とも関連付けられる。
【０１１７】
いくつかの実施形態において、カプセル化である属性は、タイプ・ユニット、クラス・ユニット、および制約リスト（「ＣＬｉｓｔ」）・ユニットに対して関連付けられる。したがって、図３Ａをさらに参照すると、ｏｂｊｅｃｔ＿ｌｉｓｔ属性３０４は、ｏｂｊｅｃｔ＿ｌｉｓｔタイプ・アトム３０７、ｏｂｊｅｃｔ＿ｌｉｓｔクラス・アトム３０８、およびｏｂｊｅｃｔ＿ｌｉｓｔ  ＣＬｉｓｔアトム３０９に対して関連付けられる。クラス・アトム３０８は、１以上のクラス・インスタンスに対して関連付けられ得る。ポイント・オブジェクト・クラス３１０は、クラス３０８に対して関連付けられる、１つのそのようなインスタンスである。
【０１１８】
ここで、図３Ｂを参照すると、図３Ａからの例が続いている。図３Ａからのポイント・オブジェクト・クラス３１０は、例示的な関連付けられた属性と共に示されている。属性は、名前３２０、変位機能３２１、速度機能３２２、加速機能３２３、インスタンス３２４、および遷移３２８を含む。ポイント・オブジェクト・クラス３１０は、プロセス・リスト３３２に対しても関連付けられる。これらの属性およびプロセスの各々は、ポイント
・オブジェクト・クラス３１０によって定義されるポイント・オブジェクト・モデルに対して特性または機能を追加する。
【０１１９】
インスタンス属性３２４は、この例示的な実施形態におけるモデル内のポイント・オブジェクトのインスタンスのカプセル化である。インスタンス属性３２４は、インスタンス・タイプ３２５、インスタンス・クラス３２６、およびインスタンスＣＬｉｓｔ３２７に対して関連付けられる。同様に、遷移属性３２８は、遷移タイプ３２９、遷移クラス３３０、および遷移ＣＬｉｓｔ３３１に対して関連付けられる。
【０１２０】
ポイント・オブジェクト・クラス３１０は、プロセス・リスト３３２を通じて、様々なプロセスに対して関連付けられる。２つの例示的なプロセスが示される。プロセス３３３は、変位の時間導関数としての速度の計算のためのプロセスを定義し、プロセス３３４は、速度の時間導関数としての加速度の計算のためのプロセスを定義する。
【０１２１】
ポイント・オブジェクト運動学の例示的な実施形態は、図３Ｃへ続く。（図３Ｂからの）遷移クラス３３０は、インスタンス化されたポイント・オブジェクト遷移クラス３４０と共に示される。クラス３４０のいくつかの関連付けられた属性が示される。属性は、初期インスタンス３４１、最終インスタンス３４２、変位変化３４３、時間変化３４４、速度変化３４９、および加速度変化３５０を含む。クラス３４０は、プロセス・リスト３４５に対して関連付けられる。プロセス・リスト３４５は、３つのプロセスに対して関連付けられる。プロセス３４６は、変位変化の計算のためのプロセスを定義する。プロセス３４７は、速度変化の計算を定義する。プロセス３４８は、加速度変化の計算を定義する。
【０１２２】
ポイント・オブジェクト運動学の例は、図３Ｄへ続く。図３Ｄにおいて、図３Ｂからのインスタンス・クラス３２６は、モデルの観点から、さらに説明される。クラス３２６のインスタンスは、ポイント・オブジェクト・インスタンスとして示される。インスタンス３６０のいくつかの属性は、ラベル３６１、時間３６２、速度３６３、加速度３６４、および変位３６５を含めて示される。インスタンス３６０は、プロセス・リスト３６９も含む。変位属性３６５は、関連付けられたアトム変位タイプ３６６、アトム変位クラス３６７およびアトム変位制約リスト３６８を有するカプセル化である。
【０１２３】
ポイント・オブジェクト運動学の例示的な実施形態は、図３Ｅにおいて続く。図３Ｄからの変位クラス・アトム３６７は、モデルの観点から、さらに説明される。ベクトル・クラス３７０は、変位クラス３６７の一要素である。ベクトル・クラス３７０は、属性調整システム３７１、属性デカルト３７２、属性極３７３、および属性球面３７３に対して関連付けられる。ベクトル・クラス３７０は、そのプロセス・リスト３７５に対しても関連付けられる。
【０１２４】
例示的なポイント・オブジェクト運動学の実施形態のさらなる詳細は、図３Ｆに示される。図３Ｆは、デカルト属性３７２のコンポーネントおよび関連付けを示し、図３Ｇは、極属性３７３のコンポーネントおよび関連付けを示す、これら両方は図３Ｅからのものである。図３Ｆにおいて、デカルト属性３７２は、デカルト・ベクトル・クラス３８１に対して関連付けられるデカルト・クラス３８０に対して関連付けられる。デカルト・ベクトル・クラス３８１は、プロセス・リスト３８５、ならびに、Ｘ属性３８２、Ｙ属性３８３およびＺ属性３８４に対して関連付けられる。図３Ｇにおいて、極属性３７３は、極ベクトル・クラス３９１に対して関連付けられる極クラス・アトム３９０に対して関連付けられる。極ベクトル・クラス３９１は、Ｒ属性３９２、シータ属性３９３、およびＺ属性３９４に対して関連付けられる。
【０１２５】
ここで、発見を行うための１つのアプローチが説明される。図４Ａ−１は、会社につい
てのクラス構造を説明する。この構造は、購入、契約および売上などの、会社の様々な側面についてのデータを追跡する。我々は、データの１つのセットと、データの別のセットとの間に相関が存在するかを知りたいと望む。こうした相関は、一般的には、関連付け規則と称され、知識発見およびデータ・マイニングにおける標準的な構造である。
【０１２６】
ここで、図４Ａ−１および図４Ａ−２を参照すると、本発明の一実施形態は、ビジネスの動作のドメインに対して適用されたものとして図示されている。これは、人物または会社などのエンティティを表現するためのユニット・モデルの能力を例示する。これは、雇用主／従業員および契約などのエンティティ間の抽象的な関係の表現も例示する。２つの最上位のクラス、すなわち、図４Ａ−１におけるクラス会社４００と、図４Ａ−２におけるクラス会社売上４５０とが示される。クラス会社４００は、例示的なドメインをモデル化する際に有益な属性を有する。属性名４０１、属性購入４０２、属性契約４０３、属性従業員４０４、属性レンタル４０５は全て、クラス会社４００の側面である。会社クラス４００は、プロセス・リスト４０６に対しても関連付けられ、プロセス・リスト４０６は、例示的なプロセス経費スケジュール作成４０７を含む。プロセル４０７は、図４Ｆにおいてさらに詳述される。
【０１２７】
図４Ａ−２をさらに参照すると、会社売上クラス４５０は、属性名４５１および属性予測売上４５２に対して関連付けられる。クラス４５０は、プロセス・リスト４５３に対しても関連付けられる。図４Ｂ、図４Ｃ、図４Ｄ、および図４Ｅは、図４Ａ−１および図４Ａ−２において紹介された選択された要素の定義を拡張することを通じて、ビジネス動作例のさらなる詳細を提供する。
【０１２８】
図４Ｂは、図４Ａ−１において定義される購入属性４０２の詳細を提供する。購入属性４０２は、購入タイプ４１０、購入クラス４１１、および購入ＣＬｉｓｔ４１２に対して関連付けられる。購入クラス４１１は、説明４１４および支払４１５の属性を有する購入クラス４１３に対して関連付けられる。
【０１２９】
図４Ｃは、図４Ａ−１において定義される契約属性４０３の詳細を提供する。契約属性４０３は、契約クラス・アトム４２０に対して関連付けられる。契約クラス・アトム４２０は、サービス契約クラス４２１に対して関連付けられ、サービス契約クラス４２１は、説明４２２、開始日４２３、月額４２４、および支払４２５の属性を有する。クラスサービス契約４２１は、プロセス・リスト４２６に対しても関連付けられる。
【０１３０】
図４Ｄは、図４Ａ−１において定義された従業員属性４０４の詳細を提供する。従業員属性４０４は、従業員クラス・アトム４３０に対しても関連付けられる。従業員クラス・アトム４３０は、従業員クラス４３１に対して関連付けられ、従業員クラス４３１は、名前４３２、開始日４３３、給与４３４、および支払４３５の属性を有する。クラス従業員４３１は、プロセス・リスト４３６に対しても関連付けられる。
【０１３１】
図４Ｅは、図４Ａ−２において定義された予測売上属性４５２の詳細を提供する。予測売上属性４５２は、予測売上クラス・アトム４６０に対して関連付けられる。予測売上クラス・アトム４６０は、予測売上クラス４６１に対して関連付けられ、予測売上クラス４６１は、説明４６２、単位数４６３、開始日４６４、終了日４６５、単価４６６、正味額４６７、および支払４６８の属性を有する。クラス予測売上４６１は、プロセス・リスト４６９に対しても関連付けられる。
【０１３２】
ここで、図４Ｆを参照すると、図４Ａ−１からの経費スケジュール作成プロセス４０７の詳細が提供されている。プロセス４０７は、工程または動作のシーケンスから構成され、プロセスの各工程は、それ自体が動作のシーケンスであり得る。したがって、ユニット
・モデルを使用して、複雑なプロセス、階層化されたプロセス、および多層的なプロセスを説明することができる。図４Ｆを参照すると、プロセス４０７は、５つの工程４７０、４７１、４７２、４７３、および４７４を備える。次に、プロセス４７０は、３つの工程４７５、４７６、および４７７を備える。プロセス４７１は、２つの工程４７８および４７９を備える。プロセスは、詳細な動作、ループ、または条件付き決定も含み得る。プロセス４７５は、ループ４８０を含む。プロセス４７６は、ループ４８１を含む。プロセス４７７は、ループ４８２を含む。
【０１３３】
図１１は、図４Ｆのプロセス４７７を定義する。プロセスは、工程１１０１において４つのパラメータを有する。変数［ＣｕｒｒｅｎｔＤａｔｅ］は、工程１１０２において定義され、工程１１０３において［ＢｅｇｉｎＤａｔｅ］パラメータに設定される。［ＣｕｒｒｅｎｔＤａｔｅ］が、工程１１０４において［ＥｎｄＤａｔｅ］未満である場合、工程１１０５において、支払クラスのインスタンスを作成する。新たなクラス・インスタンスは、コピー・ユニットのターゲットである。工程１１０６において、ターゲットは、｛Ｎｅｗ  Ｐａｙｍｅｎｔ｝として識別される。中括弧は、要素が別のユニットのターゲットを参照していることを示す。支払インスタンスの属性は、工程１１０７において設定され、［ＣｕｒｒｅｎｔＤａｔｅ］は、工程１１０８において３０日間だけインクリメントされ、支払インスタンスは、工程１１０９において［Ｐａｙｍｅｎｔ］に対して追加される。
【０１３４】
図５Ａ〜図５Ｅは、白黒画素のアレイにおけるオブジェクトの識別のドメインに対して適用される本発明の一実施形態を例示する。これは、データにおけるパターンおよび関係を発見するためのモデルの機能を例示する。図５Ａにおいて、デカルト画素アレイ・クラス５０１は、最上位に存在し、ピクチャ・エレメントまたは画素の２次元アレイを備える。アレイ５０１は、画素属性５０２、行属性５０３、ｒｏｗ＿ｃｏｕｎｔ属性５０４、列属性５０５、ｃｏｌｕｍｎ＿ｃｏｕｎｔ属性５０６、ブロブ属性５０７、形状属性５０８、およびオブジェクト属性５０９を含む、いくつかの関連付けられた属性を有する。プロセス・リスト５１０も、クラス５０１に対して関連付けられる。
【０１３５】
図５Ｂ−１は、図５Ａにおいて既に定義された画素属性５０２のさらなる詳細を提供する。画素属性５０２は、画素クラス・アトム５２０に対して関連付けられる。画素クラス・アトム５２０は、画素クラス５２１に対して関連付けられ、画素クラス５２１は、行５２２、列５２３、および値５２４の属性を有する。
【０１３６】
図５Ｂ−２は、図５Ａにおいて既に定義された行属性５０３のさらなる詳細を提供する。行属性５０３は、行クラス・アトム５２５に対して関連付けられる。行クラス・アトム５２５は、行クラス５２６に対して関連付けられ、行クラス５２６は、画素５２７、および位置５２８の属性を有する。モデルのインスタンス化における任意のクラスは、図示されない多くの属性およびサブクラスを有し得る。同様に、属性は、モデルのインスタンスを調整し、拡張し、または維持することの一部として、または、モデル化されているドメインにおける変化に応じて、追加され、もしくは変更され得る。例えば、行属性５０３の詳細が示されているが、列属性５０５は同様の属性を有する。したがって、例示的な実施形態の詳細は、包括的であることよりもむしろ、モデル機能の例示となることを意図される。
【０１３７】
図５Ｃは、図５Ａにおいて既に定義されたブロブ属性５０７のさらなる詳細を提供する。ブロブ属性５０７は、ブロブ・クラス・アトム５３０に対して関連付けられる。ブロブ・クラス・アトム５３０は、ブロブ・クラス５３１に対して関連付けられ、ブロブ・クラス５３１は、絶対画素５３２、差分画素５３３、シーケンス５３４、線５３５、タイプ５３６、および形状５３７の属性を有する。ブロブ・クラス５３１は、関連付けられるプロ
セス・リスト５３８も有する。
【０１３８】
図５Ｄは、クラス５０１によって使用されるプロセスを例示する。図５Ａにおいて、クラス５０１は、プロセス・リスト５１０に対して関連付けられるように示された。図５Ｄにおいては、プロセス・リスト５１０の要素である、いくつかのプロセスが示される。プロセス５４０は、画素アレイを作る。プロセス５４１は、画素アレイをボタン・アレイとして示す。プロセス５４２は、選択されたボタンを得る。プロセス５４３は、ブロブを作成する。プロセス５４４は、基本形状をマッピングする。プロセス５４５は、複雑な形状をマッピングする。
【０１３９】
図５Ｅは、ブロブ・クラス５３１によって使用されるプロセスを例示する。図５Ｃにおいて、クラス５３１は、プロセス・リスト５３８に対して関連付けられるものとして示された。図５Ｅにおいては、プロセス・リスト５３１の要素である、いくつかのプロセスが示される。プロセス５５０、５５１、５５２、５５３、および５５４は、クラス５３１によって必要とされるプロセスを実行する。
【０１４０】
モデルは、一般には、多数の実際の状況／観察された状況を説明するように設計され得る。モデルにおいて実際に説明される、全ての実際の状況の複合和は、データ・ドメインと称される。関係は、データの一定のセットと、データの他のセットとの間に存在し得、おそらく、データのこうしたセットは全て、何らかの数値範囲における値を有する。ユニットまたはユニットのセットは、ソースおよびターゲット・ドメインとして識別され得る。ソースをターゲット・ユニットへリンクする全ての理論上取り得るマップ工程のセットを見つけることは、当業者にとっては簡単なプロセスである。そのため、本発明のシステムの実施形態は、新たな知識を自律的に発見し得る。そのため、こうした原理、および原理が適用されるクラスおよび属性までも発見することが、ユニット・モデルに対して要求され得る。このプロセスは、発見と称される。知識発見およびデータ・マイニングを含む、他の共通の名前が、このプロセスについて存在する。
【０１４１】
図９のフロー・チャート図は、発見プロセスの取り得る実装を説明する。発見プロセスは、プロセス発見に衝撃を与えることによって開始される（工程９０１）。工程９０２において、ドメインを説明するパスの全てを表現するユニットのリストを作成するプロセスは衝撃を与えられる。各ユニットの要素は、［ｓｏｕｒｃｅ］関係［ｄｅｓｔｉｎａｔｉｏｎ］となる。次いで、プロセスは、工程９０３において衝撃を与えられて、マップのセット（マップ：＿１、＿２、＿３）を作成する。プロセスは、例えば、＿１  関係１  ＿２、［ｓｏｕｒｃｅ］＿１  ＿２等、潜在的な可能性ごとにマップを作成し得る。マップ作成９０３は、概念リスト内のあらゆる概念に＿１  関係  ＿２という形式のマップを作成するためのプロセスを定義する。「＿１  ＿２  ＿３」マップは、各概念に対して適用され、次いで、新たなユニットが作成され、その要素は、！＿１  ＿２  ！＿３に設定される。この！は、要素が、＿１のコンテンツを使用することに対して、＿１として定義されることを示す。マッピング・プロセスの実装は、工程１００５において既存のマップに対して付加される新たなマップとして、工程１００３における各概念を、工程１００４において各概念への新たな参照という結果にして、工程１００２において概念のリストについてループすることによって、マップを作成する工程１００１を示す図１０に示される。図９に戻ると、工程９０４において、マップの組み合わせの全て、またはマップの組み合わせの全てのうちのサブセットを、先例と結果との関連付けへとまとめるプロセスが衝撃を与えられる。先例、結果およびメトリックの属性を有する規則クラスは、コピーされる。工程９０５において、プロセスは、規則をテストするために衝撃を与えられる。テスト・プロセスは、規則についてのメトリックの任意のセットの追跡を行い、その結果を規則クラス・インスタンスのメトリック属性の属性内に記憶し得る。
【０１４２】
説明されたプロセスのバリエーションがそれらをどのようにより一般的で複雑なものにするかは、簡単に考え出される。例えば、規則の先例の数は、１よりもはるかに大きくなり得、マップにおける仮想ユニットの組み合わせは、より多数で、一般的となり得る。
【０１４３】
特定のドメインまたはユニバースに加えて、本発明のシステムは、特定のドメインに対する制約なしに実装され得ることも予期される。したがって、１つの実施形態において、経験される全ての状況のカプセル化と、全ての喜び値および痛み値のカプセル化とを備えるオブジェクトがインスタンス化される。このオブジェクトは、「ｓｅｌｆ」と称される。
【０１４４】
１つの実施形態において、Ｓｅｌｆオブジェクトを観察し、Ｓｅｌｆオブジェクトを目標へ向けて規制するＳ＿ｓｅｌｆと呼ばれる状況がインスタンス化される。１つの実施形態において、目標は、喜びを探し求め、痛みを回避することである。この目標は意識ある生物の一次的動因を反映すると観察され得る。刺激および場合により他の目標の追加を含むさらなる改善により、より複雑な振る舞いが生成され得る。したがって、この実施形態により、人工知能の本質および動作をさらに研究することが可能となる。
【０１４５】
本発明の一定の実施形態が上述されてきたが、説明された実施形態は、あくまでも例に過ぎないことが理解されるであろう。したがって、本発明は、説明された実施形態に基づいて限定されるべきではない。むしろ、本明細書において説明された発明の範囲は、上記の説明および添付の図面と併せて検討される際に、下記に続く特許請求の範囲に照らしてのみ限定されるべきである。
【図１】
0006360197.tif 000002
【図２Ａ】
0006360197.tif 000003
【図２Ｂ】
0006360197.tif 000004
【図２Ｃ】
0006360197.tif 000005
【図３Ａ】
0006360197.tif 000006
【図３Ｂ】
0006360197.tif 000007
【図３Ｃ】
0006360197.tif 000008
【図３Ｄ】
0006360197.tif 000009
【図３Ｅ】
0006360197.tif 000010
【図３Ｆ】
0006360197.tif 000011
【図３Ｇ】
0006360197.tif 000012
【図４Ａ−１】
0006360197.tif 000013
【図４Ａ−２】
0006360197.tif 000014
【図４Ｂ】
0006360197.tif 000015
【図４Ｃ】
0006360197.tif 000016
【図４Ｄ】
0006360197.tif 000017
【図４Ｅ】
0006360197.tif 000018
【図４Ｆ】
0006360197.tif 000019
【図５Ａ】
0006360197.tif 000020
【図５Ｂ−１】
0006360197.tif 000021
【図５Ｂ−２】
0006360197.tif 000022
【図５Ｃ】
0006360197.tif 000023
【図５Ｄ】
0006360197.tif 000024
【図５Ｅ】
0006360197.tif 000025
【図６】
0006360197.tif 000026
【図７】
0006360197.tif 000027
【図８】
0006360197.tif 000028
【図９】
0006360197.tif 000029
【図１０】
0006360197.tif 000030
【図１１】
0006360197.tif 000031
【図１２Ａ】
0006360197.tif 000032
【図１２Ｂ】
0006360197.tif 000033