[論文レビュー] Unique Pattern Matching in Strings
この論文は、最初に一致するルールと最長一致ルールを用いて、正規表現の独自のパターンマッチング意味論を形式化し、一般的に使われる最長一致の再帰的シミュレーションが最初一致と組み合わせて誤りであることを証明する。また、曖昧さのないNFAを構築する整合的かつ完全な型推論アルゴリズムを提示し、正しい部分式関連付けを伴って線形時間でマッチングを効率的に行う。
Regular expression patterns are a key feature of document processing languages like Perl and XDuce. It is in this context that the first and longest match policies have been proposed to disambiguate the pattern matching process. We formally define a matching semantics with these policies and show that the generally accepted method of simulating longest match by first match and recursion is incorrect. We continue by solving the associated type inference problem, which consists in calculating for every subexpression the set of words the subexpression can still match when these policies are in effect, and show how this algorithm can be used to efficiently implement the matching process.
研究の動機と目的
- 文字列における正規表現の独自のマッチング意味論を形式的に定義し、パターンマッチングの曖昧さを解消すること。
- 最長一致が最初一致と再帰を用いてシミュレート可能であるという広く一般的な誤解を特定・是正すること。このシミュレーションは、最長一致ポリシー下で誤りであることが示される。
- 正規型推論問題を解決する:各部分式が独自のマッチング意味論下でマッチング可能な語の集合を計算すること。
- 型推論プロセスから導かれる曖昧さのないNFAに基づいて、効率的で線形時間のマッチングアルゴリズムを開発すること。
- 特定の形式的体系(例:XDuceにおけるもの)に依存しない、文法的およびシステム的独立な型推論のアプローチを提供すること。
提案手法
- 2つの不確実性除去ルール(選択肢では最初一致、Kleeneスターでは最長一致)を用いて、形式的なマッチング関係を定義する。
- 宣言的型推論問題を導入:パターンPと文脈言語Cに対して、独自のマッチング下で各部分式がマッチングする語の言語を計算する。
- ハイパオートマトン(A, f)を構築するアルゴリズムH(P, C)を提案し、f(n)は部分式nがマッチングする言語を表すNFAである。
- パターン構造に基づく再帰的構築規則を用いて各部分式の型を計算する:P = P1.P2、P = P1 + P2、P = P1* の場合。
- 全パターンを認識する曖昧さのないNFA Aを構築し、前方および後方の状態走査により効率的なマッチングを可能にする。
- 2段階のマッチングプロセスを採用する:前方パスで到達可能な状態を計算し、後方パスで一意の受容走査を再構築し、部分式マッチングを抽出する。
実験結果
リサーチクエスチョン
- RQ1正規表現のパターンマッチングにおいて、最長一致を最初一致と再帰を用いてシミュレートする標準的手法は正しいか?
- RQ2独自のマッチング意味論下で、整合的かつ完全な正規型推論アルゴリズムは何か?
- RQ3型推論プロセスは効率的に実装可能であり、線形時間マッチングを可能にする自動機を生成できるか?
- RQ4型推論を特定の正規表現型システムや文法的表現に依存させずに行う方法は何か?
- RQ5型推論およびマッチングプロセスの計算量的複雑度は何か?さらに最適化可能か?
主な発見
- XDuce、C Duce、λre などで一般的に使われる、最長一致を最初一致と再帰でシミュレートする手法は、最長一致ポリシー下で形式的に誤りであることが証明された。
- 提案された型推論アルゴリズム H(P, C) は整合的かつ完全であり、独自のマッチング下で各部分式がマッチング可能な語の集合を正しく計算する。
- 得られる自動機 A は曖昧さがなく、入力文字列ごとに高々1つの受容走査しか持たないため、決定的かつ効率的なマッチングが可能である。
- 前方状態伝播と後方走査再構築を組み合わせることで、部分式マッチングの抽出を伴って線形時間マッチングを実現する。
- 型推論プロセスは特定の正規表現形式的体系に依存せず、言語操作のみに依存するため、明確さと一般性が向上する。
- H(P, C) の構築は最悪ケースで指数的ブロードアップを伴う可能性があるが、論文ではその複雑度に 2EXPTIME の上界があると仮説を立てている。
より良い研究を、今すぐ始めましょう
論文の読解から最終レビューまで、研究時間を劇的に削減しましょう。
クレジットカード登録不要
このレビューはAIが作成し、人間の編集者が確認しました。