DFAの移行モノイドメンバーシップ


9

完全なDFAを考えるとあ=(Q、Γ、δ、F)、我々は、関数の集合を定義することができますfaそれぞれについて、a∈Γとしてfa:Q→Q、fa(q)=δ(q,a)。この概念を単語w=a1,⋯,amおよびf wに一般化できます。 ∘が機能組成物を意味します。さらに我々示す G = { F 、W | wは∈ Γ * }および Gモノイドです。fw=fa1∘⋯∘fam∘G={fw∣w∈Γ∗}G

[ Gは通常、標準の教科書では遷移モノイドと呼ばれていますが、ここでは明確にするために定義を再現しています。

質問は、関数与えられた私たちが決めることができ、fは∈ G(理想的に多項式時間で)、そしてこれが事実である場合(すなわち、そこに存在するwのように、F = F W)かどうか、ワット IS多項式のみ、または指数関数的に長くなる可能性がありますか? f:Q→Qf∈Gwf=fww

[確かにそのような単語は指数関数的に長くなる可能性があると思いますが、簡単な例を探しています。]

回答:


9

決定性

それは決定可能です。のみ有限多くの可能な機能がある使用すると、1つの機能ごとの頂点およびエッジと、グラフの到達可能性の問題としてこれをモデル化することができるように、G → Hが存在する場合∈ Γは、このようなhは= F A ∘ G。次に、関数gがG内にあるかどうかをテストすると、gがf ϵからグラフで到達可能かどうかをテストすることになります。横一回目を使って、そのような最短の単語を見つけることができます。Qの実行時間は指数関数的かもしれませんf:Q→Qg→ha∈Γh=fa∘ggGgfϵQけれども。

単語の長さ

そのような最短の単語は指数関数的に長くなる可能性があります。以下はそのようなDFAの例です。ましょう最初のk個の素数を。その後、状態は次の形式になります(I 、X )I ∈ { 1 、... 、K }及びX I ∈ { 0 、1 、... 、P I - 1 }。単項アルファベットでDFAを定義するΓ = { 0p1、…、pkk(私、バツ)私∈{1、…、k}バツ私∈{0、1、…、p私−1}と遷移関数 δ ((i 、x )、0 = (i 、x + 1 mod p i)です。関数 f 0:Q → Qは、Γ={0}δ((私、バツ)、0=(私、バツ+1モッドp私)f0:Q→Q

f0(私、バツ)=(私、バツ+1モッドp私)。

今すぐ関数を検討で与えられましたg:Q→Q

g(私、バツ)=(私、バツ−1モッドp私)。

中国の剰余定理を使用して、(n = p 1 × p 2 × ⋯ × p k − 1)であり、0 nがそのような単語の中で最も短いことを示すことができます。さらに、| Q | = p 1 + ⋯ + p kなので、Qのnは指数関数的に大きくなります。g=f0んん=p1×p2×⋯×pk−10ん|Q|=p1+⋯+pkんQ

したがって、そのような単語を出力する多項式時間アルゴリズムには希望がありません。ただし、がGにあるかどうかを決定する多項式時間アルゴリズムの可能性はまだ残っています。gG

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