文脈自由言語の規則性を決定できないのはなぜですか?


8

私が研究したように、文脈自由言語の規則性を決定することは決定できません。

ただし、必要十分条件を提供するMyhill–Nerodeの定理を使用して、規則性をテストできます。したがって、問題は決定可能である必要があります。

私の間違いはどこですか?


3
Myhill-Nerode関係に有限数の同値類があるかどうかを判断するには、どのように提案しますか?文脈自由言語のどのような特性があなたにそれを可能にすると思いますか?
David Richerby 2014年

2
計算可能性の定義を確認してください。問題を(常に)解決するチューリングマシン(または、より一般的にはアルゴリズム)を提供する必要があります。Myhill-Nerodeは、それ自体がアルゴリズムではなく、単なる特性です。提供されたプロパティは決定可能ですか?定理をそのようなアルゴリズムに変換してみましたか?
ラファエル

2
@Jiya「規則性を決める」とはどういう意味ですか?最初は、それが何を意味するのかは明らかですが、実際にはもっと微妙です。決定手順(アルゴリズム)は有限の入力を取る必要があるので、入力として無限の言語をどのように与えますか?などの式を使用したい場合があります。わかりましたが、どのような表現を許可しますか??です?{anbnn0}{anbmthe mth Turing machine halts on input m}{anbknk is one of David Richerby's favourite numbers}
David Richerby 2014年

1
@Jiya絶対にそうです。ただし、受け入れる式のセットを選択し、それらの式の正式な仕様を記述する必要があります。次に、チューリングマシンは式を解析し、それらが通常の言語に対応しているかどうかを判断する必要があります。
David Richerby 2014年

1
@Jiyaあなたが考える唯一の言語は、フォームのものであれば、及び、定数であるが次に、、、および 2つまたは3つがゼロである場合にのみ、結果の言語は正規です。したがって、そのように定義された言語の場合、結果の言語が正規であるかどうかを決定する問題決定可能です。あなたは数の間のより複雑な関係ができた場合でも、Sを、 sおよび sが、言語が規則的であるかどうかを決定不能することができます。これが、言語の指定方法が非常に重要である理由です。{akxbxcmx|x0}kmkmabc
David Richerby 2014年

回答:


9

Myhill–Nerodeは確かに通常の言語の特徴を提供しますが、問題が決定可能であることを示すのに十分ではありません。「決定可能」とは、すべての入力に対して終了するアルゴリズム(より正式には、チューリングマシン)があり、もちろん常に正しい答えを与えるアルゴリズムがあることを意味します。したがって、この場合は、言語を入力として指定し、Myhill-Nerode関係に有限数の同値クラスがあるかどうかを決定するアルゴリズムを提供する必要があります。これは、文脈自由言語では実行できないことがわかりました。お好みの正式な言語の教科書の詳細。

一般的な言語が正規であるかどうかを判断したい場合、さらに微妙なことは、アルゴリズムへの入力が何であるかについて注意する必要があるということです。入力は有限の文字列である必要があります。そうでない場合、入力を読み取るだけでも非終了アルゴリズムになります。文脈自由言語の場合、文法を無限言語の有限表現として使用できます。より一般的な言語では、必要なのは...まあ、もっと一般的なものです。しかし、結局のところ、すべての言語を処理したい場合、あなたは運命にあります。有限のアルファベットを超えると、言語は数え切れないほど多くなりますが、有限の文字列は数え切れないほど多くなります。つまり、有限の文字列を使用してすべての言語を説明することはできません。1したがって、入力として指定された任意の言語が通常のものであるかどうかを判断するアルゴリズムを記述しようとすると、実際にそれが始まる前に失敗します。アルゴリズムを記述できないだけでなく、入力を記述することさえできません。

これは、人間がMyhill–Nerodeを使用して言語が正規であるかどうかを判断できないという意味ではありません。それはあなたがそれを行う方法を私に教えるための正確な指示のセットを書き留めることができないことを単に意味します。ある時点で、そのような一連の指示は、「次に、それをいじって何が機能するかを確認する」または「そこから、自分でそれを理解する必要があります」のようなものを言わなければならないでしょう。


  1. 特に、これは、アルゴリズムよりも多くの言語があるため、一部の言語は決定不可能でなければならないことを意味します。

1
再帰的に列挙可能、決定可能、または文脈自由言語にさえも制限することで、入力エンコーディングの問題を回避できます。次に、「自然な」入力エンコーディング(文法、チューリングマシンなど)がありますが、それでも規則性を判断できません。したがって、明らかに、さらに微妙なことが進行中です。
ラファエル

ラファエルに感謝します。「doom」セクションがすべての言語を入力として受け入れることができないことに言及したことを明確にするために編集しました。
David Richerby 2014年
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.