JPH0564809B2 - - Google Patents

Info

Publication number
JPH0564809B2
JPH0564809B2 JP62314139A JP31413987A JPH0564809B2 JP H0564809 B2 JPH0564809 B2 JP H0564809B2 JP 62314139 A JP62314139 A JP 62314139A JP 31413987 A JP31413987 A JP 31413987A JP H0564809 B2 JPH0564809 B2 JP H0564809B2
Authority
JP
Japan
Prior art keywords
term
address
index
general
target
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.)
Expired - Lifetime
Application number
JP62314139A
Other languages
Japanese (ja)
Other versions
JPH01156826A (en
Inventor
Isamu Yamazaki
Shigeki Shibayama
Hiroshi Sakai
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
National Institute of Advanced Industrial Science and Technology AIST
Original Assignee
Agency of Industrial Science and Technology
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Agency of Industrial Science and Technology filed Critical Agency of Industrial Science and Technology
Priority to JP62314139A priority Critical patent/JPH01156826A/en
Publication of JPH01156826A publication Critical patent/JPH01156826A/en
Publication of JPH0564809B2 publication Critical patent/JPH0564809B2/ja
Granted legal-status Critical Current

Links

Description

【発明の詳細な説明】 [発明の目的] (産業上の利用分野) この発明は、情報処理、特に知識情報処理や知
識ベース処理における、単一化処理または単一化
検索に使用される単一化候補項の選択装置に関す
る。
[Detailed Description of the Invention] [Objective of the Invention] (Industrial Application Field) This invention relates to a unit used for unification processing or unification search in information processing, particularly knowledge information processing and knowledge base processing. The present invention relates to a selection device for unified candidate terms.

(従来の技術) 知識情報処理言語の一つであるPrologでは、
「項」と呼ぶ形式を用いて表した述語の集合(項
集合)からなるプログラムに対し、目標となる項
(目標項)が与えられ、この目標項がプログラム
中の項集合で満足させられるかどうかを調べて行
くことを処理の基本にしているが、この過程の中
で、項と項との単一化(Unification)が重要な
役割を果たす(W.F.Cloksin/C.S.Mellish著、中
村克彦訳「Prologプログラミング」マイクロソ
フトウエア刊:参照)。
(Conventional technology) In Prolog, which is one of the knowledge information processing languages,
A target term (target term) is given to a program consisting of a set of predicates (term set) expressed using the form called "term", and can this target term be satisfied by the term set in the program? The basis of processing is to check whether the terms are different, and in this process, the unification of terms plays an important role (Prolog Programming by WFCloksin/CS Mellish, translated by Katsuhiko Nakamura). ” Published by Microsoft Ware: Reference).

二つの項t1とt2の単一化の成功・失敗は、t1
とt2が全く同じであれば単一化成功、t1または
t2に変数があるとき、(同一変数には同じ項を代
入するとして)その変数に適当な項を代入するこ
とによつて、他方と一致させることができれば単
一化成功、これらととによつて単一化成功で
ない場合は単一化失敗、として定義される。
Success or failure of unification of two terms t1 and t2 is t1
If and t2 are exactly the same, unification is successful, t1 or
When there is a variable in t2, if it can be made to match the other by assigning an appropriate term to that variable (assuming that the same term is assigned to the same variable), unification is successful, and these If unification is not successful, it is defined as unification failure.

この単一化に対する従来の処理方式では、目標
項と単一化すべき項の集まりである項集合中の一
つの項との間で、それらの表現を逐次調べていく
方法を採ることが多い。しかし、この方法では、
項集合の中で目標項との単一化に成功する項が少
数であるのにも拘らず、処理として意味のあるこ
れら少数の項との単一化を行うために、より多く
の失敗可能性のある単一化作業を行わねばならな
いという欠点があつた。その結果、従来、単一化
の処理は時間のかかるのもであり、Prologのプ
ログラムは実行速度の点で、他の言語のプログラ
ムより遅くなることが多かつた。
Conventional processing methods for this unification often employ a method of sequentially examining the expressions between the target term and one term in a term set, which is a collection of terms to be unified. However, with this method,
Even though there are only a few terms in the term set that can be successfully unified with the target term, in order to unify with these few terms, which is meaningful as a process, more failures are possible. The disadvantage was that it required a lot of unification work. As a result, the unification process has traditionally been time-consuming, and Prolog programs have often run slower than programs in other languages.

(発明が解決しようとする問題点) このように、従来の単一化候補項の選択装置に
おいては、単一化の失敗可能性のある多くの項と
目標項との単一化作業を行なわなくてはならず、
実行速度が遅くなるという問題があつた。
(Problems to be Solved by the Invention) As described above, in the conventional unification candidate term selection device, the task of unifying the target term with many terms for which unification may fail is performed. indispensable,
There was a problem with slow execution speed.

本発明は、このような問題点を解決すべくなさ
れたもので、複数の項を要素とする項集合の各項
と、目標項との間の単一化作業を高速に行ない得
る単一化候補項の選択装置を提供することを目的
とする。
The present invention has been made to solve these problems, and is a unification method that can quickly unify each term in a term set consisting of a plurality of terms and a target term. An object of the present invention is to provide a candidate item selection device.

[発明の構成] (問題点を解決するための手段) 本発明は、複数の項を要素とする項集合の各項
と、目標項との間で単一化を試みる際に、項集合
の全ての項と単一化を試みるかわりに、単一化可
能な項がある場合に、その項が必ず含まれている
部分項集合の各項とのみ単一化を試みるようにし
たものであり、換言すれば、単一化に失敗する項
のうちの大部分の項とは始めから単一化を試みな
いようにすることにより、全体の処理時間を短縮
し、実行速度を上げようとするものである。
[Structure of the Invention] (Means for Solving the Problems) The present invention provides a means for solving the problem when attempting to unify each term of a term set including a plurality of terms and a target term. Instead of attempting to unify all terms, if there is a term that can be unified, it attempts to unify only with each term in the subterm set that always includes that term. In other words, we try to shorten the overall processing time and increase execution speed by not attempting to unify most of the terms that fail to unify from the beginning. It is something.

複数の項を要素とする項集合から、その部分項
集合として単一化候補項集合を、目標項と単一化
可能な項は必ず含まれているように選びだすた
め、本発明は、以下に述べる項集合記憶手段と、
目標項入力手段と、汎項アドレス生成手段と、等
項アドレス生成手段と、索引記憶手段と、登録手
段と、検索・選択手段とを備えたことを特徴とし
ている。
In order to select a unification candidate term set as a partial term set from a term set including a plurality of terms in such a way that the target term and terms that can be unified are always included, the present invention uses the following method. a term set storage means described in
It is characterized by comprising a target term input means, a general term address generation means, an equal term address generation means, an index storage means, a registration means, and a search/selection means.

項集合記憶手段は、検索の対象となる複数の項
を要素とする項集合を記憶するものである。
The term set storage means stores a term set whose elements are a plurality of terms to be searched.

目標項入力手段と、目標項を入力するものであ
る。
A target term input means and a target term are input.

汎項アドレス生成手段は、前記項集合記憶手段
又は前記目標入力手段から任意の項が与えられる
と、その項の全ての汎項の核から、その核を特定
するアドレスを生成・出力するものである。
When an arbitrary term is given from the term set storage means or the target input means, the general term address generating means generates and outputs an address specifying the kernel from the kernels of all general terms of that term. be.

等項アドレス生成手段は、前記与えられた任意
の項の核から、その核を特定するアドレスを生
成・出力するものである。
The equal term address generation means generates and outputs an address specifying the kernel from the kernel of the given arbitrary term.

索引記憶手段は、前記項集合記憶手段から任意
の項が与えられることにより、前記汎項アドレス
生成手段が生成したアドレスで指示される記憶場
所に当該汎項に係る項の識別子を汎項索引として
記憶するとともに、前記項集合記憶手段から任意
の項が与えられることにより、前記等項アドレス
生成手段が生成したアドレスで指示される記憶場
所に当該項の識別子を等項索引として記憶するも
のである。
The index storage means receives an arbitrary term from the term set storage means, and stores the identifier of the term related to the general term in the storage location indicated by the address generated by the general term address generation means as a general term index. At the same time, when an arbitrary term is given from the term set storage means, the identifier of the term is stored as an isomand index in a storage location indicated by the address generated by the isomand address generation means. .

登録手段は、前記項集合記憶手段から任意の項
が与えられることにより、前記汎項アドレス生成
手段が生成したアドレスで指示される前記索引記
憶手段の記憶場所に、当該項の識別子を書込んで
前記汎項索引を登録するとともに、前記項集合記
憶手段から任意の項が与えられることにより、前
記等項アドレス生成手段が生成したアドレスで指
示される前記等項索引記憶手段の記憶場所に、当
該項の識別子を書込んで前記等項索引を登録する
ものである。
When an arbitrary term is given from the term set storage unit, the registration unit writes an identifier of the term in a storage location of the index storage unit indicated by the address generated by the general term address generation unit. By registering the general term index and receiving an arbitrary term from the term set storage means, the corresponding item is stored in the storage location of the isomerical index storage means indicated by the address generated by the isomerical address generation means. The equinominal index is registered by writing the identifier of the term.

検索・選択手段は、前記目標項入力手段から目
標項が与えられることにより、前記汎項アドレス
生成手段が生成した各アドレスで前記索引記憶手
段中の前記等項索引を検索し、前記目標項入力手
段から目標項が与えられることにより、前記等項
アドレス生成手段が生成したアドレスで前記汎項
索引を検索し、さらに前記目標項入力手段から目
標項が与えられることにより、前記等項アドレス
生成手段が生成したアドレスで前記等項索引を検
索し、登録されている項の識別子があつた場合に
これを単一化候補項として読み出すものである。
The search/selection means receives the target term from the target term input means, searches the equinominal index in the index storage means with each address generated by the general term address generation means, and inputs the target term input. When a target term is given from the means, the general term index is searched by the address generated by the isomerical address generating means, and when a target term is further given from the target term input means, the isomerical address generating means The above-mentioned equality index is searched using the address generated by , and if a registered term identifier is found, it is read out as a unification candidate term.

(作用) 本発明では、汎項アドレス生成手段が特に重要
であるので、その働きを説明するが、その準備と
して汎項について説明する。
(Function) In the present invention, since the general term address generation means is particularly important, its function will be explained, but as a preparation, the general term will be explained.

