埋め込みプッシュダウンオートマトンまたはEPDA は、木結合文法(TAG)によって生成された言語を解析するための計算モデルです。文脈自由文法解析プッシュダウンオートマトンに似ていますが、シンボルを格納するために単純なスタックを使用する代わりに、シンボルを格納する反復スタックのスタックがあり、TAG に文脈自由文法と文脈依存文法、または軽度の文脈依存文法のサブセットの間の生成能力を与えます。埋め込みプッシュダウンオートマトンを、 より計算能力の高いネストされたスタックオートマトンと混同しないでください。 [引用が必要]
歴史と応用
EPDAは、K. Vijay-Shankerが1988年の博士論文で初めて記述しました。[1]それ以来、EPDAは軽度文脈依存文法のクラスのより完全な記述に適用され、チョムスキー階層の改良に重要な役割を果たしてきました。これにより、線形インデックス文法などのさまざまな部分文法を定義できます。[2]
自然言語は伝統的に文脈自由文法(変形生成文法と計算言語学を参照)を用いて分析されてきたが、このモデルはオランダ語のような依存関係が交差する言語にはうまく機能しない。このような状況ではEPDAが適している。詳細な言語分析はJoshi, Schabes(1997)に記載されている。[3]
理論
EPDA は、埋め込みスタック を介してアクセスできるスタックのセットを備えた有限状態マシンです。各スタックにはスタック アルファベット の要素が含まれているため、スタックの要素を で定義します。ここで、星印はアルファベットの クリーネ閉包です。
各スタックはその要素によって定義できるため、オートマトンの 番目のスタックを二重ダガー記号、[明確化が必要]で表します。ここで はスタック内の次にアクセス可能な記号です。したがって、スタックの埋め込みスタックは で表すことができます。[明確化が必要]
EPDAは7組で定義される。
- どこ
- 状態の有限集合である。
- 入力アルファベットの有限集合です。
- 有限スタックアルファベットです。
- 開始状態です。
- 最終状態の集合です。
- スタックの初期シンボル
- は遷移関数であり、 はの有限部分集合です。
したがって、遷移関数は、状態、入力文字列の次のシンボル、および現在のスタックの最上位シンボルを受け取り、次の状態、埋め込みスタックにプッシュおよびポップされるスタック、現在のスタックのプッシュとポップ、および次の遷移で現在のスタックと見なされるスタックを生成します。より概念的には、埋め込みスタックがプッシュおよびポップされ、現在のスタックがオプションで埋め込みスタックにプッシュバックされ、必要な他のスタックがその上にプッシュされ、最後のスタックが次の反復で読み取られるスタックになります。したがって、スタックは現在のスタックの上と下の両方にプッシュできます。
特定の構成は次のように定義されます。
ここで、 は現在の状態、 は埋め込みスタック内のスタックで、 は現在のスタック、 は入力文字列の場合、はマシンによってすでに処理された文字列の部分、 は処理される部分で、その先頭は現在読み取られたシンボル です。空文字列は暗黙的に終了シンボルとして定義されることに注意してください。空文字列が読み取られたときにマシンが最終状態にある場合は、入力文字列全体が受け入れられ、そうでない場合は拒否されます。このような受け入れられた文字列は、言語の要素です 。
ここで、およびは文字列を解析するために必要な回数だけ適用される遷移関数を定義します。
EPDAの非公式な説明は、Joshi, Schabes (1997)、[3] Sect.7、p. 23-25にも記載されています。
けEPDA とウィアー階層
軽度文脈依存クラスに対応する、より正確に定義された言語の階層は、David J. Weirによって定義されました。[4] Nabil A. Khabbazの研究に基づいて、[5] [6] Weirの制御言語階層は、言語クラスの可算セットの 包含階層です[明確化]。レベル1は文脈自由として定義され、レベル2は木結合と他の3つの文法のクラスです。
階層内の レベルk言語の特性の一部を次に示します。
- レベルk言語はレベル( k + 1)言語クラスに適切に含まれる。
- レベルk言語は時間内に解析できる
- レベルkには言語が含まれていますが、
- レベルkには言語が含まれていますが、
これらの特性は、Joshi によって課された軽度文脈依存言語の条件によく対応しており (少なくともk > 1 が小さい場合)、 kが大きくなるにつれて、言語クラスは、ある意味では軽度文脈依存ではなくなります。
参照
参考文献
- ^ Vijay-Shanker, K. (1988 年 1 月)。「木結合文法の研究」。ペンシルバニア大学博士論文。
- ^ Weir, David J. (1994). 「Linear Iterated Pushdowns」(PDF) . Computational Intelligence . 10 (4): 431–439. doi :10.1111/j.1467-8640.1994.tb00007.x. S2CID 205570628. 2012年10月20日閲覧。
- ^ ab Joshi, Aravind K.; Yves Schabes (1997). 「木結合文法」(PDF) .形式言語ハンドブック. 第 3 巻. Springer. pp. 69–124. doi :10.1007/978-3-642-59126-6_2. ISBN 978-3-642-63859-6. 2014年2月7日閲覧。
- ^ Weir, DJ (1992)、「文脈自由言語を超えた幾何学的階層」、理論計算機科学、104 (2): 235–261、doi :10.1016/0304-3975(92)90124-X。
- ^ Nabil Anton Khabbaz (1972).一般化文脈自由言語(Ph.D.). アイオワ大学.
- ^ Nabil Anton Khabbaz (1974). 「言語の幾何学的階層」J. Comput. Syst. Sci . 8 (2): 142–157. doi :10.1016/s0022-0000(74)80052-8.
さらに読む
- ローラ・カルメイヤー (2010)。文脈自由文法を超えた構文解析。Springer Science & Business Media。ISBN 978-3-642-14846-0。
