JP2745710B2 - String search method and apparatus therefor - Google Patents

String search method and apparatus therefor

Info

Publication number
JP2745710B2
JP2745710B2 JP1217148A JP21714889A JP2745710B2 JP 2745710 B2 JP2745710 B2 JP 2745710B2 JP 1217148 A JP1217148 A JP 1217148A JP 21714889 A JP21714889 A JP 21714889A JP 2745710 B2 JP2745710 B2 JP 2745710B2
Authority
JP
Japan
Prior art keywords
state
search
characters
character string
string
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 - Fee Related
Application number
JP1217148A
Other languages
Japanese (ja)
Other versions
JPH0380366A (en
Inventor
匡 大曾根
弘行 北嶋
英俊 伊東
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
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 JP1217148A priority Critical patent/JP2745710B2/en
Publication of JPH0380366A publication Critical patent/JPH0380366A/en
Application granted granted Critical
Publication of JP2745710B2 publication Critical patent/JP2745710B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Description

【発明の詳細な説明】 〔産業上の利用分野〕 本発明は、情報検索システム等に使用されるストリン
グサーチ方法、すなわち、入力データ記号列(以下、
「テキスト」という)中に、指定された記号列(「パタ
ーン」,「キーワード」等と呼ばれる)が存在するか否
かを判別する方法およびそのための装置に関する。上記
ストリングサーチ装置は、テキスト情報の検索に欠かせ
ないものである。
DETAILED DESCRIPTION OF THE INVENTION [Industrial Application Field] The present invention relates to a string search method used in an information search system or the like, that is, an input data symbol string (hereinafter, referred to as an input data symbol string).
The present invention relates to a method and a device for determining whether or not a specified symbol string (referred to as “pattern”, “keyword”, etc.) exists in “text”. The string search device is indispensable for searching for text information.

〔従来の技術〕[Conventional technology]

オフィスオートメーション(OA)化に伴なって文書情
報のデータベース化が急速に進んでおり、データベース
の規模も大規模化しつつある。このような状況の中で、
文書情報処理の高速化が強く望まれている。なかでも、
テキストと呼ばれる記号列の中からパターンあるいはキ
ーワードと呼ばれる指定された特定の記号列を探し出す
ストリングサーチ処理は、使用頻度が高く処理負荷も極
めて大きいので、その高速化が特に望まれている。
With the introduction of office automation (OA), the database of document information is rapidly progressing, and the scale of the database is also increasing. In such a situation,
There is a strong demand for speeding up document information processing. Above all,
String search processing for searching for a specified specific symbol string called a pattern or a keyword from a symbol string called a text is frequently used and has an extremely large processing load.

これに対しては、ストリングサーチ処理を、それ専用
のハードウェアを用いて処理する方法がいくつか提案さ
れている。その代表的なものに、セルアレイ法と、表一
暼(table look at)型の有限オートマトン法がある。
前者のセルアレイ法は、第32図に示す如く、多数のセル
10をアレイ状に直列に接続し、セル間の状態信号70の伝
達により、ストリングサーチを実現する方法である。各
セル10では、前段のセルの状態信号と当該セルにおける
パターン1文字とテキスト1文字との比較結果により、
新たに記号列を生成させ、それを後段のセルへ伝達す
る。この状態信号70の生成および伝達方法は、1文字単
位に状態遷移を惹き起こす有限オートマトンの原理に基
づいている。
To address this, several methods have been proposed for processing the string search processing using dedicated hardware. Representative examples thereof include a cell array method and a table look at type finite automaton method.
In the former cell array method, as shown in FIG.
This is a method in which strings are connected in series in an array, and a string search is realized by transmitting a state signal 70 between cells. In each cell 10, the state signal of the preceding cell and the result of comparison between one pattern character and one text character in the cell are:
A new symbol string is generated and transmitted to a subsequent cell. The method of generating and transmitting the state signal 70 is based on the principle of a finite state automaton that causes a state transition in units of one character.

第34図に、パターンが「HORSE」の場合に、従来方式
で用いられている有限オートマトンの状態遷移図を示
す。ここで、100は有限オートマトンの状態番号を表わ
し、200はテキストの入力文字に対する状態遷移の方向
を表わしている。この例の場合、テキストから文字が1
文字ずつ連続して「H」「O」「R」「S」「E」と入
力されると、状態番号100が、S0から順次、S1,S2
S3,S4,S5と推移し、状態番号100がS5となったところ
でパターンが検出される。第33図に、状態番号とそれに
対応するサーチ状態との関係を示した。
FIG. 34 shows a state transition diagram of the finite automaton used in the conventional method when the pattern is “HORSE”. Here, 100 represents the state number of the finite state automaton, and 200 represents the direction of the state transition with respect to the input character of the text. In this example, the character from the text is 1
When each character is continuously input as "H""O""R""S""E", the state number 100 is sequentially from S 0, S 1, S 2,
The state changes to S 3 , S 4 , and S 5, and a pattern is detected when the state number 100 becomes S 5 . FIG. 33 shows the relationship between the state number and the corresponding search state.

一方、前記後者の表一瞥型の有限オートマトン法は、
テキストを1文字ずつ入力しながら、その都度、状態遷
移テーブルを参照し、有限オートマトンの状態遷移を繰
り返しながら、パターンの検出を行う方法である。特
に、複数のパターンを検索する場合は、従来は、複数の
パターンの検索を考慮して、状態遷移テーブルを作成す
ることにより、同一のテーブルの参照により、複数のパ
ターンの検索を実現している。
On the other hand, the latter table-glance type finite automaton method is
This is a method in which a pattern is detected while inputting text one character at a time and referring to the state transition table each time and repeating the state transition of the finite state automaton. In particular, when searching for a plurality of patterns, conventionally, a search for a plurality of patterns is realized by referring to the same table by creating a state transition table in consideration of the search for the plurality of patterns. .

第35図に、パターンが「CAT」と「DOG」の場合の、従
来方式における有限オートマトンの状態遷移図を示す。
ここで、100は有限オートマトンの状態遷移図を示し、2
00はテキストの入力文字に対する状態遷移の方向を示し
ている。第35図では、状態0で文字「C」が入力される
と状態は1になり、文字「D」が入力されると状態は4
になり、その他の文字が入力されると、状態は0のまま
であることを示している。また、状態1で文字「A」が
入力されると状態は2になり、文字「D」が入力される
と状態は4になり、文字「C」が入力されると状態は1
のままで、その他の文字が入力されると状態は0に戻る
ことを示している。なお、状態番号とそれに対応するサ
ーチ状態との関係を、第37図に示した。
FIG. 35 shows a state transition diagram of the finite state automaton in the conventional method when the patterns are “CAT” and “DOG”.
Here, 100 indicates a state transition diagram of the finite state automaton, and 2
00 indicates the direction of the state transition for the input character of the text. In FIG. 35, when the character “C” is input in the state 0, the state becomes 1 and when the character “D” is input, the state becomes 4
, And when other characters are input, the state remains 0. When the character "A" is input in the state 1, the state becomes 2; when the character "D" is input, the state becomes 4; and when the character "C" is input, the state becomes 1.
In this state, when another character is input, the state returns to 0. FIG. 37 shows the relationship between the state number and the corresponding search state.

上述の如き状態遷移を実現するために、表一瞥型の有
限オートマトン法では、第36図に示す如き状態遷移テー
ブルを用いる。これは、入力文字と現在の状態から次の
状態を求めるためのテーブルである。ここで、入力文字
は整数の文字コードとしてテーブルを参照するようにす
る。この例の場合、テキストから文字が1文字ずつ連続
して「C」「A」「T」と入力されると、状態は1,2,・
・・・と順次遷移し、状態番号が3となったところで、
パターン「CAT」の検出が認識される。同様に、「D」
「O」「G」と入力されると、状態は4,5,・・・・と順
次遷移し、状態番号が6となったところでパターン「DO
G」の検出が認識される。
In order to realize the state transition as described above, the table-glance type finite state automaton method uses a state transition table as shown in FIG. This is a table for obtaining the next state from the input character and the current state. Here, the input characters refer to the table as integer character codes. In this example, if characters "C", "A", and "T" are successively input from the text one by one, the states are 1, 2,.
.. Sequentially, and when the state number becomes 3,
The detection of the pattern "CAT" is recognized. Similarly, "D"
When “O” and “G” are input, the state sequentially transitions to 4, 5,..., And when the state number becomes 6, the pattern “DO
The detection of "G" is recognized.

上述の技術については、例えば、アイ・イー・イー・
イー トランザクション オン コンピューターズ,シ
ー28(1979年),第384〜394頁(IEEE Transations on
Computers,vol.C−28,No.6,pp.384-394,1979)や、コン
ピュータ,第13巻第1号,第26〜40頁(Computer,vol.1
3,No.1,pp.26-40,1980)等において論じられている。
For the above technologies, for example, IEE
ETransactions on Computers, Sea 28 (1979), 384-394 (IEEE Transations on
Computers, vol. C-28, No. 6, pp. 384-394, 1979) and Computer, Vol. 13, No. 1, pp. 26-40 (Computer, vol. 1).
3, No. 1, pp. 26-40, 1980).

〔発明が解決しようとする課題〕[Problems to be solved by the invention]