「項」の表現は数学で用いる関数の表現と同様
であつて、例えば、f(g(a,b),h(X))な
どと表現される。ここで、fやgやhなどは一種
の関数記号であり、fとgにはそれぞれ2個の項
を代入できる場所があつて、この場合には、fに
はg,hなる項が、gにはa,bなる項がそれぞ
れ入つている。又、hは1個の項を代入できる場
所を持つていて、Xなる変数が入つている。この
場合、「f,gのarityは2,hのarityは1,a,
bのarityは0である」などという。また、f,
g,a,bなどをX(変数)に対して、定数と呼
ぶことにする。
The expression of a "term" is similar to that of a function used in mathematics, and is expressed, for example, as f(g(a,b),h(X)). Here, f, g, h, etc. are a kind of function symbol, and there is a place where two terms can be substituted for each of f and g. In this case, f has terms g and h, g contains terms a and b, respectively. Also, h has a place where one term can be substituted, and contains a variable called X. In this case, "the arity of f, g is 2, the arity of h is 1, a,
The arity of b is 0.'' Also, f,
Let g, a, b, etc. be called constants with respect to X (variables).

いま上記の項の例をt1とすると(t1=f(g
(a,b),h(X)),t1と単一化可能な項として
は、t2=f(g(a,Y),h(g(c,a)))など
がある。この場合、単一化は、X=g(c,a),
Y=bとおけば、t1もt2も、ともにf(g(a,
b),h(g(c,a)))となるので、成功する。
このようにt1と単一化可能な項は他にも、f(g
(a,b),h(f(d(b,h(c),k),Z))
),
f(g(a,b),h(d(y,b,a))),……f
(X,h(g(a,Y))),……などと、無数に存在
する。単一化はこのように、変数を含む項では、
無数の相手と成功し得るので、単純な一致検索の
ように、あらかじめハツシング・テーブルに登録
をしておくことにより、検索を高速化するという
手法を使うことができない。
Now let us take the example of the above term as t1 (t1=f(g
(a, b), h(X)), and terms that can be unified with t1 include t2=f(g(a, Y), h(g(c, a))). In this case, the unification is X=g(c,a),
If Y=b, both t1 and t2 are f(g(a,
b), h(g(c,a))), so it is successful.
In this way, there are other terms that can be unified with t1, such as f(g
(a, b), h(f(d(b, h(c), k), Z))
),
f(g(a,b),h(d(y,b,a))),...f
(X, h(g(a, Y))), etc., and there are an infinite number of them. Unification is like this, in terms that include variables:
Since it is possible to succeed with an infinite number of opponents, it is not possible to use the method of speeding up the search by pre-registering it in a hashing table, as in a simple match search.

ところで、項の表現として、上記の表現以外
に、各定数にそのarityを対にしたものを、括弧
“( )”を使わずに、その出現順に書き並べた、
「線形表現」がある。この表現によると、上記の
t1、t2は t1=f:2,g:2,a:0,b:0,h:
1,X:0■ t2=f:2,g:2,a:0,Y:0,h:
1,g:2,c:0,a:0■ と書かれる。またこれらを単一化した結果の項を
t3とすると、t3は、 t3=f:2,g:2,a:0,b:0,h:
1,g:2,c:0,a:0■ と書かれる。このように(単一化によつて)変数
に代入を行うと、線形表現では、その変数の位置
より左側だけが影響を受ける。
By the way, as a term expression, in addition to the above expression, each constant is paired with its arity and written in the order of their appearance without using parentheses "( )".
There is a "linear expression". According to this expression, the above
t1 and t2 are t1=f:2, g:2, a:0, b:0, h:
1, X: 0 t2=f: 2, g: 2, a: 0, Y: 0, h:
It is written as 1, g: 2, c: 0, a: 0 ■. Also, the term resulting from unifying these is
Assuming t3, t3 = f: 2, g: 2, a: 0, b: 0, h:
It is written as 1, g: 2, c: 0, a: 0 ■. When a variable is assigned in this way (by unification), only the area to the left of the position of the variable is affected in the linear representation.

いま線形表現で項tを表したとき、左端から見
て行つて初めて変数が現れるまでの定数の列、ま
たは変数が現れなければ項全体をその項の「核」
と定義し、K(t)書く。また、項tの核に含ま
れる定数の個数を、その項の「左定数長」と定義
し、L(t)と書く。上記の例では、各項の核と
左定数長は次の通りとなる。
When we express term t in a linear expression, we define the sequence of constants starting from the left end until the first variable appears, or if the variable does not appear, the entire term as the "nucleus" of that term.
and write K(t). Further, the number of constants included in the nucleus of term t is defined as the "left constant length" of that term, and is written as L(t). In the above example, the kernel and left constant length of each term are as follows.


左定数長 t1……f:2,g:2,a:0,b:0,h:
1 ……5 t2……f:2,g:2,a:0 ……3 t3……f:2,g:2,a:0,b:0,h:
1,g:2,c:0,a:0 ……8 これらの準備の下に、単一化の必要条件を考え
る。
nuchal nucleus
Left constant length t1...f: 2, g: 2, a: 0, b: 0, h:
1...5 t2...f:2, g:2, a:0...3 t3...f:2, g:2, a:0, b:0, h:
1, g: 2, c: 0, a: 0...8 Based on these preparations, consider the necessary conditions for unification.

t1とt2が単一化できるための必要条件として、
次の条件が考えられる。
As a necessary condition for t1 and t2 to be unified,
The following conditions are possible.

[1] t1とt2が単一化できるためには、 t1とt2の左定数長をそれぞれn1,n2とする
と、t1とt2の線形表現を比較して、左端から
min{n1,n2}番目までの定数が完全に一致し
ている必要がある。
[1] In order for t1 and t2 to be unified, let the left constant lengths of t1 and t2 be n1 and n2, respectively, then compare the linear expressions of t1 and t2, and calculate from the left end
The constants up to min{n1, n2} must match completely.

何故ならば、これらの項の単一化において、 min{n1,n2}+1番目以降に現れるどちらか、
あるいは両方の変数にどのように代入を行なつて
も、それによつて起きる項の変化は線形表現では
min{n1,n2}+1番目以降のみに影響があらわ
れ、左端からmin{n1,n2}番目までは不変なの
で、この部分に不一致があると、どのように代入
を行なつても不一致が解消できず、単一化ができ
ない(失敗)からである。
This is because, in unifying these terms, whichever appears after min{n1, n2}+1st,
Or, no matter how you substitute both variables, the resulting change in term will be expressed in linear terms.
The effect only appears after min{n1, n2}+1, and the area from the left end to min{n1, n2} remains unchanged, so if there is a mismatch in this part, no matter how you perform the assignment, the mismatch cannot be resolved. First, unification is not possible (failure).

この必要条件を書き直すと次のように書ける。 Rewriting this requirement, we can write it as follows.

[2] t1とt2が単一化できるためには、 t1とt2の左定数長をそれぞれn1,n2とする
と、 (a) n1>n2ならば……左端からn2番目まで一
致していること。つまり、t1の核のn2番目ま
での定数がt2の核と一致していること。
[2] In order for t1 and t2 to be unified, let the left constant lengths of t1 and t2 be n1 and n2, respectively. (a) If n1>n2, then...the n2th from the left end must match. . In other words, the constants up to the n2th kernel of t1 match the kernel of t2.

(b) n1<n2ならば……左端からn1番目まで一
致していること。つまり、t2の核のn1番目ま
での定数がt1の核と一致していること。
(b) If n1<n2... there must be a match up to the n1th from the left end. In other words, the constants up to the n1th kernel of t2 match the kernel of t1.

(c) n1=n2ならば……左端からn1(or n2)番
目まで一致していること。つまり、K(t1)
とK(t2)が完全に一致していること。
(c) If n1=n2... there must be a match up to the n1 (or n2)th from the left end. In other words, K(t1)
and K(t2) must match completely.

が必要である。is necessary.

ここで、上記必要条件のうち(a)が成立している
とき、「t2は、t1の『汎項』である。」と定義し、
「t2は、t1より『一般性』が高い」と言うことに
する。また、(c)が成立している時、「t2は、t1の
『等項』である」と定義する。さらに、項tの汎
項の全体を、g☆tと書くことにする。
Here, when (a) of the above necessary conditions is satisfied, define ``t2 is a 'general term' of t1.'',
Let's say that t2 is more 'general' than t1. Furthermore, when (c) holds, it is defined that ``t2 is an 'equal term' of t1.'' Furthermore, the entire general term of term t is written as g☆t.

このように定義し、さらにt1とt2の単一化の必
要条件(上記[2])を調べることを考えてみる
と、次の3種の場合を調べればよい。
Considering the above definition and further investigating the necessary conditions for unification of t1 and t2 ([2] above), the following three cases can be investigated.

[3] (a) K(g☆t)のなかにK(t2)と同じ
ものがあるか? (b) K(t1)と同じものがK(g☆t2)のなかに
あるか? (c) K(t1)とK(t2)とが同じか? このチエツクは、すべて等しいかどうかのチエ
ツクであり、かつK(g☆t1)とK(t1)は有限個
(L(t1)個)であつて、予め作ることができるの
で、ハツシングテーブルあるいは索引表に登録し
ておいて高速に見付け出す手法が使用できる。本
発明はこのような事実に基づいている。
[3] (a) Is there something in K(g☆t) that is the same as K(t2)? (b) Is there something in K(g☆t2) that is the same as K(t1)? (c) Are K(t1) and K(t2) the same? This check is a check to see if they are all equal, and since there are a finite number of K(g☆t1) and K(t1) (L(t1)) and they can be made in advance, a hashing table or You can use a method of registering it in an index table and finding it quickly. The present invention is based on this fact.

さて、汎項アドレス生成手段は、ある項が与え
られると、その項の(全ての)汎項の核(K(g
☆t1))に対して、その核から一定のアルゴリズ
ムで索引記憶手段のアドレスを出力する。たとえ
ば、前例のt1に対して、その汎項の核(K(g☆
t1))は、 k11:f:2,g:2,a:0,b:
0− k12:f:2,g:2,a:0− k13:f:2,g:2− k14:f:2− k15:− の5個あるが、これらの各文字列を適当なハツシ
ングによつて、例えば0〜255の範囲のアドレス
に変換して次のようなアドレスを発生する。
Now, when a certain term is given, the general term address generation means generates the kernel of (all) general terms of that term (K(g
☆t1)), the core outputs the address of the index storage means using a certain algorithm. For example, for the antecedent t1, the kernel of its general term (K(g☆
t1)) is k11:f:2,g:2,a:0,b:
There are five character strings: 0- k12:f:2, g:2, a:0- k13: f:2, g:2- k14: f:2- k15:-. For example, the following address is generated by converting it into an address in the range of 0 to 255.

(X“……”は16進数を表す) A(k11)=X“0E” A(k12)=X“36” A(k13)=X“AB” A(k14)=X“66” A(k15)=X“00” 等項アドレス生成手段は、ある項を与えられる
と、その項の核から一定のアルゴリズムで索引記
憶手段のアドレスを出力する。この時に用いるア
ルゴリズムは、汎項アドレス生成手段で用いるア
ルゴリズムと、同じ記憶手段に対しては同じもの
を用いる。例えば、前例のt1に対しては、その核
K(t1)は K10:f:2,g:2,a:0,b:0,
h:1,− であり、前とおなじハツシングアルゴリズムで
は、索引記憶手段に対するアドレスとして、次の
数を出力する。
(X “…” represents a hexadecimal number) A (k11) = X “0E” A (k12) = X “36” A (k13) = X “AB” A (k14) = X “66” A ( k15)=X“00” When the equal term address generation means is given a certain term, it outputs the address of the index storage means from the kernel of the term using a certain algorithm. The algorithm used at this time is the same as the algorithm used by the general address generation means for the same storage means. For example, for t1 in the previous example, its kernel K(t1) is K10:f:2,g:2,a:0,b:0,
h:1,-, and the same hashing algorithm as before outputs the following number as an address to the index storage means.

A(k10)=X“74” 本発明では、このようなアドレス生成手段を用
いて任意の項についての汎項索引と等項索引とを
索引記憶手段に登録しておき、目標項から求める
られる汎項アドレスと等項アドレスとによつて上
記索引記憶手段を検索するようにしているので、
単一化候補項の検索を高速に行なうことができ
る。
A(k10) = Since the index storage means is searched by the general address and the equinominal address,
Search for unification candidate terms can be performed at high speed.

(実施例) 以下、第1図〜第6図に基づいて本発明の第一
の実施例について説明する。
(Example) Hereinafter, a first example of the present invention will be described based on FIGS. 1 to 6.

第1図は本実施例に係る単一化候補項の選択装
置の全体構成図である。同図に示すように、本装
置は、項集合記憶手段10と、目標項入力手段2
0と、汎項アドレス生成手段30と、等項アドレ
ス生成手段40と、汎項索引記憶手段50と、等
項索引記憶手段52と、登録手段60と、検索・
選択手段70とから構成されている。
FIG. 1 is an overall configuration diagram of a unitization candidate term selection device according to this embodiment. As shown in the figure, this device includes term set storage means 10 and target term input means 2.
0, the general address generation means 30, the equality address generation means 40, the general term index storage means 50, the equality index storage means 52, the registration means 60, the search and
It is composed of a selection means 70.

項集合記憶手段10は、単一化の対象となる項
を記憶しておく手段であり、第2図に示すよう
に、項記憶部11と項定義部12と項集合指定部
13とから構成されている。項記憶部11は、項
を線形表現で表したときの各要素を記憶するもの
である。項定義部12は、項記憶部11中の各要
素を用いた各々の項の定義を記憶する。更に項集
合指定部13は、項定義部11中の複数の項定義
に対するポインタなどの項識別子の集合によつて
項集合を指定し記憶する。これらの具体的記憶形
態については後述する。
The term set storage means 10 is a means for storing terms to be unified, and as shown in FIG. 2, it consists of a term storage section 11, a term definition section 12, and a term set specification section 13. has been done. The term storage unit 11 stores each element when a term is expressed in linear expression. The term definition unit 12 stores the definition of each term using each element in the term storage unit 11. Further, the term set specifying unit 13 specifies and stores term sets using a set of term identifiers such as pointers to a plurality of term definitions in the term definition unit 11. These specific storage formats will be described later.

目標項入力手段20は、単一化の目標となる項
を、この装置外から入力する手段である。
The target term input means 20 is a means for inputting a term to be the target of unification from outside the apparatus.

汎項アドレス生成手段30は、ある項が与えら
れると、その項の全ての汎項の核に対して、その
核を構成する文字列をハツシングによつて、例え
ば0〜255の範囲のアドレスに変換して汎項索引
記憶手段50のアドレスを出力する手段である。
When a certain term is given, the general term address generating means 30 generates an address in the range of 0 to 255, for example, by hashing the character strings forming the kernels of all the general terms of that term. This is means for converting and outputting the address of the general term index storage means 50.

等項アドレス生成手段40は、ある項が与えら
れると、その項の核から上記汎項アドレス生成手
段30と同様ハツシングによつて、等項索引記憶
手段52のアドレスを出力する手段である。
The equal term address generation means 40 is a means for outputting the address of the equal term index storage means 52 by hashing from the kernel of the term, similar to the general term address generation means 30, when a certain term is given.

また、本実施例では、索引記憶手段として、汎
項索引記憶手段50と等項索引記憶手段52の2
個の索引記憶手段を備えている。これら索引記憶
手段は、項集合の各項に対してその項やその汎項
の核に対する各々の特定の番地にその項へのポイ
ンターなどの項識別子を記憶する手段である。
Further, in this embodiment, two index storage means, a general index storage means 50 and an equal index storage means 52, are used.
index storage means. These index storage means are means for storing, for each term in the term set, a term identifier such as a pointer to the term at a specific address for the kernel of that term or its general term.

登録手段60は、第3図に示すように、汎項登
録部61と第1の等項登録部62と第2の等項登
録部63とから構成されている。第1の等項登録
部62は、項集合記憶手段10に記憶されている
指定された項集合の各項に対して、等項アドレス
生成手段40が生成するアドレスで指定された等
項索引記憶手段52中の記憶場所に、項識別子を
書込む制御部である。また、第2の等項登録部6
1は、項集合記憶手段10に記憶されている指定
された項集合の各項に対して、等項アドレス生成
手段40が生成するアドレスで指定された汎項索
引記憶手段50中の記憶場所に、項識別子を書込
む制御部である。
As shown in FIG. 3, the registration means 60 is composed of a general term registration section 61, a first equality registration section 62, and a second equality registration section 63. The first isomer registration unit 62 stores isomer indexes designated by addresses generated by the isomer address generator 40 for each term of the specified term set stored in the term set storage means 10. A control section that writes the term identifier to a storage location in the means 52. In addition, the second equal term registration unit 6
1 is stored in the storage location in the general index storage means 50 specified by the address generated by the equinominal address generation means 40 for each term of the specified term set stored in the term set storage means 10. , is a control unit that writes the term identifier.

さらに、検索・選択手段70は、第4図に示す
ように、汎項検索・選択部71と第1の等項検
索・選択部72とからなる。第1の等項検索・選
択部72は、目標項入力手段20から入力される
目標項に対して、等項アドレス生成手段40が生
成するアドレスで指定された汎項索引記憶手段5
0中の記憶場所に記憶されている項または項識別
子を出力させる制御部である。
Further, the search/selection means 70 includes a general term search/selection section 71 and a first equinominal search/selection section 72, as shown in FIG. The first equinominal search/selection unit 72 is configured to perform a general term index storage unit 5 designated by an address generated by the equinominal address generation unit 40 for the target term inputted from the target term input unit 20.
This is a control unit that outputs the term or term identifier stored in the storage location in 0.

第5図は項集合記憶手段10における項と項集
合の記憶方式を示た図である。項集合記憶手段1
0の中の項記憶部11は項の要素である定数や変
数を定義・記憶するためであり、名称記憶部14
とシンボル定義部15とからなる。
FIG. 5 is a diagram showing a storage method of terms and term sets in the term set storage means 10. Term set storage means 1
The term storage unit 11 in 0 is for defining and storing constants and variables that are elements of terms, and the name storage unit 14
and a symbol definition section 15.

名称記憶部14は1語32ビツトの記憶装置のN
番地から開始され、各シンボルの名称の綴りを格
納する部分である。1個のシンボルの名称の綴り
は1個以上の文字からなるが、1語に4文字づつ
区切つて記憶する。1語のなかでの余白には、綴
りの終了または余白を表す記号(/)で埋められ
る。例えば、N+15番地には“likely”というシ
ンボルの名称が格納されているが、この名称は6
文字からなるので、2語文の記憶場所を用い、1
語目に“like”までを、2語目に残りの“ly”と
余白の“//”を合せた“ly//”を格納してい
る。
The name storage unit 14 is a storage device with 32 bits per word.
This part starts from the address and stores the spelling of the name of each symbol. The spelling of the name of one symbol consists of one or more characters, and each word is divided into four characters and stored. The blank space within a word is filled with a symbol (/) that indicates the end of spelling or a blank space. For example, the symbol name “likely” is stored at address N+15, but this name is 6
Since it consists of letters, we use the memory location of the two-word sentence, and 1
The word up to "like" is stored in the first word, and the second word is "ly//", which is the remaining "ly" and the margin "//".

シンボル定義部15はやはり1語32ビツトの記
憶装置のA番地から開始され、項に使われる各シ
ンボルのarityと、そのシンボルのシンボル定義
子とを対にして記憶しておく部分である。なお、
ここで上記シンボル定義子とは、名称記憶部14
中の当該シンボルが記憶されている記憶場所のN
からの相対アドレスを示している。例えば、前述
の例における項t1に現れる“f”なるシンボル
は、A+6番地に定義されており、arityは2、
名称記憶部14でその名称(“f”)の相対番地は
11であることを示している。また、変数の場合は
そのarityは常に0であるので、arityのかわり
に、変数であることを示すX“FF”を格納する。
例えば前記の項t1における変数“X”を表すシン
ボルはA+100番地に定義されており、その内容
は、定数を示すFFと、名称記憶部において“X”
が格納されている記憶場所の相対番地17とを示し
ている。
The symbol definition section 15 also starts from address A of the storage device of 32 bits per word, and is a section that stores the arity of each symbol used in a term and the symbol definer of that symbol in pairs. In addition,
Here, the symbol definer is the name storage unit 14.
N of the memory location where the symbol in question is stored
It shows a relative address from. For example, the symbol "f" appearing in the term t1 in the above example is defined at address A+6, and the arity is 2.
The relative address of the name (“f”) in the name storage unit 14 is
It shows that it is 11. Furthermore, in the case of a variable, its arity is always 0, so instead of arity, X "FF" indicating that it is a variable is stored.
For example, the symbol representing the variable "X" in the above term t1 is defined at address A+100, and its contents are FF indicating a constant and "X" in the name storage section.
It shows the relative address 17 of the storage location where is stored.

項定義部12はやはり1語32ビツトの記憶装置
のT番地から開始される部分で、項を線形表現で
表した場合の各シンボルのarityと項要素定義子
とを対にして、線形表現での出現順に格納する部
分である。なお、ここで項要素定義子とは、シン
ボル定義部15中の当該シンボルについてのシン
ボル定義子が格納されている記憶場所のAからの
相対アドレスを示している。例えば、前記の例で
項t1はT+25番地から格納されていてt1の線形表
現: f:2,g:2,a:0,b:0,h:1,
X:0 を表している。
The term definition section 12 is also a section starting from the T address of the storage device of 32 bits per word, and pairs the arity of each symbol when a term is expressed in a linear expression with a term element descriptor, and calculates the term in a linear expression. This is the part that stores in the order of appearance. Note that the term element descriptor here indicates the relative address from A of the storage location in the symbol definition unit 15 where the symbol descriptor for the symbol is stored. For example, in the above example, the term t1 is stored from address T+25, and the linear representation of t1 is: f:2, g:2, a:0, b:0, h:1,
X: represents 0.

なお、第5図では図示されていないが、項集合
指定部13は、複数の項識別子を格納できる記憶
装置で構成されている。項識別子は第5図に示さ
れるように、その項に含まれるシンボルの個数と
項定義部12中の当該項が定義されている記憶場
所のTからの相対番地(その項へのポインター)
を含んでいる。例えば、前記の例t1の場合には、
項識別子は図中16に示すように、t1のシンボル
の個数6と、t1の項定義部12中での相対番地25
とを含んでいる。
Although not shown in FIG. 5, the term set designation unit 13 is composed of a storage device that can store a plurality of term identifiers. As shown in FIG. 5, the term identifier includes the number of symbols included in the term and the relative address from T of the storage location where the term is defined in the term definition section 12 (pointer to the term).
Contains. For example, in the case of example t1 above,
As shown in 16 in the figure, the term identifier is the number of symbols of t1, 6, and the relative address 25 of t1 in the term definition section 12.
Contains.

第6図は本実施例での単一化候補項の選択の原
理と動作を示している。
FIG. 6 shows the principle and operation of selecting unification candidate terms in this embodiment.

本実施例では、前記(作用)で述べた単一化の
必要条件[3](a),(b),(c)に合致する項を項集合
の中から高速に見つけだす動作を、登録手段60
と検索・選択手段70とによつて制御する。すな
わち、項集合の中の1つの項をt1、目標項をt2と
したとき、 汎項登録部61と第1の等項検索・選択部7
2とによつて、必要条件(a)に、 第1の等項登録部62と汎項検索・選択部7
1とによつて、必要条件(b)に、 第2の等項登録部63と第1の等項検索・選
択部72とによつて、必要条件(c)に、 それぞれ合致する項を、直ちに選択する。
In this embodiment, the registration means performs an operation of quickly finding a term from a term set that meets the unification requirements [3] (a), (b), and (c) described in (Operation) above. 60
and a search/selection means 70. That is, when one term in the term set is t1 and the target term is t2, the general term registration unit 61 and the first equinominal search/selection unit 7
2, the necessary condition (a) includes the first equality registration unit 62 and the general term search/selection unit 7.
1, the terms that match the necessary condition (b), and the terms that match the necessary condition (c) by the second equal term registration section 63 and the first equal term search/selection section 72, respectively. Select now.

(a1) まず、汎項登録部61の動作を説明
する。
(a1) First, the operation of the general term registration unit 61 will be explained.

最初に、汎項登録部61はa端子から項集合記
憶手段10に制御信号を送り、項集合指定部13
に記憶されている項集合の項識別子を順に読み出
すよう要求する。
First, the general term registration section 61 sends a control signal from the a terminal to the term set storage means 10, and the term set specifying section 13
Requests that the term identifiers of term sets stored in the term set be read out in order.

項集合記憶手段10は項識別子を1個読みだす
毎に、その項識別子をPN端子から出力し、かつ
その項識別子の指示するシンボルの個数だけその
相対番地から項定義部12中の項要素定義子を読
みだし、各項要素定義子に対して、その項要素定
義子の指示する相対番地を用いて、シンボル定義
部15からシンボル定義子を、さらにそのシンボ
ル定義子の指示する相対番地を用いて、名称記憶
部14から名称の綴りを読みだして、DATA端
子から順に出力する。例えば、第4図の16で示す
項識別子が項集合指定部13から読み出される
と、この項識別子をPN端子から出力するととも
に、この項識別子が指示する項の項要素の数が
6、項定義部12での項の格納開始番地が25であ
るので、項定義部12内のアドレスT+25からT
+30までの6個の項要素定義子を読み出し、次に
これらの項要素定義子が指示する相対番地がそれ
ぞれ6,7,1,2,8,100であるので、シン
ボル定義部15内のA+6,A+7,A+1,A
+2,A+8,A+100に格納されているシンボ
ル定義子を読み出し、続いてこれらのシンボル定
義子が指示する、名称記憶部14の相対番地がそ
れぞれ11,14,3,6,13,17であるので、名称
記憶部14から、N+11,N+14,N+3,N+
6,N+13,N+17に格納されている名称の文字
列、f,g,a,b,h,Xを読み出して
DATA端子から送りだす。
Each time the term set storage means 10 reads out one term identifier, it outputs the term identifier from the PN terminal, and reads term element definitions in the term definition section 12 from the relative address by the number of symbols indicated by the term identifier. The child is read out, and for each term element descriptor, using the relative address specified by the term element descriptor, read the symbol descriptor from the symbol definition section 15, and further use the relative address specified by the symbol descriptor. Then, the spelling of the name is read out from the name storage section 14 and outputted sequentially from the DATA terminal. For example, when the term identifier indicated by 16 in FIG. Since the storage start address of the term in section 12 is 25, from address T+25 in term definition section 12
Read the six term element descriptors up to +30, and then read A+6 in the symbol definition section 15 because the relative addresses indicated by these term element descriptors are 6, 7, 1, 2, 8, and 100, respectively. ,A+7,A+1,A
The symbol definers stored in +2, A+8, and A+100 are read out, and the relative addresses in the name storage unit 14 indicated by these symbol definers are 11, 14, 3, 6, 13, and 17, respectively. , from the name storage unit 14, N+11, N+14, N+3, N+
6. Read out the name character strings f, g, a, b, h, and X stored in N+13 and N+17.
Send from the DATA terminal.

次に汎項登録部61は項集合記憶手段10が上
記のようにして項集合の中から項を1個読み出す
度に、b端子から汎項アドレス生成手段30に制
御信号を送り、その項の汎項アドレスを生成する
ことを要求する。
Next, the general term registration section 61 sends a control signal from the b terminal to the general term address generation means 30 every time the term set storage means 10 reads out one term from the term set as described above. Requests generation of a generalized address.

汎項アドレス生成手段30はB端子からこの要
求を受けると、DATA1端子から入力される項
自身から、その項の核を抽出し、その核の文字列
から汎項の核を生成し、各々の核の文字列からハ
ツシングによつて汎項アドレスを生成する。
When the general term address generation means 30 receives this request from the B terminal, it extracts the kernel of the term from the term itself input from the DATA1 terminal, generates the kernel of the general term from the character string of the kernel, and Generate a general term address by hashing from the kernel string.

例えば、第5図の16なる項識別子から前記のよ
うにして読み出された項の線形表現での文字列:
f,g,a,b,h,XがDATA1端子から入
力されると、汎項アドレス生成手段30は最初に
現れる変数(X)以下を取除いてこの項の核:
f,g,a,b,h,−,を得て、これからこの
項の汎項の核:f,g,a,b,−;f,g,a,
−;:f,g,f,−;−;を求めて、この文字
列からハツシング操作によつて、X“0E”,X
“36”,X“AB”,X“66”,X“00”なるアドレス
を作る。なお、このハツシングは、対象とする文
字列の各文字のASC codeを、a(1),a
(2),……,a(n),……,a(N)としたとき、
次の斬化式を用いている。
For example, the character string in the linear representation of the term read out as described above from the term identifier 16 in FIG. 5:
When f, g, a, b, h, and X are input from the DATA1 terminal, the general term address generation means 30 removes the first variable (X) and the following to generate the nucleus of this term:
Obtain f, g, a, b, h, −, and from this, the general term kernel of this term: f, g, a, b, −; f, g, a,
−;:f, g, f, −;−;, and by hashing operation from this character string,
Create addresses “36”, X “AB”, X “66”, and X “00”. Note that this hashing converts the ASC code of each character in the target string into a(1), a
(2) When ,...,a(n),...,a(N),
The following Zanka formula is used.

H(0)=0, H(i)=a(i).eor.(left*H(i−1))…

i=1〜N 但し、「.eor.」はビツト毎の排他的論理和、
「left*」は1ビツトの左ローテートを示す。こ
の方法によると、H(N−1),H(1),……,H
(0)はそれぞれ汎項の核に対するハツシング結
果になつている。
H(0)=0, H(i)=a(i). eor.(left*H(i-1))…

i=1~N However, ".eor." is exclusive OR for each bit,
"Left*" indicates a 1-bit left rotation. According to this method, H(N-1), H(1), ..., H
(0) is the hashing result for the kernel of each general term.

次に、汎項登録部61は、汎項アドレス生成手
段30が上記のようにして汎項アドレスを1個生
成するたびに、d端子から汎項索引記憶手段50
に制御信号を送つて、その汎項アドレスの指す記
憶場所に、項集合記憶手段10のPN端子から出
力されている項識別子を書込むよう要求する。
Next, the general term registration unit 61 stores the general term index storage unit 50 from the d terminal every time the general term address generation unit 30 generates one general term address as described above.
It sends a control signal to request that the term identifier output from the PN terminal of the term set storage means 10 be written into the storage location pointed to by the general term address.

汎項索引記憶手段50はWC端子からこの要求
を受取ると、WD端子から入力される項識別子
を、AD1端子から入力されるアドレスの指す記
憶場所の語の空所に格納する。汎項索引記憶手段
50の1語は16個の項識別子を記憶できるビツト
数を持つている。但し、第6図では、そのうちの
最初の4個のみを示している。
When the general term index storage means 50 receives this request from the WC terminal, it stores the term identifier input from the WD terminal in the word blank of the storage location pointed to by the address input from the AD1 terminal. One word of the general term index storage means 50 has the number of bits capable of storing 16 term identifiers. However, in FIG. 6, only the first four of them are shown.

例えば、第5図の16の処理の場所は、前記のよ
うに汎項アドレス生成手段30から、汎項アドレ
スとして、X“0E”,X“36”,X“AB”,X“66”,
X“00”なるアドレスが次々に生成されるので、
これらのアドレスに項識別子16を書込む。ただ
し、第5図では項識別子16を、その項識別子1
6に含まれる項定義部12での相対番地:「25」
で示してある。
For example, the processing location 16 in FIG. 5 is generated from the general term address generating means 30 as described above, as general term addresses such as X "0E", X "36", X "AB",
Addresses X “00” are generated one after another, so
Write the term identifier 16 to these addresses. However, in FIG. 5, the term identifier 16 is
Relative address in term definition section 12 included in 6: "25"
It is shown.

このようにして、汎項登録部61は項集合記憶
手段10に記憶されている項集合の全ての項に対
して、その汎項の核(と同じ核を持つ項の核)か
らその項の項識別子を直ちに検索するための索引
表を、汎項索引記憶手段50の中に作り出す。
In this way, the general term registration unit 61 selects all terms of the term set stored in the term set storage means 10 from the kernel of the general term (the kernel of the term having the same kernel). An index table for immediately retrieving term identifiers is created in the general term index storage means 50.

(b1) 次に、第1の等項登録部62の動作
を説明する。
(b1) Next, the operation of the first equal term registration unit 62 will be explained.

最初に、第1の等項登録部62はa端子から項
集合記憶手段10に制御信号を送つて、項集合指
定部11に記憶されている項集合の項識別子を順
に読み出すよう要求する。
First, the first equality registration section 62 sends a control signal from the a terminal to the term set storage means 10 to request that the term identifiers of the term sets stored in the term set specification section 11 be read out in order.

このときの項集合記憶手段10の動作は前記
(a1)の場合と全く同じであるので、説明を省略
する。
The operation of the term set storage means 10 at this time is exactly the same as in the case (a1) above, so the explanation will be omitted.

次に第1の等項登録部62は項集合記憶手段1
0が上記のようにして項集合の中から項を1個読
み出す度に、c端子から等項アドレス生成手段4
0に制御信号を送つて、その項の等項アドレスを
生成することを要求する。
Next, the first equal term registration unit 62 stores the term set storage unit 1.
Each time 0 reads out one term from the term set as described above, the equal term address generation means 4 is output from the c terminal.
0 to request that it generate an equinominal address for that term.

等項アドレス生成手段40はC端子からこの要
求を受けると、DATA1端子から入力される項
自身から、その項の核を抽出し、その核の文字列
からハツシングによつて等項アドレスを生成す
る。
When receiving this request from the C terminal, the equinominal address generation means 40 extracts the kernel of the term from the term itself input from the DATA1 terminal, and generates an equinominal address by hashing from the character string of the kernel. .

例えば、第5図の16なる項識別子から前記のよ
うにして読み出された項の線形表現での文字列:
f,g,a,b,h,XがDATA1端子から入
力されると、等項アドレス生成手段40は最初に
現れる変数(X)以下を取除いてこの項の核:
f,g,a,b,h,−,を得て、この文字列か
らハツシング操作によつて、X“74”なるアドレ
スを作る。このときのハツシングは、前記(a1)
と同じものを用いている。
For example, the character string in the linear representation of the term read out as described above from the term identifier 16 in FIG. 5:
When f, g, a, b, h, and X are input from the DATA1 terminal, the equal term address generation means 40 removes the first variable (X) and the following to generate the nucleus of this term:
f, g, a, b, h, -, and create an address X "74" by hashing from this character string. The hashing at this time is as described in (a1) above.
The same thing is used.

次に、第1の等項登録部62は、等項アドレス
生成手段40が上記のようにして等項アドレスを
1個生成する度に、e端子から等項索引記憶手段
52に制御信号を送つて、その等項アドレスを指
す記憶場所に、項集合記憶手段10のPN端子か
ら出力されている項識別子を書込むよう要求す
る。
Next, the first isomer registration unit 62 sends a control signal from the e terminal to the isomer index storage means 52 every time the isomer address generation means 40 generates one isomer address as described above. Then, a request is made to write the term identifier output from the PN terminal of the term set storage means 10 into the storage location pointing to the equality address.

等項索引記憶手段52はWC端子からこの要求
を受取ると、WD端子から入力される項識別子
を、AD2端子から入力されるアドレスの指す記
憶場所の語の空所に格納する。
When the equal term index storage means 52 receives this request from the WC terminal, it stores the term identifier input from the WD terminal in the word blank of the storage location pointed to by the address input from the AD2 terminal.

例えば、第5図の16の処理の場合は、前記のよ
うに等項アドレス生成手段40から、等項アドレ
スとしてX“74”なるアドレスが生成されるので、
このアドレスの指す記憶場所の語の空所に項識別
子16を書込む。ただし、第6図では項識別子1
6を、その項識別子16に含まれる項定義部12
での相対番地:「25」で示してある。
For example, in the case of process 16 in FIG. 5, the isomand address generation means 40 generates the address X "74" as the isomand address, as described above.
The term identifier 16 is written in the word blank of the memory location pointed to by this address. However, in Figure 6, term identifier 1
6, the term definition part 12 included in the term identifier 16
Relative address: Indicated by "25".

このようにして、第1の等項登録部62の項集
合記憶手段10に記憶されている項集合の全ての
項に対して、その核(と同じ核を持つ項の核)か
らその項の項識別子を直ちに検索するための索引
表を、等項索引記憶手段52の中に作り出す。
In this way, for all the terms of the term set stored in the term set storage means 10 of the first equal term registration unit 62, the kernel (the kernel of the term having the same kernel) as the term An index table for immediate retrieval of term identifiers is created in the equality index storage means 52.

(c1) 次に、第2の等項登録部63の動作を
説明する。
(c1) Next, the operation of the second equal term registration unit 63 will be explained.

最初に、第2の等項登録部63はa端子から項
集合記憶手段10に制御信号を送つて、項集合指
定部13に記憶されている項集合の項識別子を順
に読み出すように要求する。
First, the second equal term registration section 63 sends a control signal from the a terminal to the term set storage means 10 to request it to sequentially read the term identifiers of the term sets stored in the term set specifying section 13.

このときの項集合記憶手段10の動作は前記
(a1)の場合と全く同じであるので、説明を省略
する。
The operation of the term set storage means 10 at this time is exactly the same as in the case (a1) above, so the explanation will be omitted.

次に第2の等項登録部63は項集合記憶手段1
0が上記のようにして項集合の中から項を1個読
み出す度に、c端子から等項アドレス生成手段4
0に制御信号を送つて、その項の等項アドレスを
生成することを要求する。
Next, the second equal term registration unit 63 stores the term set storage unit 1.
Each time 0 reads out one term from the term set as described above, the equal term address generation means 4 is output from the c terminal.
0 to request that it generate an equinominal address for that term.

このときの等項アドレス生成手段40の動作は
(b1)の場合と全く同じであるので、説明を省略
する。
The operation of the equal address generating means 40 at this time is exactly the same as in case (b1), so the explanation will be omitted.

次に、第2の等項登録部63は、等項アドレス
生成手段40が上記のようにして等項アドレスを
1個生成するたびに、d端子から汎項索引記憶手
段50に制御信号を送つて、その等項アドレスの
指す記憶場所に、項集合記憶手段10のPN端子
から出力されている項識別子を書込むよう要求す
る。
Next, the second isomer registration unit 63 sends a control signal from the d terminal to the general term index storage means 50 every time the isomer address generating means 40 generates one isomer address as described above. Then, a request is made to write the term identifier output from the PN terminal of the term set storage means 10 into the storage location pointed to by the equal term address.

汎項索引記憶手段50はWC端子からこの要求
を受取ると、WD端子から入力される項識別子
を、AD2端子から入力されるアドレスの指す記
憶場所の語の空所に格納する。
When the general term index storage means 50 receives this request from the WC terminal, it stores the term identifier input from the WD terminal in the word blank of the storage location pointed to by the address input from the AD2 terminal.

例えば、第5図の16の処理の場合は、前記のよ
うに等項アドレス生成手段40から、等項アドレ
スとして、X“74”なるアドレスが生成されるの
で、このアドレスの指す記憶場所の子16に含ま
れる項定義部12での相対番地:「25」で示して
ある。
For example, in the case of the process No. 16 in FIG. 5, the address X "74" is generated as the isomand address from the isomand address generating means 40 as described above, so the child of the storage location pointed to by this address is Relative address in term definition section 12 included in section 16: Indicated by "25".

このようにして、第2の等項登録部63は項集
合記憶手段10に記憶されている項集合の全ての
項に対して、その核(と同じ核を持つ項の核)か
らその項の項識別子を直ちに検索するための索引
表を、汎項索引記憶手段50に追加する。
In this way, the second isoterm registration unit 63 selects all terms of the term set stored in the term set storage means 10 from the kernel (the kernel of the term having the same kernel) to the term. An index table for immediately searching term identifiers is added to the general term index storage means 50.

以上のようにして、登録手段60の制御によつ
て汎項索引記憶手段50と等項索引記憶手段52
の中に項集合に対する索引表を作つた上で、次の
ようにして、検索・選択手段70の制御により目
標項に対する単一化候補項を、高速に検索する。
As described above, under the control of the registration means 60, the general index storage means 50 and the equality index storage means 52 are
After creating an index table for the term set in , the search/selection means 70 is controlled to search for unification candidate terms for the target term at high speed in the following manner.

(b2) 最初に、汎項検索・選択部71の動
作を説明する。
(b2) First, the operation of the general term search/selection unit 71 will be explained.

まず汎項検索・選択部71は、j端子から制御
信号を送つて、目標項入力手段20に対して、入
力された目標項をDATA端子から送り出すよう
に、要求する。
First, the general term search/selection unit 71 sends a control signal from the j terminal to request the target term input means 20 to send out the input target term from the DATA terminal.

目標項入力手段20はIC端子からこの要求を
受取ると、この装置の外部(図示せず)から入力
された目標項から、その線形表現による項要素の
文字列を生成し、DATA端子から送り出す。
When the target term input means 20 receives this request from the IC terminal, it generates a character string of term elements based on the linear representation of the target term input from outside the device (not shown), and sends it out from the DATA terminal.

例えば、第6図中21で示した目標項が入力さ
れていたとすると、目標項入力手段20は、f,
g,a,Y,h,p,−なる文字列をDATA端子
から送り出す。
For example, if the target term indicated by 21 in FIG. 6 is input, the target term input means 20 inputs f,
The character string g, a, Y, h, p, - is sent from the DATA terminal.

次に、汎項検索・選択部71は、k端子から汎
項アドレス生成手段30に制御信号を送つて、目
標項入力手段20から送り出された項の汎項アド
レスを生成するよう要求する。
Next, the general term search/selection unit 71 sends a control signal from the k terminal to the general term address generation means 30 to request it to generate a general term address of the term sent out from the target term input means 20.

汎項アドレス生成手段30はK端子からこの要
求を受けると、DATA2端子から入力される項
の文字列から、その項の核を抽出し、その文字列
から汎項の核を生成し、各々の核の文字列からハ
ツシングによつて汎項アドレスを生成する。
When the general term address generation means 30 receives this request from the K terminal, it extracts the kernel of the term from the character string of the term input from the DATA2 terminal, generates the kernel of the general term from the character string, and Generate a general term address by hashing from the kernel string.

この動作は基本的に(a1)におけるものと同
じであるが、例えば、第6図の21なる目標項が
入力される前記の場合には、目標項入力手段20
から送り出される目標項の文字列がDATA2端
子から入力されると、汎項アドレス生成手段30
は最初に現れる変数(Y)以下を取除いてこの目
標項の核:f,g,a,−を得て、これからこの
目標項の汎項の核:f,g,−;f,−;−;を求
めて、この文字列からハツシングによつて、X
“AB”,X“66”,X“00”なるアドレスを生成し、
ADRS端子から出力する。このとき用いるハツシ
ングは(a1)でのものと同じである。
This operation is basically the same as that in (a1), but for example, in the above case where the target term 21 in FIG. 6 is input, the target term input means 20
When the character string of the target term sent from is input from the DATA2 terminal, the general term address generation means 30
removes the variables below the first appearing variable (Y) to obtain the kernel of this target term: f, g, a, -, and from this the kernel of the general term of this target term: f, g, -; f, -; −;, by hashing from this string,
Generate addresses “AB”, X “66”, X “00”,
Output from ADRS terminal. The hashing used at this time is the same as in (a1).

次に、汎項検索・選択部71は、汎項アドレス
生成手段30が上記のようにした汎項アドレスを
1個生成するたびに、n端子から等項索引記憶手
段52に制御信号を送つて、その汎項アドレスの
指す記憶場所に格納されている項識別子を読み出
すように要求する。
Next, the general term search/selection unit 71 sends a control signal from the n terminal to the equality index storage unit 52 every time the general term address generation unit 30 generates one general term address as described above. , requests to read the term identifier stored in the storage location pointed to by the general term address.

等項索引記憶手段52はRC端子からこの要求
を受けると、AD1端子から入力されるアドレス
の指す記憶場所の語を読み出し、もしその語が空
でなく項識別子が記入されていたら、その項識別
子を単一化候補項として、RD端子から出力す
る。
When receiving this request from the RC terminal, the equal term index storage means 52 reads the word in the storage location pointed to by the address input from the AD1 terminal, and if the word is not empty and has a term identifier written in it, it reads the term identifier. is output from the RD terminal as a unification candidate term.

例えば、第6図の21なる目標項に対しては、
前記の如く汎項アドレス生成手段30は、X
“AB”,X“66”,X“00”なるアドレスを出力す
るので、等項索引記憶手段52はこれらのアドレ
スを指す記憶場所の語を読み出す。第6図の場合
にはこれらの語にはなにも登録されて(書込まれ
て)いないので、単一化候補項は出力されない。
For example, for the target term 21 in Figure 6,
As mentioned above, the general address generation means 30
Since the addresses "AB", In the case of FIG. 6, since nothing is registered (written) in these words, no unification candidate terms are output.

この動作は前記(作用)で述べたところの、目
標項に対して必要条件[3]の(b)に合致する項を
項集合の中から検索する結果になつている。
This operation has the result of searching the term set for a term that satisfies the requirement [3] (b) with respect to the target term, as described in (action) above.

(ac2) 次に、第1の等項検索・選択部7
2の動作を説明する。
(ac2) Next, the first equal term search/selection section 7
The second operation will be explained.

まず第1の等項検索・選択部72は、j端子か
ら制御信号を送つて、目標項入力手段20に対し
て、入力された目標項をDATA端子から送り出
すように要求する。
First, the first equal term search/selection unit 72 sends a control signal from the j terminal to request the target term input means 20 to send out the input target term from the DATA terminal.

目標項入力手段20はIC端子からこの要求を
受取ると、この装置の外部(図示せず)から入力
された目標項から、その線形表現による項要素の
文字列を生成し、DATA端子から送り出す。
When the target term input means 20 receives this request from the IC terminal, it generates a character string of term elements based on the linear representation of the target term input from outside the device (not shown), and sends it out from the DATA terminal.

例えば、第6図の21で示した目標項が入力さ
れていたとすると、目標項入力手段20は、f,
g,a,Y,h,p,−なる文字列をDATA端子
から送り出す。
For example, if the target term indicated by 21 in FIG.
The character string g, a, Y, h, p, - is sent from the DATA terminal.

次に、第1の等項検索・選択部72は、1端子
から等項アドレス生成手段40に制御信号を送つ
て、目標項入力手段20から送り出された項の等
項アドレスを生成するよう要求する。
Next, the first isomer search/selection unit 72 sends a control signal from one terminal to the isomer address generation means 40 to request it to generate an isomer address of the term sent from the target term input means 20. do.

等項アドレス生成手段40はL端子からこの要
求を受けると、DATA2端子から入力される項
の文字列から、その項の核を抽出し、その文字列
からハツシングによつて等項アドレスを生成す
る。
When receiving this request from the L terminal, the equinominal address generation means 40 extracts the kernel of the term from the character string of the term input from the DATA2 terminal, and generates an equinominal address from the character string by hashing. .

この動作は基本的に(b1)におけるものと同
じであるが、例えば、第6図の21なる目標項が
入力される前記の場合には、目標項入力手段20
から送り出される目標項の文字列が、DATA2
端子から入力されると、等項アドレス生成手段4
0は最初に現れる変数(Y)以下を取除いてこの
目標項の核:f,g,a,−を得て、この文字列
からハツシングによつてX“36”なるアドレスを
生成し、ADRS端子から出力する。このとき用い
るハツシングは(a1)でのものと同じである。
This operation is basically the same as that in (b1), but for example, in the above case where the target term 21 in FIG. 6 is input, the target term input means 20
The character string of the target term sent from DATA2
When input from the terminal, the equal address generating means 4
0 removes variables below the first appearing variable (Y) to obtain the core of this target term: f, g, a, -, generates an address X “36” from this string by hashing, and Output from the terminal. The hashing used at this time is the same as in (a1).

次に、第1の等項検索・選択部72は、等項ア
ドレス生成手段40が上記のようにして等項アド
レスを生成すると、m端子から汎項索引記憶手段
50に制御信号を送つて、その等項アドレスの指
す記憶場所に格納されている項識別子を読み出す
ように要求する。
Next, when the isomerical address generating means 40 generates an isomerial address as described above, the first isomerical search/selection unit 72 sends a control signal from the m terminal to the generalized index storage means 50, Requests reading of the term identifier stored in the storage location pointed to by the equality address.

汎項索引記憶手段50はRC端子からこの要求
を受けると、AD2端子から入力されるアドレス
の指す記憶場所の語を読み出し、もしその語が空
でなく項識別子が記入されていたら、その項識別
子を単一化候補項として、RD端子から出力す
る。
When the general term index storage means 50 receives this request from the RC terminal, it reads out the word in the memory location indicated by the address input from the AD2 terminal, and if the word is not empty and a term identifier has been written, then it reads the term identifier. is output from the RD terminal as a unification candidate term.

例えば、第6図の21なる目標項に対しては、
前記の如く等項アドレス生成手段40は、X“36”
なるアドレスを出力するので、汎項索引記憶手段
50はこれらのアドレスの指す記憶場所の語を読
み出す。第6図の場合にはこれらの語には2個の
項識別子25,86が登録されて(書込まれて)
いるので、これらの項識別子が単一化候補項とし
て出力される。
For example, for the target term 21 in Figure 6,
As mentioned above, the equal address generation means 40 generates X “36”
Since these addresses are output, the general term index storage means 50 reads out the words at the storage locations pointed to by these addresses. In the case of Fig. 6, two term identifiers 25 and 86 are registered (written) in these words.
Therefore, these term identifiers are output as unification candidate terms.

この動作は前記(作用)で述べたところの、目
標項に対して必要条件[3]の(a)と(c)に合致する
項を項集合の中から検索する結果になつている。
This operation has the result of searching the term set for a term that satisfies (a) and (c) of requirement [3] for the target term, as described in (action) above.

以上詳述したように、本実施例では、登録手段
60により検索対象の項集合を汎項索引記憶手段
50と等項索引記憶手段52に登録し、検索・選
択手段70によつて目標項と単一化の必要条件
[3](a),(b),(c)に合致する項を汎項索引記憶手
段50と等項索引記憶手段52を用いて高速に選
択することを可能としている。
As described in detail above, in this embodiment, the registration means 60 registers the term set to be searched in the general term index storage means 50 and the equality index storage means 52, and the search/selection means 70 registers the term set to be searched as the target term. It is possible to quickly select terms that meet the unification requirements [3] (a), (b), and (c) by using the general index storage means 50 and the equality index storage means 52. .

なお、本実施例では(c1)で述べた如く、第2
の等項登録部63によつて、自身の核から項識別
子を検索するための表を汎項索引記憶手段50に
追加登録しているが、(a1)のステツプで、汎項
アドレス生成手段30が、汎項の核に対するハツ
シング結果(H(0)〜H(N−1))の生成の最
後に、その項の核のハツシング結果(H(N))を
も容易に生成できるので、前記の追加登録を
(a1)で同時に行い、(c1)を、従つて第2の等
項登録部63を省略することもできる。
In addition, in this example, as described in (c1), the second
The equality registration unit 63 additionally registers a table for searching term identifiers from its own kernel in the general term index storage means 50, but in step (a1), the general term address generation means 30 However, at the end of generating the hashing results (H(0) to H(N-1)) for the kernel of a general term, the hashing result (H(N)) for the kernel of that term can also be easily generated. It is also possible to simultaneously perform additional registration in (a1) and omit (c1), and therefore, the second equal term registration section 63.

なお、本発明は上述した実施例に限定されたも
のではない。例えば、上記実施例では単一化の必
要条件[3]の(c)に合う項を表引きで検索するた
め、第2の等項登録部63と第1の等項検索・選
択部72によつて行つているが、次のようにして
もよい。
Note that the present invention is not limited to the embodiments described above. For example, in the above embodiment, in order to search for terms that meet (c) of the unification requirement [3], the second isometric registration section 63 and the first isometric search/selection section 72 are used. This is how you do it, but you can also do it like this:

すなわち、第7図に示すように第2の等項登録
部63の動作を削除し、代わりに第2の等項検
索・選択部73の動作を追加する。この場合、単
一化の必要条件[3](c)に合う項の検索は、第1
の等項登録部62によつて等項索引記憶手段52
の中に登録された項集合の項識別子を、第2の等
項検索・選択部73によつて目標項の核から表引
きにより検索することで行なう。
That is, as shown in FIG. 7, the operation of the second isometric registration section 63 is deleted, and the operation of the second isometric search/selection section 73 is added instead. In this case, the search for terms that meet the unification requirement [3](c) is performed using the first
The isomand index storage means 52 by the isomand registration unit 62 of
This is performed by searching the term identifier of the term set registered in the target term by the second equiterm search/selection unit 73 from the nucleus of the target term.

第8図は、この実施例における登録手段65
を、また第9図に、この実施例における検索・選
択手段75をそれぞれ示す。
FIG. 8 shows the registration means 65 in this embodiment.
and FIG. 9 respectively show the search/selection means 75 in this embodiment.

登録手段65は、汎項登録部61と第1の等項
登録部62とからなり、これらの動作は前記の
(a1),(b1)と同じである。
The registration means 65 consists of a general term registration unit 61 and a first equal term registration unit 62, and their operations are the same as in (a1) and (b1) above.

また、検索・選択手段75は、汎項検索・選択
部71と第1の等項検索・選択部72の他に、第
2の等項検索・選択部73を含む。汎項検索・選
択部71の動作は前記(b2)と全く同じである。
また、第1の等項検索・選択部72の動作は前記
(ac2)と同じではあるが、その結果検索される
項識別子は単一化の必要条件[3](a)に合致する
ものだけである。例えば、第7図の21なる目標
項に対しては、等項アドレス生成手段40は、X
“36”なるアドレスを出力するので、汎項索引記
憶手段50はこのアドレスの指す記憶場所の語を
読み出し、単一化候補項として25なる項識別子を
得る。ここでは、(ac2)の場合の86が登録され
ていないので、86は読み出されない。
Further, the search/selection means 75 includes a second isonomial search/selection section 73 in addition to the general term search/selection section 71 and the first isonominal search/selection section 72 . The operation of the general term search/selection unit 71 is exactly the same as in (b2) above.
In addition, although the operation of the first equality search/selection unit 72 is the same as in (ac2) above, the term identifiers that are searched as a result are only those that meet the unification requirement [3] (a). It is. For example, for the target term 21 in FIG.
Since the address "36" is output, the general term index storage means 50 reads the word at the storage location pointed to by this address and obtains the term identifier 25 as the unification candidate term. Here, 86 in the case of (ac2) is not registered, so 86 is not read out.

(c2) 第2の等項検索・選択部73の動作を
説明する。
(c2) The operation of the second isometric search/selection unit 73 will be explained.

まず第2の等項検索・選択部73は、j端子か
ら制御信号を送つて、目標項入力手段20に対し
て、入力された目標項をDATA端子から送り出
すように、要求する。
First, the second equal term search/selection unit 73 sends a control signal from the j terminal to request the target term input means 20 to send out the input target term from the DATA terminal.

目標項入力手段20の動作は前記(ac2)にお
けるものと同様である。
The operation of the target term input means 20 is the same as that in (ac2) above.

次に、第2の等項検索・選択部73は、1端子
から等項アドレス生成手段40に制御信号を送つ
て、目標項入力手段20から送り出された項の等
項アドレスを生成するよう要求する。この時の等
項アドレス生成手段40の動作は(ac2)におけ
るのと同様である。
Next, the second isomer search/selection unit 73 sends a control signal from one terminal to the isomer address generation means 40 to request it to generate an isomer address for the term sent from the target term input means 20. do. The operation of the equal address generating means 40 at this time is the same as in (ac2).

次に、第2の等項検索・選択部73は、等項ア
ドレス生成手段40が上記のようにして等項アド
レスを生成すると、n端子から等項索引記憶手段
52へ制御信号を送つて、その等項アドレスを指
す記憶場所に格納されている項識別子を読み出す
よう要求する。
Next, when the isomandial address generation means 40 generates an isomandial address as described above, the second isomandial search/selection unit 73 sends a control signal from the n terminal to the isomandum index storage means 52, Requests to read the term identifier stored in the memory location pointing to the equality address.

この時の等項索引記憶手段52の動作は前記
(b2)におけるものと同じであるが、その結果読
み出される項識別子は、単一化の必要条件[3]
(c)に合致したものとなつている。
The operation of the equality index storage means 52 at this time is the same as that in (b2) above, but the term identifier read out as a result meets the necessary condition [3] for unification.
(c) is met.

例えば、第7図の21なる目標項に対しては、
等項アドレス生成手段40は、X“36”なるアド
レスを出力するので、等項索引記憶手段52はこ
のアドレスの指す記憶場所の語を読み出す。第7
図の場合には項識別子として、86が読み出され
る。
For example, for the target term 21 in Figure 7,
Since the isomandial address generation means 40 outputs the address X "36", the isomy index storage means 52 reads out the word at the storage location pointed to by this address. 7th
In the case of the figure, 86 is read out as the term identifier.

なお、この第2の実施例において、第2の等項
検索・選択部73の動作(c2)を、汎項検索・選
択部71の動作(b2)と同時に行わせることも
できる。
In this second embodiment, the operation (c2) of the second equinominal search/selection section 73 can be performed simultaneously with the operation (b2) of the general term search/selection section 71.

以上の実施例において、索引記憶手段として、
汎項索引記憶手段50と等項索引記憶手段52の
2種を設けているのは、単一化の必要条件[3]
の(a)と(b)の「混合」、すなわちこれらの必要条件
に合致する項の表引き型検索動作において、不要
な組合わせ:K(g☆t1)とK(g☆t2):による
表引き結果が混じり込むことを避けるためであ
る。この問題には次に述べるような別の解決法が
ある。それを第3の実施例として説明する。
In the above embodiments, as the index storage means,
The reason for providing two types, the general term index storage means 50 and the equal term index storage means 52, is the necessary condition for unification [3]
In the "mixing" of (a) and (b), that is, in the table lookup type search operation for terms that meet these requirements, the unnecessary combination: K (g☆t1) and K (g☆t2): This is to prevent table lookup results from being mixed up. There is another solution to this problem as described below. This will be explained as a third embodiment.

第10図は、第3の実施例の構成を示してい
る。この実施例では索引記憶手段が、1つの索引
記憶手段58となつている。また、80は登録手
段、90は検索・選択手段であつて、それぞれ第
11図及び第12図に示す通り、汎項登録部81
と等項登録部82、汎項検索・選択部91と等項
検索・選択部92とからなる。
FIG. 10 shows the configuration of the third embodiment. In this embodiment, the index storage means is one index storage means 58. Further, 80 is a registration means, 90 is a search/selection means, and as shown in FIGS. 11 and 12, respectively, a general term registration section 81
It consists of an isomer registration section 82, a general term search/selection section 91, and an isomer search/selection section 92.

この第3の実施例の動作を第13図に示す。こ
の実施例では、登録手段80が索引記憶手段58
に項識別子を登録する時に、それが汎項に対する
ものか、等項に対するものかを区別するために、
フラグを添えて登録する。
The operation of this third embodiment is shown in FIG. In this embodiment, the registration means 80 is the index storage means 58.
When registering a term identifier in , in order to distinguish whether it is for a general term or an equal term,
Register with a flag.

第14図は、この登録の時のフラグと項識別子
を示している。先頭の1ビツトがフラグであつ
て、これが1なら汎項登録部81によつて登録さ
れたことを、0なら等項登録部82によつて登録
されたことを、表わしている。
FIG. 14 shows the flag and item identifier at the time of this registration. The first bit is a flag, and if it is 1, it indicates that it has been registered by the general term registration section 81, and if it is 0, it indicates that it has been registered by the equality registration section 82.

汎項検索・選択部91が目標項に対する単一化
候補項を求める動作は、前記第1の実施例の
(b2)とほとんど同じであるが、前記の「混合」
問題を避けるため、このとき読み出される項識別
子のうち、0なるフラグを持つものだけを単一化
候補項とする。
The operation of the general term search/selection unit 91 to obtain a unification candidate term for the target term is almost the same as (b2) of the first embodiment, except for the above-mentioned "mixing".
To avoid problems, among the term identifiers read at this time, only those with a flag of 0 are designated as unification candidate terms.

また、等項検索・選択部92が目標項に対する
単一化候補項を求める動作は、前記第1の実施例
の(ac2)と全く同じであつて、このときは読み
出される項識別子はフラグの値によらず、全て単
一化候補項とする。
Further, the operation of the isomer search/selection unit 92 to obtain a unification candidate term for the target term is exactly the same as (ac2) in the first embodiment, and in this case, the read term identifier is the flag. Regardless of the value, all are candidate terms for unification.

[発明の効果] 以上に詳述した通り、本発明の単一化候補項の
高速選択装置によれば、多数の項を含む項集合の
中から、目標項と単一化成功の可能性のある単一
化候補項を、極めて高速に選択することができ
る。その結果、時間のかかる単一化操作を項集合
の全ての項との組合わせに対して行う場合に必要
な時間の大部分を節約することができる。
[Effects of the Invention] As detailed above, according to the high-speed selection device for unification candidate terms of the present invention, the target term and the probability of successful unification are selected from a term set including a large number of terms. Certain unification candidate terms can be selected extremely quickly. As a result, much of the time required to perform a time-consuming unification operation on combinations of all terms in a term set can be saved.

また、大部分の応用では、単一化の対象となる
項集合は固定的であるので、その索引記憶手段へ
の登録をあらかじめ行つておくことにより、単一
化候補項の選択時間を、考え得る方法のうちの最
も短いものとすることができる。しかもこの選択
時間は、項集合が含む項の数によらず、一定であ
るという、優れた性質がある。
In addition, in most applications, the term set to be unified is fixed, so by registering it in the index storage means in advance, the selection time of unification candidate terms can be reduced. This can be the shortest method. Moreover, this selection time has the excellent property of being constant regardless of the number of terms included in the term set.

【図面の簡単な説明】[Brief explanation of the drawing]

第1図〜第6図は本発明の第1の実施例に係る
単一化候補項の選択装置を説明するための図で、
第1図は全体構成図、第2図は項集合記憶手段の
構成図、第3図は登録手段の構成図、第4図は検
索・選択手段の構成図、第5図は項集合記憶手段
における項の記憶形態を示す図、第6図は動作の
説明図、第7図〜第9図は本発明の第2の実施例
に係る単一化候補項の選択装置を説明するための
図で、第7図は動作の説明図、第8図は登録手段
の構成図、第9図は検索・選択手段の構成図、第
10図〜第14図は本発明の第3の実施例に係る
単一化候補項の選択装置を説明するための図で、
第10図は全体構成図、第11図は登録手段の構
成図、第12図は検索・選択手段の構成図、第1
3図は動作の説明図、第14図は登録されたフラ
グと項識別子の形態を示す図である。 10……項集合記憶手段、20……目標項入力
手段、30……汎項アドレス生成手段、40……
等項アドレス生成手段、50……汎項索引記憶手
段、52……等項索引記憶手段、58……索引記
憶手段、60,80……登録手段、70,90…
…検索・選択手段。
1 to 6 are diagrams for explaining a unitization candidate term selection device according to a first embodiment of the present invention,
Fig. 1 is an overall block diagram, Fig. 2 is a block diagram of the term set storage means, Fig. 3 is a block diagram of the registration means, Fig. 4 is a block diagram of the search/selection means, and Fig. 5 is a block diagram of the term set storage means. FIG. 6 is an explanatory diagram of the operation, and FIGS. 7 to 9 are diagrams for explaining the unification candidate term selection device according to the second embodiment of the present invention. 7 is an explanatory diagram of the operation, FIG. 8 is a configuration diagram of the registration means, FIG. 9 is a configuration diagram of the search/selection means, and FIGS. 10 to 14 are diagrams showing the third embodiment of the present invention. A diagram for explaining such a unification candidate term selection device,
Figure 10 is an overall configuration diagram, Figure 11 is a configuration diagram of the registration means, Figure 12 is a configuration diagram of the search/selection means, and
FIG. 3 is an explanatory diagram of the operation, and FIG. 14 is a diagram showing the format of registered flags and item identifiers. 10...Term set storage means, 20...Target term input means, 30...General term address generation means, 40...
Equinominal address generation means, 50... General term index storage means, 52... Equivalent index storage means, 58... Index storage means, 60, 80... Registration means, 70, 90...
...Search and selection means.

Claims (1)

【特許請求の範囲】 1 検索の対象となる複数の項を要素とする項集
合から、別に与えられた目標項と単一化可能な項
がある場合に、その項が必ず含まれるように単一
化候補項を選択する装置であつて、 前記項集合を記憶してなる項集合記憶手段と、 前記目標項を入力する目標入力手段と、 前記項集合記憶手段又は前記目標入力手段から
任意の項が与えられると、その項の全ての汎項の
核から、その核を特定するアドレスを生成・出力
する汎項アドレス生成手段と、 前記与えられた任意の項の核から、その核を特
定するアドレスを生成・出力する等項アドレス生
成手段と、 前記項集合記憶手段から任意の項が与えられる
ことにより、前記汎項アドレス生成手段が生成し
たアドレスで指示される記憶場所に当該汎項に係
る項の識別子を汎項索引として記憶するととも
に、前記項集合記憶手段から任意の項が与えられ
ることにより、前記等項アドレス生成手段が生成
したアドレスで指示される記憶場所に当該項の識
別子を等項索引として記憶する索引記憶手段と、 前記項集合記憶手段から任意の項が与えられる
ことにより、前記汎項アドレス生成手段が生成し
たアドレスで指示される前記索引記憶手段の記憶
場所に、当該項の識別子を書込んで前記汎項索引
を登録するとともに、前記項集合記憶手段から任
意の項が与えられることにより、前記等項アドレ
ス生成手段が生成したアドレスで指示される前記
等項索引記憶手段の記憶場所に、当該項の識別子
を書込んで前記等項索引を登録する登録手段と、 前記目標項入力手段から目標項が与えられるこ
とにより、前記汎項アドレス生成手段が生成した
各アドレスで前記索引記憶手段中の前記等項索引
を検索し、前記目標項入力手段から目標項が与え
られることにより、前記等項アドレス生成手段が
生成したアドレスで前記汎項索引を検索し、さら
に前記目標項入力手段から目標項が与えられるこ
とにより、前記等項アドレス生成手段が生成した
アドレスで前記等項索引を検索し、登録されてい
る項の識別子があつた場合にこれを単一化候補項
として読み出す検索・選択手段とを 具備したことを特徴とする単一化候補項の選択
装置。 2 前記登録手段は、前記項集合記憶手段から任
意の項が与えられることにより、前記等項アドレ
ス生成手段が生成したアドレスで指示される前記
索引記憶手段の記憶場所に当該項の識別子を書込
んで前記等項索引を前記汎項索引に追加登録する
ものであり、前記検索・選択手段は、前記目標項
入力手段から目標項が与えられることにより、前
記等項アドレス生成手段が生成したアドレスで前
記汎項索引に追加登録された前記等項索引を検索
するものであることを特徴とする特許請求の範囲
第1項記載の単一化候補項の選択装置。 3 前記索引記憶手段は、前記汎項索引として登
録された各項の識別子と、前記等項索引として登
録された各項の識別子とを、区別可能な状態で同
一の記憶場所に記憶したものであることを特徴と
する特許請求の範囲第1項記載の単一化候補項の
選択装置。 4 前記項の識別子は、項自体又は項のポインタ
などの識別記号であることを特徴とする特許請求
の範囲第1項記載の単一化候補項の選択装置。
[Scope of Claims] 1. If there is a term that can be unified with a separately given target term from a term set whose elements are a plurality of terms to be searched, the term is unified so that the term is always included. A device for selecting unified candidate terms, comprising: term set storage means for storing the term set; target input means for inputting the target term; When a term is given, a general term address generation means that generates and outputs an address specifying the kernel from the kernels of all general terms of the term; and isomerical address generation means for generating and outputting an address for the general term; and by receiving an arbitrary term from the term set storage means, the general term is stored in a storage location indicated by the address generated by the general term address generation means. The identifier of such term is stored as a general term index, and when an arbitrary term is given from the term set storage means, the identifier of the term is stored in the storage location indicated by the address generated by the equinominal address generation means. an index storage means for storing an isomerical index; and when an arbitrary term is given from the term set storage means, the term is stored in a storage location of the index storage means indicated by the address generated by the general term address generation means. By writing an identifier of a term and registering the general term index, and receiving an arbitrary term from the term set storage means, the isomerical index memory is designated by the address generated by the isomerical address generating means. a registration means for registering the isomerical index by writing an identifier of the term in a storage location of the means; and each address generated by the general term address generation means by receiving the target term from the target term input means. searches the equality index in the index storage means, receives a target term from the target term input means, searches the general term index with the address generated by the equality address generation means, and further searches the general term index with the address generated by the equality address generation means. When a target term is given from the target term input means, the isomer index is searched with the address generated by the isomer address generator, and if a registered term identifier is found, it is used as a unification candidate. 1. An apparatus for selecting unification candidate terms, comprising a search and selection means for reading out terms as terms. 2. The registration means, when given an arbitrary term from the term set storage means, writes the identifier of the term in the storage location of the index storage means indicated by the address generated by the equinominal address generation means. The isomerical index is additionally registered in the general term index, and the search/selection means receives the target term from the target term input means and searches the address generated by the isomerical address generation means. 2. The unification candidate term selection device according to claim 1, wherein the unitary candidate term selection device searches the equinomial index that has been additionally registered in the general term index. 3. The index storage means stores an identifier of each term registered as the general term index and an identifier of each term registered as the equinominal index in the same storage location in a distinguishable state. 2. A device for selecting unification candidate terms as claimed in claim 1. 4. The unification candidate term selection device according to claim 1, wherein the term identifier is an identification symbol such as the term itself or a term pointer.
JP62314139A 1987-12-14 1987-12-14 Selecting device for unification candidate member Granted JPH01156826A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP62314139A JPH01156826A (en) 1987-12-14 1987-12-14 Selecting device for unification candidate member

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP62314139A JPH01156826A (en) 1987-12-14 1987-12-14 Selecting device for unification candidate member

Publications (2)

Publication Number Publication Date
JPH01156826A JPH01156826A (en) 1989-06-20
JPH0564809B2 true JPH0564809B2 (en) 1993-09-16

Family

ID=18049699

Family Applications (1)

Application Number Title Priority Date Filing Date
JP62314139A Granted JPH01156826A (en) 1987-12-14 1987-12-14 Selecting device for unification candidate member

Country Status (1)

Country Link
JP (1) JPH01156826A (en)

Also Published As

Publication number Publication date
JPH01156826A (en) 1989-06-20

Similar Documents

Publication Publication Date Title
US10169337B2 (en) Converting data into natural language form
JP4724357B2 (en) Computer-readable medium, computer-implemented method for obtaining word information, and method for storing word information
JP4365162B2 (en) Apparatus and method for retrieving structured document data
JPH0630066B2 (en) Table type language translation method
CN111124551B (en) Data serialization and data deserialization methods, devices and computer equipment
US20020078071A1 (en) Comment driven processing
US11222067B2 (en) Multi-index method and apparatus, cloud system and computer-readable storage medium
US10585871B2 (en) Database engine for mobile devices
JP6977565B2 (en) Search result output program, search result output device and search result output method
US9495638B2 (en) Scalable, rule-based processing
KR101828466B1 (en) Method and apparatus for providing an object-based storage interface on the storage device based on file system
JPH0564809B2 (en)
CN113609821B (en) Regular expression conversion method, device, equipment and storage medium
WO2021097785A1 (en) Data serialization and data deserialization methods and apparatuses, and computer device
EP0126123A1 (en) Dynamic data base representation
JP4061283B2 (en) Apparatus, method and program for converting lexical data to data
US20120102030A1 (en) Methods for text conversion, search, and automated translation and vocalization of the text
Bible et al. Hashing and Hash Tables
JP3896683B2 (en) User-defined character management device and storage medium
CN111190917A (en) Data processing method and device
US20110314022A9 (en) K engine - process count after build in threads
JP3018579B2 (en) Name search processor
JP2006505044A (en) Validation parser accelerated by hardware
JP2806653B2 (en) File search device
JPH04250568A (en) Record retrieval device

Legal Events

Date Code Title Description
EXPY Cancellation because of completion of term