私が研究したように、文脈自由言語の規則性を決定することは決定できません。
ただし、必要十分条件を提供するMyhill–Nerodeの定理を使用して、規則性をテストできます。したがって、問題は決定可能である必要があります。
私の間違いはどこですか?
私が研究したように、文脈自由言語の規則性を決定することは決定できません。
ただし、必要十分条件を提供するMyhill–Nerodeの定理を使用して、規則性をテストできます。したがって、問題は決定可能である必要があります。
私の間違いはどこですか?
回答:
Myhill–Nerodeは確かに通常の言語の特徴を提供しますが、問題が決定可能であることを示すのに十分ではありません。「決定可能」とは、すべての入力に対して終了するアルゴリズム(より正式には、チューリングマシン)があり、もちろん常に正しい答えを与えるアルゴリズムがあることを意味します。したがって、この場合は、言語を入力として指定し、Myhill-Nerode関係に有限数の同値クラスがあるかどうかを決定するアルゴリズムを提供する必要があります。これは、文脈自由言語では実行できないことがわかりました。お好みの正式な言語の教科書の詳細。
一般的な言語が正規であるかどうかを判断したい場合、さらに微妙なことは、アルゴリズムへの入力が何であるかについて注意する必要があるということです。入力は有限の文字列である必要があります。そうでない場合、入力を読み取るだけでも非終了アルゴリズムになります。文脈自由言語の場合、文法を無限言語の有限表現として使用できます。より一般的な言語では、必要なのは...まあ、もっと一般的なものです。しかし、結局のところ、すべての言語を処理したい場合、あなたは運命にあります。有限のアルファベットを超えると、言語は数え切れないほど多くなりますが、有限の文字列は数え切れないほど多くなります。つまり、有限の文字列を使用してすべての言語を説明することはできません。1したがって、入力として指定された任意の言語が通常のものであるかどうかを判断するアルゴリズムを記述しようとすると、実際にそれが始まる前に失敗します。アルゴリズムを記述できないだけでなく、入力を記述することさえできません。
これは、人間がMyhill–Nerodeを使用して言語が正規であるかどうかを判断できないという意味ではありません。それはあなたがそれを行う方法を私に教えるための正確な指示のセットを書き留めることができないことを単に意味します。ある時点で、そのような一連の指示は、「次に、それをいじって何が機能するかを確認する」または「そこから、自分でそれを理解する必要があります」のようなものを言わなければならないでしょう。