上記従来技術は、 (1) 1文字単位に状態遷移を惹き起こす有限オート
マトンを基本としているので、ストリングサーチの検索
速度は原理的に1単位時間あたり1文字となっていた。
テキストを格納している記憶装置から文字をフェッチす
る速度が1単位時間あたり1文字であるならば、これで
問題はない。しかし、現在では、16ビッシマシン/32ビ
ットマシンが出現しており、1時刻あたり2バイトフェ
ッチ/4バイトフェッチも可能となってきた。前述の従来
技術ではこれに対応できず、テキストの文字のフェッチ
速度がこのように向上しても、検索速度は1単位時刻あ
たり1文字に制限されてしまうという問題 (2) 複数パターンを同時検索するためには、その状
態遷移が第35図に示した如く、極めて複雑となり、その
ために、状態遷移テーブルを作成するのに多大のオーバ
ヘッドを要するという問題 があった。これは、複数のパターン間の遷移についても
考慮してテーブルを作成しなければならないことに起因
している。特に、パターン数の多いときや、あるパター
ンの部分文字列が他のパターンの中の部分文字列として
存在している場合に、極めて複雑となる。このテーブル
作成時間のオーバヘッドは、ストリングサーチを行う上
で、特に長大なテキストの検索を行う場合以外、無視で
きないものである。
The above prior art is based on (1) a finite automaton that causes a state transition in units of one character, so that the search speed of the string search is, in principle, one character per unit time.
If the speed of fetching characters from the storage device storing the text is one character per unit time, this is no problem. However, at present, 16-bit / 32-bit machines have emerged, and 2-byte fetch / 4-byte fetch per time have become possible. The above-mentioned prior art cannot cope with this, and the search speed is limited to one character per unit time even if the fetch speed of text characters is increased in this way. (2) Simultaneous search for multiple patterns Therefore, the state transition becomes extremely complicated as shown in FIG. 35, and there is a problem that a large amount of overhead is required to create a state transition table. This is because the table must be created in consideration of the transition between a plurality of patterns. In particular, when the number of patterns is large, or when a partial character string of a certain pattern exists as a partial character string in another pattern, it becomes extremely complicated. This table creation time overhead is not negligible in performing a string search except when searching for a particularly long text.

本発明は上記事情に鑑みてなされたもので、その目的
とするところは、従来の技術における上述の如き問題を
解消し、検出速度を向上させるとともに、複数パターン
検索のための表一瞥型の有限オートマトン法における状
態遷移テーブルの作成時間を短縮可能としたストリング
サーチ方法およびそのための装置を提供することにあ
る。
The present invention has been made in view of the above circumstances, and an object of the present invention is to solve the above-described problems in the related art, improve the detection speed, and provide a table-glance finite-size search for a plurality of patterns. It is an object of the present invention to provide a string search method and an apparatus therefor that can reduce the time required to create a state transition table in the automaton method.

〔課題を解決するための手段〕[Means for solving the problem]

本発明の上述の目的は、ある長さのコード長のコード
で表現される文字(記号)により構成される第1の文字
列中に、指定された第2の文字列が存在するかどうかを
判定するストリングサーチ方法において、前記第1の文
字列から複数文字単位のデータを入力し、複数文字単位
に状態遷移を惹き起こす有限オートマトンを用いて、該
複数文字単位の入力データと現在のサーチ状態とから次
のサーチ状態を決定し、該新たなサーチ状態が検索すべ
き前記第2の文字列を検出したことを表わすサーチ状態
になったかどうかを判断し、前記第2の文字列を検出し
た状態になった場合には検出処理を行い、前記第1の文
字列の入力アドレスを複数文字分だけ先に更新し、前記
第1の文字列から次の複数文字単位のデータを入力する
動作を繰り返すことを特徴とするストリングサーチ方
法、および、ある長さのコード長のコードで表現される
文字(記号)により構成される第1の文字列中に、指定
された第2の文字列が存在するかどうかを判定するスト
リングサーチ装置において、前記第1の文字列を複数文
字単位にシーケンシャルに入力する手段と、複数文字単
位に状態遷移を惹き起こす有限オートマトンを用い、前
記複数文字単位の入力データと現在のサーチ状態とから
次のサーチ状態を決定し、該新たなサーチ状態と検索す
べき前記第2の文字列を検出したことを表わすサーチ状
態(パターン検出状態)とを比較する手段を有すること
を特徴とするストリングサーチ装置によって達成され
る。
The above object of the present invention is to determine whether a specified second character string exists in a first character string composed of characters (symbols) represented by a code having a certain code length. In the string search method, data of a plurality of characters is input from the first character string, and the input data of the plurality of characters and a current search state are input using a finite automaton which causes a state transition in a plurality of characters. , The next search state is determined, and it is determined whether or not the new search state has entered the search state indicating that the second character string to be searched has been detected, and the second character string has been detected. When the state is entered, a detection process is performed, the input address of the first character string is updated by a plurality of characters first, and an operation of inputting data in units of the next plurality of characters from the first character string is performed. To repeat Characteristic string search method and whether or not a specified second character string exists in a first character string composed of characters (symbols) represented by a code having a certain code length In the string search device, the first character string is sequentially input in units of a plurality of characters, and a finite automaton that causes a state transition in units of a plurality of characters is used. Means for determining a next search state from the search state and comparing the new search state with a search state (pattern detection state) indicating that the second character string to be searched has been detected. This is achieved by a string search device.

〔作用〕[Action]

まず、本発明に係るストリングサーチ方法において
は、第1の文字列から複数文字単位のデータを入力し、
複数文字単位に状態遷移を惹き起こす有限オートマトン
を用いることにより、複数文字単位にストリングサーチ
におけるサーチ状態の遷移が実現できる。これから、新
たなサーチ状態が検索すべき前記第2の文字列(パター
ン)を検出したことを表わすサーチ状態になったかどう
かを判断し、前記第2の文字列を検出した状態になった
場合には検出処理を行うことができる。これらにより、
テキストの文字入力を複数文字単位としてストリングサ
ーチを実行できるので、検索速度の向上が達成できる。
なお、本発明に係るストリングサーチ装置は、上記スト
リングサーチ方法を効率的に実行するのに好適なストリ
ングサーチ装置を実現できるものである。
First, in the string search method according to the present invention, data of a plurality of characters is input from the first character string,
By using a finite automaton that causes a state transition in units of a plurality of characters, transition of a search state in a string search can be realized in units of a plurality of characters. From this, it is determined whether the new search state has entered the search state indicating that the second character string (pattern) to be searched has been detected, and if the second character string has been detected, Can perform a detection process. By these,
Since the string search can be executed with the character input of the text in units of a plurality of characters, the search speed can be improved.
The string search device according to the present invention can realize a string search device suitable for efficiently executing the above string search method.

また、本発明に係るストリングサーチ装置において、
単数のパターンに対する表一瞥型の有限オートマトン機
構を複数個設け、そられらを並列に実行させる手段を導
入することにより、複数パターンの検索を個々の単数パ
ターンの検索に展開することができる。これにより、前
記状態遷移テーブルを作成する際、パターン間の遷移を
考慮する必要がなくなり、個々のパターンに対する状態
遷移テーブルを独立に作成すれば良くなるので、テーブ
ル作成オーバヘッドを短縮することができるものであ
る。
Further, in the string search device according to the present invention,
By providing a plurality of table-glance type finite automaton mechanisms for a single pattern and introducing means for executing them in parallel, the search for a plurality of patterns can be expanded to the search for individual single patterns. Thus, when creating the state transition table, it is not necessary to consider the transition between patterns, and the state transition table for each pattern can be created independently, so that the table creation overhead can be reduced. It is.

〔実施例〕〔Example〕

以下、本発明の実施例を図面に基づいて詳細に説明す
る。なお、以下の説明においては、文字のコード長は1
バイトと仮定する。
Hereinafter, embodiments of the present invention will be described in detail with reference to the drawings. In the following description, the code length of a character is 1
Assume bytes.

まず、本発明の第一の実施例として、テキストが2文
字単位で入力される場合について、説明する。第1図
は、本実施例のストリングサーチシステムの構成例であ
る。図において、1は検索すべきテキストを格納する記
憶装置、2は上記テキスト1に対しストリングサーチを
実行するストリングサーチ装置、3はテキストデータ転
送路、4は検索結果を出力する信号線を示している。本
実施例においては、テキストデータは、記憶装置1か
ら、入力手段1001を用いて複数文字単位にシーケンシャ
ルにテキストデータ転送路3を経由してストリングサー
チ装置2に入力される。更に、2文字単位に状態遷移を
惹き起こす有限オートマトン1007を用いることで、パタ
ーンの検出を行う。以下、検索パターンの例として、
「HORSE」を考える。
First, as a first embodiment of the present invention, a case where a text is input in units of two characters will be described. FIG. 1 is a configuration example of a string search system according to the present embodiment. In the figure, 1 is a storage device for storing a text to be searched, 2 is a string search device for performing a string search on the text 1, 3 is a text data transfer path, and 4 is a signal line for outputting a search result. I have. In the present embodiment, text data is sequentially input from the storage device 1 to the string search device 2 via the text data transfer path 3 in units of a plurality of characters using the input unit 1001. Further, a pattern is detected by using a finite state automaton 1007 that causes a state transition in units of two characters. Hereinafter, as an example of a search pattern,
Think "HORSE".

