チョムスキー階層は古くなっていますか?


45

Chomsky(–Schützenberger)階層は、理論的なコンピューターサイエンスの教科書で使用されていますが、完全なComplexity Zoo Diagramと比較して、明らかに形式言語(REG、CFL、CSL、RE)のごく一部しかカバーしていません。階層は現在の研究でもう役割を果たしていますか?私はここcstheory.stackexchangeでチョムスキーに少しだけの参照を見つけ、中に複雑動物園の名前チョムスキーとSchützenbergerは一切言及されていません。

現在の研究は、正式な文法以外の記述の他の手段に焦点を合わせていますか?私は、表現力の異なる形式言語を記述する実用的な方法を探していましたが、コンテキストセンシティブ言語(GCSL)と目に見えるプッシュダウン言語(VPL)の両方に出会いました。Chomsky階層を更新してそれらを含めるべきではありませんか?または、複雑なクラスの完全なセットから特定の階層を選択する必要はありませんか?私が理解している限り、チョムスキー階層のギャップに収まる言語のみを選択しようとしました。

REG(= Chomsky 3)⊊VPL⊊DCFL⊊CFL(= Chomsky 2)⊊GCSL⊊CSL(= Chomsky 1)⊊R⊊RE

自然言語処理には実用的な関連性があるように見えますが、「マイルドな文脈依存言語」と「インデックス付き言語」(CFLとCSLの間)がどこに収まるのかはまだわかりません(しかし、実用的な関連性はあまり面白くないです)理論的研究;-)。さらに、GCSL⊊P⊂NP⊂PSPACEおよびCSL⊊PSPACE⊊Rに言及して、有名なクラスPおよびNPとの関係を示すことができます。

私はGCSLとVPLで見つけました:

また、VPL、DCLF、GCSL、およびインデックス化された文法も扱っている正式な文法に関する最新の教科書を知っていれば幸いです。実用的なアプリケーションへのポインタが望ましいです。


7
些細な点:複雑性動物園にChomskyとSchützenbergerという名前が存在しないことは、「Chomsky階層が古くなっている」という証拠としては見ていません。Chomsky階層は形式言語理論の概念です。Complexity Zooは、主に複雑性理論に関するWebサイトですが、コンテキストフリー言語などの正式な言語理論の概念がいくつか含まれています。これらは関連しているが、別個のフィールドです。正式な言語理論の教科書で言及されていない場合は時代遅れになりますが、そうであるかどうかはわかりません。
伊藤剛

7
良い点、剛。率直に言って、理論的な基礎(研究論文への参照!)だけでなく、実用的なリソースを備えた「フォーマルランゲージズ動物園」をご覧ください。たとえば、Backus-Naur-Formの多数の構文バリアントと、正規表現のバリアント(正規表現ではないものもあります)があります。単純なチョムスキー階層のほかに、形式言語の研究の現状を明確に把握することは難しいと感じました。
ヤコブ

星のない言語を通常の言語よりも厳密に下に追加することもできます。彼らはレギュラーに似ていますが、Kleeneスターはいません。よく知られています。行儀がいい。
ミソサザイロマーノ

いくつかの答えが私に示したように、チョムスキーの形式文法は形式言語を記述するための歴史的な方法であり、限界に達しました。私はまだ複雑な理論に焦点を合わせていない形式文法の優れた概要を探していますが、すべての参考文献に感謝します!mgalleの回答はこれまでのところ最も評判が悪いので受け入れます。
ヤコブ

2
コンピューターサイエンスでは、コンピューター言語の設計、ソフトウェアの設計とプログラミング、コンテキストのない文法と言語、および正規表現と言語が基本的な作業装置であり、これまでになく重要です。しかし、任意の文法、LBA、および状況依存言語については、一方で、私はアプリケーションをほとんど見なかったか、まったく見ませんでした。
reinierpost

回答:


20

