単項文脈依存言語が正規かどうかの決定


18

質問がよく知られている結果です

文脈自由文法は通常の言語を生成しますか?

決定不能です。ただし、この場合、文脈自由言語と通常言語のクラスが一致するため、単項アルファベットで決定可能になります。

私の質問は、単項文脈依存言語で何が起こるかを知ることです。

単項アルファベットの特定の文脈依存文法が通常の言語を生成するかどうかを知ることは決定可能ですか?

答えが正であれば、複雑さの推定は歓迎されます。

回答:


9

残念ながら、あなたの問題は決定不能です。私は(より好都合なアプローチを持っている人がステップアップする必要がありますので、神経が高ぶったことかもしれない!)につまずいた最初の用途に斜めの引数を単項CSLのがあることを証明するためのアプローチX肯定的な結果とは対照的に(定期的ではありません単項CFLのため)、及びTM所与によってその後チューリングマシンの停止問題から減少M、CSG構築GシミュレートれるMテープの長さ解析文字列よりも短い上にw認識、X場合はMその範囲を逸脱することなく、停止そうでなければ解析に失敗し、その結果、G正常にすべての構文解析wXM停止する場合(L(G)が有限数の文字列でのみと異なるXため、正規ではない場合)、Gは空の言語を認識します(明らかに規則的です)。

このアプローチの鍵は、CSGはフレーズ構造などの文法的な問題だけに関係していないという観察です。実際、CSG派生シーケンスは任意の非決定論的な空間限定計算を実行できます(実際にはPSPACE-完全なCSL)を使用して、解析文字列に合わせて調整する業務を開始します。これは、CSGと単調文法(単項アルファベットに制限されている場合に動作し続ける)の間の標準変換、および計算履歴の段階を表す派生文字列のチューリングマシン遷移をシミュレートするための単純な単調生成の使用によって最も簡単に観察されます。この回答を通して、CSGが特定の計算をシミュレートする必要がある場合、読者は詳細のほとんどを直観できると想定します。(私は質問者がこれらすべてに満足していると思いますが、完全を期すためにそれを検討します。それにもかかわらず、コメントで明確化を要求してください。)


まず、非正規の単項CSGが必要です。(編集:だから、これはやり過ぎでした-非正規の単項CSLは、最も基本的な非正規性を示す言語のポンピング補題を介して簡単に表示できます。例についてはコメントを参照してください。核弾頭をナイフの戦いに持っていくようなものでした。好奇心が強い場合は、この構造を熟読してください。

レッツアルファベット上のDFAの列挙である{ 1 }内の状態の数ように、Dは、iがに増加I。我々は、CSG記述G Xを文字列解析ながら、その挙動の点で1 N{ 1 } *D1,D2,...{1}DiiGX1n{1}

  1. 「空白」非終端文字列を非決定的に生成します。これは「テープ」と見なされます。空白の非端末の1つは、独立した「空白+読み取り/書き込みヘッド+開始状態」の非端末である必要があります。解析文字列が1 nでない場合、この派生は失敗します。残りのプロセスを、可能な唯一の導出によってシミュレートされた決定論的計算の観点から説明します。n1n
  2. テープにエンコーディングとそれに続くバイナリの数値iを印刷します。i = n cおよびcが選択されているため、必要な処理を行うのに十分なスペースがテープに常にあります。(スペースは両方とも符号化するのに必要なので、これは可能であるD IIはで対数成長のI)。Diii=nccDiii
  3. 入力1 iでを評価します。これが表す必要はありませんDはのテープを-あなたはちょうどあなたがの遷移に応じて変化する単一の状態、保存することができますD 私はあなたがデクリメントとして私をDi1iDiDii
  4. 場合拒否1つのIを産生非端末とテープ全体を上書き1。それ以外の場合は失敗します。Di 1i1

を取ります。明確X L D I任意用I、以降1 I + CX 1 I + CL D IX=L(GX)XL(Di)i1i+cX1i+cL(Di)


次のステップは、停止する問題から質問者の問題への削減を設計することです。(上記のセクションをスキップした場合、をCSG G Xによって生成される任意の非正規の単項CSLとします。)XGX

してみましょう任意TMなります。Mを解析文字列1 nで次のように動作するCSG Gに変換します。MMG1n

  1. 空白の非終端記号を生成します。左端は個別の空白+読み書きヘッドの非終端記号で、各辺に「境界」非終端記号も生成します。繰り返しますが、間違った数の非端末を生成すると失敗します。n2
  2. 境界の非終端間の空間でをシミュレートします。Mが境界状態の1つにシフトした場合、シミュレーションを終了し、Mが停止しないと仮定します。MMM
  3. 停止した場合、G Xのように動作します。シミュレーションを終了する必要がある場合、失敗します。MGX

が境界内で永久に実行された場合、Gは解析文字列を生成できず、失敗することに注意してください。もしMが停止し、その後、スペースのある量が存在するn個含有するのに十分れるMの全体の計算を、したがってGパース1 MたびM N + 21 MX、ひいてはXは、の和集合であるL G そして有限言語、そこからL G MGMnMG1mmn+21mXXL(G)L(G)定期的ではありません。一方、が停止しない場合、L G = は明らかに規則的です。ML(G)=

が規則的かどうかを決定するアルゴリズムは、Mがブランクテープで停止するかどうかを決定しますが、これは決定不能です。その結果、アスカーの問題は決定不能です。L(G)M


2
{ P | pは  素数です }{an2n0}{app is prime}

確かに、やりすぎで、おそらく対角線上の議論はひどくやり過ぎだと思い込んでいたはずです。答えにメモを編集します。それでも、2番目の部分が役立ったことを願っています。
gdmclellan

@ J.-E.Pin:私はそれについてあまり考えませんでした、単項文脈依存文法を構築するのは簡単ですか?{app is prime}
マルツィオデビアーシ

@私は自分自身を確認するが、これに頼っていなかった告白しなければならないマルツィオ・ド・BIASI 答え
J.-E.

@MarzioDeBiasi非常に簡単です。言語がコンテキスト依存かどうかを判断する場合、通常のプロセスは1のようなものです。解析文字列を非決定的に推測します。2.解析文字列が何らかの述語を満たしているかどうかを判断するために、スペースに制限された計算を実行します。3.述語が満たされていることが判明した場合に文字列を生成します。スペースは少し問題になる可能性があります(スペース制限は、コンテキスト依存のプロダクションを使用して派生文字列を縮小できないため、解析文字列の長さによって与えられます) 。
gdmclellan

6

これは本質的に上記と同じ答えですが、「より便利な」答えが求められているため、私はこれに言及しています:(また、これはここでの私の最初の投稿なので、些細なことを投稿している場合はご容赦ください!)

単項の状況依存言語の場合、空は決定不能であることを観察してください。状況依存ではあるが非正規言語修正します。 LBAが与えられた場合、 LBAを簡単に構築できます。 。そして、が空の場合に限り、は明らかに規則的です。 L * L ' = { N | NN  と  M N ML } L ' LNaLaL={ananN and mn:amL}LL

更新:もちろん、同じ議論は、決定論的対数空間については決定不能性が既に成立していることを示しています。


「空は単項文脈依存言語にとって決定不能です」:それはよく知られた事実ですか?参考になりますか?
J.-E.

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