この場合、有限オートマトンの状態は、第2図に示す
如く定義する。また、ここで提案する、2文字単位に状
態遷移を惹き起こす有限オートマトン1007の状態遷移図
は、第3図のようになる。ここで、1200が有限オートマ
トンの状態番号を表わし、1300がテキスト入力文字(2
文字単位)に対する状態遷移の方向を表わしている。こ
れは、テキストから文字が2文字ずつ連続して「XH」
「OR」「SE」と入力されると、状態番号がS0から順次、
S11,S12,S13と推移し、また、テキストから文字が2
文字ずつ連続して「HO」「RS」「EX」と入力されると、
状態番号がS0から順次、S21,S22,S23と推移すること
を示している。ここで、Xは任意の1文字を表わすもの
とする。なお、状態番号S13とS23はパターンが検出され
た状態である。このような有限オートマトンを用いるこ
とにより、テキストを2文字単位に入力しながら、スト
リングサーチを実行することが可能となる。
In this case, the state of the finite state automaton is defined as shown in FIG. FIG. 3 shows a state transition diagram of the finite state automaton 1007 that causes a state transition every two characters. Here, 1200 represents the state number of the finite state automaton, and 1300 represents the text input character (2
It indicates the direction of state transition with respect to each character. This is "XH", where two characters from the text are consecutive
Is input to the "OR", "SE", state number sequentially from S 0,
S 11 , S 12 , S 13, and two characters from the text
When "HO", "RS", and "EX" are entered consecutively,
State number sequentially from S 0, which indicates that changes the S 21, S 22, S 23 . Here, X represents any one character. The state number S 13 and S 23 is a state in which pattern is detected. By using such a finite automaton, it is possible to execute a string search while inputting text in units of two characters.

これを実現するストリングサーチ装置2の構成例を第
4図と第5図に示す。第4図は第一の実施例におけるス
トリングサーチ装置2の全体構成図であり、第5図はそ
こで使用されるセル110の構成図である。第4図におい
て、120はパターンの1文字を格納するパターンレジス
タ、110はセルである。セル110は、記置装置3から転送
されてきたテキストの2バイトの文字データ130と、パ
ターンデータ転送路140を通して入力されるパターンの
2バイトの文字データと、前段セルから転送されてきた
状態信号170とを入力として、パターン検出信号150と本
セルの状態信号170を生成する回路である。本実施例に
おける2文字単位入力有限オートマトンの場合、第4図
に示す如く、直列に接続したセルを2段並べた構成とす
る。これは、第3図に示す有限オートマトンの状態遷移
図に対応している。一方、160は各セルから転送されて
きたパターン検出信号150から検出信号4を生成する検
出信号生成回路である。これは、例えば、すべてのパタ
ーン検出信号150のORをとる論理によって実現できる。
FIGS. 4 and 5 show examples of the configuration of the string search device 2 that realizes this. FIG. 4 is an overall configuration diagram of the string search device 2 in the first embodiment, and FIG. 5 is a configuration diagram of a cell 110 used therein. In FIG. 4, reference numeral 120 denotes a pattern register for storing one character of the pattern, and 110 denotes a cell. The cell 110 includes 2-byte character data 130 of the text transferred from the storage device 3, 2-byte character data of the pattern input through the pattern data transfer path 140, and the state signal transferred from the preceding cell. This is a circuit that generates a pattern detection signal 150 and a state signal 170 of the present cell by inputting the signal 170 as an input. In the case of the two-character unit input finite automaton in the present embodiment, as shown in FIG. 4, a configuration is adopted in which cells connected in series are arranged in two stages. This corresponds to the state transition diagram of the finite state automaton shown in FIG. On the other hand, a detection signal generation circuit 160 generates a detection signal 4 from the pattern detection signal 150 transferred from each cell. This can be realized by, for example, a logic for ORing all the pattern detection signals 150.

次に、第5図に示したセル110の構成について説明す
る。各セル110には、テキストの入力文字2バイトがテ
キスト入力線を通して入力される。111はこれら2バイ
トのデータ同志の一致/不一致をマスク付きで判定し、
一致信号116を生成する一致判定回路である。また、114
はマスクラッチであり、マスクラッチ114aの内容がバイ
ナリコードの“1"(以下、単に「“1"」という)である
ときに、一致判定回路111においてその第1バイトにマ
スクをすることを示し、同様に、マスクラッチ114bの内
容が“1"であるときに、一致判定回路111においてその
第2バイトにマスクをすることを示す。114aを第1マス
クラッチ、114bを第2マスクラッチと呼ぶ。
Next, the configuration of the cell 110 shown in FIG. 5 will be described. In each cell 110, two bytes of text input characters are input through a text input line. 111 determines the match / mismatch of these two bytes of data with a mask,
This is a coincidence determination circuit that generates a coincidence signal 116. Also, 114
Denotes a mask latch, and indicates that when the content of the mask latch 114a is a binary code “1” (hereinafter simply referred to as “1”), the match determination circuit 111 masks the first byte. Similarly, when the content of the mask latch 114b is "1", it indicates that the match determination circuit 111 masks the second byte. 114a is called a first mask latch, and 114b is called a second mask latch.

一致判定回路111は、例えば、第6図の如き回路によ
り実現できる。第6図に示す回路においては、テキスト
入力線130とパターン入力線140から入力される2バイト
のデータを16個のEXOR回路で同時に比較し、それらがす
べて一致した場合に、更に、マスクラッチ出力線118a,1
18bの値を考慮して、一致信号116を出力するというもの
である。なお、一致判定回路111として、コンテントア
ドレサブルメモリを用いてもよい。
The coincidence determination circuit 111 can be realized by, for example, a circuit as shown in FIG. In the circuit shown in FIG. 6, two bytes of data input from the text input line 130 and the pattern input line 140 are simultaneously compared by the 16 EXOR circuits. Line 118a, 1
The coincidence signal 116 is output in consideration of the value of 18b. Note that a content addressable memory may be used as the match determination circuit 111.

一方、115はインジケータラッチであり、特に115aは
パターンの先頭を示す先頭インジケータラッチ、115bは
パターンの末尾を示す末尾インジケータラッチである。
また、113は有限オートマトンの状態を示す状態ラッチ
である。制御回路112は、インジケータラッチ115の情報
と、前段のセルの状態信号170と一致信号116とから、本
セルの状態ラッチ113への入力信号117とパターン検出信
号150を生成する回路である。これは、例えば、第7図
に示す如き回路によって実現できる。入力信号117は、
本セルの状態ラッチ113の入力となる。
On the other hand, reference numeral 115 denotes an indicator latch. In particular, 115a is a head indicator latch indicating the head of the pattern, and 115b is a tail indicator latch indicating the end of the pattern.
A state latch 113 indicates the state of the finite state automaton. The control circuit 112 is a circuit that generates an input signal 117 to the status latch 113 of the present cell and a pattern detection signal 150 from the information of the indicator latch 115 and the status signal 170 and the coincidence signal 116 of the preceding cell. This can be realized, for example, by a circuit as shown in FIG. The input signal 117 is
This is an input to the state latch 113 of this cell.

次に、パターンが「HORSE」の場合の、本実施例の動
作を説明する。
Next, the operation of this embodiment when the pattern is “HORSE” will be described.

まず、予めパターン「H」,「O」,「R」,
「S」,「E」を1文字ずる第4図のパターンバッファ
120−1〜120−5にセットしておく。また、第3図の状
態遷移図における入力文字のうち、任意文字「X」に対
するマスクラッチ114に“1"をセットする。つまり、第
8図に示す如く、第1マスクラッチ114a-11と第2マス
クラッチ114b-23に、“1"をセットする。更に、パター
ンの先頭文字と末尾文字を教えるために、先頭インジケ
ータラッチ115a-11と115a-21,末尾インジケータラッチ1
15b-13と115b-23に“1"をセットしておく。
First, the patterns "H", "O", "R",
Pattern buffer of Fig. 4 shifting "S" and "E" by one character
Set to 120-1 to 120-5. Further, "1" is set in the mask latch 114 for an arbitrary character "X" among the input characters in the state transition diagram of FIG. That is, as shown in FIG. 8, "1" is set in the first mask latch 114a-11 and the second mask latch 114b-23. Further, in order to teach the first character and the last character of the pattern, the first indicator latch 115a-11 and 115a-21, the last indicator latch 1
Set “1” to 15b-13 and 115b-23.

この後、テキストに対するストリングサーチを開始す
る。すなわち、テキストを記憶装置1から1時刻毎に2
文字ずつ、テキストデータ転送路3を通して、ストリン
グサーチ装置2のすべてのセル110に同時に入力してい
く。各セル110の内部では、まず、一致判定回路111にお
いて2バイトのテキストの入力文字と、パターンバッフ
ァ120から各セルそれぞれに転送されてくる2バイトの
パターンの文字とが比較される。例えば、一致判定回路
111-12では、入力文字とパターンの第2文字と第3文字
「OR」との比較が行われる。同様にして、一致判定回路
111-13,111-21,111-22では、それぞれ、入力文字とパタ
ーンの「SE」,「HO」,「RS」との比較が行われる。
Thereafter, a string search for text is started. In other words, the text is stored in the storage device 1 every 2 hours.
Characters are simultaneously input to all cells 110 of the string search device 2 through the text data transfer path 3. In each cell 110, first, the match determination circuit 111 compares a 2-byte text input character with a 2-byte pattern character transferred from the pattern buffer 120 to each cell. For example, a match determination circuit
At 111-12, the input character and the second character of the pattern are compared with the third character "OR". Similarly, the match determination circuit
At 111-13, 111-21, and 111-22, the input characters are compared with the patterns "SE", "HO", and "RS", respectively.

