JP2017508224A - System and method for recognition-based processing of knowledge - Google Patents

System and method for recognition-based processing of knowledge Download PDF

Info

Publication number
JP2017508224A
JP2017508224A JP2016563771A JP2016563771A JP2017508224A JP 2017508224 A JP2017508224 A JP 2017508224A JP 2016563771 A JP2016563771 A JP 2016563771A JP 2016563771 A JP2016563771 A JP 2016563771A JP 2017508224 A JP2017508224 A JP 2017508224A
Authority
JP
Japan
Prior art keywords
unit
information unit
information
model
class
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2016563771A
Other languages
Japanese (ja)
Other versions
JP6360197B2 (en
Inventor
ディ. ファイゲンバウム、トーマス
ディ. ファイゲンバウム、トーマス
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Individual
Original Assignee
Individual
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Individual filed Critical Individual
Publication of JP2017508224A publication Critical patent/JP2017508224A/en
Application granted granted Critical
Publication of JP6360197B2 publication Critical patent/JP6360197B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/02Knowledge representation; Symbolic representation
    • G06N5/022Knowledge engineering; Knowledge acquisition
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • G06N20/10Machine learning using kernel methods, e.g. support vector machines [SVM]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning

Abstract

知識表現およびアプリケーション開発のためのシステムは、プロセッサと、プロセッサに対して結合されているメモリ・ユニットと、メモリ・ユニット内に記憶されている複数の情報ユニットを備える。情報ユニットは、情報ユニットが衝撃を与えられる、すなわち、活性化される場合に情報ユニットが実行する複数のアクションのうちの1つを定義する演算子と、情報ユニットと別の情報ユニットとの間に存在する関係を記述する少なくとも1つのパスとを含む。システムは、情報ユニットの演算子に衝撃を与えるかまたは演算子を活性化するとともに、衝撃を与えられた情報ユニットがパスを介して接続される別の情報ユニットにさらなる衝撃、すなわち、活性化を流すために、プロセッサによって実行可能な動的エンジン・モジュールをさらに備える。情報ユニットおよびパスは、知識表現スキーマ、情報ユニット・モデルを具現化し、それによって、情報ユニット・モデルのインスタンス化またはインスタンスが、ドメイン、観察結果のセット、実際の知識、およびデータのうちの少なくとも1つに対応するためのモデル要素の特定の集合およびアセンブリを参照する。A system for knowledge representation and application development includes a processor, a memory unit coupled to the processor, and a plurality of information units stored in the memory unit. An information unit is between an information unit and another information unit that defines one of the actions that the information unit performs when the information unit is impacted, ie activated. And at least one path describing a relationship that exists. The system impacts or activates the operator of the information unit, and further impacts, i.e., activates, another information unit to which the impacted information unit is connected via the path. A dynamic engine module executable by the processor is further provided for streaming. The information unit and path embody a knowledge representation schema, an information unit model, whereby an instantiation or instance of the information unit model is at least one of a domain, a set of observations, actual knowledge, and data. Refers to a specific set and assembly of model elements to accommodate one.

Description

本発明の分野は、一般に、知識の自動化された処理に関し、より具体的には、アクセス、視覚化、発見および処理において一定の利点を提供する情報の抽象モデルのアプリケーションに関する。   The field of the invention relates generally to automated processing of knowledge, and more specifically to applications of abstract models of information that provide certain advantages in access, visualization, discovery and processing.

情報処理の自動化は、人間が最古の装置を着想し、構築して以来、発明および機械設計の目標であった。進歩した処理スキームを探求することは、大きな関心のある領域であり、科学的理解を促進するための大きな将来性を有し、富を生み出し人類を利するために採用され続けている。   Information processing automation has been the goal of invention and mechanical design since humans conceived and built the oldest devices. Exploring advanced processing schemes is an area of great interest, has great potential for promoting scientific understanding, and continues to be adopted to generate wealth and benefit humanity.

計算機の出現により、計算能力、処理の利用のしやすさ、ディスク記憶およびデータ・ネットワークなどの利用可能な技術における進歩は、興味深い状況を作り出してきた。こうした新たな技術は、過去には概念的な実験または思考的な実験でしかあり得なかった情報処理の多くのモデルの実装を可能とする。しかしながら、同じ技術は、膨大な量の記憶されるデータおよび情報の作成および記憶も可能とし、今度は、大量の記憶されたデータを処理するための進歩し自動化された技法に対する必要を生み出した。   With the advent of computers, advances in available technologies such as computing power, process accessibility, disk storage and data networks have created interesting situations. These new technologies make it possible to implement many models of information processing that could only have been conceptual or thought experiments in the past. However, the same technology has also enabled the creation and storage of vast amounts of stored data and information, which in turn has created a need for advanced and automated techniques for processing large amounts of stored data.

情報および認識のモデル化は、コンピュータ理解、認識科学、神経生物学、マクロ意識の組織、教育、決定支援システムおよび基礎物理を含む、多くの科学分野において有益である。特殊化されたモデルに従った、情報処理のモデル化および自動化は、認識を理解し、より高次の認識機能および理解をコンピュータに与えるための鍵として提案されてきており、おそらくは、コンピュータが発見を行い、人間の限界に匹敵または超過する機能に達することを可能とする。   Information and cognitive modeling is beneficial in many scientific fields, including computer understanding, cognitive science, neurobiology, macro-conscious organization, education, decision support systems and basic physics. Modeling and automation of information processing, following specialized models, has been proposed as a key to understanding recognition and giving computers higher-order cognitive functions and understanding, perhaps discovered by the computer And make it possible to reach functions that are comparable to or exceeding human limits.

人工知能(AI:Artificial Intelligence)という用語は、思考、理解、推論、学習、問題解決、抽象化、観察および説明を含む、人間のような認識能力を機械が呈することを可能とすることを対象とする研究および実装に広く及ぶ。機械を人間のように振る舞わせ、または機械に知的挙動を示させるいかなる試みも、人工知能と説明されることが多い。   The term Artificial Intelligence (AI) is intended to allow machines to exhibit human-like cognitive abilities, including thinking, understanding, reasoning, learning, problem solving, abstraction, observation and explanation. It covers a wide range of research and implementation. Any attempt to make a machine behave like a human or cause a machine to show intelligent behavior is often described as artificial intelligence.

人工知能に対する多くの従来のアプローチは、AI実装を2つの領域、すなわち、知識ベースと知識エンジンとに分ける。知識ベースは、特定のドメインに関する知識を機械使用可能な形式でキャプチャする。知識エンジンは、知識ベースを適用する。言い換えれば、知識ベースは、ロジックまたは規則と類似しているのに対して、知識エンジンは、ロジックを適用する機能的な命令、アルゴリズムおよび処理命令である。しかしながら、多くのAI実装は、ロジックとアプリケーションとの間の区別を曖昧にする。例えば、ロジックは、処理命令を含み得る。   Many conventional approaches to artificial intelligence divide AI implementation into two areas: a knowledge base and a knowledge engine. A knowledge base captures knowledge about a particular domain in a machine-usable form. The knowledge engine applies a knowledge base. In other words, a knowledge base is similar to logic or rules, whereas a knowledge engine is functional instructions, algorithms and processing instructions that apply logic. However, many AI implementations obscure the distinction between logic and applications. For example, the logic may include processing instructions.

知識ベースを設計し、構築することは、知識エンジニアリングの主要な活動である。知識エンジニアリングという用語は、1983年にエドワード・ファイゲンバウム(Edward Feigenbaum)によって初めて使用された。ファイゲンバウムは、高度な人間の専門知識を通常は必要とする複雑な問題を解決するために、知識をコンピュータ・システム内にインテグレートすることに関与する工学専門分野として、知識エンジニアリングを定義した。大抵は、領域専門家が、知識ベースのための知識を提供し、この専門家の知識が、自動的にまたは人間の行為によって知識ベースへ変換され得る。特に課題となることは、AIアプリケーションにおいても、メンテナンス者および作成者にとっても
、知識を容易にアクセス可能とする形式で知識を符号化することである。
Designing and building a knowledge base is a major activity in knowledge engineering. The term knowledge engineering was first used in 1983 by Edward Feigenbaum. Feigenbaum defined knowledge engineering as an engineering discipline involved in integrating knowledge into computer systems to solve complex problems that normally require advanced human expertise. For the most part, domain experts provide knowledge for a knowledge base that can be converted to a knowledge base automatically or by human action. A particular problem is to encode knowledge in a format that makes it easily accessible to both the AI application and the maintainer and creator.

知識ベースを設計するための1つの従来のアプローチは、各規則が先行部分と後続部分とを備える規則のシーケンスとして知識をキャプチャする。先行部は、一連の条件であり、この一連の条件は、満足された場合に、後続部分において特定される行為をトリガする。次いで、規則は、1以上の最終的な結論を得るために、入力データのセットに対して処理される。規則ベースの専門家システムは、限られた領域では成功を達成しているが、課題は、領域知識を一連の規則においてキャプチャすることである。大抵の従来のシステムは、領域専門家が知識工学技術者と共に作業して、規則をキャプチャすることを必要としてきた。規則ベースのシステムが直面している別の課題は、規則を便宜的な手法で適用し、タイムクリティカルなシステムにおける規則ベースのシステムの使用を制限することである。人間の専門家が結論に到達する際に規則と、それに応じて、規則の自動化されたアプリケーションの値とを使用するかは、しばしば議論される。   One conventional approach for designing a knowledge base captures knowledge as a sequence of rules where each rule comprises a predecessor and a successor. The predecessor is a series of conditions that, when satisfied, trigger an action specified in the subsequent part. The rules are then processed against the set of input data to obtain one or more final conclusions. Although rule-based expert systems have achieved success in a limited domain, the challenge is to capture domain knowledge in a set of rules. Most conventional systems have required domain experts to work with a knowledge engineer to capture the rules. Another challenge facing rule-based systems is to apply rules in a convenient manner and limit the use of rule-based systems in time-critical systems. It is often debated whether human experts use the rules and correspondingly the automated application values of the rules in reaching the conclusion.

領域知識のモデルを構築するための従来のアプローチは、自動化された観察者が一連のイベントおよび条件を調べ、その結果として、観察に基づいて領域知識のモデルを構築するトレーニングである。監視下での学習(強化トレーニングとも呼ばれる)においては、教師または他の専門知識の源が、正確な結果を提供することによってトレーニングを誘導する。非監視下での学習においては、自動化された学習システムが、誘導なしで、データセット内のパターンまたは特徴を探す。観察されたデータから規則を自動的に構築しようと試みた従来のシステムもある。   The traditional approach to building a domain knowledge model is training in which an automated observer examines a series of events and conditions and, as a result, builds a domain knowledge model based on the observations. In supervised learning (also called reinforcement training), a teacher or other source of expertise guides the training by providing accurate results. In unsupervised learning, an automated learning system looks for patterns or features in the dataset without guidance. Some conventional systems have attempted to automatically construct rules from observed data.

人工知能に対する別のアプローチは、人工ニューラル・ネットワークを採用する。生体ニューロンのネットワークは、人間および他の生物の脳の大半を構成する。人工ニューラル・ネットワークは、相互接続する人工ノードまたはニューロンを実装するためにコンピューティングアルゴリズムまたはハードウェアを使用して、類似の原理を使用する。各ノードは、その入力ネットワークから刺激を受け取ることができ、適切に刺激された場合に、このノードは、「興奮し(fires)」、その出力に接続されたノードへ刺激を送る。接続および興奮閾値は、ネットワークの機能を決定する。ニューラル・ネットワークは、コネクショニズムの分野に一般化されることもある。   Another approach to artificial intelligence employs artificial neural networks. A network of biological neurons makes up the majority of the brains of humans and other organisms. Artificial neural networks use similar principles, using computing algorithms or hardware to implement interconnecting artificial nodes or neurons. Each node can receive a stimulus from its input network and, when properly stimulated, it “fires” and sends the stimulus to the node connected to its output. Connection and excitement thresholds determine network functionality. Neural networks are sometimes generalized in the field of connectionism.

ニューラル・ネットワークにおける早期の研究は、生体システム構造および機能をエミュレートすることに重点を置いていたが、大抵の現代の研究は、信号処理および統計に基づいている。ニューラル・ネットワークに関する問題は、ニューラル・ネットワークが知識ドメイン上でトレーニングされるという要件である。トレーニングには時間がかかることがあり、獲得される知識はトレーニング・データに固有のものである。したがって、人工ニューラル・ネットワークは、トレーニング・ドメイン外のデータに対して対処するための能力を一般化または獲得しない。ニューラル・ネットワークは、制御システムなどの限られたドメインにおいて成功を収めてきた。   Early work in neural networks focused on emulating biological system structure and function, but most modern work is based on signal processing and statistics. The problem with neural networks is the requirement that the neural network be trained on the knowledge domain. Training can be time consuming and the knowledge gained is specific to the training data. Thus, artificial neural networks do not generalize or gain the ability to deal with data outside the training domain. Neural networks have been successful in limited domains such as control systems.

分類子は、データのセットをクラスに分け、データにおけるパターンを認識し、一般には、データセットにおける関係を自動的に識別するための自動化されたシステムである。このような関係は、相互関係、ランキング、クラスタおよび特徴を含み得る。多くの分類子は、カーネル方法またはサポート・ベクトル・マシンを使用して実装される。カーネル方法は、筆跡鑑定および自動文字認識などの分野において、いくらかの成功を収めてきた。   A classifier is an automated system for classifying a set of data, recognizing patterns in the data, and generally automatically identifying relationships in the data set. Such relationships can include interrelationships, rankings, clusters and features. Many classifiers are implemented using kernel methods or support vector machines. The kernel method has had some success in areas such as handwriting appraisal and automatic character recognition.

検証および妥当性確認は、コンピュータベースの知能システムの別の課題である。多くの基幹系システムは、システムが仕様を満たすことを検証し、そのシステムが展開される前に、そのシステムが期待通りに動くことも妥当性確認するための集中的なテストを必要
とする。このテストは、自動化された認識実装においてはよくあることであるが、人間によって簡単に理解されない形式で知識がキャプチャされ、システムの振る舞いが複雑または非線形である場合に困難となる。
Verification and validation is another challenge for computer-based intelligent systems. Many critical systems require intensive testing to verify that the system meets specifications and to validate that the system works as expected before it is deployed. This test, which is common in automated recognition implementations, is difficult when knowledge is captured in a form that is not easily understood by humans and the behavior of the system is complex or non-linear.

他の関連する分野は、認識モデル化、情報理論、およびコルモゴロフ複雑性である。
本発明は、知的思考および情報処理中に存在する要素、構造およびプロセスを説明するコンピュータ実装モデルに関連する。
Other relevant areas are cognitive modeling, information theory, and Kolmogorov complexity.
The present invention relates to a computer-implemented model that describes the elements, structures, and processes that exist during intelligent thinking and information processing.

本モデルおよびそのコンピュータ実装は、その単純さ(少数の要素のみから成る)および普遍性(この領域において直面される非常に多様な経験を正確に表現するための能力)において基礎となることが意図されている。本方法論は、科学分野および情報処理技術を含む、人間の努力のいくつかの分野に対する形式的記述と適用との両方を有する。   The model and its computer implementation are intended to be based on its simplicity (consisting of only a few elements) and universality (the ability to accurately represent the very diverse experiences faced in this area) Has been. The methodology has both a formal description and application to several areas of human effort, including science and information processing technology.

この発明の上述された特徴および目的ならびに他の特徴および目的、ならびにそれらを獲得する手法は、添付の図面と併せて検討される、本発明の実施形態の下記の説明を参照することによって、より明らかとなり、本発明自体がより良く理解されるであろう。   The foregoing features and objects of the invention, as well as other features and objects, and techniques for obtaining them, will be more fully understood by reference to the following description of embodiments of the invention, considered in conjunction with the accompanying drawings. It will become apparent and the invention itself will be better understood.

本発明の一実施形態を実装するコンピュータ・システムの概略図。1 is a schematic diagram of a computer system that implements an embodiment of the present invention. 本発明の一実施形態に係る、クラスの構成および関係コンポーネントを図示する樹形図。FIG. 3 is a dendrogram illustrating class configuration and related components, according to one embodiment of the present invention. 本発明の一実施形態に係る、要素の構成および関係コンポーネントを図示する樹形図。FIG. 4 is a dendrogram illustrating the configuration of elements and related components according to one embodiment of the present invention. 本発明の一実施形態に係る、パスの構成および関係コンポーネントを図示する樹形図。FIG. 3 is a tree diagram illustrating path configuration and related components, in accordance with one embodiment of the present invention. 閉鎖システムにおけるポイント・オブジェクトの運動学(kinematics)のドメインに対して適用される本発明の一実施形態を例示する図。FIG. 3 illustrates an embodiment of the present invention applied to a domain of kinematics of point objects in a closed system. 閉鎖システムにおけるポイント・オブジェクトの運動学のドメインに対して適用される本発明の一実施形態を例示する図。FIG. 3 illustrates an embodiment of the present invention applied to the kinematics domain of point objects in a closed system. 閉鎖システムにおけるポイント・オブジェクトの運動学のドメインに対して適用される本発明の一実施形態を例示する図。FIG. 3 illustrates an embodiment of the present invention applied to the kinematics domain of point objects in a closed system. 閉鎖システムにおけるポイント・オブジェクトの運動学のドメインに対して適用される本発明の一実施形態を例示する図。FIG. 3 illustrates an embodiment of the present invention applied to the kinematic domain of point objects in a closed system. 閉鎖システムにおけるポイント・オブジェクトの運動学のドメインに対して適用される本発明の一実施形態を例示する図。FIG. 3 illustrates an embodiment of the present invention applied to the kinematics domain of point objects in a closed system. 閉鎖システムにおけるポイント・オブジェクトの運動学のドメインに対して適用される本発明の一実施形態を例示する図。FIG. 3 illustrates an embodiment of the present invention applied to the kinematics domain of point objects in a closed system. 閉鎖システムにおけるポイント・オブジェクトの運動学のドメインに対して適用される本発明の一実施形態を例示する図。FIG. 3 illustrates an embodiment of the present invention applied to the kinematics domain of point objects in a closed system. ビジネスの運営のドメインに対して適用される本発明の一実施形態を例示する図。The figure which illustrates one Embodiment of this invention applied with respect to the domain of business management. ビジネスの運営のドメインに対して適用される本発明の一実施形態を例示する図。The figure which illustrates one Embodiment of this invention applied with respect to the domain of business management. ビジネスの運営のドメインに対して適用される本発明の一実施形態を例示する図。The figure which illustrates one Embodiment of this invention applied with respect to the domain of business management. ビジネスの運営のドメインに対して適用される本発明の一実施形態を例示する図。The figure which illustrates one Embodiment of this invention applied with respect to the domain of business management. ビジネスの運営のドメインに対して適用される本発明の一実施形態を例示する図。The figure which illustrates one Embodiment of this invention applied with respect to the domain of business management. ビジネスの運営のドメインに対して適用される本発明の一実施形態を例示する図。The figure which illustrates one Embodiment of this invention applied with respect to the domain of business management. ビジネスの運営のドメインに対して適用される本発明の一実施形態を例示する図。The figure which illustrates one Embodiment of this invention applied with respect to the domain of business management. 単一値の画素のアレイにおけるオブジェクトの識別のドメインに対して適用される本発明の一実施形態を例示する図。FIG. 3 illustrates an embodiment of the present invention applied to the domain of object identification in an array of single valued pixels. 単一値の画素のアレイにおけるオブジェクトの識別のドメインに対して適用される本発明の一実施形態を例示する図。FIG. 3 illustrates an embodiment of the present invention applied to the domain of object identification in an array of single valued pixels. 単一値の画素のアレイにおけるオブジェクトの識別のドメインに対して適用される本発明の一実施形態を例示する図。FIG. 3 illustrates an embodiment of the present invention applied to the domain of object identification in an array of single valued pixels. 単一値の画素のアレイにおけるオブジェクトの識別のドメインに対して適用される本発明の一実施形態を例示する図。FIG. 3 illustrates an embodiment of the present invention applied to the domain of object identification in an array of single valued pixels. 単一値の画素のアレイにおけるオブジェクトの識別のドメインに対して適用される本発明の一実施形態を例示する図。FIG. 3 illustrates an embodiment of the present invention applied to the domain of object identification in an array of single valued pixels. 単一値の画素のアレイにおけるオブジェクトの識別のドメインに対して適用される本発明の一実施形態を例示する図。FIG. 3 illustrates an embodiment of the present invention applied to the domain of object identification in an array of single valued pixels. 本発明の一実施形態に係る、単一のユニット内での衝撃の処理を説明するフロー・チャート。6 is a flow chart illustrating impact processing within a single unit, according to one embodiment of the invention. ユニット・モデル表現への変換のためのプロセスの工程の一実施形態を説明するフロー・チャート。5 is a flow chart describing one embodiment of a process step for conversion to a unit model representation. 本発明の問題解決方法の工程の一実施形態を説明するフロー・チャート。The flowchart explaining one Embodiment of the process of the problem-solving method of this invention. 発見に関連する本発明の一実施形態を説明するフロー・チャート。2 is a flow chart illustrating one embodiment of the present invention related to discovery. 本発明の1つの実施形態に係るマッピング・プロセスを説明するフロー・チャート。6 is a flow chart illustrating a mapping process according to one embodiment of the present invention. 本発明の別の実施形態に係る支払リスト作成プロセスを説明するフロー・チャート。The flowchart explaining the payment list creation process which concerns on another embodiment of this invention. 本発明の実施形態が活用され得るネットワーク・システムの概略図。1 is a schematic diagram of a network system in which an embodiment of the present invention can be utilized. 本発明の実施形態と併せて活用され得る、随意的な入力デバイス(例えば、キーボード、マウス、タッチ・スクリーン等)ならびに出力デバイス、ハードウェア、ネットワーク接続、1以上のプロセッサ、ならびにデータおよびモジュールのためのメモリ/ストレージ等を有するコンピューティング・システム(必要に応じて、サーバもしくはクライアント、または両方)のブロック図。For optional input devices (eg, keyboard, mouse, touch screen, etc.) and output devices, hardware, network connections, one or more processors, and data and modules that can be utilized in conjunction with embodiments of the present invention FIG. 2 is a block diagram of a computing system (such as a server or client, or both, as appropriate) having memory / storage, etc.

対応する参照符号は、いくつかの図にわたって、対応する部分を示す。図面は、本発明の実施形態を表現するが、図面は、必ずしも原寸に比例しておらず、いくつかの特徴は、本発明をより良く例示し、説明するために誇張されていることがある。本明細書において記載される例証は、本発明の一実施形態を1つの形式において例示するものであり、このような例証は、いかなる形でも本発明の範囲を限定するものとして解釈されるべきではない。   Corresponding reference characters indicate corresponding parts throughout the several views. Although the drawings represent embodiments of the present invention, the drawings are not necessarily drawn to scale and some features may be exaggerated to better illustrate and explain the present invention. . The illustrations set forth herein illustrate one embodiment of the invention in one form, and such illustration should not be construed as limiting the scope of the invention in any way. Absent.

下記に続く説明および図面において、少数のコンポーネントおよび接続は、説明および例示を容易にするために示されることがある。本明細書において使用されるコンポーネントの数は、例のためのものに過ぎない。こうした例は、取り得るコンポーネントの数量、インスタンスまたは相互接続の数を含む、本発明の究極の機能を説明するものではないことが理解されるべきである。下記に開示される実施形態は、包括的であること、または、下記の詳細な説明において開示される正確な形式に本発明を限定することを意図されない。むしろ、実施形態は、その教示を当業者が活用し得るように選ばれ、説明されている。   In the description and drawings that follow, a few components and connections may be shown for ease of explanation and illustration. The number of components used herein is for example purposes only. It should be understood that these examples are not intended to illustrate the ultimate functionality of the present invention, including the number of possible components, the number of instances or interconnections. The embodiments disclosed below are not intended to be exhaustive or to limit the invention to the precise forms disclosed in the following detailed description. Rather, the embodiments have been chosen and described so that others skilled in the art can utilize the teachings.

下記に続く詳細な説明は、英数字または他の情報を表現する、コンピュータ・メモリ内のデータ・ビットに対する動作(演算)のアルゴリズムおよび記号的表現の観点から部分
的に提示される。コンピュータは、一般に、命令を実行するためのプロセッサと、命令およびデータを記憶するためのメモリとを含む。汎用コンピュータが、そのメモリに記憶された一連の機械符号化された命令を有する場合、このような符号化された命令上で動作するこのコンピュータは、特定のタイプの機械、つまり、一連の命令によって具現化される動作を実行するように特に構成されたコンピュータとなり得る。命令のうちの一部は、他の機械の動作を制御する信号を生成するように適合され得、したがって、それらの制御信号を通じて動作して、コンピュータ自体から遠く離れた材料を変換し得る。こうした説明および表現は、データ処理技術の当業者によって、当業者の研究の本質を他の当業者へ最も効果的に伝達するために使用される手段である。
The detailed description that follows is presented in part in terms of algorithms and symbolic representations of operations (operations) on data bits in computer memory that represent alphanumeric characters or other information. A computer typically includes a processor for executing instructions and a memory for storing instructions and data. If a general purpose computer has a sequence of machine-encoded instructions stored in its memory, the computer operating on such an encoded instruction may be a specific type of machine, i.e., by a sequence of instructions. It can be a computer that is specifically configured to perform the operations embodied. Some of the instructions can be adapted to generate signals that control the operation of other machines, and thus operate through those control signals to convert material far from the computer itself. These descriptions and representations are the means used by those skilled in the data processing arts to most effectively convey the substance of their work to others skilled in the art.

アルゴリズムは、ここでは、また、一般に、所望の結果を導く工程の自己無撞着シーケンスであると考えられる。こうした工程は、物理量の物理操作を必要とする工程である。必ずというわけではないが、通常、こうした量は、記憶され、伝送され、変換され、結合され、比較され、さもなければ操作されることが可能な電気パルスもしくは電気信号または磁気パルスもしくは磁気信号の形式を取る。主に、一般的な用法の理由から、このような信号が具現化され、または表現される物理的な品物または物理的発現への参照として、こうした信号をビット、値、シンボル、文字、表示データ、用語、数などとして参照することは時には都合がよいことが分かっている。しかしながら、これらの全ておよび同様の用語は、適当な物理量に対して関連付けられるべきであり、ここでは、こうした量に対して適用される都合がよいラベルとして使用されるに過ぎないことが留意されるべきである。   The algorithm is here also generally considered to be a self-consistent sequence of steps leading to the desired result. Such a process is a process that requires physical manipulation of physical quantities. Usually, though not necessarily, such quantities are stored, transmitted, converted, combined, compared, otherwise compared to electrical pulses or electrical signals or magnetic pulses or magnetic signals that can be manipulated. Take the form. Primarily for general usage reasons, such signals are represented by bits, values, symbols, characters, display data as a reference to the physical goods or physical expression in which such signals are embodied or represented. It has proven convenient at times to refer to as terms, numbers, etc. It should be noted, however, that all of these and similar terms are to be associated with the appropriate physical quantities and are only used here as convenient labels that apply to such quantities. Should.

いくつかのアルゴリズムは、情報の入力と所望の結果の生成との両方のためにデータ構造を使用し得る。データ構造は、データ処理システムによるデータ管理を非常に容易にし、洗練されたソフトウェア・システムを通じて以外はアクセス不可能である。データ構造は、メモリの情報コンテンツではなく、むしろ、データ構造は、メモリに記憶された情報に関する物理的組織を伝え、または明示する特定の電気構造要素を表現する。単なる抽象化に留まらず、データ構造は、複雑なデータ、しばしば、関連するアイテムのデータ・モデル化の物理的な特徴を正確に表現すると同時に、コンピュータ動作における向上された効率を提供する、メモリ内の特定の電気構造要素または磁気構造要素である。   Some algorithms may use data structures for both inputting information and generating desired results. Data structures greatly facilitate data management by data processing systems and are not accessible except through sophisticated software systems. The data structure is not the information content of the memory, but rather the data structure represents specific electrical structural elements that convey or manifest the physical organization of the information stored in the memory. More than just abstraction, data structures accurately represent the physical characteristics of complex data, often data modeling of related items, while providing improved efficiency in computer operations. Specific electrical or magnetic structural elements.

さらに、実行される操作は、人間のオペレータによって実行される心的操作に対して一般に関連付けられる、比較または追加などの用語で参照されることが多い。人間のオペレータのそのような機能は、本発明の一部を形成する、本明細書において説明される動作のいずれにおいても、大抵の場合に必要ではなく、または望ましくない。動作は、機械動作である。本発明の動作を実行するための有益な機械は、汎用デジタル・コンピュータまたは他の同様のデバイスを含む。あらゆる場合において、コンピュータを動作させる際の方法動作と、演算の方法自体との間の区別が認識されるべきである。本発明は、電気物理信号または他の(例えば、機械的、化学的)物理信号を処理して、他の所望の物理的発現または物理信号を生成する際にコンピュータを動作させるための方法および装置に関する。コンピュータは、ソフトウェア・モジュール上で動作し、ソフトウェア・モジュールは、アルゴリズム工程を実装する機械命令をコンピュータ・プロセッサが実行することを可能とする一連の機械命令を表現する媒体上に記憶された信号の集合である。このような機械命令は、プロセッサが命令を実装するために解釈する実際のコンピュータ・コードであり得、または、代替的に、実際のコンピュータ・コードを取得するために解釈される、より高次の命令のコーディングであり得る。ソフトウェア・モジュールは、ハードウェア・コンポーネントも含むことができ、この場合、アルゴリズムのいくつかの態様は、命令の結果としてというよりも、回路自体によって実行される。   Furthermore, the operations performed are often referred to in terms such as comparison or addition that are commonly associated with mental operations performed by a human operator. Such a function of a human operator is not necessary or desirable in most cases in any of the operations described herein that form part of the present invention. The operation is a machine operation. Useful machines for performing the operations of the present invention include general purpose digital computers or other similar devices. In all cases, a distinction should be recognized between the method operation in operating a computer and the method of operation itself. The present invention is a method and apparatus for operating a computer in processing electrophysical signals or other (eg, mechanical, chemical) physical signals to produce other desired physical expressions or signals. About. The computer runs on a software module, which is a signal stored on a medium that represents a series of machine instructions that allow the computer processor to execute machine instructions that implement the algorithm steps. It is a set. Such machine instructions may be actual computer code that the processor interprets to implement the instructions, or alternatively, higher order instructions that are interpreted to obtain the actual computer code. It can be an instruction coding. A software module may also include hardware components, in which case some aspects of the algorithm are performed by the circuit itself rather than as a result of an instruction.

本発明は、こうした動作を実行するための装置にも関する。この装置は、必要とされる
目的のために具体的に構築されてもよく、またはコンピュータに記憶されるコンピュータ・プログラムによって選択的に活性化され、もしくは再構成される汎用コンピュータを備えてもよい。本明細書において提示されるアルゴリズムは、特定のハードウェアを必要とするものとして明示的に示されない限り、任意の特定のコンピュータまたは他の装置に本質的に関するものではない。いくつかの場合において、コンピュータ・プログラムは、相互作用すべき特定のハードウェアまたはプログラミングを必要とし、または必要としないことがあり得る特定のプロトコルのために構成される信号を通じて、他のプログラムまたは機器と通信し、または関連し得る。具体的には、様々な汎用機械が、本明細書における教示に従って書かれたプログラムと共に使用されてもよく、または、必要とされる方法工程を実行するために、より特殊な装置を構築する方がより都合がよいと分かることもあり得る。多様なこうした機械のために必要とされる構造は、下記の説明から出現するであろう。
The present invention also relates to an apparatus for performing such operations. The apparatus may be specifically constructed for the required purpose, or may comprise a general purpose computer selectively activated or reconfigured by a computer program stored in the computer. . The algorithms presented herein are not inherently related to any particular computer or other apparatus unless explicitly indicated as requiring specific hardware. In some cases, a computer program may require other hardware or programming to interact with other programs or equipment through signals configured for a particular protocol that may or may not require. Can communicate with or be associated with. In particular, various general purpose machines may be used with programs written in accordance with the teachings herein, or to construct more specialized equipment to perform the required method steps. May prove to be more convenient. The required structure for a variety of these machines will appear from the description below.

下記の説明において、頻繁に使用されるいくつかの用語は、本文脈において特殊な意味を有する。「ウィンドウ環境」、「ウィンドウ内で実行中」、および「グラフィック・ユーザ・インタフェース・オペレーティン・システム」という用語は、ラスタ走査されるビデオ・ディスプレイ上の有界領域内などの、ビデオ・ディスプレイ上で情報が操作され、表示されるコンピュータ・ユーザ・インタフェースを表すために使用される。「ネットワーク」、「ローカル・エリア・ネットワーク」、「LAN」、「広域ネットワーク」または「WAN」という用語は、メッセージがコンピュータ間で送信され得るように接続される、2つ以上のコンピュータを意味する。このようなコンピュータ・ネットワークにおいて、典型的には、1以上のコンピュータは、「サーバ」、すなわち、ハード・ディスク・ドライブなどの大容量記憶デバイスと、プリンタまたはモデムなどの周辺デバイスを動作させるための通信ハードウェアとを有するコンピュータとして動作する。「ワークステーション」と称される他のコンピュータは、コンピュータ・ネットワークのユーザが共有データ・ファイル、共通周辺デバイス、およびワークステーション間通信などのネットワーク・リソースへアクセスし得るように、ユーザ・インタフェースを提供する。ユーザは、コンピュータ・プログラムまたはネットワーク・リソースを活性化して、入力変数およびその環境によって決定される特定の動作の特徴と共に、コンピュータ・プログラムの一般的な動作も共に含むプロセスを作成する。プロセスと同様のものにはエージェント(知的エージェントと呼ばれることもある)があり、エージェントは、ユーザ介入なしに、何らかの定期的なスケジュールで、情報を収集し、または何らかの他のサービスを実行するプロセスである。典型的には、エージェントは、ユーザによって典型的には提供されるパラメータを使用して、ホストマシン上またはネットワーク上の何らかの他のポイントにおけるロケーションをサーチし、エージェントの目的に関する情報を収集し、この情報をユーザに対して周期的に提示する。   In the following description, some frequently used terms have special meaning in this context. The terms “window environment”, “running in a window”, and “graphical user interface operating system” are used on a video display, such as in a bounded area on a raster-scanned video display. Information is manipulated and used to represent the computer user interface that is displayed. The terms “network”, “local area network”, “LAN”, “wide area network” or “WAN” mean two or more computers connected so that a message can be sent between the computers. . In such a computer network, typically one or more computers are used to operate a “server”, a mass storage device such as a hard disk drive, and a peripheral device such as a printer or modem. It operates as a computer having communication hardware. Other computers, referred to as “workstations”, provide a user interface so that users of a computer network can access network resources such as shared data files, common peripheral devices, and inter-workstation communications To do. A user activates a computer program or network resource to create a process that includes both the general behavior of the computer program, as well as the specific behavioral characteristics determined by the input variables and its environment. Similar to a process is an agent (sometimes called an intelligent agent) that collects information or performs some other service on some regular schedule without user intervention It is. Typically, the agent uses parameters typically provided by the user to search for locations at the host machine or at some other point on the network, collect information about the agent's purpose, and Present information periodically to the user.

「ウィンドウ」という用語、および上記で定義された「ウィンドウ環境」または「ウィンドウ内で実行中」などの関連付けられる用語は、ワシントン州レドモンド(Redmond)のマイクロソフト・コーポレーション(Microsoft Corporation)から入手可能ないくつかのウィンドウ・システムによって例証されるコンピュータ・ユーザ・インタフェースを指す。他のウィンドウ・コンピュータ・インタフェースは、例えば、カリフォルニア州クパチーノ(Cupertino)のアップル・コンピュータ・インコーポレーテッド(Apple Computers Incorporated)から、およびLINUX(登録商標)動作環境のコンポーネントとして入手可能である。具体的には、本明細書の説明における、こうした用語の使用は、いかなる特定のコンピューティング環境またはオペレーティング・システムに対する限定も暗示しないことが理解されるべきである。   The term “window” and the associated terms such as “window environment” or “running in a window” as defined above are several of those available from Microsoft Corporation, Redmond, Washington. Refers to a computer user interface exemplified by a window system. Other window computer interfaces are available, for example, from Apple Computers Incorporated of Cupertino, CA and as a component of the LINUX® operating environment. In particular, it should be understood that the use of such terms in the description herein does not imply limitations on any particular computing environment or operating system.

「デスクトップ」という用語は、デスクトップに対して関連付けられるユーザのために
、メニューまたはオブジェクトの表示を関連付けられた設定と共に提示する特定のユーザ・インタフェースを意味する。デスクトップが、ネットワーク・リソースに対してアクセスする場合、これは、典型的には、アプリケーション・プログラムが遠隔サーバ上で実行されることを必要とし、デスクトップは、アプリケーション・プログラム・インタフェースすなわちAPIを呼び出して、ユーザがネットワーク・リソースに対してコマンドを提供し、任意の出力を観察することを可能とする。
The term “desktop” refers to a particular user interface that presents a menu or object display with associated settings for a user associated with the desktop. When the desktop accesses network resources, this typically requires that the application program be run on a remote server, and the desktop calls the application program interface or API. , Allowing the user to provide commands to network resources and observe any output.

「ブラウザ」という用語は、必ずしもユーザにとって明らかとは限らないが、PDFとネットワーク・サーバとの間でメッセージを送信すること、ならびに、ネットワーク・ユーザへ表示すること、およびネットワーク・ユーザと相互作用することに責任を負うプログラムを指す。ブラウザは、コンピュータの世界的なネットワーク、つまり、「ワールド・ワイド・ウェブ」または単に「ウェブ」上でのテキストおよびグラフィック情報の送信のための通信プロトコルを活用するように設計される。本発明と互換性のあるブラウザの例は、マイクロソフト・コーポレーションによって販売されるインターネット・エクスプローラ(インターネット・エクスプローラは、マイクロソフト・コーポレーションの商標である)、オペラ・ソフトウェアASA(Opera Software ASA)によって作成されるオペラ・ブラウザ・プログラム、またはモジラ・ファウンデーション(Mozilla Foundation)によって流通されるFirefoxブラウザ・プログラム(Firefoxは、モジラ・ファウンデーションの登録商標である)を含む。下記の説明は、そのような動作をブラウザのグラフィック・ユーザ・インタフェースの観点から詳細に説明するが、本発明は、グラフィック・ベースのブラウザの機能のうちの多くを有する、テキスト・ベースのインタフェース、または、音声起動されるインタフェースもしくは視覚的に起動されるインタフェースすら用いて実施され得る。   The term “browser” is not necessarily obvious to the user, but sends messages between the PDF and the network server and displays to the network user and interacts with the network user. A program that is responsible for Browsers are designed to take advantage of communication protocols for the transmission of text and graphic information over a worldwide network of computers, namely the “World Wide Web” or simply the “Web”. Examples of browsers compatible with the present invention are created by Internet Explorer sold by Microsoft Corporation (Internet Explorer is a trademark of Microsoft Corporation), Opera Software ASA (Opera Software ASA). Opera browser programs, or Firefox browser programs distributed by Mozilla Foundation (Firefox is a registered trademark of Mozilla Foundation). Although the following description describes in detail such operations from the perspective of a browser graphic user interface, the present invention provides a text-based interface having many of the features of a graphic-based browser, Alternatively, it can be implemented using a voice activated interface or even a visually activated interface.

ブラウザは、標準汎用マークアップ言語(「SGML:Standard Generalized Markup Language」)またはハイパーテキスト・マークアップ言語(「HTML」)でフォーマットされる情報を表示し、これら両方は、特別なASCIIテキスト・コードの使用を通じて、テキスト文書内に非視覚的なコードを埋め込むスクリプト言語である。これらのフォーマットのファイルは、インターネットのようなグローバル情報ネットワークを含むコンピュータ・ネットワーク上で簡単に送信され、ブラウザがテキスト、画像を表示し、オーディオ記録およびビデオ記録を再生することを可能とし得る。ウェブは、これらのデータ・ファイル・フォーマットを、このような情報をサーバとワークステーションとの間で送信するためのウェブの通信プロトコルと併せて活用する。ブラウザは、拡張可能マークアップ言語(「XML:eXtensible Markup Language」)ファイルで提供される情報を表示するようにもプログラムされ得、XMLファイルは、いくつかの文書型定義(「DTD:Document Type Definitions」)と共に使用することが可能であり、したがって、SMGLまたはHTMLよりも本質的に一般的である。XMLファイルは、データとスタイルシート・フォーマットとが別個に含まれているため、オブジェクトに類似し得る(フォーマットは、情報を表示する方法として考えられてもよく、したがって、XMLファイルは、データと、関連付けられた方法とを有する)。   The browser displays information that is formatted in a standard generic markup language (“SGML”) or hypertext markup language (“HTML”), both of which are special ASCII text code A scripting language that embeds non-visual code in text documents through use. Files in these formats can be easily transmitted over computer networks including global information networks such as the Internet, allowing browsers to display text, images, and play audio and video recordings. The web utilizes these data file formats in conjunction with web communications protocols for transmitting such information between the server and the workstation. The browser can also be programmed to display information provided in an extensible markup language ("XML: extensible Markup Language") file, which contains several document type definitions ("DTD: Document Type Definitions"). "), And is therefore inherently more common than SMGL or HTML. An XML file can be similar to an object because the data and stylesheet format are included separately (the format may be thought of as a way to display information, so the XML file And associated methods).

上記で定義されたような「パーソナル・デジタル・アシスタント」または「PDA」という用語は、演算機能、電話機能、ファックス機能、電子メール機能およびネットワーク機能を備える任意のハンドヘルドの携帯デバイスを意味する。「無線広域ネットワーク」または「WWAN」という用語は、ハンドヘルド・デバイスとコンピュータとの間におけるデータの送信のための媒体としての役割を果たす無線ネットワークを意味する。「同期」という用語は、ハンドヘルド・デバイスとデスクトップ・コンピュータとの間における、有線を介した、または無線での情報の交換を意味する。同期は、ハンドヘルド・デバイスとデスクトップ・コンピュータとの両方におけるデータが同一であることを確保する。   The term “personal digital assistant” or “PDA” as defined above refers to any handheld portable device with computing, telephone, fax, e-mail and network functions. The term “wireless wide area network” or “WWAN” means a wireless network that serves as a medium for transmission of data between a handheld device and a computer. The term “synchronization” refers to the exchange of information between a handheld device and a desktop computer via wire or wirelessly. Synchronization ensures that the data on both the handheld device and the desktop computer is the same.

無線広域ネットワークにおいて、通信は、主に、アナログ・ネットワーク、デジタル・セルラ・ネットワーク、またはパーソナル通信サービス(「PCS:personal communications service」)ネットワーク上での無線信号の送信を通じて発生する。信号は、マイクロ波および他の電磁波を通じて送信されることもあり得る。通信のために使用される電磁波は、自由空間を通じて、または「光ファイバ」を導波路として使用して送信される、視覚周波数またはほぼ視覚周波数における「光」波を含み得る。現在のところ、大抵の無線データ通信は、符号分割多元接続(「CDMA」)、時分割多元接続(「TDMA」)、グローバル・システム・フォー・モバイル・コミュニケーション(「GSM(登録商標)」)、パーソナル・デジタル・セルラ(「PDC」)などの第2の世代技術を使用してセルラ・システム上で、または先進移動電話サービス(「AMPS」)上で使用されるセルラ・デジタル・パケット・データ(「CDPD」)などの、アナログ・システム上のパケット・データ技術を通じて起こる。「無線アプリケーション・プロトコル」または「WAP」という用語は、ハンドヘルド・デバイスおよびモバイル・デバイス上で小さいユーザ・インタフェースを用いてウェブベースのデータの配信および提示を容易にするためのユニバーサルな仕様を意味する。   In wireless wide area networks, communication occurs primarily through the transmission of wireless signals over analog networks, digital cellular networks, or personal communication services (“PCS”) networks. The signal may be transmitted through microwaves and other electromagnetic waves. The electromagnetic waves used for communication may include “light” waves at or near visual frequencies transmitted through free space or using “optical fibers” as waveguides. Currently, most wireless data communications include code division multiple access (“CDMA”), time division multiple access (“TDMA”), global system for mobile communications (“GSM”), Cellular digital packet data (2) used on cellular systems using second generation technologies such as personal digital cellular ("PDC") or on advanced mobile phone services ("AMPS") Occurs through packet data technology on analog systems, such as "CDPD"). The term “wireless application protocol” or “WAP” refers to a universal specification for facilitating the delivery and presentation of web-based data using a small user interface on handheld and mobile devices. .

