重要なお知らせ

「教えて! goo」は2025年9月17日(水)をもちまして、サービスを終了いたします。詳細はこちら>

【GOLF me!】初月無料お試し

以下の問題を解いています。答えはわかったのですが、どのような手順で解けば正解に辿り着けるか(いわゆる解法)がわかりません。教えていただけると嬉しいです。

アルファベット Σ = {a, b} を使ってできるすべての文字列 w に対して、以下の条件を満たす文字列だけを受理するような、状態数が最小の DFA(決定性有限オートマトン)を作れ。
条件:3×(aの出現回数)+(bの出現回数) が4の倍数でない

  • 画像を添付する (ファイルサイズ:10MB以内、ファイル形式:JPG/GIF/PNG)
  • 今の自分の気分スタンプを選ぼう!
あと4000文字

A 回答 (4件)

>作ったDFAが最小かどうかには


b、bb、bbb、bbbb=空、の4状態は最小必要である
4状態の解があれば、4状態が最小である
(No2さんの、q1,q2,q3,q0に対応)

で良いのでは?
状態遷移関数は これらを輪にして、
aは左移動 (q0→q3→q2→q1→q0)、
bは右移動 (q0→q1→q2→q3→q0)、
出力関数は q0は出力0(不受理)、その他は出力1(受理)

とすれば解である
    • good
    • 3

ああ、「状態数が最小の」か。


作ったDFAが最小かどうかには
証明が必要だねえ。
    • good
    • 1

A=(aの出現回数)


B=(bの出現回数)
とすると

3A+B=0(mod4),3A+B を 4 で割った余りが 0 の状態q0
3A+B=1(mod4),3A+B を 4 で割った余りが 1 の状態q1
3A+B=2(mod4),3A+B を 4 で割った余りが 2 の状態q2
3A+B=3(mod4),3A+B を 4 で割った余りが 3 の状態q3

4つの状態がある

Q={q0,q1,q2,q3}
Σ={a,b}
F={q1,q2,q3}

3A+B=4n→3(A+1)+B=4n+3だから
δ(q0,a)=q3
3A+B=4n→3A+B+1=4n+1だから
δ(q0,b)=q1
3A+B=4n+1→3(A+1)+B=4(n+1)だから
δ(q1,a)=q0
3A+B=4n+1→3A+B+1=4n+2だから
δ(q1,b)=q2
3A+B=4n+2→3(A+1)+B=4(n+1)+1だから
δ(q2,a)=q1
3A+B=4n+2→3A+B+1=4n+3だから
δ(q2,b)=q3
3A+B=4n+3→3(A+1)+B=4(n+1)+2だから
δ(q3,a)=q2
3A+B=4n+3→3A+B+1=4(n+1)だから
δ(q3,b)=q0
    • good
    • 1

(aの出現回数を4で割った余り, bの出現回数を4で割った余り) の対を


状態として持つ状態遷移図を書けば、求められるでしょ。
    • good
    • 1

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!