但し、一致判定回路111-11では、第1マスクラッチ11
4a-11が“1"であるため、第1バイトをマスクして比較
する。従って、論理的には、「XH」と比較していること
になる。同様に、一致判定回路111-23では、第2マスク
ラッチ114b-23が“1"であるため、論理的には、「EX」
と比較していることになる。ここで、Xは前述の通り、
任意の1文字を指す。
However, in the match determination circuit 111-11, the first mask latch 11
Since 4a-11 is "1", the first byte is masked and compared. Therefore, it is logically compared with "XH". Similarly, in the match determination circuit 111-23, since the second mask latch 114b-23 is "1", it is logically "EX"
Will be compared to Here, X is as described above.
Refers to any single character.

次に、制御回路112では、第7図に示す如く、前段セ
ルの状態信号170と先頭インジケータラッチ115aの出力
線119aとのOR出力と、一致信号116とのANDをとり、新た
な状態信号117を生成する。この新たな状態信号117は、
本セルの状態ラッチ113の入力とする。また、本状態信
号117と末尾インジケータ115bの出力線119bとのANDをと
った結果をパターン検出信号150とする。これが“1"と
なることが、パターンの検出を意味する。
Next, as shown in FIG. 7, the control circuit 112 performs an AND operation between the OR signal of the state signal 170 of the preceding cell and the output line 119a of the head indicator latch 115a and the coincidence signal 116, and obtains a new state signal 117. Generate This new status signal 117
This is input to the state latch 113 of this cell. In addition, a result obtained by performing an AND operation between the main state signal 117 and the output line 119b of the end indicator 115b is referred to as a pattern detection signal 150. When this becomes “1”, it means detection of the pattern.

上述の構成では、前記状態ラッチ113-ijの内容が“1"
であることが、第3図における有限オートマトンの状態
信号がSijとなったことを表わしている。
In the above configuration, the content of the status latch 113-ij is "1"
It is a state signal of the finite automaton in Figure 3 represents the fact that a S ij is.

以下、テキストの例として、16文字のテキスト「CAT,
HORSE,MONKEY」を考える。この例の場合の時刻に対する
テキスト入力線130と各セル110-ijのパターン入力線140
-ij,一致信号116-ij,状態ラッチ113-ijの値の変化を、
第9図に示す。この例の場合は、時刻3,時刻4,時刻5、
それぞれ、状態ラッチ113-21,113-22,113-23が、“1"と
なる。また、セル110-23の末尾インジケータラッチ115b
-23の内容が“1"であるので、パターン検出信号150-23
は“1"となり、パターンを検出したことがわかる。この
例の場合、8時刻でストリングサーチを終了することが
できる。
Hereinafter, as an example of the text, a 16-character text "CAT,
HORSE, MONKEY ". In this example, the text input line 130 for the time and the pattern input line 140 of each cell 110-ij
-ij, the match signal 116-ij, and the change in the value of the state latch 113-ij,
As shown in FIG. In this example, time 3, time 4, time 5,
The state latches 113-21, 113-22, and 113-23 respectively become "1". Also, the tail indicator latch 115b of cell 110-23
-23 is "1", so the pattern detection signal 150-23
Becomes "1", indicating that the pattern has been detected. In the case of this example, the string search can be completed at eight times.

以下、第二の実施例として、テキストを4文字単位に
入力する方式について説明する。この場合には、4文字
単位に状態遷移を惹き起こす有限オートマトンを用い
る。検索パターンの例として、第一の実施例と同じ、
「HORSE」を考える。
Hereinafter, as a second embodiment, a method of inputting text in units of four characters will be described. In this case, a finite automaton that causes a state transition every four characters is used. As an example of the search pattern, the same as the first embodiment,
Think "HORSE".

この場合の有限オートマトンの状態は、第10図に示す
如く定義する。また、ここで提案する4文字単位に状態
遷移を惹き起こす有限オートマトンの状態遷移図は、第
11図のようになる。第11図において、2200が有限オート
マトンの状態番号を表わし、2300がテキストの入力文字
(4文字単位)に対する状態遷移の方向を表わしてい
る。第11図では、テキストから文字が4文字ずつ連続し
て「XXXH」,「ORSE」と入力されると、状態番号がS0
ら順次、S11,S12と推移し、また、テキストから文字が
4文字ずつ連続して「XXHO」,「RSEX」と入力される
と、状態番号がS0から順次S21,S22と推移することを示
している。同様に、文字が「XHOR」,「SEXX」と入力さ
れると、状態番号がS0から順次、S31,S32と推移し、
「XHOR」,「SEXX」と入力されると、状態番号がS0から
順次、S41,S42と推移することを示している。Xは任意
の1文字を表わしており、状態番号S12,S22,S32およ
びS42は、すべて、パターンが検出された状態である。
このような有限オートマトンを用いることにより、テキ
ストを4文字単位に入力しながら、ストリングサーチを
実行することが可能となる。
The state of the finite state automaton in this case is defined as shown in FIG. The state transition diagram of the finite state automaton that causes state transition in units of four characters proposed here is
It looks like Figure 11. In FIG. 11, reference numeral 2200 denotes a state number of the finite state automaton, and reference numeral 2300 denotes a direction of state transition with respect to a text input character (in units of four characters). In the FIG. 11, in succession from the text characters of four characters "XXXH" is input as "ORSE", state number sequentially from S 0, remained as S 11, S 12, also characters from the text There 4 by characters consecutively "XXHO" is input as "RSEX" indicates that state number has remained sequentially S 21, S 22 from S 0. Similarly, when a character is entered as "XHOR", "SEXX", state number sequentially from S 0, it remained as S 31, S 32,
"XHOR" is input as "SEXX", state number sequentially from S 0, which indicates that changes the S 41, S 42. X represents any one character, and state numbers S 12 , S 22 , S 32 and S 42 are all states in which a pattern has been detected.
By using such a finite automaton, it is possible to execute a string search while inputting text in units of four characters.

これを実現するストリングサーチ装置2の構成例を第
12図に示す。ここでは、図に示す如く、セル210を直列
に接続したものを4段並べる構成とする。ここで、220
はパターンの1文字を格納するパターンレジスタ、260
は検出信号生成回路である。セル210の構成例を第13図
に示す。ここで211は4バイトのデータ同志の一致/不
一致をマスク付きで判定する一致判定回路、213は有限
オートマトンの状態を示す状態ラッチ、214はマスクラ
ッチを示しており、特に、214aは一致判定回路211にお
いて、その第1バイトにマスクをすることを示す第1マ
スクラッチ、同様に、210b,214cおよび214dは一致判定
回路211において、その第2,第3,第4バイトにマスクを
することを示すマスクラッチである。
An example of the configuration of the string search device 2 that realizes this is shown in FIG.
Figure 12 shows. Here, as shown in the figure, a configuration in which cells 210 connected in series are arranged in four stages. Where 220
Is a pattern register that stores one character of the pattern, 260
Is a detection signal generation circuit. An example of the configuration of the cell 210 is shown in FIG. Here, reference numeral 211 denotes a match determination circuit for determining the match / mismatch of 4-byte data with a mask, 213 denotes a state latch indicating the state of the finite automaton, 214 denotes a mask latch, and 214a denotes a match determination circuit. At 211, a first mask latch indicating that the first byte is to be masked. Similarly, 210b, 214c, and 214d indicate that the match determination circuit 211 is to mask the second, third, and fourth bytes. It is a mask latch shown in FIG.

また、215はインジケータラッチであり、特に215aは
パターンの先頭を示す先頭インジケータラッチ、215bは
パターンの末尾を示す末尾インジケータラッチである。
制御回路212は、第一の実施例の場合と同様に、本セル
の状態信号270とパターン検出情報250を生成する回路で
ある。
Reference numeral 215 denotes an indicator latch. In particular, 215a denotes a head indicator latch indicating the head of the pattern, and 215b denotes a tail indicator latch indicating the end of the pattern.
The control circuit 212 is a circuit that generates the state signal 270 of the present cell and the pattern detection information 250 as in the case of the first embodiment.

次に、動作を説明する。 Next, the operation will be described.

まず、予め検索パターン「HORSE」を1文字ずつ、第1
2図に示したパターンバッファ220−1〜220−5までに
セットしておく。また、第11図の状態遷移図における入
力文字のうち、任意文字「X」に対応するマスクラッチ
214に、“1"をセットする。すなわち、マスクラッチ214
a-11,214b-11,214c-11,214a-21,214b-21,214a-31,214d-
22,214c-32,214d-32,214b-42,214c-42,214d-42に、“1"
をセットしておく。更に、パターンの先頭文字と末尾文
字を教えるために、先頭インジケータラッチ210a-11,21
5a-21,215a-31および215a-41と、末尾インジケータラッ
チ215b-12,215b-22,215b-32および215b-42に、“1"をセ
ットしておく。
First, the search pattern “HORSE” is entered one character at a time
These are set in the pattern buffers 220-1 to 220-5 shown in FIG. A mask latch corresponding to an arbitrary character “X” among the input characters in the state transition diagram of FIG.
Set “1” in 214. That is, the mask latch 214
a-11,214b-11,214c-11,214a-21,214b-21,214a-31,214d-
22,214c-32,214d-32,214b-42,214c-42,214d-42, "1"
Is set. In addition, the first indicator latch 210a-11,21
"1" is set to 5a-21, 215a-31 and 215a-41 and the tail indicator latches 215b-12, 215b-22, 215b-32 and 215b-42.

