JPS62194533A - 木構造デ−タのパタ−ンマツチング方式 - Google Patents

木構造デ−タのパタ−ンマツチング方式

Info

Publication number
JPS62194533A
JPS62194533A JP61035142A JP3514286A JPS62194533A JP S62194533 A JPS62194533 A JP S62194533A JP 61035142 A JP61035142 A JP 61035142A JP 3514286 A JP3514286 A JP 3514286A JP S62194533 A JPS62194533 A JP S62194533A
Authority
JP
Japan
Prior art keywords
node
cell
tree structure
flag
tree
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.)
Pending
Application number
JP61035142A
Other languages
English (en)
Inventor
Tadashi Hirose
広瀬 正
Kazuo Nakao
中尾 和夫
Kousuke Sakota
迫田 行介
Yoichi Takeuchi
洋一 竹内
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.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
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 Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP61035142A priority Critical patent/JPS62194533A/ja
Priority to US07/015,111 priority patent/US4794528A/en
Publication of JPS62194533A publication Critical patent/JPS62194533A/ja
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/31Programming languages or programming paradigms
    • G06F8/313Logic programming, e.g. PROLOG programming language
    • G06F8/3135Unification or backtracking
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/903Querying
    • G06F16/90335Query processing
    • G06F16/90344Query processing by using string matching techniques
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99931Database or file accessing
    • Y10S707/99933Query processing, i.e. searching
    • Y10S707/99936Pattern matching access
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99941Database schema or data structure
    • Y10S707/99942Manipulating data structure, e.g. compression, compaction, compilation

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。

Description

