メモ化を用いた正規表現エンジンの実装
スポンサーリンク
概要
- 論文の詳細を見る
正規表現は文字列処理の基本的なツールとして,言語処理系やテキスト処理アプリケーションに広く用いられている.正規表現と入力文字列とのマッチング処理の実装には,正規表現から構成した非決定性有限オートマトン(NFA)を用い,バックトラッキングを用いてNFAの動作をシミュレートするアルゴリズムや,NFAを決定性有限オートマトン(DFA)に変換してバックトラッキングなしでマッチングを行うアルゴリズムが広く用いられている.NFAとバックトラッキングを用いる実装では,マッチングに要する時間的計算量が最悪で指数関数的になるという問題があり,一方でDFAを用いる実装では,事前にDFAを構成するための空間的・時間的計算量が指数関数的になるという問題点がある.NFAとバックトラッキングを用いる実装にメモ化を組み合わせて,最悪時の時間計算量を改善する提案がなされている.この場合の空間計算量は,正規表現パターン長と入力テキストサイズの積に比例する.また,NFAをバックトラッキングなしで(幅優先で)シミュレートするアルゴリズムも知られている.本発表では,これらの手法の効率を比較し,メモ化に用いるメモリ領域を削減する手法について考察する.
- 一般社団法人情報処理学会の論文
- 2009-01-27
著者
-
山口 喜教
電子技術総合研究所情報アーキテクチャ部
-
前田 敦司
ファーマダイワ
-
前田 敦司
筑波大学システム情報工学研究科
-
前田 敦司
筑波大学情報処理センター
-
山口 喜教
筑波大学システム情報工学研究科
-
山口 喜教
筑波大学大学院システム情報工学研究科
-
前田 敦司
筑波大学大学院システム情報工学研究科
-
須賀功太
筑波大学大学院システム情報工学研究科
-
山口 善教
電子技術総合研究所
関連論文
- 2000-ARC-139-26 MIPSベースマルチレッドプロセッサのFPGAによる実装と評価
- カーネルモジュールを用いた通信端点における侵入検知システム(OS-2:カーネルとネットワーク,2008年並列/分散/協調処理に関する『佐賀』サマー・ワークショップ(SWoPP佐賀2008))
- Packrat Parsingのメモリ効率の改善手法
- P-100非定型抗精神薬の処方解析 : 投与量に及ぼす性差と喫煙の影響(3.医薬品適正使用3,医療薬学の未来へ翔(はばた)く-薬剤師の薬剤業務・教育・研究への能動的関わり-)
- 3ZL-8 通信端点における侵入検知システムのカーネルモジュールを用いた実装手法(情報爆発時代における安全,安心ネットワーク技術,学生セッション,「情報爆発」時代に向けた新しいIT基盤技術)
- 特集「並立処理」の編集にあたって
- データ駆動計算機のアーキテクチャ最適化に関する考察
- データ駆動計算機EM-4の負荷分散
- データ駆動計算機EM-4のパイプライン構成
- データ駆動計算機EM-4のプロトタイプの構成
- データ駆動計算機EM-4における待ち合せ機構
- データ駆動計算機EM-4における要素プロセッサのシングルチップ化の検討
- データ駆動型シングルチッププロセッサのアーキテクチャ
- データ駆動型シングルチップによる高並列計算機の実行制御方式
- 天然高分子サプリメントに対する薬物の結合性評価(発表論文抄録(2006))
- 天然高分子サプリメントに対する薬物の結合性評価
- LIPSシステムにおける記憶管理 (記憶階層)
- 並列型AIマシン (「AIマシン」)
- 細粒度通信機構を持つ並列計算機EM-Xにおける共有メモリプログラムの効率的実行
- ウェーブフロント型並列処理における分散メモリ型並列計算機の通信機構の評価 (並列処理)
- リモートメモリ書き込みを用いたMPIの効率的実装 (並列処理)
- 細粒度並列計算機EM-Xにおけるキャシュメモリアーキテクチャ
- マルチグレイン並列化コンパイラにおける臨界投機実行の効果について
- マルチグレイン並列化処理における臨界投機実行の適用
- 細粒度通信機構を持つ並列計算機EM-Xによる疎行列計算の性能評価
- 第3回コンプレックスコンピュータシステム国際会議 (ICECCS'97)の参加報告
- 辞書圧縮の概念を用いたNIDS向けパターンマッチングアーキテクチャ
- メモ化を用いた正規表現エンジンの実装
- 細粒度通信機構を用いたRadixソートの実行
- 行列演算ベンチマークを用いた並列計算機EM-Xの評価
- 投機的実行研究の最新動向とタスク間投機的実行の有効性
- 細粒度通信機構をもつ並列計算機EM-Xによる疎行列問題の並列処理
- Unlimited Speculative Executionの制御オーバヘッド削減手法
- 高並列計算機EM-Xのリモートメモリ参照機構の評価
- 並列計算機EM-4の細粒度通信による共有メモリの実現とマルチスレッドによるレーテンシ隠蔽
- 並列計算機EM-4におけるマクロタスク間投機的実行の分散制御方式
- 並列計算機 EM-4 の並列プログラミング言語 EM-C
- ループ間DOACROSS方式の並列計算機EM-4上での評価
- 並列計算機EM-Xのプロセッサ・ネットワークインターフェースの最適化の検討
- 多段先行評価方式の並列計算機EM-4上での予備評価
- EM-Cによるニューラルネットワークの実現
- EM-Cによる共有二分決定グラフの並列処理
- EM-Cによる粒度最適化の検討
- 並列計算機EM-4の並列プログラミング言語画EM-C
- インプリサイス計算を用いた柔軟なリアルタイムシステムの構築を目指して
- Java環境における粗粒度インクリメンタルGCの設計
- 4P-7 キャッシュ量を動的に変化させるメモ化手法(プログラミング言語,学生セッション,ソフトウェア科学・工学,情報処理学会創立50周年記念)
- 4P-5 Packrat Parsingを用いたRubyの構文解析(プログラミング言語,学生セッション,ソフトウェア科学・工学,情報処理学会創立50周年記念)
- FPGAによる高速かつ軽量なNFAパターンマッチング回路(FPGA応用)
- データ圧縮技術によるNFAパターンマッチング回路の効率的実現手法(高速化手法, SWOPP武雄2005 (2005年並列/分散/協調処理に関する「武雄」サマー・ワークショップ))
- NIDSにおけるNFAパターンマッチング回路の設計と試作(CPSY-4 ハードウェア設計・応用)(2004年並列/分散/協調処理に関する「青森」サマーワークショップ(SWoPP青森2004))
- 論理回路エミュレータを用いた細粒度並列計算機の評価
- コンプレックスコンピュータシステム国際会議報告
- データ駆動による細粒度並列処理
- データフロー計算機(並列計算機)
- 特集「並列処理」の編集にあたって
- 組込みから並列・分散までの実時間Javaの統一環境の設計と実装
- 余剰FFと位相シフトクロックを利用したFPGA回路の低消費電力実装手法(VLSIシステム)
- スナップショット方式によるJavaのGCのリアルタイム化
- スナップショット方式によるJavaのGCのリアルタイム化(実時間処理に関するワークショップ(RTP2003)情報処理学会システムLSI設計技術研究会との合同ワークショップ : OS,GC)
- 粗粒度インクリメンタルGC
- 複数パイプライン・プロセッサの実時間性能評価
- リアルタイムシステムのハードウエア
- 実時間並列計算機CODAにおけるネットワーク性能の予備的評価
- 実時間処理向き並列ハードウェアエミュレータシステムの構成
- CODAプロセッサにおける実時間処理向きタスクスイッチの性能評価
- 実時間用並列計算機CODAのプロセッサアーキテクチャ
- 優先度先送り方式による実時間相互結合網用ルータチップの実現と性能
- 優先度先送り方式による実時間用相互結合網用ルータチップの性能評価
- 高級言語マシン
- Ruby用仮想マシンYARVにおける並列実行スレッドの実装
- 逐次プログラムの投機並列実行を行なう中間コードインタプリタの構成法
- 投機的 制御/データ依存グラフとJava Jog-time Analyzer : Java Virtual Accelerator実現へ向けての予備評価
- 臨界投機実行のWWW情報検索への応用
- 細粒度並列アーキテクチャ用SISALコンパイラにおける並列粒度調整方式(並列処理)
- 並列粒度調整機能を組み込んだSISALコンパイラの設計と実装
- データ駆動計算機用の高級言語と処理系 (新しいアーキテクチャに基づくコンパイラ技術)
- Carver Mead, Lynn Conway 著, "Introduction to VLSI Systems", Addison-Wesley, 変形B5判, 396p., \8,120, 1980
- 適応ルータの出力チャネル選択における優先次元指定の効果 (並列処理)
- Ruby用仮想マシンYARVの実装と評価
- 特集「DSP(ディジタル信号処理用プロセッサ)」の編集にあたって
- 3ZL-7 軽量ネットワークIDS向け検知ルール圧縮法の提案(情報爆発時代における安全,安心ネットワーク技術,学生セッション,「情報爆発」時代に向けた新しいIT基盤技術)
- 通信端点における軽量侵入検知モジュールの試作(ネットワーク技術,わくわくする先端的コンピュータシステム技術と一般)
- 暗号通信パケットストリームのn-gram予測によるFPGA動的再構成手法とその評価(リコンフィギャラブルシステム)
- 暗号通信リクエスト予測によるFPGA動的再構成タイミング決定手法(リコンフィギャラブル応用II)
- 暗号通信におけるリクエスト予測を用いたFPGA再構成オーバヘッドの低減手法(FPGA応用)
- FPGAの動的書き換えシステムを用いた暗号通信のモデルとその性能評価(CPSY-4 ハードウェア設計・応用)(2004年並列/分散/協調処理に関する「青森」サマーワークショップ(SWoPP青森2004))
- FPGA/ソフトウェア協調処理による侵入検知システムの提案
- 2M-1 パイプライン構造を有するNFAハイブリッドアーキテクチャにおける正規表現パターンの実装と評価(ネットワークアーキテクチャ,学生セッション,アーキテクチャ,情報処理学会創立50周年記念)
- NIDS向けNFAハイブリッドパターンマッチング回路の効率化(ハードウェアアクセラレーション,SWoPP佐賀2008-2008年並列/分散/協調処理に関する『佐賀』サマー・ワークショップ)
- 1ZB-1 辞書化回路と遅延FFを利用したNFAパターンマッチング回路の最適化手法(セキュリティ(1),学生セッション,セキュリティ)
- 3ZL-9 通信端点におけるTCPレベル侵入検知モジュールの実装(情報爆発時代における安全,安心ネットワーク技術,学生セッション,「情報爆発」時代に向けた新しいIT基盤技術)
- Ajax実装のためのJavaServlet上のライブラリの提案
- Scheme言語によるXMLデータ処理の効率化
- メモ化表へのプリフェッチによるPackrat Parserの並列化
- 例外処理と2返戻値法を用いた効率的な継続の実現法
- CPU使用率とメモリのプロセス間交換に基づく動的なスループット向上手法
- 最適化Packrat Parserの空間計算量の計算手法の提案
- Scheme言語によるリスト構造に特化したXMLデータ処理の効率化と記述性の向上
- 東日本大震災時の筑波大学情報インフラにおける対応と課題