次に、テキストを記憶装置1から4文字ずつテキスト
データ転送路3を通して各セル210に入力していく。各
セル210内部の一致判定回路211では、4バイトの入力文
字と4文字のパターンの文字とが比較される。つまり、
一致判定回路211-11では、入力4文字と「XXXH」とが比
較される。同様に、一致判定回路211-12,211-21,211-2
2,211-31,211-32,211-41,211-42では、それぞれ、入力
4文字とパターン「ORSE」,「XXHO」,「RSEX」,「XH
OR」,「SEXX」,「HORS」,「EXXX」とが比較される。
Next, a text is input from the storage device 1 to each cell 210 through the text data transfer path 3 by four characters. In the coincidence determination circuit 211 in each cell 210, a 4-byte input character is compared with a 4-character pattern character. That is,
The match determination circuit 211-11 compares the input four characters with "XXXH". Similarly, the match determination circuits 211-12, 211-21, 211-2
For 2,211-31,211-32,211-41,211-42, input 4 characters and patterns "ORSE", "XXHO", "RSEX", "XH"
OR ”,“ SEXX ”,“ HORS ”, and“ EXXX ”are compared.

制御回路212は、一致判定回路211からの出力である一
致信号216と、前段のセル210の状態信号270と先頭イン
ジケータラッチ215aの出力線219aとから、本セルの状態
信号217を生成し、それを状態ラッチ213の入力とする。
状態ラッチ213-ijが“1"であることが、第12図における
有限オートマトンの状態番号がSijとなったことを表わ
している。そして、本セルの状態信号217と末尾インジ
ケータ215bの出力線219bとのANDをとった結果を、パタ
ー使検出信号250とする。それが“1"となることが、パ
ターンの検出を意味するのは前述の通りである。
The control circuit 212 generates a state signal 217 of the present cell from the match signal 216 output from the match determination circuit 211, the state signal 270 of the preceding cell 210, and the output line 219a of the head indicator latch 215a. Is the input of the state latch 213.
It states latches 213-ij is "1", the state number of the automaton in Figure 12 represents the fact that a S ij. The result of ANDing the status signal 217 of the present cell with the output line 219b of the tail indicator 215b is defined as a putter use detection signal 250. As described above, the fact that it becomes “1” means the detection of a pattern.

テキストの例として、第一の実施例と同様に、16文字
のテキスト「CAT,HORSE,MONKEY」を考える。この例の場
合の時刻に対する、テキスト入力線230と各セル210-ij
のパターン入力線240-ij,一致信号216-ij,状態ラッチ21
3-ijの値の変化を、第14図に示す。この例の場合には、
時刻2,時刻3にそれぞれ、状態ラッチ213-41と213-42と
が“1"となる。そして、セル210-43の末尾インジケータ
ラッチ215b-43の内容が“1"であるので、パターン検出
信号250-43は“1"となり、パターンを検出したことがわ
かる。この例の場合は、4時刻でストリングサーチが終
了する。
As an example of a text, a text "CAT, HORSE, MONKEY" of 16 characters is considered as in the first embodiment. The text input line 230 and each cell 210-ij for the time in this example
Pattern input line 240-ij, match signal 216-ij, status latch 21
The change in the value of 3-ij is shown in FIG. In this case,
At time 2 and time 3, the state latches 213-41 and 213-42 respectively become "1". Since the content of the tail indicator latch 215b-43 of the cell 210-43 is "1", the pattern detection signal 250-43 becomes "1", indicating that the pattern has been detected. In the case of this example, the string search ends at four times.

次に、第三の実施例として、パターンにドントケア文
字(ワイルド文字)を含んだパターンを検索する場合を
説明する。
Next, as a third embodiment, a case of searching for a pattern that includes a don't care character (wild character) in the pattern will be described.

例として、第一の実施例で用いた2文字単位入力の有
限オートマトンを用いる。検索パターンの例としては
「H!RSE」を考える。ここで、「!」はドントケア文字
(ワイルド文字)、すなわち、1文字の任意文字を表わ
すものとする。この場合の有限オートマトンの状態は、
第15図に示す如く定義する。また、第16図に、この場合
の、2文字単位入力の有限オートマトンの状態遷移図を
示す。状態番号S13,S23はパターンが検出された状態を
示している。
As an example, the finite automaton of two-character unit input used in the first embodiment is used. Consider "H! RSE" as an example of a search pattern. Here, "!" Represents a don't care character (wild character), that is, one arbitrary character. The state of the finite automaton in this case is
It is defined as shown in FIG. FIG. 16 shows a state transition diagram of a finite state automaton in which two characters are input in this case. State number S 13, S 23 shows a state where the pattern is detected.

これを表現するストリングサーチ装置2は、第一の実
施例に示したものと同じ構成で良い。予め各レジスタや
ラッチにセットしておくデータも、ドントケア文字に対
応するマスクレジスタ114a-12と114b-21に“1"をセット
しておくことを除いて、同じで良い。なお、マスクレジ
スタ114a-12と114b-21に“1"をセットしておくことは、
第一の実施例において、セル110-12や110-21にパターン
として「OR」や「HO」を入力させる代りに「!R」や「H
!」を入力させる役割を果たしている。この場合の動作
は、第10図と同様になる。
The string search device 2 expressing this may have the same configuration as that shown in the first embodiment. The data previously set in each register or latch may be the same except that “1” is set in the mask registers 114a-12 and 114b-21 corresponding to the don't care character. Setting “1” in the mask registers 114a-12 and 114b-21 means that
In the first embodiment, "! R" or "H" is used instead of inputting "OR" or "HO" as a pattern to cells 110-12 and 110-21.
! ". The operation in this case is the same as in FIG.

次に、可変長ドントケア文字「?」を含んだパターン
検索について簡単に説明する。なお、ここで、可変長ド
ントケア文字「?」とは、0文字以上の任意の文字列を
表わしている。この場合の、有限オートマトンの状態の
定義および状態遷移の例を、第17図と第18図に示す。こ
の例では、2文字単位に状態遷移を惹き起こす有限オー
トマトンを用いている。これを実現する装置は、第4図
に示した装置内のセル110の内部論理とセル間の接続
を、第18図における状態遷移に対応するように若干変更
するだけで良い。
Next, a brief description will be given of a pattern search including the variable length don't care character “?”. Here, the variable-length don't care character “?” Represents an arbitrary character string of 0 or more characters. FIGS. 17 and 18 show examples of the definition of the state of the finite state automaton and the state transition in this case. In this example, a finite automaton that causes a state transition every two characters is used. The device for realizing this need only slightly change the internal logic of the cell 110 and the connection between the cells in the device shown in FIG. 4 so as to correspond to the state transition in FIG.

また、複数のパターンの同時検索は、複数のパターン
をぱターンバッファにシリアルにセットして、インジケ
ータラッチにそれに対応した値をセットするだけで容易
に実現できる。
Simultaneous retrieval of a plurality of patterns can be easily realized by simply setting a plurality of patterns in a pattern buffer serially and setting a corresponding value in an indicator latch.

本実施例では、前述の文献(前者)によるセルアレイ
法をベースとした装置を例に説明したが、他のセルアレ
イ法をベースとした装置にも容易に適用することが可能
である。
In the present embodiment, an apparatus based on the cell array method according to the above-mentioned document (former) has been described as an example, but the present invention can be easily applied to an apparatus based on another cell array method.

次に、第四の実施例として、表一瞥型の有限オートマ
トン法を利用した場合の例を説明する。以下に説明する
実施例では、2文字単位に状態遷移を惹き起こす有限オ
ートマトンを用いることにする。
Next, as a fourth embodiment, an example in which a table glance type finite automaton method is used will be described. In the embodiment described below, a finite automaton that causes a state transition in units of two characters will be used.

第19図は、本実施例におけるストリングサーチ装置の
構成例である。図中、510はテキストデータ転送路を通
して記憶装置から入力されてくるテキストの入力文字を
格納する2バイト分の入力文字レジスタ、511は有限オ
ートマトンの状態の情報を格納する状態レジスタ、512
は検索パターンに対する状態遷移テーブルを格納するラ
ンダムアクセスメモリ(RAM)、515は該RAM512に対する
アドレス線、513は次の有限オートマトンの状態の情報
を格納する次状態レジスタ、514は次状態がパターンを
検出した状態になったかどうかを判定するパターン検出
判定回路を示している。
FIG. 19 is a configuration example of a string search device according to the present embodiment. In the figure, reference numeral 510 denotes an input character register for 2 bytes for storing input characters of text input from a storage device through a text data transfer path; 511, a status register for storing information on the state of a finite state automaton;
Is a random access memory (RAM) that stores a state transition table for a search pattern; 515 is an address line for the RAM 512; 513 is a next state register that stores information on the state of the next finite automaton; 3 shows a pattern detection determination circuit that determines whether or not a state has been reached.

検索パターンの例として、「HORSE」を考えると、そ
の状態遷移図は、第20図のようになる。これに対応する
状態遷移テーブルは、第21図のようになる。状態遷移テ
ーブルは、現在の状態と入力文字とから、次の状態がわ
かるようにしたテーブルである。この状態遷移テーブル
は、予め前記RAM512にセットしておく。そして、初期状
態0を状態レジスタ511にセットしてから、検索を開始
する。
Considering "HORSE" as an example of a search pattern, its state transition diagram is as shown in FIG. The corresponding state transition table is as shown in FIG. The state transition table is a table in which the next state can be identified from the current state and the input characters. This state transition table is set in the RAM 512 in advance. After setting the initial state 0 in the state register 511, the search is started.