【発明の詳細な説明】 〔発明の利用分野〕 本発明は、計算機システムにおける木構造データ表現お
よび処理方式に係シ、特にパターンマツチングに好適な
処理方式に関する。
〔発明の背景〕
木構造データのマツチング問題を考える。ここで木構造
データとは、自身の値と任意数(ゼロを含む)の子ノー
ドを持つノードから構成されるデータを言う。ただし、
ノード関係にループは含まないものとする。2つの木構
造データがマツチング可能であるとはノード関係(以下
”構造”と呼ぶ)が同一であり、かつ各ノードの値が一
致性判定条件を満たす場合を云う。−散性判定条件とは
、たとえば「値″■−”は任意の値と、それ以外は同一
の値とのみ一致すると見做す」の様に決められる規則を
言う。
第1図に木構造データの例を示す。上述の一致性判定条
件に従えば、同図(a)の木構造データは同図(b) 
、 (C)とパターンマツチング不可である。(a)と
(b)とは、構造が異なり、(a)と(C)とは第3レ
ベルの3@目のノードの値が不一致だからである。同図
(a)と(d)のデータ構造はマツチング可能である。
従来の代表的な木構造データの物理的データの表現方式
は、第2図のWKXn個の子ノードを持つノードをn+
1個の連続したセルで表わし、その第1セルにノード自
身の値を、第2セル以降に理的データ表現をレコード型
表現という。第2図は、第1図(a)の木構造データの
この方式での物理的表現例である。
この木構造データの表現方式は、上述の様なパターンマ
ツチング処理向さとはいえない。ノード間がポインタで
結合されているため、すべてのノードを順次調べるため
にはどうしても、調べるべきノードアドレスを一時的に
退避しなければならないからである。横形探索により2
つの木構造データのマツチング可否k Kidべること
を考えると、木構造の各深さを調べる時、同−深さに位
置するすべてのノードのアドレスを退避しなければなら
ない。つまり、従来の木構造データのデータ表現方式(
レコード型表現)では、マツチング処理における処理効
率が悪い。
〔発明の目的〕
本発明の目的は、前述のマツチング処理を効圭良〈実施
可能な木構造データの物理的データ表現方式および処理
方式を提供することにある。
〔発明の概要〕
上記目的を達成するため本発明では、あらかしめ木構造
データの各ノード情報をマツチング処理で使用する順序
に並べておくこと、具体的には、木構造を横形探索時に
使用する順序に各ノードのデータを並べたベクトル形式
のデータ表現方式を採用する。以下この表現方式をベク
トル型表現と呼ぶ。これによシ、従来方式におけるアド
レス退避が不要になシ、2つのベクトル表現を先頭セル
から順に一致性条件を判定するだけでパターンマツチン
グが行なえる。
〔@明の実施例〕
捷ず、本発明の詳細な説明する。
ベクトル形式の木構造データ表現方式における課題は、
木構造全体における各ノードの位置情報をいかにメモリ
効率良く表現するかである。
基本的な方式は、第3図に示すように、1つのノードk
fiわすセル1を位置情報フィールド3と値フィールド
4の2フイールドから構成し、位置情報フィールド3に
最上位ノードからの相対的位置を示す数値(f−路網す
る方式である。しかしながら、本方式では、表現可能な
木構造の大きさが位置情報フィールド3の大きさに依存
する。処理効率の点から、フィールドの大きさは固定で
あることが望ましく、シたがって本方式は実質的にメモ
リ効率の非常に悪い方式、あるいは表現可能な木構造の
大きさが有限な方式であり、実用的でない。
本発明は、各ノードを表わすセルの位置情報フィールド
に持たせる情報を最上位ノードと当該ノードとの位置関
係を示すものでなく、当該ノードの周辺にあるノード(
親ノード、兄弟ノード、子ノード)との相対的関係を示
す情報だけを路網することにより、上述の問題を解決し
た。
第4図に、本発明方式で用いる物理的データ表現方式の
例を示す。位置情報フィールド3に親ノードフラグ5と
子ノードフラグ6と呼ぶ2つのフラグ情報を格納する。
親ノードフラグ5は、当該セルが表わすノードが、1つ
前のセルが表わすノードと同一の親ノードを持つか否か
を表わすフラグである。同一の親ノードを持つ場合、1
つ前のセルの親ノードフラグ5と同じ値を設定する。子
ノードフラグ6は、当該セルが表わすノードが子ノード
を持つか否かを表わすもので、子ノードを持つ時″1″
、持たない時″0”を設定する。
以下、第5図から第7図を用いて、発明方式の考え方と
、親ノードフラグ5、子ノードフラグ6の働きを説明す
る。
最下位ノード以外は一定数n個の子ノードを持つn進木
構造をここでは完全n進木構造と呼ぶ。
最下位ノードは子ノードを持たないノードをいう。
もし、木構造が深さの揃った完全n進木構造であるなら
、すなわちすべての最下位ノードの深さが同一の完全n
進木構造であるなら、各セルの位置情報フィールド3は
不要である。セルの並び順が横方向優先順であるから、
ベクトル形式表現の先頭から同じ位置にあるセルは常に
木構造の中の一定の位置にあるノードを表わすからであ
る。第5図(a)に、深さ4の完全3進木構造の例を示
す。第5図(b)はこの木構造のベクトル型表現の例で
ある。
当然ながら、実際に扱う木構造がこの様な一定形式を持
つわけではない。一般のn進木構造もダミーノードを付
加することにより深さの揃った完全n進木構造に変換す
ることは可能だが、ダミーノードのためにセルが必要に
なり、メモリ動部の点から実用的でない。
本発明の親ノードフラグ5は、当該セル101ノード前
にあるセルのノードと同一の親ノードを持つか否かを示
すものである。たとえば、各セルの位置情報フィール3
に親ノードフラグとして1ビツト用意し、1つ前に並ぶ
セルと同一の親を持つ場合は同じ値と、さもなければ異
なる値を持たせる。親ノードフラグ5を導入するだけで
、すなわち、各セルに1ビツトめ位置情報を持たせるこ
とにより、深さの揃ったn進木構造はメモリ効率良くベ
クトル表現できる。第6図(a) K深さ4のn進木構
造データの例を示す。第6図[有])は、これを位置情
報フィールド3に親ノードフラグ5を導入したベクトル
型表現の例である。
本発明の子ノードフラグ6は、当該セルに対応するノー
ドが子ノードを持つか否かを表示する。
親ノードフラグに加えて、この子ノードフラグ6を位置
情報フィールド3に持たせることにより、深さ不揃いの
n進木構造、すなわち一般的なn進木構造もメモリ効率
良くベクトル表現できる。第7図(a)に一般的なn進
木構造の例を、第7図(b)にこれにたいする、親ノー
ドフラグ5と子ノードフラグ6とを導入したベクトル型
表現の例を示す。
2つの木構造データをパターンマツチングする時、事前
にそれぞれの木構造テークをベクトル型表現に変換して
おけば、各々のベクトルの先頭セルから11辿に、位置
情報フィールドを含めて一致性判定を行なうことでパタ
ーンマツチングが行なえる。もし、木構造が不一致の場
合は、位置情報フィールドの値(親ノードフラグ5と子
ノードフラグ6)が不一致になる。
以下、本発明を論理型言語処理系サブセットシステムに
適用した場合の一実施例を第8図から第17図により説
明する。
第8図は、本発明によるサブセットシステムの一実施例
のブロック構成図である。システム11は、ディスク装
置12上に格納されているプログラム13を読み込み、
キーボード装置14から入力される質問文15に対して
解15 (yes又はno)をCRTディスプレイ装置
17に出力する。
プログラム13は任意側の事実文と規則文から構成され
る。第8図には2つの事実文18.19と1つの規則文
20の例が示されている。事実文は1つの本構造データ
、規則文は複数の木構造データから成る。規則文の”ニ
ー”記号の左辺にある木構造データを頭部項、同記号の
右辺に”、′で区切られて並ぶ木構造データを本体部項
と呼ぶ。
事実文はそれとパターンマツチング可能な木構造データ
が1真”であることを表わす。規則文は本体部項のすべ
てが6真”であるとき、その頭部項とパターンマツチン
グ可能な木構造データが6真”であることを表わす。
システム11は、質問文として入力された木構造データ
が1真”であるか否かを調べ、”真”であればyes”
、さもなければ”no”を解16としてディスプレイ1
゜7上に出力する。
事実文、あるいは規則文の頭部項のルートノ−ドの値を
6文名称”という。ここでは、説明を簡潔にするだめに
、同一の文名称を持つ事実文と規則文は存在せず、また
同一の文名称を持つ規則文は唯一個であるとする。
第9図は、本発明によるサブセットシステムの一実施例
のハードウェア構成を示すものである。
システムは、中央演算装置21、主メモリ装置22、デ
ィスク装置12、CRTディスプレイ装置17、キーボ
ード装置14から構成され、これらがバス23で結合さ
れている。
第10図は、第9図の実施例における主メモリi[22
に格納されるソフトウェア構成を示すものである。ソフ
トウェアは、制御部24、変換部25、プログラムエリ
ア26、推論部27から構成される。図中の破線矢印は
制御の流れを、実線矢印はデータの流れを示す。
第10図を用いて、実施例システムの動作の概要を説明
する。システム起動命令241により制御部24が起動
される。制御部24はキーボード装置t!14から入力
される質問文242に応じて、起動命令251あるいは
271により変換部25あるいは推論部27を起動する
。質問文として”?−プログラム読み込み”が入力され
た場合は、変換部25にこの質問文252を送り、変換
部25だけを起動する。その他の質問文が入力された時
は、上述の動作の後に推論部27をも起動する。
変換部25は、制御部から送られて来る質問文252が
°°?−プログラム読み込み”の場合、ディスク装置1
2に格納されているプログラム253を、“?−プログ
ラム読み込み”でない場合は質問文そのものを後述のベ
クトル型表現254に変換しプログラムエリア26に格
納する。
推論部27は、プログラムエリア26に格納されている
質問文およびプログラム272全参照しながら解を求め
CRTディスプレイ装置17に結果273を出力する。
第11図は、システム内部での物理的データ表現形式を
示している。データ操作の最小単位としてのセル28は
2ビツトのフィールド29と値フィールド30から構成
される。このセルは、本構造データをレコード型表現と
ベクトル型表現の2つの物理的データ表現形式で表わす
能力を持つ。
フィールド29はレコード型表現を行なう時、セルの種
別を示すタグフィールドとして、ベクトル型表現を行な
う時、位置情報フィールドとして利用する。レコード型
表現を行なう時、タグフィールドにより、当該セルが子
ノードを持たないノードを表わす”Atomセル”であ
るか、子ノードを持つノードを表わすセルの先頭である
ことを表わす”);’unctorセル”であるか、他
のセルを指す” l(、ef erenceセル”であ
るか、ベクトル型表現セルを指す” vectorセル
”であるかを区別する。第11図(b)は、これらのセ
ルの構造を示している。
”Atomセル”31において、その値フィールド32
には、ノード名称の識別子が格納される。
″punctorセル゛33において、その値フィール
ド34には当該ノードの持つ子ノード数が格納される。
このセル33には(子ノード数+1)個のセル331が
続く、その先頭セル35には、当該ノードの名称を示す
”Atomセル”が置かれる。
続くセル36は子ノードを表わすセルである。
” Referenceセル”37は、他セルを参照す
るセルであシ、その値フィールド38には他セルのアド
レスが格納される。” vectorセル″39は、ベ
クトル型表現セルを指すセルであり、その値フィールド
40にはベクトル型表現セル41の先頭セルのアドレス
が格納される。ベクトル型表現を行なう時、セル41の
フィールド29は位置情報フィールドとして用いられる
が、その働きの詳細は、すでに第6図、第7図を用いて
詳細に説明したので、ここでは省略する。なお、このと
き値フィールド30には″Atomセル”31の時と同
様にノード名称の識別子が格納される。
第12図、第13図は、この物理的データ表現規則を用
いて、第1図(a)に示す木構造データを、レコード型
表現、ベクトル型表現でそれぞれ表現した場合を示して
いる。
第14図、第15図はプログラムエリア26の詳細な構
造を示している。
第14図は、プログラムを格納するデータ構造を示して
いる。プログラムを構成する事実文、規則文は、事実文
を示す木構造データのルートノード名称と規則文の頭部
項を示す木構造データのルートノード名称とによって分
類し、名前表42に従って管理される。名前表42は、
これらの名称を格納する名称フィールド43とそれが事
実文のものか、規則文のものかを示す区別フィールド4
4と、事実文、規則文の木構造データを表現するセルの
アドレスを示すアドレスフィールド45から構成される
。第14図は、第8図に示したプログラムが格納されて
いる状態を示している。第8図の規則文20に相当する
のがセル46以下の部分であり、1つの頭部項と2つの
本体部項はベクトル型表現47,48.49に変換され
ている。
第8図の事実文18.19はそれぞれベクトル型表現5
0.51に変換され格納されている。事実文は、同一名
称のものが複数存在する場合があるので、それらは”O
r″という名称を持つノードの子ノードとして格納され
る。第14図のセル52がこの″Or″ノードに対応し
ている。
第15図は、質問文を格納するデータ構造を示している
。質問文はベクトル型表現53に変換され格納される。
その先頭アドレスは、質問スタック54の先頭に格納さ
れる。空きの先頭を示す空きポインタ55とパターンマ
ツチングすべき質問順の先頭を示す実行ポインタ56が
ある。第15図は、第8図の質問文のベクトル型表現5
3が変換部25によシ質問スタック54に格納された状
態を示している。
変換部25の処理の中で、本発明に直接関係するベクト
ル型表現の生成方法について説明する。
第16図、第17図は、従来のレコード型表現の木構造
データを、ベクトル型表現に変換するために使用する作
業エリアとアルゴリズムの処理手順を示すフローチャー
トである。
@16図に示す作業エリアは、レコード型表現の木構造
データの各ノードを横方向優先順に調べるために使用す
るFIFO順データ格納エリアQI OO,親ノードフ
ラグ値を格納するフラグF104、作業中の一群のセル
の先頭アドレスを格納するアドレス変数AlO3、その
一群のセルの引数個数を示す変数J106、作業中セル
のアドレスを格納するアドレス変数P107、作業中セ
ルが前述の一群のセルの第何番目のセルであるかを示す
カウンタ変数工108から成る。FIFO順格納エリア
Q100はレコード型表現セルの先頭アドレスと引数個
数の対が格納される格納エリア101と、その格納エリ
アがどこまで使用されているかを示すポインタの対10
2,103から構成されている。
第17図を参照しながら、レコード型表現からベクトル
型表現への変換アルゴリズムを示す。
ステップ56: 中間データを格納するためのF’IFO順データ格納エ
リアQを設け、そこに変換対象となるレコード型表現セ
ルの先頭アドレスと引数個数1の対を入れる。さらにフ
ラグFを1”に設定する。
ステップ57: エリアQからアドレスと引数個数の対を1つ櫓シ出し変
数AとJに設定する。エリアQに取シ出すべきアドレス
が存在しない場合は処理を終了する。さもなければステ
、ツブ5ざへ。
ステップ58: カウンタ変数I’にゼロにセットする。
ステップ59: アドレ、ス変数PにA+I(Aから1番目のセルのアド
レス)を設定する。
ステップ60ニ アドレス変数Pの指すセルのタグフィールドを判定。も
し” Reference ”であればステップ61へ
、さもなければステップ62へ。
ステップ61ニ アドレス変数Pに、Pの指す″Reference″セ
ルの値フィールドを設定し、ステップ60へ進む。
ステップ62ニ アドレス変数Pの指すセルのタグフィールドを判定。”
A t o mセル”ならばステップ63へ、さもなけ
ればステップ64へ進む。
ステップ63: 生成しているベクトル型表現セルの最後尾に、アドレス
変数Pの指すセルの値フィールドの値を持ち、親ノード
フラグ値としてF1子ノードフラグ値として0”を持つ
セルを生成する。ステップ65へ進む。
ステップ64: 生成しているベクトル型表現セルの最後尾に、アドレス
変数Pの指すセルの次のセルの値フィールドの値を持ち
、親ノードフラグの値としてF1子ノードフラグの値と
して1″を持つセルを生成する。さらに、エリアQにア
ドレス変数Pの指すセルの2つ先のセルのアドレスと、
アドレス変数Pの指すセルの値フィールドの値(引数個
数が格納されている)を格納し、ステップ65へ進む。
ステップ65: カウンタ変数Ie1つ増す。
ステップ66: I<Jであればステップ59へ、さもなければステップ
67へ進む。
ステップ67: Fの値を反転する。すなわち、もしF=”1″であれば
”0″’k、F=”0”であれば“1”をFに設定する
。ステップ57へ進む。
推論部27はプログラムエリア26内の質問スタック5
4を用い名前光42で管理されているプログラムを参照
しながら解を求める。以下に第18図のフローチャート
を参照しながら、そのアルゴリズムを示す。
ステップ68: 実行ポインタ56と空きポインタ55を比較し、両者が
一致していればステップ74へ、さもなければステップ
69へ進む。
ステップ69: 実行ポインタ56の指す質問スタックの内容をポインタ
変数Pに取り出す。
ステップ70: ポインタ変数Pの指すセルが表わす木構造のルートノー
ド名称を調らべ、それと同一名vFを持つ名前光42内
のレコードを捜す。もし存在しなければステップ75へ
、さもなければステップ71へ進む。
ステップ71ニ ステップ70で捜したレコード(カレントレコード)の
区分フィールド44により規則文であるか事実文である
かを調べる。規則文であればステップ7zへ、事実文で
あればステップ73へ進む。
ステップ72: カレントレコードの指す規則文の頭部項(ベクトル型表
現)と、ボイ/り変数Pの指す項(ベクトル型表現)の
パターンマツチングを行なう。成功すれば、上述規則文
の本体部項(衿数)を指すアドレスを、質問スタック5
4の空きポインタ55の指す位置以降に順次格納し、格
納分だけ空きポインタ55を進め、ステップ6?へ進む
。成功しなければステップ75へ進む。
ステップ73: カレントレコードの指す事実文(複数)を順次ポインタ
変数Pの指す項(共にベクトル型表現)とパターンマツ
チングし、成功するものがなければステップ75へ、さ
もなければステップ68へ進む。
ステップ74: 解として”yes″を出力し終了する。
ステップ75: 解として”no″を出力し終了する。
以上述べた様に、推論部27は質問スタック54を用い
て処理を進める。第8図の質問20を実行中の質問スタ
ックの状態を第19図に示しておく。
本実施例システムにおいて、くり返し実行される部分は
推論部27であり、その中でも、特にステップ72.ス
テップ73の中で行なわれる木構造データのパターンマ
ツチング処理が多数回くり返されるので、このパターン
マツチング処理がシステム性能を決める大きな要因とな
っている。本発明方式を用いて、前述の様に、パターン
マツチングすべき木構造データをベクトル型表現してお
けば、パターンマツチング処理は簡単なベクトル比較演
算が行なえるので、システム性能が向上する。
〔発明の効果〕
本発明によれば、、任意の大きさの一般的なn進木構造
を、そのノード数分の固定長セルの一次元的並びで表現
でき、2つのn進木構造のパターンマツチングを、それ
らのセルの並びの先頭セルから順に1つずつ??)出し
、その内容?:/幀次比較するという単純な手順で行な
うことができるので、木構造データのパターンマツチン
グ処理高速化の効果がある。
【図面の簡単な説明】
第1図は木構造データの一例を示す図、第2図は従来の
データ表現の一例を示す図、第3図〜第7図は発明方式
のデータ表現の一例を示す図、第8図、第9図、第10
図はそれぞれ実施例システシステムで用いるデータ表現
規則を表わす図、第14図、第15図、第16図、第1
9図は実施例システムのテーブル構成図、第17図、第
18図は実施例システムの中心部分の処理手順を示すフ
ローチャートである。 代理人 弁理士 小川勝男(弓゛ γ 2  目 f 1  図 ((l] 子 Cb)                 (c)  
             (d)7J   ム   
 − ゝ−)−一ゝ−)−一′ ろ立直fiffカールト34I!々−ルに4親ノー7<