「リアル・タイム」(「リアルタイム」とも言う)または「ほぼリアル・タイム」という用語は、タイミングを主な設計目的として使用するシステム設計アプローチを意味する。具体的には、リアル・タイム・システムは、所定の基準を満たす時間間隔内に、1以上の動作を完了する。この用語は、実行される動作、例えば、「リアル・タイムでの更新」を指すためにも使用され得る。時間間隔基準は、特定の量の時間であってもよく、または、「バッチ」システムもしくは「オフライン」システムと称されることもある、別の非リアル・タイム・システムと対照的に定義されてもよい。時間間隔は、システムによって変わる要件によって決定されることが認められ得る。例えば、高性能航空機のリアル・タイム制御システムは、マイクロ秒単位で応答することが必要とされ得るのに対して、リアル・タイムの貯水位調整装置については、数時間間隔での更新が容認可能であり得る。人間のユーザとの相互作用において、「リアル・タイム応答」を提供するシステムは、不快な遅延なしにシステムの相互作用的な使用または「ライブ」使用を可能とするのに十分な速さで、ユーザが入力に対する応答を受け取ることを意味する。   The term “real time” (also referred to as “real time”) or “almost real time” refers to a system design approach that uses timing as the primary design objective. Specifically, the real time system completes one or more operations within a time interval that satisfies a predetermined criterion. The term may also be used to refer to the action being performed, eg, “real time update”. The time interval criteria may be a specific amount of time or defined as opposed to another non-real time system, sometimes referred to as a “batch” system or an “offline” system. Also good. It can be seen that the time interval is determined by requirements that vary from system to system. For example, a real-time aircraft real-time control system may need to respond in microseconds, whereas a real-time water level adjuster is acceptable to be updated every few hours. It can be. Systems that provide a “real-time response” in human user interaction are fast enough to allow interactive or “live” use of the system without an unpleasant delay, Means that the user receives a response to the input.

