通常、2つ以上のカウンターを備えたカウンターマシンは、計算理論のコースでチューリングマシンと同等であることが示されています。ただし、1カウンターマシンで認識できる言語の正式な分析は見ていません。これらの言語はコンテキストフリー言語と同等ですか(おそらく、PDAに関連する巧妙な構成による)、またはまったく異なるクラスの言語ですか?
通常、2つ以上のカウンターを備えたカウンターマシンは、計算理論のコースでチューリングマシンと同等であることが示されています。ただし、1カウンターマシンで認識できる言語の正式な分析は見ていません。これらの言語はコンテキストフリー言語と同等ですか(おそらく、PDAに関連する巧妙な構成による)、またはまったく異なるクラスの言語ですか?
回答:
ワンカウンターオートマトンは、スタック上で許可されるシンボルが1つだけのプッシュダウンオートマトン(および固定ボトムシンボル)です。1つのカウンターオートマトンによって認識される言語は、コンテキストのない言語の適切なサブセットを形成します。
例えば、1カウンタオートマトンは、言語認識することができる規則的ではなく、言語認識できない{ N B M A 、M B 、N }文脈自由であり、2カウンタによって認識することができますオートマトンも。
k-DCAが決定論的 kカウンターオートマトンであり、k-NCAが非決定論的 kカウンターオートマトンである場合、次の適切なインクルードがあります。
DFA(正規言語) 1-DCA ⊂ 2-DCA
1-DCA 1-NCA
我々は許可しない場合は遷移(への切り替えリアルタイム)その後、K-DCA ⊂ K'-DCAのk <k」分を。
ちょうど完了する:文脈自由な言語があるが、カウンタautomatas(K-DCA Kとによってrecgnizedすることができない(例えば2){ wはW R })、そして言語のために(文脈自由でないカウンタautomatasによって認識しました例{ a n b n c n })。カウンターオートマトン(特に2カウンターオートマトン)は、その入力と出力が適切にエンコードされている場合にのみチューリング完了できます(詳細については、Wikipediaのエントリを参照してください)。
カウンターオートマトンは、AFAおよびAFL理論(オートマトンと言語の抽象的なファミリ)のコンテキストで、米国およびフランスのチーム(Ginsberg、Greibach、...、Nivat、Berstel、...)
カウンターオートマトンは、通常、自然数(または複数のカウンターがある場合は複数)で構成される外部メモリを備えた有限状態オートマトンとして定義されます。この数は、増分、減分、および(通常)ゼロのテストが可能です。計算はゼロから始まり、カウンターが最後にゼロになったときにのみ受け入れられます。これは、プッシュダウンの空スタックの受け入れに相当します。
そのようなマシンに少なくとも2つのカウンタがある場合、決定論的な場合でもチューリングマシンと同等です。この事実の証明はミンスキーによるものであり、リンクしたウィキペディアの記事で見つけることができます。モデルはもちろん、同じウィキペディアのページで言及されている登録マシンに関連しています。このページのウィキペディアはカウンターのみを想定しているのに対して、ウィキペディアの記事で言及されているコーディングの問題は、この設定では重要ではありません。
このカウンタオートマトンは、唯一のスタックシンボル、を有する、PDAの特別な種類として見ることができるとボトム・オブ・スタック(移動されることはありません)。これにより、オートマトンはカウンター/スタックがゼロかどうかをテストし、それに応じて動作することができます。
実際、カウンターオートマトンには3つのタイプがあります。したがって、結果を賢く組み合わせるか、矛盾することになります(過去に私が経験したように)。3つのタイプはすべて(厳密に)ワンカウンターのコンテキストフリー言語に含まれています。
上記の型は整数(または問題ではない自然数)を格納し、その内容をゼロでテストできます。 ブラインドカウンターオートマトンは整数を格納しますが、ゼロをテストできません。しかし、それらはゼロ以下に明確にカウントできます。 部分ブラインドカウンターオートマトンはゼロをテストできませんが、自然数を格納します。マシンがゼロ未満になろうとすると、受け入れずに停止します。これは、ペトリネットをモデル化するための自然なストレージタイプです。また、特別なボトムマーカーのない単一のスタックシンボルを使用してPDAに関連付けられています(したがって、ゼロのテストの問題:最後のスタック要素をポップするときにスタックします)。応答性カウンターモデルで定義されるファミリの名前は、OCL、ROCL、1-BLINDの場合があります。
関連する研究の例として、Latteux et alには、「一カウンタ言語の家族は商の下で閉じられている」という重要な論文があります(実際にはROCLについてです)。