ワンカウンターマシンで認識される言語はどれですか?


15

通常、2つ以上のカウンターを備えたカウンターマシンは、計算理論のコースでチューリングマシンと同等であることが示されています。ただし、1カウンターマシンで認識できる言語の正式な分析は見ていません。これらの言語はコンテキストフリー言語と同等ですか(おそらく、PDAに関連する巧妙な構成による)、またはまったく異なるクラスの言語ですか?


2
この本:Jean Berstelによるbooks.google.co.uk/books/about/…は、1カウンター言語およびコンテキストフリー言語の他のサブセットについてかなり深く掘り下げていますが、実際には非常に難しい傾向があります。そのコピーを追跡します。
サムジョーンズ

1
@SamJones実際、Jean Berstelによる有名な著書Transductions and Context-free Languagesは絶版になりました。著者は、本の最も重要な章の電子版を利用可能にしました。www-igm.univ-mlv.fr/~berstel/LivreTransductions/…–
ヘンドリック

回答:


11

ワンカウンターオートマトンは、スタック上で許可されるシンボルが1つだけのプッシュダウンオートマトン(および固定ボトムシンボル)です。1つのカウンターオートマトンによって認識される言語は、コンテキストのない言語の適切なサブセットを形成します。

例えば、1カウンタオートマトンは、言語認識することができる規則的ではなく、言語認識できない{ N B M A 、M B 、N }文脈自由であり、2カウンタによって認識することができますオートマトンも。{anbn}{anbmambn}

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のエントリを参照してください)。{wwR}{anbncn}


質問:(1)コンテキストオートマタによって認識されるコンテキストに依存しない言語は、通常ではないということですか?(2)DCAには階層がありますか?どうして?それらはすべてチューリング等価で(ではありません)。k2
ヘンドリック

(1)いいえ「コンテキストフリーではない」という意味です(k> 1台のカウンターマシンで認識できる、適切にエンコードされたコンテキスト依存言語を選択してください)答え)
はVor

私は、両方向に無制限のカウンターには違いがあり、そのような「ボトムアウト」がゼロになることを覚えているようです。
ラファエル

7

カウンターオートマトンは、AFAおよびAFL理論(オートマトンと言語の抽象的なファミリ)のコンテキストで、米国およびフランスのチーム(Ginsberg、Greibach、...、Nivat、Berstel、...)

カウンターオートマトンは、通常、自然数(または複数のカウンターがある場合は複数)で構成される外部メモリを備えた有限状態オートマトンとして定義されます。この数は、増分、減分、および(通常)ゼロのテストが可能です。計算はゼロから始まり、カウンターが最後にゼロになったときにのみ受け入れられます。これは、プッシュダウンの空スタックの受け入れに相当します。

そのようなマシンに少なくとも2つのカウンタがある場合、決定論的な場合でもチューリングマシンと同等です。この事実の証明はミンスキーによるものであり、リンクしたウィキペディアの記事で見つけることができます。モデルはもちろん、同じウィキペディアのページで言及されている登録マシンに関連しています。このページのウィキペディアはカウンターのみを想定しているのに対して、ウィキペディアの記事で言及されているコーディングの問題は、この設定では重要ではありません。

このカウンタオートマトンは、唯一のスタックシンボル、を有する、PDAの特別な種類として見ることができるボトム・オブ・スタック(移動されることはありません)。これにより、オートマトンはカウンター/スタックがゼロかどうかをテストし、それに応じて動作することができます。

実際、カウンターオートマトンには3つのタイプがあります。したがって、結果を賢く組み合わせるか、矛盾することになります(過去に私が経験したように)。3つのタイプはすべて(厳密に)ワンカウンターのコンテキストフリー言語に含まれています。

上記の型は整数(または問題ではない自然数)を格納し、その内容をゼロでテストできます。 ブラインドカウンターオートマトンは整数を格納しますが、ゼロをテストできません。しかし、それらはゼロ以下に明確にカウントできます。 部分ブラインドカウンターオートマトンはゼロをテストできませんが、自然数を格納します。マシンがゼロ未満になろうとすると、受け入れずに停止します。これは、ペトリネットをモデル化するための自然なストレージタイプです。また、特別なボトムマーカーのない単一のスタックシンボルを使用してPDAに関連付けられています(したがって、ゼロのテストの問題:最後のスタック要素をポップするときにスタックします)。応答性カウンターモデルで定義されるファミリの名前は、OCL、ROCL、1-BLINDの場合があります。

(Dc)D={w{a,b}#a(w)=#b(w)}abc

関連する研究の例として、Latteux et alには、「一カウンタ言語の家族は商の下で閉じられている」という重要な論文があります(実際にはROCLについてです)。

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