定義だけなら サルでもできる 理論は例と定理が命 有限状態オートマトンの例 入力として 0と1の列を考える 自然数nを2進数で 大きい桁から順に書いた列よ nが3の倍数かどうか 「計算」するオートマトンを作るわ 状態集合Qは{q_0, q_1, q_2} つまり状態はq_0, q_1, q_2の3つ 現在の状態がq_iだったら それまでの入力列が表す自然数nを 3で割った余りはiになる そうなるように 遷移を定義するの 例えば現在の状態がq_2のとき それまでのnを3で割った余りは2 そこに入力0が来たら 2進数の下一桁に0を付け加えるのだから nは2nに変化する nを3で割った余りが2ならば 2nを3で割った余りは1だから 状態はq_1に変化する つまり q_2 ---0---> q_1 状態q_2に 入力1が来たら nは2n+1に変化する nを3で割った余りが2ならば 2n+1を3で割