JP2002297681A - 有限状態オートマトン作成装置 - Google Patents

有限状態オートマトン作成装置

Info

Publication number
JP2002297681A
JP2002297681A JP2001095962A JP2001095962A JP2002297681A JP 2002297681 A JP2002297681 A JP 2002297681A JP 2001095962 A JP2001095962 A JP 2001095962A JP 2001095962 A JP2001095962 A JP 2001095962A JP 2002297681 A JP2002297681 A JP 2002297681A
Authority
JP
Japan
Prior art keywords
fsa
states
state
partial
fsas
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2001095962A
Other languages
English (en)
Other versions
JP3827067B2 (ja
Inventor
Toru Shimizu
徹 清水
Tsuneo Kato
恒夫 加藤
Norio Higuchi
宜男 樋口
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.)
KDDI Corp
Original Assignee
KDDI Corp
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 KDDI Corp filed Critical KDDI Corp
Priority to JP2001095962A priority Critical patent/JP3827067B2/ja
Publication of JP2002297681A publication Critical patent/JP2002297681A/ja
Application granted granted Critical
Publication of JP3827067B2 publication Critical patent/JP3827067B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Abstract

(57)【要約】 【課題】 FSAの分割、または/および合成により、FSA
の状態数の総和を削減し、状態数の削減によってFSAの
記憶に係るメモリ量を削減することができるFSA作成装
置を提供することにある。 【解決手段】 状態1から状態18に至る1つのFSA(m
ain1)から、等価な部分FSA、すなわち状態2から状態
16に至る部分FSAと状態3から状態17に至る部分FSA
を抽出する。そして、該部分FSAをFSA(main1)から分
割し、該部分FSAを1つの状態遷移に置き換える。前記
等価な部分FSAは(sub1)として分割し、(main1)の状態2
と状態16との間を部分FSAを表すシンボルsub1に置き換
える。同様に、(main1)の状態3と状態17との間を部分F
SAを表すシンボルsub1に置き換える。そして、シンボル
を置き換えたFSAを新たに(main2)とする。分割された2
つのFSAの状態数の総和は14で、分割前のFSA(状態数18)
より、少なくなっている。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、有限状態オートマ
トン作成装置(Finite State Automaton、 以下FSA作成
装置と記す)に関し、特に、FSAの状態数を少なくするこ
とにより、FSAを記憶するメモリ量を削減することが可
能なFSA作成装置に関するものである。
【0002】
【従来の技術】従来は、図9に示すように、FSA格納部3
1に格納された1つのFSA(例えば、FSA−A)を状態数最小
化部32で状態数を最小化した1つのFSAに変換し、出力F
SA格納部33に1つのFSA(FSA−A')として格納していた。
状態数最小化部32の最小化手法は、1つのFSAの最簡形
を求めるアルゴリズム(例えば、“オートマトン・言語
理論” 2.4節 “有限状態オートマトンの最簡形”、本
多波雄著、コロナ社)を用いて容易に実現することがで
きる。
【0003】
【発明が解決しようとする課題】しかし、従来は、1つ
のFSAにおける冗長な状態遷移を前記状態数最小化部32
で取り除いて1つのFSAを作成することに留まっていた
ため、1つのFSAを複数のFSAに分割することによりFSA
の状態数をさらに減らすこと、あるいは、複数のFSAを
合成することにより、複数のFSAの総状態数を減らすこ
とはできなかった。
【0004】本発明は、前記した従来技術に鑑みてなさ
れたものであり、その目的は、FSAの分割、または/お
よび合成により、FSAの状態数の総和を削減し、状態数
の削減によってFSAの記憶に係るメモリ量を削減するこ
とができるFSA作成装置を提供することにある。
【0005】
【課題を解決するための手段】前記した目的を達成する
ために、本発明は、1または複数の有限状態オートマト
ン( 以下、FSAと記す)の状態数を最小化する状態数最小
化部と、該状態数最小化部で最小化された1または複数
のメインFSAから等価な部分FSAを抽出し、該等価な部分
FSAのシンボルを用いて表した1または複数のメインFSA
と該等価な部分FSAとに分割するFSA分割部とを具備し、
該FSA分割部は、分割された複数のFSAの状態数の総和
が、分割前のFSAの状態数の総和に比較して少なくなるF
SAを生成するようにした点に第1の特徴がある。
【0006】また、 本発明は、前記状態数最小化部で
最小化された複数のメインFSAから等価な部分FSAを抽出
し、該等価な部分FSAを用いて合成するFSA合成部を具備
し、該FSA合成部は、合成されたFSAの状態数が、合成前
の複数のFSAの状態数の総和に比較して少なくなるFSAを
生成するようにした点に第2の特徴がある。
【0007】前記第1、第2の特徴によれば、FSAの状
態数を従来のFSA作成装置によるものより削減すること
ができるようになり、FSAの記憶に係るメモリ量を削減
することができるようになる。
【0008】
【発明の実施の形態】以下に、本発明を図面を参照して
説明する。図1は、本発明の一実施形態の概略の構成を
示すブロック図である。
【0009】図1の実施形態は、複数のFSA(FSA−A1〜
An)を格納しているFSA格納部1と、状態数最小化部2
と、FSA分割部3と、出力FSA格納部4とから構成されて
いる。
【0010】次に、本実施形態の動作を説明する。ま
ず、従来手法により、FSA格納部1に格納されている全て
のFSAについて、状態数最小化部2で各FSAの状態数を最
小化する。続いてFSA分割部3で各FSAに対して1つのFSA
を複数のFSAに分割する処理を施す。例えば、図2に示
されている状態1から状態18に至る1つのFSA(main
1)から、等価な部分FSA、すなわち状態2から状態1
6に至る部分FSAと状態3から状態17に至る部分FSAを
抽出する。そして、該部分FSAをFSA(main1)から分割
し、該部分FSAを1つの状態遷移に置き換える。なお、F
SAの等価性は、FSAの等価性を求めるアルゴリズム(例え
ば、“オートマトン・言語理論” 2.4節“有限状態オー
トマトンの最簡形”、本多波雄著、コロナ社)によって
容易に求めることができる。このことは、以下の例で
も、同様である。
【0011】前記等価な部分FSAは(sub1)として分割
し、(main1)の状態2と状態16との間を部分FSAを表すシ
ンボルsub1に置き換える。同様に、(main1)の状態3と
状態17との間を部分FSAを表すシンボルsub1に置き換え
る。そして、シンボルを置き換えたFSAを新たに(main2)
とする。この操作によって、状態数18の1つのFSA(main
1)は、状態数6のFSA(main2)と状態数8の部分FSA(sub1)
に分割される。分割された2つのFSAの状態数の総和は14
で、分割前のFSA(状態数18)より、少なくなっている。
【0012】次に、図3を参照して本実施形態の他の具
体例を説明する。図3は、複数のFSAから等価な複数の部
分FSAを分割する例を示す。図3では、FSA(main1)の状
態1から状態8に至る部分FSAと、FSA(main2)の状態1
から状態8に至る部分FSAが等価である。そこで、部分F
SAを(sub1)として分割し、(main1)の状態2と状態16との
間を部分FSAを表すシンボルsub1に置き換え、新たにFSA
(main3)とする。同様に、(main2)の状態1と状態8との
間を部分FSAを表すシンボルsub1に置き換え、新たにFSA
(main4)とする。この操作によって、2つのFSA(main1と
main2)の状態数の和は18であるが、分割されたFSA(main
3とmain4とsub1)の状態数の和は14となり、分割前の状
態数より少なくなっている。なお、FSA分割部は分割後
のFSAの状態数の総和を分割前の状態数の総和より少な
くすることが目的であるから、分割操作によって状態数
が減少しないような場合は、必ずしも分割操作を行う必
要はない。
【0013】次に、本発明の第2実施形態を図4を参照
して説明する。この実施形態は、FSA合成部5で複数のF
SAを1つのFSAに合成することにより状態数を減らすよ
うにしたものである。
【0014】FSA合成部5は、図5に示すように、2つ
以上のFSAの状態遷移を合成することによって、状態数
の総和が減少することが期待される場合、FSA合成によ
って、2つ以上のFSAを1つのFSAに合成する。FSA合成に
よって状態数の総和が削減可能かどうかは実際に任意の
FSAの組み合わせにおいて、合成操作を行い、合成前後
の状態数の総和を比較することで実現することができ
る。
【0015】図5は、2つのFSA(main1とmain2)を合成
して、1つのFSA(main3)を生成する例を示す。図5で
は、2つのFSA(main1とmain2)を合成すると1つのFSA(ma
in3)が得られる。この操作によって、2つのFSA(main1
とmain2)の状態数の和は8であるが、合成されたFSA(ma
in3)の状態数は5となり、合成前の状態数より少なくな
っている。なお、FSA合成部は合成後のFSAの状態数の総
和を合成前の状態数の総和より少なくすることが目的で
あるから、合成操作によって状態数が減少しないような
場合は、必ずしも合成操作を行う必要はない。
【0016】次に、本発明の第3実施形態を図6を参照
して説明する。この実施形態は、FSA分割部3で分割す
ることにより状態数を減らしたFSAをFSA合成部5に入れ
て合成することにより、さらに状態数を減らすようにし
たものである。
【0017】次に、図7を参照して、図1または図6の
FSA分割部3の処理フローの一例を説明する。まず、全
てのFSAについて、最も状態数の大きな部分FSAを抽出す
る(ステップS1)。部分FSAが抽出できたかどうかをチェ
ックし(ステップS2)、部分FSAが存在すれば仮に部分FSA
分割処理を行う(ステップS3)。次に、部分FSA分割によ
り状態数が減少したかどうかチェックし(ステップS4)、
状態数が減少する場合は部分FSAをFSAから分割する(ス
テップS5)。この操作を、部分FSAの抽出に失敗するか
(ステップS2の判定が否定)、部分FSAの分割により状態
数が減少しなくなる(ステップS4の判定が否定)まで繰り
返す。
【0018】次に、図8を参照して、図4または図6の
FSA合成部5の処理フローの一例を説明する。まず、全
てのFSAについて、任意の2つのFSAを選択する(ステッ
プS11)。選択された2つのFSAに対して仮にFSA合成処理
を行う(ステップS12)。次に、FSA合成により状態数が減
少したかどうかチェックし(ステップS13)、状態数が減
少する場合はFSAを合成する(ステップS14)。この操作
を、全てのFSAの組み合わせについてチェックするまで
繰り返す(ステップS15)。
【0019】以上、本発明を好適な実施形態により説明
したが、本発明は該実施形態に限定されることなく、本
発明の趣旨に属する種々の変形も、本発明の範囲内であ
ることは明らかである。
【0020】
【発明の効果】以上の説明から明らかなように、本発明
によれば、FSAの分割および/または合成により、FSAの
状態数の総和を削減することができるという効果があ
る。また、この状態数の削減によって、FSAの記憶に係
るメモリ量を削減することができるという効果がある。
【図面の簡単な説明】
【図1】 本発明の第1実施形態の概略の構成を示すブ
ロック図である。
【図2】 本発明の第1実施形態の一具体例の説明図で
ある。
【図3】 本発明の第1実施形態の他の具体例の説明図
である。
【図4】 本発明の第2実施形態の概略の構成を示すブ
ロック図である。
【図5】 本発明の第2実施形態の一具体例の説明図で
ある。
【図6】 本発明の第3実施形態の概略の構成を示すブ
ロック図である。
【図7】 前記第1実施形態の動作を示すフローチャー
トである。
【図8】 前記第2実施形態の動作を示すフローチャー
トである。
【図9】 従来装置の概略の構成を示すブロック図であ
る。
【符号の説明】
1・・・FSA格納部、2・・・状態数最小化部、3・・・FSA分割
部、4・・・出力FSA格納部、5・・・FSA合成部。
───────────────────────────────────────────────────── フロントページの続き (72)発明者 樋口 宜男 埼玉県上福岡市大原2−1−15 株式会社 ケイディディ研究所内 Fターム(参考) 5B046 AA00

Claims (4)

    【特許請求の範囲】
  1. 【請求項1】 1または複数の有限状態オートマトン(
    以下、FSAと記す)の状態数を最小化する状態数最小化部
    と、 該状態数最小化部で最小化された1または複数のメイン
    FSAから等価な部分FSAを抽出し、該等価な部分FSAのシ
    ンボルを用いて表した1または複数のメインFSAと該等
    価な部分FSAとに分割するFSA分割部とを具備し、 該FSA分割部は、分割された複数のFSAの状態数の総和
    が、分割前のFSAの状態数の総和に比較して少なくなるF
    SAを生成することを特徴とするFSA作成装置。
  2. 【請求項2】 複数の有限状態オートマトン( 以下、FS
    Aと記す)の状態数を最小化する状態数最小化部と、 該状態数最小化部で最小化された複数のメインFSAから
    等価な部分FSAを抽出し、該等価な部分FSAを用いて合成
    するFSA合成部とを具備し、 該FSA合成部は、合成されたFSAの状態数が、合成前の複
    数のFSAの状態数の総和に比較して少なくなるFSAを生成
    することを特徴とするFSA作成装置。
  3. 【請求項3】 1または複数の有限状態オートマトン(
    以下、FSAと記す)の状態数を最小化する状態数最小化部
    と、 該状態数最小化部で最小化された1または複数のメイン
    FSAから等価な部分FSAを抽出し、該等価な部分FSAのシ
    ンボルを用いて表した1または複数のメインFSAと該等
    価な部分FSAとに分割するFSA分割部と、 該FSA分割部で分割されたメインFSAまたは部分FSAを合
    成する合成部とを具備し、 合成されたFSAの状態数が、分割前のFSAの状態数の総和
    に比較して少なくなるFSAとなるようにしたことを特徴
    とするFSA作成装置。
  4. 【請求項4】 請求項1または3に記載のFSA作成装置
    において、 前記FSA分割部は、部分FSAからさらにその部分FSAを分
    割するようにしたことを特徴とするFSA作成装置。
JP2001095962A 2001-03-29 2001-03-29 有限状態オートマトン作成装置 Expired - Fee Related JP3827067B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2001095962A JP3827067B2 (ja) 2001-03-29 2001-03-29 有限状態オートマトン作成装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2001095962A JP3827067B2 (ja) 2001-03-29 2001-03-29 有限状態オートマトン作成装置

Publications (2)

Publication Number Publication Date
JP2002297681A true JP2002297681A (ja) 2002-10-11
JP3827067B2 JP3827067B2 (ja) 2006-09-27

Family

ID=18949949

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2001095962A Expired - Fee Related JP3827067B2 (ja) 2001-03-29 2001-03-29 有限状態オートマトン作成装置

Country Status (1)

Country Link
JP (1) JP3827067B2 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2008141519A1 (fr) * 2007-05-18 2008-11-27 Beijing Zhean Technology Corporation Méthode et structure de puce de mise en concordance de chaînes de caractères
JP2010079723A (ja) * 2008-09-26 2010-04-08 Toshiba Corp 情報処理装置、情報処理方法及びプログラム

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2008141519A1 (fr) * 2007-05-18 2008-11-27 Beijing Zhean Technology Corporation Méthode et structure de puce de mise en concordance de chaînes de caractères
JP2010079723A (ja) * 2008-09-26 2010-04-08 Toshiba Corp 情報処理装置、情報処理方法及びプログラム

Also Published As

Publication number Publication date
JP3827067B2 (ja) 2006-09-27

Similar Documents

Publication Publication Date Title
US8756207B2 (en) Systems and methods for identifying potential duplicate entries in a database
US8868526B2 (en) Parallel segmented index supporting incremental document and term indexing
JP6902945B2 (ja) テキスト要約システム
CN109960815B (zh) 一种神经机器翻译nmt模型的创建方法及系统
US10594630B1 (en) Expansion of packet data within processing pipeline
CN107451204B (zh) 一种数据查询方法、装置及设备
US8312018B2 (en) Entity expansion and grouping
US8286141B2 (en) Instruction-trace generation program, instruction-trace generating device, and instruction-trace generating method
US20080288526A1 (en) Composition of electronic document layout
CN110457348B (zh) 一种数据处理方法及装置
CN113177095A (zh) 一种企业知识管理方法、系统、电子设备及存储介质
JP2002297681A (ja) 有限状態オートマトン作成装置
CN109388615B (zh) 基于Spark的任务处理方法及系统
JP2018163505A (ja) 検索プログラム、情報処理装置および検索方法
JP2005242672A (ja) パターンマッチング装置および方法ならびにプログラム
JP2022052481A (ja) 説明文出力装置、説明文出力プログラム及び説明文出力方法
US20140157275A1 (en) Distributed computing method and distributed computing system
CN114945902A (zh) 减少i/o开销的混洗归约任务
US12019688B2 (en) Method and system for finding one or more unique entities in data
JPH09292986A (ja) 部品抽出方法
WO2021031942A1 (zh) 一种针对目标频谱矩阵的处理方法及装置
US20230306062A1 (en) Method and system for finding one or more unique entities in data
JP2005275880A (ja) 字句をデータに変換する装置、方法及びプログラム
US20200310871A1 (en) System and method for management of processing task
JP4061283B2 (ja) 字句をデータに変換する装置、方法及びプログラム

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20060405

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20060628

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20060628

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees