JP2994926B2 - 有限状態機械作成方法とパターン照合機械作成方法とこれらを変形する方法および駆動方法 - Google Patents

有限状態機械作成方法とパターン照合機械作成方法とこれらを変形する方法および駆動方法

Info

Publication number
JP2994926B2
JP2994926B2 JP5272304A JP27230493A JP2994926B2 JP 2994926 B2 JP2994926 B2 JP 2994926B2 JP 5272304 A JP5272304 A JP 5272304A JP 27230493 A JP27230493 A JP 27230493A JP 2994926 B2 JP2994926 B2 JP 2994926B2
Authority
JP
Japan
Prior art keywords
machine
state
pattern matching
finite state
state machine
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
JP5272304A
Other languages
English (en)
Other versions
JPH07129369A (ja
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.)
Panasonic Corp
Panasonic Holdings Corp
Original Assignee
Panasonic Corp
Matsushita Electric Industrial Co 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
Priority to JP5272304A priority Critical patent/JP2994926B2/ja
Application filed by Panasonic Corp, Matsushita Electric Industrial Co Ltd filed Critical Panasonic Corp
Priority to DE69422370T priority patent/DE69422370T2/de
Priority to EP99100408A priority patent/EP0917032A3/en
Priority to EP99100407A priority patent/EP0917031A3/en
Priority to EP99200172A priority patent/EP0918267A3/en
Priority to EP99100406A priority patent/EP0917030A3/en
Priority to EP94307964A priority patent/EP0651304B1/en
Priority to EP99100405A priority patent/EP0917029A3/en
Priority to US08/331,260 priority patent/US5495409A/en
Publication of JPH07129369A publication Critical patent/JPH07129369A/ja
Application granted granted Critical
Publication of JP2994926B2 publication Critical patent/JP2994926B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/04Programme control other than numerical control, i.e. in sequence controllers or logic controllers
    • G05B19/042Programme control other than numerical control, i.e. in sequence controllers or logic controllers using digital processors
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/04Programme control other than numerical control, i.e. in sequence controllers or logic controllers
    • G05B19/042Programme control other than numerical control, i.e. in sequence controllers or logic controllers using digital processors
    • G05B19/0426Programming the control sequence
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/04Programme control other than numerical control, i.e. in sequence controllers or logic controllers
    • G05B19/045Programme control other than numerical control, i.e. in sequence controllers or logic controllers using logic state machines, consisting only of a memory or a programmable logic device containing the logic for the controlled machine and in which the state of its outputs is dependent on the state of its inputs or part of its own output states, e.g. binary decision controllers, finite state controllers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/32Circuit design at the digital level
    • G06F30/33Design verification, e.g. functional simulation or model checking
    • G06F30/3323Design verification, e.g. functional simulation or model checking using formal methods, e.g. equivalence checking or property checking
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/74Image or video pattern matching; Proximity measures in feature spaces
    • G06V10/75Organisation of the matching processes, e.g. simultaneous or sequential comparisons of image or video features; Coarse-fine approaches, e.g. multi-scale approaches; using context analysis; Selection of dictionaries
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/20Pc systems
    • G05B2219/23Pc programming
    • G05B2219/23289State logic control, finite state, tasks, machine, fsm
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/31From computer integrated manufacturing till monitoring
    • G05B2219/31451Petrinet for monitoring process
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/32Operator till task planning
    • G05B2219/32165Petrinet
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/32Operator till task planning
    • G05B2219/32166Convert petrinet to sequence program for cell and to control program for machine
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/32Operator till task planning
    • G05B2219/32353Use elementary control task, finite state machine and loop, inhibit, synchronisation connections
    • 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
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02PCLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
    • Y02P90/00Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
    • Y02P90/02Total factory control, e.g. smart factories, flexible manufacturing systems [FMS] or integrated manufacturing systems [IMS]
    • 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/99943Generating database or data structure, e.g. via user interface

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、外界の状況に応じて動
作する、化学プラント、発電所、航空機、ロボット、レ
ーダーシステム等に用いる自動制御システムや、計算機
を利用した検索装置や編集装置に用いる有限状態機械を
作成する方法およびその関連技術に関するものである。
【0002】
【従来の技術】1943年にMcCullochとPi
ttsによって提唱された有限状態機械の概念は、多く
の研究者の努力によって拡張されると共に、様々な性質
が明らかにされており、現在でも、自動機械や計算機の
最も単純なモデルとして、産業界や学会での研究開発の
基盤として活用されている。また、有限状態機械と相対
をなす言語である正規表現についても、有限状態機械と
の関わりが深く研究されてきた。有限状態機械あるいは
その一種である有限状態オートマトン、および正規表現
については、M.L.Minsky,”Computa
tion:Finite and Infinite
Machines”,Englewood,New J
ersey,(1967)や、E.J.Hopcrof
t, and D.J.Ullman,”Formal
Languages and their Rela
tion to Automata”,Addison
−Wesley,Mass.,(1964),野崎他
訳:「言語理論とオートマトン」,サイエンス社(19
71)や、A.Salommaa,”Theory o
f Automata”,Pergamon Pres
s,England,(1969),北川他訳:「オー
トマトン論」,共立出版(1974)や、富田悦次,横
森 貴著:「オートマトン・言語理論」,森北出版(1
992)等の成書や、R.Mcnaughton an
d H.Yamada,”RegularExpres
sions and State Graphs fo
r Automata”,IRE Transacti
ons on Electronic Compute
rs”,(1960)等の論文を含む数多くの文献に、
様々な知見が詳細に報告されているので、有限状態機械
およびそれに付随する諸概念の導入的解説は上記の優れ
た文献に譲り、ここでは、本発明の実施例の詳細な説明
の際に必要となる、非決定性Moore機械、決定性M
oore機械、および正規表現とその拡張である正規変
換の形式的定義を述べるにとどめる。
【0003】まず、初めに非決定性Moore機械(N
ondeterministicMoore mach
ine、以下NMOと略記する。)とは、 1)状態の有限集合Q、 2)外部からの入力を記号化して表現した入力記号の有
限有限集合Σ、 3)外部への出力を記号化して表現した出力記号の有限
集合Δ、 4)機械の現在の状態p∈Qと外部からの入力a∈Σに
対して、次の時点で遷移する状態の集合を与える全域関
数である状態遷移関数δ(p,a)、 5)状態遷移に伴って外部に出力される値を定める遷移
先の状態p∈Qのみに依存する出力関数λ(p)、 6)初期状態q∈Q、 からなる6項組NMO=(Q,Σ,Δ,δ,λ,q)で
あり、初期状態qのみの集合{q}から出発して、外部
からの現在の入力aと、現在の状態集合{p1,p2,
…,pN}とから、新たな状態集合δ(p1,a)∪…
∪δ(pN,a)に遷移すると同時に、外部に、{λ
(x)|x∈δ(p1,a)∪…∪δ(pN,a)}を
出力するという動作を繰り返す。ただし、空集合φ∈Q
からの、任意の入力aによる遷移先は空集合φであると
し、出力も空集合φであるとする。状態遷移関数δ
(p,a)は、全域関数ではあるが、値として空集合φ
を取る場合がある。従って、遷移先である、新たな状態
集合δ(p1,a)∪…∪δ(pN,a)が空となるこ
ともあるが、この際には、上記の規定によって空集合の
状態に留まり続ける。
【0004】次に、決定性Moore機械(Deter
ministic Moore machine、以下
DMOと略記する。)とは、 1)状態の有限集合Q、 2)外部からの入力を記号化して表現した入力記号の有
限有限集合Σ、 3)外部への出力を記号化して表現した出力記号の有限
集合Δ、 4)機械の現在の状態p∈Qと外部からの入力a∈Σに
対して、次の時点で遷移する状態を与える全域関数であ
る状態遷移関数δ’( p,a)、 5)状態遷移に伴って外部に出力される値を定める遷移
先の状態p∈Qのみに依存する出力関数λ(p)、 6)初期状態q∈Q、 からなる6項組DMO=(Q,Σ,Δ,δ’,λ,q)
であり、初期状態qから出発して、外部からの現在の入
力aと、現在の状態pとから、新たな状態δ’(p,
a)に遷移すると同時に、外部に、λ(δ’(p,
a))を出力するという動作を繰り返す。状態遷移関数
δ’(p,a)は、Qの要素を値とする全域関数なの
で、NMOの空集合のような問題は生じない。
【0005】最後に、正規表現を次のように定義する。
Σを、ある記号の有限集合としたとき、Σ上の正規表現
(Regular Expression,正則表現と
も呼ぶ。)とは、以下の1)〜7)により定義されるΣ
上の文字列の集合を表す文字列である(ただし、「Σ上
の文字列」として長さ0の空文字列も含む)。 1)記号φを空集合を表すΣ上の正規表現とする。 2)記号εを長さ0の文字列のみからなる集合を表すΣ
上の正規表現とする。 3)aを{a}(a∈Σ)を表すΣ上の正規表現とす
る。 4)R,SがΣ上の正規表現のとき、(R+S)は、
{t|tはRが表す集合の要素またはSが表す集合の要
素}を表す正規表現とする。 5)R,SがΣ上の正規表現のとき、(RS)は、{r
s|rはRが表す集合の要素、かつsはSが表す集合の
要素}を表す正規表現とする。 6)RがΣ上の正規表現のとき、(R*)は正規表現 (…((ε+R)+(RR))+(RRR))+…) と等価な正規表現とする。 7)上記1)〜6)で作成されたものだけが、正規表現
である。ただし、解釈にあいまいさが生じない限り、括
弧は省略可能であるとする。
【0006】また、後の議論で必要になる、Σ上からΔ
上への正規変換(RegularTransforma
tion、以降はRTと略記する。)とは、本発明で独
自に定めた正規表現の拡張概念であり、Σ上の文字列の
集合をΔ上の文字列の集合に変換する方法を表す以下の
1)〜5)によって定義される文字列である。 1)RがΣ上の正規表現で、かつdがΔ上の文字列のと
き、(R/d)は、Rが表すΣ上の文字列の集合を集合
{d}に変換し、それ以外のΣ上の文字列全てからなる
集合を空集合に変換する、Σ上からΔ上への正規変換で
ある。 2)(R/d),(S/e)がΣ上からΔ上への正規変
換のとき、((R/d)+(S/e))は、Rが表すが
Sが表さないΣ上の文字列の集合を{d}に変換し、S
が表すがRが表さないΣ上の文字列の集合を{e}に変
換し、RもSも表すΣ上の文字列の集合を{d,e}に
変換し、それ以外のΣ上の文字列全てからなる集合を空
集合に変換する、Σ上からΔ上への正規変換である。 3)(R/d),(S/e)がΣ上からΔ上への正規変
換のとき、(R/d)(S/e)は、Rが表すが(R
S)が表さないΣ上の文字列の集合を{d}に変換し、
(RS)を表すΣ上の文字列の集合を{de}に変換
し、それ以外のΣ上の文字列全てからなる集合を空集合
に変換する、Σ上からΔ上への正規変換である。 4)(R/d)がΣ上からΔ上への正規変換のとき、 ((R/d)*)は正規変換 (…(((ε/d)+(R/d))+(R/d)(R/
d))+…) と等価な正規変換とする。 5)上記1)〜4)で作成されたものだけが、正規変換
である。ただし、解釈にあいまいさが生じない限り、括
弧は省略可能であるとする。
【0007】ところで、これまでの研究で、与えられた
正規変換から当該正規変換が表す変換と同一の変換を行
なうNMOを、当該正規変換の長さのオーダーの計算量
で効率よく作成する方法(Robinsonの方法)
や、与えられたNMOと等価なDMOを作成する方法
(部分集合構成法)が知られている。このうち、本発明
との関わりが深い、部分集合構成法を、従来技術の例と
して説明する。
【0008】まず、あるNMOとDMOとが等価である
とは、任意の入力列に対して、当該NMOとDMOが同
一の出力列を出力することであると定義する。すると、
与えられたNMO=(Q,Σ,Δ,δ,λ,q)に等価
なDMO=(Q’,Σ,Δ’,δ’,λ’,q’)を以
下のようにして作成することができる。まず、状態集合
Q’はQの部分集合全てを要素として含む集合とすし、
初期状態q’は、{q}であるとする。同様に出力記号
集合Δ’はΔの部分集合全てを要素として含む集合と
し、出力関数λ’({q1,…,qN})の値はλ(q
1)∪…∪λ(qN)と定める。また、外部からの入力
を表す記号の集合ΣはNMOと同一であるとする。最後
に、Q’の任意の要素{q1,…,qN}とΣの任意の
要素cに対する状態遷移関数δ’({q1,…,q
N},c)の値を、δ(q1,c)∪…∪δ(qN,
c)であると定める。このようにして作成したDMO
が、元のNMOと等価であることは、外部入力の列の長
さに関する帰納法によって、容易に示すことができる。
【0009】ここで、これまで説明した従来の有限状態
機械作成方法を用いた、従来の製品自動検査システムの
例を説明する。図26は従来の製品自動検査システムの
一実施例の全体構成を示すブロック図である。図26に
おいて、201は、ベルトコンベア上を流れる製品の第
1の特徴を調べて、0か1かのどちらかの値を出力する
第1のセンサ、202は、ベルトコンベア上を流れる製
品の第2の特徴を調べて、やはり0か1かのどちらかの
値を出力する第2のセンサ、203はDMOを応用した
専用電子回路による制御装置、204は、検査の結果、
良品と判定された製品に、検査印を押す捺印ロボット、
205は、制御装置203に供給するDMOのデータ
を、外部機器からのNMOデータに基づいて作成するD
MO作成手段である。
【0010】以上のような構成において、まず、DMO
作成手段205による、制御装置203のDMOの作成
方法を説明する。制御装置203の動作は、図27
(a)のようなNMOで指定されているものとする。た
だし、図27(a)の状態S0 は個々の製品の検査を始
める際の初期状態であり、NMOの現在の状態集合から
の遷移先が空集合になる(遷移先が1つも定義されてい
ない。)入力の場合には、不良と判定して、次の製品の
検査に進み、2重丸の状態(S5 )に至った場合には、
良品と判定して捺印ロボット104を動かして検査印を
押すものとする。また、外部入力は、第1のセンサ20
1からの値「1」の入力をA1、値「0」の入力をA0
で表し、第2のセンサ202からの値「1」の入力をB
1、値「0」の入力をB0で表すものとする。実際の入
力は、この2つのセンサ201、202の入力の組み合
わせであるから、「A1B0」のように表される。
【0011】さて、図27(a)はNMOであるから、
ある瞬間に2つ以上の状態を取り得る。従って、そのま
ま電子回路として実現することは得策ではないため、図
27(a)のNMOから部分集合構成法を用いてDMO
を作成する。図27(b)は、図27(a)のNMOに
部分集合構成法を適用して、DMOを作成する過程を示
したものであり、図28は、図27(b)に従って作成
されたDMOの状態遷移グラフである。
【0012】部分集合構成法は、非決定性の複数の状
態、即ち、状態の部分集合を、決定性の1状態に対応づ
け、状態の部分集合がそれぞれの外部入力でどのように
遷移するかを調べることによって、決定性の状態遷移図
(機械)を構成する方法であり、図27(b)の各行
が、状態の特定の部分集合に対応する。このようにして
作成した図28のDMOをもとに、電子回路による制御
装置203が、プログラマブルIC、フィールドプログ
ラマブルゲートアレイなどの、プログラム可能な回路素
子や、マイクロコンピュータによって実現される。
【0013】多くのプログラマブル素子には、図28の
ようなDMOから、当該素子のプログラムを自動生成す
るソフトウエアが添付されており、制御回路の回路構成
を回路図よりも高い抽象度で表現する方法として、有限
状態機械モデルを用いた制御回路の設計が広く用いられ
ていることを付言しておく。
【0014】有限状態機械は、上述した各種の制御シス
テムだけでなく、各種のパターン照合機械としても幅広
い応用が可能である。その際には、外部からの入力とし
て照合対象データを構成する要素を順に与えると、見つ
け出したいパターンの種類を表す記号あるいは番号が、
当該パターン照合機械がパターンに合致するデータ部分
を「読み込んだ」直後に出力されることになる。見つけ
出したいパターンは、上記の動作を指定する正規変換等
で記述し、これからNMOを作成し、さらに作成したN
MOからDMOを作成し、作成したDMOを用いてパタ
ーン照合動作を実行する。パターン照合動作は、NMO
を用いても可能であるが、照合対象データが長い、即ち
照合対象データを構成する要素の個数が多い場合には、
DMOを用いる方がパターン照合時間の面で有利とな
る。
【0015】一般に、照合対象データの長さをN、正規
変換の長さ即ち文字列長をMとすると、最悪の場合に、
NMOを用いたパターン照合では、NMに比例した処理
時間がかかるのに対し、DMOを用いたパターン照合で
は、Nに比例した処理時間で済む。ただし、DMOを用
いるためには、NMOからDMOを作成するのに、最悪
の場合に2のM乗に比例する処理時間がかかる。従っ
て、Nが大きい、即ち照合対象データが長い場合には、
DMOを用いる方が、処理時間の面でNMOを用いるよ
りも有利になることになる。
【0016】ここで、上記の枠組みを用いる従来のパタ
ーン照合機械の一種として、従来のパターン照合装置の
例を説明する。このパターン照合装置は、「文字列を1
度走査するだけで複数個の文字列との同時照合ができる
こと」や、「正規表現で照合文字列のパターンを指定で
きること」などの特徴を持つ。
【0017】図29は、従来の文書検索装置の一部であ
る従来のパターン照合装置の一実施例の全体構成図であ
る。図29において、231は、文字を表す文字番号の
列からなる入力文書を格納し1文字ずつ読み出すことの
できる入力文書メモリ、232は、入力文書と照合条件
条件との照合状態を表す状態番号を、状態番号と文字番
号を要素番号とした2次元の表としてランダムアクセス
メモリに格納した状態番号表メモリ、233は、状態番
号表メモリ232の出力する状態番号を記録する状態番
号記録回路、234は、状態番号記録回路233の出力
する状態番号から、必要な外部動作の番号を求める動作
番号表メモリ、235は、状態番号表メモリ232およ
び動作番号表メモリ234に供給するDMOのデータ
を、外部機器からのNMOデータに基づいて作成するD
MO作成手段である。
【0018】以上の構成において、以下その動作につい
て説明する。まず、照合動作に先立って、外部からDM
O作成手段235に、検索したい文字列の集団と検索成
功時の動作を表すNMOとを入力してDMOを作成し、
作成したDMOのデータを、状態番号表メモリ232お
よび動作番号表メモリ234に格納する。
【0019】次に、入力文書メモリ231を初期化し
て、入力文書データを格納し、入力文書の着目文字を文
書の先頭にセットする。同時に、状態番号記録回路23
3を初期化して、現在の状態番号を特別な値、例えば0
にセットする。また、照合条件条件を状態番号表と動作
番号表の形に変形して、照合動作に先立って、それぞれ
動作番号表メモリ234、および状態番号表メモリ23
2に格納しておく。以上で初期化動作が終了し、照合動
作の本体に進む。次に、状態番号記録回路233の出力
する「現在の状態番号」と、入力文書メモリ231が出
力する「着目する文字の文字番号」とを組み合わせた番
号をアドレスとして状態番号表メモリ232の表を引
き、次の状態の状態番号を求めて状態番号記録回路23
3に新たな状態番号として記録する。
【0020】今、入力文書中の文字の文字番号が、0か
ら65535までの範囲であり、状態番号が0から81
91までの範囲であり、状態番号表メモリ232のアド
レスは、2進数を表す29本の信号線で与えるとすれ
ば、状態番号表メモリ232のアドレス線のうち、下位
の桁を表す13本には文字番号を、上位の桁を表す16
本には、状態番号を、それぞれ入力すればよい。そし
て、記録した状態番号で動作番号表メモリ232の表を
引き、その動作番号の値に応じて、文書検索装置の他の
部分が種々の動作、例えば「入力文書メモリが現在着目
している文字の文書中での位置を記録する」などの動作
を行なう。その後、入力文書格納メモリ231の「入力
文書の着目位置」が1文字だけ末尾方向にずらされる。
この、「現在の状態と着目文字とから次の状態を求め
て、状態に応じた動作を行なった後、次の文字に着目す
る」という動作を、動作番号が「動作停止」になるか、
あるいは入力文書の最終文字に到達するか、のどちらか
の条件が満たされるまで繰り返すことにより、入力文書
の照合が完了する。
【0021】状態番号表メモリ232には、例えば図1
6のような正規変換によって指定された照合条件を元に
して算出したDMOの状態遷移表そのものが格納される
ことになる。図17は、図16の正規表現から、Rob
insonの方法を用いて作成したNMOの状態遷移
表、図18はNMOの状態遷移グラフ、図30〜図32
は、図18のNMOに部分集合構成法を適用してDMO
を構成する過程および結果の状態遷移表を示す図、図2
3はDMOの状態遷移グラフである。ただし、図30に
おいて、state項目はNMOの状態番号を表し、o
utput項目はNMOの出力記号を表し、a,b,
c,dの各項目は、それぞれの文字での遷移先の状態集
合を表し、$項目は、入力文字セット中の、a,b,
c,d以外の文字を便宜上1文字で代表する仮想的な文
字”$”での遷移先の状態集合を表す。
【0022】また、図31の「NMOからDMOの作
成」において、 DMO_state(i):{q1,q2,・・・q
m} とあるのは、作成すべきDMOの状態番号がi番の状態
が、NMOのm個の状態q1,q2,・・・qmを要素
に持つ状態集合に対応することを表し、 DMO_goto({i},”x”)={p1,・・・
pn}(j) とあるのは、作成すべきDMOの、状態iでの、文字”
x”での遷移先が、NMOのn個の状態 p1,・・・
pn を要素に持つ状態集合に対応することを表す。
【0023】また、図32の「作成されたDMO」にお
いて、state項目はDMOの状態番号を表し、ou
tput項目はDMOの出力記号を表し、a,b,c,
dの各項目は、それぞれの文字での遷移先の状態番号を
表し、$項目は、入力文字セット中の、a,b,c,d
以外の文字を便宜上1文字で代表する仮想的な文字”
$”での遷移先の状態番号を表し、最終行のTotal
xx Arcsは、作成されたDMOに、(遷移元も
遷移先も同一の遷移を1遷移と数えた場合に)xx個の
遷移が存在することを表す。
【0024】以上の説明から、DMOが、機器の制御や
パターンの照合など、様々な分野に応用することが可能
で、かつ、外部入力に対して、DMOの複雑さによらな
い一定の処理時間で応答できることが理解できる。
【0025】
【発明が解決しようとする課題】しかしながら、こうし
た従来の有限状態機械作成方法には、NMOからの作成
時間が長いこと、および作成結果であるDMOのサイズ
(実際の応用装置では状態遷移表のサイズ)が大きい、
という2つの問題があった。
【0026】大きなサイズの状態遷移表を作成するため
には、状態遷移表の有効な要素の個数に比例した処理時
間以上の時間がかかるため、実際には、上記の2つの問
題は互いに関連している。また、NMOをそのまま用い
ると、作成時間が短くサイズも小さいが、NMOが複雑
になると、NMOの動作が遅くなるという問題があっ
た。この他に、NMOの動作中に、よく通過する状態や
遷移をDMOのように変形して、NMOの動作速度を上
げることが困難であるという問題があった。
【0027】本発明は、以上のような従来の問題点を解
決するためになされたもので、状態遷移の手間の若干の
増大を許すかわりに、DMOよりもサイズが小さい「失
敗遷移付き有限状態機械」(Aho−Corasick
法)を、従来のDMO作成方法である部分集合構成法よ
りも高速に作成する有限状態機械作成方法と、この有限
状態機械をパターン照合用に特殊化したパターン照合機
械を作成するパターン照合機械作成方法と、これら有限
状態機械作成方法およびパターン照合機械作成方法で作
成された機械を変形する方法とこれらを高速に駆動する
方法とを提供することを目的とする。
【0028】
【課題を解決するための手段】上記目的を達成するため
に、本発明は、図1に示すように有限状態機械作成方法
およびパターン照合機械作成方法10として、初期状態
生成手段11と、未処理要素選択手段12と、成功関数
値算定格納手段13と、失敗関数値算定格納手段14
と、出力関数値算定格納手段15と、要素追加格納手段
16とを備えたものである。
【0029】本発明はまた、図2に示すように、指定さ
れた内部状態と外部入力とに対応して機械を変形する有
限状態機械変形方法およびパターン照合機械変形方法2
0として、遷移先調査手段21と、失敗先決定手段22
と、遷移先決定格納手段23と、失敗定義削除手段24
とを備えたものである。
【0030】本発明はまた、図3に示すように、記憶容
量の許す限り高速動作が可能な有限状態機械作成方法3
0として、有限状態機械作成手段31と、記憶領域判定
手段32と、変形対象状態選択手段32と、有限状態機
械変形手段33とを備えたものである。
【0031】本発明はまた、図4に示すように、記憶容
量の許す限り高速動作が可能なパターン照合機械作成方
法40として、パターン照合機械作成手段41と、記憶
領域判定手段42と、変形対象状態選択手段43と、パ
ターン照合機械変形手段44とを備えたものである。
【0032】本発明はまた、図5に示すように、有限状
態機械の動作中に、状態遷移の頻度を計測し、高頻度で
状態遷移する部分を変形して動作途中からの高速化を図
る有限状態機械駆動方法50として、有限状態機械作成
手段51と、有限状態機械駆動手段52と、失敗回数計
数判定手段53と、有限状態機械変形手段54とを備え
たものである。
【0033】本発明はまた、図6に示すように、パター
ン照合機械の動作中に、状態遷移の頻度を計測し、高頻
度で状態遷移する部分を変形して動作途中からの高速化
を図るパターン照合機械駆動方法60として、パターン
照合機械作成手段61と、パターン照合機械駆動手段6
2と、失敗回数計数判定手段63と、パターン照合機械
変形手段64とを備えたものである。
【0034】
【作用】
(有限状態機械作成方法)有限状態機械作成の際には、
非決定性有限状態機械の状態の集合qと、qの部分集合
pの組<p,q>を決定性有限状態機械の内部状態と見
なし、その第1段階では、図1の初期状態生成手段11
が、決定性有限状態機械作成の初期状態を非決定性有限
状態機械の初期状態sを用いて、<{s},{s}>と
定めて、未処理の要素として要素追加格納手段16に送
って要素集合に加えるとともに、初期状態での決定性有
限状態機械の出力を、非決定性有限状態機械のsでの出
力のみからなる集合と定めて、出力関数値算定格納手段
15に送って格納し、さらに空集合φの組<φ,φ>を
処理済の要素として、要素追加格納手段16に送って格
納するとともに、<φ,φ>での出力関数の値λ(<
φ,φ>)を空集合φと定めて出力関数値算定格納手段
15に送って格納し、さらに任意の外部入力cに対する
成功関数g(<φ,φ>,c)の値を<φ,φ>と算定
して、成功関数値算定格納手段13に送って格納する。
【0035】有限状態機械作成の第2段階では、要素集
合中に未処理の要素がなければ、未処理要素選択手段1
2がこれを検出して有限状態機械作成を終了し、要素集
合中に、未処理要素が含まれていれば、未処理要素選択
手段12が要素集合から任意の算法によって未処理要素
<p,q>を1つ選択するとともに、未処理要素<p,
q>を処理済の要素に変更する。
【0036】有限状態機械作成の第3段階では、決定性
有限状態機械作成の第2段階で選択した要素<p,q>
の第1成分である非決定性有限状態機械の状態集合pの
いずれかの要素について、非決定性有限状態機械の次の
内部状態が定義されている外部からの入力cがあれば、
成功関数値算定格納手段13が、cに対する成功関数g
(<p,q>,c)の値<x,y>を、yの値として、
非定性有限状態機械の、外部からの入力がcで現在の状
態がpの要素である場合の非決定性有限状態機械の次の
内部状態の和集合を選び、xの値としてyの値そのも
の、あるいはyの値の空でない真部分集合を選ぶことで
算定して格納し、要素追加格納手段16が、<x,y>
が要素集合中になければ、未処理の要素として要素集合
中に追加するとともに、出力関数値算定格納手段15
が、状態<x,y>での出力関数λ(<x,y>)の値
wがまだ定義されていない場合には、wの値として、非
決定性有限状態機械の、yの各要素での出力の集合を選
ぶことにより算定して格納する。
【0037】有限状態機械作成の第4段階では、前記内
部状態<p,q>の、pのいずれの要素についても非決
定性有限状態機械の次の内部状態が定義されていない外
部からの入力dがある場合に、各々のdに対して、失敗
関数値算定手段14が、dに依存しない失敗関数f(<
p,q>)の値を、集合qから集合pの要素を除いた差
集合q−pと、q−pの任意の部分集合zの組<z,q
−p>で算定して格納するとともに、出力関数値算定格
納手段が15、状態<x,y>での出力関数λ(<x,
y>)の値wが未定義の場合には、wとして、非決定性
有限状態機械の、q−pの各要素での出力の集合を選ぶ
ことにより算定して格納する。有限状態機械作成の第5
段階では、有限状態機械作成の第2段階に戻って処理を
続行することで、従来よりも状態遷移表のサイズが小さ
な決定性有限状態機械を、高速に作成することができ
る。
【0038】(パターン照合機械作成方法)パターン照
合機械作成の際には、非決定性有限状態機械の状態の集
合pと、パターン照合機械の状態rとの組<p,r>を
パターン照合機械の内部状態と見なし、その第1段階で
は、図1の初期状態生成手段11が、パターン照合機械
の初期状態Sを、非決定性有限状態機械の初期状態sを
用いて、<{s},S>と算定して未処理の要素として
要素追加格納手段16に送って要素集合に加えるととも
に、初期状態での決定性有限状態機械の出力を、非決定
性有限状態機械のsでの出力のみからなる集合と定め
て、出力関数値算定格納手段15に送って格納する。
【0039】パターン照合機械作成の第2段階では、要
素集合中に未処理の要素がなければ、未処理要素選択手
段12がこれを検出して有限状態機械作成を終了し、前
記要素集合中に、未処理要素が含まれていれば、未処理
要素選択手段12が要素集合から、最も早期に要素集合
に追加された未処理要素<p,r>を選択するとともに
未処理要素<p,r>を処理済の要素に変更する。
【0040】パターン照合機械作成の第3段階では、前
記有限状態機械作成方法の第2段階で選択した要素<
p,r>の第1成分である非決定性有限状態機械の状態
集合pのいずれかの要素について、成功関数値算定格納
手段13が、非決定性有限状態機械の次の内部状態が定
義されている外部からの入力cがあれば、成功関数値算
定格納手段13が、cに対する成功関数g(<p,r
>,c)の値<x,y>を、yの値として、<p,r>
が初期状態Sの場合にはSを選び、<p,r>が初期状
態以外の場合には、<p,r>の第2部分rを取り出す
演算R(<p,r>)を成功関数g(・,c)が初めて
定義されるまで、1回以上繰り返した状態u=R(R
(…R(<p,r>)…))と文字cとの組に対する成
功関数の値g(u,c)を選び、xの値として、pの要
素と文字cに対する非決定性有限状態機械の次の状態の
和集合jから、演算Rを0回以上適用した後、パターン
照合機械の状態<p,r>の第1成分pを取り出す演算
Pを適用してできる集合の列P(y),P(R
(y)),P(R(R(y)),…の和集合k=P
(y)UP(R(y))UP(R(R(y))U …の
差集合u−kを選び、もしもxの値が空集合ならば成功
関数g(<p,r>,c)の値として、<x,y>では
なくyを選ぶことで算定して格納した後で、要素追加格
納手段16が、<x,y>が要素集合中になければ、未
処理の要素として要素集合中に追加するとともに、出力
関数値算定格納手段15が、状態<x,y>での出力関
数λ(<x,y>)の値wを、wの値として、P(g
(<p,r>,c))の要素での非決定性有限状態機械
の出力の和集合とQ(g(<p,r>,c))でのパタ
ーン照合機械の出力の和集合を選ぶことにより算定して
格納する。
【0041】パターン照合機械作成の第4段階では、内
部状態<p,r>と、pのいずれの要素についても非決
定性有限状態機械の次の内部状態が定義されていない文
字dがあれば、失敗関数値算定格納手段14が、dに依
存しない失敗関数f(<p,r>)の値を、rであると
算定して格納する。
【0042】パターン照合機械作成の第5段階では、前
記有限状態機械作成方法の第2段階に戻って処理を続行
することにより、従来よりも状態遷移表のサイズが小さ
なパターン照合機械を、高速に作成することができる。
【0043】(有限状態機械変形方法)指定された内部
状態と外部入力とに関して有限状態機械を変形する際に
は、その第1段階では、図2の遷移先調査手段21が、
指定された前記内部状態<p,q>と、指定された前記
外部入力cとに対する前記成功関数g(<p,q>,
c)の値が定義されているかどうか調査して、既に定義
されている場合には、変形処理を終了する。
【0044】有限状態機械変形の第2段階では、失敗先
決定手段22が、指定された前記内部状態<p,q>
に、前記有限状態機械で定まっている失敗関数f(・)
を、関数値vに対して初めて成功関数g(v,c)が定
義されるまで、1回以上作用させた状態h=f(f(…
f(<p,q>)…))を求める。
【0045】有限状態機械変形の第3段階では、遷移先
決定手段23が、指定された内部状態<p,q>での、
指定された外部入力cに対する遷移先を、成功関数の値
として、g(<p,q>,c)=g(h,c)で算定し
て格納する。
【0046】有限状態機械変形の第4段階では、失敗定
義削除手段24が、g(<p,q>,c)の値の定義を
追加することによって、任意の外部入力xについて、成
功関数g(<p,q>,x)の値が定義される場合に
は、失敗関数f(<p,q>)の定義を取り消す。
【0047】有限状態機械変形の第5段階では、変形処
理を終了することによって、望みの状態遷移だけを、効
率よく、しかも有限状態機械の動作中に行なうことがで
きる。
【0048】(パターン照合機械変形方法)指定された
内部状態と外部入力とに関してパターン照合機械を変形
する際には、その第1段階では、図2の遷移先調査手段
21が、指定された内部状態<p,q>と指定された文
字cとに対する成功関数g(<p,r>,c)の値が定
義されているかどうか調査して、既に定義されている場
合には、変形処理を終了する。
【0049】パターン照合機械変形の第2段階では、失
敗先決定手段22が、指定された内部状態<p,r>
に、パターン照合機械で定まっている失敗関数f(・)
を、関数値vに対して初めて成功関数g(v,c)が定
義されるまで、1回以上作用させた状態h=f(f(…
f(<p,r>)…))を求める。
【0050】パターン照合機械変形の第3段階では、遷
移先決定手段23が、指定された前記内部状態<p,r
>での、指定された前記文字cに対する遷移先を、成功
関数の値として、g(<p,r>,c)=g(h,c)
で算定して格納する。
【0051】パターン照合機械変形の第4段階では、失
敗定義削除手段24が、g(<p,r>,c)の値の定
義を追加することによって、任意の文字xについて、成
功関数g(<p,r>,x)の値が定義される場合に
は、失敗関数f(<p,r>)の定義を取り消す。
【0052】パターン照合機械変形の第5段階では、変
形処理を終了することによって、望みの状態遷移だけ
を、効率よく、しかもパターン照合機械の動作中に行な
うことができる。
【0053】(有限状態機械作成方法)記憶容量の許す
限り高速動作が可能な有限状態機械の作成の際には、図
3の有限状態機械作成手段31が上記有限状態機械作成
方法を用いて決定性有限状態機械を作成した後、記憶領
域判定手段32が、決定性有限状態機械の状態遷移のた
めに確保している記憶領域が、予め定められた大きさ以
下であるかどうか調べ、記憶領域が、予め定められた大
きさ以下である限り、変形対象状態選択手段33が決定
性有限状態機械の初期状態から近い内部状態から順に、
変形対象状態を選択し、有限状態機械変形手段34が、
予め定められた外部入力の集合の各要素に対して上記有
限状態機械変形方法を用いて決定性有限状態機械を変形
する操作を繰り返して、最終的な有限状態機械を作成す
ることにより、与えられた記憶容量の範囲内で、統計的
に最高の動作を行なう前記決定性有限状態機械を系統的
に構成することができる。
【0054】(パターン照合機械作成方法)記憶容量の
許す限り高速動作が可能なパターン照合機械の作成の際
には、図4のパターン照合機械作成手段41が上記パタ
ーン照合機械作成方法を用いてパターン照合機械を作成
した後、記憶領域判定手段42が、パターン照合機械の
状態遷移のために確保している記憶領域が、予め定めら
れた大きさ以下であるかどうか調べ、記憶領域が、予め
定められた大きさ以下である限り、変形対象状態選択手
段43が、パターン照合機械の初期状態から近い内部状
態から順に、変形対象状態を選択し、パターン照合機械
変形手段44が、予め定められた文字集合の各要素に対
して上記パターン照合機械変形方法を用いてパターン照
合機械を変形する操作を繰り返して、最終的なパターン
照合機械を作成することによって、与えられた記憶容量
の範囲内で、統計的に最高の動作を行なうパターン照合
機械を系統的に構成することができる。
【0055】(有限状態機械駆動方法)有限状態機械の
動作中に、状態遷移の頻度を計測し、高頻度で状態遷移
する部分を変形して動作途中からの高速化を図る有限状
態機械の駆動の際には、まず、図5の有限状態機械作成
手段51が、上記有限状態機械作成方法を用いて決定性
有限状態機械を作成した後、有限状態機械駆動手段52
が、作成された決定性有限状態機械を駆動すると同時
に、失敗回数計数判定手段53が、決定性有限状態機械
の駆動開始から、決定性有限状態機械の各内部状態から
実際の外部入力によって次の内部状態に遷移する際の失
敗関数の適用回数を各々の外部入力と個々の外部入力毎
に記録し、特定の内部状態および特定の外部入力の組に
ついて、失敗回数が予め定められた回数に達したら、有
限状態機械駆動手段52が、一旦前記有限状態機械の駆
動動作を中断し、有限状態機械変形手段54に、当該内
部状態および当該外部入力を通知し、有限状態機械変形
手段54は、この組を上記有限状態機械変形方法を適用
して決定性有限状態機械を変形した後、有限状態機械駆
動手段52が中断していた動作を変形後の前記決定性有
限状態機械を用いて再開することによって、照合対象デ
ータ毎に最適な有限状態機械による高速な照合を行なう
ことができる。
【0056】(パターン照合機械駆動方法)パターン照
合機械の動作中に、状態遷移の頻度を計測し、高頻度で
状態遷移する部分を変形して動作途中からの高速化を図
るパターン照合機械の駆動の際には、まず、図6のパタ
ーン照合機械作成手段61が、上記パターン照合機械作
成方法を用いてパターン照合機械を作成した後、パター
ン照合機械駆動手段62が、作成されたパターン照合機
械を駆動すると同時に、失敗回数計数判定手段63が、
パターン照合機械の駆動開始から、パターン照合機械の
各内部状態から実際の文字によって次の内部状態に遷移
する際の失敗関数の適用回数を各々の内部状態と個々の
文字毎に記録し、特定の内部状態および特定の文字の組
について、失敗回数が予め定められた回数に達したら、
パターン照合機械駆動手段62が、一旦パターン照合動
作を中断し、パターン照合機械変形手段64に当該内部
状態および当該文字を通知し、パターン照合機械変形手
段64は、この組を対象として、上記パターン照合機械
変形方法を適用してパターン照合機械を変形した後、パ
ターン照合機械駆動手段62が中断していたパターン照
合動作を変形後のパターン照合機械を用いて再開するこ
とによって、照合対象データ毎に最適な有限状態機械に
よる高速な照合を行なうことができる。
【0057】
【実施例】以下、本発明の実施例について説明するが、
個別の実施例の説明に先立って、本発明の基本をなす以
下の事項について説明する。 1)失敗遷移付き有限状態機械とその作成方法および作
成方法の正当性 2)パターン照合のための上記有限状態機械の2段階に
わたる特殊化 3)失敗遷移付き有限状態機械およびパターン照合機械
の変形方法
【0058】本発明で用いる失敗遷移付き有限状態機械
(Finite state Machine wit
h Failure transitions、以下F
FMと略記する。)とは、失敗遷移付きMoore機械
(Moore machine with Failu
re transitions、以下FMOと略記す
る。)と失敗遷移付きMealy機械(MEaly m
achine withFailure transi
tions、以下FMEと略記する。)の総称とする。
FMO、FMEとは、次の7項組、 FMO=(S,Σ,Δ,g,f,μ,s) FME=(S,Σ,Δ,g,f,λ,s) のことである。ただし、各項は次のように定義する。 Sは、状態の有限集合、Σは、入力記号の有限集合、Δ
は、出力記号の有限集合、gは、成功関数で、S×Σか
らSへの部分関数、fは、失敗関数で、SからSへの部
分関数、μは、FMOの出力関数で、SからΔの部分集
合族への全域関数、λは、FMEの出力関数で、S×Σ
からΔの部分集合族への全域関数、sは、初期状態で、
Sの特定の要素、
【0059】FMO、FMEと、従来の決定性有限状態
機械である決定性Moore機械(DMO)、決定性M
ealy機械(DME)との違いは、状態遷移の方法の
みであり、DMO、DMEがともに現在の状態qと現在
の入力記号cによって次の状態を定める全域関数である
状態遷移関数δ(q,c)を用いて1ステップで状態遷
移を行なうのに対して、FMO、FMEでは、状態q
と、一部の限られた入力記号cとによって次の状態を定
める部分関数である成功関数g(q,c)と、成功関数
の値が定義されていない場合に、他の状態の状態遷移情
報を利用して遷移するために、利用する他の状態を指定
する失敗関数f(q)を用いた、以下のようなマルチス
テップの状態遷移を行なう。
【0060】1)現在の状態q∈Sおよび現在の入力記
号c∈Σに対して、成功関数g(q,c)が定義されて
いれば、次の状態をg(q,c)とし、状態遷移を完了
する。このとき、FMOではμ(q)を、FMEでは、
λ(q,c)を出力する。 2)g(q,c)が定義されていない場合には、状態q
を失敗関数の値f(q)で置き換えて、1)に戻って処
理を続行する。
【0061】上記の状態遷移処理は、成功関数と失敗関
数が部分関数で、しかも失敗関数の値域に制限がないた
め、一般のFMO、FMEでは、遷移先が定義されない
場合や、有限回で処理が終了しない場合が生ずる。
【0062】ある、FMOがΣ上の任意の入力系列に対
して、状態遷移動作が有限ステップで終了して遷移先が
求まるとき、そのFMOはwell−formedであ
ると呼ぶことにする。
【0063】FMEに関しても同様に、あるFMEがΣ
上の任意の入力系列に対して、状態遷移動作が有限ステ
ップで終了して遷移先が求まるとき、そのFMEはwe
ll−formedであると呼ぶことにする。
【0064】また、あるFMO(FME)とNMO(N
ME)とが、任意の入力記号系列に対し、同一の出力記
号系列を出力するとき、そしてそのときに限り、当該F
MO(FME)と、当該NMO(NME)とは等価であ
ると呼ぶことにする。
【0065】以下の議論はFMOに関するものに限定す
るが、FMEに関する議論も同様に進めることができる
事を注意しておく。
【0066】さて、上記定義の下で、与えられたNMO
に等価な、well−formedなFMOを作成する
基本作成法を以下に掲げる。ただし、NMOを(Q,
Σ,Δ,δ,λ,q0 )とし、作成すべきFMOを
(S,Σ,Δ,g,f,μ,s0 )とし、Sは{<p,
q>|q⊆Qかつp⊆qかつ(p≠φまたはp=q)}
の部分集合とする。
【0067】[作成方法1] 1)まず、集合Sを空とし、初期状態s0 を、s0 =<
{q0 },{q0 }>と定め、s0 を、処理済みの印の
付いていない要素としてSに追加する。また初期状態で
の出力をμ(s0 )={λ(q0 )}と定める。次にq
が空集合φである状態<φ,φ>を処理済みの印のつい
た要素としてSに追加し、この状態での任意の入力記号
cに対する成功関数の値を、g(<φ,φ>,c)=<
φ,φ>と定め、さらに<φ,φ>での出力値をμ(<
φ,φ>)=φと定める。
【0068】2)Sから処理済みの印の付いていない要
素<p,q>を1つ選択し、処理済みの印を付ける。も
し、Sの全ての要素に処理済みの印がついている場合に
は、処理を終了する。
【0069】3)式(1)となる各々の入力記号c∈Σ
に対して、状態<p,q>と入力記号cに対する成功関
数を、次式(2)で定める。
【0070】
【数1】
【0071】 g(<p,q>,c)=<x,y> ・・・(2) ただし、yは式(3)とし、xはyの空でない任意の部
分集合とする。
【0072】
【数2】 そしてもし、<x,y>がSの要素でない場合には、<
x,y>を、処理済みの印の付いていない要素としてS
に追加し、かつ<x,y>での出力の値を次式(4)で
定める。
【0073】
【数3】
【0074】4)式(5)となる入力記号c∈Σが存在
する場合には、状態<p,q>での失敗関数の値を次式
(6)で定める。
【0075】
【数4】
【0076】 f(<p,q>)=<z,q−p> ・・・(6) ただし、zには、q−pの部分集合を任意に選択する
が、q−p≠φの際には空でないものを選ぶものとす
る。そしてもし、<z,q−p>がSの要素でない場合
には、<z,q−p>を処理済みの印の付いていない要
素としてSに追加し、かつ<z,q−p>での出力の値
を次式(7)で定める。
【0077】
【数5】 5)2)に戻って処理を続ける。
【0078】作成方法1の正当性は、以下の2つの命題
が成立する事で理解することができる。 [命題1] 作成方法1は、well−formedな
FMOを作成する。 [命題2] 作成方法1が作成するFMOは、下のNM
Oと等価である。
【0079】[命題1の証明]作成方法1で作成したF
MOの任意の状態<p,q>からの状態遷移動作が有限
ステップで終了することを、集合qの要素数|q|に関
する帰納法で示す。 1° |q|=0であるFMOの状態は<φ,φ>のみ
であり、この場合には作成方法1のステップ2)によ
り、状態遷移動作は、任意の入力記号に対して1ステッ
プで終了し、題意が成り立つ。 2° |q|≦m(0≦mとする)である全ての状態に
ついて題意が成り立つと仮定すれば、|q|=m+1で
ある任意の状態<p,q>からの、入力記号cによる状
態遷移動作は、以下の2者のいずれかとなる。 a)作成方法1のステップ3)で定めた成功関数g(<
P,q>,c)によって1ステップで終了して、遷移先
が求まる。 b)作成方法1のステップ4)で定めた失敗関数の値で
ある状態<z,q−p>からの状態遷移動作に帰着す
る。
【0080】a)の場合には題意が成り立つ。b)の場
合は、次のように分類できる。 b1)p=qの場合 この場合には、f(<p,q>)=<φ,φ>となっ
て、上記1°に帰着し、題意が成り立つ。 b2)p≠qの場合 この場合には、p⊆qより、|q−p|<|q|=m+
1即ち|q−p|≦mが成り立ち、帰納法の仮定から、
f(<p,q>)からの状態遷移動作は有限ステップで
終了し、題意が成り立つ。 結局、|q|=m+1の任意の状態<p,q>について
題意が成り立つ。
【0081】上記1°,2°と、状態数が有限であるこ
とから、任意の状態<p,q>について題意が成り立
つ。(証明終わり)
【0082】次に、命題2を証明するためには、次の補
題が成り立つことを利用する。 [補題1]qx を、初期状態q0 のNMOに入力列xを
入力した時の状態集合とし、sx を、初期状態s0 のF
MOに入力列xを入力した時の状態とする。FMOは、
作成方法1によってNMOから構成されたものとする。
また、関数Qを次式(8)で定義する。 Q(<p,q>)≡q ・・・(8) このとき、任意の文字列xに対して、次式(9)が成り
立つ。 qx =Q(Sx ) ・・・(9)
【0083】補題1は、文字列xの長さ|x|に関する
帰納法を用いて容易に示すことができる。さて、この補
題1を用いると、命題2は、以下の様に証明できる。
【0084】[命題2の証明]補題1と、作成方法1の
ステップ3),4)より、初期状態から、任意の文字列
xを入力した時のNMO,FMOの最終出力は、
【0085】NMOでは、
【数6】
【0086】FMOでは、
【数7】 となり、作成方法1で構成したFMOは、任意の入力文
字列に対し、元のNMOと同一文字列を出力し、題意が
成り立つ(証明終わり)。
【0087】以上で、本発明の基本をなす新しい型の有
限状態機械の定義と、その作成方法および作成方法の正
当性の説明を終わる。
【0088】次に、パターン照合のための前記有限状態
機械の2段階にわたる特殊化について説明する。テキス
ト文字列を先頭から順次走査して、N個の正規表現Rj
(j=1,…,N)とのパターン照合を行ない、Rjと
の照合が成功した場合には、Dj(j=1,…,N)を
出力するFMOを構成するには、まず、 (Σ* / ε)((R1/D1)|( R2/D2)|・・・ | (R N/ D N))・・・(12) に対応するNMOを、Robinsonの構成法などの
既知の方法によって構成し、構成したNMOに対して、
作成方法1を適用すればよい。この中間構成物であるN
MOには、開始状態から任意の時刻で開始状態に戻る
「ループ」ができる点に注目すれば、状態集合を開始状
態s0 を「離れる」時刻で区分することによって、作成
方法1を変形した、以下のパターン照合用の失敗遷移付
き有限状態機械の構成法を得る。ただし、NMOを
(Q,Σ,Δ,δ,λ,q0 )とし、作成すべきFMO
を(S,Σ,Δ,g,f,μ,s0 )とし、Qの空でな
いN個の部分集合pj (j=1,…,N)の列<p1
…,pn >全体の作る集合の部分集合がSであるとす
る。
【0089】[作成方法2] 1)初期状態s0 として、<{q0 }>を選んでSに入
れるとともに、キューに入れる。また、初期状態での出
力μ(s0 )の値を{λ(q0 )}と定める。
【0090】2)もし、キューが空ならば、処理を終了
する。もし、キューが空でないなら、キューの先頭の要
素P≡<p1 ,…,pn >をキューから取り出す。
【0091】3)式(13)となる全ての文字c∈Σに
ついて、成功関数gを次のように定める。まず、n+1
個の集合x1 ,x2 ,…,xn ,xn+1 を次式(1
4),(15)で求める。
【0092】
【数8】
【0093】 x1 =p1 ・・・(14)
【数9】
【0094】次に、xi のうち、空集合でないものを、
添字の昇順に並べた列Y≡<y1 ,…,ym >を成功関
数g(P,c)の値とする。さらに、YがSに含まれて
いない場合には、YをSの要素に加えるとともにキュー
に入れ、Yでの出力を次式(16)で求める。
【0095】
【数10】
【0096】4)式(17)となる文字c∈Σが存在す
る場合には、失敗関数fを次式(18)で定める。
【0097】
【数11】
【0098】 f(p)=<p1 ,p2,・・・,p n-1 > ・・・(18)
【0099】5)ステップ2)に戻って処理を続ける。
【0100】上記の作成方法2では、キューの先頭から
取り出した要素Pの文字cによる遷移先Yは、xn+1
外の部分がp1 ,…,pn-1 のみによって定まる。従っ
て、もしR≡<p1 ,…,pn-1 >がSの要素で、Rで
の文字cによる遷移先がWならば、Pは<R,p>と書
け、Yは<W,y>と書けることになる。この性質を利
用して、作成方法2と等価で、より効率のよい、以下の
作成方法を得る。
【0101】ただし、NMOを(Q,Σ,Δ,δ,λ,
0 )とし、作成すべきFMOを(S,Σ,Δ,g,
f,μ,s0 )とし、Qの空でない部分集合pと、Sの
要素rの順序対R≡<p,r>全体の作る集合の部分集
合がSであるとする。また、R≡<p,r>の第1要素
p、第2要素rを得る関数を、それぞれp(R),r
(R)と書く。
【0102】[作成方法3] 1)初期状態s0 として、<{q0 },s0 >を選んで
Sに入れるとともに、キューに入れる。また、初期状態
での出力μ(s0 )の値を{λ(q0 )}と定める。
【0103】2)もし、キューが空ならば、処理を終了
する。もし、キューが空でないなら、キューの先頭の要
素Rをキューから取り出す。
【0104】3)式(19)となる全ての文字c∈Σに
ついて、成功関数gを次のように定める。まず、xを次
式(20)および(21)で求める。
【0105】
【数12】
【0106】 x=R(R=S0 の場合) ・・・(20) x=g( r(r(・・・r(R)・・・)))( R≠S0 の場合)・・・(21) ただし、関数 r(・) の適用は、g(・,c)が初
めて定義されるまで、1回以上続ける。次に、yを次式
(22)で求める。
【0107】
【数13】
【0108】yが空でない場合には、Y≡<y,x>を
成功関数g(R,c)の値とし、yが空集合の場合に
は、Y≡xを成功関数g(R,c)の値とする。さら
に、YがSに含まれていない場合には、YをSの要素に
加えるとともにキューに入れ、Yでの出力を次式(2
3)で定める。
【0109】
【数14】
【0110】4)式(19)となる文字c∈Σが存在す
る場合には、失敗関数fを、次式(24)で定める。 f(Y)=r(R) ・・・(24)
【0111】5)ステップ2)に戻って処理を続ける。
【0112】以上で、パターン照合のための前記有限状
態機械の2段階にわたる特殊化についての説明を終わ
る。
【0113】次に、失敗遷移付き有限状態機械およびパ
ターン照合機械の変形方法についての説明する。
【0114】まず、前記作成方法1で作成したFMOを
(S,Σ,Δ,g,f,μ,s0)とし、Sは{<p,
q>|q⊆Qかつp⊆qかつ(p≠φまたはp=q)}
の部分集合とする。このFMOの特定の状態 P≡<
p,q>からの、外部入力cでの遷移先が、必ず成功関
数g(<p,q>,c)で定義されるように、以下のよ
うにFMOを変形することが可能である。
【0115】[変形方法1] 1)もし、指定した状態<p,q>と、着目した外部入
力cについて、FMOの成功関数g(<p,q>,c)
が定義されていれば、処理を終了する。 2)着目する状態Pとして、新たにf(<p,q>)を
考える。 3)もし、着目した状態Pと、着目した外部入力cにつ
いて、FMOの成功関数g(P,c)が定義されていな
ければステップ2)に戻って処理を続行する。 4)状態<p,q>,外部入力cでの成功関数g(<
p,q>,c)の値を、g(P,c)と定義する。 5)もし上記のステップ4)により、任意の外部入力x
について、成功関数g(<p,q>,x)の値が定義さ
れるようになった場合には、失敗関数f(<p,q>)
の定義を取り消す。 6)処理を終了する。
【0116】前記作成方法3で作成したパターン照合用
のFMOについても、上と同様の方法で、指定した状態
からの指定した文字による遷移を成功関数による1段階
の動作で実行するように変形することができる。
【0117】しかも、この変形操作は、前記変形方法1
から容易にわかるように、局所的なものであり、FMO
全体の変形を伴わないため、高速に実行できる。さら
に、この変形操作は、FMOの動作時でも、状態遷移中
でなければ任意の時点で実行できるため、動作時中に必
要な部分だけを動的に変形し、外部入力にフィットした
FMOを構成することが可能になる。
【0118】以上で、失敗遷移付き有限状態機械および
パターン照合機械の変形方法についての説明を終わり、
個別の実施例の説明に移る。
【0119】(実施例1)以下、本発明の第1の実施例
について図面を参考にしながら説明する。図7は本発明
の有限状態機械作成方法を適用した製品自動検査システ
ムの一実施例を示す全体構成図である。
【0120】図7において、101は、ベルトコンベア
上を流れる製品の第1の特徴を調べて、0か1かのどち
らかの値を出力する第1のセンサ、102は、ベルトコ
ンベア上を流れる製品の第2の特徴を調べて、やはり0
か1かのどちらかの値を出力する第2のセンサ、103
はFMOを応用した電子回路による制御装置、404
は、検査の結果、良品と判定された製品に検査印を押す
捺印ロボット105は、制御装置103に供給するFM
Oのデータを外部機器からのNMOデータに基づいて作
成するFMO作成手段であり、図1に示した各手段を備
えている。
【0121】以上のような構成において、まず、FMO
作成手段105による、制御装置103に格納するFM
Oの作成方法を説明する。制御装置103の動作は、図
8のようなNMOで指定されているものとする。ただ
し、図8の状態S0 は個々の製品の検査を始める際の初
期状態であり、図8のNMOの現在の状態集合からの遷
移先が空集合になる(遷移先が1つも定義されていな
い。)入力の場合には、不良と判定して、次の製品の検
査に進み、2重丸の状態(S5 )に至った場合には、
(A)の動作、即ち良品と判定して製品に検査印を押す
ものとする。
【0122】また、外部入力は、第1のセンサ101か
らの値「1」の入力をA1で表し、第1のセンサ101
からの値「0」の入力をA0で表し、第2のセンサ10
2からの値「1」の入力をB1で表し、第2のセンサ1
02からの値「0」の入力をB0で表すものとする。実
際の入力は、この2つのセンサの入力の組み合わせであ
るから、「A1B0」のように表される。
【0123】さて、図8はNMOであるから、ある瞬間
に2つ以上の状態を取り得る。従って、そのまま電子回
路として実現することは得策ではないため、図8のNM
Oから本発明の作成方法(作成方法1)を用いて、FM
Oを作成する。
【0124】図9は、図8のNMOに本発明の作成方法
1を適用してFMOを作成する過程を示したものであ
る。図9において、遷移先が”−”になっている場合に
は、成功関数が定義されないことを、失敗関数の項目
が”−”になっている場合には、失敗関数が定義されな
いことを、それぞれ表す。
【0125】図10は、図9に従って作成されたFMO
を表した状態遷移グラフである。図10において、点線
のアークは、失敗関数による着目状態の移動を表す。図
10と図28とを比較すると、同一のNMOから作成さ
れた決定性のFMOでありながら、DMOでは、各状態
から必ず4種(入力の組み合わせ数)の遷移が定義され
ているのに対し、FMOでは、成功関数が部分関数であ
り、元のNMOの状態遷移関数と同程度の定義域をもつ
ことが見て取れる。
【0126】このようなDMOとFMOの間の「有効遷
移数」の差は、入力の組み合わせが本実施例よりも多い
場合、例えば、入力のセンサが2個ではなく10個ある
場合には、特に顕著になる。
【0127】従って、入力の組み合わせが多い場合に
は、FMOをプログラマブルICに実装する場合でも、
DMOの場合に比べて、極めて小型の回路規模のICで
実装できることになる。たとえば、積和型、即ち組み合
わせ回路がn本の入力線の信号レベルD1 ,D2 ,・・
・Dn とその反転値の2n個の信号から任意の信号をm
本選んで論理積をとるプログラム可能な部分(これを積
項線と呼ぶ)が一定個数配置され、出力は一定本数の積
項線の出力の論理和で定まるタイプのPALと呼ばれる
プログラマブルICの場合には、FMOを実装するほう
が、DMOを実装するよりも積項線の本数が少ないIC
で済む。
【0128】(実施例2)次に、本発明の第2の実施例
について図面を参照しながら説明する。図11は本発明
の有限状態機械作成方法を適用した製品自動検査システ
ムの一実施例を示す全体構成図である。
【0129】図11において、501は、ベルトコンベ
ア上を流れる製品の第1の特徴を調べて、0か1かのど
ちらかの値を出力する第1のセンサ、502は、ベルト
コンベア上を流れる製品の第2の特徴を調べて、やはり
0か1かのどちらかの値を出力する第2のセンサ、50
3はFMOを応用した専用電子回路による制御装置、5
04は、検査の結果、良品と判定された製品に検査印を
押す捺印ロボット、505は、制御装置503に供給す
るFMOのデータを外部機器からのNMOデータに基づ
いて作成するFMO作成手段、506は、FMO作成手
段505の作成したFMOを、制御装置503の記憶容
量に余裕がある限り変形して、状態遷移を成功関数の適
用による1段階の動作に置き換えるFMO変形手段であ
り、図2に示した各手段を備えている。ただし、FMO
変形手段506は、作成・変形したFMOが制御装置5
03に格納できる限り、初期状態に近い状態から順に、
FMOの失敗遷移を取り除いていく、図3で説明した作
成方法を採用しているものとする。
【0130】以上の構成は、FMO変形手段506以外
は図1と同一であり、FMO作成手段505が作成した
FMOをそのまま用いるか、変形して用いるかが異な
る。
【0131】制御装置503の動作は、図8のNMOで
指定されているものとすると、FMO変形手段506
は、上記の実施例と同一の作成処理を行ない、図10の
FMOを作成する。このFMOがFMO変形手段506
に送られる。今、制御装置503は、状態遷移表を、成
功関数については、(始点、終点、外部入力)の3つ組
の集合の形で、失敗関数については、(始点、終点)の
組の集合の形で、それぞれ記憶するものとし、成功関数
の3つ組を1個記憶する毎に3語の記憶容量を消費し、
失敗関数の組を1個記憶する毎に、2語の記憶容量を消
費するこのとする。そして、制御装置503全体では、
100語分の記憶容量があるものとする。またFMO変
形手段506は、このような制御装置503の記憶装置
の消費の仕方および記憶容量の限界を知っているものと
する。
【0132】図10のFMOを受け取ったFMO変形手
段506は、まず、図10のFMOをそのまま格納した
場合の記憶容量を算出する。図10のFMOには、20
個の成功関数の3つ組と、11個の失敗関数の組がある
ので、20*3+11*2で合計82語分の記憶容量を
消費し、あと18語分の余裕があることがわかるので、
FMOの初期状態から順に、失敗遷移を消去する処理に
入る。
【0133】まず、初期状態t0 と、4通りの外部入力
について、特許請求の範囲の請求項6に記載された有限
状態機械変形方法を順に適用する。
【0134】外部入力「A0B1」、および「A1B
0」については、状態t0 での成功関数がすでに定義さ
れているため、変形処理は第1段階で中止される。
【0135】外部入力「A0B0」および「A1B1」
については、f(t0 )の値がt3であることから、h
の値はともにt3 となり、しかも、状態t3 では「A0
B0」および「A1B1」に対する成功関数の値がとも
にt3 であると定義されているで、状態t0 での成功関
数の値は、 g(t0 ,”A0B0”)≡t3 g(t0 ,”A1B1”)≡t3 と定義すればよいことになる。
【0136】そして、状態t0 でのすべての外部入力に
対して成功関数が定義されたので、状態t0 での失敗関
数の定義は取り除いてもよいことになる。
【0137】もし、この変形を実際に図10のFMOに
加えると、図10のFMOよりも2*3−1*2=4語
分の記憶容量を余分に消費することになるが、制御装置
503には、18語分の余裕があるので、この変形は実
行され、図12のようなFMOとなる。
【0138】次に、図12のFMOに対して、初期状態
0 に最も近い、即ち、初期状態から最も少ない回数の
状態遷移で到達できる状態が1つ選択される。図12の
FMOの場合には、状態t1 とt2 とt3 の3つが、1
回の状態遷移で到達できる。そこで、そのうちの1つt
1 が選ばれるとする。
【0139】外部入力「A1B0」については、状態t
1 での成功関数の値がすでに定義されているため、変形
処理は第1段階で中止される。
【0140】外部入力「A1B0」および「A1B1」
については、f(t1 )の値がt2で、状態t2 での成
功関数が、ともにt5 であると定義されている。従っ
て、状態t1 での成功関数の値は、 g(t1 ,”A1B0”)≡t5 g(t1 ,”A1B1”)≡t5 と定義すればよいことになる。
【0141】また、外部入力「A0B0」については、
f(t1 )の値がt2 で、状態t2での成功関数が、定
義されていないので、もう一度失敗関数を適用すると、
f(f(t1 ))=f(t2 )=t3 となり、状態t3
では、外部入力「A0B0」に対する成功関数が定義さ
れているので、状態t1 での成功関数の値は、 g(t1 ,”A0B0”)≡t3 と定義すればよいことになる。そして、状態t1 でのす
べての外部入力に対して成功関数が定義されたので、状
態t1 での失敗関数の定義は取り除いてもよいことにな
る。
【0142】もし、この変形を実際に図12のFMOに
加えると、図12のFMOよりも3*3−1*2=7語
分の記憶容量を余分に消費することになるが、制御装置
503には、14語分の余裕があるので、この変形は実
行され、図7のようなFMOとなる。
【0143】次に、図13のFMOに対して、状態t2
についての変形操作が、同様にして実行され、図14の
FMOとなる。このとき、2*3−1*2=4語分の記
憶容量の増加があり、余裕は3語分となる。続いて、図
14のFMOに対してt3 に関する変形を試みるが、状
態t3 は、すでにすべての外部入力に関して、成功関数
の値が定義されているので、FMOの形は変化しない。
【0144】ここまでの変形操作で、初期状態t0
ら、1回の状態遷移で到達できるすべての状態が変形で
きたので、次は、状態遷移2回で到達できる状態を対象
にする。このような状態としては、図14のt4 、t5
がある。ところが、状態t4 を変形しようとすると、3
*3−1*2=7語分の記憶容量の増加になり、状態t
5 を変形しようとすると、2*3−1*2=4語分の記
憶容量の増加になり、ともに、制御装置503の余裕分
の3語を越えてしまう。従って、この段階で変形処理が
終了し、図14のFMO(97語分の容量)が、制御装
置503に送られ、実際の製品検査処理が開始される。
【0145】このような変形操作によって、制御装置の
記憶容量の許す限りの、最も高速なFMOを、元のFM
Oからの局所的変形操作によって作成できる。
【0146】図5で説明した有限状態機械駆動方法も、
上述の変形方法と同様して行なわれるだが、有限状態機
械の駆動中に変形操作を段階的に行なう点と、変形対象
がある状態からの遷移すべてではなく、ある状態から
の、ある特定の外部入力に対する遷移である点、変形対
象の選択を、初期状態からの到達に必要な状態遷移回数
の少なさではなく、ある遷移が有限状態機械の駆動中
に、何回行なわれたかによって定める点の3点が異なっ
ている。
【0147】例えば、図10のFMOで製品検査を実行
中に、「A0B1」、「A1B0」、「A1B1」とい
う外部入力の系列が特に多く、予め設定された回数に達
したとすると、対応する状態遷移t0 →t1 →t4 →t
10のうちで、失敗関数の適用を含む状態遷移t4 →t10
の変形が試みられ、成功関数 g(t4 ,”A1B1”)≡t10 が、図10のFMOに追加されることになり、以降の製
品検査の実行が高速化される。
【0148】(実施例3)次に、本発明の第3の実施例
について図面を参考にしながら説明する。図15は、本
発明のパターン照合機械作成方法を適用した文書検索装
置の一部であるパターン照合装置の一実施例を示す全体
構成図である。
【0149】図15において、901は、文字を表す文
字番号の列からなる入力文書を格納し1文字ずつ読み出
すことのできる入力文書メモリ、902は、FMOの成
功関数の値を、状態番号と文字番号で検索可能な表とし
てメモリに格納した成功関数メモリ、903は、FMO
の失敗関数の値を状態番号で検索可能な表としてメモリ
に格納した失敗関数メモリ、904は、成功関数メモリ
902および失敗関数メモリ903の出力する状態番号
を記録する状態番号記録回路、905は、状態番号記録
回路904の出力する状態番号から、必要な外部動作の
番号を求める動作番号表メモリ、906は、成功関数メ
モリ902、失敗関数メモリ903および動作番号表メ
モリ904に供給するFMOのデータを、外部機器から
のNMOデータに基づいて作成するFMO作成手段であ
り、図1に示した各手段を備えている。
【0150】以上の構成において、以下その動作につい
て説明する。まず、照合動作に先立って、外部からFM
O作成手段906に、検索したい文字列の集団と、検索
成功時の動作を表す正規変換から作成したNMOを入力
して、FMOを作成し、作成したFMOのデータを、成
功関数メモリ902、失敗関数メモリ903および動作
番号表メモリ904に格納する。
【0151】次に、入力文書メモリ901を初期化し
て、入力文書データを格納し、入力文書の着目文字を文
書の先頭にセットする。同時に、状態番号記録回路90
4を初期化して、現在の状態番号を特別な値、例えば0
にセットする。以上で初期化動作が終了し、照合動作の
本体に進む。
【0152】次に、状態番号記録回路904の出力する
「現在の状態番号」と、入力文書メモリ901が出力す
る「着目する文字の文字番号」とを組み合わせた番号で
成功関数メモリ902を検索する。成功関数メモリ90
2から、有効な状態番号が出力された場合には、その出
力値を、次の状態の状態番号として状態番号記録回路9
04に記録する。
【0153】一方、成功関数メモリ902から有効な状
態番号が出力されない場合、即ち予め定められた無効な
番号が出力された場合には、失敗関数メモリ903の出
力値を、状態番号記録回路904に記録し、状態番号記
録回路904の新たな出力を用いて、着目文字を動かさ
ずに、再び成功関数メモリ902、失敗関数メモリ90
3を参照する状態遷移動作を、成功関数メモリ902か
ら有効な状態番号が出力されるまで続け、1回の状態遷
移を終了する。
【0154】成功関数メモリ902は、例えば連想メモ
リで構成し、現在の状態番号と、入力文書中の文字の現
在着目している文字番号とをつなげた番号で連想検索す
ればよく、失敗関数メモリ903および動作番号表メモ
リ905は、通常のランダムアクセスメモリで構成すれ
ばよい。
【0155】そして、記録した状態番号で動作番号表メ
モリ905の表を引き、その動作番号の値に応じて、文
書検索装置の他の部分が種々の動作、例えば「入力文書
メモリ901が現在着目している文字の文書中での位置
を記録する」などの動作を行なう。
【0156】その後、入力文書格納メモリ901の「入
力文書の着目位置」が1文字だけ末尾方向にずらされ
る。この、「現在の状態と着目文字とから次の状態を求
めて、状態に応じた動作を行なった後、次の文字に着目
する」という動作を、動作番号が「動作停止」になる
か、あるいは入力文書の最終文字に到達するか、のどち
らかの条件が満たされるまで繰り返すことにより、入力
文書の照合が完了する。
【0157】成功関数メモリ902、失敗関数メモリ9
03および動作番号表メモリ905には、例えば図16
のような正規変換によって指定された照合条件を元にし
て算出したパターン照合機械の状態遷移表が格納される
ことになる。
【0158】図17は、図16の正規変換からRobi
nsonの方法を用いて作成したNMOの状態遷移表、
図18は図17のNMOの状態遷移グラフである。図1
7において、state項目はNMOの状態番号を表
し、output項目はNMOの出力記号を表し、a,
b,c,dの各項目は、それぞれの文字での遷移先の状
態集合を表し、$項目は、入力文字セット中の、a,
b,c,d以外の文字を便宜上1文字で代表する仮想的
な文字”$”での遷移先の状態集合を表す。
【0159】このNMOデータが、FMO作成手段90
6に送られ、本発明によるパターン照合機械作成方法を
用いてFMOが作成される。図19は、図18のNMO
に本発明によるパターン照合機械作成方法である、実施
例記載の「作成方法3」を適用してFMOを構成する過
程を示し、図20は作成結果の状態遷移表を示す図、図
21は作成したFMOの状態遷移グラフである。
【0160】図19において、 FMO_state(i):<{q1,…,qm},s
> とあるのは、作成すべきFMOの状態番号がi番の状態
が、NMOのm個の状態q1,q2,・・・qmを要素
に持つ状態集合と、すでに構成したFMOの部分に含ま
れる、s番の状態の組に対応することを表す。
【0161】FMO_goto(<{q1,…,q
m},s>,”x”)=<{p1,…,pn},t>
(j) とあるのは、作成すべきFMOの、状態<{q1,…,
qm},s>での、文字”x”での遷移先が、状態 <
{p1,…,pn},t> に対応し、その状態番号が
j番であることを表す。
【0162】NMO_goto({q1,…,q
m},”x”)={p1,…,pn} とあるのは、元のNMOの状態集合{q1,…,qm}
からの、文字”x”での遷移先が、状態集合{p1,
…,pn}であることを表す。
【0163】FMO_fail(<{q1,…,q
m},s>,”x”)=<{p1,…,pn},t> とあるのは、FMOの状態<{q1,…,qm},s>
の、文字”x”での成功関数が定義されないので、失敗
関数の値を<{p1,…,pn},t>と定義すること
を表す。
【0164】また、図20において、state項目は
FMOの状態番号を表し、output項目はFMOの
出力記号集合を表し、a,b,c,dの各項目は、それ
ぞれの文字での遷移先の状態番号を表し、$項目は、入
力文字セット中の、a,b,c,d以外の文字を便宜上
1文字で代表する仮想的な文字”$”での遷移先の状態
番号を表し、fail項目は、失敗関数の値を表し、最
終行のTotal xx Arcsは、作成されたFM
Oに、(遷移元も遷移先も同一の遷移を1遷移と数えた
場合に)xx個の遷移が存在することを表す。
【0165】図20のFMOと、同一のNMOから従来
の方法で構成された図32のDMOとを比べると、状態
数が等しく、1状態あたりの状態遷移のためのデータ
量、即ち成功関数の定義された箇所+失敗関数の定義
が、図32のDMOに比べて大幅に少ないことが見て取
れる。
【0166】このことは、図16の正規変換を、n個の
ORでつないだ図32のような正規変換を照合条件とし
て考えるとき、より顕著になる。
【0167】図23は、図22の正規変換から、従来の
方法および本発明の方法によって、それぞれDMO及び
FMOを作成した場合の、1状態あたりのアーク数のグ
ラフである。図22の正規変換の場合には、同一の正規
変換に対するDMOの状態数とFMOの状態数は、任意
のnについて一致することが示せる。ただし、DMOの
アーク数は、着目した状態から、各文字での遷移は、原
則として別々の遷移と考えるが、例外的に、文字「$」
での遷移と同一の遷移先を持つ遷移は、1個の遷移であ
ると考えた。また、FMOのアーク数は、成功関数の定
義されている箇所の数と、失敗関数の定義されている箇
所の数の合計で計算した。このことは、DMOについて
は、かなり有利に(過小評価ぎみに)評価したことにな
る。
【0168】それでも、図23を見ると、複数のキーワ
ード間に文字の重複のある、なしに関わらず、FMOの
方はキーワード数の増加に伴う1状態当たりのアーク数
の増加はわずかであり、失敗関数のデータを差し引く
と、成功関数の値は、1状態あたり、1〜3個しか定義
されていないのに対し、DMOの方は、キーワード数の
増加に伴って、1状態当たりのアーク数が線形に増加し
ており、過小評価しても、データ量のオーダがFMOの
場合に比べて、「n」だけ多いことが分かる。
【0169】また、ここには掲げないが、DMO、FM
Oの作成時間も、DMOの作成時間の方が、FMOの作
成時間に比べてオーダ「n」だけ多くなる。このこと
は、1つの遷移を構成する計算量がFMO作成時と、D
MO作成時でオーダに差が無いことを考慮すれば、ほぼ
明らかであろう。
【0170】以上の説明から、本発明によるパターン照
合機械作成方法が、従来の作成方法に比べ、状態遷移表
のサイズの小さいパターン照合機械を、短時間で作成で
きることが理解できる。
【0171】(実施例4)次に、本発明の第4の実施例
について図面を参考にしながら説明する。図24は、本
発明のパターン照合機械作成方法を適用した文書検索装
置の一部であるパターン照合装置の一実施例を示す全体
構成図である。
【0172】図24において、1801は、文字を表す
文字番号の列からなる入力文書を格納して1文字ずつ読
み出すことのできる入力文書メモリ、1802は、FM
Oの成功関数の値を状態番号と文字番号で検索可能な表
としてメモリに格納した成功関数メモリ、1803は、
FMOの失敗関数の値を状態番号で検索可能な表として
メモリに格納した失敗関数メモリ、1804は、成功関
数メモリ1802および失敗関数メモリ1803の出力
する状態番号を記録する状態番号記録回路、1805
は、状態番号記録回路1804の出力する状態番号か
ら、必要な外部動作の番号を求める動作番号表メモリ、
1806は、成功関数メモリ1802、失敗関数メモリ
1803および動作番号表メモリ1804に供給するF
MOのデータを外部機器からのNMOデータに基づいて
作成するFMO作成手段、1807は、FMO作成手段
1806の作成したFMOを、成功関数メモリ1802
の記憶容量に余裕がある限り変形して、状態遷移を成功
関数の適用による1段階の動作に置き換えるFMO変形
手段であり、図2に示した各手段を備えている。ただ
し、FMO変形手段1807は、作成・変形したFMO
が成功関数メモリ1802に格納できる限り、初期状態
に近い状態から順に、パターン照合機械の失敗遷移を取
り除いていく、図4で説明した作成方法を採用している
ものとする。
【0173】以上の構成は、FMO変形手段1807以
外は図15と同一であり、FMO作成手段1806が作
成したFMOをそのまま用いるか、変形して用いるかが
異なる。従って、その動作も、照合動作に先立って外部
からFMO作成手段1806に検索したい文字列の集団
と、検索成功時の動作を表す正規変換から作成したNM
Oを入力してFMOを作成し、作成したFMOのデータ
をFMO変形手段1807に渡して変形し、変形結果を
成功関数メモリ1802、失敗関数メモリ1803およ
び動作番号表メモリ1805に格納する以外の部分は実
施例3と同一となる。
【0174】そこで、以下、図17のNMOが外部から
照合条件として指定された場合のFMO変形手段180
7の動作を説明する。まず、NMOデータがFMO作成
手段1806に送られ、本発明によるパターン照合機械
作成方法を用いて、図21のようなFMOが作成され
る。
【0175】このFMOがFMO変形手段1807に送
られると、成功関数メモリ1802は、個々の関数値を
(始点、終点、外部入力)の3つ組の集合の形で記憶す
るものとし、成功関数の3つ組を1個記憶する毎に3語
の記憶容量を消費するものとする。そして、成功関数メ
モリ1802全体では、100語分の記憶容量があるも
のとする。FMO変形手段1707は、このような成功
関数メモリ1802の記憶容量の限界を知っているもの
とする。
【0176】そこで、図21のFMOを受け取ったFM
O変形手段1807は、まず、図21のFMOをそのま
ま格納した場合の記憶容量を算出する。図21のFMO
を記憶するには、30個の成功関数の3つ組が必要なの
で、30*3で合計90語分の記憶容量を消費し、あと
10語分の余裕があることがわかるので、FMOの初期
状態から順に、失敗遷移を消去する処理に入る。
【0177】まず、初期状態t1 について、図2で説明
したパターン照合機械変形方法を適用するが、初期状態
1 は、すでに、全ての文字について、成功関数の値が
定義されているため、変形処理は第1段階で中止され
る。
【0178】次に、図21のFMOに対して、初期状態
1 に最も近い、即ち、初期状態から最も少ない回数の
状態遷移で到達できる状態が1つ選択される。図21の
FMOの場合には、状態t2 とt3 の2つが、1回の状
態遷移で到達できる。そこで、そのうちの1つt2 が選
ばれるとする。
【0179】文字「b」については、状態t2 での成功
関数の値がすでに定義されているため、変形処理は第1
段階で中止される。
【0180】文字「c」、「d」および「$」(その他
の文字全て)については、f(t2)の値がt1 で、状
態t1 での成功関数が、ともにt2 であると定義されて
いる。従って、状態t2での成功関数の値は、 g(t2 ,”c”)≡t2 g(t2 ,”d”)≡t2 g(t2 ,”$”)≡t2 と定義すればよいことになる。
【0181】また、文字「a」については、f(t2
の値がt1 で、状態t1 での成功関数が、t3 であると
定義されているので、状態t2 での成功関数の値は、 g(t2 ,”a”)≡t3 と定義すればよいことになる。そして、状態t2 でのす
べての文字に対して成功関数が定義されたので、状態t
2 での失敗関数の定義は取り除いてもよいことになる。
【0182】もし、この変形を実際に図21のFMOに
加えると、図21のFMOよりも3*3=9語分の記憶
容量を余分に消費することになるが、成功関数メモリ1
802には、10語分の余裕があるので、この変形は実
行され、図25のようなFMOとなる。
【0183】次に、図25のFMOに対して、状態t3
についての変形操作を試みるが、状態t3 では、すでに
すべての文字について成功関数が定義されているので、
変形操作は第1段階で中止される。
【0184】続いて、図25のFMOに対してt4 に関
する変形を試みるが、成功関数メモリ1802の余裕が
あと1語分しかなく、変形操作が失敗する。
【0185】従って、この段階で変形処理が終了し、図
25のFMO(99語分の容量)が、成功関数メモリ1
802、失敗関数メモリ1803および動作番号表メモ
リ1805に送られ、パターン照合処理が開始される。
【0186】このような変形操作によって、成功関数メ
モリ1802の記憶容量の許す限りの、最も高速なパタ
ーン照合機械を、元のFMOからの局所的変形操作によ
って作成できる。
【0187】図6で説明したパターン照合機械駆動方法
における変形操作も、上述の変形方法における変形操作
と同様だが、パターン照合機械の駆動中に変形操作を段
階的に行なう点と、変形対象がある状態からの遷移すべ
てではなく、ある状態からの、ある特定の文字での遷移
である点、変形対象の選択を、初期状態からの到達に必
要な状態遷移回数の少なさではなく、ある遷移が有限状
態機械の駆動中に、何回行なわれたかによって定める点
の、3点が異なっている。
【0188】例えば、図21のFMOでパターン照合を
実行中に、「bbb」という文字列が特に多く、予め設
定された回数に達したとすると、対応する状態遷移t1
→t 2 →t4 →t4 のうちで、失敗関数の適用を含む状
態遷移t4 →t40の変形が試みられ、成功関数、 g(t4 ,”b”)≡t4 が、図21のFMOに追加されることになり、以降のパ
ターン照合の実行が高速化される。
【0189】
【発明の効果】以上のように、本発明による有限状態機
械作成方法を用いることによって、従来の決定性有限状
態機械作成方法よりも状態遷移表のサイズが小さい「失
敗遷移付き有限状態機械」を、従来の作成方法よりも高
速に作成できるという効果がある。この効果は、変形対
象の非決定性有限状態機械が、多数のOR(選言)を含
んでいる場合に、特に顕著になる。
【0190】また、本発明によるパターン照合機械作成
方法を用いることによって、従来のパターン照合機械作
成方法よりも状態遷移表のサイズが小さい「失敗遷移付
きパターン照合機械」を、従来の作成方法よりも高速に
作成できるという効果がある。この効果は、変形対象の
非決定性有限状態機械が、多数のOR(選言)を含んで
いる場合に、特に顕著になる。
【0191】また、本発明による有限状態機械変形方法
を用いることによって、指定された内部状態と外部入力
とに関して有限状態機械を変形する際には、望みの状態
遷移だけを、効率よく、しかも有限状態機械の動作中に
行なうことができ、記憶容量の許す限り高速動作が可能
な決定性有限状態機械の作成の際には、与えられた記憶
容量の範囲内で、統計的に最高の動作を行なう決定性有
限状態機械を系統的に構成することができる。
【0192】また、本発明によるパターン照合機械変形
方法を用いることによって、パターン照合機械作成の際
には、従来よりも状態遷移表のサイズが小さなパターン
照合機械を、高速に作成することができ、指定された内
部状態と外部入力とに関してパターン照合機械を変形す
る際には、望みの状態遷移だけを、効率よくしかもパタ
ーン照合機械の動作中に行なうことができ、記憶容量の
許す限り高速動作が可能なパターン照合機械の作成の際
には、与えられた記憶容量の範囲内で、統計的に最高の
動作を行なうパターン照合機械を系統的に構成すること
ができるという効果がある。
【0193】また、本発明による有限状態機械駆動方法
を用いることによって、有限状態機械の動作中に、状態
遷移の頻度を計測し、高頻度で状態遷移する部分を変形
して動作途中からの高速化を図る有限状態機械の駆動と
変形を行なって、照合対象データ毎に最適な有限状態機
械による高速な照合を行なうことができる。
【0194】また、本発明によるパターン照合機械駆動
方法を用いることによって、パターン照合機械の動作中
に、状態遷移の頻度を計測し、高頻度で状態遷移する部
分を変形して動作途中からの高速化を図るパターン照合
機械の駆動と変形を行なって、照合対象データ毎に最適
な有限状態機械による高速な照合を行なうことができる
という効果がある。
【図面の簡単な説明】
【図1】本発明の有限状態機械作成方法およびパターン
照合機械作成方法の概念を説明するためのブロック図
【図2】本発明の有限状態機械変形方法およびパターン
照合機械変形方法の概念を説明するためのブロック図
【図3】本発明の別の有限状態機械作成方法の概念を説
明するためのブロック図
【図4】本発明の別のパターン照合機械作成方法の概念
を説明するためのブロック図
【図5】本発明の有限状態機駆動成方法の概念を説明す
るためのブロック図
【図6】本発明のパターン照合機械駆動方法の概念を説
明するためのブロック図
【図7】本発明の第1の実施例における製品自動検査装
置の全体を示すブロック図
【図8】制御動作を指定するNMOの状態遷移図
【図9】NMOからFMOを作成する過程を示す一覧図
【図10】作成されたFMOの状態遷移図
【図11】本発明の第2の実施例における製品自動検査
装置の全体構成を示すブロック図
【図12】変形されたFMOの状態遷移図
【図13】変形されたFMOの状態遷移図
【図14】変形されたFMOの状態遷移図
【図15】本発明の第3の実施例におけるパターン照合
装置の全体構成を示すブロック図
【図16】正規変換の例を示す一覧図
【図17】パターン照合装置に与えるNMOの状態遷移
一覧図
【図18】パターン照合装置に与えるNMOの状態遷移
【図19】NMOからFMOを作成する過程を示す一覧
【図20】作成されたFMOの状態遷移一覧図
【図21】作成されたFMOの状態遷移図
【図22】一連の正規変換の例を示す一覧図
【図23】キーワード数の増加に伴う1状態当たりの平
均アーク数の変化を表すグラフ
【図24】本発明の第4の実施例におけるパターン照合
装置の全体構成を示すブロック図
【図25】変形されたFMOの状態遷移図
【図26】従来の製品自動検査装置の全体構成を示すブ
ロック図
【図27】(a)NMOの状態遷移図 (b)NMOからDMOを作成する過程を示す一覧図
【図28】作成されたDMOの状態遷移図
【図29】従来のパターン照合装置の全体構成を示すブ
ロック図
【図30】NMOの状態遷移一覧図
【図31】NMOからDMOを作成する過程を示す一覧
【図32】作成されたDMOの状態遷移一覧図
【図33】作成されたDMOの状態遷移図
【符号の説明】
10 有限状態機械作成方法(パターン照合機械作成方
法) 11 初期状態生成手段 12 未処理要素選択手段 13 成功関数値算定格納手段 14 失敗関数値算定格納手段 15 出力関数値算定格納手段 16 要素追加格納手段 20 有限状態機械変形方法(パターン照合機械作成方
法) 21 遷移先調査手段 22 失敗先決定手段 23 遷移先決定格納手段 24 失敗定義削除手段 30 有限状態機械作成方法 31 有限状態機械作成手段 32 記憶領域判定手段 33 変形対象状態選択手段 34 有限状態機械変形手段 40 パターン照合機械作成方法 41 パターン照合機械作成手段 42 記憶領域判定手段 43 変形対象状態選択手段 44 パターン照合機械変形手段 50 有限状態機械駆動方法 51 有限状態機械作成手段 52 有限状態機械駆動手段 53 失敗回数計数判定手段 54 有限状態機械変形手段 60 パターン照合機械駆動方法 61 パターン照合機械作成手段 62 パターン照合機械駆動手段 63 失敗回数計数判定手段 64 パターン照合機械変形手段 101 第1のセンサ 102 第2のセンサ 103 制御装置 104 捺印ロボット 105 FMO作成手段 231 入力文書メモリ 232 状態番号表メモリ 233 状態番号記録回路 234 動作番号表メモリ 235 DMO作成手段 501 第1のセンサ 502 第2のセンサ 503 制御装置 504 捺印ロボット 505 FMO作成手段 506 FMO変形手段 901 入力文書メモリ 902 成功関数メモリ 903 失敗関数メモリ 904 状態番号記録回路 905 動作番号表メモリ 906 FMO作成手段 1801 入力文書メモリ 1802 成功関数メモリ 1803 失敗関数メモリ 1804 状態番号記録回路 1805 動作番号表メモリ 1806 FMO作成手段 1807 FMO変形手段

Claims (11)

    (57)【特許請求の範囲】
  1. 【請求項1】 取り得る内部状態の種類が有限個で、外
    部からの入力と現在の内部状態との組み合わせによっ
    て、次の内部状態および出力が、成功関数g(s,
    c)、失敗関数f(s)、出力関数λ(s)とを用い
    て、 1)現在の状態sおよび現在の入力cに対して、g
    (s,c)が定義されている場合には、次の状態をg
    (s,c)とし、λ(s )を出力する。 2)現在の状態sおよび現在の入力cに対して、g
    (s,c)が定義されていない場合には、f(s)の値
    を新たなsとおいて、1)に戻り、処理を続行する。 という処理によって一意的に定まる決定性有限状態機械
    を作成する方法であって、 初期状態生成手段と、未処理要素選択手段と、成功関数
    値算定格納手段と、失敗関数値算定格納手段と、出力関
    数値算定格納手段と、要素追加格納手段とを備え、次の
    内部状態および出力の指定の形式が、複数個の内部状態
    を同時に取り得る非決定性有限状態機械または前記非決
    定性有限状態機械と等価で、前記非決定性有限状態機械
    に変換可能なパターン表現であり、前記非決定性有限状
    態機械の状態の集合qと、qの部分集合pの組<p,q
    >を前記決定性有限状態機械の内部状態と見なし、 前記決定性有限状態機械作成の第1段階では、前記初期
    状態生成手段が、前記決定性有限状態機械作成の初期状
    態を前記非決定性有限状態機械の初期状態sを用いて、
    <{s},{s}>と定めて、未処理の要素として前記
    要素追加格納手段に送って要素集合に加えるとともに、
    初期状態での前記決定性有限状態機械の出力を、前記非
    決定性有限状態機械のsでの出力のみからなる集合と定
    めて、前記出力関数値算定格納手段に送って格納し、さ
    らに空集合φの組<φ,φ>を処理済の要素として、前
    記要素追加格納手段に送って格納するとともに<φ,φ
    >での出力関数の値λ(<φ,φ>)を空集合φと定め
    て前記出力関数値算定格納手段に送って格納するととも
    に、任意の外部入力cに対する成功関数g(<φ,φ
    >,c)の値を<φ,φ>と算定して、前記成功関数値
    算定格納手段に送って格納し、 前記決定性有限状態機械作成の第2段階では、前記要素
    集合中に未処理の要素がなければ、前記未処理要素選択
    手段がこれを検出して有限状態機械作成を終了し、前記
    要素集合中に、未処理要素が含まれていれば、前記未処
    理要素選択手段が前記要素集合から、任意の算法によっ
    て未処理要素<p,q>を1つ選択するとともに前記未
    処理要素<p,q>を処理済の要素に変更し、 前記決定性有限状態機械作成の第3段階では、前記前記
    決定性有限状態機械作成の第2段階で選択した要素<
    p,q>の第1成分である前記非決定性有限状態機械の
    状態集合pのいずれかの要素について、前記非決定性有
    限状態機械の次の内部状態が定義されている外部からの
    入力cがあれば、前記成功関数値算定格納手段が、cに
    対する成功関数g(<p,q>,c)の値<x,y>
    を、yの値として、前記非定性有限状態機械の、外部か
    らの入力がcで現在の状態がpの要素である場合の前記
    非決定性有限状態機械の次の内部状態の和集合を選び、
    xの値としてyの値そのもの、あるいはyの値の空でな
    い真部分集合を選ぶことで算定して格納し、前記要素追
    加格納手段が、<x,y>が要素集合中になければ、未
    処理の要素として前記要素集合中に追加するとともに、
    前記出力関数値算定格納手段が、状態<x,y>での出
    力関数λ(<x,y>)の値wがまだ定義されていない
    場合には、wの値として、前記非決定性有限状態機械
    の、yの各要素での出力の集合を選ぶことによって算定
    して格納し、 前記決定性有限状態機械作成の第4段階では、前記内部
    状態<p,q>の、pのいずれの要素についても前記非
    決定性有限状態機械の次の内部状態が定義されていない
    外部からの入力dがある場合に、各々のdに対して、前
    記失敗関数値算定手段がdに依存しない失敗関数f(<
    p,q>)の値を、集合qから集合pの要素を除いた差
    集合q−pと、q−pの任意の部分集合zの組<z,q
    −p>で算定して格納するとともに、前記出力関数値算
    定格納手段が、状態<x,y>での出力関数λ(<x,
    y>)の値wが未定義の場合には、wとして、前記非決
    定性有限状態機械の、q−pの各要素での出力の集合を
    選ぶことによって算定して格納し、 前記決定性有限状態機械作成の第5段階では、前記決定
    性有限状態機械作成の第2段階に戻って処理を続行する
    ことを特徴とする有限状態機械作成方法。
  2. 【請求項2】 成功関数g(<p,q>,c)の値<
    x,y>のxの値として、非決定性有限状態機械の、外
    部からの入力がcで現在の状態がpの要素である場合の
    前記非決定性有限状態機械の次の内部状態の和集合vか
    らyの要素になっているものを除いた差集合v−yを用
    いる請求項1記載の有限状態機械作成方法。
  3. 【請求項3】 非決定性有限状態機械に変換可能なパタ
    ーン表現として、正規表現あるいは正規変換を用いる請
    求項1記載の有限状態機械作成方法。
  4. 【請求項4】 文字の列からなる文書データ中の各文字
    を、前記文書データ先頭から順に調べて、指定された文
    字列パターンと照合する箇所を求める動作を行なうパタ
    ーン照合機械が、取り得る内部状態の種類が有限個で、
    現在の着目文字と現在の内部状態との組み合わせによっ
    て、次の内部状態および出力が、成功関数g(s,
    c)、失敗関数f(s)、出力関数λ(s)とを用い
    て、 1)現在の状態sおよび現在の文字cに対して、g
    (s,c)が定義されている場合には、次の状態をg
    (s,c)とし、λ(s)を出力する。 2)現在の状態sおよび現在の文字cに対して、g
    (s,c)が定義されていない場合には、f(s)の値
    を新たなsとおいて、1)に戻り、処理を続行する。 という処理によって一意的に定まる決定性有限状態機械
    であるパターン照合機械を作成する方法であって、 初期状態生成手段と、未処理要素選択手段と、成功関数
    値算定格納手段と、失敗関数値算定格納手段と、出力関
    数値算定格納手段と、要素追加格納手段とを備え、次の
    内部状態および出力の指定の形式が、複数個の内部状態
    を同時に取り得る非決定性有限状態機械または前記非決
    定性有限状態機械と等価で、前記非決定性有限状態機械
    に変換可能なパターン表現であり、前記非決定性有限状
    態機械の状態の集合pと、前記パターン照合機械の状態
    rとの組<p,r>を前記パターン照合機械の内部状態
    と見なし、 前記パターン照合機械作成の第1段階では、前記初期状
    態生成手段が、前記パターン照合機械の初期状態Sを、
    前記非決定性有限状態機械の初期状態sを用いて、<
    {s},S>と算定して未処理の要素として前記要素追
    加格納手段に送って要素集合に加えるとともに、初期状
    態での前記決定性有限状態機械の出力を、前記非決定性
    有限状態機械のsでの出力のみからなる集合と定めて、
    前記出力関数値算定格納手段に送って格納し、 前記パターン照合機械作成の第2段階では、前記要素集
    合中に未処理の要素がなければ、前記未処理要素選択手
    段がこれを検出して有限状態機械作成を終了し、前記要
    素集合中に、未処理要素が含まれていれば、前記未処理
    要素選択手段が前記要素集合から、最も早期に前記要素
    集合に追加された未処理要素<p,r>を選択するとと
    もに前記未処理要素<p,r>を処理済の要素に変更
    し、 前記パターン照合機械作成の第3段階では、前記前記決
    定性有限状態機械作成の第2段階で選択した要素<p,
    r>の第1成分である前記非決定性有限状態機械の状態
    集合pのいずれかの要素について、前記成功関数値算定
    格納手段が、前記非決定性有限状態機械の次の内部状態
    が定義されている外部からの入力cがあれば、前記成功
    関数値算定格納手段が、cに対する成功関数g(<p,
    r>,c)の値<x,y>を、yの値として、<p,r
    >が初期状態Sの場合にはSを選び、<p,r>が初期
    状態以外の場合には、<p,r>の第2部分rを取り出
    す演算R(<p,r>)を成功関数g(・,c)が初め
    て定義されるまで、1回以上繰り返した状態u=R(R
    (…R(<p,r>)…))と文字cとの組に対する成
    功関数の値g(u,c)を選び、xの値として、pの要
    素と文字cに対する前記非決定性有限状態機械の次の状
    態の和集合jから、前記演算Rを0回以上適用した後、
    パターン照合機械の状態<p,r>の第1成分pを取り
    出す演算Pを適用してできる集合の列P(y),P(R
    (y)),P(R(R(y)),…の和集合k=P
    (y)∪P(R(y))∪P(R(R(y))∪…の差
    集合u−kを選び、もしもxの値が空集合ならば前記成
    功関数g(<p,r>,c)の値として、<x,y>で
    はなくyを選ぶことで算定して格納した後で、前記要素
    追加格納手段が、<x,y>が要素集合中になければ、
    未処理の要素として前記要素集合中に追加するとともに
    前記出力関数値算定格納手段が、状態<x,y>での前
    記出力関数λ(<x,y>)の値wを、wの値として、
    P(g(<p,r>,c))の要素での前記非決定性有
    限状態機械の出力の和集合とQ(g(<p,r>,
    c))での前記パターン照合機械の出力の和集合を選ぶ
    ことによって算定して格納し、 前記パターン照合機械作成の第4段階では、前記内部状
    態<p,r>と、pのいずれの要素についても前記非決
    定性有限状態機械の次の内部状態が定義されていない文
    字dがあれば、失敗関数値算定格納手段が、dに依存し
    ない失敗関数f(<p,r>)の値を、rであると算定
    して格納し、 前記パターン照合機械作成の第5段階では、前記決定性
    有限状態機械作成の第2段階に戻って処理を続行すると
    を特徴とするパターン照合機械作成方法。
  5. 【請求項5】 非決定性有限状態機械に変換可能なパタ
    ーン表現として、正規表現あるいは正規変換を用いる請
    求項4記載のパターン照合機械作成方法。
  6. 【請求項6】 請求項1記載の有限状態機械作成方法を
    用いて作成した決定性有限状態機械の指定された内部状
    態<p,q>と、指定された外部入力cとに対する次の
    内部状態が、必ず成功関数g(<p,q>,c)の適用
    によって定まるように前記有限状態機械を変形する方法
    であって、 遷移先調査手段と、失敗先決定手段と、遷移先決定格納
    手段と、失敗定義削除手段とを備え、 前記決定性有限状態機械の変形の第1段階では、前記遷
    移先調査手段が、指定された前記内部状態<p,q>
    と、指定された前記外部入力cとに対する前記成功関数
    g(<p,q>,c)の値が定義されているかどうか調
    査して、既に定義されている場合には、変形処理を終了
    し、 前記決定性有限状態機械の変形の第2段階では、前記失
    敗先決定手段が、指定された前記内部状態<p,q>
    に、前記有限状態機械で定まっている失敗関数f(・)
    を、関数値vに対して初めて成功関数g(v,c)が定
    義されるまで、1回以上作用させた状態h=f(f(…
    f(<p,q>)…))を求め、 前記決定性有限状態機械の変形の第3段階では、前記遷
    移先決定手段が、指定された前記内部状態<p,q>で
    の、指定された前記外部入力cに対する遷移先を、成功
    関数の値として、g(<p,q>,c)=g(h,c)
    で算定して格納し、 前記決定性有限状態機械の変形の第4段階では、失敗定
    義削除手段が、g(<p,q>,c)の値の定義を追加
    することによって、任意の外部入力xについて、成功関
    数g(<p,q>,x)の値が定義される場合には、失
    敗関数f(<p,q>)の定義を取り消し、 前記決定性有限状態機械の変形の第5段階では、変形処
    理を終了することを特徴とする有限状態機械変形方法。
  7. 【請求項7】 請求項4記載のパターン照合機械作成方
    法を用いて作成したパターン照合機械の指定された内部
    状態<p,r>と、指定された文字cとに対する次の内
    部状態が、必ず成功関数g(<p,r>,c)の適用に
    よって定まるように前記パターン照合機械を変形する方
    法であって、 遷移先調査手段と、失敗先決定手段と、遷移先決定格納
    手段と、失敗定義削除手段とを備え、 前記パターン照合機械の変形の第1段階では、前記遷移
    先調査手段が、指定された前記内部状態<p,q>と指
    定された文字cとに対する前記成功関数g(<p,r
    >,c)の値が定義されているかどうか調査して、既に
    定義されている場合には、変形処理を終了し、 前記パターン照合機械の変形の第2段階では、前記失敗
    先決定手段が、指定された前記内部状態<p,r>に、
    前記パターン照合機械で定まっている失敗関数f(・)
    を、関数値vに対して初めて成功関数g(v,c)が定
    義されるまで、1回以上作用させた状態h=f(f(…
    f(<p,r>)…))を求め、 前記パターン照合機械の変形の第3段階では、前記遷移
    先決定手段が、指定された前記内部状態<p,r>で
    の、指定された前記文字cに対する遷移先を、成功関数
    の値として、g(<p,r>,c)=g(h,c)で算
    定して格納し、 前記パターン照合機械の変形の第4段階では、失敗定義
    削除手段が、g(<p,r>,c)の値の定義を追加す
    ることによって、任意の文字xについて、成功関数g
    (<p,r>,x)の値が定義される場合には、失敗関
    数f(<p,r>)の定義を取り消し、 前記パターン照合機械の変形の第5段階では、変形処理
    を終了することを特徴とするパターン照合機械変形方
    法。
  8. 【請求項8】 取り得る内部状態の種類が有限個で、外
    部からの入力と現在の内部状態との組み合わせによっ
    て、次の内部状態および出力が、成功関数g(s,
    c)、失敗関数f(s)、出力関数λ(s)とを用い
    て、 1)現在の状態sおよび現在の入力cに対して、g
    (s,c)が定義されている場合には、次の状態をg
    (s,c)とし、λ(s )を出力する。 2)現在の状態sおよび現在の入力cに対して、g
    (s,c)が定義されていない場合には、f(s)の値
    を新たなsとおいて、1)に戻り、処理を続行する。 という処理によって一意的に定まる決定性有限状態機械
    を作成する方法であって、 有限状態機械作成手段と、記憶領域判定手段と、変形対
    象状態選択手段と、有限状態機械変形手段とを備え、 前記有限状態機械作成手段が、請求項1記載の有限状態
    機械作成方法を用いて決定性有限状態機械を作成した
    後、前記記憶領域判定手段が、前記決定性有限状態機械
    の状態遷移のために確保している記憶領域が予め定めら
    れた大きさ以下であるかどうか調べ、記憶領域が予め定
    められた大きさ以下である限り、前記変形対象状態選択
    手段が、前記決定性有限状態機械の初期状態から近い内
    部状態から順に変形対象状態を選択し、前記有限状態機
    械変形手段が、予め定められた外部入力の集合の各要素
    に対して請求項6記載の有限状態機械変形方法を用いて
    前記決定性有限状態機械を変形する操作を繰り返して、
    最終的な有限状態機械を作成することを特徴とする有限
    状態機械作成方法。
  9. 【請求項9】 取り得る内部状態の種類が有限個で、外
    部からの入力と現在の内部状態との組み合わせによっ
    て、次の内部状態および出力が、成功関数g(s,
    c)、失敗関数f(s)、出力関数λ(s)とを用い
    て、 1)現在の状態sおよび現在の入力cに対して、g
    (s,c)が定義されている場合には、次の状態をg
    (s,c)とし、λ(s )を出力する。 2)現在の状態sおよび現在の入力cに対して、g
    (s,c)が定義されていない場合には、f(s)の値
    を新たなsとおいて、1)に戻り、処理を続行する。 という処理によって一意的に定まる決定性有限状態機械
    を駆動する方法であって、 有限状態機械作成手段と、有限状態機械駆動手段と、失
    敗回数計数判定手段と、有限状態機械変形手段とを備
    え、 前記有限状態機械作成手段が、請求項1記載の有限状態
    機械作成方法を用いて決定性有限状態機械を作成した
    後、前記有限状態機械駆動手段が、作成された前記決定
    性有限状態機械を駆動すると同時に、前記失敗回数計数
    判定手段が、前記決定性有限状態機械の駆動開始から、
    前記決定性有限状態機械の各内部状態から実際の外部入
    力によって次の内部状態に遷移する際の失敗関数の適用
    回数を各々の外部入力と個々の外部入力毎に記録し、特
    定の内部状態および特定の外部入力の組について、前記
    失敗回数が予め定められた回数に達した時点で、前記有
    限状態機械駆動手段が、一旦前記有限状態機械の駆動動
    作を中断し、前記有限状態機械変形手段に当該内部状態
    および当該外部入力を通知し、前記有限状態機械変形手
    段が、その組を対象として請求項6記載の有限状態機械
    変形方法を適用して変形した後、前記決定性有限状態機
    械駆動手段が、中断していた動作を変形後の前記決定性
    有限状態機械を用いて再開することを特徴とする有限状
    態機械駆動方法。
  10. 【請求項10】 文字の列からなる文書データ中の各文
    字を、前記文書データ先頭から順に調べて、指定された
    文字列パターンと照合する箇所を求める動作を行なうパ
    ターン照合機械が、取り得る内部状態の種類が有限個
    で、現在の着目文字と現在の内部状態との組み合わせに
    よって、次の内部状態および出力が、成功関数g(s,
    c)、失敗関数f(s)、出力関数λ(s)とを用い
    て、 1)現在の状態sおよび現在の文字cに対して、g
    (s,c)が定義されている場合には、次の状態をg
    (s,c)とし、λ(s)を出力する。 2)現在の状態sおよび現在の文字cに対して、g
    (s,c)が定義されていない場合には、f(s)の値
    を新たなsとおいて、1)に戻り、処理を続行する。 という処理によって一意的に定まる決定性有限状態機械
    であるパターン照合機械を作成する方法であって、 パターン照合機械作成手段と、記憶領域判定手段と、変
    形対象状態選択手段と、パターン照合機械変形手段とを
    備え、 前記パターン照合機械作成手段が、請求項4記載のパタ
    ーン照合機械作成方法を用いてパターン照合機械を作成
    した後、前記記憶領域判定手段が、前記パターン照合機
    械の状態遷移のために確保している記憶領域が予め定め
    られた大きさ以下であるかどうか調べ、記憶領域が予め
    定められた大きさ以下である限り、前記変形対象状態選
    択手段が、前記パターン照合機械の初期状態から近い内
    部状態から順に変形対象状態を選択し、前記パターン照
    合機械変形手段が、予め定められた文字集合の各要素に
    対して請求項7記載のパターン照合機械変形方法を用い
    て前記パターン照合機械を変形する操作を繰り返して、
    最終的なパターン照合機械を作成することを特徴とする
    パターン照合機械作成方法。
  11. 【請求項11】 文字の列からなる文書データ中の各文
    字を、前記文書データ先頭から順に調べて、指定された
    文字列パターンと照合する箇所を求める動作を行なうパ
    ターン照合機械が、 取り得る内部状態の種類が有限個
    で、現在の着目文字と現在の内部状態との組み合わせに
    よって、次の内部状態および出力が、成功関数g(s,
    c)、失敗関数f(s)、出力関数λ(s)とを用い
    て、 1)現在の状態sおよび現在の文字cに対して、g
    (s,c)が定義されている場合には、次の状態をg
    (s,c)とし、λ(s)を出力する。 2)現在の状態sおよび現在の文字cに対して、g
    (s,c)が定義されていない場合には、f(s)の値
    を新たなsとおいて、1)に戻り、処理を続行する。 という処理によって一意的に定まる決定性有限状態機械
    であるパターン照合機械を駆動する方法であって、 パターン照合械作成手段と、パターン照合機械駆動手段
    と、失敗回数計数判定手段と、パターン照合械変形手段
    とを備え、 前記パターン照合機械作成手段が、請求項4記載のパタ
    ーン照合機械作成方法を用いて前記パターン照合機械を
    作成した後、前記パターン照合機械駆動手段が、作成さ
    れた前記パターン照合機械を駆動すると同時に、前記失
    敗回数計数判定手段が、前記パターン照合機械の駆動開
    始から、前記パターン照合機械の各内部状態から実際の
    文字によって次の内部状態に遷移する際の失敗関数の適
    用回数を各々の内部状態と個々の文字毎に記録し、特定
    の内部状態および特定の文字の組について、前記失敗回
    数が予め定められた回数に達した時点で、前記パターン
    照合機械駆動手段が、一旦パターン照合動作を中断し、
    前記パターン照合機械変形手段に当該内部状態および当
    該文字を通知し、前記パターン照合機械変形手段が、そ
    の組を対象として請求項7記載のパターン照合機械変形
    方法を適用して変形した後、前記パターン照合機械駆動
    手段が、中断していたパターン照合動作を変形後の前記
    パターン照合機械を用いて再開することを特徴とするパ
    ターン照合機械駆動方法。