本明細書における説明では、リアル・タイム・トランザクション処理は、システム・データに影響を与える動作を迅速に完了するようにシステムが設計されており、結果として得られる変更されたデータは、オフライン同期プロセスを必要とせずに、できる限り迅速に他のシステム・コンポーネントに対して利用可能にされることを意味する。このようなシステムの正確なタイミングは、処理時間およびネットワーク上でのデータの伝搬などの数多くの要因に依存するが、顕著な特徴は、トランザクション・イベントの結果として変更されたデータの迅速な利用可能性であることが認められ得る。   In this description, real-time transaction processing is designed to quickly complete operations that affect system data, and the resulting modified data is stored in an offline synchronization process. Is made available to other system components as quickly as possible. The exact timing of such a system depends on many factors, such as processing time and the propagation of data over the network, but the salient feature is the rapid availability of data that has changed as a result of a transaction event It can be seen that it is sex.

図12Aは、1つの実施形態に係るコンピューティング環境1200の高レベルのブロック図である。図12Aは、ネットワーク1214によって接続されるサーバ1210と3つのクライアント1212とを例示する。説明を単純化し、明確にするために、3つのクライアント1212のみが図12Aに示されている。コンピューティング環境100の実施形態は、ネットワーク1214、例えば、インターネットへ接続される、数千個または数百万個のクライアント1212を有し得る。ユーザ(図示せず)は、ネットワーク1214を通じてサーバ1210とその関連付けられた通信機器およびソフトウェア(図示せず)を介してメッセージを送ることと、メッセージを受信することの両方のために、クライアント1212のうちの1つでソフトウェア1216を動作させ得る。   FIG. 12A is a high-level block diagram of a computing environment 1200 according to one embodiment. FIG. 12A illustrates a server 1210 and three clients 1212 connected by a network 1214. For simplicity and clarity of illustration, only three clients 1212 are shown in FIG. 12A. Embodiments of the computing environment 100 may have thousands or millions of clients 1212 connected to a network 1214, eg, the Internet. A user (not shown) can send a message through server 1210 and its associated communication equipment and software (not shown) through network 1214 and receive a message from client 1212. Software 1216 may be operated on one of them.

図12Bは、サーバ1210またはクライアント1212を実装するのに適したコンピ
ュータ・システム1211のブロック図を図示する。コンピュータ・システム1211は、中央処理装置1215、システム・メモリ1217(典型的には、RAMであるが、システム・メモリはROM、フラッシュRAMなども含み得る)、入出力コントローラ1218、オーディオ出力インタフェース1222を介したスピーカ・システム1220などの外部オーディオ・デバイス、ディスプレイ・アダプタ1226を介したディスプレイ画面1224などの外部デバイス、シリアル・ポート1228および1230、(キーボード・コントローラ1233を用いてインタフェースされる)キーボード1232、ストレージ・インタフェース1234、フロッピー(登録商標)・ディスク1238を受け入れるように動作するディスク・ドライブ1237、ファイバ・チャネル・ネットワーク1290へ接続するように動作するホスト・バス・アダプタ(HBA)インタフェース・カード1235A、SCSIバス1239へ接続するように動作するホスト・バス・アダプタ(HBA)インタフェース・カード1235B、および光ディスク1242を受け入れるように動作する光ディスク・ドライブ1240などの、コンピュータ・システム1211の主要なサブシステムを相互接続するバス1213を含む。マウス1246(または、シリアル・ポート1228を介してバス1219へ結合される他のポイント・アンド・クリック・デバイス)、モデム1247(シリアル・ポート1230を介してバス1212へ結合される)、およびネットワーク・インタフェース1248(バス1213へ直接的に結合される)も含まれる。
FIG. 12B illustrates a block diagram of a computer system 1211 suitable for implementing a server 1210 or client 1212. The computer system 1211 includes a central processing unit 1215, a system memory 1217 (typically RAM, but the system memory may include ROM, flash RAM, etc.), an input / output controller 1218, and an audio output interface 1222. An external audio device such as a speaker system 1220 via, an external device such as a display screen 1224 via a display adapter 1226, a serial port 1228 and 1230, a keyboard 1232 (interfaced using the keyboard controller 1233), Storage interface 1234, disk drive 1237 operating to accept floppy disk 1238, fiber channel network A host bus adapter (HBA) interface card 1235A that operates to connect to 1290, a host bus adapter (HBA) interface card 1235B that operates to connect to SCSI bus 1239, and an optical disk 1242 It includes a bus 1213 that interconnects the major subsystems of the computer system 1211, such as an optical disk drive 1240 that operates on the computer. Mouse 1246 (or other point-and-click device coupled to bus 1219 via serial port 1228), modem 1247 (coupled to bus 1212 via serial port 1230), and network An interface 1248 (coupled directly to bus 1213) is also included.

バス1213は、中央処理装置1214とシステム・メモリ1217との間のデータ通信を可能とする。システム・メモリ1217は、前述されたように、読み出し専用メモリ(ROM)またはフラッシュ・メモリ(どちらも図示せず)と、ランダム・アクセス・メモリ(RAM)(図示せず)とを含み得る。RAMは、一般には、オペレーティング・システムおよびアプリケーション・プログラムがロードされるメイン・メモリである。ROMまたはフラッシュ・メモリは、ソフトウェア・コードの中でも特に、基本入出力システム(BIOS)を含み得る。BIOSは、周辺コンポーネントとの相互作用などの基本ハードウェア動作を制御する。コンピュータ・システム1211に存在するアプリケーションは、一般には、ハード・ディスク・ドライブ(例えば、固定ディスク1244)、光学式ドライブ(例えば、光学式ドライブ1240)、フロッピー(登録商標)・ディスク・ユニット1237、または他の記憶媒体などのコンピュータ読取可能な媒体上に記憶され、コンピュータ読取可能な媒体を介してアクセスされる。また、アプリケーションは、ネットワーク・モデム1247またはインタフェース1248または他の電気通信機器(図示せず)を介してアクセスされる際に、アプリケーションおよびデータ通信技術に応じて変調される電気信号の形式であり得る。   Bus 1213 allows data communication between central processing unit 1214 and system memory 1217. The system memory 1217 may include read only memory (ROM) or flash memory (both not shown) and random access memory (RAM) (not shown) as described above. RAM is typically main memory into which an operating system and application programs are loaded. ROM or flash memory may include a basic input / output system (BIOS), among other software code. The BIOS controls basic hardware operations such as interaction with peripheral components. Applications that reside on computer system 1211 typically include a hard disk drive (eg, fixed disk 1244), an optical drive (eg, optical drive 1240), a floppy disk unit 1237, or It is stored on a computer readable medium such as another storage medium and accessed via a computer readable medium. The application may also be in the form of electrical signals that are modulated according to the application and data communication technology when accessed through the network modem 1247 or interface 1248 or other telecommunications equipment (not shown). .

ストレージ・インタフェース1234は、コンピュータ・システム1210の他のストレージ・インタフェースと同様に、固定ディスク・ドライブ1244などの、情報の記憶および/または取出のための標準的なコンピュータ読取可能な媒体へ接続され得る。固定ディスク・ドライブ1244は、コンピュータ・システム1211の一部であってもよく、または、別個のものであって、他のインタフェース・システムを通じてアクセスされてもよい。モデム1247は、インターネット・サービス・プロバイダ(ISP)(図示せず)を介して、電話線またはインターネットを介して遠隔サーバへの直接的に接続を提供し得る。ネットワーク・インタフェース1248は、POP(point of presence)を介したインターネットへの直接的なネットワーク・リンクを介して遠隔サーバへの直接的な接続を提供し得る。ネットワーク・インタフェース1248は、このような接続を、デジタル・セルラ電話接続、セルラ・デジタル・パケット・データ(CDPD)接続、デジタル衛星データ接続などを含む無線技法を使用して提供し得る。   The storage interface 1234 may be connected to a standard computer readable medium for storage and / or retrieval of information, such as a fixed disk drive 1244, similar to other storage interfaces of the computer system 1210. . Fixed disk drive 1244 may be part of computer system 1211 or may be separate and accessed through other interface systems. Modem 1247 may provide a direct connection to a remote server via a telephone line or the Internet via an Internet service provider (ISP) (not shown). The network interface 1248 may provide a direct connection to a remote server via a direct network link to the Internet via a point of presence (POP). Network interface 1248 may provide such connections using wireless techniques including digital cellular telephone connections, cellular digital packet data (CDPD) connections, digital satellite data connections, and the like.

多くの他のデバイスまたはサブシステム(図示せず)は、同様の手法で接続され得る(例えば、文書スキャナ、デジタル・カメラなど)。反対に、図12Bに示されるデバイス
の全てが、本開示を実施するために存在する必要はない。デバイスおよびサブシステムは、図12Bに示される手法とは異なるように相互接続されてもよい。図12Bに示されるコンピュータ・システムなどのコンピュータ・システムの動作は、本技術分野において容易に知られており、本出願においては詳細に議論されない。本開示を実装するためのソフトウェア・ソースおよび/またはオブジェクト・コードは、システム・メモリ1217、固定ディスク1244、光ディスク1242、またはフロッピー(登録商標)・ディスク1238のうちの1つまたは複数などの、コンピュータ読取可能な記憶媒体に記憶され得る。コンピュータ・システム1211上で提供されるオペレーティング・システムは、MS−DOS(登録商標)(MS−DOSは、ワシントン州レドモンドのマイクロソフト・コーポレーションの登録商標である)、WINDOWS(登録商標)(WINDOWS(登録商標)は、ワシントン州レドモンドのマイクロソフト・コーポレーションの登録商標である)、OS/2(登録商標)(OS/2は、ニューヨーク州アーモンク(Armonk)のインターナショナル・ビジネス・マシーンズ・コーポレーション(International Business Machines Corporation)の登録商標である)、UNIX(登録商標)(UNIX(登録商標)は、英国レディングのエックス/オープン・カンパニー・リミテッド(X/Open Company Limited)の登録商標である)、Linux(登録商標)(LINUX(登録商標)は、オレゴン州ポートランドのライナス・トーバルズ(Linus Torvalds)の登録商標である)、または他の既知もしくは開発済みのオペレーティング・システムのいずれかの一種または一バージョンであり得る。
Many other devices or subsystems (not shown) can be connected in a similar manner (eg, document scanners, digital cameras, etc.). Conversely, not all of the devices shown in FIG. 12B need be present to implement the present disclosure. Devices and subsystems may be interconnected differently than the approach shown in FIG. 12B. The operation of a computer system such as the computer system shown in FIG. 12B is readily known in the art and will not be discussed in detail in this application. Software sources and / or object code for implementing the present disclosure include a computer, such as one or more of system memory 1217, fixed disk 1244, optical disk 1242, or floppy disk 1238. It can be stored in a readable storage medium. The operating system provided on the computer system 1211 is MS-DOS (registered trademark) (MS-DOS is a registered trademark of Microsoft Corporation, Redmond, Washington), WINDOWS (registered trademark) (WINDOWS (registered trademark)). Are trademarks of Microsoft Corporation of Redmond, Washington), OS / 2 (registered trademark) (OS / 2 is International Business Machines Corporation of Armonk, NY). ), UNIX (registered trademark) is a trademark of X / Open Company Limited of Reading UK. (Registered trademark of X / Open Company Limited), Linux (registered trademark) is a registered trademark of Linus Torvalds, Portland, Oregon, or other It can be a type or version of any known or developed operating system.

さらに、本明細書において説明される信号に関して、当業者は、信号が第1のブロックから第2のブロックへ直接的に送信され得ること、または信号がブロック間で変更され(例えば、増幅され、減衰され、遅延され、ラッチされ、バッファリングされ、反転され、フィルタリングされ、または、さもなければ変更され)得ることを認識する。上述された実施形態の信号は、1つのブロックから次のブロックへ送信されるものとして特徴付けられるが、本開示の他の実施形態は、信号の情報および/または機能面がブロック間で送信される限り、そのような直接的に送信される信号に代えて変更された信号を含んでもよい。ある程度は、第2のブロックにおける第2の入力は、関与する回路の物理的制限に起因して(例えば、いくらかの減衰および遅延が必然的に存在する)、第1のブロックから出力される第1の信号から導かれる第2の信号として概念化され得る。そのため、本明細書において、第1の信号から導かれる第2の信号は、第1の信号を含み、または、回路制限に起因するものであれ、もしくは第1の信号の情報および/もしくは最終的な機能面を変化させない他の回路要素の通過に起因するものであれ、第1の信号に対する任意の変更を含む。   Further, with respect to the signals described herein, one of ordinary skill in the art will be able to transmit the signal directly from the first block to the second block, or the signal may be changed between blocks (eg, amplified, (Attenuated, delayed, latched, buffered, inverted, filtered, or otherwise modified). While the signals of the above-described embodiments are characterized as being transmitted from one block to the next, other embodiments of the present disclosure may have signal information and / or functional aspects transmitted between blocks. As long as such a signal is directly transmitted, a modified signal may be included. To some extent, the second input in the second block is output from the first block due to physical limitations of the circuits involved (eg, some attenuation and delay necessarily exists). It can be conceptualized as a second signal derived from one signal. Therefore, in the present specification, the second signal derived from the first signal includes the first signal, or is caused by a circuit limitation, or information and / or final of the first signal. Any change to the first signal is included, whether due to the passage of other circuit elements that do not change the functional aspects.

本明細書における特徴および説明のうちの多くは、「ユニット・モデル」と称される情報モデルを参照する。ユニット・モデルの設計および構造は、それ自体が本開示の一部であり、その特徴は、本明細書において開示される本発明の複数の実施形態の他の特徴および説明のうちの多くの基礎である。   Many of the features and descriptions herein refer to an information model referred to as a “unit model”. The design and structure of the unit model is itself part of this disclosure, and its features are the basis for many of the other features and descriptions of embodiments disclosed herein. It is.

本明細書における説明は、大まかに3つの態様に分けられ得る。第1に、ユニット・モデルは、要素、方法、および関係の抽象的なセットである。第2に、ユニット・モデルのインスタンス化またはインスタンスは、ドメイン、観察のセット、実際の知識、データなどに対応して収集されるモデル要素の特定の集合およびアセンブリを指す。モデル・インスタンスはドメインのモデルであると言うことができる。第3に、ユニット・モデルの実装は、例えば、デジタル・コンピュータにおけるプログラムおよびデータとしての、モデルまたはモデルのインスタンスの機械実装を指す。これらの3つの態様を使用する参照は互換的に使用され得ることが認識されるべきである。例えば、モデルへの参照は、コンピュータ上でのモデルおよびその方法の実装も参照し得る。別の例として、モデルのインス
タンスへの参照は、コンピュータのメモリ内でのインスタンスの表現への参照として見なされ得る。
The description herein can be broadly divided into three aspects. First, the unit model is an abstract set of elements, methods, and relationships. Second, a unit model instantiation or instance refers to a specific collection and assembly of model elements that are collected in response to a domain, a set of observations, actual knowledge, data, and the like. A model instance can be said to be a model of a domain. Third, the implementation of a unit model refers to the mechanical implementation of a model or model instance, for example, as programs and data in a digital computer. It should be appreciated that references using these three aspects can be used interchangeably. For example, a reference to a model may also refer to an implementation of the model and method on a computer. As another example, a reference to an instance of a model can be viewed as a reference to a representation of the instance in computer memory.

ユニット・モデル(本明細書においては、「モデル」または「情報ユニット・モデル」または「知識ユニット・モデル」とも称される)は、知的情報処理に対応する構造およびプロセスの抽象化から成るモデルである。モデルは、「情報ユニット」または「知識ユニット」と称される単一のアトムに基づく。情報の全ての領域は、情報ユニットのアレイおよびそれらの間の関係によって説明され得る。本発明のいくつかの実施形態は、このような知識ユニットの異なる構成を含む。   A unit model (also referred to herein as a “model” or “information unit model” or “knowledge unit model”) is a model consisting of an abstraction of structures and processes corresponding to intelligent information processing. It is. The model is based on a single atom called an “information unit” or “knowledge unit”. All areas of information can be described by an array of information units and the relationships between them. Some embodiments of the present invention include different configurations of such knowledge units.

情報ユニットは表現である。情報ユニットは、いかなるものも表現し得る。情報ユニットは、自動車などの実際のオブジェクトを表現してもよく、または、情報ユニットは、アイデアなどの抽象的思考を表現してもよい。情報ユニットは、情報ユニットのシーケンスも表現し得る。   An information unit is a representation. An information unit can represent anything. An information unit may represent an actual object such as a car, or an information unit may represent an abstract thought such as an idea. An information unit may also represent a sequence of information units.

図2A〜図2Cは、情報ユニットの構造およびその構成要素を図示する樹形図である。図2Aを参照すると、情報ユニット202が示されている。ユニット202は、一意なID204、名前206、要素リスト208およびパスのリスト210を含む、いくつかの関連付けられた属性を有する。   2A-2C are tree diagrams illustrating the structure of the information unit and its components. Referring to FIG. 2A, an information unit 202 is shown. Unit 202 has several associated attributes including a unique ID 204, a name 206, an element list 208 and a list of paths 210.

あらゆるユニットは、典型的には、一意な識別子を有する。同一の識別子を有することは可能であるが、これは、二次キー、またはユニットの誤った呼び出しの可能性を暗示し得る。   Every unit typically has a unique identifier. It is possible to have the same identifier, but this may imply the possibility of a secondary key, or incorrect unit call.

あらゆるユニットは、ユニットの意味を識別する助けとするために使用されるテキスト文字列である、1つの名前またはいくつかの名前を有し得る。例えば、ユニットは、123xyzというIDを有する青い自動車を表現し得るが、その名前は、「青い自動車」であってもよい。ユニットは、債券の価格を表現する数学的変数を表現し得る。IDは、567mnoであり得る。このユニットは、2つの名前を有してもよく、第1の名前は「債権価格」であり、第2の名前は「BP」から始まり、これは等式における表示により適している。ユニットの名前は、必ずしも一意であるとは限らず、そのユニットが何を表現するのかを人間のユーザが識別するのに役立つように使用されるに過ぎない。   Every unit may have a name or several names, which are text strings used to help identify the meaning of the unit. For example, a unit may represent a blue car with an ID of 123xyz, but the name may be “blue car”. A unit may represent a mathematical variable that represents the price of a bond. The ID can be 567 mno. This unit may have two names, the first name is “bond price” and the second name starts with “BP”, which is more suitable for display in the equation. The name of a unit is not necessarily unique and is only used to help human users identify what the unit represents.

要素リスト208は、要素のシーケンスを表現する。図2Bは、要素の構造を図示する。要素230は、別の情報ユニットを識別する構造である。要素情報ユニットが識別され得るいくつかの手法が存在する。その手法は、1)そのid232によって直接的に参照されること、2)情報ユニットの演算子ターゲット234として間接的に参照されること、3)情報ユニットのソース・ターゲット236として間接的に参照されることであり得る。さらに、要素によって参照される情報ユニットは、情報ユニットによって参照される要素であり得る。要素は、マッピング動作における使用のための記号要素または記号シーケンスとして識別され得る。さらに、要素は、例えば、クラスの属性を指し示し得るパスを付加された、上記の方法のうちのいずれかによって、ユニットを参照し得る。   The element list 208 represents a sequence of elements. FIG. 2B illustrates the structure of the element. Element 230 is a structure that identifies another information unit. There are several ways in which element information units can be identified. The approach is 1) referenced directly by its id 232, 2) indirectly referenced as an information unit operator target 234, and 3) indirectly referenced as an information unit source target 236. Can be. Further, the information unit referenced by the element may be an element referenced by the information unit. Elements can be identified as symbol elements or symbol sequences for use in mapping operations. In addition, an element may refer to a unit by any of the above methods, for example, appended with a path that may point to an attribute of the class.

