核心概念
文脈自由文法に関する様々な問題を解決するための統一的なアルゴリズムを提案し、その効率性と教育的な価値を論じています。
要約
文脈自由文法問題のための統一フレームワーク
この論文は、文脈自由文法に関する様々な問題を解決するための統一的なアルゴリズムを提案し、その効率性と教育的な価値を論じています。
提案されたアルゴリズムは、Book and Otto [1] によって示された pre* アルゴリズムを基にしています。pre* アルゴリズムは、文脈自由文法 G と正規言語 L が与えられたとき、L の先行語 (G の生成規則を繰り返し適用することで L の要素を導出できる文字列の集合) を計算します。
論文では、pre* アルゴリズムを効率的に実装する方法を示し、その時間計算量が O(ps^3)、空間計算量が O(ps^2) であることを示しています。ここで、p は G の生成規則の数、s は L を受理するオートマトンの状態数です。
論文では、提案されたアルゴリズムを用いて、文脈自由文法に関する以下の問題を解決できることを示しています。
メンバーシップ問題: 与えられた文字列 w が G によって生成されるかどうかを判定する問題。
パージング問題: 与えられた文字列 w が G によって生成される場合、その導出過程を求める問題。
無用な変数の識別: G の生成規則に現れない変数を識別する問題。
空性判定問題: G によって生成される言語が空集合かどうかを判定する問題。
有限性判定問題: G によって生成される言語が有限集合かどうかを判定する問題。
nullable 変数の判定: ε を導出できる変数を判定する問題。