JPWO2007088982A1 - 情報処理装置、情報処理方法、プログラム、データ構造、および媒体 - Google Patents
情報処理装置、情報処理方法、プログラム、データ構造、および媒体 Download PDFInfo
- Publication number
- JPWO2007088982A1 JPWO2007088982A1 JP2007556939A JP2007556939A JPWO2007088982A1 JP WO2007088982 A1 JPWO2007088982 A1 JP WO2007088982A1 JP 2007556939 A JP2007556939 A JP 2007556939A JP 2007556939 A JP2007556939 A JP 2007556939A JP WO2007088982 A1 JPWO2007088982 A1 JP WO2007088982A1
- Authority
- JP
- Japan
- Prior art keywords
- factor
- information
- term
- operator
- terms
- 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
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/901—Indexing; Data structures therefor; Storage structures
- G06F16/9027—Trees
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Stored Programmes (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
Description
12・・・メモリ
13・・・CPU
14・・・出力部
21・・・ホモトピーレベル
22・・・集合レベル
23・・・トポロジー空間レベル
24・・・接着空間レベル
25・・・セル空間レベル
本情報処理装置は、情報を集合レベル、トポロジー空間レベル、接着空間レベル、およびセル空間レベルというデータ構造の複雑さの異なるレベルで表現する。データ構造が複雑になればなるほど、表現される情報と情報との間の関連付け、あるいは、情報と情報との拘束が増加する。
本情報処理装置は、抽象度に応じた各レベルの所定の表現形式によって表現される情報が格納される記憶手段と、前記情報を処理する処理手段と、を備える。そして、前記記憶手段には、識別子と、順序を持つ因子の列として複数の識別子を結合する積演算子と、識別子および前記因子の列として結合された複数の識別子のいずれかまたは両方から項の組み合わせを構成する和演算子と、によって記述される対象情報が記憶される。さらに、対象情報は、前記組み合わせ中の項の順序を維持して前記項の組み合わせを関係付けることによって因子または新たな項を構成する順序構成演算子と、前記組み合わせ中の項の順序を維持しないで前記項の組み合わせを関係付けることによって因子または新たな項を構成する集合因子構成演算子と、を含んでもよい。
(a+b)×{c+d+e}+f{g+h}×{i+j}・・・(数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の和によってなっている。このように、式は、()または{}、およびその両方が複数回入れ子になった構造を含むことができる。
(a+b)×{c+d+e}+f{g+h}×{i+j}
→(a{c+d+e}+b{c+d+e})+{f×g+f×h}×{i+j}
→({a×c+a×d+a×e}+{b×c+b×d+b×e})+{f×g×i+f×h×j}
→a×c+a×d+a×e+b×c+b×d+b×e+f×g×i+f×h×j・・・(数2)
すなわち、まず、第一の項を構成する第一の因子と第二の因子が展開する。次に、第一の因子の一番左の識別子であるaと第二の因子を構成する一番左の識別子cが掛け合わせる。次に、d、eの順に掛け合わせて展開する。そして、第一の因子の左から2番目の識別子、換言すると右側の識別子であるbと第二の因子を構成する一番左の識別子cが掛け合わせる。その後、d、eの順に掛け合わせて展開する。一方、第二の項については、まず第二の括弧で括られている第四の因子と同じく第二の括弧で括られている第五の因子を掛け合わせる。なお、第二の括弧は、第一の括弧とは異なり因子の順序ごとに積を作成しその和を出力する展開が行われる。すなわち、まず第四の因子を構成する一番左の識別子gと第五の因子を構成する一番左の識別子iの積を作成する。次に、第四の因子を構成する左から2番目の識別子であるhと第五の因子を構成する左から2番目の識別子であるjの積を作成し、これらの和として出力する。更に第三の因子を構成する識別子fと掛け合わせて展開する。
a×c+a×d+a×e+b×c+b×d+b×e+f×g×i+f×h×j・・・(数3)
a(c+d+e)+b×c+b×d+b×e+f×g×i+f×h×j・・・(数4)
接着空間作成手段は、異なる対象情報を構成する前記因子間における同値関係の対応に基づき該因子同士を接着する。その結果、新たな空間である接着空間を作成することができる。接着空間作成手段を備えることで、前記対象情報が異なる空間を表現するものであっても、同値関係にある因子を介して関連付け新たな空間を設計することが可能となる。
a(b+c)
↓H
(a×b+a×c)=F(a(b+c)+ε)・・・(数5)
数5におけるFは、本情報処理装置100で規定した「展開」という演算をを表す識別子である。また、εは、値“1”を表す記号であり、Fの演算において、値“1”が使用されたことを示している。すなわち、展開処理を実行した後の状態を表す、対象情報(a×b+a×c)は、a(b+c)を展開処理したものであることを意味する。このように、ホモトピー保存処理を実行することによって、前記格納処理手段に格納される対象情報は処理前の状態についても保存されているため、対象情報の過去の状態を取得することが可能となる。
(装置構成)
図1は、第1の実施形態に係る情報処理装置100の構成を示すブロック図である。同図に示すように、第1の実施形態に係る情報処理装置100は、対象情報を入力するキーボード、ポインティングデバイス等の入力手段11(本発明の入力部に相当)と、入力された対象情報を格納するメモリ12(本発明の記憶部に相当)と、対象情報を所定のプログラムに基づいて処理するCPU13(本発明の処理部に相当)と、入力された対象情報や処理後の対象情報を出力するディスプレイ等の出力手段14(本発明の出力部に相当)と、CPU13と入力手段11との間を接続するインターフェース15と、CPU13と出力手段14との間を接続するインターフェース16とを備える構成である。
(データ構造)
次に、第1の実施形態に係る情報処理装置100のメモリ12に格納される対象情報の構造、すなわちデータ構造について説明する。なお、本実施形態の情報処理装置100は、以下のデータ構造によって、処理対象のデータを記述し、記憶し、演算処理を行うが、必ずしも、従来のデータ構造である表形式、オブジェクト指向データベースでのオブジェクトの階層構造、あるいは、ポインタでリンクされたデータベースのレコードのデータ構造等と、本実施形態で示すデータ構造との間の相互のデータ変換機能を提供するわけではない。
本情報処理装置は、対象情報を式の形式で表現する。式は、和演算子“+”、積演算子“×”、第1の括弧“(”“)”、および第2の括弧“{”“}”によって記述される。第1の括弧が本発明の集合因子構成演算子に相当する。また、第2の括弧が本発明の順序構成演算子に相当する。このような対象情報の表現形式を式表現とも呼ぶ。
(a)識別子、単位元、および零元はいずれも式表現、すなわち、対象情報を記述する表現である。
(b)rとsとがともに、式表現である場合、r+sも式表現である。
(c)rとsとがともに、式表現である場合、r×sも式表現である。この場合、演算の結合の強さは、通常の代数と同様に、r×sの方が、r+sよりも強い。
(d)rが式表現である場合、(r)、{s}も式表現である。
本実施形態において、式表現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};
(3)集合情報
集合情報は、項の組み合わせ、あるいは、項の和として、定義される。ここで、それぞれの項は集合ID(本発明の第1の識別因子に相当)となる識別子と値となる識別子の積、すなわち、集合ID×値として定義される。ただし、値は、複数の識別子の積であってもよい。集合の情報の式表現は、典型的には、集合ID×値1+集合ID×値2+・・・である。集合情報の例として、以下のものを挙げることができる。
(例)
A×a1+A×a2+A×a3、b1×B+b2×B×B、果物×リンゴ+果物×バナナ+果物×ミカン、野菜×キャベツ+野菜×キュウリ+野菜×ゴボウ、社員×A+社員×B+社員×C
すなわち、集合情報は、集合IDで識別される集合に所属する項の組み合わせを記述し、メモリ12に記憶される。この場合、社員Cが退職し、社員Dと社員Eが入社した場合には、社員×A+社員×B+社員×Cのようにメモリ12に格納される。
トポロジー空間情報は、トポロジー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に格納できる。
(5)接着空間情報
接着空間情報は、トポロジー空間情報に含まれる2つの部分集合X(本発明の第1の被接着情報に相当)と部分集合Y(本発明の第2の被接着情報に相当)に対して、それぞれの部分に含まれる部分集合を関係付けることで構成される。本実施形態では、この関係付けによって発生する関係を同値関係という。
(例)
今、以下のような果物のトポロジー空間情報と、野菜のトポロジー空間情報の和、すなわち、果物×(全種×(リンゴ+バナナ+ミカン)+丸×(リンゴ+ミカン)+細長×バナナ)+野菜×(全種×(大根+キュウリ+ゴボウ)+太×大根+細×(キュウリ+ゴボウ))がメモリ12に記憶されているとする。
果物×細長×バナナ
+果物×(全種×(リンゴ+バナナ+ミカン)+丸×(リンゴ+ミカン))
+野菜×細×(キュウリ+ゴボウ)
+野菜×(全種×(大根+キュウリ+ゴボウ)+太×大根)
となる。
{果物+野菜}×{細長+細}{バナナ+(キュウリ+ゴボウ)}
+果物×(全種×(リンゴ+バナナ+ミカン)+丸×(リンゴ+ミカン))
+野菜×(全種×(大根+キュウリ+ゴボウ)+太×大根)、のように構成される。
+伝票ID2枚目(A{ε+B+C{C1+C2}+D+E{E1+E2}}(a{ε+b+c{c1+c2}+d+e{e1+e2}}))
+MEMO(1(あいう)+2(ABC))
+・・・という伝票の束、およびメモMEMOを記述する情報がメモリ12に格納されていた場合を考える。ここで、MEMOを1枚目の伝票の右上に、位置を指定して張り付ける例を示す。
伝票ID1枚目(A{ε+B+C{C1+C2}+D+E{E1+E2}}(a{ε+b+c{c1+c2}+d+e{e1+e2}}+位置(右下)))+伝票ID1枚目×位置(右上)
+伝票ID2枚目(A{ε+B+C{C1+C2}+D+E{E1+E2}}(a{ε+b+c{c1+c2}+d+e{e1+e2}}))
+MEMO(2(ABC))+MEMO(1(あいう))
+・・・
ここで,”1”と”右上”の関係付けを指定し接着すると、接着情報は、
{伝票ID1枚目×位置+MEMO}{右上+1}{ε+(あいう)}+剰余の部分集合を含む情報、として構成される。このように、接着情報は、相互に構造上の共通性がない2つの対象情報について、それぞれの接着前の構造を維持した状態で、2つの対象情報結合し、メモリ12に格納することができる。
(6)セル空間情報
セル空間情報は、事物の属性とその属性に対応する属性値とを有する情報である。属性は、キー属性とその他の属性とに分かれる。キー属性は属性値によって情報が識別できる属性であり、データベースの検索においてキーとして使用できる値に対応する。セル空間情報で、属性値(またはその並び)は、インスタンスと呼ばれ、従来のデータベースのレコードに相当する。それぞれのインスタンスは、インスタンスIDと呼ぶ識別情報を有する。また、キー属性、あるいは、その他の属性が複数個ある場合には、キー属性、あるいは、その他の属性は、第2の括弧“{”と“}”とによって順序が維持された因子の形式で記述される。すなわち、いわゆるベクトル形式にて属性とその対応する属性値が記述される。
セル空間ID×(キー属性×{ε+(その他の属性の和)}
×((インスタンスID×{ε+(値の和)})の和))
で構成される。
(例)
セル空間情報の例は、
果物id×(名前{ε+形+色}(リンゴ{ε+丸+赤}+ミカン{ε+丸+黄}+バナナ{ε+細長+黄}))
+野菜id×(名前{ε+形状+色}(大根{ε+太+白}+キュウリ{ε+細+緑}+ゴボウ{ε+細+茶}))←括弧が少し違いました.
で示すことができる。この例では、従来のリレーショナルモデルで、果物テーブル、野菜テーブルとして記述されていた情報が、式表現で記述される。なお、この例は、2つのセル空間情報(果物と野菜)を含むことから、統合セル空間情報とも呼ばれる。
果物id×バナナ×形×細長
+野菜id×形状×(キュウリ+ゴボウ)細
+果物id×(名前{ε+形+色}(リンゴ{ε+丸+赤}+ミカン{ε+丸+黄}+バナナ{ε+黄}))
+野菜id×(名前{ε+形状+色}(大根{ε+太+白}+キュウリ{ε+緑}+ゴボウ{ε+茶}))
となる。次に、果物のうちの属性“形”が値“細長”を有する部分集合と、野菜のうちの属性“形状”が値“細”を有する部分集合との関係付けを指定し、同値関係を設定する。そして、この同値関係によって接着空間情報を作成すると、
{果物id×形×バナナ+野菜id×形状×(キュウリ+ゴボウ)}{細長+細}{ε+ε}
+果物id×(名前{ε+形+色}(リンゴ{ε+丸+赤}+ミカン{ε+丸+黄}+バナナ{ε+黄}))
+野菜id×(名前{ε+形状+色}(大根{ε+太+白}+キュウリ{ε+緑}+ゴボウ{ε+茶}))
となる。
(記述例)
以下、従来のデータ構造である表およびツリー構造が、本実施形態のデータ構造でどのように記述できるかを示す。
(基本演算手順)
図5に、本情報処理装置におけるプログラム構成を示す。本情報処理装置100は、例えば、データを格納し、検索し、変更し、表示するデータベースシステム等、様々事物を管理するシステムに適用できる。その場合、個々の管理対象に応じた機能は、アプリケーションプログラムAPとして提供される。すなわち、アプリケーションプログラムは、入力部11から入力されたデータをメモリ12あるいは外部記憶装置に格納し、これらに格納されたデータにアクセスし、検索し、出力部14に表示する。
積結合演算では、CPU13は、識別子と識別子とを積演算子によって接続する。積結合演算を実行するCPU13が本発明の積演算部に相当する。この場合、識別子自体が式表現であり、識別子が接続された結果も式表現となる。積結合演算のアプリケーションインターフェースは、例えば、戻り値=connect(因子1、因子2、演算結果);のように定義できる。本実施形態では、式表現が文字列で記述されるので、“因子1”、“因子2”、および“演算結果”は、いずれも文字列である。因子1、および因子2として、識別子、複数の識別子を積結合演算で結合した式表現、第1の括弧“()”で囲まれた式表現、第2の括弧“{}”で囲まれた式表現、ε、およびΦを指定できる。積結合演算では、演算結果には、因子1×因子2が返される。すなわち、因子1と因子2との結合は、記号“×”(以下、積記号)で記述される。すなわち、積結合演算は、因子1と因子2との積演算による演算式を形成する。
和演算では、CPU13は、識別子および因子の列として接続された複数の識別子のいずれかまたは両方から項の組み合わせを構成する。和演算を実行するCPU13が本発明の和演算部に相当する。この場合、識別子あるいは因子が式表現であるので、項の組み合わせも式表現となる。和演算のアプリケーションインターフェースは、例えば、戻り値=add(項1、項2、演算結果);のように定義できる。演算結果には、項1+項2が返される。すなわち、項1と項2との和は、記号“+”(以下、和記号)で記述される。
項抽出演算では、CPU13は、和記号“+”で組み合わせられた複数の項から、いずれかの項を取り出す。本実施形態では、複数の項のうち、先頭の項を取り出す。項抽出処理のアプリケーションインターフェースは、例えば、戻り値=getterm(式表現、演算結果);のように定義できる。項抽出処理を実行するCPU13が本発明の項抽出部に相当する。
集合構成処理では、CPU13は、和記号“+”で組み合わせられた複数の項を第1の括弧“()”で括る処理を実行する。集合構成処理のアプリケーションインターフェースは、例えば、戻り値=putin1(式表現、演算結果);のように定義できる。演算結果には、(式表現)が返される。集合構成処理を実行するCPU13が本発明の集合因子構成部に相当する。
集合展開処理では、CPU13は、第1の括弧“()”で括られた式表現から、第1の括弧“()”を取り除く処理を実行する。集合展開処理のアプリケーションインターフェースは、例えば、戻り値=putoff1(式表現、演算結果);のように定義できる。集合展開処理を実行するCPU13が本発明の集合因子展開部に相当する。
順序構成処理では、CPU13は、和記号“+”で組み合わせられた複数の項を第2の括弧“{}”で括る処理を実行する。集合構成処理のアプリケーションインターフェースは、例えば、戻り値=putin2(式表現、演算結果);のように定義できる。順序構成処理を実行するCPU13が本発明の順序生成部に相当する。
順序展開処理では、CPU13は、第2の括弧“{}”で括られた式表現から、第2の括弧“{}”を取り除く処理を実行する。集合展開処理のアプリケーションインターフェースは、例えば、戻り値=putoff2(式表現、演算結果);のように定義できる。順序展開処理を実行するCPU13が本発明の順序展開部に相当する。
共通因子括りだし処理では、CPU13は、第1の括弧“{}”または第2の括弧“()”が付加された項の組み合わせに含まれる項から共通の因子を抽出する。共通因子括りだし処理のアプリケーションインターフェースは、例えば、戻り値=and(式表現、演算結果);のように定義できる。ここで、式表現には、複数の項が和記号で組み合わせられた式である。共通因子括りだし処理を実行するCPU13が本発明の括り出し部に相当する。
横方向展開処理は、横方向展開処理とは第一又は第二の括弧を一回外す、すなわち展開する処理である。横方向展開処理のアプリケーションインターフェースは、例えば、戻り値=expand1(展開前の式表現、展開後の式表現);のように定義できる。
cell(id{ε+A+B+C}(1{ε+a1+b1+c1}+2{ε+a2+b2+c2}))+s(p(p1+p2)+q(q1+q2))・・・(数6)
ステップS102では、入力された対象情報を横方向展開処理した項をΦに設定、すなわち初期化する。なお、各展開処理の詳細については後述する。ステップS103では、対象情報を構成する式の長さが0であるかを判断する。すなわち、対象情報が存在するか否かを判断する。式の長さが0であると判断した場合には、ステップS114へ進み横方向展開処理を終了する。一方、式の長さが0であると判断しなかった場合には、次のステップへ進む。
cell(id{ε+A+B+C}(1{ε+a1+b1+c1}+2{ε+a2+b2+c2}))・・・(数7)
ステップS106では、数6の式表現から数7を削除する。これにより、数8により表現されるデータがメモリ12に存在することになる。
s(p(p1+p2)+q(q1+q2))・・・(数8)
ステップS107では、横方向展開処理後の因子をεに設定する。次にステップS108では、項の長さが0であるかを判断する。すなわち、対象情報を構成する項が存在するか否かを判断する。項の長さが0であると判断した場合には、ステップS113へ進み横方向展開処理を終了する。一方、式の長さが0であると判断しなかった場合には、次のステップへ進む。
cell×id{ε+A+B+C}(1{ε+a1+b1+c1}+2{ε+a2+b2+c2})+s×p(p1+p2)+s×q(q1+q2)・・・(数9)
このように、数6の最も外側の“(”と“)”とがはずされた式表現となっている。他の例としては、例えば、a(b+c(d+e))+f(g+h)という式表現を横方向展開した場合には、a×b+ a×c(d+e)+f×g+f×h になる。
次に、縦方向展開処理について説明する。縦方向展開処理は、各項をそれぞれ全展開していく処理である。例えば、上記a(b+c(d+e))+f(g+h)について,縦方向展開するとa×b+a×c×d+a×c×e+f×g+f×h になる。一方、横方向展開で式を全展開するには,各項に括弧が無くなるまで各項を展開するという指定が必要となる。縦方向展開処理のアプリケーションインターフェースは、例えば、戻り値=expand2(展開前の式表現、展開後の式表現);のように定義できる。
cell(id{ε+A+B+C}(1{ε+a1+b1+c1}+2{ε+a2+b2+c2}))+s(p(p1+p2)+q(q1+q2))・・・(数10)
ステップS102では、入力された対象情報を展開処理したときに得られる対象情報(項)をΦに設定する。ステップS103では、対象情報を構成する式の長さが0であるかを判断する。すなわち、対象情報が存在するか否かを判断する。式の長さが0であると判断した場合には、ステップS114へ進み縦方向展開処理を終了する。一方、式の長さが0であると判断しなかった場合には、次のステップへ進む。ステップS104では、数10から第一項を取得する。すなわち、数11に示すデータを取得する。ステップS105では、取得した数11で表現される対象情報をメモリ12に保存する。
cell(id{ε+A+B+C}(1{ε+a1+b1+c1}+2{ε+a2+b2+c2}))・・・(数11)
ステップS106では、数10から数11を削除する。これにより、メモリ12には、数12により表現されるデータが存在することになる。
s(p(p1+p2)+q(q1+q2))・・・(数12)
ステップS107では、第一項を展開したときに得られる、展開後の因子をεに設定する。次にステップS108では、項の長さが0であるかを判断する。すなわち、対象情報を構成する項が存在するか否かを判断する。項の長さが0であると判断した場合には、ステップS113へ進み縦方向展開処理を終了する。一方、式の長さが0であると判断しなかった場合には、次のステップへ進む。
cell×id×1+cell×id×A×1×a1+cell×id×B×1×b1+cell×id×C×1×c1+cell×id×2+cell×id×A×2×a2+cell×id×B×2×b2+cell×id×C×2×c2+s×p×p1+s×p×p2+s×q×q1+s×q×q2・・・(数13)
(11)積演算処理
次に積演算処理について説明する。積演算処理は、2つの式表現を入力し、それぞれの式表現を因子とする新たな式表現を生成する処理である。積演算処理のアプリケーションインターフェースは、例えば、戻り値=product(因子1、因子2、積演算後の式);のように定義できる。積演算処理を実行するCPU13が本発明の共通因子展開部に相当する。
(12)商演算処理
次に商演算処理について説明する。商演算処理は、対象情報を記述する集合から、指定された因子(識別子を含む)を含む式表現(項、あるいは要素)と、そのような因子を含まない式表現とに分離する処理である。商演算処理のアプリケーションインターフェースは、例えば、戻り値=divide(商演算される式表現、商演算する因子、商の式表現、剰余の式表現);のように定義できる。本実施形態で、商演算は、“商演算する因子”を含む式表現を取り出す処理となる。そのため、商演算する因子のことを、同値関係を指定する因子ともいう。商演算する因子は、本発明の演算用因子に相当する。
cell(id{ε+A+B+C}(1{ε+a1+b1+c1}+2{ε+a2+b2+c2}))・・・(数14)
次に、ステップS302では、CPU13は、演算後の商(商項ともいう、ここでは、項2で表す)を初期化する。このとき、項2の値は、Φ(空、または0)である。
図11Bおよび図11Cに、数14の式表現に対して、サブルーチン1が実行された場合の式1、項1、項2、項3、因子1、および式2の変化を示す。図11Bおよび図11Cの第1行目は、各列の要素、すなわち、図11A中の該当する処理を示す番号、式1、項1、項、項3、因子1、および式2を示している。第2行以下の各行は、一連の処理ステップであり、図11B上から下へ、さらに、図11Cの上から下へ実行される。
cell(id{ε+A+B+C}(Φ+2{ε+a2+b2+c2}))・・(数15B)
図12Bおよび図12Cに、数14の式表現に対して、サブルーチン2が実行された場合の式1、項1、項4、因子1、および式3の変化を示す。図12Bおよび図12Cの第1行目は、各列の要素、すなわち、図12A中の該当する処理を示す番号、式1、項1、項、項4、因子1、および式3を示している。第2行以下の各行は、一連の処理ステップであり、図12Bの表の上から下へ、さらに、図12Cの表の上から下へ実行される。
(13)接着演算処理
接着とは、本実施形態にて提案する概念であり、2つの被接着情報のそれぞれのデータ構造を維持した上で、それぞれ被接着情報を結合する機能である。接着においては、2つの被接着情報のそれぞれに含まれる情報で、互い関係付けられる情報(これを同値関係を指定された因子という)が指定される。そして、その関係付けられた因子(同値関係を有する因子)同士を介して、2つの被接着情報が結合される。
cell(id{ε+A+B+C}(1{ε+a1+b1+c1}+2{ε+a2+b2+c2}))・・・(数16)
s(p(p1+p2)+q(q1+q2))・・・(数17)
ステップS402では、数16及び17の因子1、因子2による上述した商演算処理(サブルーチン1およびサブルーチン2)を実行して、得られた商と剰余とを和演算処理する。このサブルーチン1を実行し、商を取得するCPU13が、本発明の関連項抽出部に相当する。また、このサブルーチン2を実行し、剰余を取得するCPU13が、本発明の非関連項抽出部に相当する。その結果、“式1から得られた剰余+式1から得られた商+式2から得られた剰余+式2から得られた商”という形式の式が形成される。これを商演算後の式という。このうち、式1からの商を項1とし、式2から得られた商を項2とする。項1は、因子“2”を含む項である。また、項2は、因子“q”を含む項である。このように、同値関係を指定された因子1、因子2を含む項を、同値要素を表す項という。すなわち、式1に対して、因子“2”で商演算した商が項1であり、同値要素を表す項である。また、式2に対して、因子“q”で商演算した商が項2であり、これも同値要素を表す項である。
{cell×id{ε+A+B+C}+s}{2+q}{(ε+a2+b2+c2)+(q1+q2)}
となる。
部分集合取得処理は、集合から、指定された因子(以下、指定因子という)を有する項を含む式(部分集合)と、指定因子を有しない項の式(部分集合)に分離する処理である。この処理を実行するCPU13が、本発明の部分集合形成部に相当する。ただし、本実施形態では、指定因子(今pとする)を有する項が複数個存在する場合には、{左因子1+左因子2+・・・}p{左因子1が含まれていた項の右因子+左因子2が含まれていた項の右因子+・・・}+因子pを含まない部分集合の和のように、指定された因子pで括り出す。このように、部分集合取得処理の括り出しでは、括り出し前の各項において、指定因子pの左側に結合する因子(左因子と呼ぶ)と、指因子pの右側に結合する因子(右因子と呼ぶ)とをそれぞれ、第2の{}内に和演算する。そして、左因子の和は、第2の{}によって括られ、その順序を維持して、指定された因子の左側に結合される。
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を表している。
次に部分集合取得処理について説明する。図15は、部分集合取得処理を実行する処理のフローを示す。ステップS501では、演算前の所定の表現形式で表現される対象情報と、部分集合を指定するための指定因子pを入力する。以下、対象情報として数18に示すデータを用いて、指定因子“p”で部分集合を取得する場合について説明する。
s×p(p1+p2)+t×p(p3+p4)+id(s×p(p1+p2)+t×p(p3+p4))・・・(数18)
ステップS502では、部分集合を取得するための因子以外(ここでは、「その他の式」「左因子式」および「右因子式」)をΦと設定する。ステップS503では「処理後の項」をεに設定する。ステップS504では、対象情報を構成する式の長さが0であるかを判断する。すなわち、対象情報が存在するか否かを判断する。式の長さが0であると判断した場合には、ステップS517へ進む。一方、式の長さが0であると判断しなかった場合には、ステップS505へ進む。
id({s+t}p{(p1+p2)+(p3+p4)})+{s+t}p{(p1+p2)+(p3+p4)}・・・(数19)
図16Aおよび図16Bに、数18の式表現に対して、部分集合取得処理が実行された場合の「演算前の式」、「部分集合取得のための因子」、「左因子式」、「右因子式」、「左因子」、「右因子」「その他の式」、「取得した項」、「取得した因子」、「処理後の項」、「部分集合項」および「演算後の式」の変化を示す。図16Aの各行と、図16Bの各行は、図15の処理での同一の処理を示している。すなわち、図16Aおよび図16Bを横に接続して、部分集合取得処理の状態変化が表されることになる。
(15)ホモトピー保存処理
次にホモトピー保存処理について説明する。ホモトピー保存処理は、式1に対して、パラメータを表す項pを用いて演算Gを実行し、式2が得られたとき、
(演算後の式2)=G(演算前の式1+演算時のパラメータを表す項p)
のように、演算実行前後の関係を保持する機能である。この場合、演算実行前の式1、すなわち、初期状態は、式ΦにパラメータΦ項を適用して、式1が得られたと仮定し、演算前の式を
式1=F(Φ+Φ)
のようにおく。ここで、演算実行前の式をホモトピー保存式1と呼ぶことにする。
ここでは、例として、以下の数20によって、式1を仮定する。また、演算Gとして、接着演算を実行する例を示す。また、そのときの、パラメータ因子として、attach(2+q)を指定する。すなわち、因子2と因子qとの同値関係が指定されて、接着演算が実行された場合を例に、ホモトピー保存処理を説明する。
(cell(id{ε+A+B+C}(1{ε+a1+b1+c1}+2{ε+a2+b2+c2}))+s(p(p1+p2)+q(q1+q2)))=F(Φ+Φ)・・・(数20)
ステップS602では、数20により表現される式から演算G前の式、すなわち数20の左辺を取得する。これを数21とする。
cell(id{ε+A+B+C}(1{ε+a1+b1+c1}+2{ε+a2+b2+c2}))+s(p(p1+p2)+q(q1+q2))・・・(数21)
ステップS603では、演算Gによる演算処理を行い演算G後の式とする。この場合、数22により表現される式が得られる。ここでは、演算Gの例として、接着演算を実行する。また、接着演算の同値関係を指定するパラメータを“2”および“q”とする。すなわち、因子“2”で商演算された商と、因子“q”で商演算された商とを接着する。そのときのホモトピー保存式の例を説明する。
cell(id{ε+A+B+C}(1{ε+a2+b2+c2}+Φ))+s(p(p1+p2)+Φ)+{cell×id{ε+A+B+C}+ε}{2+q}{{ε+a2+b2+c2}+(q1+q2)}・・・(数22)
ステップS604では、演算G後のホモトピー保存式2として、(演算G後の式)=G(ホモトピー保存式1+演算時のパラメータp)を作成する。ここで、パラメータpは、“attach(2+q)”である。以上の処理を実行することにより数21により表現された式は、数23により表現される式となる。
(cell(id{ε+A+B+C}(1{ε+a1+b1+c1}+Φ))+s(p(p1+p2)+Φ)+{cell×id{ε+A+B+C}+ε}{2+q}{{ε+a2+b2+c2}+(q1+q2)})
=G((cell(id{ε+A+B+C}(1{ε+a1+b1+c1}+2{ε+a2+b2+c2}))+s(p(p1+p2)+q(q1+q2)))
=G(F(Φ+Φ)+attach(2+q)))・・・(数23)
この式は、F(Φ+Φ)で示される式(すなわち、数21)に、attach(2+q)というパラメータで演算G、すなわち、接着演算が実行されて、数23の左辺(最上段の式)が得られたことを示している。
次にホモトピー保存式におけるUNDO演算処理について説明する。図18は、ホモトピー保存式におけるUNDO演算処理のフローを示す。ステップS701では、ホモトピー保存式(演算G後の式)=F(演算G前の式+演算時のパラメータを表す式p)の入力をする。以下、対象情報として数24に示すデータを用いた場合について説明する。
(cell(id{ε+A+B+C}(1{ε+a2+b2+c2}+Φ))+s(p(p1+p2)+Φ)+{cell×id{ε+A+B+C}+ε}{2+q}{{ε+a2+b2+c2}+(q1+q2)})
=G((cell(id{ε+A+B+C}(1{ε+a1+b1+c1}+2{ε+a2+b2+c2}))+s(p(p1+p2)+q(q1+q2)))
=F(Φ+Φ)+attach(2+q))・・・(数24)
上述のように、ホモトピー保存式は、演算G前の式F(Φ+Φ)に演算(この例では、接着演算G、演算時のパラメータはattach(2+q))を実行することで、数24の最上段(最初の“=”の左辺)の式表現が得られたことを記録している。なお、数24において、中段の式(最初の“=”の右辺)と、最下段の式(2つ目の“=”の右辺)とは、表現形式が異なるだけで実質的に同一の式である。最下段の式は、F(Φ+Φ)を用いて表現を簡略化している。そして、それら中段の式と簡略された式を“=”で結んだ式が、G()という演算の中に挿入されている。
((cell(id{ε+A+B+C}(1{ε+a1+b1+c1}+2{ε+a2+b2+c2}))+s(p(p1+p2)+q(q1+q2)))=F(Φ+Φ))
=G-1(
(cell(id{ε+A+B+C}(1{ε+a1+b1+c1}+Φ))+s(p(p1+p2)+Φ)+{cell×id{ε+A+B+C}+ε}{2+q}{{ε+a2+b2+c2}+(q1+q2)})
=G((cell(id{ε+A+B+C}(1{ε+a1+b1+c1}+2{ε+a2+b2+c2}))+s(p(p1+p2)+q(q1+q2)))
=F(Φ+Φ)+attach(2+q))
)・・・(数25)
この式は、数24で与えられホモトピー保存式の両辺に、演算G前に戻す演算G-1を実行することによって、演算G前の式(初期状態F(Φ+Φ)が得られたことを示している。これによって、演算G前の式である(cell(id{ε+A+B+C}(1{ε+a1+b1+c1}+2{ε+a2+b2+c2}))+s(p(p1+p2)+q(q1+q2)))=F(ε+ε)が、演算G後の式であるcell(id{ε+A+B+C}(1{ε+a1+b1+c1}+Φ))+s(p(p1+p2)+Φ)+{cell×id{ε+A+B+C}+ε}{2+q}{{ε+a2+b2+c2}+(q1+q2)}から得られることが示される。
次にホモトピー保存式におけるREDO演算処理について説明する。図19は、ホモトピー保存式におけるREDO演算処理のフローを示す。ステップS801では、ホモトピー保存式におけるUNDO後の式(演算G前の式)=G-1((演算G後の式)=G(演算G前の式+p))の入力をする。以下、対象情報として数26に示すデータを用いた場合について説明する。
((cell(id{ε+A+B+C}(1{ε+a1+b1+c1}+2{ε+a2+b2+c2}))+s(p(p1+p2)+q(q1+q2)))=F(ε+ε))
=G-1(
(cell(id{ε+A+B+C}(1{ε+a2+b2+c2}+Φ))+s(p(p1+p2)+Φ)+{cell×id{ε+A+B+C}+ε}{2+q}{{ε+a2+b2+c2}+(q1+q2)})=G((cell(id{ε+A+B+C}(1{ε+a1+b1+c1}+2{ε+a2+b2+c2}))+s(p(p1+p2)+q(q1+q2)))=F(Φ+Φ)+attach(2+q))
)・・・(数26)
上述のように、数26は、演算G前の式(F(Φ+Φ))に接着演算Gおよびパラメータattach(2+q)が適用され、演算G後の結果が得られ、さらに、演算G後の式から演算G前の式に戻されたことが記録されている。
(cell(id{ε+A+B+C}(1{ε+a2+b2+c2}+Φ))+s(p(p1+p2)+Φ)+{cell×id{ε+A+B+C}+ε}{2+q}{{ε+a2+b2+c2}+(q1+q2)})=G((cell(id{ε+A+B+C}(1{ε+a1+b1+c1}+2{ε+a2+b2+c2}))+s(p(p1+p2)+q(q1+q2)))=F(ε+ε)+attach(2+q))・・・(数27)
このように、ホモトピー保存処理によって、演算後の結果とともに、演算G前の式(F(Φ+Φ))と、適用される演算の種類Gと、使用されるパラメータattach(2+q)を記録する。これによって、UBDO演算処理で演算前の結果を得ることができる。さらに、UNDO演算処理で、演算後の式から、演算前の式が得られたことを記録することで、REDO演算処理を実行し、直ちに、演算G後の式を得ることができる。このように、ホモトピー保存処理、UNDO演算処理、およびREDO演算処理は、メモリ12の容量を犠牲にして、演算前後の関係を保持する一方、演算を戻す処理と再実行する処理とを簡易に実現する。
(適用例)
次にデータ処理システムを開発する際に、本発明に係る情報処理装置を使用する例について説明する。
社員(社員コード{ε+氏名+年齢+職種+所属}(K100{ε+社員A+30+土木+情報システム}+K101{ε+社員B+49+事務+土木}+K102{ε+社員C+24+建築+建築}))・・・(数28)
情報処理装置100は、このようにして、社員データをメモリ12に保持し、データベースとして管理する。この場合、データ入力のためのユーザインターフェース、データ出力のためのユーザインターフェースに限定はない。すなわち、情報処理装置100は、式表現で対象情報を記述し、メモリ12に保持し、上述の演算処理を実行する共通関数によって、演算機能をアプリケーションプログラムに提供する。したがって、アプリケーションプログラムの構成そのものにも限定はない。
伝票ID(伝票コード{プロジェクト名称+期間{開始+終了}+金額+担当者{連絡先+コード}}(a{b+c{c1+c2}+d+e{e1+e2}}))+{伝票ID+ε}{pt+mid}{ε+メモ}・・・(数29)
図22A及び図22Bは、プロジェクトデータ及び歩掛作成データを示す。図22Aに示すプロジェクトデータは、有向グラフのツリー構造で表現されるデータである。すなわち、実行予算データは、発注データ1と発注データ2により構成され、更に発注データ1は検収データ1と検収データ2により構成される。また、発注データ2は、検収データ3と検収データ4により構成される。このようなプロジェクトデータは、本発明に係る所定の表現形式によって表現すると、数30により表現される。そして、このデータはメモリ12に格納され情報管理を行うことができる。
図22Bに示す歩掛作成データは、逆ツリー構造で表現されるデータである。同図に示すように土砂掘削には、バックホーの運転とダンプトラックの運転を必要とする。また、バックホーの運転には燃料である軽油と運転手が必要となる。また、ダンプトラックの運転には、軽油及び運転手が必要となり、更に雑費が関係してくる。なお、このような逆ツリー構造で表現される対象情報は、従来データ管理が難しいとされていたものである。しかし、これを本発明に係る所定の表現形式によって表現すると、数31により表現される。そして、このデータはメモリ12に格納され情報管理を行うことができる。
((軽油+運転手)バックホー運転+(経由+運転手+雑費)ダンプトラック運転)土砂掘削・・・(数31)
図22Bで、下側のグラフは、経由および運転手が1つに集約されている。一方、上側のグラフの経由および運転手がバックホー運転と、ダンプトラック運転とで分離している。従来のデータベースでは、このようなことが表現できない。リレーショナルデータベース等で工夫してデータベース設計したとしても、アプリケーションプログラムが煩雑になる.また故に変更時にはメンテが大変になる。これが既存の技術の問題点,表現力の問題で,既存のモデルでは表現できないが故に工夫した設計アプリ開発が必要になりコスト増、また開発業者の品質に差が出る。またデータベース,アプリケーションプログラム設計等技術者が別れ,技術の分離により工期の遅れがあって当然になっている。さらに要求仕様が曖昧だったり開発途中で変更されたりすると手戻りが増え大幅なコスト増になるケースが頻発している。一方、本実施形態の技術では統一的により多くのことが表現可能なので、データベース設計、アプリケーション設計・開発の負担が従来よりも軽減される。つまり、情報処理装置100で処理したい情報を式として入力すれば、本実施形態で説明した演算によって、処理し、検索し、出力できる。本実施形態の技術ではビジュアルに式で各空間を設計して、各関数を使用すると変形されてその場で必要な出力結果が出て確認できる。したがって、仕様の曖昧さがなくなり、アプリケーション開発が極めて少ない故にメンテナンスも容易である。例えば、図22B上側のレコード構成で、バックホー運転を構成する運転手のデータベースに、新たな運転手の情報を追加しても、ダンプトラック側には、反映されない。
((軽油+社員×運転手×(運転手1+運転手2+・・・+運転手N))バックホー運転+(経由+社員×運転手×(運転手1+運転手2+・・・+運転手N)+雑費)ダンプトラック運転)土砂掘削・・・(数31)
この場合に、一旦、社員×運転手×(運転手1+運転手2+・・・+運転手N)によって部分集合取得処理を実行すると、以下のようになる。
({ε+ε}社員×運転手×(運転手1+運転手2+・・・+運転手N){バックホー運転+ダンプトラック運転}+軽油×バックホー運転+(軽油+雑費)×ダンプトラック運転)×土砂掘削・・・(数33)
このように、運転手に関するデータが一元化されるので、運転手Mを追加したとしても、バックホー運転と、ダンプトラック運転の両方の運転手を変更できる。
なお、バックホー運転と、ダンプトラック運転とで、運転手データベースを個別に管理したい場合は、それぞれの部分集合IDを異なるものとすればよい。
({ε+ε}社員×({ダンプ運転手×(運転手1+運転手2+・・・+運転手N)+トラック運転手×(運転手1+運転手2+・・・+運転手N)}{バックホー運転+ダンプトラック運転})+軽油×バックホー運転+(軽油+雑費)×ダンプトラック運転)×土砂掘削・・・(数33)
以上例示的に説明した各種データ、すなわち対象情報は新たな情報の入力や上述した所定の処理を実行することにより様々な状態に変化可能である。すなわち、メモリ12に格納された対象情報をシステム管理する上で最も管理し易い状態、換言すると抽象レベルに移行することができる。次に、本発明に係る抽象度に応じた各レベルについて適用例とともに説明する。
社員×社員1+社員×社員2+社員×社員3+机×備品+PC×備品・・・(数32)
図24は、トポロジー空間レベル23で表現される対象情報の例を示す。トポロジー空間レベル23は、トポロジー空間ID×(Σ部分集合)により表現することができる。ただし、数32に対して、集合IDである社員、あるいは、備品を括りだした式も、トポロジー空間レベル23で表現される対象情報である。以下、数32Aに示す。
社員×(社員1+社員2+社員3)+(机+PC)×備品・・・(数32A)
トポロジー空間レベル23では、前記集合レベル22よりも前記対象情報の抽象度が低く表現される。また、該対象情報が部分集合を項として表現される。上述した社員情報及び備品情報に新たに会社情報が追加され、社員情報及び備品情報は会社情報に属している。また、例えば、机のデータが、机1、机2からなり、PCのデータがPC1およびPC2からなり、備品データは、机とPCからなり、会社管理するデータベースが、社員データと、備品データとを有する場合に、会社管理するデータベースは、次のような構成となる。この場合には、備品情報は机1、机2、机3からなる机情報と、PC1、PC2、PC3からなるPC情報により構成される。このように、前述した集合レベル22よりも抽象度がより低く表現されている。そしてこれらの対象情報をトポロジー空間レベル23で表現すると数33のように表現できる。
会社ID(社員(社員1+社員2+社員3)+備品(机(机1+机2)+PC(PC1+PC2)))・・・(数33)
ここでは、会社を管理するデータベースは、会社IDによって識別される。“社員”で識別されるデータの部分集合は、社員1、社員2のような個々のデータを有している。ここで、社員1は、例えば、社員1のID×(氏名+所属+職務)等である。また、備品といるIDで識別されるデータの部分集合は、さらに、机というIDで識別される部分集合と、PCというIDで識別される部分集合のデータとが、存在することを示している。机で識別されるデータの部分集合には、机1、机2等の個々のデータが記録される。机1は、例えば、机1のID×(取得原価+時価+設置場所+メーカ)等である。PCで識別されるデータの部分集合も同様である。このように、情報処理装置100によれば、式表現でにて、識別子を×、+、()、{}によって組み合わせることで、管理対象を表現し、コンピュータ上のメモリ12に記憶し、管理することができる。
社員×(社員コード×{ε+社員名+所属+年齢}×(K10×{ε+社員A+土木+30歳}+K11×{ε+社員B+建築+29歳}))・・・(数34)
セル空間レベル25で表現される対象情報について新たな属性が追加された場合、従来はこの新たな情報に対応するために全体のデータベース設計,アプリケーションプログラムを組みなおすことが必要とされていた。これは、従来の情報処理では、情報処理の対象となるデータが、表、対象指向データベースでの対象の階層構造、そのような対象間の継承、データ間の関係を示すポインタによるリンク等で記述されるからである。しかし、第1の実行形態に係る情報処理装置によれば、データが、文字列を因子とする1以上の因子の積和形式の多項式で記述されるため、新たな情報の追加を自由に行うことができる。
社員コード×{ε+社員名+所属+年齢}(101{阿部太郎+営業+23}+・途中略・+198{阿部太郎+総務+25})からなる社員データベースへの社員データ199{山本三郎+設計+20}の追加後の結果は、社員コード×{ε+社員名+所属+年齢}(101{阿部太郎+営業+23}+・途中略・+198{阿部太郎+総務+25}
というデータが登録されてあり、属性を追加したオブジェクトである 社員コード×{ε+社員名+所属+年齢+性別+役職}(199{山本三郎+設計+20+男+部長}}
を追加したいとき、
社員コード×{ε+社員名+所属+年齢}(101{阿部太郎+営業+23}+・途中略・+198{阿部太郎+総務+25})からなる社員データベースへの社員データ199{山本三郎+設計+20}の追加後の結果は、社員コード×{ε+社員名+所属+年齢}(101{阿部太郎+営業+23}+・途中略・+198{阿部太郎+総務+25})+社員コード×{ε+社員名+所属+年齢+性別+役職}(199{山本三郎+設計+20+男+部長}}
と単純にオブジェクトを追加すればよい。つまり、本情報処理装置100では、管理する対象、記述する概念毎に属性を決めることができる.これは,属性を含めたスキーマ設計が必要ないことを意味する。既存の技術では,データベースのスキーマを変更するにはメンテナンス上の手間が非常に大きなる。 さらに、作成した式は,上述した所定の処理、すなわち、文字列の横方向展開、縦方向展開、積演算処理、商演算処理、接着演算処理、部分集合取得処理、ホモトピー保存処理、ホモトピー保存式におけるUNDO処理、およびホモトピー保存式におけるREDO処理によって、式を変形することで即座に期待する出力結果を得ることができる。従来の技術ならアプリケーションプログラムの開発が必要とされるところである。
以下、図27から図32を参照して、本発明の第2実施形態を説明する。上記第1実施形態では、式表現を用いて記述したコンピュータ上の対象情報のデータ構造と、そのような対象情報を取り扱う基本的な演算の種類と、コンピュータ上での演算の処理例を説明した。また、そのようなデータ構造と演算によって、処理されるデータ例を説明した。本実施形態では、第1実施形態で説明したデータ構造および演算によって構成されるアプリケーションプログラムの例を説明する。
(例)
今、社員データベースとして、以下のものを考え得る。
社員×(社員コード×{ε+氏名+年齢+職種コード+所属名}×(
+101{ε+鈴木一郎+23+100+総務}
+102{ε+鈴木一郎+23+100+総務}
+103{ε+鈴木一郎+23+101+総務}
)
+備品コード×{ε+分類+数量+社員コード}×(
+B50{ε+机 +1+101}
+B51{ε+PC+2+102}))
この場合、まず因子”社員コード”を同値因子として商演算すると商項は、
社員×(社員コード×{ε+氏名+年齢+職種コード+所属名}×(
+101{ε+鈴木一郎+23+100+総務}
+102{ε+鈴木一郎+23+100+総務}
+103{ε+鈴木一郎+23+101+総務}))
さらにこの項に,因子”101”を同値因子として商演算すると商項は、
社員×(社員コード×{ε+氏名+年齢+職種コード+所属名}×(101{ε+鈴木一郎+23+100+総務})となる.このようにして,全体のデータから、”社員コードが101”についての情報を取得することができる。 図31に、メモ作成と接着処理(図28BのSC)の詳細フローを示す。この処理では、CPU13は、出力部14に、メモ画面を表示する(SC1)。
(1)同値関係を指定する因子1と、因子2の指定を受け付ける。
(2){因子1×因子2}を含む式表現をメモリ12にて検索する。
(3){(左因子1の和)、(左因子2の和}}×{因子1+因子2}×{(右 因子1の和)+(右因子2の和)}の関係から、左因子1×因子1×右因子 1の和+左因子2×因子2×右因子2の和という式表現を構成する。
(4)得られた式表現をメモリ12に格納する。
(1)接着する2つの集合情報の集合ID(例えば、集合ID1、集合ID2) と、同値関係を指定する因子1、因子2を受け付ける。
(2)集合ID1の集合情報に商演算を実行し、因子1を含む商(同値要素1) と、剰余に分ける。
(3)集合ID2の集合情報に商演算を実行し、因子1を含む商(同値要素2) と、剰余に分ける。
(4)同値要素1の左因子l1、右因子r1,同値要素2の左因子l2、右因子 r2を求め、以下の商空間の式を求める。{l1+l2}{因子1+因子2 }{r1+r2}
(5)商空間の式に、集合ID1の集合情報の剰余の式と、集合ID2の集合情報の剰余の式とを和演算する。
伝票ID1枚目(A{ε+B+C{C1+C2}+D+E{E1+E2}}(a{ε+b+c{c1+c2}+d+e{e1+e2}}+位置(右下)))+伝票ID1枚目×位置(右上)
+伝票ID2枚目(A{ε+B+C{C1+C2}+D+E{E1+E2}}(a{ε+b+c{c1+c2}+d+e{e1+e2}}))
+MEMO(2(ABC))+MEMO(1(あいう))
+・・・
ここで,”1”と”右上”の関係付けを指定し接着すると、接着情報は、
{伝票ID1枚目×位置+MEMO}{右上+1}{ε+(あいう)}+剰余の部分集合を含む情報、として構成される。このように、接着情報は、相互に構造上の共通性がない2つの対象情報について、それぞれの接着前の構造を維持した状態で、2つの対象情報結合し、メモリ12に格納することができる。
(6)セル空間情報
セル空間情報は、事物の属性とその属性に対応する属性値とを有する情報である。属性は、キー属性とその他の属性とに分かれる。キー属性は属性値によって情報が識別できる属性であり、データベースの検索においてキーとして使用できる値に対応する。セル空間情報で、属性値(またはその並び)は、インスタンスと呼ばれ、従来のデータベースのレコードに相当する。それぞれのインスタンスは、インスタンスIDと呼ぶ識別情報を有する。また、キー属性、あるいは、その他の属性が複数個ある場合には、キー属性、あるいは、その他の属性は、第2の括弧“{”と“}”とによって順序が維持された因子の形式で記述される。すなわち、いわゆるベクトル形式にて属性とその対応する属性値が記述される。
(例)
セル空間情報の例は、
果物id×(名前{ε+形+色}(リンゴ{ε+丸+赤}+ミカン{ε+丸+黄}+バナナ{ε+細長+黄}))
+野菜id×(名前{ε+形状+色}(大根{ε+太+白}+キュウリ{ε+細+緑}+ゴボウ{ε+細+茶}))
で示すことができる。この例では、従来のリレーショナルモデルで、果物テーブル、野菜テーブルとして記述されていた情報が、式表現で記述される。なお、この例は、2つのセル空間情報(果物と野菜)を含むことから、統合セル空間情報とも呼ばれる。
Claims (30)
- 識別子と、順序を持つ因子の列として複数の識別子を結合する積演算子と、識別子および因子の列として結合された複数の識別子のいずれかまたは両方から項の組み合わせを構成する和演算子と、によって記述される対象情報を記憶する記憶部と、
前記対象情報を操作する処理部と、
情報の入力を受け付ける入力部を接続可能なインターフェースと、
情報を出力する出力部を接続可能なインターフェースと、を備え、
前記処理部は、
前記インターフェースに接続された入力部から入力される情報を前記識別子、因子、項および項の組み合わせを含む式のいずれか1以上として前記対象情報に設定し、前記記憶部に記憶させる入力処理部と、
前記記憶部に記憶されている対象情報を参照し、参照した対象情報中の識別子、因子、項および式のいずれか1以上が前記入力部から入力される情報と所定の関係にあるときに、前記対象情報を前記インターフェースに接続された出力部に出力する出力処理部と、を有する情報処理装置。 - 前記対象情報は、前記組み合わせ中の項の順序を維持して前記項の組み合わせを関係付けることによって因子または新たな項を構成する順序構成演算子と、前記組み合わせ中の項の順序を維持しないで前記項の組み合わせを関係付けることによって因子または新たな項を構成する集合因子構成演算子とをさらに含み、
前記処理部は、前記積演算子によって、複数の識別子を複数結合する積演算部と、
前記積演算子によって結合された複数の識別子からいずれかの識別子を抽出する因子抽出部と、
前記識別子、または積演算子によって結合された識別子をさらに前記和演算子によって組み合わせて、項の組み合わせを構成する和演算部と、
前記項の組み合わせに含まれるいずれかの項を抽出する項抽出部と、
前記項の組み合わせに順序構成演算子を付加することによって因子または項を構成する順序生成部と、
前記項の組み合わせに順序構成演算子を付加された因子または項から前記順序構成演算子を除去する順序展開部と、
前記項の組み合わせに集合因子構成演算子を付加することによって因子または項を構成する集合因子構成部と、
前記項の組み合わせに集合因子構成演算子を付加された因子または項から前記集合因子構成演算子を除去する集合因子展開部と、
前記対象情報を構成する一の因子が項の組み合わせと前記順序構成演算子とによって構成されているとき、または前記一の因子が項の組み合わせと前記集合因子構成演算子とによって構成されているときに、前記一の因子と同一の項に含まれる、前記一の因子と積演算子で結合されている共通因子を前記項の組み合わせ中のそれぞれの項に付加して前記積演算子によって結合することによって、前記共通因子を展開する共通因子展開部と、をさらに有する請求項1に記載の情報処理装置。 - 前記因子または前記項には、前記和演算子による演算に対して単位元となる記号、前記積演算子による演算に対して単位元となる記号、および前記積演算子に対して、演算結果が、識別子が存在しないことを示す零値となる、零元の少なくとも1つを含めることができる請求項1または2に記載の情報処理装置。
- 前記処理部は、項の組み合わせを、第1の因子を含む第1の項と前記第1の因子を含まない第2の項とに分類し、第1の因子を含む第1の項が複数存在したときに、第1の項の組み合わせから前記第1の因子を共通因子として抽出する部分集合形成部をさらに有する請求項1から3のいずれかに記載の情報処理装置。
- 前記部分集合形成部は、前記共通因子を含む項から、積演算子によって共通因子の左側に結合される左因子と、積演算子によって共通因子の右側に結合される右因子とを抽出するとともに、前記左因子または右因子がない項に対しては、左因子または右因子に代えて単位元を抽出する因子抽出部と、
前記第1の項として複数の項が分類されたときに、前記因子抽出部から抽出された複数の左因子から、和演算子と順序構成演算子とによって複数の左因子を含む左値因子を構成し、前記因子抽出部から抽出された複数の右因子から、和演算子と順序構成演算子とによって複数の右因子を含む右値因子を構成し、前記左値因子、共通因子、および右値因子列を積演算子で結合する左右因子括り出し部と、を有する請求項4に記載の情報処理装置。 - いずれかの項を構成する因子中に、前記集合因子構成演算子が付加された項の組み合わせである集合因子が含まれるときに、前記処理部は、前記集合因子中の項に対して、前記部分集合形成部による部分集合の形成を実行する請求項4または5に記載の情報処理装置。
- 前記処理部は、
項または複数の項の組み合わせに対して、前記項に適用される演算用因子の指定を受け、前記項を構成する因子中に前記演算用因子を含むときにその項を選択する第1の選択演算を実行し、項を構成する因子中に前記演算用因子が含まれておらず、かつ、前記集合因子構成演算子によって関係付けられた項の組み合わせである集合因子を含むときに、前記集合因子中の項に対して前記第1の選択演算を実行し、前記集合因子中のいずれかの項が選択できたときに、前記集合因子中の選択された項と前記項を構成する因子中の前記集合因子以外の因子とを前記積演算子によって結合し、前記演算用因子が含まれる項を抽出する商演算部と、
項または複数の項の組み合わせに対して、前記項を構成する因子中に前記演算用因子を含まないときにその項を構成する因子を選択する第2の選択演算を実行するとともに選択された因子を保持し、前記保持された因子に前記集合因子構成演算子によって関係付けられた項の組み合わせである集合因子を含むときに、前記集合因子中の項に対して前記第2の選択演算を実行し、前記集合因子中のいずれかの項が選択できたときに、前記集合因子中の選択された項と前記保持されている因子のうちの前記集合因子以外の因子とを前記積演算子によって結合し、前記演算用因子が含まれない項を抽出する剰余演算部と、をさらに有する請求項1から6のいずれかに記載の情報処理装置。 - 前記対象情報は、項または和演算子で構成された複数の項によって集合情報を構成し、前記項または複数の項は、集合情報を識別する情報である第1の識別因子と、前記集合情報に含まれる値である因子とを含む、請求項1から7のいずれかに記載の情報処理装置。
- 前記対象情報は、集合情報から前記共通因子が括り出された部分集合と他の部分集合に分類され、前記部分集合を少なくとも1つ含むトポロジー空間情報を構成し、
前記トポロジー空間情報は、そのトポロジー空間情報を識別する情報である第2の識別因子と、前記部分集合がなす因子または部分集合の組み合わせに集合因子構成演算子を付加した因子とが、積演算子によって結合されている、請求項8に記載の情報処理装置。 - 前記対象情報は、属性と属性値との対応関係を含むセル空間情報を構成する請求項1から9のいずれかに記載の情報処理装置。
- 前記セル空間情報は、
セル空間情報を他のセル空間情報と識別するセル空間識別因子と、
属性を指定する識別子、属性を指定する複数の識別子を積演算子によって結合した属性列、および、前記属性を指定する識別子および属性列のいずれかまたは双方の組み合わせを順序構成演算子で構成した属性の順序因子のいずれかである属性因子と、
前記属性因子に対応する値を指定する識別子、値を指定する複数の識別子を積演算子によって結合した値列、および、前記属性の順序因子に対応する値を指定する項の組み合わせを順序構成演算子によって構成した値の順序因子のいずれかを1以上含む単一の項またはそのような項の組み合わせを含む値因子と、を積演算子で結合して構成される請求項10に記載の情報処理装置。 - 前記処理部は、前記項、前記集合情報、前記トポロジー空間情報、および前記セル空間情報の少なくとも1つを被接着情報とし、被接着情報を2以上結合した接着空間情報を構成する接着処理部を有し、
前記接着空間情報は、第1の被接着情報と第2の被接着情報を含み、
第1の被接着情報は、被接着情報同士を関連づける情報である第1の同値因子と、第1の値因子と積演算子で結合される第1の被接着因子とを含み、
第2の被接着情報は、被接着情報同士を関連づける情報である第2の同値因子と、第2の値因子と積演算子で結合される第2の被接着因子とを含み、
前記接着処理部は、第1の同値因子と第2の同値因子との関連付けの指定を受ける指定部と、
前記第1の同値因子と第2の同値因子との関連付けとともに、第1の被接着情被接着因子と第2の被接着因子との関連づけを前記記憶部に記憶させる接着部と、を有する請求項1から11のいずれかに記載の情報処理装置。 - 前記接着処理部は、前記第1の同値因子を前記演算用因子として、前記第1の被接着情報を商演算部で演算することによって、前記第1の同値因子を含む第1の関連項を抽出し、前記第2の同値因子を前記演算用因子として、前記第2の被接着情報を商演算部で演算することによって、前記第2の同値因子を含む第2の関連項を抽出する関連項抽出部と、
前記第1の同値因子を前記演算用因子として、前記第1の被接着情報を剰余演算部で演算することによって、前記第1の同値因子を含ない非関連項を抽出し、前記第2の同値因子を前記演算用因子として、前記第2の被接着情報を剰余演算部で演算することによって、前記第2の同値因子を含ない非関連項を抽出する非関連項抽出部と、
前記第1の関連項から第1の同値因子を括り出すとともに、前記第2の関連項から第2の同値因子を括り出し、さらに、括り出された第1の同値因子と第2の同値因子と順序構成演算子によって関連づける関連づけ部とを有する請求項12に記載の情報処理装置。 - 前記接着空間情報は、前記項、前記集合情報、前記トポロジー空間情報、前記セル空間情報、および他の接着空間情報の少なくとも1つとさらに、接着される請求項12または13に記載の情報処理装置。
- 識別子と、順序を持つ因子の列として複数の識別子を結合する積演算子と、識別子および因子の列として結合された複数の識別子のいずれかまたは両方から項の組み合わせを構成する和演算子と、によって記述される対象情報を記憶する記憶部と、
情報の入力を受け付ける入力部を接続可能なインターフェースと、
情報を出力する出力部を接続可能なインターフェースと、を備えるコンピュータが、
前記インターフェースに接続された入力部から入力される情報を前記識別子、因子、項および項の組み合わせを含む式のいずれか1以上として前記対象情報に設定し、前記記憶部に記憶させる入力処理ステップと、
前記記憶部に記憶されている対象情報を参照し、参照した対象情報中の識別子、因子、項および式のいずれか1以上が前記入力部から入力される情報と所定の関係にあるときに、前記対象情報を前記インターフェースに接続された出力部に出力する出力処理ステップと、を実行する情報処理方法。 - 識別子と、順序を持つ因子の列として複数の識別子を結合する積演算子と、識別子および因子の列として結合された複数の識別子のいずれかまたは両方から項の組み合わせを構成する和演算子と、によって記述される対象情報を記憶する記憶部と、
情報の入力を受け付ける入力部を接続可能なインターフェースと、
情報を出力する出力部を接続可能なインターフェースと、を備えるコンピュータに、前記対象情報を操作させるプログラムであり、
前記インターフェースに接続された入力部から入力される情報を前記識別子、因子、項および項の組み合わせを含む式のいずれか1以上として前記対象情報に設定し、前記記憶部に記憶させる入力処理ステップと、
前記記憶部に記憶されている対象情報を参照し、参照した対象情報中の識別子、因子、項および式のいずれか1以上が前記入力部から入力される情報と所定の関係にあるときに、前記対象情報を前記インターフェースに接続された出力部に出力する出力処理ステップと、を有するプログラム。 - 前記対象情報は、前記組み合わせ中の項の順序を維持して前記項の組み合わせを関係付けることによって因子または新たな項を構成する順序構成演算子と、前記組み合わせ中の項の順序を維持しないで前記項の組み合わせを関係付けることによって因子または新たな項を構成する集合因子構成演算子とをさらに含み、
前記積演算子によって、識別子を複数結合する積演算ステップと、
前記積演算子によって結合された複数の識別子からいずれかの識別子を抽出する因子抽出ステップと、
前記識別子、または積演算子によって結合された識別子をさらに前記和演算子によってさらに組み合わせて、項の組み合わせを構成する和演算ステップと、
前記項の組み合わせに含まれるいずれかの項を抽出する項抽出ステップと、
前記項の組み合わせに順序構成演算子を付加することによって因子または項を構成する順序生成ステップと、
前記項の組み合わせに順序構成演算子を付加された因子または項から前記順序構成演算子を除去する順序展開ステップと、
前記項の組み合わせに集合因子構成演算子を付加することによって因子または項を構成する集合構成ステップと、
前記項の組み合わせに集合因子構成演算子を付加された因子または項から前記集合因子構成演算子を除去する集合展開ステップと、
前記対象情報を構成する一の因子が項の組み合わせと前記順序構成演算子とによって構成されているとき、または前記一の因子が項の組み合わせと前記集合因子構成演算子とによって構成されているときに、前記一の因子と同一の項に含まれる、前記一の因子と積演算子で結合されている共通因子を前記項の組み合わせ中のそれぞれの項に付加して前記積演算子によって結合することによって、前記共通因子を展開する因子展開ステップと、をさらに有する請求項16に記載のプログラム。 - 前記因子または前記項には、前記和演算子による演算に対して単位元となる記号、前記積演算子による演算に対して単位元となる記号、および前記積演算子に対して、演算結果が、識別子が存在しないことを示す零値となる、零元の少なくとも1つを含めることができる請求項16または17に記載のプログラム。
- 項の組み合わせを、第1の因子を含む第1の項と前記第1の因子を含まない第2の項とに分類し、第1の因子を含む第1の項が複数存在したときに、第1の項の組み合わせから前記第1の因子を共通因子として抽出する部分集合形成ステップをさらに有する請求項16から18のいずれかに記載のプログラム。
- 前記部分集合形成ステップは、前記共通因子を含む項から、積演算子によって共通因子の左側に結合される左因子と、積演算子によって共通因子の右側に結合される右因子とを抽出するとともに、前記左因子または右因子がない項に対しては、左因子または右因子に代えて単位元を抽出する因子抽出ステップと、
前記第1の項として複数の項が分類されたときに、前記因子抽出ステップにて抽出された複数の左因子から、和演算子と順序構成演算子とによって複数の左因子を含む左値因子を構成し、前記因子抽出ステップにて抽出された複数の右因子から、和演算子と順序構成演算子とによって複数の右因子を含む右値因子を構成し、前記左値因子、共通因子、および右値因子列を積演算子で結合する左右因子括り出しステップと、を有する請求項19に記載のプログラム。 - 部分集合形成ステップは、いずれかの項を構成する因子中に、前記集合因子構成演算子が付加された項の組み合わせである集合因子が含まれるときに、前記集合因子中の項に対して、部分集合の形成を実行するステップをさらに有する請求項19または20に記載のプログラム。
- 項または複数の項の組み合わせに対して、前記項に適用される演算用因子の指定を受け、前記項を構成する因子中に前記演算用因子を含むときにその項を選択する第1の選択演算を実行し、項を構成する因子中に前記演算用因子が含まれておらず、かつ、前記集合因子構成演算子によって関係付けられた項の組み合わせである集合因子を含むときに、前記集合因子中の項に対して前記第1の選択演算を実行し、前記集合因子中のいずれかの項が選択できたときに、前記集合因子中の選択された項と前記項を構成する因子中の前記集合因子以外の因子とを前記積演算子によって結合し、前記演算用因子が含まれる項を抽出する商演算ステップと、
項または複数の項の組み合わせに対して、前記項を構成する因子中に前記演算用因子を含まないときにその項を構成する因子を選択する第2の選択演算を実行するとともに選択された因子を保持し、前記保持された因子に前記集合因子構成演算子によって関係付けられた項の組み合わせである集合因子を含むときに、前記集合因子中の項に対して前記第2の選択演算を実行し、前記集合因子中のいずれかの項が選択できたときに、前記集合因子中の選択された項と前記保持されている因子のうちの前記集合因子以外の因子とを前記積演算子によって結合し、前記演算用因子が含まれない項を抽出する剰余演算ステップと、をさらに有する請求項16から21のいずれかに記載のプログラム。 - 前記対象情報は、項または和演算子で構成された複数の項によって集合情報を構成し、前記項または複数の項は、集合情報を識別する情報である第1の識別因子と、前記集合情報に含まれる値である因子とを含む、請求項16から22のいずれかに記載のプログラム。
- 前記対象情報は、集合情報から前記共通因子が括り出された部分集合と他の部分集合に分類され、前記部分集合を少なくとも1つ含むトポロジー空間情報を構成し、
前記トポロジー空間情報は、そのトポロジー空間情報を識別する情報である第2の識別因子と、前記部分集合がなす因子または部分集合の組み合わせに集合因子構成演算子を付加した因子とが、積演算子によって結合されている、請求項23に記載のプログラム。 - 前記対象情報は、属性と属性値との対応関係を含むセル空間情報を構成する請求項16から24のいずれかに記載のプログラム。
- 前記セル空間情報は、
セル空間情報を他のセル空間情報と識別するセル空間識別因子と、
属性を指定する識別子、属性を指定する複数の識別子を積演算子によって結合した属性列、および、前記属性を指定する識別子および属性列のいずれかまたは双方の組み合わせを順序構成演算子で構成した属性の順序因子のいずれかである属性因子と、
前記属性因子に対応する値を指定する識別子、値を指定する複数の識別子を積演算子によって結合した値列、および、前記属性の順序因子に対応する値を指定する項の組み合わせを順序構成演算子によって構成した値の順序因子のいずれかである値因子と、を積演算子で結合して構成される請求項25に記載のプログラム。 - 前記項、前記集合情報、前記トポロジー空間情報、および前記セル空間情報の少なくとも1つを被接着情報とし、被接着情報を2以上結合した接着空間情報を構成する接着処理ステップをさらに有し、
前記接着空間情報は、第1の被接着情報と第2の被接着情報を含み、
第1の被接着情報は、被接着情報同士を関連づける情報である第1の同値因子と、第1の値因子と積演算子で結合される第1の被接着因子とを含み、
第2の被接着情報は、被接着情報同士を関連づける情報である第2の同値因子と、第2の値因子と積演算子で結合される第2の被接着因子とを含み、
前記接着処理ステップは、第1の同値因子と第2の同値因子との関連付けの指定を受けるステップと、
前記第1の同値因子と第2の同値因子との関連付けとともに、第1の被接着情被接着因子と第2の被接着因子との関連づけを記憶するステップと、を有する請求項16から26のいずれかに記載のプログラム。 - 前記接着処理ステップは、前記第1の同値因子を前記演算用因子として、前記第1の被接着情報を商演算部で演算することによって、前記第1の同値因子を含む第1の関連項を抽出し、前記第2の同値因子を前記演算用因子として、前記第2の被接着情報を商演算部で演算することによって、前記第2の同値因子を含む第2の関連項を抽出する関連項抽出ステップと、
前記第1の同値因子を前記演算用因子として、前記第1の被接着情報を剰余演算部で演算することによって、前記第1の同値因子を含ない非関連項を抽出し、前記第2の同値因子を前記演算用因子として、前記第2の被接着情報を剰余演算部で演算することによって、前記第1の同値因子を含ない非関連項を抽出する非関連項抽出ステップと、
前記第1の関連項から第1の同値因子を括り出すとともに、前記第2の関連項から第2の同値因子を括り出し、さらに、括り出された第1の同値因子と第2の同値因子と順序構成演算子によって関連づける関連づけステップとを有する請求項27に記載のプログラム。 - 前記接着空間情報は、前記項、前記集合情報、前記トポロジー空間情報、前記セル空間情報、および他の接着空間情報の少なくとも1つとさらに、接着される請求項28に記載のプログラム。
- 識別子と、順序を持つ因子の列として複数の識別子を結合する積演算子と、識別子および因子の列として結合された複数の識別子のいずれかまたは両方から項の組み合わせを構成する和演算子と、によって記述されるデータ構造であり、
前記データ構造で記述される対象情報を記憶する記憶部と、
前記対象情報を操作する処理部と、
情報の入力を受け付ける入力部を接続可能なインターフェースと、
情報を出力する出力部を接続可能なインターフェースと、を備えるコンピュータが、
前記インターフェースに接続された入力部から入力される情報を前記識別子、因子、項および項の組み合わせを含む式のいずれか1以上として前記対象情報に設定し、前記記憶部に記憶させる入力処理ステップと、
前記記憶部に記憶されている対象情報を参照し、参照した対象情報中の識別子、因子、項および式のいずれか1以上が前記入力部から入力される情報と所定の関係にあるときに、前記対象情報を前記インターフェースに接続された出力部に出力する出力処理ステップと、を実行し、前記記憶部に構成されるデータ構造。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006027718 | 2006-02-03 | ||
JP2006027718 | 2006-02-03 | ||
PCT/JP2007/051830 WO2007088982A1 (ja) | 2006-02-03 | 2007-02-02 | 情報処理装置、情報処理方法、プログラム、データ構造、および媒体 |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2009027815A Division JP5113779B2 (ja) | 2006-02-03 | 2009-02-09 | 情報処理装置、情報処理方法、プログラム、およびデータ構造 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPWO2007088982A1 true JPWO2007088982A1 (ja) | 2009-06-25 |
JP4343984B2 JP4343984B2 (ja) | 2009-10-14 |
Family
ID=38327784
Family Applications (3)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2007556939A Expired - Fee Related JP4343984B2 (ja) | 2006-02-03 | 2007-02-02 | 情報処理装置、情報処理方法、プログラム、データ構造、および媒体 |
JP2009027815A Expired - Fee Related JP5113779B2 (ja) | 2006-02-03 | 2009-02-09 | 情報処理装置、情報処理方法、プログラム、およびデータ構造 |
JP2012193613A Expired - Fee Related JP5357313B2 (ja) | 2006-02-03 | 2012-09-03 | 情報処理装置、情報処理方法、プログラム、およびデータ構造 |
Family Applications After (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2009027815A Expired - Fee Related JP5113779B2 (ja) | 2006-02-03 | 2009-02-09 | 情報処理装置、情報処理方法、プログラム、およびデータ構造 |
JP2012193613A Expired - Fee Related JP5357313B2 (ja) | 2006-02-03 | 2012-09-03 | 情報処理装置、情報処理方法、プログラム、およびデータ構造 |
Country Status (1)
Country | Link |
---|---|
JP (3) | JP4343984B2 (ja) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102246173B (zh) | 2008-12-11 | 2013-04-17 | 国际商业机器公司 | 变换系统模型的方法和系统 |
WO2012023192A1 (ja) * | 2010-08-18 | 2012-02-23 | 前田建設工業株式会社 | 情報処理装置、情報処理方法、プログラム、および媒体 |
WO2015170770A1 (ja) | 2014-05-09 | 2015-11-12 | 前田建設工業株式会社 | 情報処理装置、情報処理方法およびプログラム |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2786194B2 (ja) * | 1987-11-27 | 1998-08-13 | 株式会社日立製作所 | 情報検索装置及び情報検索方法 |
JPH0239241A (ja) * | 1988-07-28 | 1990-02-08 | Nec Corp | コンパイラ |
JP3567292B2 (ja) * | 1994-04-27 | 2004-09-22 | カシオ計算機株式会社 | 電子計算機および因数分解表示処理方法 |
-
2007
- 2007-02-02 JP JP2007556939A patent/JP4343984B2/ja not_active Expired - Fee Related
-
2009
- 2009-02-09 JP JP2009027815A patent/JP5113779B2/ja not_active Expired - Fee Related
-
2012
- 2012-09-03 JP JP2012193613A patent/JP5357313B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
WO2007088982A2 (ja) | 2007-08-09 |
JP2009134748A (ja) | 2009-06-18 |
JP5113779B2 (ja) | 2013-01-09 |
JP4343984B2 (ja) | 2009-10-14 |
JP2012248219A (ja) | 2012-12-13 |
JP5357313B2 (ja) | 2013-12-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Hong et al. | A formal approach to the comparison of object-oriented analysis and design methodologies | |
US20020178184A1 (en) | Software system for biological storytelling | |
Berkley et al. | Incorporating Semantics in Scientific Workflow Authoring. | |
Ossher et al. | Flexible modeling tools for pre-requirements analysis: conceptual architecture and research challenges | |
CN109255586A (zh) | 一种面向电子政务办事的在线个性化推荐方法 | |
JP5357313B2 (ja) | 情報処理装置、情報処理方法、プログラム、およびデータ構造 | |
EP3721354A1 (en) | Systems and methods for querying databases using interactive search paths | |
Al-Fedaghi | Conceptual data modeling: Entity-relationship models as thinging machines | |
CN117539433B (zh) | 一种基于模型驱动架构的微服务设计方法 | |
CN104199648B (zh) | 一种通用移动信息系统适配方法与装置 | |
CN104346154A (zh) | 基于情景的业务驱动模型构建方法 | |
Sarja | Explanatory definitions of the technology push success factors | |
Hili et al. | A light-weight low-code platform for back-end automation | |
CN115878818A (zh) | 一种地理知识图谱构建方法、装置、终端及存储介质 | |
JP2009110440A (ja) | 情報処理装置、情報処理方法、プログラム、および媒体 | |
US7574329B1 (en) | Object model for decision and issue tracking | |
Kirikova et al. | Renaissance of business process modelling | |
US9990415B2 (en) | Data structure for representing information using expressions | |
US20160224918A1 (en) | Business influenced part extraction method and business influenced part extraction device based on business variation | |
JP5512817B2 (ja) | 情報処理装置、情報処理方法、プログラム、および媒体 | |
Mou et al. | Visual orchestration and autonomous execution of distributed and heterogeneous computational biology pipelines | |
WO2020183538A1 (ja) | 計算機システム及びデータレイクに格納されるデータを用いた処理方法 | |
JP2020181516A (ja) | テンプレート検索システムおよびテンプレート検索方法 | |
JP2017072959A (ja) | 情報処理装置、情報処理方法およびプログラム | |
JP2016157411A (ja) | 情報管理装置並びにファイル管理方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20090331 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20090601 |
|
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: 20090630 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20090709 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120717 Year of fee payment: 3 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 Ref document number: 4343984 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120717 Year of fee payment: 3 |
|
S531 | Written request for registration of change of domicile |
Free format text: JAPANESE INTERMEDIATE CODE: R313531 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120717 Year of fee payment: 3 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120717 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130717 Year of fee payment: 4 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
S531 | Written request for registration of change of domicile |
Free format text: JAPANESE INTERMEDIATE CODE: R313532 |
|
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 |
|
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 |