ヒープオートマトンの調査に関連して、特定のバリアントが非コンテキスト依存言語を受け入れることができないことを証明したいと思います。同等の文法モデルがないため、オートマトンのみを使用する証明が必要です。したがって、私はヒープオートマトンがLBA(または同等のモデル)によってシミュレートできることを示す必要があります。
私は、プッシュダウンオートマトンがコンテキスト依存言語のサブセットを受け入れることを示すのと同じように機能する証拠を期待しています。しかし、私が知っているすべての証明は、
- 文法の使用-ここでは事実は定義から明らかです-または
- 納得できないほどあいまいです(例:ここ)。
私の問題は、PDA(またはHA)に、シンボル(スタック)にシンボルを書き込む可能性がある -transitionsのサイクルが含まれる可能性があることです。LBAは、そのようなループの任意の反復をシミュレートできません。文法で得られたチョムスキー階層から、
- すべての文脈自由言語には、 -cycle-free PDAまたは
- LBAのシミュレーションにより、 -cyclesが頻繁に繰り返されるのを防ぐことができます。
直感的には、これは明らかです。そのようなサイクルは入力とは無関係にシンボルを書き込むため、スタック(ヒープ)のコンテンツは、サイクルの長さにおいて線形の情報のみを保持します(現在のところ、重複するサイクルは無視されます)。また、別の -cycle を使用する以外に、(必要に応じて)ものを再び取り除く方法はありません。本質的に、そのようなサイクルは、複数回繰り返された場合、入力の処理に寄与しないため、必要ありません。
この引数は、特に -cyclesの重複を考慮して、どのように厳密に/正式に記述することができますか?