第22図に、本実施例の動作を示す。テキストの例とし
て「CAT,HORSE,MONKEY」を考える。テキストは、1時刻
に2文字ずつ、記憶装置からテキスト転送路を通して入
力していく。時刻1では、状態レジスタ511と入力文字
レジスタ510の内容が、それぞれ、「0」と「CA」であ
るので、それをアドレスとして、RAM512に格納されてい
る状態遷移テーブルにアクセスする。そして、次状態
「0」をフェッチし、それを次状態レジスタ513に入力
する。そして、それを再び、状態レジスタ511に入力す
る。一方、パターン検出回路514では、次状態が「3」
か「6」になったかどうかにより、パターンの検出を監
視している。
FIG. 22 shows the operation of this embodiment. Consider "CAT, HORSE, MONKEY" as an example of a text. The text is input two times at a time from the storage device through the text transfer path. At time 1, since the contents of the state register 511 and the input character register 510 are "0" and "CA", respectively, the state transition table stored in the RAM 512 is accessed using the contents as addresses. Then, the next state “0” is fetched and input to the next state register 513. Then, it is input to the status register 511 again. On the other hand, in the pattern detection circuit 514, the next state is “3”.
The detection of the pattern is monitored depending on whether or not it becomes "6".

以下、この動作を繰り返し、第22図に示される如く、
時刻5で次状態レジスタ513に「6」が入力され、パタ
ーン「HORSE」が検出される。本実施例では、8時刻で
ストリングサーチを終了させることができる。
Hereinafter, this operation is repeated, and as shown in FIG. 22,
At time 5, “6” is input to the next state register 513, and the pattern “HORSE” is detected. In this embodiment, the string search can be completed at eight times.

次に、第五の実施例を説明する。第23図は、本発明の
表一瞥型の有限オートマトン法を用いたストリングサー
チ装置の構成例を示すものである。この例では、2つの
パターン「CAT」と「DOG」の検索を行う場合を考える。
図において、11と21は上述のそれぞれのパターンに対す
る有限オートマトンの状態の情報を格納する状態レジス
タ、10はテキストデータの転送路を通して記憶装置から
入力されてくるテキストの入力文字を格納する入力文字
レジスタ、12と22はそれぞれのパターンに対する状態遷
移テーブルを格納するRAM、15と25は該RAM12と同22に対
するそれぞれのアドレス線、また、13と23はそれぞれの
パターンに対する次の有限オートマトンの状態を格納す
る次状態レジスタ、14と24は次状態がパターンを検出し
た状態になったかどうかを判定するパターン検出判定回
路、30はパターンの検出情報を生成する検出情報生成回
路を示している。
Next, a fifth embodiment will be described. FIG. 23 shows an example of the configuration of a string search device using the table glance type finite automaton method of the present invention. In this example, it is assumed that two patterns “CAT” and “DOG” are searched.
In the figure, reference numerals 11 and 21 denote state registers for storing information on the state of the finite state automaton for each of the above-described patterns, and reference numeral 10 denotes an input character register for storing input characters of text input from a storage device through a text data transfer path. , 12 and 22 are RAMs for storing a state transition table for each pattern, 15 and 25 are respective address lines for the RAMs 12 and 22, and 13 and 23 are states for the next finite automaton for each pattern. A next state register, 14 and 24 are pattern detection and determination circuits for determining whether the next state has detected a pattern, and 30 is a detection information generation circuit for generating pattern detection information.

本装置を用いれば、2つのパターンの状態遷移は、別
々に作成することができる。従って、状態遷移テーブル
の作成時間が短縮できる。2つのパターン「CAT」と「D
OG」に対する有限オートマトンの状態遷移を、第24図お
よび第25図に示す。これは、「CAT」に対しては、テキ
ストから文字が連続して「C」,「A」,「T」と入力
されると、状態番号が0から順次、1,2,3と推移してパ
ターンが検出されることを示しており、また、「DOG」
に対しては、文字が連続して「D」,「O」,「G」と
入力されると、状態番号が0から順次、4,5,6と推移し
てパターンが検出されることを示しているものである。
これに対する状態遷移テーブルを、第26図および第27図
に示す。第23図におけるRAM12と22には、この状態遷移
テーブルを、それぞれ、格納しておく。
Using this apparatus, the state transitions of the two patterns can be created separately. Therefore, the time for creating the state transition table can be reduced. Two patterns "CAT" and "D"
The state transition of the finite automaton for "OG" is shown in FIGS. 24 and 25. This is because, for “CAT”, when characters “C”, “A”, and “T” are input consecutively from the text, the state numbers change from 0 to 1, 2, and 3 sequentially. Indicates that a pattern is detected, and "DOG"
When the characters are successively input as "D", "O", and "G", the state number changes sequentially from 0 to 4, 5, and 6, and the pattern is detected. It is shown.
FIGS. 26 and 27 show the state transition tables corresponding thereto. The state transition tables are stored in the RAMs 12 and 22 in FIG. 23, respectively.

次に、本実施例の動作を第28図を用いて説明する。第
28図は、状態レジスタ,入力文字レジスタ,次状態レジ
スタの内容の変化を示すものである。テキストの例とし
て、13文字のテキスト「CAT,HORSE,DOG」を考える。ま
ず、検索を始める前に、状態レジスタ11と12に初期状態
0をセットしておく。そして、テキストのデータを一時
刻に1文字ずつ、記憶装置からテキストデータ転送路を
通して本装置に入力していく。
Next, the operation of this embodiment will be described with reference to FIG. No.
FIG. 28 shows changes in the contents of the status register, the input character register, and the next status register. As an example of text, consider the 13-character text "CAT, HORSE, DOG". First, before starting the search, the initial state 0 is set in the status registers 11 and 12. Then, the text data is input from the storage device to the apparatus through the text data transfer path, one character at a time.

時刻1では、状態レジスタ11と入力文字レジスタ10の
内容が、それぞれ「0」と「A」であるので、それをア
ドレスとしてRAM12に格納されている状態遷移テーブル1
6にアクセスする。そして、次状態「1」をフェッチ
し、それを次状態レジスタ13に入力する。そして、それ
を再び、状態レジスタ11に入力する。一方、パターン検
出判定回路14では、次状態が「3」になったかどうかに
より、パターンの検出を監視している。同様な動作を、
状態レジスタ21,アドレス線22,次状態レジスタ23および
パターン検出判定回路24により並行して行い、状態レジ
スタ21には「0」が入力される。以下、この動作が繰り
返され、第28図に示される如く、時刻3で次状態レジス
タ13に「3」が入力され、パターン「CAT」が検出さ
れ、時刻13で次状態レジスタ23に「3」が入力され、パ
ターン「DOG」が検出される。
At time 1, the contents of the state register 11 and the input character register 10 are "0" and "A", respectively.
Go to 6. Then, the next state “1” is fetched and input to the next state register 13. Then, it is input to the status register 11 again. On the other hand, the pattern detection determination circuit 14 monitors the detection of the pattern based on whether the next state has become “3”. Similar behavior,
The state register 21, the address line 22, the next state register 23, and the pattern detection / judgment circuit 24 perform the operation in parallel, and “0” is input to the state register 21. Thereafter, this operation is repeated, and as shown in FIG. 28, "3" is input to the next state register 13 at time 3, a pattern "CAT" is detected, and "3" is stored in the next state register 23 at time 13. Is input, and the pattern “DOG” is detected.

次に、第六の実施例を説明する。第29図は、第六の実
施例を実行するためのストリングサーチ装置の構成例を
示すものである。ここで、ストリングサーチを行う機構
は、第五の実施例と同じである。第五の実施例と異なる
点は、本実施例においては、状態遷移テーブル作成装置
19や29を、各RAM毎に設けている点である。これによ
り、各パターン毎に、状態遷移テーブルを並列に作成で
きるので、テーブル作成時間を削減することができるも
のである。
Next, a sixth embodiment will be described. FIG. 29 shows an example of the configuration of a string search device for executing the sixth embodiment. Here, the mechanism for performing the string search is the same as in the fifth embodiment. The difference from the fifth embodiment is that, in the present embodiment, the state transition table creation device
19 and 29 are provided for each RAM. Thus, a state transition table can be created in parallel for each pattern, so that the table creation time can be reduced.

次に、第七の実施例を以下、説明する。第五の実施例
では、個々のパターンに対して状態遷移テーブルを作成
し、それを用いて検索する方法を説明した。この方法に
よる場合には、検索パターン数だけ、独立にアクセスで
きるRAMを用意する必要がある。そこで、本実施例で
は、独立にアクセスできるRAMの個数よりも検索パター
ン数の方が多い場合の、効率的な検索方法について説明
する。例として、4個の検索パターンを、2個のRAM、
すなわち、2個の状態遷移テーブルを用いて検索する方
法について説明する。
Next, a seventh embodiment will be described below. In the fifth embodiment, a method has been described in which a state transition table is created for each pattern and a search is performed using the state transition table. According to this method, it is necessary to prepare RAMs that can be independently accessed by the number of search patterns. Therefore, in the present embodiment, an efficient search method in the case where the number of search patterns is larger than the number of independently accessible RAMs will be described. As an example, four search patterns are replaced with two RAMs,
That is, a search method using two state transition tables will be described.

ここでは、4個の検索パターンをパターン1〜パター
ン4とする。本実施例においては、これを、例えば、パ
ターン1とパターン2を同時に検索するための状態遷移
テーブル(第36図参照)と、パターン3とパターン4を
同時に検索するための状態遷移テーブルとを作成し、こ
の2つの状態遷移テーブルを用いて検索を行う。これに
より、2つの独立にアクセスできるRAMを用いて4個の
パターンを検索することができる。
Here, the four search patterns are referred to as pattern 1 to pattern 4. In the present embodiment, for example, a state transition table for simultaneously retrieving pattern 1 and pattern 2 (see FIG. 36) and a state transition table for simultaneously retrieving pattern 3 and pattern 4 are created. Then, a search is performed using the two state transition tables. Thereby, four patterns can be searched using two independently accessible RAMs.