パス・リスト210は、ユニットが他の情報ユニットと共に有するパスのリストである。パス構造は、図2Cに図示される。パス250は、ソース・ユニット252と、関係ユニット256と、宛先ユニット254と、抵抗258とから成る。   The path list 210 is a list of paths that the unit has with other information units. The path structure is illustrated in FIG. 2C. Path 250 consists of source unit 252, relationship unit 256, destination unit 254, and resistor 258.

真理値212は、ユニットが現実またはユニットの演算子の成功を表現する条件または程度を示す、例えば、バイナリまたは実数値といった値である。
望ましさ因子214は、ユニットがユニット・モデル・インスタンス化の実施形態に対
して望ましいまたは望ましくない何かを表現する程度を示す実数値である。
Truth value 212 is a value, such as a binary or real value, that indicates the condition or degree that the unit represents the reality or success of the operator of the unit.
The desirability factor 214 is a real value that indicates the degree to which the unit represents something desirable or undesirable for the unit model instantiation embodiment.

演算子216は、十分な大きさの衝撃を受け取った際に行われるアクションを示す。演算子によって取られるアクションは、情報ユニットを作成し、変更し、または削除し得、パスを作成し、変更し、または削除し得、モデル実施形態に特有である、例えば、入力デバイスまたは出力デバイスを操作する、実際の演算子を呼び出し得る。演算子は、より一般には、ユニットのシーケンスに対して作用し得る任意のアクションであってもよく、すなわち、ユニットを並べ替え、ユニットの別のシーケンス内の特定のユニットまたはユニットのセットの存在をマッピングし、チェックする。   The operator 216 indicates an action to be performed when a sufficiently large impact is received. The actions taken by the operator can create, modify, or delete information units, create, modify, or delete paths, and are specific to model embodiments, e.g., input devices or output devices You can call the actual operator that manipulates. An operator may more generally be any action that can act on a sequence of units, i.e., reorder units, and the presence of a particular unit or set of units in another sequence of units. Map and check.

多くの演算子が、本発明の実施形態において作成され得る。リストされる演算子は、本発明のいくつかの実施形態においてユニット、アトム値、および他のオブジェクトに対して取り得る演算子の例として提供される。このような演算子は、下記を含むが、これらに限定されない。   Many operators can be created in embodiments of the present invention. The listed operators are provided as examples of possible operators for units, atom values, and other objects in some embodiments of the invention. Such operators include, but are not limited to:

Createunit − 新たなユニットを作成する。新たなユニットは、ユニットのターゲットである。
Copy − ユニット、ユニットのセットおよびそれらの関係(例えば、クラス)をコピーする
Copyonto − ソース・ユニットの関係をコピーし、それらを宛先ユニットに対して適用する
Deleteunit − ユニットを削除する
Shock − 衝撃をユニットへ送る
Fact − 何も行わない演算子である。要素は、シーケンスを表現する役割のみを果たし、そのため、factと称される
Intersect? − あるリストが、別のリストと共通の要素を有するか
Intersect−ex? − あるリストの全ての要素が、別のリストの要素であるか
Loop(list,element) − リストの各要素に対するサイクルであり、[element]のうちの第1の要素を現在の要素に対して設定する。ループが次に衝撃を受け取った際、ループは、[element]をリストの要素リストにおける次の要素に対して設定する。
Createunit-creates a new unit. The new unit is the target of the unit.
Copy-Copy units, sets of units and their relationships (eg, classes) Copyonto-Copy source unit relationships and apply them to destination units Deleteunit-Delete units Shock-Shock unit Send to Fact-an operator that does nothing. The element only serves to represent a sequence and is therefore called Intercept? -Does one list have elements in common with another list? Intersec-ex? -Whether all elements of one list are elements of another list Loop (list, element)-cycle for each element of the list, with the first element of [element] relative to the current element Set. The next time the loop receives an impact, the loop sets [element] to the next element in the list's element list.

Reset(loop) − ループが次に衝撃を加えられた際に、その要素変数をリストの第1の要素に設定するように、ループ・ユニットを再設定する。
Mapelements − ターゲット・ユニットの要素に対してマップを適用し、成功した場合には、ターゲット要素のうちの1つまたは複数に対して仮想ユニットを設定する。成功した場合には、真理値を真に設定し、そうでない場合には、偽に設定する。
Reset (loop)-Resets the loop unit to set its element variable to the first element in the list the next time the loop is impacted.
Mappings—Applies a map to the elements of the target unit and, if successful, sets a virtual unit for one or more of the target elements. If successful, set the truth value to true, otherwise set it to false.

Mappaths − ターゲット・ユニットのパスに対してマップを提供し、成功した場合には、ターゲット・パス要素のうちの1つまたは複数に対して仮想ユニットを設定する。成功した場合には、真理値を真に設定し、そうでない場合には、偽に設定する。     Mappaths—provides a map for the path of the target unit and, if successful, sets a virtual unit for one or more of the target path elements. If successful, set the truth value to true, otherwise set it to false.

Addpaths:[Unit][Source][Relation][Destination] − ユニットに対してパスを追加する
Deletepath − ユニットからパスを削除する
Clear − ユニットのリストから全ての要素を除去し、仮想ユニットをクリアする。
Addpaths: [Unit] [Source] [Relation] [Destination]-Add path to unit Deletepath-Delete path from unit Clear-Remove all elements from the list of units and clear the virtual unit.

Same Unit?:[Unit1][Unit2] − ユニット1とユニット
2とは同じか
Similar Unit?:[Unit1][Unit2] − ユニット1とユニット2とは同様のユニットを有するか
Set[Unit1][Unit2][Unit3]*[Unit4] − [Unit1]から[Unit2][Unit3]の要素および[Unit4]の要素を設定する
Real:[Operator][Parameter 1..n] − [Operator]によって特定される実際の演算子を呼び出す演算子。実際の演算子は、ユニット・モデルの外部の任意のもの、例えば、ディスプレイ、ストレージ・デバイス、または入力デバイスと相互作用するものである。
Same Unit? : [Unit 1] [Unit 2]-Are Unit 1 and Unit 2 the same? : [Unit 1] [Unit 2]-Do Unit 1 and Unit 2 have similar units? Set [Unit 1] [Unit 2] [Unit 3] * [Unit 4]-[Unit 1] to [Unit 2] [Unit 3] and [Unit 3] Set the element of Unit4] Real: [Operator] [Parameter1. . n] —An operator that invokes the actual operator specified by [Operator]. The actual operator is anything that interacts with anything outside the unit model, for example a display, storage device, or input device.

ユニットに対する演算子に加えて、実数、入力関数、プロセス、および他の環境面を表現するアトムが、下記の実際の演算子のうちの1つまたは複数によって動作させられ得る。   In addition to operators for units, atoms representing real numbers, input functions, processes, and other environmental aspects can be operated on by one or more of the following actual operators.

a=b+c、a=b−c、a=b*c、a=b/c − 単純な算術演算
Cos、Sin、Tan、ArcCos、ArcSin、ArcTan、Cosh、Sinh、Tanh − 三角演算
Ln、Log、Power − 対数
IsNumber? − ユニットの要素は、数を表現するか
>、<、<=、>=、!=、=? − 単純な算術比較演算子
Div − 商および剰余演算子
InputText − ユーザからテキストを得る
Message − メッセージのテキストがディスプレイへ示されるように設定する
MessageYesNo − YesボタンまたはNoボタンをクリックするようにユーザに要求するメッセージ・ボックスを示す
GetSelected − アプリケーション・ユーザ・インタフェースからユニットを選択するようにユーザに求める
ApplicationMenu − アプリケーション・メイン・メニューに対して、特定のプロセスにアクセスすることができるアイテムを追加する
UnitMenu − ユニットの右クリック・メニューに対して、特定のプロセスにアクセスすることができるアイテムを知的に追加する
GetComment − ユニットのコメントを得る
ShowUnit − ユニットをディスプレイへ示す
Form − ユニットのセットを表現するコントロールを有する相互作用フォームを示す。このセットは、通常、クラス、クラス・インスタンスまたはリストである。
a = b + c, a = b-c, a = b * c, a = b / c-simple arithmetic operations Cos, Sin, Tan, ArcCos, ArcSin, ArcTan, Cosh, Sinh, Tanh-trigonometric operations Ln, Log, Power-Logarithm IsNumber? -Does the unit element represent a number>, <, <=,> =,! =, =? -Simple arithmetic comparison operator Div-quotient and remainder operator InputText-get text from the user Message-set the text of the message to be shown on the display MessageYesNo-ask the user to click the Yes or No button GetSelected-indicates a message box to be requested-asks the user to select a unit from the application user interface ApplicationMenu-adds an item that can access a specific process to the application main menu-UnitMenu-unit Intelligently add items that can access a specific process to the right-click menu of Get Omment - obtaining comments unit ShowUnit - showing the interaction foam having a control that represents a set of units - units Form shown on the display. This set is usually a class, class instance or list.

Import − 区切られたテキスト・ファイルをインポートする
CountElements − ユニットの要素の数を数える
FindParentProcess − 工程がメンバーであるプロセスを発見する
SetWorkingKB − システムのWorkingKB変数を設定する。WorkingKBは、複数の目的のために使用され、特に、作成される新たなユニットのドメインを設定するために使用される
SetUnitKB − 特定のユニットのドメインを設定する
SetTruthValue − ユニットの真理値を設定する
Sleep − 特定された数ミリ秒間、一時停止させるための衝撃フローを引き起こす演算子
IsEmpty? − ユニットはいずれかの要素を有するか?ユニットが要素を有する場合、演算子は、そのユニットの真理値を偽に設定する
LoadKB − ストレージ・デバイスから知識ドメインをロードする。
Import-Import a delimited text file CountElements-Count the number of elements in a unit FindParentProcess-Find the process of which a process is a member SetWorkingKB-Set the system's WorkingKB variable. WorkingKB is used for multiple purposes, in particular SetUnitKB used to set the domain of a new unit to be created-Set the domain of a specific unit SetTrueValue-Set the truth value of a unit Sleep An operator IsEmpty that causes an impact flow to pause for a specified number of milliseconds? -Does the unit have any elements? If a unit has an element, the operator loads the knowledge domain from the LoadKB-storage device that sets the truth value of the unit to false.

ユニットは、このユニットの動作の対象となる演算子ターゲット・ユニット215を有し得る。ユニット202は、ユニット202を活性化するユニットを識別するソース・ターゲット・ユニット213も有し得る。   A unit may have an operator target unit 215 that is subject to the operation of this unit. The unit 202 may also have a source target unit 213 that identifies the unit that activates the unit 202.

ユニット・モデルは、構成要素の小さいセットを有しており、作業がしやすい。ユニット・モデルの例示的な表現は、図2A〜図2Cにおいて提供されている。モデルは、非常に一般的でもある。モデルは、単一の一般的な構造(情報ユニット)から成り、ソースが生成するイベントの任意のセットをモデル化するのに十分である。モデルは、直面される非常に多様な経験を正確に表現するためのその能力においても一般的である。無制限の数のイベントの組み合わせが、モデルを用いて表され得る。   The unit model has a small set of components and is easy to work with. An exemplary representation of the unit model is provided in FIGS. 2A-2C. The model is also very general. The model consists of a single general structure (information unit) and is sufficient to model any set of events generated by the source. Models are also common in their ability to accurately represent the very diverse experiences they face. An unlimited number of event combinations can be represented using a model.

ユニット・モデルは、ソースの観察者として採用されてもよく、ソースが一連の「イベント」を作成する。観察されるイベントの各々は、その結果として、モデルにおいて情報ユニットとしてインスタンス化される。イベントは、典型的には、モデル命名法において2文字のシーケンス「Ev」によって表現される。イベントは、モデルにおける情報ユニットである。   The unit model may be employed as a source observer, where the source creates a series of “events”. Each observed event is then instantiated as an information unit in the model. Events are typically represented in the model nomenclature by the two-character sequence “Ev”. An event is an information unit in the model.

複数のイベントが観察され、複数の対応する情報ユニットがモデルにおいてインスタンス化された場合、ユニット間の「関係(Relation)」もインスタンス化され得る。こうした関係の例は、イベント間のタイミングに対処することができ、ここで、関係は、「前」、「後」、または「同時」であり得る。ユニット間の関係の別の例は、イベントが同一ではないことを表す「異なる」である。関係は、典型的には、モデル命名法において小文字の「r」によって表現される。情報ユニットも、モデルにおけるユニット間の関係を表現するために使用され得る。   If multiple events are observed and multiple corresponding information units are instantiated in the model, the “Relation” between units can also be instantiated. Examples of such relationships can address the timing between events, where the relationship can be “before”, “after”, or “simultaneous”. Another example of a relationship between units is “different” indicating that the events are not identical. The relationship is typically represented by a lowercase “r” in model nomenclature. Information units can also be used to represent relationships between units in a model.

2つのユニットは、それら2つのユニット間の関係と併せて、「パス」として定義される。パスは、モデルにおける情報ユニットによっても表現され得る。
「状態」は、インスタンス化されたイベントの集合である。したがって、観察される各イベントは、モデルにおける新たな状態を作成する。状態は、典型的には、モデル命名法において小文字の「s」によって表現される。状態は、モデルにおける情報ユニットでもある。
Two units, together with the relationship between the two units, are defined as “paths”. A path can also be represented by an information unit in the model.
A “state” is a set of instantiated events. Thus, each observed event creates a new state in the model. A state is typically represented by a lowercase “s” in model nomenclature. The state is also an information unit in the model.

「状況」は、連続的な状態のセットとして定義される。具体的には、状況は、関係する情報ユニットの状態のシーケンスである。状況は、典型的には、モデル命名法において大文字の「S」によって表現される。状況は、モデルにおける情報ユニットでもある。   A “situation” is defined as a continuous set of states. Specifically, a situation is a sequence of states of related information units. A situation is typically represented by an uppercase “S” in model nomenclature. The situation is also an information unit in the model.

ある特定の状態の後に、別の特定の状態が常に続く場合、この2つの状態は「条件関係」を有すると言われる。条件関係は、典型的には、モデル命名法において2つの文字列「−>」によって表現される。条件関係は、モデルにおける情報ユニットでもある。   If one particular state is always followed by another particular state, the two states are said to have a “conditional relationship”. The conditional relationship is typically expressed by two character strings “->” in the model nomenclature. Conditional relationships are also information units in the model.

「記号ユニット」は、任意の他のユニットの値を呈し得るユニットである。記号ユニットは、1つよりも多くのイベントが、あるケースと一致する場合の一般化のために有益である。記号ユニットは、典型的には、モデル命名法において、その後に整数が続く下線(「_」)を備える文字列によって表現され、マッピングに関与する動作において使用される。記号ユニットは、単一のユニットを表現するように制約されてもよく、またはユニットのシーケンスを表現してもよい。   A “symbol unit” is a unit that can take on the value of any other unit. Symbolic units are useful for generalization when more than one event matches a case. A symbolic unit is typically represented in a model nomenclature by a string with an underscore (“_”) followed by an integer, and is used in operations involving mapping. A symbol unit may be constrained to represent a single unit, or may represent a sequence of units.

各条件関係は、その条件関係が依存するユニット(先行する条件)と、この先行する条件が満足された結果である他のユニットとを有することに留意されたい。したがって、結
果として生じるユニットは、ユニットのシーケンスだけを表現するのはなく、次の状態がその前の状態とどのように異なるかも示す。したがって、結果は、変化の主体でもある。
Note that each conditional relationship has a unit on which the conditional relationship depends (preceding condition) and other units that are the result of satisfying this preceding condition. Thus, the resulting unit does not represent only the sequence of units, but also shows how the next state differs from the previous state. The result is therefore also the subject of change.

いくつかの実施形態において、結果は、新たなユニットの作成を含む。他の実施形態において、結果は、その代わりに、既存のユニットを変更する。したがって、条件関係の満足は、情報ユニット(ターゲット・ユニット)を、その演算子によって定義されるように、作成し、変更し、または除去し得る。   In some embodiments, the result includes the creation of a new unit. In other embodiments, the result instead modifies the existing unit. Thus, satisfaction of a conditional relationship may create, modify, or remove an information unit (target unit) as defined by its operator.

各情報ユニットは、1以上の他の情報ユニットに対して関係を有し得、これは、おそらくはパスとして記憶されるシーケンスを含み得る。情報ユニットと別の情報ユニットまたはターゲット・シーケンスとの間の関係は、等価、マッピングまたは抽象化であり得る。   Each information unit may have a relationship to one or more other information units, which may possibly include a sequence stored as a path. The relationship between an information unit and another information unit or target sequence can be equivalence, mapping or abstraction.

情報ユニットが複数のユニットを含む場合、要素シーケンスは、様々な実施形態において、様々な基準に従って順序付けられてもよく、または、このシーケンスは、特定の順序を有しなくてもよい。例えば、シーケンスは、作成日時または同様の時間的基準に従って順序付けられ、またはソートされてもよい。したがって、あらゆる経験を情報ユニットのセットとして表現することができる。   If the information unit includes a plurality of units, the element sequence may be ordered according to various criteria in various embodiments, or the sequence may not have a specific order. For example, the sequences may be ordered or sorted according to the creation date or similar temporal criteria. Therefore, every experience can be expressed as a set of information units.

「ライブラリ」は、ドメインの集合である。
「共通フロー」は、自由で抑制されないフローである。「バイポーラ・フロー」は、2つの変位された情報ユニットからのフローである。
A “library” is a collection of domains.
A “common flow” is a flow that is free and unrestrained. A “bipolar flow” is a flow from two displaced information units.

カプセル化は、複数のユニットが単一のユニットとして参照されるプロセスである。カプセル化の例は、リスト、プロセス、およびドメインである。
持続的なイベント、または持続的な関連するイベントのセットは、「オブジェクト」と称される。オブジェクトは、リスト、クラス・インスタンスであってもよく、実際の物理的なものに対応し得る。「リスト」は、要素のシーケンスから構成されるオブジェクトとして定義される。
Encapsulation is a process in which multiple units are referred to as a single unit. Examples of encapsulation are lists, processes, and domains.
A persistent event or a set of persistent related events is called an “object”. An object may be a list, a class instance, and may correspond to an actual physical thing. A “list” is defined as an object composed of a sequence of elements.

「プロセス」は、互いに条件関係(通常は線形)を有するユニットのセットのカプセル化である。プロセスは、1以上の衝撃をユニットのシーケンスに向ける。
「ドメイン」は、知識の領域である。ドメインの同義語は「ユニバース」である。ドメインは、オブジェクト、クラス、情報ユニット、および他のユニット・モデル要素を含み得る。
A “process” is an encapsulation of a set of units that have a conditional relationship (usually linear) to each other. The process directs one or more impacts to the sequence of units.
A “domain” is a domain of knowledge. A synonym for a domain is “universe”. A domain may include objects, classes, information units, and other unit model elements.

全てが関係の同様のセットを有するオブジェクトのセットを「クラス」と称する。クラスは、表現される情報ユニットの全てが同様の特徴を有する、情報ユニットのセットを表現する、ユニットの仮想セットである。クラスにおける情報ユニットの数に対しては制限がない。同様に、このコンテキストにおいては、関係のセットまたは特徴のセットは、抽象化の何らかのレベルにおいて同じであることを意味する。   A set of objects that all have a similar set of relationships is called a “class”. A class is a virtual set of units that represents a set of information units where all of the represented information units have similar characteristics. There is no limit on the number of information units in a class. Similarly, in this context, it means that the set of relationships or the set of features is the same at some level of abstraction.