JP5272304A 1993-01-29 1993-10-29 有限状態機械作成方法とパターン照合機械作成方法とこれらを変形する方法および駆動方法 Expired - Fee Related JP2994926B2 (ja)

Priority Applications (9)

Application Number Priority Date Filing Date Title
JP5272304A JP2994926B2 (ja) 1993-10-29 1993-10-29 有限状態機械作成方法とパターン照合機械作成方法とこれらを変形する方法および駆動方法
EP99100408A EP0917032A3 (en) 1993-10-29 1994-10-28 Constructing method of pattern-matching machine performing transitions according to a partial type of success function and a failure function
EP99100407A EP0917031A3 (en) 1993-10-29 1994-10-28 Method for transforming failure transitions of the pattern-matching machine into a sucess transition
EP99200172A EP0918267A3 (en) 1993-10-29 1994-10-28 Method for transforming failure transitions of the finite-state machine into a succes transitions
DE69422370T DE69422370T2 (de) 1993-10-29 1994-10-28 Verfahren zur Herstellung eines endlichen Automaten, der Transitionen nach einer Kombination von Erfolg- und Funktionen ausführt
EP99100406A EP0917030A3 (en) 1993-10-29 1994-10-28 Method for transforming failure transitions of the pattern-matching machine into a success transition
EP94307964A EP0651304B1 (en) 1993-10-29 1994-10-28 Constructing method of finite-state machine performing transitions according to a partial type of success funtion and a failure function
EP99100405A EP0917029A3 (en) 1993-10-29 1994-10-28 Method for transforming failure transitions of the finite-state machine into a success transition
US08/331,260 US5495409A (en) 1993-01-29 1994-10-28 Constructing method of finite-state machine performing transitions according to a partial type of success function and a failure function

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP5272304A JP2994926B2 (ja) 1993-10-29 1993-10-29 有限状態機械作成方法とパターン照合機械作成方法とこれらを変形する方法および駆動方法