次に、第八の実施例を説明する。これは、第五の実施
例で説明した構成例(第23図参照)で実現できる。但
し、本実施例においては、入力文字レジスタ13および状
態遷移テーブルを格納するRAM12は、前記第四の実施例
(第19図参照)で説明した複数文字分の入力文字レジス
タ510および複数文字単位に状態遷移を惹き起こす有限
オートマトンの状態遷移テーブルを格納するRAM512を、
用いるものとする。これにより、状態遷移テーブル作成
時間の削減と、入力テキスト文字を複数文字単位で処理
することによるストリングサーチ処理の高速化とが、同
時に実現できる。
Next, an eighth embodiment will be described. This can be realized by the configuration example described in the fifth embodiment (see FIG. 23). However, in this embodiment, the input character register 13 and the RAM 12 for storing the state transition table are provided in the input character register 510 for a plurality of characters described in the fourth embodiment (see FIG. 19) and in the unit of a plurality of characters. The RAM 512 that stores the state transition table of the finite automaton that causes the state transition,
Shall be used. This can simultaneously reduce the time required to create the state transition table and speed up the string search process by processing input text characters in units of a plurality of characters.

次に、第九の実施例として、第30図に示す如きテキス
トデータを複数文字単位に入力する入力手段1001および
複数文字単位の比較器2003から構成されるストリングサ
ーチ装置について説明する。本実施例においては、予
め、テキスト文字列と比較するパターン文字列を記憶装
置2001に格納し、かつ、パターン文字列中の任意の1文
字をキーパターンレジスタ2005およびパターンデータレ
ジスタ2004に、複数文字分格納する。入力手段1001を用
いて、テキストデータレジスタ2004のデータを比較器20
03を用いて比較し、その結果を検索制御手段2002で判定
する。
Next, as a ninth embodiment, a string search device including input means 1001 for inputting text data in units of a plurality of characters and a comparator 2003 in units of a plurality of characters as shown in FIG. 30 will be described. In this embodiment, a pattern character string to be compared with a text character string is stored in advance in a storage device 2001, and an arbitrary character in the pattern character string is stored in a key pattern register 2005 and a pattern data register 2004 in a plurality of characters. Store minutes. Using the input means 1001, the data of the text data register 2004 is compared with the data of the comparator 20.
03, and the search control means 2002 determines the result.

ここで、テキストを「BULL・HORSE」、パターンを「H
ORSE」とした場合の動作を説明する。テキストは、入力
手段1001を用いて、4文字単位で入力されるものとす
る。また、キーパターンレジスタ2005の値としては、パ
ターン文字列中の先頭文字「H」を4文字並べた「HHH
H」とする。第31図は、テキストデータレジスタ1004と
パターンデータレジスタ2002の入力およびその比較結果
を示すものである。まず、時刻1では、テキスト「BUL
L」と上記キーパターン「HHHH」とを比較する。結果
は、全文字不一致であるので、4文字分シフトして、次
のテキストを入力する。
Here, the text is “BULL / HORSE” and the pattern is “H
The operation in the case of "ORSE" will be described. The text is input in units of four characters using the input unit 1001. The value of the key pattern register 2005 is “HHH” in which the first character “H” in the pattern character string is arranged in four characters.
H ”. FIG. 31 shows the inputs of the text data register 1004 and the pattern data register 2002 and the comparison results. First, at time 1, the text "BUL
L ”and the key pattern“ HHHH ”. Since all characters do not match, the result is shifted by four characters and the next text is input.

時刻2では、テキスト「・HOR」とキーパターン「HHH
H」を比較する。ここでは、2文字目の「H」が一致し
ているので、時刻3では、テキストは2文字分シフト
し、パターンは2文字目以降のデータを入力する。つま
り、ここでの入力テキストは「ORSE」、入力パターンは
「ORSE」であり、完全に一致し、パターン「HORSE」が
検出される。本実施例では、3時刻でストリングサーチ
を終了させることができる。
At time 2, the text “• HOR” and the key pattern “HHH
H ”. Here, since "H" of the second character matches, at time 3, the text is shifted by two characters, and the data of the second character and thereafter is input as the pattern. In other words, the input text here is “ORSE” and the input pattern is “ORSE”, which completely matches, and the pattern “HORSE” is detected. In this embodiment, the string search can be completed at three times.

上述の各実施例は、いずれも本発明の一例として示し
たものであり、本発明はこれらに限定されるべきもので
はないことは言うまでもない。
Each of the embodiments described above is shown as an example of the present invention, and it is needless to say that the present invention should not be limited to these.

〔発明の効果〕〔The invention's effect〕

以上、詳細に述べた如く、本発明によれば、第1の文
字列から複数文字単位のデータを入力し、複数文字単位
に状態遷移を惹き起こす有限オートマトンを用いること
により、複数文字単位にストリングサーチにおけるサー
チ状態の遷移が実現できることから、検出速度を向上さ
せるとともに、複数パターン検索のための表一瞥型の有
限オートマトン法における状態遷移テーブルの作成時間
を短縮可能としたストリングサーチ方法およびこのため
の装置を実現できるという顕著な効果を奏するものであ
る。
As described above in detail, according to the present invention, data of a plurality of characters is input from a first character string, and a finite state automaton that causes a state transition to a plurality of characters is used, whereby a string is formed of a plurality of characters. Since a search state transition in a search can be realized, a string search method capable of improving the detection speed and shortening the time required to create a state transition table in a table-glance type finite automaton method for searching a plurality of patterns and a method for the same. This has a remarkable effect that the device can be realized.

【図面の簡単な説明】[Brief description of the drawings]

第1図は本発明の第一の実施例におけるストリングサー
チシステムとストリングサーチ装置の構成図、第2図〜
第9図は第一の実施例の説明図、第10図〜第14図は第二
の実施例の説明図、第15図〜第18図は第三の実施例の説
明図、第19図〜第22図は第四の実施例の説明図、第23図
〜第28図は第五の実施例の説明図、第29図は第六の実施
例におけるストリングサーチ装置の構成図、第30図〜第
31図は第九の実施例におけるストリングサーチ装置の構
成図、第32図は従来のストリングサーチ装置の構成図、
第33図〜第37図は従来技術の説明図である。 1:記憶装置、2:ストリングサーチ装置、3:テキストデー
タ転送路、4:検出信号線、10:入力文字レジスタ、11,2
1:状態レジスタ、12,22:RAM、13,23:次状態レジスタ、1
4,24:パターン検出判定回路、19,29:状態テーブル作成
装置、30:検出情報生成回路、110:セル、111:一致判定
回路、112:制御回路、113:状態ラッチ、114:マスクラッ
チ、115:インジケータラッチ、120:パターンバッファ。
FIG. 1 is a block diagram of a string search system and a string search device according to a first embodiment of the present invention.
9 is an explanatory view of the first embodiment, FIGS. 10 to 14 are explanatory views of the second embodiment, FIGS. 15 to 18 are explanatory views of the third embodiment, FIG. FIG. 22 to FIG. 22 are explanatory diagrams of the fourth embodiment, FIG. 23 to FIG. 28 are explanatory diagrams of the fifth embodiment, FIG. 29 is a configuration diagram of the string search device in the sixth embodiment, FIG. Figure to No.
FIG. 31 is a configuration diagram of a string search device in a ninth embodiment, FIG. 32 is a configuration diagram of a conventional string search device,
FIG. 33 to FIG. 37 are explanatory diagrams of the prior art. 1: Storage device, 2: String search device, 3: Text data transfer path, 4: Detection signal line, 10: Input character register, 11, 2
1: Status register, 12, 22: RAM, 13, 23: Next status register, 1
4, 24: pattern detection determination circuit, 19, 29: state table creation device, 30: detection information generation circuit, 110: cell, 111: match determination circuit, 112: control circuit, 113: state latch, 114: mask latch, 115: indicator latch, 120: pattern buffer.

───────────────────────────────────────────────────── フロントページの続き (72)発明者 北嶋 弘行 神奈川県川崎市麻生区王禅寺1099番地 株式会社日立製作所システム開発研究所 内 (72)発明者 伊東 英俊 茨城県日立市幸町3丁目1番1号 日立 ニュークリアエンジニアリング株式会社 内 (56)参考文献 特開 昭60−211539(JP,A) 特開 昭63−73422(JP,A) 特開 昭61−52739(JP,A) 特開 昭63−228220(JP,A) 特開 昭60−105039(JP,A) 特開 昭53−54937(JP,A) 有川節夫ほか,「テキストデータ管理 システムSIGMAについて」,情報処 理学会技術研究報告 Vol.87,N o.65 PP.1−8,1987年9月21日 ──────────────────────────────────────────────────続 き Continuing on the front page (72) Inventor Hiroyuki Kitajima 1099 Ozenji Temple, Aso-ku, Kawasaki City, Kanagawa Prefecture Within Hitachi, Ltd. Systems Development Laboratory Co., Ltd. (72) Inventor Hidetoshi Ito 3-1-1 Sachicho, Hitachi-shi, Ibaraki No. Hitachi Nuclear Engineering Co., Ltd. (56) References JP-A-60-211539 (JP, A) JP-A-63-73422 (JP, A) JP-A-61-52739 (JP, A) JP-A-63 -228220 (JP, A) JP-A-60-105039 (JP, A) JP-A-53-54937 (JP, A) Setsuo Arikawa, et al., "About SIGMA, a text data management system", Information Processing Society of Japan Technical Report Vol. . 87, No. 65 PP. 1-8, September 21, 1987

