JP2013080449A - Information processing device, information processing method, and program - Google Patents
Information processing device, information processing method, and program Download PDFInfo
- Publication number
- JP2013080449A JP2013080449A JP2012047407A JP2012047407A JP2013080449A JP 2013080449 A JP2013080449 A JP 2013080449A JP 2012047407 A JP2012047407 A JP 2012047407A JP 2012047407 A JP2012047407 A JP 2012047407A JP 2013080449 A JP2013080449 A JP 2013080449A
- Authority
- JP
- Japan
- Prior art keywords
- identifier
- numerical
- expression
- information processing
- unit
- 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
Links
Images
Abstract
Description
本発明は、事物、例えば、物品、事象、環境、社会、組織等をコンピュータで処理可能な所定の表現形式を用いて表現し、コンピュータの記憶装置に記憶し、コンピュータで処理することで、その事物を管理する情報処理装置、情報処理方法等の技術に関する。 The present invention expresses an object, for example, an article, an event, an environment, a society, an organization, etc. using a predetermined expression format that can be processed by a computer, stores it in a computer storage device, and processes it by a computer. The present invention relates to a technology such as an information processing apparatus and an information processing method for managing things.
既存のデータベースのデータモデルとして、正規化表構造によるリレーショナルモデルや、ノードに属性を持つツリー構造で表現されるオブジェクト指向モデルが知られている。しかし、従来の情報処理装置、情報処理技術では、格納されるデータの構造が事前に設計されていることが前提であった。したがって、データが格納された後にデータの構造を変更することは極めて困難であった。 As a data model of an existing database, a relational model having a normalized table structure and an object-oriented model expressed by a tree structure having attributes at nodes are known. However, the conventional information processing apparatus and information processing technology are based on the premise that the structure of stored data is designed in advance. Therefore, it is extremely difficult to change the data structure after the data is stored.
そこで、発明者らは、式表現という概念を提示し、既存のデータベースのデータモデルとは異なり、データの構造に拘束されることを低減し、コンピュータ上に柔軟に事物を記述できる情報処理技術を提案してきた。 Therefore, the inventors present the concept of expression expression, and unlike the existing database data model, the inventors have reduced the amount of data that is constrained by the data structure, and the information processing technology that can describe things flexibly on a computer. Proposed.
しかしながら、既存データモデルによるデータベースでは、格納されるデータの構造が事前に設計されている上に、格納されたデータに対する演算も事前に設計されたデータの構造を前提とする。例えば、リレーショナルモデルでは、表を構成するレコードにおいて、レコード内の要素の型は固定されており、その固定された型を前提としてデータベースの演算が実行される。同様に、例えば、オブジェクト指向モデルでは、オブジェクトに含まれる要素の型は固定されており、その固定された型を前提としてオブジェクトに対する処理が実行される。 However, in the database based on the existing data model, the structure of the stored data is designed in advance, and the operation on the stored data is premised on the data structure designed in advance. For example, in the relational model, the types of elements in the record are fixed in the records constituting the table, and database operations are executed on the assumption of the fixed type. Similarly, for example, in the object-oriented model, the type of an element included in the object is fixed, and processing for the object is executed on the assumption of the fixed type.
そこで、開示の技術の一側面は、対象を記述する式表現中に、数値化された情報の組み込みを可能とし、データの構造による拘束を低減した上で、コンピュータが事物に係る情報をコンピュータ上に蓄積し、蓄積された情報を基に、データの構造への依存を低減した上で、蓄積した事物の数値に係る情報を演算可能にする、情報処理装置、情報処理方法等の情報処理技術を提供することを目的とする。 Thus, one aspect of the disclosed technology is that numerical information can be incorporated into a formula expression describing an object, and the restriction on data structure is reduced. Information processing technology, such as information processing devices and information processing methods, that make it possible to calculate the information related to the numerical values of things, while reducing dependence on the data structure based on the stored information The purpose is to provide.
開示の技術の一側面は、識別子と、因子の列として複数の識別子を結合する積演算子と、識別子および因子の列として結合された複数の識別子のいずれかまたは両方から項の組み合わせを構成する和演算子と、によって記述され、識別子として数字を含み数値であることを数値演算子によって明示する数値識別子と前記数値識別子以外の非数値識別子とを含む、対象情報を記憶する記憶部と、対象情報を操作する処理部と、を備える情報処理装置として例示できる。ここで、処理部は、因子の列として積演算子で結合される因子のうち、前記非数値識別子を残して数値識別子で表される数値間で乗算を実行し、項の組み合わせに対して前記非数値識別子を共通の因子とする複数の項について数値識別子で表される数値間で加算を実行する。 One aspect of the disclosed technology comprises a combination of terms from an identifier, a product operator that combines multiple identifiers as a sequence of factors, and / or a plurality of identifiers combined as a sequence of identifiers and factors A storage unit that stores target information, including a numeric identifier that is described by a sum operator, includes a numeric identifier as an identifier and explicitly indicates that the identifier is a numeric value, and a non-numeric identifier other than the numeric identifier, and a target An information processing apparatus including a processing unit that operates information can be exemplified. Here, the processing unit performs multiplication between the numerical values represented by the numerical identifiers, leaving the non-numeric identifier among factors combined by a product operator as a sequence of factors, and the combination of terms Addition is performed between numerical values represented by numerical identifiers for a plurality of terms having non-numeric identifiers as common factors.
なお、本発明は、一の側面では、本情報処理装置が実行する手順を含む情報処理方法として特定することもできる。また、本発明は、他の側面では、本情報処理装置が実行する手順をコンピュータに実行させるコンピュータプログラム、コンピュータプログラムを記憶した記憶媒体として特定することもできる。 In one aspect, the present invention can be specified as an information processing method including a procedure executed by the information processing apparatus. In another aspect, the present invention can be specified as a computer program that causes a computer to execute a procedure executed by the information processing apparatus, and a storage medium that stores the computer program.
本情報処理装置によれば、事物を記述する式表現中に、数値化された情報を組み込み可能とし、データの構造による拘束を低減した上で、コンピュータが事物に係る情報をコンピュータ上に蓄積し、蓄積された情報を基に、データの構造への依存を低減した上で、蓄積した事物の数値に係る情報を演算することが可能となる。 According to this information processing apparatus, it is possible to incorporate numerical information in a formula expression describing an object, reducing the constraint due to the structure of the data, and the computer stores the information related to the object on the computer. Based on the accumulated information, it is possible to calculate the information related to the numerical value of the accumulated thing while reducing the dependence on the structure of the data.
以下、図面を参照して本発明を実施するための形態(以下、実施形態という)に係る情報処理装置について説明する。以下の実施形態の構成は例示であり、本情報処理装置は実施形態の構成には限定されない。 Hereinafter, an information processing apparatus according to a mode for carrying out the present invention (hereinafter referred to as an embodiment) will be described with reference to the drawings. The configuration of the following embodiment is an exemplification, and the information processing apparatus is not limited to the configuration of the embodiment.
《第1実施形態》
以下、第1実施形態に係る情報処理装置を説明する。本情報処理装置の記憶手段に記憶され、本情報処理装置で処理される情報を対象情報という。対象情報は、識別子、因子、項(要素)、集合情報、トポロジー空間情報等の情報を含む。対象情報をオブジェクト情報とも呼ぶ。ただし、本実施形態でのオブジェクト情報は、いわゆるオブジェクト指向データベース、オブジェクト指向言語、オブジェクト指向設計等でいうオブジェクトとは、概念が異なる。そこで、以下では、もっぱらオブジェクト情報という代わりに、対象情報と呼ぶことにする。
<< First Embodiment >>
The information processing apparatus according to the first embodiment will be described below. Information stored in the storage means of the information processing apparatus and processed by the information processing apparatus is referred to as target information. The target information includes information such as an identifier, a factor, a term (element), set information, and topology space information. The target information is also called object information. However, the concept of the object information in the present embodiment is different from an object in what is called an object-oriented database, object-oriented language, object-oriented design, or the like. Therefore, in the following, it will be referred to as target information instead of exclusively object information.
また、本実施形態では、項の組み合わせから因子を構成する集合因子構成演算子および順序構成演算子が使用される。集合因子構成演算子は、第一の括弧“()”により表現される。また、順序構成演算子は第二の括弧“{}”により表現される。 In the present embodiment, a set factor construction operator and an order construction operator that form factors from combinations of terms are used. The set factor construction operator is represented by the first parenthesis “()”. The order composition operator is expressed by the second parenthesis “{}”.
本情報処理装置によれば、対象情報を所定の表現形式のデータとして記憶手段に格納し、これに所定のプログラムに基づいて処理を実行することができる。その結果、異なる対象情報同士の情報の一貫性を図るとともに新たな様々な対象情報のデータベース化および処理が可能な情報処理装置を提供することが可能となる。また、従来のリレーショナルモデルやオブジェクト指向モデルでは、対応できないデータに対応することができるシステムを開発することができる。 According to the information processing apparatus, the target information can be stored in the storage unit as data in a predetermined expression format, and processing can be executed on the target information based on the predetermined program. As a result, it is possible to provide an information processing apparatus capable of ensuring consistency of information between different pieces of target information and creating a database and processing of various new pieces of target information. In addition, it is possible to develop a system that can handle data that cannot be handled by the conventional relational model or object-oriented model.
記憶手段は、抽象度に応じた各レベルの所定の表現形式によって表現される対象情報を例えばテキストファイルとして格納する。記憶手段は、前記対象情報を十分に格納できる容量を有するものであればよく、ハードディスク等がこれに該当する。対象情報とは、システム開発におけるデータベースを構成するすべての情報を含むものである。例えば既存のデータモデルの正規化表構造を構成するレコードの構成要素や正規化表構造では入力不可能なデータ構造も含む。正規化表構造では入力不可能な情報とは、例えば正規化表構造で表現されるようなデータがある場合に、これに付箋のような前記正規化表構造とは全く関連性のない、すなわち属性の定義のない対象情報を意味する。また、この対象情報は、本情報処理装置の処理を実行することによりその抽象度が変化することを特徴とする。す
なわち、あるレベルで入力された対象情報は、本情報処理装置の処理が実行されることによりそのレベルが変化する。そして、そのレベルが変化しても対象情報は、変化前と同一の演算によって、取り扱うことができる。すなわち、対象情報は、抽象レベルが変化しても対象情報の性質には一貫性が保たれるので、同一の演算による操作が可能である。したがって、ある抽象度で格納された対象情報、すなわちデータは本情報処理装置の処理が実行されることにより様々なレベルに変化する。また、上述のように全く関連性のないデータも入力してこれを関連付けることが可能である。したがって、異なる抽象度のレベルにおいて、情報の性質の一貫性が保たれるとともに、新たな様々な事物を示す情報のデータベース化およびデータベース化された情報に対する演算処理が可能となる。
The storage means stores the target information expressed in a predetermined expression format at each level according to the abstraction level, for example, as a text file. The storage means only needs to have a capacity capable of sufficiently storing the target information, such as a hard disk. The target information includes all information constituting a database in system development. For example, it includes a record component constituting a normalization table structure of an existing data model and a data structure that cannot be input in the normalization table structure. Information that cannot be input in the normalization table structure is, for example, when there is data that can be expressed in the normalization table structure, which has no relation to the normalization table structure such as a sticky note, that is, It means target information without attribute definition. In addition, the degree of abstraction of the target information is changed by executing the processing of the information processing apparatus. In other words, the level of the target information input at a certain level changes as the processing of the information processing apparatus is executed. Even if the level changes, the target information can be handled by the same calculation as before the change. In other words, the object information can be operated by the same operation because the property of the object information is consistent even if the abstract level changes. Therefore, target information stored at a certain level of abstraction, that is, data, changes to various levels when the processing of the information processing apparatus is executed. In addition, as described above, it is possible to input data that are completely unrelated and associate them with each other. Therefore, the consistency of the nature of the information is maintained at different levels of abstraction, and information indicating new various things can be made into a database and operation processing on the database information can be performed.
前記対象情報は、記号、識別子、第一の括弧および第二の括弧により表現される因子と、前記因子の積によって表現される項と、前記項の和によって表現される式と、により構成することができる。式を構成する項、および項を構成する因子は、前記対象情報を構成する最小単位である識別子と、前記処理手段において1として処理される単位元ε(”eps”とも記述する)と、前記処理手段において0として処理される零元Φとにより構成することができる。前記第一の括弧は、()により表現することができる。また、前記第二の括弧は{}により表現することができる。このように本情報処理装置によれば、対象情報が非常に簡単なデータ構造で表現されている。したがって、高度な技術を有さないユーザであっても容易に理解することが可能となる。 The target information includes a symbol, an identifier, a factor expressed by first and second parentheses, a term expressed by the product of the factors, and an expression expressed by the sum of the terms. be able to. The term constituting the expression and the factor constituting the term are an identifier that is a minimum unit constituting the target information, a unit element ε (also described as “eps”) that is processed as 1 in the processing means, It can be constituted by a zero element Φ processed as 0 in the processing means. The first parenthesis can be expressed by (). The second parenthesis can be expressed by {}. As described above, according to the information processing apparatus, the target information is represented by a very simple data structure. Therefore, even a user who does not have advanced technology can easily understand.
前記第一の括弧と前記第二の括弧は演算時の強さが異なる。演算時の強さが異なるとは、前記処理手段の処理を実行する際の展開順序が異なることを意味する。項は、前述した因子の積によって表現され、積は×により表現することができる。本実施形態では、積を構成する因子に、可換律は、成立しない。すなわち、a×bとb×aは、同一とは見なされない。また、式は前記項の和によって表現され、和は+により表現することができる。本実施形態では、和を構成する項に、可換律が、成立する。すなわち、a+bとb+aは、同一とは見なされる。以上より、例えばある対象情報は数1のように表現することができる。
The first parenthesis and the second parenthesis are different in strength at the time of calculation. The difference in strength at the time of calculation means that the expansion order when executing the processing of the processing means is different. A term is expressed by the product of the factors described above, and the product can be expressed by x. In the present embodiment, the commutative rule is not established for the factors constituting the product. That is, a × b and b × a are not considered the same. The expression is expressed by the sum of the terms, and the sum can be expressed by +. In this embodiment, the commutative law is established for the terms constituting the sum. That is, a + b and b + a are regarded as the same. From the above, for example, certain target information can be expressed as
(a+b)×{c+d+e}+f{g+h}×{i+j}・・・(数1) (A + b) × {c + d + e} + f {g + h} × {i + j} (Equation 1)
上記数1で表現される対象情報は、第一の項の(a+b)×{c+d+e}と、第二の項のf{g+h}×{i+j}により構成されている。すなわち、数1は第一の項と第二の項との和により構成されている。次に、第一の項と第二の項のそれぞれについてみると、第一の項は、第一の因子の(a+b)と、第二の因子の{c+d+e}とにより構成されている。また、第二の項についてみると、第三の因子のfと、第四の因子の{g+h}と、第五の因子の{i+j}とにより構成されている。なお、上記数1において、“f”の後に、積演算子“×”を明示し、“f×”としてもよい。そして第一の因子から第五の因子のそれぞれについてみると、第一の因子は、第一の括弧と識別子aおよびbにより構成されている。また、第二の因子は第二の括弧と識別子c、dおよびeにより構成され、第三の因子は識別子fにより構成され、第四の因子は第二の括弧と識別子gおよびfにより構成され、第五の因子は第二の括弧と識別子iおよびjにより構成されている。なお、括弧の中は換言すると再帰的に式になっている。例えば、上記のうち(a+b)についてみると、括弧の中は再帰的に式a+bになっている。すなわち、上記式は項としての識別子aと項としての識別子bの和によってなっている。このように、式は、()または{}、およびその両方が複数回入れ子になった構造を含むことができる。
The target information expressed by
対象情報は、上記のように因子、項からなる式で表現される。そしてこのように表現された対象情報は、例えばテキストファイルとして前記記憶手段に格納される。なお、記憶手段への対象情報の格納、換言すると入力は、例えば、ユーザ操作に応答して実行される
。この入力時に、グラフィカルユーザインターフェースを用いたユーザインターフェース部を提供してもよい。簡易的には、テキストエディタで、識別子、項、あるいは、項の和を入力するようにしてもよい。情報処理手段は、記憶手段に格納されたその対象情報を処理する。これにより、前記対象情報の抽象度を変化させることが可能となる。
The target information is expressed by an expression including factors and terms as described above. The target information expressed in this way is stored in the storage means as a text file, for example. The storage of the target information in the storage means, in other words, the input is executed in response to a user operation, for example. At the time of this input, a user interface unit using a graphical user interface may be provided. For simplicity, an identifier, a term, or a sum of terms may be input with a text editor. The information processing means processes the target information stored in the storage means. Thereby, the abstraction level of the target information can be changed.
次に、図面に基づいて基本システムを説明する。 Next, a basic system will be described based on the drawings.
《基本システム》
(データ構造)
まず、情報処理装置のメモリに格納される対象情報の構造、すなわちデータ構造について説明する。なお、本実施形態の情報処理装置は、以下のデータ構造によって、処理対象のデータを記述し、記憶し、演算処理を行う。
<Basic system>
(data structure)
First, the structure of the target information stored in the memory of the information processing apparatus, that is, the data structure will be described. Note that the information processing apparatus of the present embodiment describes and stores data to be processed with the following data structure, and performs arithmetic processing.
(1)対象情報の構成要素
本情報処理装置は、対象情報を式の形式で表現する。式は、和演算子“+”、積演算子“×”、第1の括弧“(”“)”、および第2の括弧“{”“}”によって記述される。第1の括弧が集合因子構成演算子に相当する。また、第2の括弧が順序構成演算子に相当する。このような対象情報の表現形式を式表現とも呼ぶ。
(1) Components of target information This information processing apparatus expresses target information in the form of an expression. The expression is described by the sum operator “+”, the product operator “×”, the first bracket “(” “)”, and the second bracket “{” “}”. The first parenthesis corresponds to the set factor construction operator. The second parenthesis corresponds to the order construction operator. Such an expression format of the target information is also called a formula expression.
式は、1以上の識別子を含む。識別子は、記号または記号列で表現される。本実施形態では、記号として、英数字、および特殊文字(ただし、和演算子“+”、積演算子“×”、第1の括弧“(”“)”、および第2の括弧“{”“}”を除外する)を用いることとする。ただし、記号は、一般的にアルファベットとも呼ばれ、必ずしも、これらの文字には限定されない。 The expression includes one or more identifiers. The identifier is expressed by a symbol or a symbol string. In this embodiment, alphanumeric characters and special characters (however, a sum operator “+”, a product operator “x”, a first parenthesis “(” “)”, and a second parenthesis “{” are used as symbols. “}” Is excluded). However, the symbols are generally called alphabets and are not necessarily limited to these characters.
本実施形態では、特殊な識別子として、Φおよびεを用いる。Φは、値ゼロ、和演算子において演算結果を変化させない値、または空集合を示す識別子である。本実施形態では、Φを零元と呼ぶ。また、εは、値1、あるいは、積演算子において演算結果を変化させない値である。本実施形態では、εを単位元と呼ぶ。なお、Φを和演算の単位元と呼ぶ場合もあるが、本実施形態では、Φを零元と呼ぶことにする。
In this embodiment, Φ and ε are used as special identifiers. Φ is an identifier indicating a value of zero, a value that does not change the operation result in the sum operator, or an empty set. In this embodiment, Φ is called a zero element. Further, ε is a
また、本情報処理装置は、所定の識別子を、演算を表す予約語として使用する。例えば、F(式)は、式を展開する演算である。これらの予約語については、ユーザは、通常の識別子として使用することができない、という点で制限がある。 In addition, the information processing apparatus uses a predetermined identifier as a reserved word representing an operation. For example, F (expression) is an operation for expanding the expression. These reserved words have a limitation in that they cannot be used as normal identifiers.
本実施形態では、以下の規則によって対象情報、すなわち、識別子、因子、項(要素ともいう)、集合情報、トポロジー空間情報等の情報を記述する式表現が生成される。
(a)識別子、単位元、および零元はいずれも式表現、すなわち、対象情報を記述する表現である。
(b)rとsとがともに、式表現である場合、r+sも式表現である。
(c)rとsとがともに、式表現である場合、r×sも式表現である。この場合、演算の結合の強さは、通常の代数と同様に、r×sの方が、r+sよりも強い。
(d)rが式表現である場合、(r)、{s}も式表現である。
In the present embodiment, an expression that describes object information, that is, information such as identifiers, factors, terms (also referred to as elements), set information, topology space information, and the like is generated according to the following rules.
(A) An identifier, a unit element, and a zero element are all expression expressions, that is, expressions describing target information.
(B) When both r and s are expressions, r + s is also an expression.
(C) When both r and s are expression expressions, r × s is also an expression expression. In this case, r × s is stronger in r × s than r + s, as in ordinary algebra.
(D) When r is an expression, (r) and {s} are also expressions.
(2)式表現の代数的構造
本実施形態において、式表現r、s、t、yは、次の代数の性質を有する。
(a)結合律
r+(s+t)=(r+s)+t
r×(s×t)=(r×s)×t
(b)可換律
r+s=s+r
なお、本実施形態の式表現では、積演算子の可換律は成立しない。したがって、積演算子で複数の因子が結合されている場合に、個々の因子位置が情報(あるいは意味)を持つ。すなわち、因子は、いわゆる位置を指定してされた位置パラメータとしての機能を有する。「積演算子の可換律は成立しない」ことは、積演算子が「順序を持つ因子の列として複数の識別子を結合する」ことに相当する。
(c)積演算の単位元
r×ε=ε×r=r
(d)積演算、和演算の零元
r×Φ=Φ×r=Φ
r+Φ=r
(e)分配率
r×(s+t)=r×s+r×t
(r+s)×t=r×t+s×t
(f)
{r+s}×{t+u}={r×t+s×u}
(2) Algebraic structure of expression expression In the present embodiment, the expression expressions r, s, t, and y have the following algebraic properties.
(A) coupling rule r + (s + t) = (r + s) + t
r * (s * t) = (r * s) * t
(B) Commutative law r + s = s + r
Note that the commutation law of the product operator does not hold in the expression of this embodiment. Therefore, when a plurality of factors are combined by the product operator, each factor position has information (or meaning). That is, the factor has a function as a position parameter designated by so-called position. “The commutation rule of the product operator does not hold” corresponds to the product operator “combining a plurality of identifiers as a sequence of factors having an order”.
(C) Product operation unit element r × ε = ε × r = r
(D) Zero element r × Φ = Φ × r = Φ of product operation and sum operation
r + Φ = r
(E) Distribution ratio r × (s + t) = r × s + r × t
(R + s) × t = r × t + s × t
(F)
{R + s} × {t + u} = {r × t + s × u}
(3)集合情報
集合情報は、項の組み合わせ、あるいは、項の和として、定義される。ここで、それぞれの項は集合ID(第1の識別因子に相当)となる識別子と値となる識別子の積、すなわち、集合ID×値として定義される。ただし、値は、複数の識別子の積であってもよい。集合の情報の式表現は、典型的には、集合ID×値1+集合ID×値2+・・・である。集合情報の例として、以下のものを挙げることができる。
(3) Set information Set information is defined as a combination of terms or a sum of terms. Here, each term is defined as a product of an identifier that is a set ID (corresponding to the first identification factor) and an identifier that is a value, that is, a set ID × value. However, the value may be a product of a plurality of identifiers. The expression expression of the set information is typically set ID ×
上述のように、本実施形態のデータ構造では、和演算子に可換律が成立することから、集合情報は、順序のない項の組み合わせということができる。一方、項を構成する因子間の位置関係は維持されることになる。 As described above, in the data structure of this embodiment, since the commutative rule is established for the sum operator, the set information can be said to be a combination of unordered terms. On the other hand, the positional relationship between the factors constituting the term is maintained.
このような因子間の位置関係の維持機能は、コンピュータ上で事物、あるいは、概念を表現する場合に、極めて大きな効果を発揮する。すなわち、一般的に、事物、あるいは概念を記述する修飾関係には、可換律が成立しない。例えば、”児玉の机”は、”机の児玉”と意味が異なる。 Such a function of maintaining the positional relationship between factors is extremely effective when expressing things or concepts on a computer. That is, in general, a commutative rule is not established for a modification relationship that describes a thing or a concept. For example, “kodama desk” is different in meaning from “desk kodama”.
本実施形態の因子と積演算子によれば、このような修飾関係を極めて単純化して、記述することができる。さらに、そのような修飾関係で記述された項を和演算子によって組み合わせることで事物の集合、あるいは、概念の集合を記述し、極めて単純な形式のデータベースを構築できる。 According to the factor and product operator of the present embodiment, such a modification relationship can be greatly simplified and described. Furthermore, a set of things or a set of concepts can be described by combining terms described in such a modification relationship with a sum operator, and an extremely simple database can be constructed.
さらにまた、管理対象の事物あるいは概念を項の集合として管理する場合に、項における因子の位置関係に意味を付与することもできる。また、項を構成する因子は、それぞれ、いわゆる位置パラメータとしての意義を有するということもできる。 Furthermore, when managing a managed object or concept as a set of terms, it is possible to give meaning to the positional relationship of factors in the terms. It can also be said that the factors constituting the terms have significance as so-called positional parameters.
例えば、集合情報が、果物×任意形状×任意色×バナナ+果物×任意形状×任意色×リンゴ+果物×細長×黄色×バナナ+果物×丸×赤×リンゴという集合情報を考える。この場合、項の第1因子は、集合IDである果物であり、第2因子は形状示し、第3因子は色を示し、第4因子は名称を示す。このように、それぞれの因子の位置に意味上の制限を加えて使用することで、属性と属性値との関係を集合レベルでも処理できることを示している。本情報処理装置では、集合情報は、このような順序が維持された因子によって事物の属性を自在に定義することができ、そのような項の組み合わせによって、事物の集合をコンピュータ上に表現する。
(例)
A×a1+A×a2+A×a3、b1×B+b2×B×B、果物×リンゴ+果物×バナナ+果物×ミカン、野菜×キャベツ+野菜×キュウリ+野菜×ゴボウ、社員×A+社員×B+社員×C
For example, the collective information is considered to be collective information of fruit × arbitrary shape × arbitrary color × banana + fruit × arbitrary shape × arbitrary color × apple + fruit × stripe × yellow × banana + fruit × circle × red × apple. In this case, the first factor of the term is the fruit that is the set ID, the second factor indicates the shape, the third factor indicates the color, and the fourth factor indicates the name. Thus, it is shown that the relationship between the attribute and the attribute value can be processed at the set level by using the position of each factor with a semantic restriction. In the information processing apparatus, the set information can freely define the attributes of things by factors that maintain such an order, and the set of things is expressed on the computer by combining such terms.
(Example)
A × a1 + A × a2 + A × a3, b1 × B + b2 × B × B, fruit × apple + fruit × banana + fruit × mandarin, vegetable × cabbage + vegetable × cucumber + vegetable × burdock, employee × A + employee × B + employee × C
すなわち、集合情報は、集合IDで識別される集合に所属する項の組み合わせを記述し、メモリ12に記憶される。この場合、社員Cが退職し、社員Dと社員Eが入社した場合には、社員×A+社員×B+社員×Cのようにメモリ12に格納される。
That is, the set information describes a combination of terms belonging to the set identified by the set ID and is stored in the
(4)トポロジー空間情報
トポロジー空間情報は、トポロジーID(第2の識別因子に相当)となる識別子と部分集合の和との積によって以下のように記述される。すなわち、トポロジーID×(部分集合の和)である。ここで、部分集合は、部分集合を識別する部分集合IDと、その部分集合に含まれる項の和との積で表現される。すなわち、部分集合ID×(項の和)である。ただし、項には、さらに項の和を第1の括弧“()”または第2の括弧”{}”で組み合わせたもの、およびそれらの積が含まれてもよい。
(例)トポロジー空間情報の例は、
T×(ABC×(ab1+ac2+bc3)+A×(ab1+ac2)+B×(ab1+bc3)+C(ac2+bc3))、
果物×(全種×(リンゴ+バナナ+ミカン)+赤×リンゴ+黄×(バナナ+ミカン))、果物×(全種×(リンゴ+バナナ+ミカン)+丸×(リンゴ+ミカン)+細長×バナナ)、
野菜×(全種×(大根+キュウリ+ゴボウ)+太×大根+細×(キュウリ+ゴボウ))、会社×(社員×(社員1+社員2+社員3+社員4)+営業×(社員1+社員2)+経理×(社員3+社員4))、等である(この例で、読点“、”は、式の構成要素ではなく、例の区切りである)。この場合に、最後の例について、例えば、総務が新設され、社員5が採用され、総務に配属された場合には、会社×(社員×(社員1+社員2+社員3+社員4+社員5)+営業×(社員1+社員2)+経理×(社員3+社員4)+総務×社員5)のように記述し、メモリ12に格納できる。
(4) Topology space information The topology space information is described as follows by the product of an identifier that is a topology ID (corresponding to the second identification factor) and the sum of the subsets. That is, topology ID × (subset sum). Here, the subset is expressed by a product of a subset ID for identifying the subset and the sum of terms included in the subset. That is, subset ID × (sum of terms). However, the term may further include a sum of terms combined with the first parenthesis “()” or the second parenthesis “{}”, and a product thereof.
(Example) An example of topology space information is
T × (ABC × (ab1 + ac2 + bc3) + A × (ab1 + ac2) + B × (ab1 + bc3) + C (ac2 + bc3)),
Fruit x (all species x (apple + banana + tangerine) + red x apple + yellow x (banana + tangerine)), fruit x (all species x (apple + banana + tangerine) + round x (apple + tangerine) + elongate X Banana),
Vegetable x (all species x (radish + cucumber + burdock) + thick x radish + fine x (cucumber + burdock)), company x (employee x (
(記述例)
以下、従来のデータ構造である表およびツリー構造が、本実施形態のデータ構造でどのように記述できるかを示す。
(Example)
Hereinafter, it will be shown how the table and tree structure, which are conventional data structures, can be described by the data structure of the present embodiment.
図1は、第1実施形態に係る情報処理装置のメモリに格納されるセル空間情報の第一のデータ構造例を示す。同図に示すように、第1実施形態に係る情報処理装置では、従来正規化表構造として表形式で表現される対象情報は、表現形式1の状態でメモリ12に格納することができる。表現形式1で、Aは、キー属性(例えば社員番号等)、B,C,D,E等は、その他の属性(例えば、氏名、性別、入社年、所属部署等)である。
FIG. 1 shows a first data structure example of cell space information stored in the memory of the information processing apparatus according to the first embodiment. As shown in the figure, in the information processing apparatus according to the first embodiment, target information that is conventionally expressed in a tabular form as a normalized table structure can be stored in the
図2は、第1実施形態に係る情報処理装置のメモリに格納されるセル空間情報の第二のデータ構造例を示す。同図に示すように、第1実施形態に係る情報処理装置では、従来ツリー構造として表現される対象情報は、表現形式2又は3でメモリ12に格納することができる。そして、同図に示すように有向グラフの一部としてのツリー構造について対応可能である。表現形式2で、aは、例えば、動物、bはほ乳類、cは魚類、dは人、eは鯨、fはマグロ、gは鯉等である。この場合、b(ほ乳類)およびc(魚類)は、a(動物)の属性、例えば、食する、呼吸する等を継承する。b(ほ乳類)およびc(魚類)の共通の属性は、a(動物)に定義される。
FIG. 2 shows a second data structure example of the cell space information stored in the memory of the information processing apparatus according to the first embodiment. As shown in the figure, in the information processing apparatus according to the first embodiment, the target information expressed as a conventional tree structure can be stored in the
したがって、本情報処理装置は、本実施形態の式表現によって、フレーム等の知識ベー
ス、あるいは、オブジェクト指向データベース等を記述し、メモリに格納できる。情報処理装置は、これらに対応する事物に関する情報の入力を入力部から受け付け、対応する情報を生成し、メモリに格納し、メモリから読み出し、出力部に出力できる。
Therefore, the information processing apparatus can describe a knowledge base such as a frame or an object-oriented database according to the expression of the present embodiment and store it in a memory. The information processing apparatus can accept input of information related to these items from the input unit, generate corresponding information, store it in the memory, read it from the memory, and output it to the output unit.
また、逆ツリー構造で表現される対象情報についても、表現形式3のようにメモリに格納することができる。逆ツリー情報は、基本的な情報からより複雑な情報を構成する場合に適用できる。表現形式3では、例えば、aはCPUであり、bはインターフェースであり、cは外部記憶装置の駆動部であり、dはCPUボードであり、eは外部記憶装置であり、fはパーソナルコンピュータである。
Also, target information expressed in an inverted tree structure can be stored in the memory as in the
このように逆ツリー構造は、製品の設計書、事業の工程管理図等、基本情報からより複雑な情報を組み上げて管理することができる。したがって、本実施形態の式表現によって、製品の設計情報、事業の工程等を記述し、メモリに格納できる。情報処理装置は、これらに対応する事物に関する情報の入力を入力部から受け付け、対応する情報を生成し、メモリに格納し、メモリから読み出し、出力部に出力できる。 In this way, the reverse tree structure can be managed by assembling more complex information from basic information such as product design documents and business process control charts. Accordingly, product design information, business processes, and the like can be described and stored in the memory by the expression of the present embodiment. The information processing apparatus can accept input of information related to these items from the input unit, generate corresponding information, store it in the memory, read it from the memory, and output it to the output unit.
図3は、第1実施形態に係る情報処理装置のメモリに格納される第三のデータ構造例を示す。同図に示すように、第1実施形態に係る情報処理装置では、非正規化表構造と属性のない対象情報についても図3の状態でメモリに格納することができる。ここで、非正規化表構造と属性のない対象情報とは、図3に示すように伝票を示す対象情報と、その対象情報に追加される付箋メモに相当する対象情報とが例示できる。接着処理を実行し、接着空間を作成することで、コンピュータ上で伝票に付箋メモの内容を添付することと同等の処理が実現される。 FIG. 3 shows a third data structure example stored in the memory of the information processing apparatus according to the first embodiment. As shown in the figure, in the information processing apparatus according to the first embodiment, non-normalized table structure and target information without attributes can also be stored in the memory in the state of FIG. Here, the non-normalized table structure and the target information without attributes can be exemplified by target information indicating a slip and target information corresponding to a sticky note added to the target information as shown in FIG. By executing the bonding process and creating the bonding space, a process equivalent to attaching the contents of the sticky memo to the slip is realized on the computer.
なお、伝票の種類ごとにテーブルに格納する場合には、リレーショナルモデルによって従来のデータベースで情報を管理できる。しかしながら、伝票の種類数が変動する場合、既存の伝票の構成が変更された場合には、リレーショナルモデルでは、対応できない。 In the case of storing in the table for each type of slip, information can be managed in a conventional database by a relational model. However, when the number of types of slips fluctuates, the relational model cannot cope with changes in the configuration of existing slips.
ここで、所定の表現形式、すなわちデータ構造についてより詳細に上記図3の形式に基づいて説明する。IDまたはid(identification)は、格納される対象情報を識別するものである。そしてこの対象情報は、識別子A〜E2,a〜e2と、演算時の結合強さが異なる第一の括弧()および第二の括弧{}と、これらにより表現される因子{C1+C2},{E1+E2}等と、これら因子の積によって表現される項E{E1+E2}等と、前記項の和によって表現される式と、により構成される。なお、本実施形態では、項を要素ともいう。また、すでに述べたように、単位元εは、所定の処理を実行した場合に1として処理される記号である。上記以外の特別な記号として、所定の処理を実行した場合に0として処理される零元Φが存在する。このような状態でメモリに格納された対象情報は、情報処理装置のCPUが所定のプログラムを実行することによって、入力装置から入力された伝票データにしたがって、生成され、メモリに格納され、部分集合に分離され、他の部分集合と接着され、あるいは、検索されることになる。 Here, the predetermined expression format, that is, the data structure will be described in more detail based on the format shown in FIG. ID or id (identification) identifies the target information to be stored. The target information includes identifiers A to E2, a to e2, first parentheses () and second parentheses {} having different coupling strengths at the time of calculation, and factors {C1 + C2}, { E1 + E2}, a term E {E1 + E2} expressed by the product of these factors, and an expression expressed by the sum of the terms. In the present embodiment, the term is also referred to as an element. As already described, the unit element ε is a symbol processed as 1 when a predetermined process is executed. As a special symbol other than the above, there is a zero element Φ that is processed as 0 when a predetermined process is executed. The target information stored in the memory in such a state is generated according to the slip data input from the input device when the CPU of the information processing device executes a predetermined program, and is stored in the memory. Will be separated, glued to other subsets, or retrieved.
図3の例では、インスタンスとして、伝票ID1で示される1枚目の伝票、伝票ID2で示される2枚目の伝票、およびMEMOで示されるメモが例示されている。また、この場合に、1枚目の伝票と2枚目以降の伝票で、項目の構成が異なっても構わない。本情報処理装置は、対象情報を構成する識別子、あるいは項に、個々に属性を付与できるので、異なる属性の並びを有する異なる識別子、あるいは項を自在に記憶し、検索し、変更できる。また、{}内に、+識別子の形式で追加するとともに、属性に対応する値を追加すれば、データベースとして運用中においても、自在に属性と属性値とを追加、変更、削除できる。したがって、本実施形態のデータ構造によれば、情報処理装置が取り扱うデータを柔軟に変更でき、厳密、正確なファイル設計の必要性が軽減される。 In the example of FIG. 3, a first slip indicated by slip ID1, a second slip indicated by slip ID2, and a memo indicated by MEMO are illustrated as instances. In this case, the configuration of items may be different between the first slip and the second and subsequent slips. Since the information processing apparatus can individually assign attributes to identifiers or terms constituting the target information, different identifiers or terms having different attribute sequences can be freely stored, searched, and changed. In addition, by adding a value in the form of + identifier in {} and adding a value corresponding to the attribute, the attribute and the attribute value can be freely added, changed, and deleted even during operation as a database. Therefore, according to the data structure of the present embodiment, the data handled by the information processing apparatus can be flexibly changed, and the necessity of strict and accurate file design is reduced.
(基本演算手順)
図4に、本情報処理装置におけるプログラム構成を示す。本情報処理装置は、例えば、データを格納し、検索し、変更し、表示するデータベースシステム等、様々事物を管理するシステムに適用できる。以下、情報処理装置のハードウェア構成としては、図9を例示できる。その場合、個々の管理対象に応じた機能は、例えばメモリ12上のアプリケーションプログラムAPを実行するCPU13によって提供される。すなわち、情報処理装置のCPU13は、入力部11から入力されたデータをメモリ12あるいは外部記憶装置に格納し、これらに格納されたデータにアクセスし、検索し、出力部14に表示する。
(Basic calculation procedure)
FIG. 4 shows a program configuration in the information processing apparatus. The information processing apparatus can be applied to a system that manages various things such as a database system that stores, retrieves, changes, and displays data. Hereinafter, FIG. 9 can be exemplified as a hardware configuration of the information processing apparatus. In this case, the function corresponding to each management target is provided by the
一方、アプリケーションプログラムがメモリ12あるいは、外部記憶装置に格納するデータの生成、格納、検索等の機能は、上述の式表現を処理する共通関数ライブライリが提供する。共通関数ライブラリは、アプリケーションインターフェースを備えており、アプリケーションプログラムへのこれらの機能、あるいは、サービスを提供する。以下、本情報処理装置で典型的な共通関数の例を説明する。これらの共通関数は、プリミティブ関数、あるいは、基本演算とも呼ばれる。以下、式表現に対する基本演算、つまり共通関数の典型例として、商演算および部分集合取得処理を例示する。
On the other hand, functions such as generation, storage, and retrieval of data stored in the
(1)商演算処理
以下、商演算処理について説明する。商演算処理は、対象情報を記述する集合から、指定された因子(識別子を含む)を含む式表現(項、あるいは要素)と、そのような因子を含まない式表現とに分離する処理である。商演算処理のアプリケーションインターフェースは、例えば、戻り値=divide(商演算される式表現、商演算する因子、商の式表現、剰
余の式表現);のように定義できる。本実施形態で、商演算は、“商演算する因子”を含
む式表現を取り出す処理となる。そのため、商演算する因子のことを、同値関係を指定する因子ともいう。商演算する因子は、演算用因子に相当する。
(1) quotient calculation process Hereinafter, the quotient calculation process will be described. The quotient calculation process is a process of separating a set describing target information into an expression expression (term or element) including a specified factor (including an identifier) and an expression expression not including such a factor. . An application interface for quotient calculation processing can be defined as, for example, return value = divide (expression expression for quotient calculation, factor for quotient calculation, expression for quotient, expression expression for remainder). In the present embodiment, the quotient calculation is a process of extracting an expression expression including “factor for quotient calculation”. For this reason, the factor that performs the quotient calculation is also referred to as a factor that specifies the equivalence relation. The factor for the quotient calculation corresponds to the calculation factor.
図5Aは、商演算処理(サブルーチン1)を実行する処理のフローを示す。サブルーチン1を実行するCPU13が商演算部に相当する。なお、図6Aは、商演算のうち、剰余を求める処理(サブルーチン2)である。サブルーチン1は、商演算される式表現である式1、商演算する因子を入力され、商の式表現である式2を出力する。
FIG. 5A shows a flow of processing for executing the quotient calculation processing (subroutine 1). The
まずステップS301では、商演算処理が実行される前の所定の表現形式によって表現される式1(“商演算される式表現”)、および商演算する因子(これを同値関係示す因子ともいう)pが入力される。以下、数2により表現される対象情報が入力された場合について説明する。また、1を商演算する因子(同値関係を示す因子p)と設定する。
First, in step S301, an expression 1 (“expression expression to be quotient-calculated”) expressed in a predetermined expression format before the quotient calculation process is executed, and a factor for performing the quotient calculation (also referred to as a factor indicating an equivalence relation). p is entered. Hereinafter, the case where the target information expressed by
cell(id{ε+A+B+C}(1{ε+a1+b1+c1}+2{ε+a2+b2+c2}))・・・(数2) cell (id {ε + A + B + C} (1 {ε + a1 + b1 + c1} +2 {ε + a2 + b2 + c2})) (Equation 2)
次に、ステップS302では、CPU13は、演算後の商(商項ともいう、ここでは、項2で表す)を初期化する。このとき、項2の値は、Φ(空、または0)である。
Next, in step S302, the
次に、ステップS303では、CPU13は、式1の長さが0であるか否かを判定する。式1の長さが0である場合、CPU13は、サブルーチン1の処理を終了する。
Next, in step S303, the
一方、ステップS303の判定において、式1の長さが0でなかった場合、CPU13は、ステップ304に処理を進める。そして、CPU13は、式1から始めの項(以下、項1という)を取得する。ここで、項1は、数2の全体である。さらに、ステップS305において、CPU13は、式1から項1を削除する。
On the other hand, if the length of
次に、ステップS306において、CPU13は、項1が因子p(ここでは、“1”)を含んでいるか否かを判定する。ここで、因子pを含んでいるとは、項1の因子としては、あるいは、項1の第1の括弧で括られた因子内の項のいずれかに、因子pを含むことをいう。すなわち、項1の式表現中に因子pが含まれるか否かを判定する。項1が因子pを含んでいない場合、CPU13は、項1を空とし(ステップS307)、処理をステップS303に戻す。
Next, in step S306, the
一方、ステップS306の判定において、項1が因子pを含んでいる場合、CPU13は、処理をステップS308に進める。そして、CPU13は、項3を初期化し、空とする。ここで、項3は、始めの項である項1の商演算結果を格納する変数(メモリ12の領域)である。ここでは、数2の構成から、項1に因子p(=1)が含まれていると判定される。
On the other hand, when the
そして、ステップS309において、CPU13は、項1の長さが0であるか否かを判定する(ステップS309)。項1の長さが0でない場合、ステップS310において、CPU13は、項1から始めの因子(以下、因子1という)を取得する。数2の構成から、因子“cell”が取得される。そして、ステップS311において、CPU13は、項1から因子1を削除する。
In step S309, the
次に、ステップS312において、CPU13は、因子1に商演算する因子pが含まれ、かつ、因子1が第1の括弧“(”と“)”とによって形成された因子であるとき、その括弧内の式を式1に設定し、サブルーチン1を再帰呼び出しする。そして、その再帰呼び出しによる処理結果を因子1とする。この処理によって、商演算される式中で、項に“()”による因子を含む場合は、その項は、()内の式が商演算されることになる。数2の構成の場合、“cell”が因子1の場合には、ステップS312は、実行されない。また、cellの次の因子(id{ε+A+B+C}(1{ε+a1+b1+c1}+2{ε+a2+b2+c2}))が、因子1の場合には、ステップS312により、再起呼び出しが実行されることになる。その結果、式表現中に因子p(この例では、1)を含む因子が抽出されることになる。
Next, in step S312, the
さらに、ステップS313によって、CPU13は、項3に対し因子1を積演算し、結果を項3とする。この処理によって、因子1に商演算される因子pが含まれる場合、そのまま項3に積演算されることになる。また、因子1が()の形式の因子の場合に、()内から因子pを含む項が取り出されることになる。そして、CPU13は、処理をステップS309に戻す。
Further, in
ステップS309の判定で、項1の長さが0となった場合、CPU13は、処理をステップS314に進める。そして、ステップS314において、CPU13は、項2(商項)に対して、得られている項3を和演算する。さらに、ステップS315の処理で、CPU13は、項2を商演算後の式である式2に設定する。その後、CPU13は、処理をステップS303に戻す。
When the length of
そして、ステップS303の判定で、式1の長さが0になると、CPU13は、サブルーチン1の処理を終了する。このような処理により、式2に、以下の数3の式表現が出力され、アプリケーションプログラムに引き渡される。
If the length of
cell×id{ε+A+B+C}×1{ε+a1+b1+c1}・・・(数3) cell × id {ε + A + B + C} × 1 {ε + a1 + b1 + c1} (Equation 3)
図5Bおよび図5Cに、数2の式表現に対して、サブルーチン1が実行された場合の式
1、項1、項2、項3、因子1、および式2の変化を示す。図5Bおよび図5Cの第1行目は、各列の要素、すなわち、図5A中の該当する処理を示す番号、式1、項1、項2、項3、因子1、および式2を示している。第2行以下の各行は、一連の処理ステップであり、図5B上から下へ、さらに、図5Cの上から下へ実行される。
FIG. 5B and FIG. 5C show changes in
そして、まず、ステップS301で、共通関数へのパラメータを介して、式1である数2が入力され、メモリ12に保持される。
First, in
項1、因子1および項3に着目すると、これらのうち、“cell”および、id{ε+A+B+C}(1{ε+a1+b1+c1}+2{ε+a2+b2+c2})が順次サブルーチン1で処理されることが分かる。
Focusing on the
さらに、id{ε+A+B+C}(1{ε+a1+b1+c1}+2{ε+a2+b2+c2})が因子1としてステップS312で処理されるときに、再起呼び出しが発生する。そして、同様に、“id”、{ε+A+B+C}、および(1{ε+a1+b1+c1}+2{ε+a2+b2+c2})がサブルーチン1の再起呼び出し1で処理される。
Furthermore, when id {ε + A + B + C} (1 {ε + a1 + b1 + c1} +2 {ε + a2 + b2 + c2}) is processed as
さらに、(1{ε+a1+b1+c1}+2{ε+a2+b2+c2})が、ステップS312で処理されるときに、再起呼び出し2が発生する。そして、同様に、1{ε+a1+b1+c1}については、商演算する因子“1“が含まれているので、ステップS306で、YESの判定がなされる。そして、ステップS313によって、1と{ε+a1+b1+c1}とが項3に積演算される。
Furthermore, when (1 {ε + a1 + b1 + c1} +2 {ε + a2 + b2 + c2}) is processed in step S312, a
一方、2{ε+a2+b2+c2}については、商演算する因子“1”が含まれていないので、ステップS306で、NOの判定がなされる。その結果、これらの因子は、ステップS307において、Φに設定され、削除される。その結果、再起呼び出し2で商演算の結果、式2として出力されるのは、1{ε+a1+b1+c1}となる。
On the other hand, for 2 {ε + a2 + b2 + c2}, the factor “1” for quotient calculation is not included, so NO is determined in step S306. As a result, these factors are set to Φ and deleted in step S307. As a result, 1 {ε + a1 + b1 + c1} is output as
さらに、再起呼び出し1では、ステップS313の処理で、項3に積演算されていたid{ε+A+B+C}と再起呼び出し2での商演算の結果である1{ε+a1+b1+c1}とが、積演算され、id{ε+A+B+C}(1{ε+a1+b1+c1})が、式2として出力される。
Further, in the
さらに、そして、再起呼び出し1の前に、項3に積演算されていたcellと、再起呼び出し1による商演算の結果が積演算され、数3が式2として、最終的に出力されることになる。
Further, before the
次に、図6Aにより、剰余を求める処理(サブルーチン2)を説明する。サブルーチン2を実行するCPU13が剰余演算部に相当する。サブルーチン2は、商演算される式である式1、商演算する因子pを入力され、剰余の式3を出力する。
Next, referring to FIG. 6A, a process for obtaining a remainder (subroutine 2) will be described. The
まずステップS321では、商演算処理が実行される前の所定の表現形式によって表現される式1(“商演算される式”)、および商演算する因子(同値関係示す因子p)が入力される。以下、図5Aの場合と同様、数2により表現される対象情報が入力された場合について説明する。また、1を商演算する因子(同値関係p)と設定する。
First, in step S321, Expression 1 (“Expression to be quotient-calculated”) expressed in a predetermined expression format before the quotient calculation process is executed, and a factor for quotient calculation (factor p indicating equivalence relation) are input. . Hereinafter, as in the case of FIG. 5A, the case where the target information expressed by
次に、ステップS322では、CPU13は、演算後の式(ここでは、式3と呼ぶ)を初期化する。このとき、式3の値は、Φ(空、または0)になる。
Next, in step S322, the
次に、ステップS323では、CPU13は、式1の長さが0であるか否かを判定する
。式1の長さが0である場合、CPU13は、サブルーチン2の処理を終了する。
Next, in step S323, the
一方、ステップS323の判定において、式1の長さが0でなかった場合、CPU13は、ステップS324に処理を進める。そして、CPU13は、ステップS324において、式1から始めの項(以下、項1という)を取得する。さらに、ステップS325において、CPU13は、式1から項1を削除する。
On the other hand, if the length of
次に、ステップS326において、CPU13は、演算後の項(以下、項4と呼ぶ)を初期化する。このとき、項4の値は、Φ(空、または0)になる。
Next, in step S326, the
次に、ステップS327において、CPU13は、項1の長さが0であるか否かを判定する。そして、項1の長さが0でない場合、CPU13は、ステップS328に処理を進める。そして、ステップS328において、CPU1は、項1から始めの因子(因子1)を取得する。さらに、ステップS329において、CPU13は、項1から因子1を削除する。
Next, in step S327, the
次に、ステップS330において、CPU13は、因子1が因子pと等しいか否かを判定する。そして因子1が因子pと等しい場合、ステップS331において、CPU13は、因子1をΦ(空、または0)にする。
Next, in step S330, the
次に、ステップS332において、CPU13は、因子1が第1の括弧“(”と“)”とによって形成された因子であるとき、その括弧内の式を式1に設定し、サブルーチン2を再帰呼び出しする。そして、その再帰呼び出しによる処理結果を因子1とする。この処理によって、商演算される式中で、“()”による因子を含む場合は、その因子は、()が外され、内の式から剰余(すなわち、因子pを含まない項)が抽出されることになる。
Next, in step S332, when the
さらに、ステップS333によって、CPU13は、項4に対し因子1を積演算し、結果を項4とする。この処理によって、因子1が商演算される因子pと異なる場合に、そのまま項3に積演算されることになる。また、因子1が()の形式の因子の場合に、()内から因子pを含まない項が取り出されることになる。そして、CPU13は、処理をステップS327に戻す。
Further, in step S333, the
ステップS327の判定で、項1の長さが0となった場合、CPU13は、処理をステップS334に進める。そして、CPU13は、ステップS334において、式3(剰余項)に対して、得られている項4を和演算する。その後、CPU13は、処理をステップS323に戻す。
If it is determined in step S327 that the length of
そして、ステップS323の判定で、式1の長さが0になると、CPU13は、サブルーチン2の処理を終了する。このような処理により、式3に、以下の数4の式表現が剰余として出力され、アプリケーションプログラムに引き渡される。
When the length of
cell(id{ε+A+B+C}(Φ+2{ε+a2+b2+c2}))・・(数4) cell (id {ε + A + B + C} (Φ + 2 {ε + a2 + b2 + c2})) (Equation 4)
図6Bおよび図6Cに、数2の式表現に対して、サブルーチン2が実行された場合の式1、項1、項4、因子1、および式3の変化を示す。図6Bおよび図6Cの第1行目は、各列の要素、すなわち、図6A中の該当する処理を示す番号、式1、項1、項、項4、因子1、および式3を示している。第2行以下の各行は、一連の処理ステップであり、図6Bの表の上から下へ、さらに、図6Cの表の上から下へ実行される。
6B and 6C show changes in
そして、まず、ステップS321で、共通関数へのパラメータを介して、式1である数2が入力され、メモリ12に保持される。
First, in step S321, the
項1、因子1および項4に着目すると、これらのうち、“cell”および、id{ε+A+B+C}(1{ε+a1+b1+c1}+2{ε+a2+b2+c2})が順次サブルーチン2で処理されることが分かる。
Focusing on the
さらに、id{ε+A+B+C}(1{ε+a1+b1+c1}+2{ε+a2+b2+c2})が因子1としてステップS332で処理されるときに、再起呼び出しが発生する。そして、同様に、“id”、{ε+A+B+C}、および(1{ε+a1+b1+c1}+2{ε+a2+b2+c2})がサブルーチン2の再起呼び出し1で処理される。
Furthermore, when id {ε + A + B + C} (1 {ε + a1 + b1 + c1} +2 {ε + a2 + b2 + c2}) is processed as
さらに、(1{ε+a1+b1+c1}+2{ε+a2+b2+c2})が、ステップS332で処理されるときに、再起呼び出し2が発生する。そして、1{ε+a1+b1+c1}については、商演算する因子“1”が含まれているので、ステップS330で、YESの判定がなされる。そして、ステップS331によって、因子1にΦに設定され、因子1を含む項1全体がΦとなり、削除される。
Further, when (1 {ε + a1 + b1 + c1} +2 {ε + a2 + b2 + c2}) is processed in step S332, a
一方、2{ε+a2+b2+c2}については、商演算する因子“1”が含まれていないので、ステップS330で、それぞれの因子1について、NOの判定がなされる。その結果、これらの因子は、ステップS333において、項4に積演算される。その結果、再起呼び出し2の剰余演算の結果、式3として出力されるのは、2{Φ+a1+b1+c1}となる。
On the other hand, for 2 {ε + a2 + b2 + c2}, the factor “1” to be quotient-calculated is not included, so NO is determined for each
さらに、再起呼び出し1では、ステップS333の処理で、項4に積演算されていたid{ε+A+B+C}と再起呼び出し2での商演算の結果である2{Φ+a1+b1+c1}とが、積演算され、id{ε+A+B+C}(2{Φ+a1+b1+c1})が、式3として出力される。
Further, in the
さらに、そして、再起呼び出し1の前に、項4に積演算されていたcellと、再起呼び出し1による商演算の結果が積演算され、数4が式3として、最終的に出力されることになる。
Further, before the
(2)部分集合取得処理
部分集合取得処理は、集合から、指定された因子(以下、指定因子という)を有する項を含む式(部分集合)と、指定因子を有しない項の式(部分集合)に分離する処理である。この処理を実行するCPU13が、部分集合形成部に相当する。ただし、本実施形態では、指定因子(今pとする)を有する項が複数個存在する場合には、{左因子1+左因子2+・・・}p{左因子1が含まれていた項の右因子+左因子2が含まれていた項の右因子+・・・}+因子pを含まない部分集合の和のように、指定された因子pで括り出す。このように、部分集合取得処理の括り出しでは、括り出し前の各項において、指定因子pの左側に結合する因子(左因子と呼ぶ)と、指因子pの右側に結合する因子(右因子と呼ぶ)とをそれぞれ、第2の{}内に和演算する。そして、左因子の和は、第2の{}によって括られ、その順序を維持して、指定された因子の左側に結合される。
(2) Subset acquisition process The subset acquisition process is an expression (subset) including a term having a designated factor (hereinafter referred to as a designated factor) and an expression (subset) of a term having no designated factor. ). The
また、右因子の和は、第2の{}によって括られ、その順序を維持して、指定された因子の右側に結合される。さらに、同一の左因子に対して、異なる右因子を有する項が複数存在する場合、それらの右因子は、第1の括弧“()”で括り出される。この場合、左因子は、集合情報の識別情報として機能する。例えば、
a1×b×c1+a1×b×c2+a2×b×c1+a2×b×c2+a3×b×c3+
a×u×vという式表現に対して、因子bを指定因子として部分集合取得演算を実行すると、
{a1+a2+a3}b{(c1+c2)+(c1+c2)+c3}+a×u×v
となる。この場合、右因子の列は、それぞれ、集合IDがa1の集合の部分集合b(c1+c2)、集合IDがa2の集合の部分集合b(c1+c2)、集合IDがa3の集合の部分集合b×c3を表している。
Also, the right factor sum is bounded by the second {} and is joined to the right side of the specified factor, maintaining its order. Further, when there are a plurality of terms having different right factors for the same left factor, the right factors are enclosed in the first parenthesis “()”. In this case, the left factor functions as identification information for the set information. For example,
a1 * b * c1 + a1 * b * c2 + a2 * b * c1 + a2 * b * c2 + a3 * b * c3 +
When a subset acquisition operation is performed on the expression a × u × v using the factor b as a designated factor,
{A1 + a2 + a3} b {(c1 + c2) + (c1 + c2) + c3} + a × u × v
It becomes. In this case, the right factor column includes a subset b (c1 + c2) of a set with set ID a1, a subset b (c1 + c2) of a set with set ID a2, and a subset b × of a set with set ID a3. c3 is represented.
さらに、部分集合取得処理の対象となる項に、第1の括弧“()”または第2の括弧“{}”が含まれている場合には、これらの括弧内の式表現に対して、再起的に部分集合取得処理が実行される。したがって、第1の括弧“()”または第2の括弧“{}”で括られた個々の括弧内で、部分集合取得処理が実行される。 Further, when the first parenthesis “()” or the second parenthesis “{}” is included in the item to be subjected to the subset acquisition process, for the expression expression in these parentheses, The subset acquisition process is executed again. Therefore, the subset acquisition process is executed within each parenthesis enclosed by the first parenthesis “()” or the second parenthesis “{}”.
部分集合取得処理のアプリケーションインターフェースは、例えば、部分集合取得後の式表現は、戻り値=separate(部分集合取得前の式表現、指定因子);のように定義できる。対象の式、因子を指定すると、括った後の式(戻り値)となる。 The application interface of the subset acquisition process can be defined, for example, as an expression expression after acquiring the subset: return value = separate (expression expression before acquiring the subset, designated factor). When the target formula and factor are specified, the formula (return value) after wrapping is obtained.
次に部分集合取得処理について説明する。図7は、部分集合取得処理を実行する処理のフローを示す。ステップS501では、演算前の所定の表現形式で表現される対象情報と、部分集合を指定するための指定因子pを入力する。以下、対象情報として数5に示すデータを用いて、指定因子“p”で部分集合を取得する場合について説明する。
Next, the subset acquisition process will be described. FIG. 7 shows a flow of processing for executing the subset acquisition processing. In step S501, target information expressed in a predetermined expression format before calculation and a designation factor p for designating a subset are input. Hereinafter, a case where a subset is acquired with the designated factor “p” using the data shown in
s×p(p1+p2)+t×p(p3+p4)+id(s×p(p1+p2)+t×p(p3+p4))・・・(数5) s × p (p1 + p2) + t × p (p3 + p4) + id (s × p (p1 + p2) + t × p (p3 + p4)) (Equation 5)
ステップS502では、部分集合を取得するための因子以外(ここでは、「その他の式」「左因子式」および「右因子式」)をΦと設定する。ステップS503では「処理後の項」をεに設定する。ステップS504では、対象情報を構成する式の長さが0であるかを判断する。すなわち、対象情報が存在するか否かを判断する。式の長さが0であると判断した場合には、ステップS517へ進む。一方、式の長さが0であると判断しなかった場合には、ステップS505へ進む。 In step S502, Φ other than the factors for acquiring the subset (here, “other formulas”, “left factor formulas”, and “right factor formulas”) is set. In step S503, “term after processing” is set to ε. In step S504, it is determined whether the length of the expression constituting the target information is zero. That is, it is determined whether target information exists. If it is determined that the length of the expression is 0, the process proceeds to step S517. On the other hand, if it is not determined that the length of the expression is 0, the process proceeds to step S505.
ステップS505では、数5から第一項を取得し保存する。次にステップS506では、数5から第一項を削除する。次にステップS507では、取得した項に因子pが含まれるか判断する。取得した項に因子pが含まれると判断した場合にはステップS515へ進む。一方、取得した項に因子pが含まれると判断しなかった場合には、ステップS508へ進む。
In step S505, the first term is acquired from
ステップS508では、項の長さが0であるか否かを判断する。項の長さが0であると判断した場合にはステップS514へ進む。一方、項の長さが0であると判断しなかった場合には、項から第一因子を取得し、これを保存し(ステップS509)、次に項から第一因子を削除する(ステップS510)。 In step S508, it is determined whether the term length is zero. If it is determined that the term length is 0, the process proceeds to step S514. On the other hand, if it is not determined that the term length is 0, the first factor is acquired from the term, stored (step S509), and then the first factor is deleted from the term (step S510). ).
次にステップS511では、第一因子が第一の括弧または第二の括弧で括られているか判断する。因子が第一の括弧または第二の括弧で括られていると判断した場合には、第一の括弧または第二の括弧で括られている式に対して、本部分集合取得処理を実行する(ステップS512)。すなわち、再起呼び出しを実行する。一方、第一の括弧または第二の括弧で括られていると判断しなかった場合には、第一因子を取得した因子とし(S520)、ステップS513へ進む。ステップS513では、処理後の項に取得した因子によって積演算処理を実行し、その結果を処理後の項とし、ステップS508の処理を再度実行する。 Next, in step S511, it is determined whether the first factor is enclosed in the first parenthesis or the second parenthesis. If it is determined that the factor is enclosed in the first or second parenthesis, this subset acquisition process is executed for the expression enclosed in the first or second parenthesis (Step S512). That is, a restart call is executed. On the other hand, if it is not determined that the first parenthesis or the second parenthesis surrounds, the first factor is determined as the acquired factor (S520), and the process proceeds to step S513. In step S513, product operation processing is executed using the factors acquired in the processed term, the result is used as the processed term, and the processing in step S508 is executed again.
ステップS508において、項の長さが0であると判断した場合には、その他の式に処理後の項を和演算処理し、その結果をその他の式とする(ステップS514)。ステップS514の処理を実行後、再度ステップS503の処理を実行する。次にステップS504において式の長さが0であると判断した場合には、部分集合の項として{左因子式}p{右因子式}を作成し(ステップS517)、その他の式に部分集合項を和演算し,演算後の式とし(ステップS518)、処理を終了する。以上の処理を実行することにより、数5により表現される対象情報は、数6により表現される対象情報となる。なお、部分集合取得処理を実行中の対象情報の状態の詳細は図8A、図8Bに示す。
If it is determined in step S508 that the term length is 0, the processed term is summed with other equations, and the result is used as another equation (step S514). After executing the process of step S514, the process of step S503 is executed again. Next, when it is determined in step S504 that the length of the expression is 0, {left factor expression} p {right factor expression} is created as a term of the subset (step S517), and the subset is set to other expressions. The terms are summed to obtain a formula after the computation (step S518), and the process is terminated. By executing the above processing, the target information expressed by
id({s+t}p{(p1+p2)+(p3+p4)})+{s+t}p{(p1+p2)+(p3+p4)}・・・(数6) id ({s + t} p {(p1 + p2) + (p3 + p4)}) + {s + t} p {(p1 + p2) + (p3 + p4)} (Equation 6)
図8Aおよび図8Bに、数5の式表現に対して、部分集合取得処理が実行された場合の「演算前の式」、「部分集合取得のための因子」、「左因子式」、「右因子式」、「左因子」、「右因子」「その他の式」、「取得した項」、「取得した因子」、「処理後の項」、「部分集合項」および「演算後の式」の変化を示す。図8Aの各行と、図8Bの各行は、図7の処理での同一の処理を示している。すなわち、図8Aおよび図8Bを横に接続して、部分集合取得処理の状態変化が表されることになる。 8A and 8B, “formula before operation”, “factor for obtaining subset”, “left factor formula”, “ "Right factor expression", "Left factor", "Right factor", "Other expressions", "Obtained term", "Obtained factor", "Processed term", "Subset term" and "Calculated expression" ”Is shown. Each row in FIG. 8A and each row in FIG. 8B show the same processing in the processing in FIG. That is, FIG. 8A and FIG. 8B are connected horizontally, and the state change of a subset acquisition process is represented.
図8Aおよび図8Bの第1行目は、各列の要素、すなわち、図7中の該当する処理を示す番号、「その他の式」、「取得した項」、「取得した因子」、「処理後の項」、「部分集合項」および「演算後の式」を示している。第2行以下の各行は、一連の処理ステップであり、図8Aおよび図8Bの表の上から下へ実行される。以下、フローチャートの処理(ボックス)を処理(ボックス)に付された符号で、単に、S505のように呼称する。 The first row of FIG. 8A and FIG. 8B shows the elements of each column, that is, the numbers indicating the corresponding processing in FIG. 7, “other formulas”, “acquired terms”, “acquired factors”, “processing” “Term after”, “Subset term” and “Expression after operation” are shown. Each row after the second row is a series of processing steps, and is executed from the top to the bottom of the tables of FIGS. 8A and 8B. Hereinafter, the process (box) of the flowchart is a code attached to the process (box) and is simply referred to as S505.
ここでは、数5の式表現を処理対象とする。部分集合取得処理を実行する共通関数separateに対して、まず、部分集合取得前の式表現である数5が与えられる。この式表現はメモリ12に格納される。また、指定因子はpであるとする。
Here, the expression expression of
まず、S505、S505の処理で、式から第一項s×p(p1+p2)が取得される。s×p(p1+p2)に指定因子pが含まれているので、S515およびS516が実行され、左因子sおよび右因子(p1+p2)がそれぞれ左因子式および右因子式に和演算される。 First, in the processes of S505 and S505, the first term s × p (p1 + p2) is acquired from the equation. Since the designated factor p is included in s × p (p1 + p2), S515 and S516 are executed, and the left factor s and the right factor (p1 + p2) are summed into the left factor equation and the right factor equation, respectively.
次に、S505、S506の処理で、式から第二項t×p(p3+p4)が取得される。t×p(p3+p4)に指定因子pが含まれているので、S515およびS516が実行され、左因子tおよび右因子(p3+p4)がそれぞれ左因子式および右因子式に和演算される。 Next, the second term t × p (p3 + p4) is acquired from the equation in the processes of S505 and S506. Since the designated factor p is included in t × p (p3 + p4), S515 and S516 are executed, and the left factor t and the right factor (p3 + p4) are summed into the left factor equation and the right factor equation, respectively.
さらに、S505、S506の処理で、式から第三項id(s×p(p1+p2)+t×p(p3+p4))が取得される。そして、S509において、第一因子としてidが取得される。項idは、S513にて、処理後の項に積演算される。さらに、S509において、第一項として、次の項(s×p(p1+p2)+t×p(p3+p4))が取得される。これは、S511の判定で、第1の括弧を含むとされるので、S512が実行される。 Furthermore, the third term id (s × p (p1 + p2) + t × p (p3 + p4)) is acquired from the expression in the processing of S505 and S506. In step S509, id is acquired as the first factor. The term id is subjected to product operation in S513 in the term after processing. Further, in S509, the next term (s × p (p1 + p2) + t × p (p3 + p4)) is acquired as the first term. Since this is determined to include the first parenthesis in the determination of S511, S512 is executed.
そして、式表現s×p(p1+p2)+t×p(p3+p4)に対して、部分集合取得処理が再起呼び出しで実行される。図8Aおよび図8Bでは、再起呼び出し中の状態は、省略されているので、本文にて説明する。この場合も、s×p(p1+p2)から、左因
子s、右因子(p1+p2)が取得される。また、t×p(p3+p4)から、左因子t、右因子(p3+p4)が取得される。これらの左因子および右因子は、S516において、それぞれ左因子式、および右因子式に和演算される。そして、式表現s×p(p1+p2)+t×p(p3+p4)の末尾まで処理が進み、S504で、残りの式の長さが0であると判定される。すると、CPU13は、部分集合の項として、{s+t}p{(p1+p2)+(p3+4)}を作成する。そして、CPU13は、部分集合の項を演算後の式として、再起呼び出しを終了する。
Then, the subset acquisition process is executed by re-calling the expression expression s × p (p1 + p2) + t × p (p3 + p4). In FIG. 8A and FIG. 8B, the state during the recall call is omitted and will be described in the text. Also in this case, the left factor s and the right factor (p1 + p2) are obtained from s × p (p1 + p2). Also, the left factor t and the right factor (p3 + p4) are obtained from t × p (p3 + p4). These left factor and right factor are summed into a left factor equation and a right factor equation, respectively, in S516. Then, the process proceeds to the end of the expression s × p (p1 + p2) + t × p (p3 + p4), and it is determined in S504 that the length of the remaining expressions is zero. Then, the
再起呼び出しを終了すると、演算後の式を取得するので、これを取得した因子とする。この場合、取得した因子は、({s+t}p{(p1+p2)+(p3+4)})である。そして、CPU13は、S513にて、再起呼び出し前に計算しておいた処理後の項(“id”が積演算されている)に、取得した因子を積演算する。その結果、S513において、処理後の項は、id({s+t}p{(p1+p2)+(p3+4)})となる。CPU13は、S514にて、処理後の項をその他の式として和演算する。
When the restart call ends, the calculated expression is acquired, and this is used as the acquired factor. In this case, the acquired factor is ({s + t} p {(p1 + p2) + (p3 + 4)}). In step S <b> 513, the
そして、S504にて、残りの式の長さが0であると判定されると、CPU13は、再起呼び出し前に作成していた左因子式s+tおよび右因子式(p1+p2)+P3+p4)から、部分集合の項{s+t}p{(p1+p2)+P3+p4)}を作成する。そして、CPU13は、S518にて、その他の式に部分集合の項を和演算する。これによって、演算後の式id({s+t}p{(p1+p2)+(p3+4)})+{s+t}p{(p1+p2)+P3+p4)}が作成されることになる。
If it is determined in S504 that the length of the remaining expression is 0, the
《第2実施形態》
以下、第2実施形態では、上記第1実施形態の情報処理装置を応用し、式表現を用いて事物に係る情報をメモリ12等の記憶装置に蓄積し、蓄積された式表現を基に、その事物に係る数値を計算する処理を実現する情報処理装置を例示する。
<< Second Embodiment >>
Hereinafter, in the second embodiment, the information processing apparatus of the first embodiment is applied, and information related to things is stored in a storage device such as the
(明示的な数値表現)
今、nを数値とし、aを数値以外の記号あるいは記号列とする。例えば、nは、整数を示す記号または記号の列である。また、aは、文字等を示す記号または記号の列である。式表現で、数値nと数値以外の記号aとが、naと記述された場合、naは、整数などの数値を示す記号と数値以外の記号とを組み合わせた識別子ということができる。
(Explicit numerical expression)
Now, let n be a numerical value and a be a symbol or symbol string other than a numerical value. For example, n is a symbol or symbol string indicating an integer. Further, a is a symbol or a string of symbols indicating characters or the like. In the expression, when the numerical value n and the symbol a other than the numerical value are described as na, na can be referred to as an identifier that combines a symbol indicating a numerical value such as an integer and a symbol other than the numerical value.
本実施形態では、情報処理装置は、このような数値を示す記号(列)と数値以外の記号(列)とを含む識別子”na”について、識別子aがn個あるものとして取り扱う。ただし、このような記述に代えて、識別子”an”について、識別子aがn個あるものとして取り扱う、と定義してもよい。なお、nは、負の数値も含む。また、数値を示す記号は、小数等の実数を示すものでもよい。例えば、識別子”an.m”、例えば、a1.005、b12345678.9については、情報処理装置は、aの量が1.005、bの量が12345678.9であるとして取り扱う。 In this embodiment, the information processing apparatus handles an identifier “na” including such a symbol (column) indicating a numerical value and a symbol (column) other than the numerical value as having n identifiers a. However, instead of such description, the identifier “an” may be defined as being handled as having n identifiers a. Note that n includes a negative numerical value. Further, the symbol indicating a numerical value may indicate a real number such as a decimal. For example, for the identifier “an.m”, for example, a1.005 and b12345678.9, the information processing apparatus treats the amount of a as 1.005 and the amount of b as 12345678.9.
さらに、aがn個あることを明示的に示す式表現として、a×'n'と記述することにする。さらにまた、nが負数である場合、例えば、―m(mは正数)の場合は、aב―m’のように例示される。なお、×は積演算子である。ここで、nを挟む''は、数値nを明示的に示す演算子であり、数値演算子と呼ぶ。また、数値演算子によって数値であることが明示された識別子'n'を数値識別子と呼ぶ。積演算子が数値演算子によって数値として明示された識別子に適用された場合、積演算子は乗算を示す。 Further, a × 'n' is described as an expression that explicitly indicates that there are n a's. Furthermore, when n is a negative number, for example, when −m (m is a positive number), it is exemplified as a × ‘−m’. Note that x is a product operator. Here, “with n” is an operator that explicitly indicates the numerical value n, and is called a numerical operator. In addition, an identifier “n” that is specified as a numerical value by a numerical operator is referred to as a numerical identifier. If the product operator is applied to an identifier specified as a number by a numeric operator, the product operator indicates multiplication.
ただし、数値を明示的に示す数値演算子が、''に限定される訳ではない。情報処理装置上で使用可能な記号から、他の演算子等と重複のないものを数値演算子として定義すれば
よい。例えば、数値をn!のように明示してよい。また、数値を$nのように明示してもよい。
However, the numerical operator that explicitly indicates the numerical value is not limited to ''. Any symbol that can be used on the information processing apparatus and that does not overlap with other operators may be defined as a numerical operator. For example, the value n! It may be specified as follows. Also, the numerical value may be specified as $ n.
また、数値を示す記号等を含まない識別子aだけを含む式表現についは、aが1個あることを明示的に示す式表現として、a×'1'と記述することにする。同様に、式表現(a+a+a)は、数値を明示的に示す式表現として、(a×'1'+a×'1'+a×'1')と記
述する。同様に、式表現{a+a+a}は、数値を明示的に示す式表現として、{a×'1'+a×'1'+a×'1'}と記述する。
In addition, an expression including only an identifier a that does not include a symbol or the like indicating a numerical value is described as a × '1' as an expression that explicitly indicates that there is one a. Similarly, the expression (a + a + a) is described as (a × '1' + a × '1' + a × '1') as an expression that explicitly indicates a numerical value. Similarly, the expression {a + a + a} is described as {a × '1' + a × '1' + a × '1'} as an expression that explicitly indicates a numerical value.
さらに、例えば、式表現2a(3b+c(2d+3e+4f+e))は、数値を明示的に示す式表現として、a×'2'×(b×'3'+c×'1'×(d×'2'+e×'3'+f×'
4'+e×'1'))のように記述される。ただし、×'1'は、省略してもよい。つまり、識別子aは、明示的にaが1個あるものとして0取り扱うことができる。
Further, for example, the expression 2a (3b + c (2d + 3e + 4f + e)) is expressed as an expression that explicitly indicates a numerical value as a × '2' × (b × '3' + c × '1' × (d × '2' + e). × '3' + f × '
4 '+ e ×' 1 ')). However, x'1 'may be omitted. In other words, the identifier a can be handled as 0 with an explicit a.
数値を明示的に示す式表現では、数値以外の識別子による因子と、数値識別子による因子の間は、式表現の代数的構造で示した可換律が適用される。例えば、a×'n'='n'×aである。 In an expression expression that explicitly indicates a numerical value, the commutative law indicated by the algebraic structure of the expression expression is applied between a factor based on an identifier other than a numerical value and a factor based on a numerical identifier. For example, a × 'n' = 'n' × a.
(数値計算処理)
数値を明示的に示す式表現において、四則演算、べき乗等の演算は、以下のように処理される。以下、数値を明示的に示す式表現を代数演算式と呼ぶ。
(Numerical calculation processing)
In formula expressions that explicitly indicate numerical values, arithmetic operations such as four arithmetic operations and exponentiation are processed as follows. Hereinafter, an expression that explicitly indicates a numerical value is referred to as an algebraic operation expression.
(1)乗算
積演算子で結合される複数の因子中の2以上の因子が数値演算子によって数値として明示されている式表現を考える。このような式表現については、本情報処理装置は、数値演算子によって数値として明示されている因子間の乗算を実行する。例えば、a×'1'×b×'m'=a×b×'1×m'となる。ここで、'1×m'は、数1と数mを乗算した積である。具体的には、a×'2'×b×'4'=a×b×'8'である。また、例えば、a×'0'=φである。
(1) Multiplication Consider an expression expression in which two or more factors among a plurality of factors connected by a product operator are explicitly expressed as numerical values by a numerical operator. For such an expression, the information processing apparatus performs multiplication between factors that are specified as numerical values by numerical operators. For example, a × '1' × b × 'm' = a × b × '1 × m'. Here, “1 × m” is a product obtained by multiplying the
(2)べき乗と除算
以下にべき乗と除算を例示する。べき乗は、同一の数を複数回掛ける演算、あるいは、その演算結果をいう。本情報処理装置では、べき乗は、”底を示す識別子M×^指数を示す識別子n”という形式で記述する。例えば、a×a×a=a×^'3'である。識別子aのn乗は、a×^'n'で表す。つまり、この場合には、”×^”がべき乗を示す予約語となる。ただし、べき乗が、このような記述形式に限定されるわけではない。この例では、”×^”が指数演算子に相当する。なお、べき乗の底(上記識別子M)および指数部分(上記識別子n)の一方または両方が、小数等の実数であってもよい。
(2) Power and division Examples of power and division are given below. The power is an operation of multiplying the same number a plurality of times, or an operation result thereof. In the information processing apparatus, the power is described in the format of “an identifier M indicating the base × an identifier n indicating the exponent”. For example, a * a * a = a * ^ '3'. The nth power of the identifier a is represented by a × ^ 'n'. That is, in this case, “× ^” is a reserved word indicating a power. However, the power is not limited to such a description format. In this example, “× ^” corresponds to the exponent operator. One or both of the power base (the identifier M) and the exponent part (the identifier n) may be real numbers such as decimal numbers.
例えば、識別子aのn乗をa**'n'のように表してもよい。この場合には、”**”がべき乗を示す予約語となる。また、識別子aのn乗をa×E'n'のように表してもよい。この場合には、”×E”がべき乗を示す予約語となる。以下、べき乗の記述例、およびべき乗を含む除算を例示する。
a×^'0'='1'
(a×b)×^'0'='1'
/(a×a×a)=a×^'−3'
同様に、aのマイナスn乗は、a×^'−n'で表す。一方、/'0'はエラーである。さらに、除算記号で、分母分子として関係付けられる2つの式表現中で、互いに共通の因子(識別子)は削除可能である。この場合の共通の因子(識別子)については、いわゆる約分が実行される。識別子の削除は、例えば、a×c/a=cのように示される。
For example, the nth power of the identifier a may be expressed as a ** 'n'. In this case, “**” is a reserved word indicating a power. In addition, the nth power of the identifier a may be expressed as a × E′n ′. In this case, “× E” is a reserved word indicating a power. Hereinafter, a description example of a power and a division including a power will be exemplified.
a × ^ '0' = '1'
(A × b) × ^ '0' = '1'
/ (A * a * a) = a * ^ '-3'
Similarly, a to the power of minus n is represented by a × ^ ′ − n ′. On the other hand, / '0' is an error. Furthermore, a factor (identifier) common to each other can be deleted in two expression expressions related as a denominator by a division symbol. For the common factor (identifier) in this case, so-called reduction is performed. The deletion of the identifier is indicated as a × c / a = c, for example.
(3)加算
和演算子で構成される項の組み合わせ中に、数値演算子で数値として明示されている因子以外の因子が共通する複数の項については、本情報処理装置は、数値演算子で数値として明示されている因子を加算する。以下に、演算結果を例示する。
(a×'1'+a×'m')=a×'(1+m)'
(a×'2'+a×'4')=a×'6'
(a×'1'+b×'m')は、これ以上加算できない。
(a+a+c)=(a×'1'+a×'1'+c×'1')=(a×'2'+c×'1')
なお、第2の括弧”{}”内の複数の式表現同士は、加算できない。例えば、{a+a+c}の{}内のaとaの加算はできない。ただし、第2の括弧”{}”を和演算子で組み合わせた式表現において、{}内の位置が同一位置の式表現同士の加算は可能である。例えば、{a+a+c}+{a+b+c}={(a+a)+(a+b)+(c+c)}={(a×'1'+a×'1')+(a×'1'+b×'1')+(c×'1'+c×'1')}={a×'2'+(a×'1'+b×'1')+c×'2'}
さらに、減算は、数値に負数を用いることで、加算を用いて、実現できる。以下に負の数値の加算を例示する。
(a×'1'+a×'−m')=a×'(1−m)'
(a×'2'+a×'−4')=a×'−2'
(a+a×−1+c)=(a×'1'+a×'−1'+c×'1')=c×'1'
(3) Addition For a plurality of terms that share factors other than factors explicitly specified as numerical values by numerical operators in a combination of terms composed of sum operators, this information processing apparatus uses numerical operators. Add the factors specified as numbers. In the following, calculation results are exemplified.
(A × '1' + a × 'm') = a × '(1 + m)'
(A × '2' + a × '4') = a × '6'
(A × '1' + b × 'm') cannot be added any further.
(A + a + c) = (a × '1' + a × '1' + c × '1') = (a × '2' + c × '1')
A plurality of expression expressions within the second parenthesis “{}” cannot be added. For example, a and a in {} of {a + a + c} cannot be added. However, in the expression expression in which the second parentheses “{}” are combined with the sum operator, the expression expressions having the same position in {} can be added. For example, {a + a + c} + {a + b + c} = {(a + a) + (a + b) + (c + c)} = {(a × '1' + a × '1') + (a × '1' + b × '1') + (C × '1' + c × '1')} = {a × '2' + (a × '1' + b × '1') + c × '2'}
Furthermore, subtraction can be realized using addition by using a negative number for the numerical value. The following is an example of adding a negative numerical value.
(A × '1' + a × '-m') = a × '(1-m)'
(A × '2' + a × '-4') = a × '-2'
(A + a * -1 + c) = (a * '1' + a * '-1' + c * '1') = c * '1'
(ハードウェア構成)
次に、本実施形態に係る情報処理装置200の構成例について説明する。
(Hardware configuration)
Next, a configuration example of the
図9は、情報処理装置200のハードウェア構成を例示する図である。情報処理装置200は、コンピュータプログラムを実行し、情報処理装置200の機能を提供するCPU13と、CPU13で実行されるプログラム、あるいは、CPU13が処理するデータを格納するメモリ12と、インターフェース15を介してCPU13に接続される入力部11と、インターフェース16を介してCPU13に接続される出力部14とを有する。さらに、情報処理装置200は、インターフェース31を介してCPU13に接続される通信部32と、インターフェース33を介してCPU13に接続される外部記憶装置34と、インターフェース35を介してCPU13に接続される着脱可能な記憶媒体アクセス装置36とを有する。
FIG. 9 is a diagram illustrating a hardware configuration of the
CPU13と、メモリ12および各インターフェース15、16、31、33、および35は、通常、CPU13の内部バスに接続される。インターフェース15は、一般的には、USB等のシリアルインターフェースである。入力部11は、キーボード、あるいは、マウス等のポインティングデバイスである。ポインティングデバイスは、機械的手段、光学的手段、または、静電容量でユーザの操作を検知するものでもよい。また、ポインティングデバイスとして、タッチパネルを用いてもよい。さらに、入力装置11としてスキャナを用いてもよい。
The
インターフェース16は、例えば、アナログのRGB(赤緑青)の指定を含むインターフェースである。ただし、インターフェース16は、シリアルまたはパラレルのデジタル信号インターフェースでもよい。例えば、IEEE1349、USB、DVI(Digital Visual Interface) 、HDM(High Definition Multimedia Interface) 等でもよい。出力部14は、例えば、液晶ディスプレイ、プリンタ等である。
The
インターフェース31、33、および35は、USB等のシリアルインターフェース、SCSI(Small Computer System Interface)、IDE(Integrated Drive Electronic
s)等のパラレルインターフェースである。通信部32は、Ethernet(登録商標)等のL
AN基板である。
s). The
AN substrate.
このような情報処理装置の具体的な例としては、パーソナルコンピュータを例示できる。また、このような情報処理装置は、クライアント装置とサーバ装置を用いても構成できる。そして、サーバ装置としては、JSP1.4(登録商標)、ウェブサーバにはTomcat(登録商標)5.0を含むコンピュータを例示できる。クライアント装置とサーバ装置は同一種類
のパーソナルコンピュータで実現してもよい。情報処理装置200の機能は、CPU13がプログラムを実行することで実現される。このプログラムは、メモリ13あるいは外部記憶装置34にインストールされる。プログラムは、通信部32を通じてネットワークから、あるいは、着脱可能な記憶媒体からインストールされる。したがって、このプログラムは、ネットワークあるいは着脱可能な記憶媒体等を通じて流通される。
A specific example of such an information processing apparatus is a personal computer. Such an information processing apparatus can also be configured using a client apparatus and a server apparatus. Examples of the server device include JSP1.4 (registered trademark), and the web server includes a computer including Tomcat (registered trademark) 5.0. The client device and the server device may be realized by the same type of personal computer. The functions of the
図10は、第2実施形態に係る情報処理装置200の機能ブロックを例示する図である。情報処理装置200のCPU13は、例えば、メモリ12に実行可能に記憶された命令列を含むコンピュータプログラムを実行し、各機能ブロックの処理を実現する。
FIG. 10 is a diagram illustrating functional blocks of the
図10は、情報処理装置200の機能が、例えば、入力部11と、出力部14と、処理部40と、通信部32と、外部記憶装置34等によって実現できることを示している。処理部40は、図10に示した、CPU13、メモリ12を含む。また、外部記憶装置34は、処理部40で処理されるデータ、あるいは、処理部40で実行されるコンピュータプログラムAP1等を格納する。なお、情報処理装置200は、図10の構成のうち、少なくとも処理部40に相当するCPU13およびメモリ12を有していればよく、他の構成は適宜設ければよい。
FIG. 10 shows that the functions of the
処理部40は、アプリケーションプログラムAP1、共通関数ライブラリ46、データ部45を含む。なお、ここでは、図9のメモリ12がデータ部45の例である。
The
情報処理装置200のCPU13は、アプリケーションプログラムAP1を実行し、情報処理装置200の機能を提供する。例えば、情報処理装置200は、入力部11、通信部32等からデータの入力を受け付け、加工し、データ部45に格納する。そして、情報処理装置200は、出力部14、あるいは通信部32に接続されるネットワーク上の他の装置にデータを出力する処理を実行する。以下、情報処理装置200のCPU13がアプリケーションプログラムAP1を実行し、処理を行う場合に、単に、アプリケーションプログラムAP1が処理を行うものとして説明する。
The
例えば、アプリケーションプログラムAP1は、出力部14に、ユーザインターフェース画面を表示する。そして、アプリケーションプログラムAP1は、入力部11からのユーザ操作を検出し、情報処理装置200にそのユーザ操作に対応した指令を処理部40のプログラムあるいはハードウェア等に送る。ここで、検出されるユーザ操作は、例えば、各種入力欄へのユーザ入力データの検出、各種ボタンの押下、メニューの選択、コマンドの入力等である。
For example, the application program AP1 displays a user interface screen on the
さらに、アプリケーションプログラムAP1は、出力部14に表示されたユーザインターフェース画面を通じて、ユーザからの式表現の定義、代数演算式の定義等を受け取り、データ部45に格納する。ただし、式表現の定義、代数演算式の定義等は、テキストエディタ等から入力されることもある。また、例えば、情報処理装置200は、入力部11として、スキャナを接続し、紙面上の式表現の定義、代数演算式等を入力してもよい。また、情報処理装置200は、通信部32を通じて、ネットワーク上の他のコンピュータ等から、式表現の定義、代数演算式等を入力してもよい。また、情報処理装置200は、通信
部32を通じて、ネットワーク上の他のコンピュータ等に、ユーザインターフェース画面を表示してもよい。以上のように、情報処理装置200は、入力部11、出力部14を設けることなく、通信部32を入力部11、出力部14の代わりとして用いてもよい。
Further, the application program AP1 receives the definition of the expression expression from the user, the definition of the algebraic arithmetic expression, and the like through the user interface screen displayed on the
さらにまた、アプリケーションプログラムAP1は、出力部14に表示されたユーザインターフェース画面を通じて、ユーザから特定の識別子(例えば、集合ID、トポロジーID等)の指定を受け取る。そして、アプリケーションプログラムAP1は、は、その識別子によって、ユーザが指定した式表現中から、その指定された識別子を含む式表現を抽出する。この処理は、例えば、基本システムで説明した商演算、あるいは、部分集合取得処理により実行される。そして、アプリケーションプログラムAP1は、その指定された識別子を含む式表現に対して種々の演算、例えば、数値計算処理を実行する。数値計算処理は、例えば、通常の四則演算、べき乗の処理等である。
Furthermore, the application program AP1 receives a designation of a specific identifier (for example, set ID, topology ID, etc.) from the user through the user interface screen displayed on the
以上のように、本実施形態では、情報処理装置200の主要な機能はCPU13で実行されるコンピュータプログラム、あるいはCPU11と連携する専用ハードウェア回路として実現される。ただし、入力部11、出力部14、処理部40、アプリケーションプログラムAP1その他、図10に示した構成要素は、例えば、それぞれユニット(Unit)という用語で記述してもよい。ここでユニットとは、モジュールあるいはテーブル等を含み、以下のソフトウェアの構成要素(Component)、または、ハードウェアの構成要素(Component)によって実現される。ただし、ユニットが、以下の例に限定されるわけではない。
As described above, in the present embodiment, the main functions of the
すなわち、ユニットは、例えば、フィールド・プログラマブル・ゲートウェイ(FPGA)、特定用途向け集積回路(ASIC)、ゲートアレイ、論理ゲートの組み合わせ、信号処理回路、アナログ回路、その他の回路網等であって、上記それぞれの構成要素の機能を実現するものを含む。 That is, the unit is, for example, a field programmable gateway (FPGA), an application specific integrated circuit (ASIC), a gate array, a combination of logic gates, a signal processing circuit, an analog circuit, other circuit networks, etc. Includes those that implement the function of each component.
ソフトウェアのユニット、例えば、ソフトウェアモジュールは、例えば、ソフトウェア部品、手続き型言語による部品、オブジェクト指向ソフトウェア部品、クラス部品、タスクとして管理される部品、プロセスとして管理される部品、関数、属性、手続き(プロシジャともいう)、サブルーチン(ソフトウェアルーチンともいう)、プログラムコードの断片・部分、ドライバ、ファームウェア、マイクロコード、データ、データベース、データ構造、テーブル、配列、変数、パラメータ等の構成要素を含む。さらに、これらの構成要素は、1または複数のCPU(Central Processing Unit)、あるいはDSP(Digital Signal Processor)等の処理装置上で実現される。 A software unit, for example, a software module is, for example, a software component, a component in a procedural language, an object-oriented software component, a class component, a component managed as a task, a component managed as a process, a function, an attribute, or a procedure (procedure). Also, it includes components such as subroutines (also referred to as software routines), program code fragments and portions, drivers, firmware, microcode, data, databases, data structures, tables, arrays, variables, parameters, and the like. Further, these components are realized on a processing device such as one or a plurality of CPUs (Central Processing Units) or DSPs (Digital Signal Processors).
ソフトウェアのユニットは、C言語、C++、Java(登録商標)、Visual
Basic(登録商標)または他の多くの言語で記述できる。これらのソフトウェアのユニットは、1または複数の機械(あるいはコンピュータ)読み取り可能な記憶装置、例えば、ダイナミック・ランダム・アクセス・メモリ(DRAM)、スタティック・ランダム・アクセス・メモリ(SRAM)、消去およびプログラム可能なリード・オンリー・メモリ(EEPROMs)、フラッシュメモリ、およびこれらいずれかのメモリを含むメモリカード、磁気ディスク、例えば、ハードディスク、フレキシブルディスク(フロッピー(登録商標)等)、および他の着脱可能なディスク媒体、他の磁気媒体、例えば、テープ、光媒体、例えば、コンパクトディスク(CD)、DVD(Digital Vide Disk,Digital Versatile Disk)、ブルーレイディスク等に格納できる。ただし、ソフトウェアのユニットに含まれる命令は、有線ネットワークカードと有線ネットワーク、あるいは無線カードと無線ネットワークを通じて情報処理装置200で例示される機械、あるいは装置に転送あるいはローディングし、実行できる。そのような転送処理、あるいは、ローディング処理において、データ信号は例えば搬送波に組み込ま
れ(embodied as carrier waves)、有線あるいは無線ネットワークを転送される。ただ
し、データ信号が搬送波によらず、いわゆるベースバンド信号のまま転送される場合もある。
Software units are C, C ++, Java (registered trademark), Visual
Can be written in Basic® or many other languages. These software units are one or more machine (or computer) readable storage devices such as dynamic random access memory (DRAM), static random access memory (SRAM), erasable and programmable Read-only memory (EEPROMs), flash memory, and memory cards, magnetic disks such as hard disks, flexible disks (floppy, etc.), and other removable disk media including any of these memories And can be stored on other magnetic media such as tape, optical media such as compact disc (CD), DVD (Digital Video Disk, Digital Versatile Disc), Blu-ray disc, etc. . However, the instructions included in the software unit can be transferred or loaded to a machine or apparatus exemplified by the
以上のような機能を実現するプログラム、命令コード、コードセグメントは、本技術分野の通常のプログラマであれば構成できる。また、上記機能を実現する電気回路網は、本技術分野の通常の回路技術者であれば構成できる。 The program, instruction code, and code segment for realizing the functions as described above can be configured by ordinary programmers in this technical field. An electric circuit network for realizing the above functions can be configured by a normal circuit engineer in this technical field.
(数値処理フロー)
以下、本情報処理装置200が実行する数値処理フローを例示する。図11は、数値因子を明示的に表示しない式表現から数値因子を明示的に表示した式表現である代数演算式に変換する数値因子化処理を例示する図である。以下、例示するフローチャートは、例えば、情報処理装置200のCPU13が、メモリ12に格納されたコンピュータプログラムにより実行する。ただし、以下に述べる処理の少なくとも一部は、情報処理装置200のCPU13がコンピュータプログラムを実行する代わりに、FPGA等を用いた専用のハードウェア回路が実行してもよい。
(Numerical processing flow)
Hereinafter, a numerical processing flow executed by the
この処理では、情報処理装置200は、数値因子を明示的に表示しない式表現(以下、対象の入力式e1)の入力を受け、数値因子を明示的に表示した式表現(以下、戻り式r)を出力する。ここで、情報処理装置200は、対象の入力式e1と、戻り式rを、例えば、コンピュータプログラムの引数として入出力してもよい。また、情報処理装置200は、図9、図10に示した入力部11および出力部14等を通じて、対象の入力式e1と、戻り式rを入出力してもよい。また、情報処理装置200は、通信部32を介してネットワーク上の他の装置との間で、対象の入力式e1と、戻り式rを入出力してもよい。さらにまた、情報処置装置200は、例えば、外部記憶装置34に格納された入力式e1を読み出し、戻り式rを外部記憶装置34に格納するようにしてもよい。
In this process, the
また、図12は、情報処理装置200が、入力式e1=3a(b+c)+d{4e+f}を処理するときの情報処理装置200の内部状態を例示する遷移テーブルである。以下の説明で例示される入力式e1、戻り式r等に含まれる式表現は例示である。例えば、図12では、識別子a、b、c、d、e、およびfを含む式表現が例示されるが、情報処理装置200の処理がこのような式表現に限定される訳ではない。
FIG. 12 is a transition table illustrating the internal state of the
図11の処理では、情報処理装置200は、まず、対象の入力式e1を入力し、さらに、戻り式rを宣言する(F1)。情報処理装置200は、入力式e1を、例えば、入力コンピュータプログラムの引数として情報処理装置200が取得する。一方、戻り式rを宣言するとは、例えば、情報処理装置200が、メモリ12上に、戻り式rの格納先を確保することをいう。
In the process of FIG. 11, the
次に、情報処理装置200は、入力式e1がφか否かを判定する(F2)。入力式e1がφでない場合、情報処理装置200は、入力式e1中の始めの項t1を取得し、入力式e1から始めの項t1を削除する。さらに、情報処理装置200は、戻り項t2を宣言する(F3)。
Next, the
ここで、F1−F3の処理を図12の例によって説明する。ここでは、式の構成を示すため、等号(=)を用いて説明する。ただし、等号は、本実施形態における説明のために用いる記号である。したがって、情報処理装置200の処理は、等号を用いずに実行できる。例えば、以下の加算等の演算は、演算実行前の式を情報処理装置200の第1の引数に対応するメモリ12上の領域に設定し、演算の実行結果を第2の引数に対応するメモリ12上の領域に格納するようにすればよい。なお、宣言された戻り項t2の初期値は、1
(あるいは単位元ε)である。
Here, the processing of F1-F3 will be described with reference to the example of FIG. Here, an equal sign (=) is used to describe the structure of the equation. However, the equal sign is a symbol used for explanation in the present embodiment. Therefore, the processing of the
(Or unit element ε).
入力式e1=3a(b+3c)+d{4e+f}
始めの項t1=3a(b+3c)
したがって、図12で、始めの項t1を削除した入力式e1は、次の通りである。
Input expression e1 = 3a (b + 3c) + d {4e + f}
First term t1 = 3a (b + 3c)
Therefore, in FIG. 12, the input equation e1 from which the first term t1 is deleted is as follows.
入力式e1=d{4e+f}
次に、図11に戻って説明を継続する。情報処理装置200は、始めの項t1の長さが0か否かを判定する(F4)。なお、始めの項t1の長さが0ということは、始め項t1がφであることと同義である。
Input expression e1 = d {4e + f}
Next, returning to FIG. 11, the description will be continued. The
そして、始めの項t1の長さが0でない場合、情報処理装置200は、始めの項t1から始めの因子f1を取得し、始めの因子f1を始めの項t1から削除する(F5)。図12の例では、例えば、以下のようになる。
If the length of the first term t1 is not 0, the
始めの因子f1=3a
また、始めの因子f1削除後の始めの項t1は、以下の通りである。
First factor f1 = 3a
Further, the first term t1 after the deletion of the first factor f1 is as follows.
始めの因子t1=(b+3c)
次に情報処理装置200は、始めの因子f1が括弧型か否かを判定する(F6)。因子が括弧型とは、因子である式表現が第1の括弧”()”または第2の括弧”{}”で括られた形式であることをいう。始めの因子が括弧型のとき、情報処理装置200は、括弧内の式表現を再帰処理し、再帰処理した結果を始めの因子f1とする(F8)。ここで、再帰処理とは、コンピュータプログラムの処理では、再帰呼び出しともいい、括弧(”()”または”{}”)内の式表現を入力式e1として、図11の処理を再度実行することをいう。
Initial factor t1 = (b + 3c)
Next, the
F6の判定で、始めの因子f1が括弧型でない場合、情報処理装置200は、因子f1が数字を含むか識別子か否かを判定する(F7)。始めの因子f1が数字を含む識別子でない場合、情報処理装置200は、処理をF10に進める。一方、始めの因子f1が数字を含む識別子である場合、情報処理装置200は、始めの因子f1を数値化し、その結果を始めの因子f1とする(F9)。ここで、因子を数値化するとは、因子である識別子中の数字を数値化することをいう。例えば、始めの因子f1が3aの場合に、数値すると、a×'3'と表される。また、例えば、始めの因子f1が500円の場合には、円×’500
’に変換される。すなわち、数字の部分が数値演算子によって数値であることを明示され、数値識別子に変換される。一方、数字部分以外の部分は、通常の識別子(非数値識別子ともいう)となる。さらにまた、始めの因子f1が1以上の数字の場合には、’0’、’1’、’0123456789’のように変換される。また、始めの因子f1が複数の数字部分を複数含む場合、例えば、012ab345cdf89の場合には、各数字部分をそれぞれ数値識別子に変換
し、非数字識別子と積演算子で結合すればよい。例えば、012ab345cdf89は、ab×’012’×cdf×’345’×’89’のように変換すればよい。また、始めの因子f1が3.1234567890aの場合に、は、a×’3.1234567890’のように数値化すればよい。すなわち、数字部分が整数以外の場合、例えば、小数等の実数の場合には、小数等の実数として数値演算子により数値化すればよい。なお、数字部分と非数字部分を含む識別子の数字部分を数値識別子に変換した場合に、変換された数値識別子と、非数字部分による非数値識別子の順序は、情報処理装置200内の規則、あるいは、処理部40の規則として、例えば、メモリ12、外部記憶装置34に格納しておけばよい。したがって、例えば、f1が3aの場合に、'3'×aのように数値化してもよい。なお、因子が数字を含まない識別子である場合には、数値化したものは、数値化前のものと同一の式表現である。
If it is determined in F6 that the first factor f1 is not a bracket type, the
Converted to '. That is, the numerical part is specified as a numerical value by a numerical operator and is converted into a numerical identifier. On the other hand, the part other than the numeric part is a normal identifier (also called a non-numeric identifier). Furthermore, when the first factor f1 is a number greater than or equal to 1, it is converted to '0', '1', '0123456789'. Further, when the first factor f1 includes a plurality of numerical parts, for example, 012ab345cdf89, each numerical part may be converted into a numerical identifier and combined with a non-numeric identifier by a product operator. For example, 012ab345cdf89 may be converted to ab × '012' × cdf × '345' × '89 '. Further, when the first factor f1 is 3.1234567890a, the numerical value may be expressed as a × '3.1234567890'. That is, when the numerical part is other than an integer, for example, when it is a real number such as a decimal, it may be converted into a numerical value by a numerical operator as a real number such as a decimal. When the numeric part of the identifier including the numeric part and the non-numeric part is converted into a numeric identifier, the order of the converted numeric identifier and the non-numeric identifier by the non-numeric part is the rule in the
次に、情報処理装置200は、数値化した始めの因子f1と戻り項t2との積を取得し、その結果を戻り項t2とする(F10)。そして、情報処理装置10は、制御をF4に戻す。
Next, the
例えば、図12の例では、2回目のF4、F5の処理において、始めの項f1=(b+3c)となる。その結果、F7の処理において、再帰処理が実行される。そして、()が数値化され、f1=b+c×'3'が得られる。 For example, in the example of FIG. 12, in the second processing of F4 and F5, the first term f1 = (b + 3c). As a result, recursion processing is executed in the processing of F7. Then, () is digitized to obtain f1 = b + c × '3'.
同様に、入力式e1の第2項の第2因子{4e+f}の処理において、再帰処理が実行され、e×'4'+fが得られる。 Similarly, in the processing of the second factor {4e + f} of the second term of the input expression e1, recursive processing is executed to obtain e × ′ 4 ′ + f.
F4の判定で、始めの項t1の長さが0である場合、始めの項t1についての処理が完了したので、情報処理装置200は、制御をF11に進める。そして、情報処理装置200は、戻り式rと、現在までに処理された戻り項t2との和を取得し、その結果を戻り式rとする(F11)。そして、情報処理装置200は、制御をF2に戻す。
If it is determined in F4 that the length of the first term t1 is 0, the processing for the first term t1 is completed, and the
F2の判定で、入力式eがφの場合には、処理対象の入力式が存在しないので、情報処理装置200は、制御をF12に進める。そして、情報処理装置200は、戻り式rを出力し(F12)、処理を終了する。以上の結果、以下の戻り式rが得られる。
If the input expression e is φ in the determination of F2, the
r=a×'3'(b+c×'3')+d{e×'4'+f}
図13、図14は、数値計算処理を例示する図である。この処理では、情報処理装置200は、数値計算処理前の入力式e1の入力を受け、数値計算処理後の戻り式rを出力する。
r = a × '3' (b + c × '3') + d {e × '4' + f}
13 and 14 are diagrams illustrating the numerical calculation process. In this process, the
また、図15A、図15Bは、情報処理装置200が、入力式e1=(a×b×'20
0'×/×c×c'3'+a×b×'300'×/×c×c×'4')/×e×e×'3'+(a
×b×'180'×/×c×c×'4')/×d×d×'2'を処理するときの情報処理装置200の内部状態を例示する遷移テーブルである。
15A and 15B show that the
0 ′ × / × c × c′3 ′ + a × b × ′ 300 ′ × / × c × c × ′ 4 ′) / × e × e × ′ 3 ′ + (a
It is a transition table which illustrates the internal state of the
図13、図14の処理では、情報処理装置200は、処理対象の入力式e1を入力し、式r1、および戻り式r2を宣言する(F20)。ここで、式r1は、作業用の記憶領域を示すパラメータである。
In the processes of FIGS. 13 and 14, the
そして、情報処理装置200は、入力式e1がφか否かを判定する(F21)。入力式e1がφでない場合、情報処理装置200は、始めの項t1を取得し、入力式e1から始めの項t1を削除する。さらに、情報処理装置200は、戻り項t2を宣言する(F22)。なお、戻り項t2は、1(単位元ε)に、初期化する。
Then, the
そして、情報処理装置200は、始めの項t1の積演算を実行し、積演算の結果をt1とする(F23)。ここで、始めの項t1の積演算とは、始めの項t1に含まれる因子間において、数値が明示されている因子間で乗算を実行することをいう。ただし、F23の処理では、始めの項t1に括弧が含まれている場合には、括弧を1つの因子として取り扱う。また、因子中に、除算を示す記号"/"が含まれる場合には、記号"/"の前後の数値('N')については除算を実行する。記号"/"は、除算演算子の一例である。
Then, the
また、記号"/"の前後に、数値以外の共通の識別子がある場合には、記号"/"の前後の共通の識別子を削除する。つまり、情報処理装置200は、いわゆる約分を実行する。
If there is a common identifier other than a numerical value before and after the symbol “/”, the common identifier before and after the symbol “/” is deleted. That is, the
また、始めの項t1に含まれる2つの因子に共通する識別子がべき乗で記述されている
場合には、情報処理装置200は、指数部分の加算を実行する。また、記号"/"の前後の2つの因子に共通する識別子がべき乗で記述されている場合には、情報処理装置200は、指数部分の減算を実行する。
When an identifier common to the two factors included in the first term t1 is described by a power, the
例えば、図15Aの例では、以下の通りである。
始めの項t1=(a×b×'200'×/×c×c'3'+a×b×'300'×/×c×c×'4')/×e×e×'3'
始めの項t1の因子は、()、/×e×e、×'3'に区分される。このうち、/×eと×eとが約分される。その結果は、以下の通りである。
For example, in the example of FIG.
First term t1 = (a * b * '200' * / * c * c'3 '+ a * b *' 300 '* / * c * c *' 4 ') / * e * e *' 3 '
The factor of the first term t1 is divided into (), / × e × e, and x′3 ′. Of these, / xe and xe are reduced. The results are as follows.
始めの項t1=(a×b×'200'×/×c×c'3'+a×b×'300'×/×c×c×'4')×'3'
次に、情報処理装置200は、始めの項t1に括弧因子があり、かつ、始めの項t1の長さが0でない、という条件が満たされるか否かを判定する(F24)。F24の条件が満たされる場合、情報処理装置200は、始めの項t1から始めの因子f1を取得する。そして、情報処理装置200は、始めの項t1から、始めの因子f1を削除する(F25)。F25−F28の処理は、始めの項t1中の括弧を処理する処理である。
First term t1 = (a × b × '200' × / × c × c'3 '+ a × b ×' 300 '× / × c × c ×' 4 ') ×' 3 '
Next, the
図15Aの例では、以下の通りである。
f1=(a×b×'200'×/×c×c'3'+a×b×'300'×/×c×c×'4')
t1='3'
そして、情報処理装置200は、始めの因子f1が括弧型か否かを判定する(F26)。始めの因子f1が括弧型の場合、情報処理装置200は、括弧内の式表現に再帰処理を実行し、その結果をf1とする(F27)。図15A、図15Bの例では、f1=a×b×'600'+a×b×'1200'=a×b×'1800'が得られる(図15BのL1参照)。
In the example of FIG. 15A, it is as follows.
f1 = (a × b × '200' × / × c × c'3 '+ a × b ×' 300 '× / × c × c ×' 4 ')
t1 = '3'
Then, the
一方、F26の判定で、始めの因子f1が括弧型でない場合、情報処理装置200は、制御をF28に進める。そして、情報処理装置200は、式t2と始めの因子f1との積演算を実行し、その結果を式t2とする(F28)。そして、情報処理装置200は、制御をF24に戻す。
On the other hand, if it is determined in F26 that the first factor f1 is not a bracket type, the
積演算は、F23の場合と同様、数値と数値の乗算である。F28の処理でも、F23の処理と同様、乗算される戻りの項t2に対して、始めの因子f1の先頭に除算を示す記号/が指定されている場合には、数値間の除算が実行される。また、F28の処理で、乗算される戻りの項t2および始めの因子f1の少なくとも一方にべき乗の表現が含まれている場合には、べき乗の底が共通である指数間で指数部分の数値の加算が実行される。 As in the case of F23, the product operation is a multiplication of a numerical value and a numerical value. In the process of F28, similarly to the process of F23, when a symbol / indicating division is specified at the head of the first factor f1 for the return term t2 to be multiplied, division between numerical values is executed. The In addition, in the process of F28, when a power expression is included in at least one of the return term t2 and the first factor f1 to be multiplied, the numerical value of the exponent part between the exponents having a common power base Addition is performed.
「乗算される戻りの項t2および始めの因子f1の少なくとも一方」としたのは、べき乗表現ではない因子f1については、底がf1であり指数が1であるべき乗とみなすことで、必ずしも戻りの項t2および始めの因子f1の両方がべき乗でなくても、べき乗の演算が実行できるからである。 “At least one of the return term t2 to be multiplied and the first factor f1” is considered as a factor f1 that is not a power expression. This is because even if both the term t2 and the first factor f1 are not powers, a power operation can be performed.
また、F28の処理で、乗算される戻りの項t2および始めの因子f1の少なくとも一方にべき乗の表現が含まれ、始めの因子f1の先頭に除算を示す記号/が指定されている場合には、べき乗の底が共通である指数間で指数部分の数値の減算が実行される。 Further, in the process of F28, when at least one of the return term t2 to be multiplied and the first factor f1 includes a power expression, and the symbol / indicating the division is specified at the beginning of the first factor f1. The numerical value of the exponent part is subtracted between the exponents having the same power base.
さらにまた、F28の処理で、始めの因子f1の先頭に除算を示す記号/が指定され乗算され、戻りの項t2および始めの因子f1の双方に共通する識別子が含まれている場合には、共通の識別子が削除される。すなわち、いわゆる約分が実行される。情報処理装置
200のCPU13は、代数演算部の一例として、FF23−28の処理を実行する。
Furthermore, in the process of F28, when the symbol / indicating the division is designated and multiplied at the head of the first factor f1, and the identifier common to both the return term t2 and the first factor f1 is included, The common identifier is deleted. That is, so-called reduction is executed. The
一方、F24の判定で、始めの項t1に括弧因子がない場合、あるいは、始めの項t1の長さが0である場合には、情報処理装置200は、制御をF29に進める。そして、情報処理装置200は、式r1と戻り項t2の和を取得し、その結果を式r1とする(F29)。
On the other hand, if it is determined in F24 that there is no parenthesis factor in the first term t1, or if the length of the first term t1 is 0, the
図15A、図15Bの処理例では、以上のF22−F29の処理を再帰的に事項した結果、戻りの項t2=a×b×’1800’、始めの項f1=’3’となり、戻りの項t2=a
×b×’5400’、r1=a×b×’5400’となる(図15BのL2参照)。
15A and 15B, as a result of recursively performing the processes of F22 to F29, the return term t2 = a × b × '1800' and the first term f1 = '3' are obtained. The term t2 = a
× b × '5400', r1 = a × b × '5400' (see L2 in FIG. 15B).
また、F21の判定で、入力式e1の長さが0である場合に、情報処理装置200は、制御を図14のF30に進める。そして、情報処理装置200は、式r1がφであるか否かを判定する(F30)。
If the length of the input expression e1 is 0 in the determination of F21, the
そして、式r1がφでない場合、式r1から始めの項t1を取得し、項t1を式r1から削除する(F31)。次に、情報処理装置200は、式r1中に、数値部分以外の部分について、始めの項t1と等しい他の項があるか否かを判定する(F32)。
If the expression r1 is not φ, the first term t1 is acquired from the expression r1, and the term t1 is deleted from the expression r1 (F31). Next, the
例えば、図15Bの例では、2回の再帰処理が終了した後の式の状態(図15BのL3)においては、式r1は以下の通りである。 For example, in the example of FIG. 15B, the expression r1 is as follows in the state of the expression (L3 in FIG. 15B) after the two recursive processes are completed.
r1=a×b×'5400'+a×b×'1440'
そして、式r1中に、数値部分以外の部分について、始めの項t1と等しい他の項がある場合、情報処理装置200は、数値以外の部分が始めの項t1と等しい他の項を式r1から削除する。さらに、数値以外の部分が始めの項t1と等しい他の項と、始めの項t1との間で、数値部分の和演算(加算)を実行する。そして、和演算の結果をt1とする(F33)。そして、情報処理装置200は、戻り式r2と始めの項t1との和を取得し、その結果を戻り式r2とする(F34)。そして、情報処理装置200は、制御をF30に戻す。このとき、戻りの式r2は、以下の通りである(図15BのL4参照)。
r1 = a × b × '5400' + a × b × '1440'
If there is another term in the expression r1 that is equal to the first term t1 for the part other than the numerical value part, the
r2=a×b×'6840'
F30の判定で、式r1がφになると、情報処理装置200は、制御をF35に進める。そして、情報処理装置200は、戻り式r2を出力する(F35)。
r2 = a × b × '6840'
If the expression r1 becomes φ in the determination of F30, the
図16は、識別子の置換処理を例示する図である。この処理では、情報処理装置200は、数値計算処理前の入力式e1と、置換情報e2の入力を受け、識別子置換後の戻り式rを出力する。また、図17は、情報処理装置200が、入力式e1=A×/(B×C)を処理するときの情報処理装置200の内部状態を例示する遷移テーブルである。
FIG. 16 is a diagram illustrating an identifier replacement process. In this process, the
置換情報は、置換前の式表現と置換後の式表現の組みを定義する。例えば、A=aという置換情報は、式表現Aを式表現aに置換することを指定する。置換情報として複数の置換の指定を定義してよい。例えば、図17に示す置換情報e2として、A=a+B=b+C=cのように、3つの置換の指定がなされている。この指定では、Aはaに置換され、Bはbに置換され、Cはcに置換される。 The replacement information defines a combination of the expression expression before replacement and the expression expression after replacement. For example, the replacement information A = a specifies that the expression A is replaced with the expression a. A plurality of replacement specifications may be defined as replacement information. For example, as the replacement information e2 shown in FIG. 17, three replacements are designated as A = a + B = b + C = c. In this designation, A is replaced with a, B is replaced with b, and C is replaced with c.
置換処理の用途は、例えば、式表現で数量を表現する場合の単位の変換を例示できる。例えば、ミリメートルで記述された式表現をセンチメートル、メートルのように長さを換算する場合である。その他、面積、体積、重量、角度、時間、速度、力、エネルギー、熱量等の様々な物理量、あるいは情報量等の単位の置換が可能である。 As an application of the replacement process, for example, conversion of units when a quantity is expressed by an expression expression can be exemplified. For example, this is a case where the expression expressed in millimeters is converted into lengths such as centimeters and meters. In addition, various physical quantities such as area, volume, weight, angle, time, speed, force, energy, and quantity of heat, or units such as information quantity can be replaced.
図16の処理では、情報処理装置200は、入力式e1、置換情報e2を入力する(F40)。そして、情報処理装置200は、入力式e1が0であるか、否かを判定する(F41)。
In the process of FIG. 16, the
入力式e1が0でない場合、情報処理装置200は、始めの項t1を取得し、入力式e1から始めの項t1を削除する。さらに、情報処理装置200は、戻り項t2を宣言する(F42)。戻り項t2の初期値は1(単位元ε)とする。
When the input formula e1 is not 0, the
次に、情報処理装置200は、始めの項t1の長さが0であるか否かを判定する(F43)。始めの項t1の長さが0でない場合、情報処理装置200は、始めの項t1から始めの因子f1を取得し、始めの項t1から始めの因子f1を削除する(F44)。
Next, the
次に、情報処理装置200は、始めの因子f1が括弧であるか否かを判定する(F45)。始めの因子f1が括弧型である場合に、情報処理装置200は、括弧内の式表現について、置換処理を再帰処理として実行し、再帰処理の結果を括弧内に入れて始めの項f1とする(F47)。そして、情報処理装置200は、制御をF48に進める。
Next, the
一方、F45の判定で、因子が括弧型でない場合、情報処理装置200は、始めの因子f1が識別子であって、置換情報で指定されている識別子か否かを判定する(F46)。始めの因子f1が識別子であって、置換情報で指定されている識別子である場合、情報処理装置200は、置換情報に基づき、置換前の識別子を置換後の識別子に置換する。そして、情報処理装置200は、戻りの項t2と置換した結果との積を取得し、取得した積を戻りの項t2とする(F48)。そして、情報処理装置200は、制御をF43に戻す。なお、F46の判定で、始めの因子f1が置換情報で指定された識別子でない場合も、情報処理装置200は、制御をF43に戻す。
On the other hand, if the factor is not a parenthesis type in F45, the
また、F43の判定で、始めの項t1の長さが0である場合、情報処理装置200は、制御をF49に進める。そして、情報処理装置200は、戻り式rと戻りの項t2との積を取得し、取得した積を戻り式rとする(F49)。そして、情報処理装置200は、制御をF41に戻す。
If the length of the first term t1 is 0 in the determination of F43, the
さらに、F41の判定で、入力式e1がφである場合に、情報処理装置200は、制御をF50に進める。そして、情報処理装置200は、戻り式rを出力する(F50)。
Furthermore, when the input expression e1 is φ in the determination of F41, the
例えば、図17の例では、e1=A×/(B×C)について、置換情報A=a+B=b+C=cが指定されている。この場合、入力式e1には、項が1つだけ含まれている。したがって、始めの項t1=A×/(B×C)を取得すると、入力式は、e1=φとなる。 For example, in the example of FIG. 17, replacement information A = a + B = b + C = c is designated for e1 = A × / (B × C). In this case, the input expression e1 includes only one term. Therefore, when the first term t1 = A × / (B × C) is acquired, the input equation is e1 = φ.
さらに、始めの項t1中で、始めの因子f1=Aを所得すると、t1=/(B×C)となる。そして、始めの因子f1は、置換情報A=aによって、f1=aに置換される。さらに、戻りの項t2=aとなる。 Further, when the first factor f1 = A is obtained in the first term t1, t1 = / (B × C). Then, the first factor f1 is replaced with f1 = a by the replacement information A = a. Further, the return term t2 = a.
次に、/が始めの因子として取得され、置換されることなく戻りの項t2と積演算され、t2=a×/となる。 Next, / is obtained as the first factor and is multiplied with the return term t2 without being replaced, so that t2 = a × /.
同様に、順次、始めの項f1として、(B×C)が取得される。(B×C)のうち、括弧内の式表現に置換処理が再帰処理として実行される。その結果、B、およびCがそれぞれ取得され、順次置換されて戻りの項t2と積演算される。その結果、t2=a×/(b×c)となる。 Similarly, (B × C) is sequentially acquired as the first term f1. Of (B × C), the replacement processing is executed as recursion processing for the expression in parentheses. As a result, B and C are acquired, sequentially replaced, and multiplied by the return term t2. As a result, t2 = a * / (b * c).
図18は、フィルタ処理を例示する図である。この処理では、情報処理装置200は、数値計算処理前の入力式e1と、フィルタ識別子e2の入力を受け、識別子置換後の戻り式rを出力する。また、図19A、図19Bは、情報処理装置200が、入力式e1をフィルタ指定b+c+d+/+'[0...9]'で処理するときの情報処理装置200の内部状態を例示する遷移テーブルである。ここで、入力式e1=a×(b×c×'200'×/×d×d×'3')/×e×e×'3'+f×(b×c×'180'×/×d×d×'4')/×g×g×'2'である。
FIG. 18 is a diagram illustrating filter processing. In this process, the
ここで、フィルタ識別子e2には、入力式から削除されない識別子が指定される。複数種類の識別子を削除する場合には、削除する複数の識別子を和演算で組み合わせて指定する。また、[0...9]は、数字0から9までを要素する集合を説明するため便宜的に導入した形式である。したがって、数字の指定は、[0...9]に限られず、フィルタ指定する数字を個々に列挙してもよい。また、集合の指定が[]に限定される訳でもない。
Here, an identifier that is not deleted from the input expression is designated as the filter identifier e2. When deleting a plurality of types of identifiers, a plurality of identifiers to be deleted are specified in combination by a sum operation. [0. . . 9] is a format introduced for the sake of convenience in order to describe a
フィルタ処理の用途は、式表現中で複数の項がそれぞれ異なる因子を含む場合に、例えば、項と項との間の因子の違い無視して式表現を処理したいときに、因子の除去に用いられる。項と項との間の因子の違い無視して式表現を処理したいときとは、例えば、式表現が商品ごとの売り上げの加算値を表す場合に、商品の違いを無視して、売り上げの総計を算出したいときである。この場合に、例えば、商品の種類を示す識別子×商品ごとの売り上げという形式で項が記述され、各商品を加算して形式で式表現が作成される。この場合に、商品の種類を示す識別子を除外して、フィルタ処理で削除することで総計を求めることができる。 The purpose of filtering is to remove factors when multiple expressions contain different factors in the expression, for example, when you want to process the expression while ignoring the differences between the terms. It is done. When you want to process an expression expression ignoring the difference in terms between terms, for example, if the expression expression represents the added value of sales for each product, ignore the difference between the products and calculate the total sales. Is when it is desired to calculate In this case, for example, a term is described in the format of identifier indicating the type of product × sales for each product, and each product is added to create a formula expression in the format. In this case, it is possible to obtain the total by excluding the identifier indicating the type of product and deleting it by filtering.
図18の処理では、情報処理装置200は、入力式e1とフィルタ識別子e2を入力する(F60)。そして、情報処理装置200は、入力式e1が0であるか、否かを判定する(F61)。
In the process of FIG. 18, the
入力式e1が0でない場合、情報処理装置200は、始めの項t1を取得し、入力式e1から始めの項t1を削除する。さらに、情報処理装置200は、戻り項t2を宣言する(F62)。戻り項t2の初期値は1(単位元ε)とする。
When the input formula e1 is not 0, the
次に、情報処理装置200は、始めの項t1の長さが0であるか否かを判定する(F63)。始めの項t1の長さが0でない場合、情報処理装置200は、始めの項t1から始めの因子f1を取得し、始めの項t1から始めの因子f1を削除する(F64)。
Next, the
次に、情報処理装置200は、始めの因子f1が括弧であるか否かを判定する(F65)。始めの因子f1が括弧型である場合に、情報処理装置200は、括弧内の式表現について、置換処理を再帰処理として実行し、再帰処理の結果を括弧内に入れて始めの項f1とする(F67)。そして、情報処理装置200は、制御をF68に進める。
Next, the
一方、F65の判定で、因子が括弧型でない場合、情報処理装置200は、始めの因子f1が識別子であって、フィルタ識別子e2で指定されている識別子か否かを判定する(F66)。始めの因子f1が識別子であって、フィルタ識別子e2で指定されている識別子である場合、情報処理装置200は、始めの項t1と始めの因子f1との積を取得し、取得した積を戻りの項t2とする(F68)。そして、情報処理装置200は、制御をF63に戻す。
On the other hand, if the factor is not a bracket type in the determination of F65, the
また、F66の判定で、始めの因子f1が置換情報で指定された識別子でないには、情報処理装置200は、そのまま制御をF63に戻す。その結果、戻り項2に始めの因子f
1の積を追加されないことになる。
If it is determined in F66 that the first factor f1 is not the identifier specified by the replacement information, the
The product of 1 will not be added.
また、F63の判定で、始めの項t1の長さが0である場合、情報処理装置200は、制御をF69に進める。そして、情報処理装置200は、戻り式rと戻りの項t2との積を取得し、取得した積を戻り式rとする(F69)。そして、情報処理装置200は、制御をF61に戻す。
If the length of the first term t1 is 0 in the determination of F63, the
さらに、F61の判定で、入力式e1がφである場合に、情報処理装置200は、制御をF70に進める。そして、情報処理装置200は、戻り式rを出力する(F70)。
Further, in the determination of F61, when the input expression e1 is φ, the
例えば、図19A、図19Bでは、以下のように処理されている。
入力式e1=a×(b×c×'200'×/×d×d×'3')/×e×e×'3'+f×(b×c×'180'×/×d×d×'4')/×g×g×'2'に対して、
t1=a×(b×c×'200'×/×d×d×'3')/×e×e×'3'
f1=aとなる。
For example, in FIG. 19A and FIG. 19B, the following processing is performed.
Input formula e1 = a * (b * c * '200' * / * d * d * '3') / * e * e * '3' + f * (b * c * '180' * / * d * d × '4') / × g × g × '2'
t1 = a * (b * c * '200' * / * d * d * '3') / * e * e * '3'
f1 = a.
しかし、識別子aは、フィルタ識別子に指定されていないので、戻り項t2に和演算されない。 However, since the identifier a is not designated as the filter identifier, it is not summed with the return term t2.
次に、t1=(b×c×'200'×/×d×d'×3')/×e×e×'3'
f1=(b×c×'200'×/×d×d×'3')となる。f1は、再帰処理される。そして、括弧内の識別子のうち、識別子eは、フィルタ識別子で指定されていない。その結果、e以外の因子が維持される。したがって、戻りの項t2=b×c×'200'×/×d×d×'3'となる。始めの項t1が
t1=f×(b×c×'180'×/×d×d×'4')/×g×g×'2'についても同様である。この場合には、識別子f、g以外の識別子が維持される。以上の結果、戻りの式r2は、以下の通りとなる。
Next, t1 = (b × c × ′ 200 ′ × / × d × d ′ × 3 ′) / × e × e × ′ 3 ′
f1 = (b * c * '200' * / * d * d * '3'). f1 is recursively processed. Of the identifiers in parentheses, the identifier e is not specified by the filter identifier. As a result, factors other than e are maintained. Therefore, the return term t2 = b × c × '200' × / × d × d × '3'. The same applies to the first term t1, where t1 = f × (b × c × '180' × / × d × d × '4') / × g × g × '2'. In this case, identifiers other than the identifiers f and g are maintained. As a result, the return formula r2 is as follows.
r2=b×c×'200'×/×d×d×'3'+b×c×'180'×/×d×d×'4'×'2' r2 = b × c × '200' × / × d × d × '3' + b × c × '180' × / × d × d × '4' × '2'
以上述べたように、本実施形態の情報処理装置200によれば、式表現中の数値の記号を明示的な数値に変換する。そして、式表現中で、数値と数値以外の部分を区別して、加算、積、乗算、べき乗等の演算を実行できる。その結果、例えば、事物の識別子と、その事物に関連するする量を積演算し、複数種類の事物に関連する数量を事物の種類ごとに数式で加算できるようになる。また、減算は、負数の加算で実現できる。例えば、商品の売り上げ、商品サービスの見積もり額、作業の工数等、様々な事物と事物に関連する量を管理できる。例えば、売り上げ=商品1×売り上げ額+商品2×売り上げ額+・・・のように、記述し、同一商品ごとに、売り上げをまとめることができる。
As described above, according to the
また、例えば、除算を表す識別子"/"を導入することにより、除算を表す識別子"/"の前後で、共通の識別子を削除し、いわゆる約分を実行できる。例えば、売り上げ=商品1×'50'×YEN/個×個×'10'+・・・のように、単価と個数で示される売り上げは、売り上げ=商品1×'50'×YEN×'10'+・・・=商品1×'500'×YEN+・・・のよう
に、簡略化した売り上げの式表現に変更できる。
Also, for example, by introducing an identifier “/” representing division, a common identifier can be deleted before and after the identifier “/” representing division, and so-called reduction can be executed. For example, sales =
また、例えば、べき乗を示す式表現を導入することで、共通の識別子をそれぞれ底とするべき乗同士の乗算または除算を指数同士の加算、減算として処理できる。 In addition, for example, by introducing an expression representing a power, multiplication or division of powers each having a common identifier as a base can be processed as addition or subtraction of exponents.
さらに、本情報処理装置200は、図16のような置換関数の処理によって、式表現中
の項、因子等を置換し、例えば、物理量等の単位換算を実行できる。さらに、本情報処理装置200は、図18のようなフィルタ関数の処理によって、事物の数量を記述した式表現中で、不要な因子を削除することで、複数種類の事物の相違を無視した合計値の算出を実行できる。
Furthermore, the
情報処理装置200は、以上のような処理を従来のようなデータ構造が固定されたデータベースによることなく、柔軟な式表現の記述の対して実行できる。その結果、情報処理装置200は、例えば、管理対象の事物に関する情報を極めて柔軟な形式でメモリ12、外部記憶装置34等に保持する一方、管理対象に要求される様々な情報処理機能を実現できる。
The
上記第2実施形態では、減算は、負数の加算として実現した。しかし、このような処理に代えて、減算を示す演算子を用いてもよい。例えば、an−am=a×’n’−a×’
m’=aבn−m’のように演算を実現してもよい。ただし、式表現自体は、和演算子と積演算子で記述されるため、別途減算を示す演算子を導入することにより、減算を示す演算子を実行する処理が必要となる。したがって、式表現との整合性を考慮する場合には、上記第2実施形態のように負数の加算によって減算を実現することが望ましい。
In the second embodiment, the subtraction is realized as a negative addition. However, instead of such processing, an operator indicating subtraction may be used. For example, an-am = a × 'n'-a ×'
You may implement | achieve a calculation like m '= ax'nm. However, since the expression expression itself is described by a sum operator and a product operator, a process for executing an operator indicating subtraction is required by separately introducing an operator indicating subtraction. Therefore, when considering consistency with the expression, it is desirable to realize subtraction by adding a negative number as in the second embodiment.
《第3実施形態》
図20、図21を参照して、第3実施形態に係る情報処理装置200について説明する。上記第1実施形態、および第2実施形態では、情報処理装置200が有するハードウェア構成および数値因子化処理、数値計算処理、置換処理、および、フィルタ処理について説明した。本実施形態では、第1実施形態、および第2実施形態で説明した情報処理装置200を適用した応用装置の例を説明する。したがって、基本的には、第1実施形態、および第2実施形態の構成要素は、そのまま第3実施形態でも用いられる。
<< Third Embodiment >>
An
図20は、第3実施形態に係る情報処理装置200の処理を例示するフローチャートである。図20の処理では、情報処理装置200は、種々の事物に関する情報の入力を例えば入力部11から受け、式表現の形式でメモリ12、または外部記憶装置34に格納する。この場合の事物は、例えば、集合と、集合に含まれる事物を特定する識別子と、その事物の属性値と、その事物の数量と、集合の数量を含む。
FIG. 20 is a flowchart illustrating the processing of the
説明のための簡単な例として、商店で販売されている商品について考える。この商店では、野菜かごと、野菜セットが販売されている。野菜かごの内容は、人参が2本と、リンゴ(A種)が3個であるとする。また、人参は1本100円であり、リンゴは1個200円であるとする。 As a simple example for explanation, consider a product sold in a store. In this store, vegetable baskets and vegetable sets are sold. The contents of the vegetable basket are two carrots and three apples (type A). In addition, it is assumed that one carrot is 100 yen and one apple is 200 yen.
また、野菜セットの内容は、卵が60個、ハム3パック、リンゴ(B種)4個である。また、卵は、12個300円であり、ハムは1パック300円であり、リンゴ(B種)は、1個180円である。 Moreover, the content of the vegetable set is 60 eggs, 3 packs of ham, and 4 apples (type B). Also, 12 eggs are 300 yen, ham is 300 yen per pack, and apple (B type) is 180 yen.
今、野菜かごを3かごと、野菜セットを2セット購入する場合の費用を考える。式表現では、以上の状況は、以下の式AP1で表すことができる。 Consider the cost of purchasing three baskets of vegetables and two sets of vegetables. In the expression expression, the above situation can be expressed by the following expression AP1.
野菜かご×(人参×100円×/×本×2本+リンゴ×200円×/×1個×3個)/×かご×3かご+
野菜セット×(たまご×300円×/×12個×60個+ハム×300円×/×1パック×3パック+リンゴ×180円×/×1個×4個)/×セット×2セット・・・(数AP1)
Vegetable basket x (carrot x 100 yen x / x book x 2 + apple x 200 yen x / x 1 x 3) / x basket x 3 basket +
Vegetable set x (egg x 300 yen x / x 12 pieces x 60 pieces + ham x 300 yen x /
ここで、野菜かご、野菜セット等は、集合を識別する情報ということができる。また、”野菜かご×”に続く第1の括弧内の情報は、集合”野菜かご”の構成要素ということができる。したがって、人参、リンゴ等の物品名は集合”野菜かご”の構成要素を識別する情報ということができる。また、“人参×100円×/×本”で指定される“100円”は、構成要素の属性値ということができる。 Here, it can be said that the vegetable basket, the vegetable set, and the like are information for identifying the assembly. The information in the first parenthesis following “vegetable basket ×” can be said to be a constituent element of the collective “vegetable basket”. Therefore, it can be said that the names of articles such as carrots and apples are information for identifying the components of the set “vegetable basket”. Further, “100 yen” designated by “carrot × 100 yen × / × book” can be said to be an attribute value of a component.
図20のように、情報処理装置200は、まず、数AP1のような式表現の入力を受け付ける(F101)。このような式表現は、例えば、テキストエディタで情報処理装置200に入力してもよい。また、出力部14、例えば、表示装置上のグラフィカルユーザインターフェースを用いて、専用の入力画面を作成し、入力部11を通じて式表現を情報処理装置200に入力できるようにしてもよい。また、例えば、紙面に記述された情報をスキャナから読み取り、OCR(Optical Character Reader)による文字列に変換して情報処理装置200に入力するようにしてもよい。また、情報処理装置200は、通信部32を介して、ネットワーク上の他の情報処理装置から入力を受け付けるようにしてもよい。
As illustrated in FIG. 20, the
図20の処理では、情報処理装置200は、このような式表現から、ユーザが着目する事物、あるいは、集合に関する情報を切り出し、数値因子化し、その事物に関する属性値を処理する。例えば、購入する複数の商品中の特定の商品の属性値(例えば、商品の単価)に基づく特徴量(合計の購入額等)を算出する。そこで、情報処理装置200は、次に、注目する事物あるいは物品の指定を受け付ける(F102)。注目する事物あるいは物品の指定は、入力部11、例えば、キーボード等から入力を受け付けるようにすればよい。ただし、通信部32を介して、ネットワーク上の他の情報処理装置から入力を受け付けるようにしてもよい。情報処理装置200のCPU13は、指定対象情報の入力を受け付ける手段の一例として、F102の処理を実行する。
In the processing of FIG. 20, the
例えば、情報処理装置200は、上記数AP1の例では、”リンゴ”の指定を受け付ける。すなわち、リンゴのような商品の指定が事物の指定の一例である。なお、事物の指定としては、例えば、提供されるサービスの種類等も例示できる。
For example, the
次に、情報処理装置200は、注目する事物に関する式表現を切り出す(F103)。例えば、F102の処理で、”リンゴ”の指定を受け付けた場合、数AP1からリンゴに関する式表現を取得する。このように、数AP1のような式表現から特定の識別子(例えば、”リンゴ”)に関連する式表現を取得する演算を分割写像という。分割写像として、図5A、図5Bに示した商演算処理を例示できる。ここでは、数AP1を商演算される式表現、例えば、"リンゴ"を商演算する因子として、図5Aに示した商演算を実行する。すると、情報処理装置200は、分割写像の結果として、リンゴに関連する以下の数AP2を得る。
Next, the
野菜かご×(リンゴ×200円×/×1個×3個)/×かご×3かご+野菜セット×(リンゴ×180
円×/×1個×4個)/×セット×2セット・・・(数AP2)
Vegetable basket x (apple x 200 yen x /
Yen x / x 1 x 4) / x set x 2 sets ... (several AP2)
次に、情報処理装置200は、F103の処理で求めた式表現を数値因子化する(F104)。数値因子化処理に関しては、第2実施形態の図11と同様である。すると、情報処理装置200は、式表現数AP3を得る。情報処理装置200のCPU13は、属性値に変換する手段の一例として、F102の処理を実行する。
Next, the
野菜かご×(リンゴ×円×'200'×/×個×個×'3')/×かご×かご×'3'+野菜セット×(
リンゴ×円×'180'×/×個×個×'4')/×セット×セット×'2'・・・(数AP3)
Vegetable basket x (apple x circle x '200' x / x pieces x pieces x '3') / x basket x basket x '3' + vegetable set x (
Apple x Yen x '180' x / x pieces x pieces x '4') / x set x set x '2' ... (several AP3)
次に、情報処理装置200は、集合の区別をなくし、集合によらず、注目する事物の情報を取得する。例えば、数AP3の例では、野菜かご、および野菜セットの区別をなくす。そのため、数AP3を入力式とし、リンゴ+/+円+個+かご+セット+'[0...9]'をフィルタ識別子として、フィルタ処理を実行する(F105)。
Next, the
次に、情報処理装置200は、数値因子化した式表現を基に数値計算を実行する(F106)。数値計算処理に関しては、第2実施形態の図13、図14と同様である。情報処理装置200のCPU13は、特徴量を算出する手段の一例として、F106の処理を実行する。
Next, the
そして、情報処理装置200は、得られた数値計算結果を出力部14に出力する(F107)。ただし、出力先は、図20の処理を実行する関数の戻り値として定義されるメモリ12上の領域でもよい。また、出力先は、例えば、外部記憶装置34上のファイルであってもよい。また、出力先は、例えば、通信部32を介して接続されるネットワーク上の他の情報処理装置でもよい。
Then, the
以上の処理の結果、例えば、以下の数AP3のような結果が得られる。その結果、上記の数AP1で定義される式表現中でリンゴの購入分は、3240円であることが分かる。 As a result of the above processing, for example, a result such as the following number AP3 is obtained. As a result, it can be seen that the purchase amount of apples in the formula expression defined by the number AP1 is 3240 yen.
なお、以上の説明では、数AP3の式表現によって、リンゴに関する価格を算出する例を示したが、情報処理装置200の処理が数AP1に限定される訳ではない。例えば、商品の見積もり、サービスの見積もり、請負作業の見積もり、原材料の見積もり等、式表現を用いて記述される様々な事物あるいは物品、事物の集合、あるいは物品の集合、事物の属性値、あるいは物品の属性値等、様々な対象に関して、図20のような処理を実行できる。
In the above description, an example is shown in which the price related to the apple is calculated by the expression of the number AP3. However, the processing of the
したがって、ユーザは、入力部11、通信部32その他、様々な装置を介して入力される事物、例えば物品等に関する情報を式表現で記述し、メモリ12、外部記憶装置34に格納し、管理することができる。例えば、管理している複数の集合に含まれる特定の事物に関する属性値の合計を算出できる。
Accordingly, the user describes information related to things input through various devices such as the
図21に、式表現で記述される集合に属する事物の属性値の合計値を求める処理を例示する。図21で、F112A、F113A、F113B以外の処理は、図20と同様である。そこで、図20と同一の処理については、説明を省略する。 FIG. 21 illustrates a process for obtaining the total value of attribute values of things belonging to the set described by the expression expression. In FIG. 21, processes other than F112A, F113A, and F113B are the same as those in FIG. Therefore, the description of the same processing as in FIG. 20 is omitted.
図21では、情報処理装置200は、例えば、注目する集合の指定を受け付ける(F112A)。そして、そして、情報処理装置200は注目する集合に関する式表現を切り出す(F113A)。さらに、情報処理装置200は、F113Aで得られた式表現(集合)中で、事物の区別を削除するため、フィルタ処理を実行する(F113B)。
In FIG. 21, the
例えば、数AP1の例では、情報処理装置200は、F112Aにおいて、集合として、野菜かごの指定を受ける。そして、情報処理装置200は、F113Aにおいて、例えば、数AP1を商演算される式表現、"野菜かご"を商演算する因子として、図5Aに示した商演算を実行する。すると、情報処理装置200は、以下の数AP4を得る。
For example, in the example of the number AP1, the
野菜かご×(人参×100円×/×本×2本+リンゴ×200円×/×1個×3個)/×かご×3かご・・・(数AP4)
Vegetable basket x (carrot x 100 yen x / x book x 2 + apple x 200 yen x /
さらに、情報処理装置200は、数AP4に対して、フィルタ後に残す識別子として、'野菜かご+/+円+個+かご+かご+[0...9]'を指定して、フィルタ処理を実行する。その結果、数AP4の事物の区別、例えば、にんじん、リンゴが削除される。さらに、情報処理装置200は、数値因子化処理、数値計算処理、および出力を実行し、以下の処理結果を得る。すなわち、野菜かごの合計が2400円であることが分かる。
Furthermore, the
野菜かご×円×'2400'・・・(数AP5) Vegetable basket x yen x '2400' ... (several AP5)
以上述べたように、図21によれば、注目する集合に含まれる事物の属性値の合計値を算出できる。図21では、数AP1で示される式表現中の"野菜かご"の合計を求めたが、情報処理装置200の処理が、数AP1に限定される訳ではない。
As described above, according to FIG. 21, the total value of attribute values of things included in the set of interest can be calculated. In FIG. 21, the total of “vegetable baskets” in the expression expressed by the number AP1 is obtained, but the processing of the
すなわち、情報処理装置200は、式表現のように、項の和、あるいは項の集合と、項に含まれる因子とによって、従来のデータベースシステムのようにデータ構造したデータとデータへの情報処理を行う代わりに、柔軟な構造で様々な事物、例えば物品に関する情報のコンピュータ上の処理を可能とする。第3実施形態では、さらに、そのような情報のうち、数値因子の部分を明示的な記述とすることで、様々な事物あるいは物品に関連する数値上の処理を可能とする。例えば、情報処理装置200は、物品の個数、価格、あるいはそれらの集計値に関する取り扱いを可能とする。したがって、情報処理装置200によれば、従来、人がメモを取り、あるいはコンピュータ上の固定のデータ構造を用いて行っていた管理処理が、式表現による柔軟な形態で実行可能となる。
That is, the
したがって、情報処理装置200が提供する情報処理機能は、従来のデータ構造が固定されたデータベースを用いる場合と比較して、飛躍的な設計自由度と、情報処理の改造容易化を実現する。例えば、数AP1のような式表現で記述された情報から、簡易に管理対象の特徴量、例えば、特定商品の合計金額、特定の商品集合の合計金額等を算出できる。
Therefore, the information processing function provided by the
《第4実施形態》
図22を参照して、第4実施形態に係る情報処理装置200について説明する。上記第3実施形態では、第1実施形態の情報処理装置、および第2実施形態で説明した情報処理装置200を適用した応用装置の例として、式表現で表現される事物の特徴量の1つとして、特定商品の価格、特定の商品集合の価格を算出する処理を例示した。第4実施形態では、式表現を事物の設計データに適用した情報処理装置200を例示する。したがって、基本的には、第1実施形態から第3実施形態の構成要素は、そのまま第4実施形態でも用いられる。
<< 4th Embodiment >>
With reference to FIG. 22, an
図22は、第4実施形態に係る情報処理装置200の処理、例えば、設計対象の特徴量の算出処理を例示する図である。図22の処理では、情報処理装置200は、種々の設計対象に関する情報の入力を例えば入力部11から受け、式表現の形式でメモリ12、または外部記憶装置34に格納する。この場合の設計対象は、例えば、建築物、機械、機器、容器等の構造物、電気回路、電子回路、半導体の構造、化学物質の構造、薬品の構造、分子の構造、コンピュータ上でシミュレーションされるシミュレーション対象のモデル構造等、特に限定はない。ただし、実施例1、2と同様、設計対象である事物、物品等は、例えば、集合と、集合に含まれる事物を特定する識別子と、その事物の属性値と、その事物の数量と、集合の数量を含む。実施例3では、構造物の特徴量の算出を例示する。すなわち、以下では、一例として、設計対象の3次元オブジェクトを処理する処理例を説明する。ここで、3次元オブジェクトは、体積1200立方ミリメートル、直方体の側面が縦5センチメートル、横12ミリメートルであると想定する。以下、このような直方体について、側面からの奥行きを求める。また、以下では、設計対象の特徴量を特性ともいう。特性は、例えば、事物の属性値、物品の属性値等を含み、例えば、設計上の主要な管理項目となる情報等として例示できる。
FIG. 22 is a diagram illustrating a process of the
図22のように、情報処理装置200は、設計対象の構造、設計対象に含まれる要素の識別子、要素の属性値、要素と構造との関係、設計対象の特性等、特徴量示す式表現を入力し、式表現をメモリに格納する(F121)。
As shown in FIG. 22, the
さらに、奥行きを記述する式表現中の項および因子の式を設定する。ここでは、例えば、設計対象を示す3次元オブジェクトについて、設計対象に含まれる要素の識別子、要素の属性値を例示すると以下式数AP6の通りである。 Furthermore, an expression of terms and factors in the expression expressing the depth is set. Here, for example, for the three-dimensional object indicating the design target, the identifier of the element and the attribute value of the element included in the design target are illustrated as the following expression number AP6.
体積=100mm^3+縦=5cm+横=12mm+cm=10mm(数AP6) Volume = 100mm ^ 3 + length = 5cm + width = 12mm + cm = 10mm (several AP6)
ここで、例えば、体積=1200mm^3+縦=5cm+横=12mm等は要素の属性値ということができる。さらに、cm=10mmは、単位の換算の定義を示す式表現である。このような設計対象に含まれる要素の識別子、要素の属性値等については、特徴量を求める処理実行時に、情報処理装置200が入力部11から入力を受け付けるようにしてもよい。また、情報処理装置200は、事前に設計対象を記述した式表現をデータベース(例えば、図10のデータ部45、外部記憶装置34等)に格納しておき、特徴量を求める処理実行時に、データベースから設計対象に含まれる要素の識別子、要素の属性値、要素と構造との関係等を読み出すようにしてもよい。なお、データベースには、式表現で設計対象を記述して置けばよい。
Here, for example, volume = 1200 mm ^ 3 + vertical = 5 cm + horizontal = 12 mm can be referred to as an element attribute value. Furthermore, cm = 10 mm is a formula expression showing the definition of unit conversion. Regarding the identifier of the element, the attribute value of the element, and the like included in such a design target, the
次に、情報処理装置200は、特徴量を求める式表現の入力を受け付ける(F122)。例えば、体積、側面の縦と横の寸法が既知の直方体について、奥行きは、以下の式数AP7で記述できる。この奥行きの式表現は、要素と構造との関係と呼ぶこともできる。情報処理装置200のCPU13は、指定対象情報の入力を受け付ける手段として、F122の処理を実行する。
Next, the
体積×/(縦×横)・・・(数AP7) Volume x / (length x width) ... (several AP7)
次に、情報処理装置200は、注目する式表現中の項、因子の式表現を取得し、置換処理で特徴量の式表現に設定する(F123)。式数AP7の例では、項が1つの式表現であるので、式数AP7に含まれるそれぞれの因子に対して、具体的な式表現を設定することになる。数AP7の各因子に設定すべき式表現は、式数AP6で与えられている。そこで、式数AP6で与えられる各要素の式表現で、式数AP7の各因子を置換すればよい。置換としては、情報処理装置200は、第2実施形態で説明した置換処理(図16)を実行すればよい。情報処理装置200は、置換処理によって、式数AP8を得る。
Next, the
1200mm^3/(5cm×12mm)・・・(数AP8) 1200mm ^ 3 / (5cm x 12mm) ... (several AP8)
次に、情報処理装置200は、式表現中の単位を換算するための置換処理を実行する(F124)。置換処理のパラメータは、式数AP6中のcm=10mmで指定される。単位換算の結果、情報処理装置200は、式数AP9を得る。
Next, the
1200mm^3/(50mm×12mm)・・・(数AP9) 1200mm ^ 3 / (50mm x 12mm) ... (several AP9)
さらに、情報処理装置200は、式表現に対して、数値因子化処理を実行する(F125)。数値因子化処理は、第2実施形態で説明した数値因子化処理(図11)を実行すればよい。数値因子化処理の結果、情報処理装置200は、式数AP10を得る。情報処理装置200のCPU13は、構成要素の属性値に変換する手段の一例として、F122およびF124の処理を実行する。
Further, the
mm×^3×'1200'×/(mm×'50'×mm×'12')・・・(数AP10) mm × ^ 3 × '1200' × / (mm × '50' × mm × '12 ') ... (several AP10)
さらに、情報処理装置200は、数値因子化された式表現に対して、数値計算処理を実
行する(F126)。情報処理装置200のCPU13は、特徴量を算出する手段の一例として、F122およびF126の処理を実行する。
Furthermore, the
そして、情報処理装置200は、求めた特徴量を出力する(F117)。すなわち、式数AP10の演算結果として、奥行き2mmが出力される。なお、このとき因子mm×^3と因子/(mm×'50'×mm×'12')との間で識別子であるmmの約分が実行される。
Then, the
以上述べたように、第4実施形態に係る情報処理装置200は設計対象の構造、設計対象に含まれる要素の識別子、要素の属性値、要素と構造との関係、設計対象の特性を示す式表現の入力を受け付ける。また、情報処理装置200は、図10のデータ部45等で例示されるデータベースに、設計対象の設計対象の構造、設計対象に含まれる要素の識別子、要素の属性値、要素と構造との関係、設計対象の特性、属性値等示す式表現を格納しておく。また、要素は識別子で特定される。ただし、情報処理装置200は、ネットワーク上の他の情報処理装置から、設計対象の設計対象の構造、設計対象に含まれる要素の識別子、要素の属性値、要素と構造との関係、設計対象の特性、属性値等示す式表現を取得してもよい。
As described above, the
そして、情報処理装置200は、構造物の特徴量を記述した式表現を受け付ける。この場合に受け付ける式表現は、項、因子等の要素に自然言語等を含む識別子を用いて記述してよい。そして、情報処理装置200は、自然言語等を項、因子等の要素に含む構造物の特徴量の式表現を、構造物の要素の属性値を用いた式表現に置換する。さらに、情報処理装置200は、単位換算、数値因子化処理、および数値計算処理を実行することにより、構造物の特徴量を算出することができる。
Then, the
すなわち、第4実施形態の情報処理装置200は、自然言語等によって記述される設計対象の構造、設計対象に含まれる要素の識別子、要素の属性値、要素と構造との関係、設計対象の特性等示す式表現をメモリ12、外部記憶装置34等に格納しておき、データベースを構築することができる。そして、構築された設計対象を記述するデータベースから構造物の式表現に含まれる要素の属性値を取得し、構造物の特徴量を出力できる。
That is, the
以上のような処理は、構造物に限定される訳ではなく、電気回路、電子回路、半導体の構造、化学物質の構造、薬品の構造、分子の構造、コンピュータ上でシミュレーションされるシミュレーション対象のモデル構造等、様々な対象に適用できる。 The above processing is not limited to a structure, but an electric circuit, an electronic circuit, a semiconductor structure, a chemical substance structure, a chemical structure, a molecular structure, and a simulation target model to be simulated on a computer. It can be applied to various objects such as structures.
《第5実施形態》
図23を参照して、第5実施形態に係る情報処理装置200について説明する。図23のように、第5実施形態に係る情報処理装置200は、処理部40とデータ部45を有する。ただし、基本的には、第1実施形態から第4実施形態で説明した構成要素は、そのまま第5実施形態でも用いることができる。
<< 5th Embodiment >>
With reference to FIG. 23, an
また、図23では省略しているが、第2実施形態の図9と同様に、情報処理装置200は、入力部11、出力部14、通信32、外部記憶装置34、着脱可能記憶媒体アクセス装置36等を接続してもよい。ただし、入力部11、出力部14、通信32、外部記憶装置34、着脱可能記憶媒体アクセス装置36等は、必須の構成ではなく、情報処理装置200に要求される仕様にしたがって、適宜設ければよい。
Although omitted in FIG. 23, the
処理部40の構成は、第1実施形態から第4実施形態と同様である。処理部40の機能は、例えば、CPU13がメモリ12上のコンピュータプログラムを実行することで実現される。処理部40は、データ部45内の式表現に対して、第1実施形態から第4実施形態で説明した処理と同様の処理を実行する。
The configuration of the
また、例えば、処理部40は、代数演算部40Aを有する。代数演算部40Aは、因子の列として積演算子で結合される数値識別子間で乗算を実行し、前記項の組み合わせに対して数値識別子間で加算を実行する。代数演算部40Aの処理は、例えば、第2実施形態の図13、図14で例示される。
For example, the
データ部45は、記憶部の一例であり、式表現で記述される対象情報を格納する。データ部45の構成は、第1実施形態から第4実施形態と同様である。
The
例えば、データ部45は、メモリ12、外部記憶装置34等に構築される。ただし、データ部45としては、外部記憶装置45を用いなくてもよい。また、外部記憶装置45に代えて、通信部32を介して接続されるネットワーク上の他の情報処理装置の外部記憶装置を用いてもよい。
For example, the
ここで、例えば、データ部45に格納される対象情報は、識別子と、因子の列として複数の識別子を結合する積演算子と、識別子および因子の列として結合された複数の識別子のいずれかまたは両方から項の組み合わせを構成する和演算子と、によって記述される。また、識別子は、数値を表す数値識別子を含む。
Here, for example, the target information stored in the
以上述べたように、情報処理装置200は、処理部40とデータ部45とによって、第1実施形態から第3実施形態と同様の処理を実行する。
As described above, the
情報処理装置200が、他の情報処理装置と式表現等の情報を授受するには、例えば、情報処理装置200に、通信部32を接続し、通信部32を介して、他の情報処理装置と通信すればよい。情報処理装置200は、通信部32から受信した式表現等の情報をデータ部45に格納すればよい。また、情報処理装置200は、代数演算等の加工を実行した式表現等の情報を通信部32を介して、他の情報処理装置と出力すればよい。
In order for the
情報処理装置200に、着脱可能記憶媒体アクセス装置36が接続されている場合には、着脱媒体との間で式表現等の情報を授受すればよい。また、情報処理装置200に、入力部11、出力部14が接続されている場合には、情報処理装置200は、入力部11から式表現等の情報を入力し、出力部14に加工した式表現等の情報を出力すればよい。
When the removable storage
したがって、少なくとも、代数演算部40Aを含む処理部40と、データ部45とよって、情報処理装置200は機能し、第1実施形態から第4実施形態で説明したものと同様、式表現に対する代数演算処理を実行する。したがって、本実施形態の情報処理装置200は、従来のようにデータモデルを固定することなく、様々な事物を式表現で記述し、データ部45に格納し、代数演算部40Aの処理の含む、式表現に対する処理を実行することができる。
Therefore, the
以下、情報処理装置200が式表現を代数演算式に変換して実行する処理を例示する。ここでは、単価・数量を基に、処理対象(以下、オブジェクトともいう)を再帰的構造によって記述する。ここで、再帰的構造とは、例えば、式表現の第1の括弧“()”による項の集合を階層的に記述した構造、第2の括弧“{}”による項の並びを複数階層に渡って記述した構造をいう。なお、第1の括弧“()”による項の集合中の項の順序の入れ替えは可能であるが、第2の括弧“{}”による項の並びにおいて、項の順序の入れ替えはできない。再帰的構造は、階層的構造ということもできる。
Hereinafter, a process in which the
以下の処理では、情報処理装置200は、再帰的構造によって記述されたオブジェクトを、階層別、オブジェクト別等で計算する。ここでは、以下のような商品、すなわち、買
い物セット1と買い物セット2を販売、あるいは購入する場合と想定する。
In the following processing, the
買い物セット1は2セットある。買い物セット1には、たまごと、ハムと、リンゴが含まれている。買い物セット1のたまご(300円/12個)は、60個ある。買い物セット1のハムは、ロースハム(300円/1パック)が3パックと、生ハム(500円/1パック)が1パックある。買い物セット1のリンゴは、青森産(180円/個)が1個、
宮城産(150円/個)が1個である。
There are two shopping sets 1. The shopping set 1 includes eggs, ham, and apples. There are 60 eggs in the shopping set 1 (¥ 300/12). The ham of shopping set 1 includes three packs of roast ham (300 yen / pack) and one pack of raw ham (500 yen / pack). The apple of shopping set 1 is one from Aomori (180 yen / piece),
One from Miyagi (150 yen / piece).
一方、買い物セット2は、3セットある。買い物セット2には、梨とリンゴが含まれる。買い物セット2のなしは、山梨産(120円/個)が2個、山形産(100円/個)が3個である。買い物セット2のリンゴは、青森産(180円/個)が4個、福島産(200円/個)が5個である。
以上の商品を式表現で記述すると、以下の数FML1で表すことができる。
On the other hand, there are three shopping sets 2. Shopping set 2 includes pears and apples. Without the shopping set 2, there are 2 Yamanashi products (120 yen / piece) and 3 Yamagata products (100 yen / piece). The number of apples in
If the above-mentioned goods are described by a formula expression, they can be expressed by the following number FML1.
買い物セット1×(たまご×300円×/×12個×60個+ハム×(ロース×300円×/×1本×2
本+生×500円×/×1パック×1パック)+リンゴ×(青森産×180円×/×個×1個+宮城産
×150円×/×個×1個))/×セット×2セット+買い物セット2×(梨×(山梨産×120円×/×1個×2個+山形産×100円×/×1個×3個)+リンゴ×(青森産×180円×/×個×4個+福島産×200円×/×個×5個))/×セット×3セット・・・(数FML1)
Shopping set 1 x (egg x 300 yen x / x 12 x 60 pieces + ham x (loose x 300 yen x / x 1 x 2)
Book + raw × 500 yen × / × 1 pack × 1 pack) + apple × (Aomori × 180 yen × / × pieces × 1 + Miyagi × 150 yen × / × pieces × 1)) / × set × 2 sets + shopping set 2 x (pear x (Yamanashi x 120 yen x / x 1 x 2 pieces + Yamagata x 100 yen x / x 1 x 3 pieces) + apple x (Aomori x 180 yen x / X pieces x 4 pieces + Fukushima x 200 yen x / x pieces x 5 pieces)) / x set x 3 sets ... (several FML1)
このような商品を記述する式は、例えば、入力部11を含むユーザインターフェースから、ユーザが入力するようにしてもよい。ここでは、情報処理装置200が処理する情報は、数FML1のように式表現で記述され、メモリ12等に格納されているとする。
The formula describing such a product may be input by the user from a user interface including the
(A)リンゴの合計金額を求める処理
ここで、情報処理装置200が、メモリ12に格納された数AP21の式表現からリンゴの合計金額を求める処理は、以下の通りである。
(A1)情報処理装置200は、分割写像により、数FML1から”リンゴ”で式表現を切り出す。分割写像は、第3実施形態と同様に、商演算を用いて実現される。切り出された式表現は、数FML2のようになる。
(A) Processing for Obtaining Total Apple Amount Here, the
(A1) The
買い物セット1×(リンゴ×(青森産×180円×/×個×1個+宮城産×150円×/×個×1個))/×セット×2セット+買い物セット2×(リンゴ×(青森産×180円×/×個×4個+
福島産×200円×/×個×5個))/×セット×3セット・・・(数FML2)
Shopping set 1 x (Apple x (Aomori x 180 yen x / x pieces x 1 + Miyagi x 150 yen x / x pieces x 1)) / x set x 2 sets + shopping set 2 x (apple x ( Aomori x 180 yen x / x x 4 x
Fukushima x200 yen x / x pieces x 5 pieces)) / x set x 3 sets ... (several FML2)
(A2)情報処理装置200は、数値化処理を実行する。数値化処理は、図11に例示したものと同様である。数値化された式表現(代数演算式)は以下の通りである。
(A2) The
買い物セット1×(リンゴ(青森産×'180'×円×/×個×'1'×個+宮城産×'180'×円×/×個×'1'×個))/×セット×'2'×セット+買い物セット2×(リンゴ(青森産×'180'×円
×/×個×'4'×個+福島産×'200'×円×/×個×'5'×個))/×セット×'3'×セット・・・(数FML3)
Shopping set 1 x (Apple (Aomori x '180' x Yen x /
(A3)情報処理装置200は、フィルタ処理により、リンゴの金額の判定に用いない識別子を除去する。すなわち、情報処理装置200は、フィルタ後に残す識別子として、'リンゴ+/+円+個+かご+セット+[0...9]'を指定して、数FML3の代数演算式にフィルタ処理を実行する。なお、フィルタ処理で指定さされる、フィルタ後に残す識別子は、ユーザが指定するようにしてもよい。また、例えば、「リンゴの合計金額を求める処理」を実行する場合に、リンゴの識別子を自動選択するとともに、セットのように集合を示す識別子、円、個のように単位を示す識別子、および数字を示す識別子[0...9]を初期値として
情報処理装置200がメモリ12等に保持するようにしてもよい。フィルタ処理は、図18に示したものと同様である。フィルタ処理の結果は、以下の通りである。
(A3) The
(リンゴ×('180'×円×/×個×'1'×個+'150'×円×/×個×'1'×個))/×セット×'2'
×セット+(リンゴ×('180'×円×/×個×'4'×個+'200'×円×/×個×'5'×個))/×セッ
ト×'3'×セット・・・(数FML4)
(Apple x ('180' x circle x / x pieces x '1' x pieces + '150' x circle x / x pieces x '1' x pieces)) / x set x '2'
× set + (apple × ('180' × circle × / × piece × '4' × piece + '200' × circle × / × piece × '5' × piece)) / × set × '3' × set .. (Number FML4)
(A4)情報処理装置200は、数FML4に対して、数値計算処理を行う。数値計算処理は、図13、図14に示したものと同様である。数値計算書の結果は、(リンゴ×円
×'330')×'2'+(リンゴ×円×'1720')×'3'=リンゴ×円×'5490'となる。すなわち、数FML1で記述される式表現中のリンゴの合計額は5490円となる。
(A4) The
(B)リンゴの産地別の合計金額を求める処理
福島産、青森産、宮城産のリンゴのそれぞれのトータル金額を求める処理は以下の通りである。
(B) Processing for determining the total amount of apples by production area Processing for determining the total amount of apples from Fukushima, Aomori, and Miyagi is as follows.
(B1)情報処理装置200は、分割写像により”リンゴ×福島産”(リンゴかつ福島産を含んだ部分集合を取得の意味)で、数FML1から式表現を切り出す。分割写像によって切り出された式表現は、以下の通りである。
(B1) The
買い物セット2×リンゴ×(福島産×200円×/×個×5個)/×セット×3セット・・・(
FML12)
Shopping set 2 x apple x (Fukushima x 200 yen x / x pieces x 5 pieces) / x set x 3 sets ... (
FML12)
(B2)情報処理装置200は、数値化処理を実行する。数値化された式表現(代数演算式)は以下の通りである。
(B2) The
買い物セット2×リンゴ×(福島産×'200'×円×/×個×'5'×個)/×セット×'3'×セ
ット・・・(FML13)
Shopping set 2 x apple x (Fukushima x '200'
(B3)情報処理装置200は、フィルタ処理により、福島産のリンゴの金額の判定に用いない識別子を除去する。すなわち、情報処理装置200は、フィルタ後に残す識別子として、'リンゴ+福島産+/+円+個+セット+[0...9]'を指定して、数FML13の代数演算式にフィルタ処理を実行する。フィルタ処理の結果は、以下の通りである。
(B3) The
リンゴ×(福島産×'200'×円×/×個×'5'×個)/×セット×'3'×セット・・・(FM
L14)
Apple x (Fukushima x '200' x circle x / x pieces x '5' x pieces) / x set x '3' x set ... (FM
L14)
(B4)情報処理装置200は、数FML14に対して、数値計算処理を行う。数値計算書の結果は、リンゴ×福島産×'3000'×円となる。すなわち、福島産のリンゴの合計額は3000円となる。
(B4) The
(C)同様に、青森産のリンゴについて、情報処理装置200は、リンゴ×青森産×'2340'×円を求めることができる。
(C) Similarly, for an apple from Aomori, the
(D)同様に、宮城産のリンゴについて、情報処理装置200は、リンゴ×宮城産×'150'×円を求めることができる。
(D) Similarly, for the apples from Miyagi, the
(E)さらに、(B4)、(C)、(D)の処理が終わった後に、リンゴの合計金額、あるいは、福島産、青森産、宮城産のリンゴの合計金額は、次のように、求めることができる。 (E) Furthermore, after the processing of (B4), (C), (D) is finished, the total amount of apples, or the total amount of apples from Fukushima, Aomori, and Miyagi is as follows: Can be sought.
(E1)情報処理装置200は、(B4)、(C)、(D)で得られた式表現(代数演
算式)を和演算子で結合する。
(E1) The
リンゴ×福島産×'3000'×円+リンゴ×青森産×'2340'×円+リンゴ×宮城産×'150'×
円・・・(数FML15)
Apple x Fukushima x '3000' x Yen + Apple x Aomori x x 2340 x Yen + Apple x Miyagi x 150 x
Yen ... (several FML15)
(E2)情報処理装置200は、数FML15に対して、数値計算処理を行う。その結果、リンゴ×'5490'×円が得られ、リンゴの合計金額は、5490円と計算される。
(E2) The
以上述べたように、本実施形態の情報処理装置200によれば、数FML1のような事物、例えば、複数の買い物セットに含まれる商品構成、単価、および個数を階層的に記述した式表現に対して、(A)のように、リンゴを特定して合計金額を求めることができる。一方、(B4)(C)(D)のように、一旦、福島産、青森産、宮城産のように種別が分類されて商品の金額を示す式表現(代数演算式)が得られている場合に、これらの式表現を和演算子で結合することで、種類別の合計を商品の複数種別の小計、全体の合計等の演算に流用できる。すなわち、このような小計、あるいは合計は、式表現で集合を取り扱う演算子である和演算子をそのまま使用すればよい。すなわち、情報処理装置200によれば、数値nを明示的に示す演算子であり、数値演算子(例えば、コーテーションマーク’’)により、数値を示す数値識別子(’n’)を明示的に記述するので、数値以外の識別子と数値識別子とを含む式表現において、和演算子を用いて、式表現を作成することにより、数値演算を実行できる。
As described above, according to the
また、情報処理装置200によれば、数値以外の識別子と数値識別子とを含む式表現が得られている場合、例えば、1個200円のリンゴの単価がデータベースに記述され、リンゴ10個の購入が決まった場合に、情報処理装置200は、以下の式表現を作成できる。すなわち、情報処理装置200は、データベースから読み出したリンゴ×'200'×円×/×個と、購入個数を示す’10’個について、積演算子で結合し、リンゴ×'200'×円×/×個×’10’個から、リンゴ×'2000'×円を計算することができる。
Further, according to the
すなわち、情報処理装置200によれば、事物を記述する識別子と、事物の数量を示す識別子を混在させて、集合を示す和演算子と積演算子の組み合わせによって、集合の概念と数値の加算(負の数による減算を含む)の概念とを区別なく記述し、数値の演算を実行できる。また、情報処理装置200によれば、積演算子が構成する因子について、事物の修飾の概念、例えば、リンゴ、リンゴ×青森、ハム、ハム×ロース等と、数量の概念、例えば、リンゴについての'200'×円、’10’個等とを混在させて取り扱うことができる。
That is, according to the
《第6実施形態》
図24および図25を参照して、第6実施形態に係る情報処理装置200について説明する。上記第2実施形態から第5実施形態では、式表現を用いて事物に係る情報をメモリ12等の記憶装置に蓄積し、蓄積された式表現を基に、その事物に係る数値を計算する処理を実現する情報処理装置200を例示した。これらの実施形態では、図11の数値処理フローに例示したように、情報処理装置200は、まず、数値識別子を明示的に表示しない式表現から数値識別子を明示的に表示した式表現である代数演算式に変換した。そして、図13、図14のように、数値計算処理を実行した。
<< 6th Embodiment >>
With reference to FIGS. 24 and 25, an
第6実施形態では、代数演算式への変換処理として、例えば、図11で例示される数値処理フローとは異なる処理が例示される。例えば、図11の処理では、変換対象の入力式に含まれる識別子が数字を含むか否かが判定され、識別子中の数字部分、あるいは数字で定義された識別子自体が数値化された。また、識別子が複数の数値部分を含む場合、すべての数値部分が数値化された。すなわち、図11の数値化処理で処理される式表現中の数字は、区別なく、そのまま数値された。 In the sixth embodiment, for example, a process different from the numerical processing flow illustrated in FIG. 11 is exemplified as the conversion process to the algebraic arithmetic expression. For example, in the process of FIG. 11, it is determined whether or not the identifier included in the input expression to be converted includes a numeral, and the numeric part in the identifier or the identifier itself defined by the numeral is digitized. Further, when the identifier includes a plurality of numerical parts, all the numerical parts are digitized. That is, the numbers in the expression expressed by the numerical processing in FIG.
第6実施形態では、式表現中の識別子が数字を含み、予め定義された識別子(以下、単位指定識別子と呼ぶ)と関連付けされているときに、式表現中の識別子が数値化される。ここで、単位指定識別子とは、数値が示す量あるいは数の単位を示す識別子である。したがって、第6実施形態の処理では、単位指定識別子と関連付けされていない識別子は、数字を含んでいても数値化されない。ここで、識別子が関連づけされている例としては、以下を例示できる。 In the sixth embodiment, when the identifier in the expression includes a number and is associated with a predefined identifier (hereinafter referred to as a unit designation identifier), the identifier in the expression is digitized. Here, the unit designation identifier is an identifier indicating a unit of quantity or number indicated by a numerical value. Therefore, in the process of the sixth embodiment, an identifier that is not associated with a unit designation identifier is not digitized even if it includes a number. Here, the following can be illustrated as an example with which the identifier is linked | related.
(1)識別子が単位識別子と積演算子で結合されている場合である。
(2)識別子中に、単位指定識別子として定義された記号列と、数字部分とが混在する場合である。
(1) This is a case where an identifier is combined with a unit identifier by a product operator.
(2) This is a case where a symbol string defined as a unit designation identifier and a numeric part are mixed in the identifier.
第6実施形態における数値処理以外の構成は、第1実施形態から第5実施形態と同様である。そこで、第6実施形態の情報処理装置200は、数値処理以外の構成については、第1実施形態から第5実施形態の構成をそのまま有するものとする。
Configurations other than the numerical processing in the sixth embodiment are the same as those in the first to fifth embodiments. Therefore, the
図24に第6実施形態に係る情報処理装置200の構成を例示する。図24のように、第6実施形態に係る情報処理装置200は、処理部40とデータ部45と単位識別子記憶部45Bを有する。処理部40のうち、代数演算部40Aについては、第5実施形態の図23と同様であるので、その説明を省略する。
FIG. 24 illustrates the configuration of the
なお、図24では省略しているが、第2実施形態の図9と同様に、情報処理装置200は、入力部11、出力部14、通信32、外部記憶装置34、着脱可能記憶媒体アクセス装置36等を接続してもよい。ただし、入力部11、出力部14、通信32、外部記憶装置34、着脱可能記憶媒体アクセス装置36等は、必須の構成ではなく、情報処理装置200に要求される仕様にしたがって、適宜設ければよい。
Although omitted in FIG. 24, as in FIG. 9 of the second embodiment, the
処理部40のうち、変換部40Bは、単位指定識別子記憶部45Bを参照し、単位指定識別子を取得する。そして、変換部40Bは、単位指定識別子記憶部45Bに登録されている単位指定識別子と関連づけられた識別子、あるいは識別子中の数字部分を数値化する。
Of the
単位指定識別子記憶部45Bは、例えば、メモリ12、外部記憶装置34等に構築される。また、情報処理装置200は、外部記憶装置34に代えて、通信部32を介して接続されるネットワーク上の他の情報処理装置の外部記憶装置を用いてもよい。単位指定識別子記憶部45Bには、例えば、入力部11、通信32等を介して、情報処理装置200から、単位指定識別子を登録できるようにすればよい。単位指定識別子としては、例えば、そのまま単位を示す記号列を登録すればよい。
The unit designation identifier storage unit 45B is constructed in the
例えば、通貨の単位として、円、¥(円の通貨記号)、doller(ドル)、$(ドルの通貨記号)、EUR(ユーロ)、ユーロの通貨記号等を例示できる。また、重さを示すグラム、g(グラムの記号)、キログラム、kg(キログラムの記号)を例示できる。長さの単
位として、メートル、meter(メートル)、m(メートルの記号)等を例示できる。単位
指定識別子は、任意にユーザが単位指定識別子記憶部45Bに定義できるようにしてもよい。例えば、ユーザは、特定の業界で用いられる所望の単位を単位指定識別子記憶部45Bに定義すればよい。また、ユーザは、単位を示す記号列として、任意に定義すればよい。例えば、ユーザは、円の代わりに、yen,あるいはYEN等を定義してもよい。
For example, yen, yen (yen currency symbol), dollar (dollar), $ (dollar currency symbol), EUR (euro), euro currency symbol, and the like can be exemplified as a unit of currency. Further, gram, g (gram symbol), kilogram, kg (kilogram symbol) indicating the weight can be exemplified. Examples of the unit of length include meter, meter (meter), m (meter symbol), and the like. The unit designation identifier may be arbitrarily defined by the user in the unit designation identifier storage unit 45B. For example, the user may define a desired unit used in a specific industry in the unit designation identifier storage unit 45B. The user may arbitrarily define the symbol string indicating the unit. For example, the user may define yen or YEN instead of a circle.
なお、図24では、式表現を格納するデータ部45とは別に、単位指定識別子記憶部45Bが設けられている。しかし、式表現を格納するデータ部45と単位指定識別子記憶部45Bが一体のものでもよい。例えば、情報処理装置200は、データ部45に、式表現とともに、単位指定識別子を登録しておいてもよい。
In FIG. 24, a unit designation identifier storage unit 45B is provided separately from the
図25に、第6実施形態に係る数値化処理フローを例示する。図25の数値化処理は、単位指定数値化処理と呼ばれる。この処理では、情報処理装置200は、まず、式表現を入力する(F201)。式表現の入力とは、例えば、図9に例示した入力部11等のユーザインターフェースからの入力、通信部32からの入力、外部記憶装置34からの入力等である。ただし、例えば、図25に示した処理がコンピュータプログラムのモジュールとして記述される場合には、式表現の入力は、モジュールの引数、共有メモリ等を通じた入力であってもよい。
FIG. 25 illustrates a numerical processing flow according to the sixth embodiment. The numerical processing in FIG. 25 is called unit designation numerical processing. In this process, the
次に、情報処理装置200は、入力された式表現から次の識別子を取得する(F202)。「次の」と記述されるのは、F202の処理が繰り返し実行されるからである。そして、情報処理装置200は、取得した識別子が単位指定識別子か否かを判定する(F203)。F203の判定では、情報処理装置200は、F202で取得した識別子と、単位指定識別子記憶部45Bで定義された単位指定識別子を照合する。そして、F202で取得した識別子が、単位指定識別子記憶部45Bに定義されている場合には、情報処理装置200は、その識別子が単位指定識別子であると判定すればよい。
Next, the
そして、F202で取得した識別子が単位指定識別子である場合、情報処理装置200は、単位指摘識別子と積演算子で結合された識別子を取得する。そして、情報処理装置200は、単位指摘識別子と積演算子で結合された識別子が数字を含むか否かを判定する(F204)。そして、単位指摘識別子と積演算子で結合された識別子が数字を含む場合に、情報処理装置200は、単位指摘識別子と積演算子で結合された識別子の数値を数値化する(F205)。数値化の手順、表記法は、図11の場合と同様である。
When the identifier acquired in F202 is a unit designation identifier, the
なお、F203の判定において、単位指定識別子と積演算子で結合する識別子が、単位指定識別子の右側に結合するか、左側に結合するかは、情報処理装置20内の規則、あるいは、変換部40Bの規則として、メモリ12、あるいは、外部記憶装置43等に格納しておけばよい。例えば、F203の処理を実行する変換部40Bの設計時に規則を確定し、変換部の処理に組み込めばよい。
In the determination of F203, whether the identifier combined with the unit designation identifier with the product operator is coupled with the right side or the left side of the unit designation identifier is determined according to the rule in the
F203、F204で、判定が偽(NO)の場合には、情報処理装置200は、処理をF206に進める。そして、情報処理装置は、次の識別子がF201で入力した識別子中に残っているか否かを判定する。次の識別子が残っている場合には、情報処理装置200は、処理をF202に戻す。一方、次の識別子が残っていない場合には、情報処理装置200は、変換後の式表現を出力する(F207)。ここで、出力先は、F201で式表現の入力先と同一とすればよい。ただし、図25に示した処理がコンピュータプログラムのモジュールとして記述される場合には、式表現の出力先は、モジュールの引数、関数の戻り値、共有メモリ等を通じた出力であってもよい。
In F203 and F204, if the determination is false (NO), the
以下、F203−F205の処理による変換結果を例示する。今、単位指定識別子記憶部45Bには、例えば、YEN、グラム、個が定義されていると仮定する。この場合に、式
表現として、豚肉×200×YEN×/×100×グラム×300×グラムは、豚肉ד200” ×YEN×/×’100’×グラム×’300’×グラムのように数値化される。そして、図13、図14の数値計算処理を実行すると、豚肉×”600”×YENが算出される。すなわち、100グラムあたり200円の豚肉を300グラム購入すると、600円となることが算出される。
Hereinafter, the conversion result by the process of F203-F205 is illustrated. Now, it is assumed that, for example, YEN, grams, and pieces are defined in the unit designation identifier storage unit 45B. In this case, as a formula expression, pork x 200 x YEN x /
図25の処理は、単位指定識別子と積演算子で結合する識別子中の一部の記号が数字で
あればよいので、次のような記述も可能である。例えば、式表現として、豚肉200×YEN
×/×100×グラム×300×グラム+リンゴ100×YEN×/×1×個×4×個は、F20
3−205の処理によって、豚肉ד200” ×YEN×/×グラム×’100’×グラム×’300’+リンゴ×’100’×YEN×/×’1’×個×’4’×個のように数値化される。
In the processing of FIG. 25, since some symbols in the identifier combined with the unit designation identifier by the product operator may be numbers, the following description is also possible. For example, as a formula expression,
× / × 100 × gram × 300 × gram +
By processing 3-205, pork x “200” x YEN x / x gram x '100' x g x '300' + apple x '100' x YEN x / x '1' x piece x '4' x piece It is digitized as follows.
さらに、数値計算処理を実行すると、豚肉×”600”×YEN+リンゴ×’400’×YENのように、豚肉の購入費用が600円、リンゴの購入費用が400円であることが算出される。 Further, when the numerical calculation process is executed, it is calculated that the purchase cost of pork is 600 yen and the purchase cost of apple is 400 yen, such as pork x "600" x YEN + apple x '400' x YEN.
また、例えば、部品×パーツ番号×1010×500×YEN/1×個×10×個は、部
品×パーツ番号×1010×’500’×YEN/’1’×個×’10’×個のように、数値化さ
れる。この場合、部品×パーツ番号×1010については、単位指定識別子と積演算子で結合していないので、数値化されない。そして、数値計算処理を実行すると、部品×パーツ番号×1010×’5000’×YENが得られる。すなわち、パーツ番号1010の部品の
購入費用が5000円であることが算出される。
Also, for example, a part x a part number x 1010 x 500 x YEN / 1 x piece x 10 x pieces would be a part x part number x 1010 x '500' x YEN / '1' x piece x '10' x pieces. It is digitized. In this case, part × part number × 1010 is not quantified because it is not combined with the unit designation identifier by the product operator. When the numerical calculation process is executed, part × part number × 1010 × '5000' × YEN is obtained. That is, it is calculated that the purchase cost of the part with the part number 1010 is 5000 yen.
なお、以上の例示では、数字を含む識別子と、単位指定識別子の関係が、積演算子に対して左側に数字を含む識別子、右側に単位指定識別子が記述される例を説明した。しかし、逆に、積演算子に対して右側に数字を含む識別子、左側に単位指定識別子が記述されるようにしてもよい。要するに、情報処理装置200の変換部40Bにおいて、順序を決めておけばよい。また、単位指定識別子に積演算子で結合される数字を数値識別子に変換する場合に、変換後の数値識別子と単位指定識別子との順序も、情報処理装置200の変換部40Bにおいて決めておけばよい。したがって、情報処理装置200は、例えば、500×YENがYEN×’500’に変換するようにしてもよい。
In the above example, the relationship between an identifier including a number and a unit designation identifier has been described as an example in which an identifier including a number on the left side and a unit designation identifier on the right side are described with respect to the product operator. However, on the contrary, an identifier including a number on the right side and a unit designation identifier on the left side may be described for the product operator. In short, the order may be determined in the
図26に、数値化処理の他の処理例を例示する。図25では、単位指定識別子と積演算子で結合される識別子中の数字を数値化した。図26では、識別子中の記号列として、単位指定識別子と数字部分を含む識別子を数値化する処理例を説明する。図26の処理を識別子の分割処理と呼ぶ。 FIG. 26 illustrates another processing example of the digitization processing. In FIG. 25, the number in the identifier combined with the unit designation identifier and the product operator is digitized. FIG. 26 illustrates an example of processing for digitizing an identifier including a unit designation identifier and a numeric part as a symbol string in the identifier. The process of FIG. 26 is referred to as an identifier dividing process.
単位指定識別子と数字部分を含む識別子とは、例えば、500円、500YEN、YEN500、$1000等である。この場合も、単位指定識別子と数字部分の記述順は、情報処理装置200の数値化処理および数値計算処理において、順序を決めておけばよい。
Examples of the unit designation identifier and the identifier including a numeric part are 500 yen, 500 YEN, YEN 500, and $ 1000. In this case as well, the description order of the unit designation identifier and the numerical part may be determined in the numerical processing and numerical calculation processing of the
図26の処理で、F211およびF212の処理は、図25のF201、F202と同様である。そして、情報処理装置200は、F212で取得した識別子が、数字部分と数字以外の記号部分を含み、数字以外の記号部分が単位指定識別子であるか、否かを判定する。すなわち、情報処理装置200は、F212で取得した識別子が数字を含む場合に、数字以外の記号部分を取得する。そして、数字以外の記号部分と、単位指定識別子記憶部45bとを照合し、数字以外の記号部分が、単位指定識別子記憶部45bに登録されているか否かを判定する(F213)。
In the processing of FIG. 26, the processing of F211 and F212 is the same as F201 and F202 of FIG. Then, the
F213の判定が真(YES)の場合、情報処理装置200は、識別子の数字部分を数値化し、数字以外の記号部分と積演算子で結合する(F214)。F215、F216の処理は、図25のF206、F207の処理と同様であるので、その説明を省略する。
If the determination in F213 is true (YES), the
以下、F213、F214の処理による変換結果を例示する。今、単位指定識別子記憶部45Bには、例えば、YEN、グラム、個が定義されていると仮定する。この場合に、式
表現として、部品×パーツ番号1010×500YEN/1個×10個は、部品×パーツ番
号1010×’500’×YEN/’1’×個×’10’個のように、数値化される。そして、数
値計算処理によって、部品×パーツ番号1010×’5000’×YENが算出される。すなわ
ち、バーツ番号1010の部品の購入額が5000円であることが算出される。
Hereinafter, conversion results by the processes of F213 and F214 will be exemplified. Now, it is assumed that, for example, YEN, grams, and pieces are defined in the unit designation identifier storage unit 45B. In this case, as a formula expression, the part x part number 1010 x 500 YEN / 1 piece x 10 is a numerical value such as part x part number 1010 x '500' x YEN / '1' x piece x '10'. It becomes. Then, part × part number 1010 × '5000' × YEN is calculated by numerical calculation processing. That is, it is calculated that the purchase price of the part with the baht number 1010 is 5000 yen.
この場合にも、F213の判定において、数字部分と非数字部分の識別子内の並びの順序関係は、情報処理装置200において規定し、メモリ12あるいは外部記憶装置34等に格納しておけばよい。あるいは、F213の判定において、数字部分と記号部分の識別子内の並びの順序関係は、変換部40Bの設計段階で規定し、変換部40Bの処理に反映しておけばよい。例えば、識別子中で、数字部分と非数字部分とが、左右に隣接する場合に、F213の判定を真(YES)としてもよい。また、逆に、例えば、識別子中で、非数字部分と数字部分とが、左右に隣接する場合に、F213の判定を真(YES)としてもよい。
Also in this case, in the determination of F213, the order relationship of the arrangement in the identifiers of the numeric part and the non-numeric part may be defined by the
同様に、F214において、数字部分が数値化されたときに、数値化された数値識別子と、非数字の記号を含む非数値識別子を積演算子で結合する順序も、情報処理装置200において規定し、メモリ12あるいは外部記憶装置34等に格納しておけばよい。また、数値化された数値識別子と、非数字の記号を含む非数値識別子を積演算子で結合する順序は、変換部40Bの設計段階で規定し、変換部40Bの処理に反映しておけばよい。したがって、500YENを数値化する場合に、’500’×YENとしてもよいし、YEN×’500’としてもよい。
Similarly, in F214, when the numeric part is digitized, the
以上述べたように、第6実施形態の情報処理装置200によれば、単位指定識別子記憶部45bに登録された単位指定識別子と積演算子で結合される識別子中の数字部分が数値化され、図13、図14で述べた数値演算処理によって、数値演算される。また、1つの識別子中に、数字部分と数字以外の記号部分が含まれる場合で、数字以外の記号部分が単位指定識別子記憶部45bに登録された単位指定識別子である場合も、数字部分が数値化される。
As described above, according to the
一方、単位指定識別子と関連づけられていない数字は、数値化されない。例えば、数字の識別子nnnが、単位指定識別子と積演算子で結合されていない場合には、変換部40Bによって数値化されない。また、1つの識別子中に、数字部分と非数字部分を含む識別子で、非数字部分が単位指定識別子でない識別子も、数値化されない。したがって、部品×パーツ番号×1010のような式表現、あるいは、部品×パーツ番号1010のような式表現を維持した上で、500×YEN/1×個×10×個あるいは500YEN/1個×10個のような数字の部分だけを数値化し、数値計算することができる。すなわち、第6実施形態の情報処理装置200によれば、数値計算の対象としたい数字には、単位指定識別子を関連づけておけばよい。そして、パーツ番号のように、数値計算対象としたくない識別を維持した上で、量を示す識別子の数字部分を数値計算の対象とすることができる。
On the other hand, numbers that are not associated with unit designation identifiers are not digitized. For example, when the numeric identifier nnn is not combined with the unit designation identifier by the product operator, it is not digitized by the
以上の情報処理装置200の処理によれば、事物の識別情報としての数字と、事物の量を示す識別情報としての数字を混在して、式表現中に記述できる。そして、事物の量を示す識別情報としての数字に、単位指定識別子を付与し、その単位指定識別子を単位指定識別子記憶部45Bに登録しておくことで、事物の量を示す識別子、つまり数字の数値計算処理を実行できる。このような処理は、例えば、商品の販売額、人事部門での社員の給与、調達部門の調達額、設計部門での設計上の見積もり、研究部門での研究記録、実験記録等を式表現で記述し、記憶し、集計処理等を実行する上で、極めて有用である。すなわち、情報処理装置200では、式表現によって、種々の事物を示すデータを柔軟に記述し、データ部45に登録しておくことができる。そして、単位指定識別子記憶部45Bに登録された単位指定識別子を基に、式表現中の数字を数値化し、様々なデータの集計、商演算よる検索、部分集合の取得等を実行し、事物の記録と代数演算処理を実行できる。
According to the processing of the
なお、上記では、数値が整数の場合を例示したが、数値が整数以外の実数であっても上記と同様である。情報処理装置200は、例えば、豚肉200×YEN×/×100×グラム×300.28×グラムを豚肉’200’×YEN×/×’100’×グラム×’300.28’の数値化する。また、情報処理装置200は、例えば、式表現である部品×パーツ番号1010×5.12kg/1個×10個を、部品×パーツ番号1010×’5.12’×kg/’1’×個×’10’×個のように数値化する。
In addition, although the case where the numerical value was an integer was illustrated above, even if the numerical value is a real number other than an integer, it is the same as above. For example, the
《第7実施形態》
第2実施形態では、情報処理装置200は、式表現中の数字を数値化し、数値計算を実行した。また、第6実施形態では、情報処理装置200は、単位指定識別子と関連づけされた数値を含む識別子を数値化し、数値計算を実行した。第7実施形態では、数値計算処理に数値を表す文字変数を導入する。例えば、第2実施形態から第6実施形態では、数値(n)を示す数値識別子(’n’)は、数値演算子(’’)によって、明示的に記述され
た。本実施形態では、数値演算子(’’)によって、数値を示す変数識別子(例えば、’X’,’Y’,’Z’等)を記述し、変数識別子の値を求める処理を例示する。ここで、変数識別子(’X’等)の値を求めるための条件として、第1の式表現と、第1の式表現に対して等価な第2の式表現とを関係づけるための等価演算子を導入する。変数識別子と等価演算子よる等価因子が導入される点以外の情報処理装置200の構成および処理は、第1実施形態から第6実施形態と同様である。すなわち、第7実施形態における情報処理装置200の構成および処理は、第1実施形態から第6実施形態の構成および処理と組み合わせて実行される。
<< 7th Embodiment >>
In the second embodiment, the
本実施形態では、等価演算子は、例えば、等号(=)で示される。ただし、等価演算子として、他の記号を用いてもよい。また、等価演算子によって、関係づけられた第1の式表現と第2の式表現とを等価因子と呼ぶ。 In the present embodiment, the equivalence operator is indicated by, for example, an equal sign (=). However, other symbols may be used as the equivalent operator. Further, the first expression expression and the second expression expression related by the equivalent operator are called equivalent factors.
ここでは、等価因子に対して、以下の等価因子処理hを定義する。等価因子となる第1の式表現と第2の式表現は、以下のように表される。 Here, the following equivalent factor processing h is defined for the equivalent factor. The first expression and the second expression that are equivalent factors are expressed as follows.
第1の式表現=第2の式表現
等価因子処理hは、等価因子となっている式表現に、以下の3つの処理を実行する。
First Expression Expression = Second Expression Expression The equivalent factor process h performs the following three processes on the expression expression that is an equivalent factor.
(1)等価因子間で共通の因子を削除する処理
h:a×b×=×a×c =>b×=×c・・・(数AP21)
すなわち、等価因子処理hは、等価識別子で関係付けられた2つの等価因子間(a×b×と×a×cとの間)の関係に対して、共通の因子を削除し、共通でない因子を含む第1の式表現b×と、第2の式表現との関係に変換する。
(1) Processing to delete factors common among equivalent factors h: a × b × = × a × c => b × = × c (Equation AP21)
That is, the equivalent factor process h deletes a common factor for a relationship between two equivalent factors (between a × b × and × a × c) related by an equivalent identifier, and a non-common factor Is converted into a relationship between the first expression expression b × including the second expression expression.
(2)等価因子間の数値識別子の乗算および除算処理
h:'p'×a×=×'q'×c => a×=×'q/p'×c・・・(数AP22)
すなわち、等価因子処理hは、等価識別子で関係付けられた2つの等価因子間('p'×a×と×'q'×cとの間)の関係に対して、同一の数値識別子(’p’)の乗算または除算を実行する。ただし、除算処理は、べき乗の指数として、(―1)を用いることによって、乗算として記述できる。
(2) Multiplication and division processing of numerical identifiers between equivalent factors h: 'p' × a × = × 'q' × c => a × = × 'q / p' × c (Equation AP22)
That is, the equivalent factor process h is the same numerical identifier (') for the relationship between two equivalent factors (' p '× a × and ×' q '× c) related by the equivalent identifier. p ') multiplication or division. However, the division process can be described as multiplication by using (−1) as the exponent of the power.
(3)等価因子間の数値識別子の加算(および減算)処理
h:'p'+a×=×'q'+c => 'a×=×'(q-p)'+c・・・(数AP23)
すなわち、等価因子処理hは、等価識別子で関係付けられた2つの等価因子間('p'+a
×と×'q'+cとの間)の関係に対して、同一の数値識別子(’p’)の加算または減算を実行する。ただし、減算処理は、負の数を用いることによって、加算として記述できる。
(3) Addition (and subtraction) of numeric identifiers between equivalent factors h: 'p' + a × = × 'q' + c =>'a × = ×' (qp) '+ c (number) AP23)
In other words, the equivalent factor process h is performed between two equivalent factors ('p' + a
Addition or subtraction of the same numerical identifier ('p') is performed on the relationship between x and x'q '+ c). However, the subtraction process can be described as addition by using a negative number.
以下に処理例を示す。ここでは、青森県産のリンゴ(1個180円)、宮城県産のリンゴ(1個150円)、福島県産のリンゴ(1個200)とする。さらに、次のような買い物セット1と買い物セット2を設定する。例えば、買い物セット1は、青森県産のリンゴ1個と、宮城県産のリンゴを1個含む。また、買い物セット1は、青森県産のリンゴ4個と、福島県産のリンゴ5個を含む。ここでは、買い物セット1を2セット、買い物セット2を3セット購入する場合を検討する。この場合の購入した商品と金額を示す式表現は以下の通りである。 A processing example is shown below. Here, apples from Aomori prefecture (180 yen each), apples from Miyagi prefecture (150 yen each), and apples from Fukushima prefecture (200 yen each) are assumed. Further, the following shopping set 1 and shopping set 2 are set. For example, the shopping set 1 includes one apple from Aomori Prefecture and one apple from Miyagi Prefecture. The shopping set 1 includes 4 apples from Aomori Prefecture and 5 apples from Fukushima Prefecture. Here, consider a case where two sets of shopping set 1 and three sets of shopping set 2 are purchased. In this case, the formula expression indicating the purchased product and the amount is as follows.
買い物セット1×(リンゴ×(青森産×180円×/×個×1個+宮城産×150円×/×個×1個))/×セット×2セット+買い物セット2×(リンゴ×(青森産×180円×/×個×4個+
福島産×200円×/×個×5個))/×セット×3セット・・・(数AP24)
Shopping set 1 x (Apple x (Aomori x 180 yen x / x pieces x 1 + Miyagi x 150 yen x / x pieces x 1)) / x set x 2 sets + shopping set 2 x (apple x ( Aomori x 180 yen x / x x 4 x
Fukushima x200 yen x / x pieces x 5 pieces)) / x set x 3 sets ... (several AP24)
この式表現に対して、第2実施形態の数値化処理を実行すると、以下の代数演算式が得られる。 When the numerical processing of the second embodiment is performed on this expression, the following algebraic arithmetic expression is obtained.
買い物セット1×(リンゴ×(青森産×'180'×円×/×個×'1'×個+宮城産×'180'×円
×/×個×'1'×個))/×セット×'2'×セット+買い物セット2×(リンゴ×(青森産×'180'×円×/×個×'4'×個+福島産×'200'×円×/×個×'x'×個))/×セット×'3'×セット=リンゴ×'5000'×円・・・(数AP25)
Shopping set 1 x (Apple x (Aomori x '180' x Yen x / x pieces x '1' x pieces + Miyagi x x 180 'x Yen x / x pieces x' 1 'x pieces)) / x set × '2' × set + shopping set 2 × (apple × (Aomori product × '180' × circle × / × piece × '4' × piece + Fukushima × × 200 '× circle × / × piece ×' x ' X pieces)) / x set x '3' x set = apple x '5000' x yen ... (several AP25)
さらに、情報処理装置は、リンゴ+/+円+個+セット+=+[0...9]によってフィルタ処理を
実行する。すなわち、ここでは、情報処理装置は、代数演算式の識別子として、リンゴ、/、円、個、セット、=および数字の0から9以外の因子を除去する処理を実行する。フィルタ処理の結果、得られる代数演算式は、以下の通りである。
Further, the information processing apparatus executes the filtering process by apple + / + circle + piece + set + = + [0 ... 9]. That is, here, the information processing apparatus executes processing for removing factors other than 0 to 9 of apple, /, circle, piece, set, and number as identifiers of algebraic expressions. The algebraic arithmetic expression obtained as a result of the filtering process is as follows.
(リンゴ×('180'×円×/×個×'1'×個+'150'×円×/×個×'1'×個))/×セット×'2'
×セット+(リンゴ×('180'×円×/×個×'4'×個+'200'×円×/×個×'5'×個))/×セッ
ト×'3'×セット・・・(数AP26)
(Apple x ('180' x circle x / x pieces x '1' x pieces + '150' x circle x / x pieces x '1' x pieces)) / x set x '2'
× set + (apple × ('180' × circle × / × piece × '4' × piece + '200' × circle × / × piece × '5' × piece)) / × set × '3' × set .. (Number AP26)
この代数演算式に対して、図13、図14に示した数値計算処理を実行すると、(リン
ゴ×円×'330')×'2'+(リンゴ×円×'1720')×'3'となり、さらに、リンゴ×円×'5490'
が得られる。
When the numerical calculation processing shown in FIGS. 13 and 14 is performed on this algebraic expression, (apple × circle × '330') × '2' + (apple × circle × '1720') × '3' Then, apple x yen x '5490'
Is obtained.
ここで、数AP24で定義される商品と金額の買い物おいて、合計金額が5000円以下になるように、例えば、福島県産のリンゴの数を調整する場合を考える。つまり、ここでは、買い物セット2における福島県産のリンゴの数を調整し、購入額の合計が例えば、予算5000円に収まるように、買い物セットの構成を変更する。そこで、数AP24の式表現において、買い物セット2の福島県産のリンゴの数をx個に置き換えて、等価因子として、リンゴ×5000円を設定する。 Here, a case is considered in which, for example, the number of apples produced in Fukushima Prefecture is adjusted so that the total price is 5000 yen or less in the shopping for the product and the price defined by the number AP24. That is, here, the number of apples produced in Fukushima Prefecture in the shopping set 2 is adjusted, and the configuration of the shopping set is changed so that the total purchase amount falls within, for example, a budget of 5000 yen. Therefore, in the expression of the number AP24, the number of apples produced in Fukushima Prefecture in the shopping set 2 is replaced with x, and an apple × 5000 yen is set as an equivalent factor.
買い物セット1×(リンゴ×(青森産×180円×/×個×1個+宮城産×150円×/×個×1個))/×セット×2セット+買い物セット2×(リンゴ×(青森産×180円×/×個×4個+
福島産×200円×/×個×x個))/×セット×3セット=リンゴ×5000円・・・(数AP27)
Shopping set 1 x (Apple x (Aomori x 180 yen x / x pieces x 1 + Miyagi x 150 yen x / x pieces x 1)) / x set x 2 sets + shopping set 2 x (apple x ( Aomori x 180 yen x / x x 4 x
Fukushima x 200 yen x / x pieces x x pieces)) / x set x 3 sets = apple x 5000 yen ... (several AP27)
数AP27を数値化すると以下の通りである。 The numerical value of the number AP27 is as follows.
買い物セット1×(リンゴ×(青森産×'180'×円×/×個×'1'×個+宮城産×'180'×円
×/×個×'1'×個))/×セット×'2'×セット+買い物セット2×(リンゴ×(青森産×'180'
×円×/×個×'4'×個+福島産×'200'×円×/×個×'x'×個))/×セット×'3'×セット=
リンゴ×'5000'×円・・・(数AP28)
Shopping set 1 x (Apple x (Aomori x '180' x Yen x / x pieces x '1' x pieces + Miyagi x x 180 'x Yen x / x pieces x' 1 'x pieces)) / x set × '2' × set + shopping set 2 × (apple × (Aomori product × '180'
× yen × / × pieces × '4' × pieces + Fukushima × '200' × circle × / × pieces × 'x' × pieces)) / × set × '3' × set =
Apple x '5000' x yen ... (several AP28)
さらに、リンゴ+/+円+個+セット+=+[0...9]でフィルタ処理を実行すると、以下の通り
である。
Furthermore, when the filtering process is executed with apple + / + circle + piece + set + = + [0 ... 9], it is as follows.
(リンゴ×('180'×円×/×個×'1'×個+'150'×円×/×個×'1'×個))/×セット×'2'
×セット+(リンゴ×('180'×円×/×個×'4'×個+'200'×円×/×個×'x'×個))/×セッ
ト×'3'×セット=リンゴ×'5000'×円・・・(数AP29)
(Apple x ('180' x circle x / x pieces x '1' x pieces + '150' x circle x / x pieces x '1' x pieces)) / x set x '2'
× set + (apple × ('180' × circle × / × piece × '4' × piece + '200' × circle × / × piece × 'x' × piece)) / × set × '3' × set = Apple x '5000' x Yen (number AP29)
さらに、数値計算処理を実行すると、以下の通りである。 Furthermore, when the numerical calculation process is executed, it is as follows.
(リンゴ×円×'330')×'2'+(リンゴ×円×('720'+'200'×'x')×'3'=リンゴ×'5000'×円
リンゴ×円×('2820'+'600'×'x')=リンゴ×'5000'×円・・・(数AP30)
(Apple x circle x '330') x '2' + (apple x circle x ('720' + '200' x 'x') x '3' = apple x '5000' x circle apple x circle x (' 2820 '+' 600 '×' x ') = apple x' 5000 'x yen ... (several AP30)
数AP30において、等価因子間の数値識別子の加算処理および等価因子間の数値識別子の乗算処理を実行すると、('2820'+'600'×'x')='5000'が得られ、'x'='3.63'が得られる。よって、買い物セット1の福島県産のリンゴを3個以下にすれば、数AP24での買い物の合計金額を5000円以下にすることができる。 When the numerical identifier addition processing between the equivalent factors and the numerical identifier multiplication processing between the equivalent factors are executed in the number AP30, ('2820' + '600' × 'x') = '5000' is obtained, and 'x '=' 3.63 'is obtained. Therefore, if the number of apples from Fukushima Prefecture in the shopping set 1 is reduced to 3 or less, the total amount of shopping at several AP24 can be reduced to 5000 yen or less.
図27に、数値変数と、等価因子による数値計算処理を実行する処理フローを例示する。この処理では、情報処理装置200は、数値変数を含む第1の式表現を設定する(F221)。数値変数は、例えば、変数X、Y、Z等を予約語としておいてもよい。あるいは、数値識別子(例えば、‘’)で数値として定義された数字以外の記号の識別子(例えば、’X’,’Y’,’Z’等)を、数値変数を表す識別子として処理してもよい。数値識別子によって数値変数を表す識別子を定義する場合には、予約語は不要となる。第1の式表現の例は、例えば、数AP27の等価識別子(=)の左側の式表現である。
FIG. 27 illustrates a processing flow for executing numerical calculation processing using numerical variables and equivalent factors. In this process, the
次に、情報処理装置200は、第1の式表現と等価な関係にある式表現を等価因子に設定する(F222)。第1の式表現と等価な関係にある式表現の例は、例えば、数AP27の等価識別子(=)の右側の式表現(リンゴ×5000円)である。F221、およびF222の処理は、例えば、式表現を設定するユーザインターフェースへのユーザの入力にしたがった実行すればよい。また、例えば、テキストエディタ等を用いて、ユーザが第1の式表現および等価な式表現(以下、第2の式表現という)を設定してもよい。ただし、例えば、図27に示した処理がコンピュータプログラムのモジュールとして記述される場合には、F221、F222の処理は、モジュールの引数、共有メモリ等を通じた設定であってもよい。
Next, the
次に、情報処理装置200は、第1の式表現および等価因子として定義された第2の式表現に数値化処理を実行する(F223)。数値化処理は、等価識別子(=)の左右に設定されたそれぞれの式表現に対して実行すればよい。この場合、数値変数が予約語(X等)の場合には、単に予約語に数値識別子を設定し、数値変数(’X’等)とすればよい。また、数値変数としてすでに、数値識別子が設定されている場合、すなわち、F221の処理で、数値変数として、’X’等の記述されている場合には、そのまま数値変数(’X’等)を代数演算式に設定すればよい。
Next, the
さらに、情報処理装置200は、数値化された第1の式表現および、数値化された第2の式表現に、フィルタ処理を実行する(F224)。フィルタ処理は、図18の処理と同様である。そして、情報処理装置200は、数値変数を含む項と項の加算、および、数値
変数を含む項以外の項の減算(負の符号を項に付した加算)を実行する(F225)。このような処理によって、等価演算子の一方側に、数値変数(例えば、’X’)を含む項だ
けが残される。
Further, the
次に、情報処理装置200は、数値変数を含む項の数値変数以外の因子を除算(―1のべき乗を付した因子の乗算)を実行する(F226)。その結果、等価演算子の一方側に、数値変数(例えば、’X’)だけが残され、’X’=代数演算式の形式で、数値変数’X’の値が得られる。代数演算式に、数値計算を実行することで数値変数の’X’の値が得られる。そして、情報処理装置は、数値変数’X’の値を出力する(F227)。ここで、出力先は、F221、F22での入力先と同一(ユーザインターフェース等)とすればよい。ただし、図27に示した処理がコンピュータプログラムのモジュールとして記述される場合には、式表現の出力先は、モジュールの引数、関数の戻り値、共有メモリ等を通じた出力であってもよい。
Next, the
以上述べたように、数値演算子(’’)と変数(X,Y,Z等)とによって、数値であることを明示する数値変数(’X’,’Y’,’Z’等)を定義し、等価因子によって、2つの等価な式表現(あるいは、代数演算式)を結合することで、情報処理装置200のメモリ12、あるいは外部記憶装置34上に、方程式を記述できる。
As described above, numerical variables ('X', 'Y', 'Z', etc.) that clearly indicate a numerical value are expressed by numerical operators ('') and variables (X, Y, Z, etc.). An equation can be described on the
等価因子によって結合される式表現、あるいは、代数演算式は、第1実施形態から第6実施形態で情報処理装置200が処理したものと同様のものである。すなわち、本実施形態の情報処理装置200は、様々な事物を式表現で記述し、ユーザ所望の式表現の部分を商演算等の分割演算で取得し、代数演算式に変換する。その場合に、特定の事物の数量を数値変数(’ ’X’,’Y’,’Z’等)に設定し、等価因子によって、数値変数(’
X’,’Y’,’Z’等)を含む2つの式表現(あるいは代数演算式)を結合することで、方程式を記述できる。そして、等価因子で結合された2つの式表現を代数演算式に変換し、数値演算処理を実行することで、変数(’X’等)の値を求めることができる。
The expression expression or the algebraic arithmetic expression combined by the equivalent factor is the same as that processed by the
An equation can be described by combining two expression expressions (or algebraic expressions) including X ′, “Y”, “Z” and the like. Then, by converting the two expression expressions combined by the equivalent factor into an algebraic operation expression and executing a numerical operation process, the value of a variable (such as “X”) can be obtained.
上記第7実施形態では、簡単な処理例として、リンゴの個数を求める問題の解析例を示したが、数値変数(’X’等)と等価因子による処理は、このような簡単なものに限定される訳ではない。例えば、情報処理装置200は、物品の単価と、販売量、購入量、消費量等を管理するデータベースを式表現で構築しておき、予算額から、物品の販売量、購入量、消費量等を決定する処理、物品の販売量、購入量、消費量等の増加量を求める処理などを実行できる。また、情報処理装置200は、例えば、材料毎の単位体積当たりの要求数量等を式表現で記述しておき、設計上の寸法から構造物の体積を記述する式表現を作成し、それぞれの材料の必要量を求める処理などを実行してもよい。すなわち、等価因子と数値変数(’x’,’y’,’z’等)を式表現あるいは代数演算式に導入することによっ
て、様々な事物の量を求める方程式をコンピュータ上で記述し、解を求めることができる。
In the seventh embodiment, an analysis example of the problem of obtaining the number of apples has been shown as a simple processing example. However, processing using numerical variables (such as “X”) and equivalent factors is limited to such simple processing. It is not done. For example, the
100、200 情報処理装置
11 入力部
12 メモリ
13 CPU
14 出力部
15、16、31、33、33 インターフェース
32 通信部
34 外部記憶装置
36 着脱可能記憶媒体アクセス装置
40 処理部
40A 代数演算部
41 ユーザインターフェース画面
42 要素情報編集・格納部
43 要素情報抽出・演算部
44 代数演算部
46 共通関数ライブラリ
100, 200
14
Claims (27)
前記対象情報を操作する処理部と、を備え、
前記処理部は、前記因子の列として積演算子で結合される因子のうち、前記非数値識別子を残して数値識別子で表される数値間で乗算を実行し、前記項の組み合わせに対して前記非数値識別子を共通の因子とする複数の項について数値識別子で表される数値間で加算を実行する代数演算部を有する情報処理装置。 Described by an identifier, a product operator that combines multiple identifiers as a sequence of factors, and a sum operator that forms a combination of terms from either or both of the identifiers combined as a sequence of identifiers and factors A storage unit for storing target information, including a numerical identifier that includes a number as the identifier and that is a numerical value by a numerical operator and a non-numeric identifier other than the numerical identifier;
A processing unit for operating the target information,
The processing unit performs multiplication between the numerical values represented by the numerical identifiers leaving the non-numeric identifier among the factors combined by a product operator as the sequence of the factors, and for the combination of the terms An information processing apparatus having an algebraic operation unit that performs addition between numerical values represented by numerical identifiers for a plurality of terms having non-numeric identifiers as common factors.
前記変換部は、前記単位指定識別子記憶部に記憶された単位指定識別子に積演算子で結合されている1以上の数字を前記数値識別子に変換する請求項2に記載の情報処理装置。 A unit designation identifier storage unit storing a unit designation identifier indicating a unit of numerical values;
The information processing apparatus according to claim 2, wherein the conversion unit converts one or more numbers combined with a unit designation identifier stored in the unit designation identifier storage unit by a product operator into the numeric identifier.
前記変換部は、前記識別子中の数値部分に隣接する非数字部分が前記単位指定識別子記憶部に記憶された単位指定識別子であるときに、前記数値部分を数値識別子に変換する請求項2に記載の情報処理装置。 A unit designation identifier storage unit storing a unit designation identifier indicating a unit of numerical values;
The said conversion part converts the said numerical part to a numerical identifier, when the non-numeric part adjacent to the numerical part in the said identifier is the unit designation identifier memorize | stored in the said unit designation identifier memory | storage part. Information processing device.
前記代数演算部は、前記除算演算子で関係付けられた因子間の数値識別子が示す数値によって除算を実行し、前記除算演算子間で関係付けられた因子間で共通する識別子を削除する請求項1から4のいずれか1項に記載の情報処理装置。 The target information is further described by a division operator indicating division between factors,
The algebraic operation unit performs division by a numerical value indicated by a numerical identifier between factors related by the division operator, and deletes an identifier common among factors related by the division operator. The information processing apparatus according to any one of 1 to 4.
前記処理部は、共通の因子を底とするべき乗が積演算子で結合されるときに、指数となっている前記第2の因子間を和演算子によって項の組み合わせに変換する請求項1から5のいずれか1項に記載の情報処理装置。 The target information is further described by an exponent operator that indicates a power that has a first factor as a base and a second factor as an exponent;
The processing unit converts between the second factors that are exponents into a combination of terms by a sum operator when powers based on common factors are combined by a product operator. 6. The information processing apparatus according to any one of 5 above.
前記情報処理装置は、前記構成要素を識別する情報によって前記対象の特徴量を指定す
る指定対象情報の入力を受け付ける手段をさらに備え、
前記処理部は、前記指定対象情報に含まれる構成要素の識別子を前記構成要素の属性値に変換する手段と、
前記構成要素の属性値によって前記指定対象情報によって指定される特徴量を算出する手段と、を有する請求項1から8のいずれか1項に記載の情報処理装置。 The target information includes an identifier for identifying a component included in a target described by the target information and an attribute value of the component,
The information processing apparatus further includes means for receiving input of designation target information for designating the target feature amount by information for identifying the component,
The processing unit converts an identifier of a component included in the designation target information into an attribute value of the component;
The information processing apparatus according to claim 1, further comprising: a feature amount that is designated by the designation target information based on an attribute value of the component.
識別子と、因子の列として複数の識別子を結合する積演算子と、識別子および因子の列として結合された複数の識別子のいずれかまたは両方から項の組み合わせを構成する和演算子と、によって記述され、前記識別子として数字を含み数値であることを数値演算子によって明示する数値識別子と前記数値識別子以外の非数値識別子とを含む、対象情報を記憶部から読み出すステップと、
前記因子の列として積演算子で結合される因子のうち、前記非数値識別子を残して数値識別子で表される数値間で乗算を実行するステップと、
前記項の組み合わせに対して前記非数値識別子を共通の因子とする複数の項について数値識別子で表される数値間で加算を実行するステップと、を実行する情報処理方法。 Computer
Described by an identifier, a product operator that combines multiple identifiers as a sequence of factors, and a sum operator that forms a combination of terms from either or both of the identifiers combined as a sequence of identifiers and factors Reading the target information from the storage unit, including a numerical identifier that includes a number as the identifier and that is a numerical value, and a non-numeric identifier other than the numerical identifier;
Performing multiplication between the numerical values represented by the numerical identifiers, leaving the non-numeric identifier among the factors combined by a product operator as the factor sequence;
And a step of performing addition between the numerical values represented by the numerical identifiers for a plurality of terms having the non-numeric identifier as a common factor for the combination of the terms.
前記変換ステップでは、前記単位指定識別子記憶部に記憶された単位指定識別子に積演算子で結合されている1以上の数字を前記数値識別子に変換する請求項11に記載の情報処理方法。 The computer further executes a step of reading a unit designation identifier indicating a numerical unit from the unit designation identifier storage unit,
The information processing method according to claim 11, wherein in the converting step, one or more numbers combined with a unit designation identifier stored in the unit designation identifier storage unit by a product operator are converted into the numerical identifier.
前記変換ステップでは、前記識別子中の数値部分に隣接する非数字部分が前記単位指定識別子記憶部に記憶された単位指定識別子であるときに、前記数値部分を数値識別子に変換する請求項11に記載の情報処理方法。 The computer further executes a step of reading a unit designation identifier indicating a numerical unit from the unit designation identifier storage unit,
12. The conversion step according to claim 11, wherein, in the converting step, when the non-numeric part adjacent to the numeric part in the identifier is a unit designation identifier stored in the unit designation identifier storage unit, the numeric part is converted into a numeric identifier. Information processing method.
前記コンピュータは、前記除算演算子で関係付けられた因子間の数値識別子が示す数値によって除算を実行し、前記除算演算子間で関係付けられた因子間で共通する識別子を削除するステップをさらに実行する請求項10から13のいずれか1項に記載の情報処理方法。 The target information is further described by a division operator indicating division between factors,
The computer further performs a step of performing division by a numerical value indicated by a numerical identifier between factors related by the division operator and deleting an identifier common among the factors related by the division operator. The information processing method according to any one of claims 10 to 13.
前記コンピュータは、共通の因子を底とするべき乗が積演算子で結合されるときに、指数となっている前記第2の因子間を和演算子によって項の組み合わせに変換するステップをさらに実行する請求項10から14のいずれか1項に記載の情報処理方法。 The target information is further described by an exponent operator that indicates a power that has a first factor as a base and a second factor as an exponent;
The computer further performs a step of converting between the second factor that is an exponent to a combination of terms by a sum operator when powers based on common factors are combined by a product operator The information processing method according to any one of claims 10 to 14.
す等価演算子によって、前記第1の対象情報と前記第2の対象情報とが関連づけされているときに、前記第1の対象情報と第2の対象情報の両方に、共通の非数値識別子を因子とする項間の同一の数値識別子による加算、または同一の数値識別子による乗算を実行する請求項10から16のいずれか1項に記載に情報処理方法。 When the computer associates the first target information and the second target information with an equivalence operator indicating that the relationship between the first target information and the second target information is equivalent The addition of the same numerical identifier between the terms having a common non-numeric identifier as a factor or the multiplication by the same numerical identifier is executed on both the first target information and the second target information. 17. The information processing method according to any one of items 16 to 16.
前記コンピュータは、
前記構成要素を識別する情報によって前記対象の特徴量を指定する指定対象情報の入力を受け付けるステップと、
前記指定対象情報に含まれる構成要素の識別子を前記構成要素の属性値に変換するステップと、
前記構成要素の属性値によって前記指定対象情報によって指定される特徴量を算出するステップと、をさらに実行する請求項10から17のいずれか1項に記載の情報処理方法。 The target information includes an identifier for identifying a component included in a target described by the target information and an attribute value of the component,
The computer
Receiving an input of designation target information for designating the target feature amount by information for identifying the component;
Converting an identifier of a component included in the designation target information into an attribute value of the component;
The information processing method according to claim 10, further comprising: calculating a feature amount specified by the specification target information based on an attribute value of the component.
識別子と、因子の列として複数の識別子を結合する積演算子と、識別子および因子の列として結合された複数の識別子のいずれかまたは両方から項の組み合わせを構成する和演算子と、によって記述され、前記識別子として数字を含み数値であることを数値演算子によって明示する数値識別子と前記数値識別子以外の非数値識別子とを含む、対象情報を記憶部から読み出すステップと、
前記因子の列として積演算子で結合される因子のうち、前記非数値識別子を残して数値識別子で表される数値間で乗算を実行するステップと、
前記項の組み合わせに対して前記非数値識別子を共通の因子とする複数の項について数値識別子で表される数値間で加算を実行するステップと、を実行させるためのプログラム。 On the computer,
Described by an identifier, a product operator that combines multiple identifiers as a sequence of factors, and a sum operator that forms a combination of terms from either or both of the identifiers combined as a sequence of identifiers and factors Reading the target information from the storage unit, including a numerical identifier that includes a number as the identifier and that is a numerical value, and a non-numeric identifier other than the numerical identifier;
Performing multiplication between the numerical values represented by the numerical identifiers, leaving the non-numeric identifier among the factors combined by a product operator as the factor sequence;
And a step of executing addition between the numerical values represented by the numerical identifiers for a plurality of terms having the non-numeric identifier as a common factor for the combination of the terms.
前記変換ステップでは、前記単位指定識別子記憶部に記憶された単位指定識別子に積演算子で結合されている1以上の数字を前記数値識別子に変換させるための請求項20に記載のプログラム。 Causing the computer to further execute a step of reading a unit designation identifier indicating a numerical unit from the unit designation identifier storage unit;
21. The program according to claim 20, wherein in the conversion step, one or more numbers combined with a unit designation identifier stored in the unit designation identifier storage unit by a product operator are converted into the numeric identifier.
前記変換ステップでは、前記識別子中の数値部分に隣接する非数字部分が前記単位指定識別子記憶部に記憶された単位指定識別子であるときに、前記数値部分を数値識別子に変換させるための請求項20に記載のプログラム。 Causing the computer to further execute a step of reading a unit designation identifier indicating a numerical unit from the unit designation identifier storage unit;
21. In the converting step, when the non-numeric part adjacent to the numeric part in the identifier is a unit designation identifier stored in the unit designation identifier storage unit, the numeric part is converted into a numeric identifier. The program described in.
前記コンピュータは、前記除算演算子で関係付けられた因子間の数値識別子が示す数値によって除算を実行し、前記除算演算子間で関係付けられた因子間で共通する識別子を削除するステップをさらに実行させるための請求項19から22のいずれか1項に記載のプログラム。 The target information is further described by a division operator indicating division between factors,
The computer further performs a step of performing division by a numerical value indicated by a numerical identifier between factors related by the division operator and deleting an identifier common among the factors related by the division operator. The program according to any one of claims 19 to 22, for causing the program to occur.
数演算子によって記述され、
前記コンピュータは、共通の因子を底とするべき乗が積演算子で結合されるときに、指数となっている前記第2の因子間を和演算子によって項の組み合わせに変換するステップをさらに実行させるための請求項19から23のいずれか1項に記載のプログラム。 The target information is further described by an exponent operator that indicates a power that has a first factor as a base and a second factor as an exponent;
The computer further executes a step of converting between the second factor that is an exponent into a combination of terms by a sum operator when powers based on common factors are combined by a product operator 24. A program according to any one of claims 19 to 23.
前記コンピュータに、
前記構成要素を識別する情報によって前記対象の特徴量を指定する指定対象情報の入力を受け付けるステップと、
前記指定対象情報に含まれる構成要素の識別子を前記構成要素の属性値に変換するステップと、
前記構成要素の属性値によって前記指定対象情報によって指定される特徴量を算出するステップと、をさらに実行させるための請求項19から26のいずれか1項に記載のプログラム。 The target information includes an identifier for identifying a component included in a target described by the target information and an attribute value of the component,
In the computer,
Receiving an input of designation target information for designating the target feature amount by information for identifying the component;
Converting an identifier of a component included in the designation target information into an attribute value of the component;
The program according to any one of claims 19 to 26, further executing a step of calculating a feature amount designated by the designation target information based on an attribute value of the component.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2012047407A JP5357286B2 (en) | 2011-09-21 | 2012-03-02 | Information processing apparatus, information processing method, and program |
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2012547215 | 2011-09-21 | ||
JP2012547215 | 2011-09-21 | ||
JP2012047407A JP5357286B2 (en) | 2011-09-21 | 2012-03-02 | Information processing apparatus, information processing method, and program |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2013080449A true JP2013080449A (en) | 2013-05-02 |
JP5357286B2 JP5357286B2 (en) | 2013-12-04 |
Family
ID=48526758
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2012047407A Expired - Fee Related JP5357286B2 (en) | 2011-09-21 | 2012-03-02 | Information processing apparatus, information processing method, and program |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP5357286B2 (en) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2017535869A (en) * | 2014-11-14 | 2017-11-30 | アビニシオ テクノロジー エルエルシー | Processing queries involving union-type operations |
US11093223B2 (en) | 2019-07-18 | 2021-08-17 | Ab Initio Technology Llc | Automatically converting a program written in a procedural programming language into a dataflow graph and related systems and methods |
US11308161B2 (en) | 2015-02-18 | 2022-04-19 | Ab Initio Technology Llc | Querying a data source on a network |
US11593369B2 (en) | 2010-01-15 | 2023-02-28 | Ab Initio Technology Llc | Managing data queries |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP6542204B2 (en) | 2014-05-09 | 2019-07-10 | 前田建設工業株式会社 | INFORMATION PROCESSING APPARATUS, INFORMATION PROCESSING METHOD, AND PROGRAM |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH07295938A (en) * | 1994-04-27 | 1995-11-10 | Casio Comput Co Ltd | Electronic computer |
JP2005339265A (en) * | 2004-05-27 | 2005-12-08 | Casio Comput Co Ltd | Electronic computer and computing display processing program |
JP2009110440A (en) * | 2007-10-31 | 2009-05-21 | Maeda Corp | Information processor, information processing method, program and medium |
-
2012
- 2012-03-02 JP JP2012047407A patent/JP5357286B2/en not_active Expired - Fee Related
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH07295938A (en) * | 1994-04-27 | 1995-11-10 | Casio Comput Co Ltd | Electronic computer |
JP2005339265A (en) * | 2004-05-27 | 2005-12-08 | Casio Comput Co Ltd | Electronic computer and computing display processing program |
JP2009110440A (en) * | 2007-10-31 | 2009-05-21 | Maeda Corp | Information processor, information processing method, program and medium |
Non-Patent Citations (4)
Title |
---|
CSNB200200184001; 榊原 進: はやわかり Mathematica 第2版, 20000810, p. 6, 11, 共立出版株式会社 * |
JPN6011054049; T.KODAMA et al.: Development of Unit Calculation Algebra as an Application Function of the Cellular Data System , 20071026 * |
JPN6013009758; 榊原 進: はやわかり Mathematica 第2版, 20000810, p. 6, 11, 共立出版株式会社 * |
JPN6013009760; 中学・数学要点1年 文字式 , 20071013 * |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11593369B2 (en) | 2010-01-15 | 2023-02-28 | Ab Initio Technology Llc | Managing data queries |
JP2017535869A (en) * | 2014-11-14 | 2017-11-30 | アビニシオ テクノロジー エルエルシー | Processing queries involving union-type operations |
US11308161B2 (en) | 2015-02-18 | 2022-04-19 | Ab Initio Technology Llc | Querying a data source on a network |
US11093223B2 (en) | 2019-07-18 | 2021-08-17 | Ab Initio Technology Llc | Automatically converting a program written in a procedural programming language into a dataflow graph and related systems and methods |
Also Published As
Publication number | Publication date |
---|---|
JP5357286B2 (en) | 2013-12-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Ghazal et al. | Bigbench: Towards an industry standard benchmark for big data analytics | |
JP3049636B2 (en) | Data analysis method | |
JP3443144B2 (en) | Information retrieval device and virtual database management system | |
JP5357286B2 (en) | Information processing apparatus, information processing method, and program | |
US20120159312A1 (en) | Representation of an interactive document as a graph of entities | |
JPH11232330A (en) | Marketing system | |
JP6008693B2 (en) | Information processing apparatus, control method therefor, and program | |
JP2007026127A (en) | Apparatus, program and method for supporting design and manufacture | |
US20070005583A1 (en) | Method for building powerful calculations of an entity relationship model | |
JP6623754B2 (en) | Tabular data processing program, method and apparatus | |
Leonelli | Enhancing a decision support tool with sensitivity analysis | |
Habib et al. | Efficient algorithms on distributive lattices | |
US20170300461A1 (en) | Representation of an Interactive Document as a Graph of Entities | |
Durupt et al. | An extended framework for knowledge modelling and reuse in reverse engineering projects | |
CN107729330A (en) | The method and apparatus for obtaining data set | |
Inmon et al. | Data Architecture: A Primer for the Data Scientist: A Primer for the Data Scientist | |
JP5629821B2 (en) | Hypergrid model for optimized ordering of online analytical processing (OLAP) operations on data warehouses | |
WO2013042230A1 (en) | Information processing device | |
JP6542204B2 (en) | INFORMATION PROCESSING APPARATUS, INFORMATION PROCESSING METHOD, AND PROGRAM | |
JP2024001836A (en) | Derivation device, derivation method, and program | |
JP2017072959A (en) | Information processing device, information processing method, and program | |
Kumar et al. | Exploring the application of property graph model in visualizing COBie data | |
JP6501932B2 (en) | Internal transaction judging device, internal transaction judging method and internal transaction judging program | |
Hansen | Practical Oracle SQL: Mastering the Full Power of Oracle Database | |
JP2009110440A (en) | Information processor, information processing method, program and medium |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A975 | Report on accelerated examination |
Free format text: JAPANESE INTERMEDIATE CODE: A971005 Effective date: 20130225 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20130305 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20130507 |
|
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: 20130813 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20130829 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5357286 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
S531 | Written request for registration of change of domicile |
Free format text: JAPANESE INTERMEDIATE CODE: R313531 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
S531 | Written request for registration of change of domicile |
Free format text: JAPANESE INTERMEDIATE CODE: R313531 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
LAPS | Cancellation because of no payment of annual fees |