コンピュータサイエンス、特にオートマトン理論において、双方向有限オートマトンとは、入力を再読み込みできる 有限オートマトンを指します。
双方向決定性有限オートマトン
双方向決定性有限オートマトン( 2DFA ) は抽象マシンであり、すでに処理された文字を再訪できる決定性有限オートマトン(DFA)の一般化バージョンです。DFA と同様に、現在の文字に基づいて状態間の遷移を伴う有限数の状態がありますが、各遷移には、マシンが入力内の位置を左、右、または同じ位置に留まるかどうかを示す値もラベル付けされます。同様に、2DFA は、作業テープがなく、読み取り専用の入力テープのみを持つ 読み取り専用チューリングマシンと見なすことができます。
2DFAは1959年の画期的な論文でラビンとスコットによって導入され、[1]一方向DFAと同等の能力を持つことが証明されました。つまり、 2DFAで認識できる形式言語はどれも、各文字を順番に調べて消費するだけのDFAで認識できます。DFAは明らかに2DFAの特殊なケースなので、これは両方の種類のマシンが正確に正規言語のクラスを認識することを意味します。しかし、2DFAと同等のDFAは指数関数的に多くの状態を必要とする可能性があるため、2DFAはいくつかの一般的な問題のアルゴリズムのより実用的な表現になります。
2DFA は、積構造 (作業テープ状態と制御状態の各組み合わせの状態) を介して有限制御状態に任意の一定量の情報を組み込むことができるため、作業テープ上で一定量のスペースのみを使用する読み取り専用チューリング マシンと同等です。
正式な説明
形式的には、双方向決定性有限オートマトンは次の8組で記述できる。ここで
- 有限で空でない状態の集合である
- 入力シンボルの有限かつ空でない集合である
- 左のエンドマーカーです
- 正しいエンドマーカーです
- 開始状態です
- 最終状態です
- 拒否状態です
さらに、次の 2 つの条件も満たす必要があります。
- 全ての
- 一部の人にとって
- 一部の人にとって
ポインタが入力ワードのいずれかの端に到達したときに、何らかの遷移が可能になるはずだと書かれています。
- すべてのシンボルについて[説明が必要]
オートマトンは一度受け入れまたは拒否の状態に達すると、永遠にそこに留まり、ポインタは右端のシンボルに移動し、そこで無限に循環すると言われています。[2]
双方向非決定性有限オートマトン
双方向非決定性有限オートマトン(2NFA)は、同じ構成で複数の遷移が定義される場合があります。その遷移関数は
- 。
標準的な一方向NFAと同様に、2NFA は、可能な計算の少なくとも 1 つが受け入れ可能な場合に文字列を受け入れます。2DFA と同様に、2NFA も通常の言語のみを受け入れます。
双方向交代有限オートマトン
双方向交代有限オートマトン(2AFA)は、交代有限オートマトン(AFA)の双方向拡張である。その状態集合は
- どこ。
および の状態はそれぞれ存在的および普遍的と呼ばれます。存在的状態では、2AFA は NFA のように非決定的に次の状態を選択し、結果として得られる計算の少なくとも 1 つが受け入れる場合に受け入れます。普遍的状態では、2AFA はすべての状態に移動し、結果として得られる計算がすべて受け入れる場合に受け入れます。
状態の複雑さのトレードオフ
双方向および一方向の有限オートマトン、決定性および非決定性および交互のオートマトンは同じクラスの正規言語を受け入れます。ただし、あるタイプのオートマトンを別のタイプの同等のオートマトンに変換すると、状態数が爆発的に増加します。Christos Kapoutsis [3] は、状態 2DFA を同等の DFA に変換するには、最悪の場合でも状態が必要であることを明らかにしました。状態 2DFA または 2NFA を NFA に変換する場合、必要な状態の最悪数は です。Ladner 、Lipton、およびStockmeyer [4] は、状態 2AFA を状態を持つ DFA に変換できることを証明しました。2AFA から NFA への変換には、最悪の場合でも状態が必要になります。Geffertおよび Okhotin [5]を参照してください。
あらゆる2NFAが状態数の多項式増加のみで2DFAに変換できるかどうかは未解決の問題である。この問題はSakodaとSipser [6]によって提起され、 彼らはこれを計算複雑性理論におけるP対NP問題と比較した。BermanとLingas [7]はこの問題とL対NL未解決問題の間に正式な関係を発見した。正確な関係については Kapoutsis [8]を参照のこと。
スイープオートマタ
スイープオートマトンとは、特殊な種類の2DFAで、左から右、右から左へのスイープを交互に実行して入力文字列を処理し、エンドマーカーでのみ方向転換する。Sipser [9]は、それぞれn状態のNFAによって受け入れられるが、状態数が少ないスイープオートマトンでは受け入れられない言語のシーケンスを構築した。
双方向量子有限オートマトン
2DFAの概念は、1997年にジョン・ワトラスの「2方向量子有限状態オートマトンの効果について」によって量子コンピューティングに一般化され、これらのマシンが非正規言語を認識できるため、DFAよりも強力であることが実証されました。 [10]
双方向プッシュダウンオートマトン
入力テープ上でどちらの方向にも移動できるプッシュダウンオートマトンを双方向プッシュダウンオートマトン(2PDA)と呼びます。[ 11 ]これはハートマニス、ルイス、スターンズ(1965)によって研究されました。[12] アホ、ホップクロフト、ウルマン(1968)[13] クック(1971)[14] は決定性(2DPDA)および 非決定 性( 2NPDA )双方向プッシュダウンオートマトンによって認識可能な言語のクラスを特徴付けました。グレイ、ハリソン、イバラ(1967)はこれらの言語の閉包特性を調査しました。[15]
参考文献
- ^ラビン、マイケル・ O .; スコット、ダナ (1959)。「有限オートマトンとその決定問題」。IBM研究開発ジャーナル。3 (2): 114–125。doi :10.1147/rd.32.0114。
- ^ この定義は、スタンフォード大学のデクスター・コーゼンによるCS682(計算理論)の講義ノートから引用したものです。
- ^ Kapoutsis, Christos (2005). 「非決定性有限オートマトンから双方向性を取り除く」 J. Jedrzejowicz、A.Szepietowski (編) 『コンピュータサイエンスの数学的基礎』 MFCS 2005. Vol. 3618. Springer. pp. 544–555. doi :10.1007/11549345_47.
- ^ Ladner, Richard E.; Lipton, Richard J.; Stockmeyer, Larry J. (1984). 「交互プッシュダウンとスタックオートマトン」SIAM Journal on Computing . 13 (1): 135–155. doi :10.1137/0213010. ISSN 0097-5397.
- ^ Geffert, Viliam; Okhotin, Alexander (2014). 「双方向交代有限オートマトンから一方向非決定性オートマトンへの変換」。コンピュータサイエンスの数学的基礎 2014。 コンピュータサイエンスの講義ノート。 Vol. 8634。 pp. 291–302。doi :10.1007/978-3-662-44522-8_25。ISBN 978-3-662-44521-1. ISSN 0302-9743.
- ^ Sakoda, William J.; Sipser, Michael ( 1978).非決定性と双方向有限オートマトンのサイズ。STOC 1978. ACM。pp. 275–286。doi : 10.1145/800133.804357。
- ^ Berman, Piotr; Lingas, Andrzej (1977).有限オートマトンによる正規言語の複雑さについて。第304巻報告書。ポーランド科学アカデミー。
- ^ Kapoutsis, Christos A. (2014). 「双方向オートマトンと対数空間」.コンピューティングシステムの理論. 55 (2): 421–447. doi :10.1007/s00224-013-9465-0.
- ^ Sipser, Michael (1980). 「スイープオートマトンのサイズの下限値」. Journal of Computer and System Sciences . 21 (2): 195–202. doi :10.1016/0022-0000(80)90034-3.
- ^ John Watrous . 2 ウェイ量子有限状態オートマトンの効果について。CS-TR-1997-1350。1997 年。pdf
- ^ John E. Hopcroft、Jeffrey D. Ullman (1979)。オートマトン理論、言語、計算入門。Addison- Wesley。ISBN 978-0-201-02988-8。ここでは、p.124。この段落は2003年版では省略されています。
- ^ J. Hartmanis、PM Lewis II、RE Stearns (1965)。「メモリ制限計算の階層」。スイッチング回路理論と論理設計に関する IEEE シンポジウム 6th Ann Proc . pp. 179–190。
- ^ Alfred V. Aho、John E. Hopcroft 、Jeffrey D. Ullman ( 1968)。「プッシュダウンオートマトン言語の時間とテープの複雑さ」。情報と制御。13 (3): 186–206。doi : 10.1016/s0019-9958(68)91087-5。
- ^ SA Cook (1971)。「決定論的双方向プッシュダウンオートマトンによる線形時間シミュレーション」。Proc . IFIP Congress。ノースホランド。pp. 75–80。
- ^ジム・グレイ、 マイケル・A・ハリソン、オスカー・H・イバラ( 1967年)。「双方向プッシュダウンオートマトン」。情報と制御。11 (1–2):30–70。doi :10.1016/s0019-9958(67)90369-5。