Publications (2)

Publication Number Publication Date
JPH07129369A JPH07129369A (ja) 1995-05-19
JP2994926B2 true JP2994926B2 (ja) 1999-12-27

Family

ID=17512015

Family Applications (1)

Application Number Title Priority Date Filing Date
JP5272304A Expired - Fee Related JP2994926B2 (ja) 1993-01-29 1993-10-29 有限状態機械作成方法とパターン照合機械作成方法とこれらを変形する方法および駆動方法

Country Status (4)

Country Link
US (1) US5495409A (ja)
EP (6) EP0918267A3 (ja)
JP (1) JP2994926B2 (ja)
DE (1) DE69422370T2 (ja)

Families Citing this family (50)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2927706B2 (ja) * 1995-06-12 1999-07-28 松下電器産業株式会社 類似文字列の展開方法、検索方法及びそれらの装置
US6085186A (en) * 1996-09-20 2000-07-04 Netbot, Inc. Method and system using information written in a wrapper description language to execute query on a network
JP3231673B2 (ja) * 1996-11-21 2001-11-26 シャープ株式会社 文字,文字列検索方法及び該方法に用いる記録媒体
CA2226233C (en) * 1997-01-21 2006-05-09 At&T Corp. Systems and methods for determinizing and minimizing a finite state transducer for speech recognition
US6073098A (en) * 1997-11-21 2000-06-06 At&T Corporation Method and apparatus for generating deterministic approximate weighted finite-state automata
US6665650B1 (en) * 2000-06-15 2003-12-16 Agilent Technologies, Inc. Intelligent logic activity resolution
US6880147B1 (en) * 2000-09-07 2005-04-12 Rockwell Collins System and method for developing software utilizing determinative representations
US7016805B2 (en) * 2001-12-14 2006-03-21 Wavecrest Corporation Method and apparatus for analyzing a distribution
US20030149562A1 (en) * 2002-02-07 2003-08-07 Markus Walther Context-aware linear time tokenizer
US8234115B2 (en) 2002-03-29 2012-07-31 At&T Intellectual Property Ii, L.P. Systems and methods for determining the N-best strings
US7730175B1 (en) 2003-05-12 2010-06-01 Sourcefire, Inc. Systems and methods for identifying the services of a network
DE60321972D1 (de) * 2003-08-11 2008-08-14 Telecom Italia Spa Verfahren und system zur erkennung einer unbefugten benutzung eines kommunikationsnetzes
TWI221240B (en) * 2003-11-14 2004-09-21 Via Tech Inc Workflow defining system and workflow managing system
TWI230884B (en) * 2003-11-14 2005-04-11 Via Tech Inc Workflow managing method and recording medium
US7539681B2 (en) * 2004-07-26 2009-05-26 Sourcefire, Inc. Methods and systems for multi-pattern searching
US8265920B1 (en) 2004-07-30 2012-09-11 Synopsys, Inc. Determining large-scale finite state machines using constraint relaxation
BRPI0419214B1 (pt) 2004-12-09 2021-09-21 Mitsubishi Denki Kabushiki Kaisha Sistema e método de correspondência de sequência
US7733803B2 (en) 2005-11-14 2010-06-08 Sourcefire, Inc. Systems and methods for modifying network map attributes
US8046833B2 (en) * 2005-11-14 2011-10-25 Sourcefire, Inc. Intrusion event correlation with network discovery information
US7948988B2 (en) * 2006-07-27 2011-05-24 Sourcefire, Inc. Device, system and method for analysis of fragments in a fragment train
WO2008045302A2 (en) * 2006-10-06 2008-04-17 Sourcefire, Inc. Device, system and method for use of micro-policies in intrusion detection/prevention
US8069352B2 (en) * 2007-02-28 2011-11-29 Sourcefire, Inc. Device, system and method for timestamp analysis of segments in a transmission control protocol (TCP) session
CA2685292C (en) * 2007-04-30 2013-09-24 Sourcefire, Inc. Real-time user awareness for a computer network
CN101360088B (zh) * 2007-07-30 2011-09-14 华为技术有限公司 正则表达式编译、匹配系统及编译、匹配方法
US20110054639A1 (en) * 2008-02-01 2011-03-03 Luca Pazzi Method for ensuring safety and liveness rules in a state based design
CN101551803A (zh) 2008-03-31 2009-10-07 华为技术有限公司 一种建立模式匹配状态机、模式识别的方法和装置
US8474043B2 (en) * 2008-04-17 2013-06-25 Sourcefire, Inc. Speed and memory optimization of intrusion detection system (IDS) and intrusion prevention system (IPS) rule processing
WO2010045089A1 (en) * 2008-10-08 2010-04-22 Sourcefire, Inc. Target-based smb and dce/rpc processing for an intrusion detection system or intrusion prevention system
DE102009054230A1 (de) * 2009-11-23 2011-05-26 Kuka Roboter Gmbh Verfahren und Vorrichtung zum Steuern von Manipulatoren
US20110153035A1 (en) * 2009-12-22 2011-06-23 Caterpillar Inc. Sensor Failure Detection System And Method
JP5809238B2 (ja) 2010-04-16 2015-11-10 シスコ テクノロジー,インコーポレイテッド 準リアルタイムネットワーク攻撃検出のためのシステムおよび方法、ならびに検出ルーティングによる統合検出のためのシステムおよび方法
US8766666B2 (en) 2010-06-10 2014-07-01 Micron Technology, Inc. Programmable device, hierarchical parallel machines, and methods for providing state information
US8433790B2 (en) 2010-06-11 2013-04-30 Sourcefire, Inc. System and method for assigning network blocks to sensors
US8671182B2 (en) 2010-06-22 2014-03-11 Sourcefire, Inc. System and method for resolving operating system or service identity conflicts
US8601034B2 (en) 2011-03-11 2013-12-03 Sourcefire, Inc. System and method for real time data awareness
RS54444B1 (en) 2011-07-12 2016-06-30 Scientist Of Fortune S.A. RECOMBINANT MICRO-ORGANISMS FOR THE PRODUCTION OF USEFUL METABOLITES
US9141738B2 (en) * 2012-06-04 2015-09-22 Reveal Design Automation Sequential non-deterministic detection in hardware design
GB2511072A (en) * 2013-02-22 2014-08-27 Ibm Non-deterministic finite state machine module for use in a regular expression matching system
US9086688B2 (en) * 2013-07-09 2015-07-21 Fisher-Rosemount Systems, Inc. State machine function block with user-definable actions on a transition between states
CN103500267A (zh) * 2013-09-06 2014-01-08 西安交通大学 利用状态信息判定螺栓连接设备装配可靠度的方法
CN104407534B (zh) * 2014-10-17 2017-02-15 中国电子科技集团公司第二十四研究所 一种分集式多芯片同步系统
WO2017014781A1 (en) * 2015-07-23 2017-01-26 Hewlett Packard Enterprise Development Lp Load generator with a token machine
DE102015222168B4 (de) * 2015-11-11 2024-02-22 Kuka Roboter Gmbh Verfahren und computerprogramm zur korrektur von fehlern eines manipulatorsystems
US20180059640A1 (en) * 2016-09-01 2018-03-01 Esab Ab Techniques for event driven scheduling in a welding or cutting system
CN106886177B (zh) * 2016-12-16 2020-07-17 北京华航无线电测量研究所 一种雷达信号处理系统
CN109968352B (zh) * 2017-12-28 2021-06-04 深圳市优必选科技有限公司 一种机器人控制方法及机器人、具有存储功能的装置
US11210337B2 (en) 2018-10-16 2021-12-28 International Business Machines Corporation System and method for searching audio data
CN111114668B (zh) * 2020-03-27 2020-07-07 之江实验室 基于关节工况多象限耦合的双足机器人数字液压驱动方法
CN112733380B (zh) * 2021-01-20 2023-10-13 北京高码科技有限公司 基于关系型数据库的有限状态机
CN113359639B (zh) * 2021-06-23 2022-07-15 浙江安防职业技术学院 基于安全检测机器人的工厂设备监控方法及系统

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0797373B2 (ja) * 1985-08-23 1995-10-18 株式会社日立製作所 文書フアイリングシステム
US5265242A (en) * 1985-08-23 1993-11-23 Hiromichi Fujisawa Document retrieval system for displaying document image data with inputted bibliographic items and character string selected from multiple character candidates
IL78542A0 (en) * 1986-04-18 1986-08-31 Yeda Res & Dev Electronic controller based on the use of statecharts as an abstract model
JP2702927B2 (ja) * 1987-06-15 1998-01-26 株式会社日立製作所 文字列検索装置
US5163016A (en) * 1990-03-06 1992-11-10 At&T Bell Laboratories Analytical development and verification of control-intensive systems
JP2640793B2 (ja) * 1992-01-17 1997-08-13 松下電器産業株式会社 共起辞書構築装置及びこの共起辞書を用いた文解析装置
JP2534600B2 (ja) * 1992-06-19 1996-09-18 松下電器産業株式会社 文字列照合装置