72′7゛5 第 5 図 (d、) (しり 第 乙  図 (tfi) <−b) (d〕 (b) 篤 q ロ ■ /θ 図 ¥ //  図 <a−) 2g ¥ 1z  図 冨 74 図 第 15 図 ’i  ltr  図 亨73図

Claims (1)

  1. 【特許請求の範囲】 1、計算機システムにおいて、n進木構造データを、そ
    れを構成する各ノードの木構造全体に占める位置情報を
    格納する位置フィールドと、各ノードの持つ値を格納す
    る値フィールドから構成される一定長のメモリ要素に対
    応するセルを木構造における横方向優先順に並べてデー
    タを表現するベクトル表現形式に変換する処理と、2つ
    のベクトル表現形式を構成するセルを、それぞれ先頭か
    ら順に1つずつ比較演算する処理とからなることを特徴
    とする木構造データのパターンマッチング方式。 2、上記位置フィールド情報として、連続したセルが同
    一の親ノードを持つか否かを示す親ノードフラグ情報を
    用いることを特徴とする第1項の木構造データのパター
    ンマッチング方式。 3、上記位置フィールド情報として、上記親ノードフラ
    グ情報と、子ノードの有無を示す子ノードフラグ情報と
    を用いることを特徴とする第2項の木構造データのパタ
    ーンマッチング方式。 4、上記親ノードフラグ情報として1ビットのフラグを
    用い、同一の親ノードを持つノードに対応する隣接した
    セルの当該フラグには同一の値を設定し、異なる親ノー
    ドを持つノードに対応する隣接したセルの当該フラグに
    は異なる値を設定することを特徴とする第2項または第
    3項の木構造データのパターンマッチング方式。
JP61035142A 1986-02-21 1986-02-21 木構造デ−タのパタ−ンマツチング方式 Pending JPS62194533A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP61035142A JPS62194533A (ja) 1986-02-21 1986-02-21 木構造デ−タのパタ−ンマツチング方式
US07/015,111 US4794528A (en) 1986-02-21 1987-02-17 Pattern matching method for tree structured data

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP61035142A JPS62194533A (ja) 1986-02-21 1986-02-21 木構造デ−タのパタ−ンマツチング方式

Publications (1)

Publication Number Publication Date
JPS62194533A true JPS62194533A (ja) 1987-08-27

Family

ID=12433657

Family Applications (1)

Application Number Title Priority Date Filing Date
JP61035142A Pending JPS62194533A (ja) 1986-02-21 1986-02-21 木構造デ−タのパタ−ンマツチング方式

Country Status (2)

Country Link
US (1) US4794528A (ja)
JP (1) JPS62194533A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0480873A (ja) * 1990-07-24 1992-03-13 Agency Of Ind Science & Technol パターンマッチ処理装置

Families Citing this family (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4910669A (en) * 1987-04-03 1990-03-20 At&T Bell Laboratories Binary tree multiprocessor
GB8825780D0 (en) * 1988-11-03 1988-12-07 Microcomputer Tech Serv Digital computer
DE69033865T2 (de) * 1989-12-29 2002-04-11 Inxight Software Inc Display hierarchischer dreidimensionaler Strukturen
US5295243A (en) * 1989-12-29 1994-03-15 Xerox Corporation Display of hierarchical three-dimensional structures with rotating substructures
JPH0482473A (ja) * 1990-07-25 1992-03-16 Konica Corp データの登録方法及びその検索方法
US5285395A (en) * 1991-01-14 1994-02-08 Kabushiki Kaisha Toshiba Distribution generation system, and optimization system that adopts distribution generation system
US5247666A (en) * 1991-05-28 1993-09-21 Fawnwood, Inc. Data management method for representing hierarchical functional dependencies
US5189709A (en) * 1991-08-26 1993-02-23 The United States Of America As Represented By The United States National Aeronautics And Space Administration Dynamic pattern matcher using incomplete data
US5768564A (en) * 1994-10-07 1998-06-16 Tandem Computers Incorporated Method and apparatus for translating source code from one high-level computer language to another
US6006031A (en) * 1994-10-07 1999-12-21 Tandem Computers Incorporated Method and apparatus for reconciling conflicting translations by factoring and parameterizing differences
US5842204A (en) * 1994-10-07 1998-11-24 Tandem Computers, Inc. Method and apparatus for translating source code from one high-level computer language to another
US5754844A (en) * 1995-12-14 1998-05-19 Sun Microsystems, Inc. Method and system for accessing chunks of data using matching of an access tab and hashing code to generate a suggested storage location
US6055529A (en) * 1998-02-20 2000-04-25 Sun Microsystems, Inc. Method, apparatus and computer program product for extracting known patterns from a data structure in a single pass
US6192314B1 (en) * 1998-03-25 2001-02-20 Navigation Technologies Corp. Method and system for route calculation in a navigation application
US6751634B1 (en) 1999-08-26 2004-06-15 Microsoft Corporation Method and system for detecting object inconsistency in a loosely consistent replicated directory service
CN1310462C (zh) 2001-03-29 2007-04-11 松下电器产业株式会社 通过对数据加密来保护数据的数据保护系统
US7543015B2 (en) * 2002-01-16 2009-06-02 Xerox Corporation Symmetrical structural pattern matching
US7216321B2 (en) * 2003-03-10 2007-05-08 Atrenta, Inc. Pattern recognition in an integrated circuit design
US7937413B2 (en) 2004-05-04 2011-05-03 International Business Machines Corporation Self-adaptive prefix encoding for stable node identifiers
US7421453B2 (en) * 2005-08-16 2008-09-02 International Business Machines Corporation Asynchronous linked data structure traversal
US7529726B2 (en) * 2005-08-22 2009-05-05 International Business Machines Corporation XML sub-document versioning method in XML databases using record storages
US8543614B2 (en) * 2005-08-22 2013-09-24 International Business Machines Corporation Packing nodes into records to store XML XQuery data model and other hierarchically structured data
US8572125B2 (en) * 2005-08-22 2013-10-29 International Business Machines Corporation Scalable storage schemes for native XML column data of relational tables
US8676815B2 (en) 2008-05-07 2014-03-18 City University Of Hong Kong Suffix tree similarity measure for document clustering
CN106897281B (zh) 2015-12-17 2020-08-14 阿里巴巴集团控股有限公司 一种日志分片方法和装置
CN108133168B (zh) * 2016-12-01 2021-04-30 北京新唐思创教育科技有限公司 一种文本识别中的公式搜索方法及其装置

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4583164A (en) * 1981-08-19 1986-04-15 Tolle Donald M Syntactically self-structuring cellular computer

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0480873A (ja) * 1990-07-24 1992-03-13 Agency Of Ind Science & Technol パターンマッチ処理装置

Also Published As

Publication number Publication date
US4794528A (en) 1988-12-27

Similar Documents

Publication Publication Date Title
JPS62194533A (ja) 木構造デ−タのパタ−ンマツチング方式
JP4413286B2 (ja) エッジデータ構造を統一する方法
US7103596B2 (en) Data sort method, data sort apparatus, and data sort program
EP1764710A1 (en) Layout generation method, information processing device, and program
JP2006522984A (ja) インタロック状態のツリーデータストアにデータを記憶し、このデータにアクセスするためのシステムおよび方法
JPH083817B2 (ja) データベース検索方法
JP4712718B2 (ja) 配列の生成方法、及び、配列生成プログラム
US5452226A (en) Rule structure for insertion of new elements in a circuit design synthesis procedure
JPH08339378A (ja) 類似文字列の展開方法、検索方法及びそれらの装置
US20090019067A1 (en) Method, apparatus, and program for inserting node
US6999934B2 (en) Method and system for processing, storing, retrieving and presenting information with an extendable interface for natural and artificial languages
WO2004038612A1 (ja) 連鎖したジョインテーブルのツリー構造への変換方法、および、変換プログラム
US7313567B1 (en) Schemaless XML payload generation
JPS5820072B2 (ja) 情報検索装置
JP2001331490A (ja) 構造化文書格納装置、構造化文書検索装置、構造化文書格納検索装置及びプログラム並びにプログラム記録媒体
Munakata Procedurally oriented programming techniques in Prolog
JP2962287B2 (ja) 構造化文書検索装置及びプログラムを記録した機械読み取り可能な記録媒体
JPS63149728A (ja) 索引生成方式
JPS63311432A (ja) 連想語検索システム
JPH05257688A (ja) 単一化代入作成方法および装置
JP2001325293A (ja) 全文検索方法及び装置及び全文検索プログラムを格納した記憶媒体
JPH04123264A (ja) 関連語テーブル作成装置及び文書検索装置
JPH02151971A (ja) 木構造データのノード探索方法
JPS62154024A (ja) 木構造デ−タ処理方式
Rubinoff Man-Machine Communication Through a Teletypewriter.