2. 練習用のオートマトンを作る

練習用に教科書に載っている簡単なオートマトンを作成し,オートマトンを動かしてみます.

シミュレータを使って教科書p.139 図6.5にある電子錠の働きをするオートマトンを作成してみましょう.なお,このオートマトンシミュレータは数字のかわりに「a」から「j」までの10種類の文字を入力として受け取ります.そこで教科書に出てくる「1,2,3」は「a,b,c」と読みかえます.

オートマトン動作のチェック表の作成

シミュレータを使う前に,完成したオートマトンの動きをチェックする表を作りましょう.ここでは,何文字か入力した後,終了状態になっている(解錠する)かどうかだけに注目します.「abac」が全て正しい順番で入力されたとき初めて解錠することを確認するため,正しい入力以外にも入力が不足している場合や途中で誤った入力が行われる場合もチェックするようにします。

入力終了状態
無し
a
ab
aba
abac終了
aabac
abbac
ababac

シミュレータへの入力

オートマトンの動作確認

チェック表をもとに作成したオートマトンのテストをしましょう.

  1. 緑色の三角ボタン(下図赤丸)をクリックすると,オートマトンの実行がはじまります.
  2. 開始状態が緑色になり,画面下の左端の桝目に緑色の三角が現われます.

  3. キーボードから「a」「b」「a」「c」と順にタイプすると, 下図のように二重丸の終了状態が緑色になり,「解錠」できたことが分かります.
  4. 緑色の三角ボタンを再度クリックするとオートマトンの状態を元に戻すことができます.また,deleteキーによって文字列を1文字ずつ消去することも出来ます.チェック表の他の入力についてもテストしてみましょう.「否」と予想した入力をタイプした後,二重丸の終了状態が緑色になっていないことを確認しましょう.たとえば,下は「aabac」と入力した後の状態です.緑になっている状態が二重丸でないので,「否」という予想通りになっていることが分かります.

オートマトンの保存と印刷

作成したオートマトンは「File」メニューの「Save」で,適当なファイル名を付けて保存できます.保存したオートマトンは,メニューの「Open」によって開くことが出来ます.また,メニューの「Print」によって印刷することもできます.