私が自然言語処理コミュニティで見たことから、チョムスキーの正式な文法はあまり使われていません。彼らは(あまりにも)Chomsky Hierarchyは言語をモデル化するには時代遅れだと考えています。

代わりになったのは、書き換えルール(Larsアルゴリズム)、依存関係モデル(Dan Klein)、ツリー置換文法(DOPモデル)、バイナリ特徴文法(Alex Clark)などです。


私の答えを再読すると、それは私がそれがあまりにも聞こえたかったよりも否定的に聞こえます。RLとCFLは自​​然言語の現実的なモデルとなることは決してありませんでした。また、「新しい」モデルのほとんどは実際にそれらに触発されています。
mgalle

RLは自然言語のモデルとしてではなく、何らかのシステム動作のモデルとして設計されていると思いました。[Kleeneの元のテキストは、正式な言語用語も使用していません。]
DG_

26

要するに:はい。

より具体的には、チョムスキーは、言語、文法、およびオートマトンに関連する階層を形式化した最初の企業の1つです。この洞察は依然として非常に重要であり、オートマトン理論に関するすべてのイントロコースで教えられています。しかし、チョムスキーが思いついた特定の階層と、階層の要素の名前はもはや重要ではありません。それ以来、チョムスキーの階層のレベル間、その上、または下に分類される多数の形式を発明しました。また、チョムスキーが使用した名前は特に興味深いものではありません。つまり、複雑さなどの興味深い尺度に基づいたものではなく、単なる数字です。軽度の状況依存言語はType-1.5またはType-1.7またはType-1.3ですか?誰も気にしない。「やや状況に敏感」は、はるかに有益な名前です。

Complexity Zooは、あらゆる種類の条件付き同等物などでいっぱいであるため、少し異なります。オートマトン理論のより現代的な階層は線形ではありませんが(たとえば、CFGとPEGの比較)、それはまだよく知られたトポロジーを持っています。現代のオートマトン理論の展望を得るには、パーサーコンビネータライブラリの作業と、統合理論と型理論に関するもののいくつかを検討する必要があります(ただし、どちらも遠くに分岐しています)。


4
はい、より良い名前を見つけました。結果が古いことを意味するものではありません。
ラファエル

4
@Raphael:時代遅れは、それ自体が名前のためではなく、チョムスキーによって導入された特定の階層が使用されなくなったためです。チョムスキー階層によって記述された包含物は、(a)依然として正しいものであり、(b)あらゆる現代階層の包含物の中にあります。しかし、チョムスキー階層などは、よく知られている高いくつかのポイントを打つことを起こることをひどく関連以外ではありません。人々はチョムスキーの階層構造についてはもう研究していません。他の場所で研究しています。これは、名前/構造に理由がある多項式タワーとは異なります。
ミソサザイロマーノ

26

場合は何も TCS中が古い、それは1956年に知られるように/見なさ面白い起こっ複雑クラスの小さなサブセットのこの包含階層です。

安心して、チョムスキー階層、そしてあなたは学部理論のカリキュラムにもう悩まないように。


12
ジュリス・ハートマニスがかつて叫んだように:「チョムスキーのクラスはどうですか??チョムスキーのクラスは忌まわしい!!」
ライアンウィリアムズ

1
ライアン:ジュリスがCHを「アボミネーション」と呼んでいたことも覚えています。私が答えを書いたとき、私は彼が彼の発言を公開したいかどうか議論していました。しかし、あなたは私よりも彼をよく知っています...:
スコットアーロンソン

このコメントは、言語学やその他の「弱い」科学に対するいくつかの理論的コンピューター科学や数学者の軽pe的な見方によって、少なくとも少し動機付けられている可能性があります:xkcd.com/435。しかし、今日のチョムスキー階層は、現代の複雑性理論の見方を曖昧にしているので、これは私の質問に答えます。それでも、特に実用的なアプリケーションの正式な言語と文法に興味がある場合は、学部生の理論カリキュラムで開始するいくつかの更新された代替品があると便利です。
ヤコブ