Also Published As

Publication number Publication date
DE69422370D1 (de) 2000-02-03
EP0917029A3 (en) 2007-09-19
JPH07129369A (ja) 1995-05-19
EP0917031A3 (en) 2007-09-19
EP0917030A3 (en) 2007-09-19
EP0651304A2 (en) 1995-05-03
EP0917032A2 (en) 1999-05-19
US5495409A (en) 1996-02-27
DE69422370T2 (de) 2000-05-11
EP0651304A3 (en) 1996-04-10
EP0918267A3 (en) 2007-09-19
EP0917030A2 (en) 1999-05-19
EP0917031A2 (en) 1999-05-19
EP0651304B1 (en) 1999-12-29
EP0918267A2 (en) 1999-05-26
EP0917029A2 (en) 1999-05-19
EP0917032A3 (en) 2007-09-19

Similar Documents

Publication Publication Date Title
JP2994926B2 (ja) 有限状態機械作成方法とパターン照合機械作成方法とこれらを変形する方法および駆動方法
US10915450B2 (en) Methods and systems for padding data received by a state machine engine
CN108959246B (zh) 基于改进的注意力机制的答案选择方法、装置和电子设备
Orlowska Incomplete information: Rough set analysis
JP2506991B2 (ja) 回路変換システムと回路変換方法と反転論理生成方法および論理設計システム
US7457799B2 (en) Apparatus and method for searching data of structured document
CN111914085A (zh) 文本细粒度情感分类方法、系统、装置及存储介质
KR20200032258A (ko) 일정한 처리 시간 내에 k개의 극값을 찾는 방법
US20180113951A1 (en) Graph traversal using automata processor
Noroozi et al. Seven: deep semi-supervised verification networks
WO2022063076A1 (zh) 对抗样本的识别方法及装置
Huang et al. Few-shot image and sentence matching via aligned cross-modal memory
CN116152570A (zh) 基于分层卷积神经网络的商品图像分类方法
Wang et al. Weighted restarting automata and pushdown relations
Urabe et al. Categorical Büchi and parity conditions via alternating fixed points of functors
Thakur et al. Offline handwritten mathematical recognition using adversarial learning and transformers
JP2578777B2 (ja) 多階層型デ−タベ−スのセットオカランス格納順序決定装置
CN117408259B (zh) 一种信息提取方法、装置、计算机设备和存储介质
CN113095503B (zh) 一种实现检测模型高效的系统
Bunke et al. Statistical and Syntactic Models and Pattern Recognition Techniques
Jain et al. Pseudo-deterministic virtual finite automaton (PDVFA) of order (s, t).
Tavoli et al. A Novel Word-Spotting Method for Handwritten Documents Using an Optimization-Based Classifier
RU2230361C2 (ru) Способ считывания и адресного кодирования графических изображений и устройство для его осуществления
CN116307082A (zh) 一种基于数据处理的预测模型生成方法
JP2002318818A (ja) データ処理装置及びその方法、及びそのプログラム

Legal Events

Date Code Title Description
FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20081022

Year of fee payment: 9

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20091022

Year of fee payment: 10

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20091022

Year of fee payment: 10

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20101022

Year of fee payment: 11

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20111022

Year of fee payment: 12

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20121022

Year of fee payment: 13

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20131022

Year of fee payment: 14

LAPS Cancellation because of no payment of annual fees