クラスのメンバーを、クラスの「インスタンス」と称する。同様の関係を属性関係と称し、関係を形成するイベントをクラスの「属性」と称する。
全てのクラスは、クラス属性間に存在し得る全ての条件関係をカプセル化する、プロセスのセットを有し得る。こうしたプロセスは、クラスの「原理」と称される。一般に、クラスは、任意の数の属性および原理を有し得る。
A member of a class is called an “instance” of the class. A similar relationship is referred to as an attribute relationship, and an event forming the relationship is referred to as a class “attribute”.
Every class can have a set of processes that encapsulate all the conditional relationships that can exist between class attributes. Such a process is called the “principle” of the class. In general, a class may have any number of attributes and principles.

属性は、テキスト文字列、オプションのリストによって制約されるテキスト文字列、クラス自体またはリストであり得る。例えば、名前属性は、テキスト文字列タイプである。人物(クラス)の性別(属性)は、「男性」または「女性」のリストによって制約される
テキスト文字列属性の例である。従業員(リスト属性)は、各リスト・アイテムがクラス従業員であるリスト属性の例であり、従業員は、会社の属性である。
The attribute can be a text string, a text string constrained by an optional list, the class itself or a list. For example, the name attribute is a text string type. The gender (attribute) of a person (class) is an example of a text string attribute constrained by a list of “male” or “female”. Employee (list attribute) is an example of a list attribute where each list item is a class employee, where employee is a company attribute.

オブジェクト、クラス、リストおよびプロセスを説明してきた。しかしながら、情報ユニットは、はるかに多くの種類の構成において配置され得る。他の情報ユニットのランダム・シーケンスである情報ユニットが作成されてもよい。観察される状態との相関が理由で、作成されるユニットのうちの一部が、将来の状態の予測因子と見なされ得る条件関係を表すことがあり得る。しかしながら、過去の実績は必ずしも将来の結果を示すとは限らないため、条件関係を表すユニットは、真の真理値または望ましい真理値に関連することもあれば、関連しないこともある。   We have described objects, classes, lists and processes. However, information units can be arranged in many more types of configurations. Information units that are random sequences of other information units may be created. Because of the correlation with the observed state, some of the units created may represent a conditional relationship that can be considered as a predictor of future states. However, since past performance does not necessarily indicate future results, a unit representing a conditional relationship may or may not be associated with a true or desired truth value.

したがって、各ユニットは、観察に対するそのユニットの関連を示す二進値の特性を有し、この特性をその「真理値」または「TV」と称する。真理値は、「真」もしくは「偽」であり、または、代替的な実施形態においては、実数量であり得る。真理値は、いくつかの例において、ユニットの演算子の成功または値も表現し得る。ユニットの真理値は、同じユニットの演算子または異なるユニットの演算子のアクションによって変更され得る。他の実施形態において、真理値は、ユニットのこの特性のファジー理論評価を表現する、非二値の実数値であり得る。このようなファジーな値は、実数、例えば、0から1の範囲、所定の最小値と所定の最大値との間の範囲の整数値、または取り得る値の他のセットであってもよい。   Thus, each unit has a binary characteristic that indicates its association to observation, and this characteristic is referred to as its “truth value” or “TV”. The truth value may be “true” or “false”, or in alternative embodiments may be a real quantity. Truth values may also represent the success or value of unit operators in some examples. The truth value of a unit can be changed by the action of an operator of the same unit or an operator of a different unit. In other embodiments, the truth value may be a non-binary real value that represents a fuzzy logic evaluation of this property of the unit. Such a fuzzy value may be a real number, for example, an integer value in the range of 0 to 1, a range between a predetermined minimum value and a predetermined maximum value, or other set of possible values.

各ユニットは、他のユニットに対するそのユニットの望ましさに対応する整数または実数値の特性であり得る望ましさ因子も有する。
説明されたように、情報ユニットは、観察の結果、構築され、ユニバースに対して追加され得る。情報ユニットの追加的な特性は、「演算子」と呼ばれる。演算子は、後述されるように衝撃を印加すること、情報ユニットに対して論理演算または集合演算を行うこと、このような情報ユニットを順序付し、シーケンス化し、および他の処理機能を行うことを含めて、ユニット自体の情報ユニットのセットを作成し、変更するための能力をユニットに与える。したがって、ユニットは、情報ユニットの個々の部分を追加し、除去し、コピーし、または変えることを含めて、ユニット自体の情報ユニットのセットに追加を行い、除去し、コピーし、編集し得る。演算子は、観察された変化の主体を反映する。
Each unit also has a desirability factor that can be an integer or real valued property corresponding to the desirability of that unit relative to other units.
As described, information units can be constructed and added to the universe as a result of observation. An additional property of the information unit is called an “operator”. Operators apply impacts, perform logical or set operations on information units as described below, order such information units, sequence them, and perform other processing functions , Giving the unit the ability to create and modify a set of information units of the unit itself. Thus, a unit may add, remove, copy, and edit its own set of information units, including adding, removing, copying, or changing individual parts of an information unit. The operator reflects the observed subject of change.

3つの追加的な変更演算子、すなわち、衝撃演算子、パス抵抗設定、閾値設定が、情報ユニットに対して適用される。衝撃演算子は、ユニットに対して「衝撃」を与え、したがって、フローの選択的な開始を可能とする。パス抵抗演算子は、パスの「抵抗」特性を設定する。1つの実施形態において、抵抗は正の実数量である。1つの実施形態において、抵抗特性は、抵抗がエネルギーの流れに抵抗し、エネルギーを浪費させるという点において、流体抵抗、機械抵抗または電気抵抗と類似する。したがって、抵抗特性は、エネルギーが流れるパスを開閉することによって、フローの選択的な制御を可能とする。1つの実施形態において、パスの抵抗特性は、時間と共に変化する。例えば、ユニットの抵抗は、エネルギーがパスを流れるたびに減少し得る。したがって、パスは、経験されたフローの履歴のメモリを含み得る。パスを流れたフローの過去の履歴は、現在のフローに対する抵抗に影響を与え得る。他の実施形態において、抵抗は、特定のユニットの一定の特性として定義され得る。   Three additional change operators are applied to the information unit: impact operator, path resistance setting, and threshold setting. The impact operator gives an “impact” to the unit, thus allowing a selective start of the flow. The path resistance operator sets the “resistance” characteristic of the path. In one embodiment, the resistance is a positive actual quantity. In one embodiment, the resistance characteristic is similar to fluid resistance, mechanical resistance, or electrical resistance in that the resistance resists the flow of energy and wastes energy. Therefore, the resistance characteristic enables selective control of the flow by opening and closing a path through which energy flows. In one embodiment, the resistance characteristics of the path change over time. For example, the resistance of a unit may decrease as energy flows through the path. Thus, the path may include a history memory of experienced flows. The past history of the flow through the path can affect the resistance to the current flow. In other embodiments, resistance can be defined as a constant characteristic of a particular unit.

各ユニットは、その「閾値」として知られる特性を有する。閾値は、ユニットの演算子を活性化するために必要とされる衝撃の数および/または量を量化する。いくつかの実施形態において、単一の「衝撃」は、ユニットを活性化し、ユニットは、その結果として、おそらくは無制限の数の「宛先ユニット」に衝撃を与える。他の実施形態において、演算子を活性化し、その条件パスの全てに沿った衝撃を開始するために、複数の衝撃が必要と
される。1つの実施形態において、複数の衝撃は、設定された期間内に到達しなければならない。別の実施形態において、複数の衝撃は、衝撃の累積量がユニット活性化閾値に到達するか、または超過するまで累積される。
Each unit has a characteristic known as its “threshold”. The threshold quantifies the number and / or amount of impact required to activate the unit operator. In some embodiments, a single “impact” activates a unit, and the unit consequently impacts an probably unlimited number of “destination units”. In other embodiments, multiple impacts are required to activate the operator and initiate an impact along all of its conditional paths. In one embodiment, multiple impacts must arrive within a set period of time. In another embodiment, multiple impacts are accumulated until the cumulative amount of impact reaches or exceeds the unit activation threshold.

ユニット・モデルを使用するシステムの1つの例示的な実施形態は、図1においてシステム100として示される。データ・バス102は、プロセッサ108と、入力デバイス102と、出力デバイス104と、通信インタフェース106と、メモリ110とを相互接続する。メモリ110は、本明細書において説明される方法を実装するためにプロセッサ108によって使用される様々なアイテムを記憶し、オペレーティング・システム112と、ユニット・モデル・モジュール114と、モデル視覚化モジュール116と、モデル・エディタ・モジュール118と、モデル観察モジュール120と、動作モジュール122と、ダイナミクス・モジュール124とを含み、これら全てはユニット・モデル・ストレージ126へのアクセスを有する。   One exemplary embodiment of a system that uses a unit model is shown as system 100 in FIG. Data bus 102 interconnects processor 108, input device 102, output device 104, communication interface 106, and memory 110. The memory 110 stores various items used by the processor 108 to implement the methods described herein, and includes an operating system 112, a unit model module 114, a model visualization module 116, and the like. A model editor module 118, a model observation module 120, an operation module 122, and a dynamics module 124, all of which have access to the unit model storage 126.

多くの相互接続された情報ユニットを備えるネットワークにおいて、活性化され得る取り得る演算子の数は無制限である。これが生じるとすれば、多くの新たなユニットが総セットに対して追加される。本発明の様々な実施形態のうちのいくつかに従って、有限のエネルギーおよび抵抗の概念を適用することは、取り得る活性化の数を制限する。   In a network with many interconnected information units, the number of possible operators that can be activated is unlimited. If this happens, many new units are added to the total set. In accordance with some of the various embodiments of the present invention, applying the concept of finite energy and resistance limits the number of possible activations.

ユニット・モデルの別の重要な側面は、フローと名付けられる。モデルのこの側面をダイナミクスと称する。「フロー」は、活性化されたユニットの軌跡として、および、これらのユニットを接続するパスとして定義される。フロー・パスに含まれるユニットは、フローの外部のユニットと異なる。なぜなら、含まれる各ユニットは、そのユニットを通過する何らかの動的な特性のフローを経験しているためである。この動的な特性を「エネルギー」と呼ぶ。そのため、十分なエネルギーを用いて衝撃を与えられるユニットは、その演算子を活性化するものとする。いかなるユニットも、条件関係の先行条件となり得る。エネルギーを印加する動力(dynamic)は、どのように結果が活性化されるかを説明する。条件関係は、条件から結果へエネルギーを伝達するためのパスとして動作する。   Another important aspect of the unit model is named flow. This aspect of the model is called dynamics. A “flow” is defined as a trajectory of activated units and as a path connecting these units. The units included in the flow path are different from the units outside the flow. This is because each unit involved experiences some dynamic characteristic flow through that unit. This dynamic characteristic is called “energy”. Therefore, a unit that can be impacted with sufficient energy shall activate its operator. Any unit can be a precondition in a conditional relationship. The kinetics of applying energy explains how the result is activated. Conditional relationships operate as a path for transferring energy from conditions to results.

様々な実施形態において、ユニットは、衝撃を受け取った後に、衝撃からのエネルギーを使用することによって動作して、ユニット演算子を実行する。ユニットが、1以上の宛先ユニットへのパスを有する場合、残りのエネルギーは、1以上の宛先ユニットに対し向けられる。宛先ユニットが、それら自体の宛先ユニットへのパスを有し、演算子によるエネルギーの消費およびパス上での抵抗損失を乗り越えた後に残っているエネルギーを有する限り、エネルギーのこの伝達は継続する。ユニット・モデルの任意の特定のインスタンス化において、多くの取り得るエネルギー・フロー経路が存在する。特定のドメインまたはユニバースは、エネルギー・フローが抵抗に直面するにつれてエネルギーが浪費される異なる方法を有し得る。   In various embodiments, the unit operates by using energy from the impact to perform a unit operator after receiving the impact. If a unit has a path to one or more destination units, the remaining energy is directed to one or more destination units. This transmission of energy continues as long as the destination units have a path to their own destination unit and have energy remaining after overcoming energy consumption by the operator and resistance losses on the path. There are many possible energy flow paths in any particular instantiation of the unit model. A particular domain or universe may have different ways in which energy is wasted as the energy flow encounters resistance.

図6を参照すると、フロー・チャートは、本発明の一実施形態に係る、単一のユニット内での衝撃の処理を説明する。図6は、本発明の1つの実施形態に係る、単一のユニットにおけるフローの処理を説明する。ただし、特定のドメインまたはユニバースは、フローを別様に処理し得る。実際的なモデルは、複数の接続されたユニットを備えるため、全てのユニットを通じて同様のプロセスを反復することが必要である。処理は、601において開始し、決定602へ進む。決定602は、考慮中のユニットが他のユニットから衝撃または何らかのエネルギーを受け取ったかを決定する。602が偽(いいえ)である場合、ユニットの処理は611において終了する。602が真(はい)である場合、処理は決定603へ続く。   Referring to FIG. 6, a flow chart illustrates the handling of impacts within a single unit, according to one embodiment of the present invention. FIG. 6 illustrates the processing of a flow in a single unit, according to one embodiment of the present invention. However, certain domains or universes may handle flows differently. Since a practical model comprises a plurality of connected units, it is necessary to repeat the same process through all units. Processing begins at 601 and proceeds to decision 602. Decision 602 determines whether the unit under consideration has received an impact or some energy from another unit. If 602 is false (no), unit processing ends at 611. If 602 is true (yes), processing continues to decision 603.

いくつかの実施形態において、衝撃エネルギーの量は、ユニットを活性化するための閾
値を超えなければならない。決定603は、衝撃エネルギーがユニットを活性化するのに十分であるかを決定する。決定603が偽(いいえ)である場合、ユニットの処理は611において終了する。603が真(はい)である場合、処理は604へ続く。
In some embodiments, the amount of impact energy must exceed a threshold for activating the unit. Decision 603 determines if the impact energy is sufficient to activate the unit. If decision 603 is false (no), unit processing ends at 611. If 603 is true (yes), processing continues to 604.

604において、ユニット演算子が活性化される。次いで、605において、残りのエネルギーを決定するために、消費エネルギー損失が適用される。いくつかの実施形態において、ユニットの活性化は、入力からのエネルギーを使用し、または浪費する。他の実施形態において、演算子の活性化が原因でエネルギーが損失されることはなく、全ての入力エネルギーが、アタッチされたユニットへの伝搬のために残る。さらに他の実施形態において、エネルギーは、ユニットが活性化された場合に追加される。   At 604, the unit operator is activated. Then, at 605, a loss of consumed energy is applied to determine the remaining energy. In some embodiments, unit activation uses or wastes energy from the input. In other embodiments, no energy is lost due to operator activation and all input energy remains for propagation to the attached unit. In yet other embodiments, energy is added when the unit is activated.

606において、抵抗調整が適用される。いくつかの実施形態において、ユニットの活性化は、その抵抗を減少させ、または、その閾値を減少させ、したがって、そのユニットが後続のフローに含まれる可能性を高める。他の実施形態において、ユニットの活性化は、その閾値または抵抗を増加させ、そのユニットが将来のフローに含まれる可能性を低くする。   At 606, resistance adjustment is applied. In some embodiments, activation of a unit reduces its resistance or reduces its threshold, thus increasing the likelihood that the unit will be included in subsequent flows. In other embodiments, activation of a unit increases its threshold or resistance, making it less likely that the unit will be included in future flows.

604および605において処理が完了すると、ユニットは、接続された他のユニットへ渡すためのエネルギーを有し得る。606において、他のユニットが接続されているかが決定される。ユニットが接続されていない場合、処理は611において終了する。少なくとも1つの他のユニットが接続されている場合、決定606は真(はい)であり、処理は607へ続く。   When processing is complete at 604 and 605, the unit may have energy to pass to other connected units. At 606, it is determined whether another unit is connected. If the unit is not connected, the process ends at 611. If at least one other unit is connected, decision 606 is true (yes) and processing continues to 607.

607において、到来するフローの残りのエネルギーは、出力接続間で分配される。1つの実施形態において、エネルギーは、出力接続間で等しく分けられる。別の実施形態においては、複数の出力接続が存在する場合、分配アルゴリズムが、どのようにエネルギーが分けられるかを決定する。分配アルゴリズムは、特定の基準を満たす関係を有するパスへのフローも制約し得る。処理は611において終了する。   At 607, the remaining energy of the incoming flow is distributed among the output connections. In one embodiment, the energy is equally divided between the output connections. In another embodiment, if there are multiple output connections, the distribution algorithm determines how the energy is split. Distribution algorithms may also constrain flows to paths that have relationships that meet certain criteria. The process ends at 611.

ユニット・モデルは、モデルにおいて使用される情報ユニットに変化を引き起こすために活性化され得る、いくつかのデバイスを有する。様々な実施形態において、方法は、こうしたデバイスを使用して、望ましい結果を追求し、または望ましくない結果を回避する。特定のドメインまたはユニバースは、多様な条件に基づいて、ドメインまたはユニバース自体の望ましい結果の評価基準を有し得る。   The unit model has a number of devices that can be activated to cause changes to the information units used in the model. In various embodiments, the method uses such devices to pursue desirable results or avoid undesirable results. A particular domain or universe may have criteria for the desired outcome of the domain or universe itself based on various conditions.

前述のセクション[098]から[0103]は、ユニットが衝撃を受け取った後のアクティビティを説明した。原理上は、無限の数のユニットが、同時に衝撃を受け取り得る。理論上、これは完全に容認可能である。しかしながら、実際には、利用可能なハードウェアが、これらの衝撃をシステムがどのように管理するかを指図する。これが達成され得る数多くの手段が存在する。直列型システムの場合、このシステムの1つの実施形態は、エンジンによって系統的に上から下へ辿られる衝撃スタックのセットを採用する。別のユニットへ衝撃を与える演算子を持つユニットは、スタックのこのセット内のスタックのうちの1つに対して衝撃を内部的に追加し得る。スタックは、衝撃のリストである構造である。衝撃は、衝撃のエネルギーに関連する特性とパス特性とを有する構造である。パスは、衝撃源、宛先、および、2つを接続し、エネルギーが流れる関係を定義する。スタック、衝撃およびパスは、エンジンまたはユニット・モデルによって実装され得る。衝撃は、エネルギーが流れるパスによって定義される。   The previous sections [098] to [0103] described the activity after the unit received an impact. In principle, an unlimited number of units can receive an impact at the same time. In theory, this is completely acceptable. In practice, however, the available hardware dictates how the system manages these impacts. There are numerous means by which this can be achieved. In the case of an in-line system, one embodiment of this system employs a set of impact stacks that are systematically traced from top to bottom by the engine. A unit with an operator that impacts another unit may add impact internally to one of the stacks in this set of stacks. A stack is a structure that is a list of impacts. The impact is a structure having characteristics related to impact energy and path characteristics. A path defines an impact source, a destination, and a relationship that connects the two and flows energy. Stacks, impacts and paths can be implemented by engine or unit models. Impact is defined by the path through which energy flows.

衝撃は、現在のスタックの終わりに追加されてもよく、または、衝撃が追加される新たなスタックが作成されてもよく、新たなスタックは、現在のスタックに設定される。その
ため、ターゲット・ユニットへのフローは、先行するスタックがその処理を再開する前に完了する。複数のフローが並行して、ただし、直列的に時間管理されるように、動作し得ることが留意されるべきである。ユニットを有する接続へエネルギーが分配される手法は、スタックによって実装され得るプロセスである。
The impact may be added at the end of the current stack, or a new stack may be created where the impact is added, and the new stack is set to the current stack. Thus, the flow to the target unit is completed before the preceding stack resumes its processing. It should be noted that multiple flows can operate in parallel, but serially in time. The way energy is distributed to connections with units is a process that can be implemented by a stack.

>および!>によって接続されるユニットのセットを考慮されたい。ユニットの真理値が真である場合、フローは、>パスを進み、偽である場合、!>パスを進む。>および!>関係以外の全てのパスについての抵抗は、無限に設定される。そのため、フローは、それらのパスのうちの1つを進むことが保証され得る。同様のパスおよび抵抗設定を有する多くのユニットをまとめて設置することによって、フローは、ユニットの所定のセットを通過するように方向付けられる。こうしたユニットは、マッピング、条件決定、ユニット作成/削除、ユニット変更、実インタフェース操作、および動的なパス抵抗設定などの機能を実行する演算子を有する。ユニットのこのセットは、プロセスと称される。   > And! Consider the set of units connected by>. If the truth value of the unit is true, the flow goes> pass, if false,! > Follow the path. > And! > The resistance for all paths other than the relationship is set to infinity. As such, the flow can be guaranteed to follow one of those paths. By installing many units together with similar paths and resistance settings, the flow is directed through a predetermined set of units. These units have operators that perform functions such as mapping, condition determination, unit creation / deletion, unit change, actual interface operation, and dynamic path resistance setting. This set of units is called a process.