1
Chomsky Hierarchyには、「複雑性理論」という用語を使用したときに通常暗示される計算の複雑さではなく、説明の複雑さで並べられた言語のクラスがリストされます。それらは明らかに関連しています。とにかく、1つ(大まかな)階層が、Chomsky Hierarchyから来ていないと理解することができない、より洗練されたクラスをどのように隠すことができるのか、まだわかりません。彼らは玄関のドアです!
ラファエル

20

「モダン」な名前(つまり、REG、LIN、CFL、CSL、REまたはDFA / NFA、PDA、LBA、TM)を持つChomskyの階層を検討する場合、私は言います:いいえ、それは時代遅れではありません!

理由0:その定義と結果が新しい知識と矛盾しないという意味でまだ正しい

理由1:これらのクラス/計算モデルは、あなたが最初に教えるものです-シンプルでよく研究されているからです。最初にDFA / DPDAを取り上げずに、LRオートマトンを学部生に教えてみてください。

理由2:クラスはまだ新しい発明の最初/主要なベンチマークです(もちろん、CFGを超え、CSGを下回っているマルチCFGに関する論文をざっと読みました)。それは、彼らが最初に教えられているからかもしれませんが、彼らシンプルでよく研究されているからです。

反理由3:新しいクラス/モデルが見つかったからといって、結果が時代遅れになることはありません。彼らは、研究フロンティアで積極的に使用されていないにもかかわらず、その分野の基本としての価値を維持しています。


10
「数学は古くならず、古典的になります。」(残念ながら、この引用が誰に起因するのかわかりません。)
ハインリッヒアプフェルス

「DPDA」ではなく「NPDA」という意味ではないですか?一部のコンテキストフリー言語は、非決定的プッシュダウンオートマトンによってのみ認識されます。
ズバンアンブルス

@ZsbánAmbrusかなり正しい。「PDA」とだけ書くべきでした。ありがとう!
ラファエル

最後の理由はまったく説得力がありません(それが反理由だと思いますか?)。多くの結果は時代遅れになります。なぜなら、それらは主題に対する異なるアプローチによって包摂されるか、時には些細なことさえあるからです。私はここでこれを言っているのではなく、述べられている理由があまり言っていないというだけです。また、文法的な短所: "outdate"は動詞ではありません。
サショニコロフ2015

11

計算のモデルに依存すると思います。有限/プッシュダウン/などを検討する場合。計算のモデルとしてオートマトンを使用すると、チョムスキー階層が重要になります(たとえばSipserの本を参照)。一方、チューリング計算モデルではほとんど役割を果たしません。

次の図が役立つ場合があります。

編集:形式言語は、コンピューター言語(Javaなど)とコンパイラーの設計、および自然言語処理(NLP)で重要な役割を果たします。


申し訳ありませんが、あなたのコメントを理解できません。OPはChomsky階層が古いかどうかを尋ねました。彼の理由は、複雑な動物園などでは見られなかったということでした。オートマトンをコンピューティングのモデルと見なすと、チョムスキーの階層が関連するようになると答えました。さらに、この階層のクラスはコンパイラの設計とNLPアルゴリズムにとって重要であると述べました。私見、それは完全に質問に関連しています。
MS Dousti

2
チョムスキーの階層は本当に時代遅れではありません。理論的なコンピューターサイエンス、形式言語、コンパイラー設計などのほとんどの導入で見られます。REGとCFLの間、およびCFLの間の言語も同様に重要だと思います。チョムスキー階層は現在の研究にとって重要ではない「時代遅れ」の匂いがあるので、これらの言語で階層を拡張するのは悪い考えですか?
ヤコブ

新しい拡張機能に適合するアプリケーションを見つける必要がありますが、これは悪い考えではないと思います。
MS Dousti
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.