双方向の決定論的カウンターオートマトンによって認識される単項言語


17

2D-CAの(双方向決定的一カウンタオートマトン)(ピーターセン、1994)以下の単項言語を認識することができる:

POWER={02nn0}.

2dcaで認識される他の非自明な単項言語はありますか?

まだ2D-CAのが認識できるかどうかは不明であること発言SQUARE={0n2n0}


定義:2dcaは、カウンターを備えた双方向の決定論的有限オートマトンです。2dcaは、カウンターの値がゼロかどうかをテストし、各ステップでカウンターの値を1ずつ増減します。


3
2DCAの定義にリンクを追加できますか?
スレシュヴェンカト

3
@SureshVenkat:参照と定義も追加しました。
Abuzer Yakaryilmaz

1
@AbuzerYakaryilmaz:すべての固定のためにが認識することができる{ 0 KをNN 0 }k{0kn:n0}
マルツィオデBIASI

@MarzioDeBiasi:アルゴリズム容易に一般化することができるP O W E R K = { 0 K N | N 0 }K 3。したがって、これらの言語は私にとって非常に簡単です。POWERPOWERk={0knn0}k3
Abuzer Yakaryilmaz

1
ええと、実際、このように思うと、マルツィオがすでに行ったのと同じ観察結果になってしまいます。限界マーカーを何度も読む必要があるかどうかにはまだ興味があります。
-domotorp

回答:


6

これは、マービン・L・ミンスキーの「タグのポストの問題の再帰的解決不可能性とチューリング機械の理論における他のトピック」を読んでいるときに思いついたアイデアです。特に有名な定理Ia:

定理Iaの:私たちはどんな部分再帰関数表現することができる 二つの整数上で動作するプログラムによってS 1及びS 2 指示に従って使用してI jの形のを: (i)が1〜ADD SのJ、およびに行くIのJ 1 ( ⅱ)から1を引くのS jを、もしSのJ0をしてまで行くIのJ 1そうでない場合に行って、私のJ 2 である、我々はこのようなプログラムを構築することができるとともに始まりS 1f(n)S1S2Ij
SjIj1
SjSj0Ij1Ij2
および S 2 = 0であり、最終的に S 1 = 2 f n および S 2 = 0で停止するS1=2nS2=0S1=2f(n)S2=0

あなたは1つのオーバーカウンターで双方向DFAをお持ちの場合は(半)無限テープ入力は単項で与えられる:その後、DFAことができます:$12n000...

  1. 単項入力を読み取ります(そしてカウンタに保存します)。
  2. 上の作業テープの一部からの距離を使用して1秒カウンタとしてS。01

そのため、チューリングの完全な2カウンターマシンをシミュレートできます。

さて、あなたは再帰関数を持っている場合その時点で実行さT N 1つのカウンターを標準チューリングマシン上で、双方向DFAその上の開始有限テープf(n)T(n) $1m$(ここでおよびT n Tm=2n3T(n))は以下を行うことができます:T(n)T(n)

  1. 単項入力を読み取ります(そしてカウンタに保存します)。
  2. 左端のシンボルに戻る。
  3. このように、カウンターにが含まれるまで、カウンターを3で除算します。状態q z 0q z 1q z 2から右ループし1を減算します。カウンターが状態q z 0で 0に達した場合、左端のシンボルに+1を追加して除算ループを続行します。そうでない場合は、1(状態q z 1の場合)または2(状態qの場合)を追加します2nqz0,qz1,qz2qz0qz1)を追加し、+を追加して左端のシンボルに移動します3(つまり、3で割り切れないカウンターの以前の値を復元します)、ステップ4に進みます。qz2
  4. この時点で、カウンターには ます。2n
  5. 右側のT n 空間を2番目のカウンターとして使用してを計算します(2番目のカウンターの値は、左端のシンボル$からの距離です)。2f(n)T(n)$

したがって、有限テープ上に十分なスペースを与える上記の特別な入力エンコーディングを使用すると、1つのカウンターと単項アルファベットを持つ双方向DFAですべての再帰関数を計算できます。

アプローチが正しい場合には、選択する方法についての理由に興味深いものになるだろう場合、または大きい奇数選択するのに十分であるK » 2として入力をコード1 、MM = 2 n k nT(n)T(n)k21mm=2nkn


-1

自明ではないが、私はあなたが1dcaで受け入れられない言語Lを意味すると仮定します。ここにそのような言語があるようです:

CENTER = {w | wは{0,1} *を超え、一部のx、yに対してw = x1yで、| x | = | y |}

この言語は1dcaでは受け入れられませんが、1ncaでは受け入れられます。2dcaで受け入れることができます。詳細は演習として残します。


2
OPはを要求単項(入力は次のように与えられている言語$1n$
マルツィオ・デ・BIASI
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.