図8の一般問題解決法(General Problem Solver)は、等式によってその値が決定される未知の量を決定するために使用されるアルゴリズムを具現化する例示的なプロセスである。GPS801は、既知の量から未知の量を計算するために、802および803においてドメインの基本的な原理を適用し、必要な計算の全てを採用する。GPS801は、特定のモデルを基準として用いずに設計されてもよく、そのため、ユニット・モデルによって説明される任意のドメインに対して適用され得る。GPS801は、前述されたように全ての原理についてループし、そのプロセスに衝撃を与えることによって原理を適用する。適用すべき原理がそれ以上存在しない場合、ループ動作は、偽の真理値を有し、ボックス805において開始する「解の変数(Solve Variable)」ユニットへのパスに従う。ボックス805は、各等式がユニットであり、その要素が特定のシーケンスにおける数、変数および他の算術記号を表現する、等式のリストについてループする。等式は、その演算子が作成演算子であるユニットに衝撃を与えることによって作成され得る。等式要素は、その時に設定されても、または後で設定されてもよい。等式リストは、その要素が等式のリストとなるユニットである。等式は、工程807において、Solve Variableが等式(Eq)要素のメンバーであるかを確認するために交差演算を行うことによって、解の変数を含むかを確認するためにチェックされる。Solve Variableが、等式要素のメンバーである場合、フローは、工程808において、変数についての等式を解くプロセスに衝撃を与える次のユニットへ進む。次に、等式は、工程809において評価され、工程8010において出力に成功する。Solve Variableが存在しない場合、プロセスは、工程806において失敗に終わる。   The General Problem Solver of FIG. 8 is an exemplary process that embodies an algorithm used to determine an unknown quantity whose value is determined by an equation. The GPS 801 applies the basic principles of the domain at 802 and 803 to employ all of the necessary calculations to calculate an unknown quantity from a known quantity. The GPS 801 may be designed without using a specific model as a reference, so it can be applied to any domain described by the unit model. The GPS 801 loops on all the principles as described above and applies the principles by impacting the process. If there are no more principles to apply, the loop action follows the path to the “Solve Variable” unit that has a false truth value and begins in box 805. Box 805 loops over a list of equations where each equation is a unit and its elements represent numbers, variables and other arithmetic symbols in a particular sequence. An equation can be created by impacting the unit whose operator is the creation operator. The equation element may be set at that time or later. An equation list is a unit whose elements are lists of equations. The equation is checked in step 807 to see if it contains a solution variable by performing a crossover operation to see if the Solve Variable is a member of the equation (Eq) element. If Solve Variable is a member of the equation element, flow proceeds to the next unit that impacts the process of solving the equation for the variable at step 808. The equation is then evaluated at step 809 and is successfully output at step 8010. If there is no Solve Variable, the process fails at step 806.

目標指向のフローは、所望の結果を達成し、または目標基準を満足するフローである。1つの実施形態において、目標基準は、開始ユニットのセットおよび終了ユニットのセットとして表される。他の実施形態において、目標の開始ユニットおよび終了ユニットは、状況または状態として表され得る。モデルの特定のインスタンス化内で終了ユニットを開始ユニットへ接続する経路およびユニットを見つけるために、様々な方法が使用され得る。   A goal-oriented flow is a flow that achieves a desired result or satisfies a goal criterion. In one embodiment, the goal criteria is represented as a set of start units and a set of end units. In other embodiments, the target start and end units may be represented as situations or states. Various methods can be used to find the path and unit that connects the ending unit to the starting unit within a particular instantiation of the model.

ユニット・モデルの重大な特徴は、目標指向のフロー、および、モデルのインスタンス化において目標を満足するフローを構成するユニットおよび接続の識別である。関連する概念は、「方向付けられたフロー」である。方向付けられたフローは、目標と、フローが開始するドメインと、結果として得られるフローとを備える。目標指向のフローの例示的な適用例は、発見、一般問題解決、および仮説のテストを含む。「仮説」は、既知の知識ユニットから、知識ユニットの新たなクラスを展開するプロセスである。   A critical feature of the unit model is the identification of the units and connections that make up the goal-oriented flow and the flow that satisfies the goal in model instantiation. A related concept is “directed flow”. The directed flow comprises a goal, the domain from which the flow begins, and the resulting flow. Exemplary applications of goal-oriented flows include discovery, general problem solving, and hypothesis testing. A “hypothesis” is the process of developing a new class of knowledge units from known knowledge units.

様々な実施形態において、ユニット・モデルのインスタンス化は、フィードバック、規制および観察を呈する。例として、S1およびS2と表される2つの状況を考慮されたい。一定の情報ユニットは、S1およびS2の両方のメンバーである。S2は、S1におけるユニットのうちのいくつかを含む。いくつかのS1ユニットは、S2における1以上のユニットの演算子のターゲットである。したがって、S2は、S1をモニタし、所定の基準に応じてS1のコンテンツを変更し得る。この機能は、自己観察と、フィードバックを通じた自己規制とについての基礎を提供する。この概念は、S1−>S2−>S3−>S1などの、2つよりも多くの状況に関与する、より複雑な規制シナリオへ拡張され得る。   In various embodiments, the instantiation of the unit model presents feedback, regulation and observation. As an example, consider two situations denoted S1 and S2. Certain information units are members of both S1 and S2. S2 includes some of the units in S1. Some S1 units are targets of operators of one or more units in S2. Therefore, S2 can monitor S1 and change the content of S1 according to a predetermined standard. This function provides the basis for self-observation and self-regulation through feedback. This concept can be extended to more complex regulatory scenarios involving more than two situations, such as S1-> S2-> S3-> S1.

先行する議論は、相関が一般にはおそらく因果関係を示すという仮定の下で、演繹法の一般的な原理に基づいて、望ましいものを予測し、説明し、追及するためのモデルの使用を説明する。しかしながら、ユニット・モデルは、さらなる有益な利点を有する。モデルは、知識を発見し、経験を反映し、一般化を行うために使用され得る。   The preceding discussion explains the use of models to predict, explain, and pursue what is desirable, based on the general principles of deduction, assuming that correlations are generally causal . However, the unit model has further beneficial advantages. The model can be used to discover knowledge, reflect experience, and generalize.

モデルは、その経験の情報の中から新たな知識を見つける際、または目標に到達する際の効率も最大化し得る。効率の最大化は、ダイナミクスの観点から述べられ得る。説明されたように、各フローはエネルギーに依存する。取り得るフロー・パスは、フローを生成するために利用可能なエネルギーを超過し得る。したがって、目標を達成するために必要とされるエネルギーを低減することが望ましい。   The model may also maximize efficiency in finding new knowledge from the experience information or reaching the goal. Maximizing efficiency can be stated in terms of dynamics. As explained, each flow is energy dependent. The possible flow paths may exceed the energy available to generate the flow. Therefore, it is desirable to reduce the energy required to achieve the goal.

ユニット・モデルのインスタンスを作成し、または拡張するための多くの手法が存在する。議論されたように、観察は、ユニット・モデル・インスタンスを追加するために使用され得る。いくつかの実施形態においては、観察からよりもむしろ、別の形式の情報から、ユニット・モデルのインスタンスを作成し、または拡張することが望ましい。1つの実施形態において、このような変換は、システムのダイナミクスにおける一般モデル化プロセス(GMP:General Modeling Process)の適用によって達成される。GMPは、知識を共通の形式からユニット・モデル形式へ動的に変換するための方法のセットである。GMPは、特定のドメインを展開するための一般化された手法である。   There are many approaches to creating or extending a unit model instance. As discussed, observations can be used to add unit model instances. In some embodiments, it may be desirable to create or extend an instance of the unit model from another type of information rather than from observation. In one embodiment, such conversion is accomplished by application of a general modeling process (GMP) in the dynamics of the system. GMP is a set of methods for dynamically converting knowledge from a common format to a unit model format. GMP is a generalized technique for deploying specific domains.

図7を参照すると、図7は、GMP変換の工程の一実施形態を説明するフロー・チャートを示す。図7に示される工程は、一般的であり、特定の実施形態のニーズ、ドメイン、または必要とされるデータ変換に対して適合され得る。工程は、異なる順序で実行されてもよく、または、いくつかの工程が、必要に応じて省略されてもよい。   Referring to FIG. 7, FIG. 7 shows a flow chart describing one embodiment of a GMP conversion process. The process shown in FIG. 7 is general and can be adapted to the needs, domains, or required data transformations of a particular embodiment. The steps may be performed in a different order, or some steps may be omitted as needed.

図7では、工程701において、ドメインが識別され、現実の世界または物理的な世界から関連データを収集し、作成されるモデル・インスタンスの範囲を決定する。工程702においては、工程701において識別されたドメインについての目標が識別される。目標は、望ましい情報ユニットの観点から、または、1つもしくは複数のプロセスの観点から識別され得る。工程703において、工程701において識別されたドメインに適当なクラスおよび属性のタイプの識別を含む、必要とされるオブジェクトが識別される。704において、工程703において識別されなかった、ドメイン内の一意なアイテムが識別され、キャプチャされる。   In FIG. 7, at step 701, a domain is identified and relevant data is collected from the real or physical world to determine the scope of model instances to be created. In step 702, a goal for the domain identified in step 701 is identified. Goals can be identified in terms of desirable information units or in terms of one or more processes. In step 703, the required objects are identified, including the class and attribute type identification appropriate for the domain identified in step 701. At 704, unique items in the domain that were not identified in step 703 are identified and captured.

工程705において、制約を含めて、リストおよびカプセル化が識別される。工程706において、同様のオブジェクトは、工程703において識別されたクラス・タイプに対して関連付けられる特定のクラスを識別するためにグループ化される。同様に、工程707において、各クラスの定義のために必要とされる特定の属性が識別される。   At step 705, lists and encapsulations are identified, including constraints. At step 706, similar objects are grouped to identify the particular class associated with the class type identified at step 703. Similarly, in step 707, the specific attributes required for each class definition are identified.

工程708において、原理および条件関係は、識別され、定義されたドメイン・クラス
に従って識別される。工程709において、必要とされるプロセスが識別される。典型的には、こうしたプロセスは、ドメインについて定義された目標、オブジェクト、およびクラスから導かれるが、クラス属性に対して関連付けられてもよい。
In step 708, the principles and conditional relationships are identified and identified according to the defined domain class. In step 709, the required process is identified. Typically, such processes are derived from goals, objects, and classes defined for the domain, but may be associated with class attributes.

実際にユニット・モデルを実装するための多くの手法が存在する。1つの実施形態において、ユニット・モデルは、例えば、紙および描画装置を使用して、手動で実施される。少数のユニットまたは関係を超過するモデルの任意のインスタンスにおいては、本明細書における特徴および説明に係るモデルのユニットを記憶し、処理するためにデジタル・コンピュータを使用することが実際的である。したがって、1つの実施形態において、ユニット・モデルは、デジタル・コンピュータがモデルを記憶し、実行することを可能とする、データ構造のセット、アルゴリズムのセット、およびプログラムされた機能のセットとして提供される。別の実施形態においては、アナログ・コンピュータが使用される。別の実施形態において、アナログ・コンポーネントとデジタル・コンポーネントとの両方を組み込んだハイブリッド・コンピュータが使用される。1つの実施形態において、ユニット・モデルのために特に設計されたハードウェア・コンポーネントが、モデルを記憶し、または実行するために構築される。   There are many ways to actually implement a unit model. In one embodiment, the unit model is implemented manually using, for example, paper and a drawing device. In any instance of a model that exceeds a small number of units or relationships, it is practical to use a digital computer to store and process the units of the model according to the features and descriptions herein. Thus, in one embodiment, the unit model is provided as a set of data structures, a set of algorithms, and a set of programmed functions that allow the digital computer to store and execute the model. . In another embodiment, an analog computer is used. In another embodiment, a hybrid computer is used that incorporates both analog and digital components. In one embodiment, hardware components specifically designed for the unit model are built to store or execute the model.

1つの実施形態において、コンピュータ実装は、視覚化アプリケーションを含む。本明細書において説明されるように、ユニット・モデルは、データを視覚的に表示し、組織化するために使用され得る。視覚化アプリケーションは、コンピュータ・ディスプレイまたはプリンタ上でデータを見る機能を提供する。1つの実施形態において、コンピュータ実装はエディタを含む。ユニット・モデル・エディタは、ユーザがモデルの要素を取り出し、検査し、変更し、追加し、記憶し、文書化することを可能とする。エディタは、視覚化アプリケーションと同様であるが、モデルに対して変更を加えるための機能を追加する。したがって、エディタは、知識ドメインの一部または全体を作成し、変更し、維持し、または削除するために使用され得る。エディタは、テキスト記述またはグラフィック表示を使用して、モデルの要素を編集するように設計され得る。   In one embodiment, the computer implementation includes a visualization application. As described herein, unit models can be used to visually display and organize data. Visualization applications provide the ability to view data on a computer display or printer. In one embodiment, the computer implementation includes an editor. The unit model editor allows the user to retrieve, inspect, modify, add, store and document model elements. The editor is similar to the visualization application, but adds functionality to make changes to the model. Thus, the editor can be used to create, modify, maintain, or delete part or all of the knowledge domain. The editor can be designed to edit the elements of the model using a text description or a graphical display.

別の実施形態において、コンピュータ実装は、観察モジュールを含む。観察モジュールは、ユニット・モデルにおけるユニットを形成するためにイベントを自動的に処理し、結果として得られるモデルを記憶する。イベントは、任意のソースから、例えば、データ・ファイル、データ・ネットワーク接続、シミュレータ、リアル・タイム・モニタから、または、外部の計装および測定装置から取得され得る。   In another embodiment, the computer implementation includes an observation module. The observation module automatically processes the events to form units in the unit model and stores the resulting model. Events can be obtained from any source, for example, from a data file, data network connection, simulator, real time monitor, or from external instrumentation and measurement equipment.

1つの実施形態において、コンピュータ実装は、モデルにおける情報ユニットに対して作用するための演算子モジュールを含む。演算子モジュールは、条件付き関連付け(conditional association)、因果関係の識別、値の割り当て、編集、自己観察、衝撃開始、衝撃抵抗、閾値決定、および一般化を含む動作を実行し得る。演算子モジュールは、データの要素間の関係を発見し、一般化するためのメカニズムを含み得る。   In one embodiment, the computer implementation includes an operator module for acting on information units in the model. The operator module may perform operations including conditional association, causal identification, value assignment, editing, self-observation, impact initiation, impact resistance, threshold determination, and generalization. An operator module may include a mechanism for discovering and generalizing relationships between elements of data.

1つの実施形態において、コンピュータ実装は、他のモジュールの相互作用を調整し、モデルの要素のフローを制御するための動的エンジン・モジュールを含む。1つの実施形態において、コンピュータ実装は、永続ストレージ内で、例えば、磁気テープ、回転ディスクまたは光学式ストレージ上で、モデルを記憶し、取り出すための回路を含む。1つの実施形態において、本実装は、データベース内にモデルを記憶し、このデータベースからモデルを取り出すためのインタフェースを含む。信頼性、冗長性、および大量のデータを収容するための能力などの利点を提供する、多くのデータベース・プログラムが利用可能である。1つの実施形態において、複数のアプリケーションは、情報モデラー・ツールセットまたはワークベンチ内にインテグレートされる。インテグレートされたツールセット
は、ユーザがモデルの機能を制御し、操作し、選択的に実行することを可能とするためのユーザ・インタフェースを含む。
In one embodiment, the computer implementation includes a dynamic engine module for coordinating the interaction of other modules and controlling the flow of model elements. In one embodiment, the computer implementation includes circuitry for storing and retrieving models in persistent storage, eg, on magnetic tape, rotating disk, or optical storage. In one embodiment, the implementation includes an interface for storing a model in a database and retrieving the model from the database. Many database programs are available that provide benefits such as reliability, redundancy, and the ability to accommodate large amounts of data. In one embodiment, multiple applications are integrated into an information modeler toolset or workbench. The integrated toolset includes a user interface that allows the user to control, manipulate, and selectively execute the functions of the model.

本明細書における特徴および説明に従って実装され得る、多くのコンピュータ・アプリケーションおよびツールが存在する。本明細書における例示的な実施形態は、あくまでも例に過ぎず、包括的または限定的なものとしてみなされるべきではない。本明細書における特徴および説明の1つの実施形態において、ユニット・モデルのコンピュータ実装は、特徴が外部のコンピュータ・プログラムによって呼び出され得る、コンピュータ機能のセット、オブジェクトのセット、サブルーチンのセット、またはモジュールのセットとして提供される。これは、ユーザが、ユニット・モデル・アクセス、操作および実行を実装するために必要とされる機能の全てをコーディングせずに、ユニット・モデル実装を別のコンピュータ・プログラム内へ組み込むことを可能とする。   There are many computer applications and tools that can be implemented in accordance with the features and descriptions herein. The exemplary embodiments herein are merely examples and should not be considered as comprehensive or limiting. In one embodiment of the features and descriptions herein, the computer implementation of the unit model is a set of computer functions, a set of objects, a set of subroutines, or a module whose features can be invoked by an external computer program. Offered as a set. This allows the user to embed the unit model implementation in another computer program without coding all the functions required to implement unit model access, operation and execution. To do.

本明細書における特徴および説明は、多種多様なドメインをモデル化する際に有益である。本明細書における特徴および説明の適用例のいくつかの例示的な実施形態およびインスタンス化は、図および関連付けられた説明において例示される。ユニット・モデルの特徴の全てが、特定のドメインのモデル化において採用される必要があるわけではないことが理解されるべきである。その代わりに、モデルは、必要に応じて採用され得る、特徴およびオプションの豊富なセットを提供する。同様に、モデル機能のいくつかの側面は、モデル自体に対する変更なしに、特定のドメインに一致するように適合され得る。   The features and descriptions herein are useful in modeling a wide variety of domains. Several exemplary embodiments and instantiations of application examples of features and descriptions herein are illustrated in the figures and associated descriptions. It should be understood that not all unit model features need to be employed in modeling a particular domain. Instead, the model provides a rich set of features and options that can be employed as needed. Similarly, some aspects of model functionality can be adapted to match a particular domain without changes to the model itself.

例えば、抵抗、ダイナミクス、およびフローの側面において、各ドメイン・モデルは、異なる特徴を必要とし得る。いくつかの実施形態において、フローのエネルギーは、エネルギー出力と浪費されたエネルギーとの合計が、システムへ投入されたエネルギーと等しくなるように保存される。他の実施形態において、いくつかのユニットは、伝搬中にエネルギーを再生し、または増幅する。特定のドメインまたはユニバースは、抵抗、ダイナミクスおよびフローに対して適用される規則を決定する。   For example, in the resistance, dynamics, and flow aspects, each domain model may require different features. In some embodiments, the energy of the flow is stored such that the sum of the energy output and wasted energy is equal to the energy input to the system. In other embodiments, some units regenerate or amplify energy during propagation. The particular domain or universe determines the rules that apply to resistance, dynamics and flow.

ここで、図3Aを参照すると、閉鎖システムにおけるポイント・オブジェクトの運動学のドメインに対して適用される本発明の一実施形態が図示される。これは、物理的なシステムの特徴をキャプチャするためのユニット・モデル機能を例示する。302において、最上位のシステム・クラスが示されている。クラス302は、様々な属性を有する。全ての属性が必ずしも図に示されるとは限らない。クラス302の例示的な属性は、名前属性303、object_list属性304、および調整システム属性305として示される。クラス302は、プロセス・リスト306とも関連付けられる。   Referring now to FIG. 3A, there is illustrated one embodiment of the present invention applied to the kinematic domain of point objects in a closed system. This illustrates the unit model function for capturing physical system features. At 302, the highest system class is shown. Class 302 has various attributes. Not all attributes are necessarily shown in the figure. Exemplary attributes of class 302 are shown as name attribute 303, object_list attribute 304, and coordination system attribute 305. Class 302 is also associated with process list 306.

いくつかの実施形態において、カプセル化である属性は、タイプ・ユニット、クラス・ユニット、および制約リスト(「CList」)・ユニットに対して関連付けられる。したがって、図3Aをさらに参照すると、object_list属性304は、object_listタイプ・アトム307、object_listクラス・アトム308、およびobject_list CListアトム309に対して関連付けられる。クラス・アトム308は、1以上のクラス・インスタンスに対して関連付けられ得る。ポイント・オブジェクト・クラス310は、クラス308に対して関連付けられる、1つのそのようなインスタンスである。   In some embodiments, an attribute that is an encapsulation is associated with a type unit, a class unit, and a constraint list (“CList”) unit. Thus, with further reference to FIG. 3A, the object_list attribute 304 is associated with the object_list type atom 307, the object_list class atom 308, and the object_list CList atom 309. Class atom 308 may be associated with one or more class instances. Point object class 310 is one such instance associated with class 308.

ここで、図3Bを参照すると、図3Aからの例が続いている。図3Aからのポイント・オブジェクト・クラス310は、例示的な関連付けられた属性と共に示されている。属性は、名前320、変位機能321、速度機能322、加速機能323、インスタンス324、および遷移328を含む。ポイント・オブジェクト・クラス310は、プロセス・リスト332に対しても関連付けられる。これらの属性およびプロセスの各々は、ポイント
・オブジェクト・クラス310によって定義されるポイント・オブジェクト・モデルに対して特性または機能を追加する。
Referring now to FIG. 3B, the example from FIG. 3A continues. The point object class 310 from FIG. 3A is shown with exemplary associated attributes. Attributes include name 320, displacement function 321, velocity function 322, acceleration function 323, instance 324, and transition 328. The point object class 310 is also associated with the process list 332. Each of these attributes and processes adds properties or functionality to the point object model defined by the point object class 310.

