オートマトン・形式言語の問題
アルファベット 上の決定性有限オートマトン を考える。状態の集合は 、初期状態は 、受理状態は のみであり、遷移関数 は次の表で与えられる。
| 状態 | 入力 | 入力 |
|---|---|---|
を 以上の整数とする。 が受理する長さ の文字列の個数を の式で表せ。
この問題で使うもの
- 状態ごとの文字列数の漸化式(説明と入口の問題)
この問題を解けるようになるまで(5 技能)
読み込み中…
右端(太枠)がこの問題で使う技能です。左へドラッグすると、さらに前の前提をさかのぼれます。技能を押すと、そこまでの道筋が光ります。
ヒント
行き詰まったら、上から順に 1 つずつ開いてください。
ヒント 1
長さ の文字列を読んだあと各状態にいる文字列の個数 を考え、漸化式を立てよう。
ヒント 2
決定性なので が成り立つ。状態 に入る遷移が何本あるかを表から読み取ろう。
ヒント 3
, という漸化式が得られる。特殊解を の形で探してみよう。
答えと解説
答えを見る
どこでつまずきましたか?(選ぶと、戻る場所を案内します)
解説を読む
長さ の文字列を読み終えたとき状態 にいる文字列の個数を、それぞれ とおく。 は決定性なので、長さ の各文字列はちょうど 1 つの状態に行き着き、
が成り立つ。求めるものは であり、空列は初期状態 にとどまるので である。
漸化式. 表から状態 に入る遷移は「 から 」と「 から 」の 2 本だけである。長さ の文字列は長さ の文字列に 1 文字付け加えたものなので
を使うと
となる。
漸化式を解く. の特殊解を の形で探すと、 より 、。そこで とおくと、 から
となり、 なので 。よって
確認. : 個(空列は で終わる)。: のみで 個、式は 。: , , , より 個、式は 。: 式は で、実際 の 3 個が受理される。
(別解: を とみると、 は 、 は ()の遷移であり、受理されるのは「 の個数 の個数 」の文字列である。)
答え:
別解
状態を (mod 3)と対応させる。表より、a を読むと となり、状態は される。b を読むと となり、状態は される()。したがって文字列 を読んだあとの状態は で、受理するのはこれが のときである。
長さ の文字列は、各位置で か を選ぶ列と一対一に対応する。和が になる個数 を、1 の 3 乗根 を使って数える。
の項は 。 では なので、
()。
別の方法として漸化式でも確かめる。 を長さ の文字列で状態 に至る個数とすると、 などが成り立ち、各 で 。 ごとに か のように 2 つの値が一致し、 に落ち着く。
検算。: (空列は に留まり でない)。: (a のみ)。: (bb のみ。aa は 、ab と ba は )。: (aab, aba, baa は a が 2 個・b が 1 個で となり、他に bbb は 、aaa は 、abb, bab, bba は )で 3 個。いずれも一致する。
答え: