ましょう NFAのことで与えられた2つの正規言語も入力として。
かどうかを確認したいとします。これは、積オートマトンを計算する2次アルゴリズムによって明らかに行うことができますがもっと効率的なものが知られているのではないかと思っていました。M 1、M 2
かどうかを決定するアルゴリズムはありますか?既知の最速のアルゴリズムは何ですか?L 1 ∩ L 2 ≠ ∅
ましょう NFAのことで与えられた2つの正規言語も入力として。
かどうかを確認したいとします。これは、積オートマトンを計算する2次アルゴリズムによって明らかに行うことができますがもっと効率的なものが知られているのではないかと思っていました。M 1、M 2
かどうかを決定するアルゴリズムはありますか?既知の最速のアルゴリズムは何ですか?L 1 ∩ L 2 ≠ ∅
回答:
簡単な答え:時間でで実行されるより効率的なアルゴリズムが存在する場合、強力な指数時間仮説は反論されます。δ < 2
私たちはより強力な定理を証明し、それから簡単な答えが続きます。
定理:時間で2つのDFAの交差非空の問題を解決できる場合、nビットのメモリのみを使用して非決定的に解決可能な問題は、で決定的に解決可能です。時間。P O のL Y (N )⋅ 2 (δ N / 2 )
正当化:時間で2つのDFAの交差の非空を解決できると仮定します。読み取り専用入力テープと読み取り/書き込みバイナリワークテープを備えた非決定性チューリングマシンMを指定します。長さnの入力文字列xを指定します。Mがバイナリワークテープのnビットを超えるメモリにアクセスしないと仮定します。
入力xでのMの計算は、構成の有限リストで表すことができます。各構成は、状態、入力テープ上の位置、作業テープ上の位置、および作業テープを表す最大nビットのメモリで構成されます。
ここで、作業テープが半分に分割されたと考えてください。換言すれば、我々は、の左セクション有するセルの右部分細胞。各構成は、左の部分と右の部分に分割できます。左の部分は、状態、入力テープ上の位置、作業テープ上の位置、および左セクションのビットで構成されています。右側の部分は、状態、入力テープ上の位置、作業テープ上の位置、および右側のセクションのビットで構成されています。nnn
次に、状態が左のピースであるDFAと状態が右のピースであるDFAを作成します。アルファベット文字は、移動先の状態、テープヘッドの移動方法、ワークテープのアクティブセルの操作方法を示す指示です。D 2
これは、とが入力xでのMの計算に対応する命令のリストを読み取り、一緒になって有効で受け入れられていることを検証するという考え方です。どちらもと常にその情報がその入力文字に含まれているので、テープヘッドがどこにあるかに同意します。したがって、ワークテープの位置が左のピースにある場合に命令が適切であることを確認させ、右のピースにある場合に確認させることができます。D 2 D 1 D 2 D 1 D 2
合計で、各DFA にはせいぜい状態があり、せいぜい別個のアルファベット文字があります。
最初の仮定では、時間で2つのDFAの交差非空を解決できるということです。
これは役に立つかもしれません:https : //rjlipton.wordpress.com/2009/08/17/on-the-intersection-of-finite-automata/
CNF-SATは、メモリのビットを使用して解くことができます。ここで、kは変数の数です。上記の構成を使用して、時間で2つのDFAの交差の非空を解決できる場合、時間。したがって、単純な答えが成り立ちます。
コメント、修正、提案、質問を歓迎します。:)