インスタンス属性324は、この例示的な実施形態におけるモデル内のポイント・オブジェクトのインスタンスのカプセル化である。インスタンス属性324は、インスタンス・タイプ325、インスタンス・クラス326、およびインスタンスCList327に対して関連付けられる。同様に、遷移属性328は、遷移タイプ329、遷移クラス330、および遷移CList331に対して関連付けられる。   Instance attribute 324 is an encapsulation of the instance of the point object in the model in this exemplary embodiment. Instance attribute 324 is associated with instance type 325, instance class 326, and instance CList 327. Similarly, transition attribute 328 is associated with transition type 329, transition class 330, and transition CList 331.

ポイント・オブジェクト・クラス310は、プロセス・リスト332を通じて、様々なプロセスに対して関連付けられる。2つの例示的なプロセスが示される。プロセス333は、変位の時間導関数としての速度の計算のためのプロセスを定義し、プロセス334は、速度の時間導関数としての加速度の計算のためのプロセスを定義する。   Point object class 310 is associated with various processes through process list 332. Two exemplary processes are shown. Process 333 defines a process for calculating velocity as a time derivative of displacement, and process 334 defines a process for calculating acceleration as a time derivative of velocity.

ポイント・オブジェクト運動学の例示的な実施形態は、図3Cへ続く。(図3Bからの)遷移クラス330は、インスタンス化されたポイント・オブジェクト遷移クラス340と共に示される。クラス340のいくつかの関連付けられた属性が示される。属性は、初期インスタンス341、最終インスタンス342、変位変化343、時間変化344、速度変化349、および加速度変化350を含む。クラス340は、プロセス・リスト345に対して関連付けられる。プロセス・リスト345は、3つのプロセスに対して関連付けられる。プロセス346は、変位変化の計算のためのプロセスを定義する。プロセス347は、速度変化の計算を定義する。プロセス348は、加速度変化の計算を定義する。   An exemplary embodiment of point object kinematics continues in FIG. 3C. Transition class 330 (from FIG. 3B) is shown with an instantiated point object transition class 340. Some associated attributes of class 340 are shown. The attributes include an initial instance 341, a final instance 342, a displacement change 343, a time change 344, a speed change 349, and an acceleration change 350. Class 340 is associated with process list 345. Process list 345 is associated with three processes. Process 346 defines a process for calculating displacement changes. Process 347 defines the calculation of speed change. Process 348 defines the calculation of acceleration change.

ポイント・オブジェクト運動学の例は、図3Dへ続く。図3Dにおいて、図3Bからのインスタンス・クラス326は、モデルの観点から、さらに説明される。クラス326のインスタンスは、ポイント・オブジェクト・インスタンスとして示される。インスタンス360のいくつかの属性は、ラベル361、時間362、速度363、加速度364、および変位365を含めて示される。インスタンス360は、プロセス・リスト369も含む。変位属性365は、関連付けられたアトム変位タイプ366、アトム変位クラス367およびアトム変位制約リスト368を有するカプセル化である。   An example of point object kinematics continues in FIG. 3D. In FIG. 3D, the instance class 326 from FIG. 3B is further described from a model perspective. Instances of class 326 are shown as point object instances. Several attributes of instance 360 are shown including label 361, time 362, velocity 363, acceleration 364, and displacement 365. Instance 360 also includes a process list 369. The displacement attribute 365 is an encapsulation having an associated atom displacement type 366, an atom displacement class 367 and an atom displacement constraint list 368.

ポイント・オブジェクト運動学の例示的な実施形態は、図3Eにおいて続く。図3Dからの変位クラス・アトム367は、モデルの観点から、さらに説明される。ベクトル・クラス370は、変位クラス367の一要素である。ベクトル・クラス370は、属性調整システム371、属性デカルト372、属性極373、および属性球面373に対して関連付けられる。ベクトル・クラス370は、そのプロセス・リスト375に対しても関連付けられる。   An exemplary embodiment of point object kinematics continues in FIG. 3E. The displacement class atom 367 from FIG. 3D is further described from a model perspective. Vector class 370 is an element of displacement class 367. Vector class 370 is associated with attribute adjustment system 371, attribute Cartesian 372, attribute pole 373, and attribute sphere 373. Vector class 370 is also associated with its process list 375.

例示的なポイント・オブジェクト運動学の実施形態のさらなる詳細は、図3Fに示される。図3Fは、デカルト属性372のコンポーネントおよび関連付けを示し、図3Gは、極属性373のコンポーネントおよび関連付けを示す、これら両方は図3Eからのものである。図3Fにおいて、デカルト属性372は、デカルト・ベクトル・クラス381に対して関連付けられるデカルト・クラス380に対して関連付けられる。デカルト・ベクトル・クラス381は、プロセス・リスト385、ならびに、X属性382、Y属性383およびZ属性384に対して関連付けられる。図3Gにおいて、極属性373は、極ベクトル・クラス391に対して関連付けられる極クラス・アトム390に対して関連付けられる。極ベクトル・クラス391は、R属性392、シータ属性393、およびZ属性394に対して関連付けられる。   Further details of an exemplary point object kinematics embodiment are shown in FIG. 3F. 3F shows the Cartesian attribute 372 components and associations, and FIG. 3G shows the polar attribute 373 components and associations, both from FIG. 3E. In FIG. 3F, a Cartesian attribute 372 is associated with a Cartesian class 380 that is associated with a Cartesian vector class 381. The Cartesian vector class 381 is associated with the process list 385 and the X attribute 382, Y attribute 383 and Z attribute 384. In FIG. 3G, pole attribute 373 is associated with pole class atom 390 associated with pole vector class 391. The pole vector class 391 is associated with an R attribute 392, a theta attribute 393, and a Z attribute 394.

ここで、発見を行うための1つのアプローチが説明される。図4A−1は、会社につい
てのクラス構造を説明する。この構造は、購入、契約および売上などの、会社の様々な側面についてのデータを追跡する。我々は、データの1つのセットと、データの別のセットとの間に相関が存在するかを知りたいと望む。こうした相関は、一般的には、関連付け規則と称され、知識発見およびデータ・マイニングにおける標準的な構造である。
Here, one approach for making a discovery is described. FIG. 4A-1 illustrates the class structure for a company. This structure tracks data about various aspects of the company, such as purchases, contracts and sales. We want to know if there is a correlation between one set of data and another set of data. Such correlation is commonly referred to as association rules and is a standard structure in knowledge discovery and data mining.

ここで、図4A−1および図4A−2を参照すると、本発明の一実施形態は、ビジネスの動作のドメインに対して適用されたものとして図示されている。これは、人物または会社などのエンティティを表現するためのユニット・モデルの能力を例示する。これは、雇用主/従業員および契約などのエンティティ間の抽象的な関係の表現も例示する。2つの最上位のクラス、すなわち、図4A−1におけるクラス会社400と、図4A−2におけるクラス会社売上450とが示される。クラス会社400は、例示的なドメインをモデル化する際に有益な属性を有する。属性名401、属性購入402、属性契約403、属性従業員404、属性レンタル405は全て、クラス会社400の側面である。会社クラス400は、プロセス・リスト406に対しても関連付けられ、プロセス・リスト406は、例示的なプロセス経費スケジュール作成407を含む。プロセル407は、図4Fにおいてさらに詳述される。   4A-1 and 4A-2, one embodiment of the present invention is illustrated as applied to a domain of business operations. This illustrates the ability of the unit model to represent entities such as people or companies. This also illustrates the representation of abstract relationships between entities such as employers / employees and contracts. Two top classes are shown, class company 400 in FIG. 4A-1 and class company sales 450 in FIG. 4A-2. Class company 400 has attributes that are useful in modeling exemplary domains. The attribute name 401, attribute purchase 402, attribute contract 403, attribute employee 404, and attribute rental 405 are all aspects of the class company 400. Company class 400 is also associated with process list 406, which includes exemplary process expense schedule creation 407. Procell 407 is further detailed in FIG. 4F.

図4A−2をさらに参照すると、会社売上クラス450は、属性名451および属性予測売上452に対して関連付けられる。クラス450は、プロセス・リスト453に対しても関連付けられる。図4B、図4C、図4D、および図4Eは、図4A−1および図4A−2において紹介された選択された要素の定義を拡張することを通じて、ビジネス動作例のさらなる詳細を提供する。   With further reference to FIG. 4A-2, company sales class 450 is associated with attribute name 451 and attribute predicted sales 452. Class 450 is also associated with process list 453. 4B, 4C, 4D, and 4E provide further details of example business operations through extending the definition of selected elements introduced in FIGS. 4A-1 and 4A-2.

図4Bは、図4A−1において定義される購入属性402の詳細を提供する。購入属性402は、購入タイプ410、購入クラス411、および購入CList412に対して関連付けられる。購入クラス411は、説明414および支払415の属性を有する購入クラス413に対して関連付けられる。   FIG. 4B provides details of the purchase attributes 402 defined in FIG. 4A-1. Purchase attribute 402 is associated with purchase type 410, purchase class 411, and purchase CList 412. Purchase class 411 is associated with purchase class 413 having attributes of description 414 and payment 415.

図4Cは、図4A−1において定義される契約属性403の詳細を提供する。契約属性403は、契約クラス・アトム420に対して関連付けられる。契約クラス・アトム420は、サービス契約クラス421に対して関連付けられ、サービス契約クラス421は、説明422、開始日423、月額424、および支払425の属性を有する。クラスサービス契約421は、プロセス・リスト426に対しても関連付けられる。   FIG. 4C provides details of the contract attributes 403 defined in FIG. 4A-1. The contract attribute 403 is associated with the contract class atom 420. Contract class atom 420 is associated with service contract class 421, which has attributes of description 422, start date 423, monthly amount 424, and payment 425. The class service contract 421 is also associated with the process list 426.

図4Dは、図4A−1において定義された従業員属性404の詳細を提供する。従業員属性404は、従業員クラス・アトム430に対しても関連付けられる。従業員クラス・アトム430は、従業員クラス431に対して関連付けられ、従業員クラス431は、名前432、開始日433、給与434、および支払435の属性を有する。クラス従業員431は、プロセス・リスト436に対しても関連付けられる。   FIG. 4D provides details of the employee attributes 404 defined in FIG. 4A-1. Employee attribute 404 is also associated with employee class atom 430. Employee class atom 430 is associated with employee class 431, which has attributes of name 432, start date 433, salary 434, and payment 435. Class employee 431 is also associated with process list 436.

図4Eは、図4A−2において定義された予測売上属性452の詳細を提供する。予測売上属性452は、予測売上クラス・アトム460に対して関連付けられる。予測売上クラス・アトム460は、予測売上クラス461に対して関連付けられ、予測売上クラス461は、説明462、単位数463、開始日464、終了日465、単価466、正味額467、および支払468の属性を有する。クラス予測売上461は、プロセス・リスト469に対しても関連付けられる。   FIG. 4E provides details of the forecast sales attribute 452 defined in FIG. 4A-2. The predicted sales attribute 452 is associated with the predicted sales class atom 460. The predicted sales class atom 460 is associated with the predicted sales class 461. The predicted sales class 461 includes an explanation 462, a unit number 463, a start date 464, an end date 465, a unit price 466, a net amount 467, and a payment 468. Has attributes. The class forecast sales 461 is also associated with the process list 469.

ここで、図4Fを参照すると、図4A−1からの経費スケジュール作成プロセス407の詳細が提供されている。プロセス407は、工程または動作のシーケンスから構成され、プロセスの各工程は、それ自体が動作のシーケンスであり得る。したがって、ユニット
・モデルを使用して、複雑なプロセス、階層化されたプロセス、および多層的なプロセスを説明することができる。図4Fを参照すると、プロセス407は、5つの工程470、471、472、473、および474を備える。次に、プロセス470は、3つの工程475、476、および477を備える。プロセス471は、2つの工程478および479を備える。プロセスは、詳細な動作、ループ、または条件付き決定も含み得る。プロセス475は、ループ480を含む。プロセス476は、ループ481を含む。プロセス477は、ループ482を含む。
Referring now to FIG. 4F, details of the expense schedule creation process 407 from FIG. 4A-1 are provided. Process 407 consists of a sequence of steps or operations, and each step of the process may itself be a sequence of operations. Thus, the unit model can be used to describe complex processes, layered processes, and multilayer processes. Referring to FIG. 4F, the process 407 comprises five steps 470, 471, 472, 473, and 474. Next, the process 470 comprises three steps 475, 476, and 477. Process 471 comprises two steps 478 and 479. The process may also include detailed actions, loops, or conditional decisions. Process 475 includes loop 480. Process 476 includes loop 481. Process 477 includes loop 482.

図11は、図4Fのプロセス477を定義する。プロセスは、工程1101において4つのパラメータを有する。変数[CurrentDate]は、工程1102において定義され、工程1103において[BeginDate]パラメータに設定される。[CurrentDate]が、工程1104において[EndDate]未満である場合、工程1105において、支払クラスのインスタンスを作成する。新たなクラス・インスタンスは、コピー・ユニットのターゲットである。工程1106において、ターゲットは、{New Payment}として識別される。中括弧は、要素が別のユニットのターゲットを参照していることを示す。支払インスタンスの属性は、工程1107において設定され、[CurrentDate]は、工程1108において30日間だけインクリメントされ、支払インスタンスは、工程1109において[Payment]に対して追加される。   FIG. 11 defines process 477 of FIG. 4F. The process has four parameters at step 1101. The variable [CurrentDate] is defined in step 1102 and set in the [BeginDate] parameter in step 1103. If [CurrentDate] is less than [EndDate] at step 1104, then at step 1105, an instance of the payment class is created. The new class instance is the target of the copy unit. In step 1106, the target is identified as {New Payment}. Braces indicate that the element refers to another unit's target. The attributes of the payment instance are set at step 1107, [CurrentDate] is incremented by 30 days at step 1108, and the payment instance is added to [Payment] at step 1109.

図5A〜図5Eは、白黒画素のアレイにおけるオブジェクトの識別のドメインに対して適用される本発明の一実施形態を例示する。これは、データにおけるパターンおよび関係を発見するためのモデルの機能を例示する。図5Aにおいて、デカルト画素アレイ・クラス501は、最上位に存在し、ピクチャ・エレメントまたは画素の2次元アレイを備える。アレイ501は、画素属性502、行属性503、row_count属性504、列属性505、column_count属性506、ブロブ属性507、形状属性508、およびオブジェクト属性509を含む、いくつかの関連付けられた属性を有する。プロセス・リスト510も、クラス501に対して関連付けられる。   5A-5E illustrate one embodiment of the invention applied to the domain of object identification in an array of black and white pixels. This illustrates the model's ability to find patterns and relationships in the data. In FIG. 5A, a Cartesian pixel array class 501 exists at the top and comprises a two-dimensional array of picture elements or pixels. Array 501 has several associated attributes including pixel attribute 502, row attribute 503, row_count attribute 504, column attribute 505, column_count attribute 506, blob attribute 507, shape attribute 508, and object attribute 509. A process list 510 is also associated with class 501.

図5B−1は、図5Aにおいて既に定義された画素属性502のさらなる詳細を提供する。画素属性502は、画素クラス・アトム520に対して関連付けられる。画素クラス・アトム520は、画素クラス521に対して関連付けられ、画素クラス521は、行522、列523、および値524の属性を有する。   FIG. 5B-1 provides further details of the pixel attributes 502 already defined in FIG. 5A. Pixel attribute 502 is associated with pixel class atom 520. Pixel class atom 520 is associated with pixel class 521, and pixel class 521 has attributes of row 522, column 523, and value 524.

図5B−2は、図5Aにおいて既に定義された行属性503のさらなる詳細を提供する。行属性503は、行クラス・アトム525に対して関連付けられる。行クラス・アトム525は、行クラス526に対して関連付けられ、行クラス526は、画素527、および位置528の属性を有する。モデルのインスタンス化における任意のクラスは、図示されない多くの属性およびサブクラスを有し得る。同様に、属性は、モデルのインスタンスを調整し、拡張し、または維持することの一部として、または、モデル化されているドメインにおける変化に応じて、追加され、もしくは変更され得る。例えば、行属性503の詳細が示されているが、列属性505は同様の属性を有する。したがって、例示的な実施形態の詳細は、包括的であることよりもむしろ、モデル機能の例示となることを意図される。   FIG. 5B-2 provides further details of the row attributes 503 already defined in FIG. 5A. A row attribute 503 is associated with the row class atom 525. Row class atom 525 is associated with row class 526, which has attributes of pixel 527 and position 528. Any class in model instantiation may have many attributes and subclasses not shown. Similarly, attributes may be added or changed as part of adjusting, expanding, or maintaining model instances, or in response to changes in the domain being modeled. For example, details of row attribute 503 are shown, but column attribute 505 has similar attributes. Accordingly, the details of the exemplary embodiments are intended to be exemplary of model functionality rather than being comprehensive.

図5Cは、図5Aにおいて既に定義されたブロブ属性507のさらなる詳細を提供する。ブロブ属性507は、ブロブ・クラス・アトム530に対して関連付けられる。ブロブ・クラス・アトム530は、ブロブ・クラス531に対して関連付けられ、ブロブ・クラス531は、絶対画素532、差分画素533、シーケンス534、線535、タイプ536、および形状537の属性を有する。ブロブ・クラス531は、関連付けられるプロ
セス・リスト538も有する。
FIG. 5C provides further details of the blob attribute 507 already defined in FIG. 5A. Blob attribute 507 is associated with blob class atom 530. Blob class atom 530 is associated with blob class 531, which has attributes of absolute pixel 532, difference pixel 533, sequence 534, line 535, type 536, and shape 537. Blob class 531 also has an associated process list 538.

図5Dは、クラス501によって使用されるプロセスを例示する。図5Aにおいて、クラス501は、プロセス・リスト510に対して関連付けられるように示された。図5Dにおいては、プロセス・リスト510の要素である、いくつかのプロセスが示される。プロセス540は、画素アレイを作る。プロセス541は、画素アレイをボタン・アレイとして示す。プロセス542は、選択されたボタンを得る。プロセス543は、ブロブを作成する。プロセス544は、基本形状をマッピングする。プロセス545は、複雑な形状をマッピングする。   FIG. 5D illustrates the process used by class 501. In FIG. 5A, class 501 has been shown to be associated with process list 510. In FIG. 5D, several processes that are elements of process list 510 are shown. Process 540 creates a pixel array. Process 541 shows the pixel array as a button array. Process 542 obtains the selected button. Process 543 creates a blob. Process 544 maps the basic shape. Process 545 maps complex shapes.

図5Eは、ブロブ・クラス531によって使用されるプロセスを例示する。図5Cにおいて、クラス531は、プロセス・リスト538に対して関連付けられるものとして示された。図5Eにおいては、プロセス・リスト531の要素である、いくつかのプロセスが示される。プロセス550、551、552、553、および554は、クラス531によって必要とされるプロセスを実行する。   FIG. 5E illustrates the process used by blob class 531. In FIG. 5C, class 531 has been shown as being associated with process list 538. In FIG. 5E, several processes that are elements of process list 531 are shown. Processes 550, 551, 552, 553, and 554 perform the processes required by class 531.

モデルは、一般には、多数の実際の状況/観察された状況を説明するように設計され得る。モデルにおいて実際に説明される、全ての実際の状況の複合和は、データ・ドメインと称される。関係は、データの一定のセットと、データの他のセットとの間に存在し得、おそらく、データのこうしたセットは全て、何らかの数値範囲における値を有する。ユニットまたはユニットのセットは、ソースおよびターゲット・ドメインとして識別され得る。ソースをターゲット・ユニットへリンクする全ての理論上取り得るマップ工程のセットを見つけることは、当業者にとっては簡単なプロセスである。そのため、本発明のシステムの実施形態は、新たな知識を自律的に発見し得る。そのため、こうした原理、および原理が適用されるクラスおよび属性までも発見することが、ユニット・モデルに対して要求され得る。このプロセスは、発見と称される。知識発見およびデータ・マイニングを含む、他の共通の名前が、このプロセスについて存在する。   The model can generally be designed to account for a large number of actual / observed situations. The combined sum of all actual situations that are actually explained in the model is called the data domain. A relationship can exist between a certain set of data and other sets of data, perhaps all such sets of data have values in some numerical range. A unit or set of units can be identified as a source and target domain. Finding a set of all theoretically possible map steps that link a source to a target unit is a simple process for those skilled in the art. As such, embodiments of the system of the present invention can autonomously discover new knowledge. Therefore, it may be required for the unit model to discover these principles, and even the classes and attributes to which the principles apply. This process is called discovery. Other common names exist for this process, including knowledge discovery and data mining.