Claims (8)

(57)【特許請求の範囲】(57) [Claims] 【請求項1】ある長さのコード長のコードで表現される
文字(記号)により構成される第1の文字列中に、指定
された第2の文字列が存在するかどうかを判定するスト
リングサーチ方法において、前記第1の文字列から複数
文字単位のデータを入力し、複数文字単位に状態遷移を
惹き起こす有限オートマトンを用いて、該複数文字単位
の入力データと現在のサーチ状態とから次のサーチ状態
を決定し、該新たなサーチ状態が検索すべき前記第2の
文字列を検出したことを表わすサーチ状態になったかど
うかを判断し、前記第2の文字列を検出した状態になっ
た場合には検出処理を行い、前記第1の文字列の入力ア
ドレスを複数文字分だけ先に更新し、前記第1の文字列
から次の複数文字単位のデータを入力する動作を繰り返
すことを特徴とするストリングサーチ方法。
A string for determining whether a specified second character string exists in a first character string composed of characters (symbols) represented by a code having a code length of a certain length In the search method, data of a plurality of characters is input from the first character string, and a finite state automaton that causes a state transition of the plurality of characters is used to determine the next from the input data of the plurality of characters and the current search state. Is determined, and it is determined whether the new search state has entered the search state indicating that the second character string to be searched has been detected, and the state changes to the state in which the second character string is detected. In this case, a detection process is performed, the input address of the first character string is updated by a plurality of characters in advance, and an operation of inputting data of the next plurality of characters from the first character string is repeated. Features String search method.
【請求項2】検索すべき前記第2の文字列が与えられた
とき、該文字列に対応して、各サーチ状態に対して複数
文字の入力データが入力された場合の、次のサーチ状態
がわかる状態遷移テーブルを作成し、検索時に、複数文
字単位に前記第1の文字列中のデータを入力し、現在の
サーチ状態と第1の文字列中の複数文字単位の入力デー
タとを引数として、前記状態遷移テーブルをアクセスし
て次の状態を取得することによりストリングサーチを実
行することを特徴とする請求項1記載のストリングサー
チ方法。
2. When the second character string to be searched is given, the next search state when input data of a plurality of characters is input for each search state corresponding to the character string. Create a state transition table that understands, input data in the first character string in units of a plurality of characters at the time of retrieval, and input the current search state and input data in units of a plurality of characters in the first character string as arguments. 2. The string search method according to claim 1, wherein a string search is executed by accessing the state transition table and acquiring a next state.
【請求項3】ある長さのコード長のコードで表現される
文字(記号)により構成される第1の文字列中に、指定
された第2の文字列が存在するかどうかを判定するスト
リングサーチ装置において、前記第1の文字列を複数文
字単位にシーケンシャルに入力する手段と、複数文字単
位に状態遷移を惹き起こす有限オートマトンを用い、前
記複数文字単位の入力データと現在のサーチ状態とから
次のサーチ状態を決定し、該新たなサーチ状態と検索す
べき前記第2の文字列を検出したことを表わすサーチ状
態(パターン検出状態)とを比較する手段を有すること
を特徴とするストリングサーチ装置。
3. A string for determining whether a specified second character string exists in a first character string composed of characters (symbols) represented by a code having a code length of a certain length. In the search device, means for sequentially inputting the first character string in units of a plurality of characters, and a finite automaton that causes a state transition in units of a plurality of characters, are used to determine the input data in units of a plurality of characters and the current search state. String search means for determining a next search state and comparing the new search state with a search state (pattern detection state) indicating that the second character string to be searched has been detected. apparatus.
【請求項4】前記比較手段が、入力された第1の文字列
と前記第2の文字列との複数文字単位の一致不一致を判
定する手段と、前方のセルからのサーチ状態を表現する
状態信号と前記判定手段からの一致信号とから新たな状
態信号を生成し、後方のセルに伝達する手段と、前記新
たな状態信号から前記第2の文字列が検出状態になった
かどうかを判断する手段から構成されるセルを直列に接
続し、それを複数個多段に並べて構成されたものである
ことを特徴とする請求項3記載のストリングサーチ装
置。
4. A comparison means for judging whether or not the input first character string and the second character string match each other in units of a plurality of characters, and a state expressing a search state from a preceding cell. Means for generating a new state signal from the signal and the coincidence signal from the determination means and transmitting the signal to a subsequent cell; and determining whether or not the second character string has entered the detection state from the new state signal. 4. The string search device according to claim 3, wherein cells comprising means are connected in series, and a plurality of cells are arranged in multiple stages.
【請求項5】前記セルを多段に接続して用いて、前記第
2の文字列のすべての部分列と前記第1の文字列の入力
文字列とを同時に比較することを特徴とする請求項4記
載のストリングサーチ装置。
5. The system according to claim 1, wherein all of the substrings of the second character string and the input character string of the first character string are simultaneously compared by using the cells connected in multiple stages. 5. The string search device according to 4.
【請求項6】前記比較手段が、複数文字の入力データと
現在のサーチ状態とのペア情報から、前記状態遷移テー
ブルを格納する記憶手段をアクセスし、次のサーチ状態
を取得するであることを特徴とする請求項3記載のスト
リングサーチ装置。
6. A comparison means for accessing a storage means for storing said state transition table from a pair information of input data of a plurality of characters and a current search state, and acquiring a next search state. 4. The string search device according to claim 3, wherein:
【請求項7】前記状態遷移テーブルを複数個格納する記
憶手段と、該状態遷移テーブルに並列にアクセスする手
段を有することを特徴とする請求項6記載のストリング
サーチ装置。
7. The string search device according to claim 6, further comprising: storage means for storing a plurality of said state transition tables; and means for accessing said state transition tables in parallel.
【請求項8】前記複数個の状態遷移テーブルを用いて、
複数の文字列を検索する際に、個々の文字列に対し独立
に前記状態遷移テーブルを作成する手段を有することを
特徴とする請求項7記載のストリングサーチ装置。
8. Using the plurality of state transition tables,
8. The string search device according to claim 7, further comprising means for creating the state transition table independently for each character string when searching for a plurality of character strings.
JP1217148A 1989-08-23 1989-08-23 String search method and apparatus therefor Expired - Fee Related JP2745710B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP1217148A JP2745710B2 (en) 1989-08-23 1989-08-23 String search method and apparatus therefor

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP1217148A JP2745710B2 (en) 1989-08-23 1989-08-23 String search method and apparatus therefor

Publications (2)

Publication Number Publication Date
JPH0380366A JPH0380366A (en) 1991-04-05
JP2745710B2 true JP2745710B2 (en) 1998-04-28

Family

ID=16699610

Family Applications (1)

Application Number Title Priority Date Filing Date
JP1217148A Expired - Fee Related JP2745710B2 (en) 1989-08-23 1989-08-23 String search method and apparatus therefor

Country Status (1)

Country Link
JP (1) JP2745710B2 (en)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4120888B2 (en) 2004-01-30 2008-07-16 日本電気株式会社 Data retrieval apparatus and method
JP2006134161A (en) * 2004-11-08 2006-05-25 Mitsubishi Electric Corp Document search device and document search program
US8612376B2 (en) 2006-12-28 2013-12-17 Nec Corporation System for generating character-string matching finite automation, its generating method, and generating program
JP5195149B2 (en) * 2008-08-11 2013-05-08 富士通株式会社 Authenticity judgment method
US11586956B2 (en) * 2013-05-28 2023-02-21 Keysight Technologies, Inc. Searching apparatus utilizing sub-word finite state machines
JP6404564B2 (en) 2013-12-24 2018-10-10 株式会社東芝 Decoder, decoding method and program

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
有川節夫ほか,「テキストデータ管理システムSIGMAについて」,情報処理学会技術研究報告 Vol.87,No.65 PP.1−8,1987年9月21日

Also Published As

Publication number Publication date
JPH0380366A (en) 1991-04-05

Similar Documents

Publication Publication Date Title
US20200334533A1 (en) Methods and systems for data analysis in a state machine
US7451143B2 (en) Programmable rule processing apparatus for conducting high speed contextual searches and characterizations of patterns in data
US20190095497A1 (en) Methods and apparatuses for reducing power consumption in a pattern recognition processor
US7464254B2 (en) Programmable processor apparatus integrating dedicated search registers and dedicated state machine registers with associated execution hardware to support rapid application of rulesets to data
EP0233401B1 (en) Improved fast search processor
US9280329B2 (en) Methods and systems for detection in a state machine
EP2891053B1 (en) Results generation for state machine engines
US11816493B2 (en) Methods and systems for representing processing resources
Kaneta et al. Dynamic reconfigurable bit-parallel architecture for large-scale regular expression matching
US20230176999A1 (en) Devices for time division multiplexing of state machine engine signals
JP2745710B2 (en) String search method and apparatus therefor
US10691964B2 (en) Methods and systems for event reporting
US20180113951A1 (en) Graph traversal using automata processor
US10929764B2 (en) Boolean satisfiability
JPH0786875B2 (en) Vector processor
Nguyen et al. Highly parallel bitmap-based regular expression matching for text analytics
JP2865831B2 (en) Parallel string search device
JPWO2008084594A1 (en) Pattern matching apparatus and method
Lee ALTEP—A cellular processor for high-speed pattern matching
JPH0315221B2 (en)
RU2028664C1 (en) Concurrent data processing device
JPS6367627A (en) Text searching device
JPS61240328A (en) Associative memory

Legal Events

Date Code Title Description
LAPS Cancellation because of no payment of annual fees