最初の部分では、真円度を決定するための指数アルゴリズムを示します。2番目の部分では、これがcoNP困難であることを示します。3番目の部分では、すべての循環言語がの形式の言語の結合であることを示します(ここで、は空の正規表現です)。組合は必ずしもばらばらではありません。4番目の部分では、互いに素な和として記述できない循環言語を示します。 r ∑ r + ir+r∑r+i
編集:マークのコメントに続いていくつかの修正を取り入れました。特に、私の以前の主張では、循環性がcoNP完全またはNPハードであると修正されています。
編集:標準形式をから修正しました。「本質的に曖昧な」言語を展示しました。 ∑ r + i∑r∗i∑r+i
ピーターテイラーのコメントを続けて、言語がそのDFAを考慮して循環型であるかどうかを(非常に非効率的に)決定する方法を次に示します。状態が古い状態のタプルである新しいDFAを構築します。この新しいDFA は、古いDFAのコピーを並行して実行します。nnn
言語が循環型でない場合、初期状態からDFAを繰り返し実行すると、が受け入れているが他の1つである状態得られるような単語があります。onesは受け入れていません(それらすべてが受け入れている場合、シーケンスはが常に言語になるように循環する必要があります)。換言すれば、我々は、から経路有するに受け入れているが、他の一つは受け付けていませんが。逆に、言語が循環型の場合、それは起こり得ません。s 0 s 1、… 、s n s 1 s 0、… 、s n w ∗ s 0、… 、s n − 1 s 1、… 、s n s 1ws0s1,…,sns1s0,…,snw∗s0,…,sn−1s1,…,sns1
そのため、問題を単純な有向到達可能性テストに減らしました(考えられるすべての「悪い」タプルをチェックするだけです)。n
循環性の問題はcoNP困難です。変数と句持つ3SATインスタンスが与えられたと仮定します。(ダミー変数を追加)およびが素数であると仮定できます(そうでなければ、AKS素数性テストを使用してと間の素数を見つけ、ダミー変数と節を追加します)。→ x m C 1、… 、C m n = m n n 2 nnx⃗ mC1,…,Cmn=mnn2n
次の言語を考えてください:「入力はの形式ではありませんここで、は満足のいく割り当てです」。この言語の DFA は簡単に作成できます。言語が循環型でない場合、言語には単語があり、その一部の力は言語にありません。言語にない単語の長さは、の長さはまたはでなければなりません。長さが場合、代わりに(まだ言語にある)を考慮し、が言語にあり、 → x iCiO(n2)wn2w1n1wnwwnwnwx⃗ 1⋯x⃗ nx⃗ iCiO(n2)wn2w1n1wnwwnは言語ではありません。事実言語手段ではないことをある割り当てを満たします。wnw
逆に、満足のいく代入は、言語の非円形性を証明する単語に変換されます。満足のいく代入は言語に属しますが、は属しません。したがって、3SATインスタンスが満たされない場合、言語は循環型になります。w nwwn
このパートでは、循環言語の標準形式について説明します。循環言語 DFAを検討してください。シーケンスは、(初期状態)で、他のすべての状態が受け入れられ、が場合に実数です。したがって、すべての実数列は最終的に周期的であり、有限数の実数列しかありません(DFAには有限数の状態があるため)。C = C 0、… C 0 = s C i = C j C i + 1 = C j + 1LC=C0,…C0=sCi=CjCi+1=Cj+1
すべてのについて、単語が状態から状態にDFAを取る場合、単語はに従って動作するCと言います。そのようなすべての単語のセットは規則的です(引数はこの回答の最初の部分に似ています)。はサブセットであることに注意してください。c i + 1 i E (C )E (C )Lcici+1iE(C)E(C)L
実際のシーケンス与えられた場合、をシーケンスとして定義します。シーケンスも実数です。有限数の異なるシーケンスしかないため、すべての和集合である言語C k C k(t )= C (k t )C k C k D (C )E (C k)CCkCk(t)=C(kt)CkCkD(C)E(Ck)も規則的です。
我々は、と主張性質を有する場合、X 、Y ∈ D (C )次に、X 、Y ∈ D (C )。実際、その仮定のx ∈ CのKとY ∈ CとLを。次に、X 、Y ∈ CのK + L。したがって、D (C )= D (C )+はrの形式で記述できますD(C)x,y∈D(C)xy∈D(C)x∈Cky∈Clxy∈Ck+lD(C)=D(C)+正規表現 rの場合。r+r
言語のすべての単語は、実際のシーケンスCに対応します。つまり、wが動作する実際のシーケンスCが存在します。したがって、Lはすべての実数列C上のD (C )の和集合です。したがって、すべての循環言語には、∑ r + iという形式の表現があります。逆に、そのような言語はすべて循環的です(簡単に)。wCCwLD(C)C∑r+i
円形の言語検討上のすべての単語の、Bの偶数またはいずれかの含有のまたは偶数のBの(または両方)。素な和∑ r + iとして書くことができないことを示します。"ばらばら"によって、私たちはその意味のRを+ I ∩ R + J = ∅。La,bab∑r+ir+i∩r+j=∅
Nir+i x = a N b N !X ∈ L のx ∈ R + I I X のN R + I Z = N !b N !y = a N !B N R + j個の Z I ≠ jのX 、Y ∉ LN>maxNix=aNbN!x∈Lx∈r+iixNr+iz=aN!bN!y=aN!bNr+jzi≠jxy∉L。したがって、表現をばらばらにすることはできません。