図9のフロー・チャート図は、発見プロセスの取り得る実装を説明する。発見プロセスは、プロセス発見に衝撃を与えることによって開始される(工程901)。工程902において、ドメインを説明するパスの全てを表現するユニットのリストを作成するプロセスは衝撃を与えられる。各ユニットの要素は、[source]関係[destination]となる。次いで、プロセスは、工程903において衝撃を与えられて、マップのセット(マップ:_1、_2、_3)を作成する。プロセスは、例えば、_1 関係1 _2、[source]_1 _2等、潜在的な可能性ごとにマップを作成し得る。マップ作成903は、概念リスト内のあらゆる概念に_1 関係 _2という形式のマップを作成するためのプロセスを定義する。「_1 _2 _3」マップは、各概念に対して適用され、次いで、新たなユニットが作成され、その要素は、!_1 _2 !_3に設定される。この!は、要素が、_1のコンテンツを使用することに対して、_1として定義されることを示す。マッピング・プロセスの実装は、工程1005において既存のマップに対して付加される新たなマップとして、工程1003における各概念を、工程1004において各概念への新たな参照という結果にして、工程1002において概念のリストについてループすることによって、マップを作成する工程1001を示す図10に示される。図9に戻ると、工程904において、マップの組み合わせの全て、またはマップの組み合わせの全てのうちのサブセットを、先例と結果との関連付けへとまとめるプロセスが衝撃を与えられる。先例、結果およびメトリックの属性を有する規則クラスは、コピーされる。工程905において、プロセスは、規則をテストするために衝撃を与えられる。テスト・プロセスは、規則についてのメトリックの任意のセットの追跡を行い、その結果を規則クラス・インスタンスのメトリック属性の属性内に記憶し得る。   The flow chart diagram of FIG. 9 illustrates a possible implementation of the discovery process. The discovery process begins by impacting the process discovery (step 901). In step 902, the process of creating a list of units representing all of the paths describing the domain is shocked. The element of each unit is a [source] relationship [destination]. The process is then impacted at step 903 to create a set of maps (maps: _1, _2, _3). The process may create a map for each potential possibility, for example, _1 relationship 1_2, [source] _1_2. Map creation 903 defines a process for creating a map of the form _ 1 relationship _ 2 for every concept in the concept list. The “_1_2_2_3” map is applied to each concept, then a new unit is created and its elements are! _1 _2! Set to _3. this! Indicates that the element is defined as _1 for using the content of _1. The mapping process is implemented as a new map that is added to the existing map in step 1005, with each concept in step 1003 resulting in a new reference to each concept in step 1004. FIG. 10 shows a process 1001 for creating a map by looping over a list of. Returning to FIG. 9, at step 904, the process of bringing together all of the map combinations or a subset of all of the map combinations into associations of precedents and results is impacted. Rule classes with precedent, result and metric attributes are copied. In step 905, the process is impacted to test the rules. The test process can track any set of metrics for a rule and store the results in the attributes of the metric attribute of the rule class instance.

説明されたプロセスのバリエーションがそれらをどのようにより一般的で複雑なものにするかは、簡単に考え出される。例えば、規則の先例の数は、1よりもはるかに大きくなり得、マップにおける仮想ユニットの組み合わせは、より多数で、一般的となり得る。   It is easy to figure out how the described process variations make them more general and complex. For example, the number of rule precedents can be much greater than 1, and the combinations of virtual units in the map can be more general.

特定のドメインまたはユニバースに加えて、本発明のシステムは、特定のドメインに対する制約なしに実装され得ることも予期される。したがって、1つの実施形態において、経験される全ての状況のカプセル化と、全ての喜び値および痛み値のカプセル化とを備えるオブジェクトがインスタンス化される。このオブジェクトは、「self」と称される。   In addition to a particular domain or universe, it is also anticipated that the system of the present invention can be implemented without restrictions for a particular domain. Thus, in one embodiment, an object is instantiated that includes an encapsulation of all situations experienced and an encapsulation of all pleasure and pain values. This object is referred to as “self”.

1つの実施形態において、Selfオブジェクトを観察し、Selfオブジェクトを目標へ向けて規制するS_selfと呼ばれる状況がインスタンス化される。1つの実施形態において、目標は、喜びを探し求め、痛みを回避することである。この目標は意識ある生物の一次的動因を反映すると観察され得る。刺激および場合により他の目標の追加を含むさらなる改善により、より複雑な振る舞いが生成され得る。したがって、この実施形態により、人工知能の本質および動作をさらに研究することが可能となる。   In one embodiment, a situation called S_self is observed that observes the Self object and regulates the Self object towards the goal. In one embodiment, the goal is to seek joy and avoid pain. This goal can be observed to reflect the primary drivers of conscious organisms. With further improvements including the addition of stimuli and possibly other goals, more complex behaviors can be generated. Therefore, this embodiment allows further study of the nature and operation of artificial intelligence.

本発明の一定の実施形態が上述されてきたが、説明された実施形態は、あくまでも例に過ぎないことが理解されるであろう。したがって、本発明は、説明された実施形態に基づいて限定されるべきではない。むしろ、本明細書において説明された発明の範囲は、上記の説明および添付の図面と併せて検討される際に、下記に続く特許請求の範囲に照らしてのみ限定されるべきである。   While certain embodiments of the present invention have been described above, it will be understood that the described embodiments are merely examples. Accordingly, the inventions should not be limited based on the described embodiments. Rather, the scope of the invention described herein should be limited only in light of the following claims when considered in conjunction with the above description and the accompanying drawings.

Claims (23)

知識表現およびアプリケーション開発のためのシステムであって、
プロセッサと、
前記プロセッサに対して結合されているメモリ・ユニットと、
前記メモリ・ユニット内に記憶されている複数の情報ユニットであって、
少なくとも1つの別の情報ユニットを直接的または間接的に参照する情報ユニット要素または情報ユニット要素のセット、
前記情報ユニットが衝撃を与えられる、すなわち、活性化される場合に前記情報ユニットが実行する複数のアクションのうちの1つを定義する演算子、および、
前記情報ユニットと別の情報ユニットとの間に存在する関係を記述する少なくとも1つのパス、を含む情報ユニットと、
情報ユニットの前記演算子に衝撃を与える、すなわち、前記演算子を活性化するとともに、衝撃を与えられた前記情報ユニットがパスを介して接続される別の情報ユニットにさらなる衝撃、すなわち、活性化を流すために、前記プロセッサによって実行可能な動的エンジン・モジュールと、を備え、
前記情報ユニットおよび前記パスは、知識表現スキーマ、情報ユニット・モデルを具現化し、それによって、前記情報ユニット・モデルのインスタンス化またはインスタンスが、ドメイン、観察結果のセット、実際の知識、およびデータのうちの少なくとも1つに対応するためのモデル要素の特定の集合およびアセンブリを参照する、システム。
A system for knowledge representation and application development,
A processor;
A memory unit coupled to the processor;
A plurality of information units stored in the memory unit,
An information unit element or set of information unit elements that directly or indirectly references at least one other information unit;
An operator defining one of a plurality of actions that the information unit performs when the information unit is impacted, ie activated, and
An information unit comprising at least one path describing a relationship existing between the information unit and another information unit;
Impact the operator of an information unit, ie activate the operator, and further impact, ie activate, another information unit to which the impacted information unit is connected via a path A dynamic engine module executable by the processor,
The information unit and the path embody a knowledge representation schema, an information unit model, whereby an instantiation or instance of the information unit model is a domain, a set of observations, actual knowledge, and data A system that references a specific set and assembly of model elements to correspond to at least one of the following.
知識表現およびアプリケーション開発のためのシステムであって、
プロセッサと、
前記プロセッサに対して結合されているメモリ・ユニットと、
前記メモリ・ユニット内に記憶されている複数の情報ユニットであって、
前記情報ユニットが衝撃を与えられる、すなわち、活性化される場合に前記情報ユニットが実行する複数のアクションのうちの1つを定義する演算子、および、
前記情報ユニットと別の情報ユニットとの間に存在する関係を記述する少なくとも1つのパス、を含む情報ユニットと、
情報ユニットの前記演算子に衝撃を与えるかまたは前記演算子を活性化するとともに、衝撃を与えられた前記情報ユニットがパスを介して接続される別の情報ユニットにさらなる衝撃、すなわち、活性化を流すために、前記プロセッサによって実行可能な動的エンジン・モジュールと、を備え、
前記情報ユニットおよび前記パスは、知識表現スキーマ、情報ユニット・モデルを具現化し、それによって、前記情報ユニット・モデルのインスタンス化またはインスタンスが、ドメイン、観察結果のセット、実際の知識、およびデータのうちの少なくとも1つに対応するためのモデル要素の特定の集合およびアセンブリを参照する、システム。
A system for knowledge representation and application development,
A processor;
A memory unit coupled to the processor;
A plurality of information units stored in the memory unit,
An operator defining one of a plurality of actions that the information unit performs when the information unit is impacted, ie activated, and
An information unit comprising at least one path describing a relationship existing between the information unit and another information unit;
Impacting or activating the operator of an information unit and further impacting, i.e., activating, another information unit to which the impacted information unit is connected via a path A dynamic engine module executable by the processor to stream,
The information unit and the path embody a knowledge representation schema, an information unit model, whereby an instantiation or instance of the information unit model is a domain, a set of observations, actual knowledge, and data A system that references a specific set and assembly of model elements to correspond to at least one of the following.
前記情報ユニットのうちの少なくとも1つは、少なくとも1つの別の情報ユニットを直接的または間接的に参照する情報ユニット要素または情報ユニット要素のセットを含む、請求項2に記載のシステム。   3. The system of claim 2, wherein at least one of the information units includes an information unit element or set of information unit elements that directly or indirectly references at least one other information unit. 抽象化の何らかのレベルにおいて同様の特徴を有するオブジェクトまたはオブジェクトのセットは、クラスを形成するための無制限の数の情報ユニットを含む情報ユニットのセットによって表現され、クラスの特徴は、複数の属性によって表現される、請求項1乃至3のいずれか一項に記載のシステム。   An object or set of objects that have similar characteristics at some level of abstraction is represented by a set of information units that includes an unlimited number of information units to form a class, and features of a class are represented by multiple attributes 4. The system according to any one of claims 1 to 3, wherein: クラスの各属性は、テキスト文字列、リスト、およびクラスのうちの1つを表現する、請求項4に記載のシステム。   The system of claim 4, wherein each attribute of the class represents one of a text string, a list, and a class. 元のクラスはコピーされ、前記元のクラスへのパスを有するクラス・インスタンスを形成する、請求項4に記載のシステム。   The system of claim 4, wherein the original class is copied to form a class instance having a path to the original class. 前記情報ユニット要素は、リストを表現する情報ユニットのセットを参照する、請求項1乃至3のいずれか一項に記載のシステム。   The system according to claim 1, wherein the information unit element refers to a set of information units representing a list. 1以上の衝撃または活性化を情報ユニットの所定のセットに向ける互いへのパスを有する情報ユニットのセットは、プロセスを形成する、請求項1乃至3のいずれか一項に記載のシステム。   4. A system according to any one of the preceding claims, wherein a set of information units having a path to each other directing one or more shocks or activations to a predetermined set of information units forms a process. 複数の情報ユニットが単一の情報ユニットを有するカプセル化として参照され、前記結果として得られるカプセル化は、リスト、プロセス、およびクラスのうちの1つである、請求項1乃至3のいずれか一項に記載のシステム。   4. A plurality of information units are referred to as an encapsulation having a single information unit, and the resulting encapsulation is one of a list, a process, and a class. The system described in the section. 1つの情報ユニット要素は、マッピング動作における使用のための記号要素または記号シーケンスである、請求項1乃至3のいずれか一項に記載のシステム。   4. A system according to any one of the preceding claims, wherein one information unit element is a symbol element or symbol sequence for use in a mapping operation. 各情報ユニットは、その情報ユニットが衝撃を与えられる、すなわち、活性化される場合における別の情報ユニットに対するその情報ユニットの関係の状態を示す特性を含む、請求項1乃至3のいずれか一項に記載のシステム。   4. Each information unit includes a characteristic indicating a state of the relationship of the information unit to another information unit when the information unit is impacted, i.e. activated. The system described in. 前記演算子の前記衝撃、すなわち、前記活性化は、前記パスによって接続されている情報ユニットの所定のセットを通じた動的な特性またはエネルギーのフローの選択的な開始を可能とする、請求項1乃至3のいずれか一項に記載のシステム。   The impact of the operator, i.e. the activation, allows a selective start of a dynamic characteristic or flow of energy through a predetermined set of information units connected by the path. The system as described in any one of thru | or 3. 各パスは、1つの情報ユニットから別の情報ユニットへのエネルギーのフローを、前記別の情報ユニットが衝撃を与えられる、すなわち、活性化される場合に制御する抵抗特性を有する、請求項12に記載のシステム。   Each path has a resistance characteristic that controls the flow of energy from one information unit to another information unit when the other information unit is impacted, ie activated. The described system. 各情報ユニットは、前記演算子に衝撃を与える、すなわち、前記演算子を活性化するために必要とされる衝撃の数、量、またはその両方を量化する閾値特性を有する、請求項12に記載のシステム。   13. Each information unit has a threshold characteristic that impacts the operator, i.e., quantifies the number, amount, or both of the impacts required to activate the operator. System. 前記エネルギーのフローは、単一のパスを通じて単一の宛先ユニットへ方向付けられる、請求項12に記載のシステム。   The system of claim 12, wherein the flow of energy is directed through a single path to a single destination unit. 前記エネルギーのフローは、複数のパスを通じて複数の宛先情報ユニットへ方向付けられる、請求項12に記載のシステム。   The system of claim 12, wherein the flow of energy is directed to a plurality of destination information units through a plurality of paths. 前記エネルギーのフローは、所望の結果を達成するか、または一定の目標基準を満足する、請求項12に記載のシステム。   13. The system of claim 12, wherein the energy flow achieves a desired result or meets certain target criteria. 前記ユニット・モデルのコンピュータ実装によって、知識の選択された領域のモデルを構築するための前記ユニット・モデルの機能の制御、操作、および選択的な実行を行うことをユーザに可能とするためのユーザ・インタフェースを含む、動的エンジンおよび複数のインテグレートされたモジュールが具現化される、請求項1乃至3のいずれか一項に記載のシステム。   User to enable the user to control, manipulate and selectively execute the functions of the unit model to build a model of a selected area of knowledge by computer implementation of the unit model 4. A system according to any one of the preceding claims, wherein a dynamic engine and a plurality of integrated modules are implemented, including an interface. 前記ユニット・モデルをグラフィック表示する視覚化モジュールをさらに備える、請求項18に記載のシステム。   The system of claim 18, further comprising a visualization module that graphically displays the unit model. データベースにユニット・モデルを記憶するとともに、データベースから前記モデルを取り出すことをユーザに可能とするためのインタフェースをさらに備える、請求項18に記載のシステム。   The system of claim 18, further comprising an interface for storing a unit model in a database and allowing a user to retrieve the model from the database. 前記ユニット・モデルを外部のコンピュータ・プログラムに組み込むことをユーザに可能とするためのインタフェースをさらに備える、請求項18に記載のシステム。   The system of claim 18, further comprising an interface to allow a user to incorporate the unit model into an external computer program. 前記情報ユニットのうちの少なくとも1つは、前記情報ユニットの特性を表現する、二進数または二進数でない実数値のうちの1つを含む真理値を含む、請求項1乃至3のいずれか一項に記載のシステム。   4. At least one of the information units includes a truth value that includes one of a binary or non-binary real value that represents a characteristic of the information unit. The system described in. 前記情報ユニットのうちの少なくとも1つは、1つの情報ユニットの他の情報ユニットに対する望ましさに対応する、整数または実数値の特性のうちの1つを含む、望ましさ因子を含む、請求項1乃至3のいずれか一項に記載のシステム。   The at least one of the information units includes a desirability factor that includes one of an integer or real-valued property that corresponds to desirability of one information unit for other information units. The system as described in any one of thru | or 3.
JP2016563771A 2014-01-09 2014-01-09 System and method for recognition-based processing of knowledge Active JP6360197B2 (en)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/US2014/010810 WO2015105494A1 (en) 2014-01-09 2014-01-09 Systems and methods for cognition-based processing of knowledge

Publications (2)

Publication Number Publication Date
JP2017508224A true JP2017508224A (en) 2017-03-23
JP6360197B2 JP6360197B2 (en) 2018-07-18

Family

ID=53524207

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016563771A Active JP6360197B2 (en) 2014-01-09 2014-01-09 System and method for recognition-based processing of knowledge

Country Status (5)

Country Link
EP (1) EP3092579A4 (en)
JP (1) JP6360197B2 (en)
CN (1) CN106104513B (en)
CA (1) CA2940216C (en)
WO (1) WO2015105494A1 (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11100469B2 (en) 2016-10-25 2021-08-24 International Business Machines Corporation Cross-domain collaborative data log
EP3619649A4 (en) * 2017-05-05 2021-03-17 Arimo, LLC Analyzing sequence data using neural networks

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6482176A (en) * 1987-09-25 1989-03-28 Mitsubishi Electric Corp Diagnosing system
JPH04130539A (en) * 1990-09-20 1992-05-01 Fujitsu Ltd If-then type network control system
JPH0581025A (en) * 1991-09-21 1993-04-02 Nissan Motor Co Ltd Knowledge base computer system
JPH06103071A (en) * 1990-09-28 1994-04-15 Texas Instr Inc <Ti> Rule coupling method for object-oriented program
JPH08147167A (en) * 1994-11-16 1996-06-07 Hitachi Ltd Knowledge editing method
JP2003280977A (en) * 2002-03-27 2003-10-03 Seiko Epson Corp Information management by object-oriented database
JP2005525630A (en) * 2002-04-19 2005-08-25 コンピューター アソシエイツ シンク,インク. System and method for providing reasoning services

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6591258B1 (en) * 1999-08-24 2003-07-08 Stream International, Inc. Method of incorporating knowledge into a knowledge base system
US7403890B2 (en) * 2002-05-13 2008-07-22 Roushar Joseph C Multi-dimensional method and apparatus for automated language interpretation
US7865534B2 (en) * 2002-09-30 2011-01-04 Genstruct, Inc. System, method and apparatus for assembling and mining life science data
US7225117B1 (en) * 2004-02-05 2007-05-29 Cisco Technology, Inc. Method for generating a simulated network using a graphical user interface
US7225177B2 (en) * 2004-02-19 2007-05-29 Sap Aktiengesellschaft Generating a knowledge base
US20070203865A1 (en) * 2006-02-09 2007-08-30 Hirsch Martin C Apparatus and methods for an item retrieval system
WO2007147166A2 (en) * 2006-06-16 2007-12-21 Quantum Leap Research, Inc. Consilence of data-mining
US8930178B2 (en) * 2007-01-04 2015-01-06 Children's Hospital Medical Center Processing text with domain-specific spreading activation methods

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6482176A (en) * 1987-09-25 1989-03-28 Mitsubishi Electric Corp Diagnosing system
JPH04130539A (en) * 1990-09-20 1992-05-01 Fujitsu Ltd If-then type network control system
JPH06103071A (en) * 1990-09-28 1994-04-15 Texas Instr Inc <Ti> Rule coupling method for object-oriented program
JPH0581025A (en) * 1991-09-21 1993-04-02 Nissan Motor Co Ltd Knowledge base computer system
JPH08147167A (en) * 1994-11-16 1996-06-07 Hitachi Ltd Knowledge editing method
JP2003280977A (en) * 2002-03-27 2003-10-03 Seiko Epson Corp Information management by object-oriented database
JP2005525630A (en) * 2002-04-19 2005-08-25 コンピューター アソシエイツ シンク,インク. System and method for providing reasoning services

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
大矢剛史,外1名: "知識利用によるユーザ適応UIMS", 情報処理学会研究報告 90−CG−43, vol. 第90巻,第16号, JPN6017032066, 23 February 1990 (1990-02-23), JP, pages 1 - 8 *
長村篤記,外4名: "税業務の階層性に基づく共同化システムの知識表現形式と処理系の構築", 電子情報通信学会技術研究報告 SS2010−1−SS2010−15 ソフトウェアサイエンス, vol. 第110巻,第60号, JPN6017032064, 20 May 2010 (2010-05-20), JP, pages 39 - 44 *

Also Published As

Publication number Publication date
CN106104513B (en) 2018-12-18
CN106104513A (en) 2016-11-09
EP3092579A1 (en) 2016-11-16
CA2940216C (en) 2021-01-26
JP6360197B2 (en) 2018-07-18
WO2015105494A1 (en) 2015-07-16
CA2940216A1 (en) 2015-07-16
EP3092579A4 (en) 2017-10-04

Similar Documents

Publication Publication Date Title
US8660973B1 (en) Systems and methods for cognition-based processing of knowledge
Seshia et al. Formal specification for deep neural networks
Sukthankar et al. Plan, activity, and intent recognition: Theory and practice
Singh et al. Programs as black-box explanations
WO2022043512A1 (en) Behavior modeling, verification, and autonomous actions and triggers of ml and ai systems
Balakrishnan et al. Structured reward shaping using signal temporal logic specifications
CN101681446B (en) Human behavioral modeling and simulation framework
Mittal et al. Simulation-based complex adaptive systems
US20180307779A1 (en) Interpreting human-robot instructions
Humphreys et al. Advancing fusion with machine learning research needs workshop report
Belzner et al. OnPlan: A framework for simulation-based online planning
CN114519185A (en) Detecting counter attacks on Deep Neural Networks (DNN)
Akhilesh Smart technologies—Scope and applications
Bashir et al. A reference architecture for iot-enabled smart buildings
JP6360197B2 (en) System and method for recognition-based processing of knowledge
Gilmore et al. More interpretable decision trees
US10896034B2 (en) Methods and systems for automated screen display generation and configuration
KR102610431B1 (en) Apparatus and method for generating summary of program source code based on ai analysis
US11314488B2 (en) Methods and systems for automated screen display generation and configuration
Umar et al. A survey on state-of-the-art knowledge-based system development and issues
JP2010520535A (en) People transparency paradigm
Spanoudakis et al. The agent systems methodology (aseme): A preliminary report
Goertzel et al. A brief overview of cogprime
Reddy Democratized Hyper-automated Software Development
Cozac The Process of Designing Artificial Intelligence: Development Trends and Prospects

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20161226

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20170829

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20171030

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20180110

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180227

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20180605

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20180621

R150 Certificate of patent or registration of utility model

Ref document number: 6360197

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250