文法以外の形式言語を記述する他の方法はありますか?


22

私は、文法階層だけでなく、一般的な形式言語(文字列のセット)の記述を扱う数学理論を探しています。


古典的なチョムスキーを超える多くの、多くのグラマータイプがあることに注意してください。例えば、それぞれ、複数の、結合された、長さに依存する文脈自由文法です(簡単にグーグル化可能)。
— ラファエル

回答:


14

たくさんの可能性があります。他の人はすでに豊富な選択を提供するオートマトンに言及しています。次のフレームワークも検討してください。

  1. 一部の言語は、(co)帰納的定義によって直接定義できます。たとえば、の最小不動点 はで記述された言語と同じ言語であり、最大の固定点は(ba \ mid A)^ \オメガ。このような定義は、計算または推論規則の形式でも記述できます。\ qquad \ begin {align *} \ phantom {a} \\ \ frac {} {\ varepsilon}、\ quad \ frac {w} {aw} 、\ quad \ frac {aw} {baw} \\ \ phantom {a} \ end {align *}
    (B|)*(B|)ωa⇒ ε∈Lw∈L⇒aw∈Law∈L⇒baw∈La
    (ba∣a)∗(ba∣a)ω
    aε、waw、awbawa

  2. 単語は、論理式のモデルとして使用できる単語構造を定義します。基本的に、すべての単語はその位置のドメインを定義します、述語なので、 for、A述語つまりからに制限と述語場合にのみ真であります2番目のパラメーターは、拳の直接の後継者です。 たとえば、場合、P:D → { 0 、1 } P(I )⟺ wはiは = A 、A ∈ Σ < < N D W SUC :D W × D W → { 0 、1 } W = A B B BDw={1、…、n}Pa:D→{0、1}Pa(私)⟺w私=aa∈Σ<<NDwsuc:Dw×Dw→{0、1}
    w=aababaab
    (ba∣a)∗ω(ba∣a)ωaSw⊨∀i.∀j. (Pb(i) ∧ suc⁡(i,j))→¬Pb(j);a
    実際、この一次式は、---それを満たすすべての単語構造のセットを介して---と同じ言語を定義します。対応する言語は、LTL式 古典的な言語クラスと特定のロジックとのいくつかの同等性が知られています。たとえば、FOはスターフリー言語、弱いMSOに対応します(ba∣a)∗ω(ba∣a)ω
    a◻(Pb→◯(¬Pb))a
    通常の言語へ、MSOから omega-通常言語へ。参考資料についてはこちらをご覧ください。ω

  3. 古典的なクラスに直交するものはパターン言語です。終端アルファベットおよび可変アルファベット想定します。文字列はパターンと呼ばれます。してみましょうの置換のセット。我々は、パターンの言語定義としてはパターンで動作するように拡張されている ことに注意してください。終端記号は変更されません。 例として、考えてみましょうX = { X 1、X 2、... } のp ∈ (Σ ∪ X )+ H = { σ | σ :X → Σ * } PΣバツ={バツ1、バツ2、…}p∈(Σ∪バツ)+H={σ∣σ:バツ→Σ∗}p
    aL(p)={σ(p)∣σ∈H}.a
    σ
    L(x1abbax1)={wabbaw∣w∈{a、b}∗}。
    置換による変数の削除が許可されていることに注意してください。パターン言語のクラスの一部のプロパティは、削除置換と非削除置換で大きく異なります。パターン言語は、ゴールドスタイルの学習に特に関心があります。


5

オートマトン理論をご覧ください。それについて多くの資料があります。

たとえば、ラベル付きエッジを持つ非決定性有限オートマトンで通常の言語を定義できます。オートマトンが文字でラベル付けされた遷移をたどり、最終状態で停止する場合、文字列は言語に属します。

また、コンテキストフリー文法はプッシュダウンオートマトンによって認識される場合があります。

言語を定義するもう1つの方法は、チューリングマシンを使用することです。


5

チョムスキー階層形式言語の4種類がある(それらのそれぞれは、それの後のもののサブセットです):

通常の正式言語はによって説明することができます。

  1. 通常の文法
  2. 有限オートマトン(決定論/非決定論)
  3. 正規表現

1.、2.、3は同等であり、そのうちの1つから他を構築できます。

文脈自由形式言語をによって説明することができます。

  1. 文脈自由文法
  2. プッシュダウンオートマトン

また、1と2.は同等です。

コンテキスト依存の正式言語はによって説明することができます。

  1. 線形有界オートマトン(テープが制限されたチューリングマシン)

帰納的可算正式言語はによって説明することができます。

  1. トータルチューリングマシン

そして、他のすべての言語クラス?
— ラファエル

そして、クラスレス言語?
— デイブクラーク

チョムスキーは、これらが言語の唯一のタイプであるとは言いません-それらは彼が重要だと思う4つのタイプであり、私たちはまだそれらを重要だと考えていますが、他の多くのタイプがあります。
— reinierpost 14

5

他の答えに加えて、「ジェネレーター」とクロージャーのプロパティの観点から言語を記述および分類できます。たとえば、ある言語で生成された最小のAFLについて話すのは理にかなっています。このタイプの説明について学習を始めるのに適した場所はこの本ですが、ハードコピーを見つけるのは非常に困難です。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.