トップ > スキル : IT系ラーニング > 基礎理論 > 応用数学

IT系ラーニング_基礎理論

オートマトン

オートマトン(automaton)」という言葉は、「自ら動くもの」を意味するギリシャ語を語源としており、「自動機械」と訳されることもあります。

注意すべきは、オートマトンは架空の機械であり、形式言語で記述された文を受理する機械を作れることを、学術的に証明する理論に過ぎない点です。

オートマトンは、入出力用の「テープ」、テープを読み書きする「ヘッド」、内部状態を遷移(変化)させる「有限状態制御装置」の3つの要素から成ります。
テープはマス目状に区切られていて、形式言語の記号が記憶されており、ヘッドで読み出した記号の内容と、現在の内部状態をもとにして、次の状態が決定されるのです。

例として図に10進数の数値データの構文をBNF記法で定義した。「::=」は「とは」というように代用すると理解できます。
0~9の数字と+と-の符号を組み合わせることで、123や-456、3.14といった数値を表現しています。

オートマトン

オートマトンには、大きく「初期状態」、「中間状態」、「最終状態」の3つの状態があります。初期状態は1つだけですが、中間状態と最終状態は複数あっても良いです。
オートマトンが文を先頭から末尾まで解釈した結果として最終状態になったなら「文を受理した」と言え、逆に最終状態にならない場合には「文を拒否した」と言えます。

例)「電卓」をオートマトンと見なした時の状態遷移の様子を考えてみる。

1.電卓には「電源OFF状態」、「結果の表示状態」、「1つ目の数値の入力状態」、「2つ目の数値の入力状態」などの状態が考えられる。

2.「電源OFF状態」が初期状態で、「結果の表示状態」が最終状態だ。

3.「電源を入れる」、「1ボタンを押す」、「+ボタンを押す」、「2ボタンを押す」、「=ボタンを押す」という一連の操作(これがオートマトンに与えられる文に相当する)によって、「3」という「結果の表示状態」になる。

4.最終状態になったのだから、この文は受理されたということになる。

以下は、OSのタスク管理において、タスクの状態の遷移を図示したものです。

オートマトン

新しくタスクが生成されると、まず「実行可能状態」になります(①)。

その状態にある複数のタスクからディスパッチャにより選択されたタスクは「実行状態」に遷移(②)して実行され(CPUが割り当てられ)、実行が終了すればタスクは消滅します(⑥)。

実行している間に、なんらかの割込みが発生して、他のタスクにCPUが割り当てられると、このタスクは「待機状態」に遷移します(④)。

オートマトン

例)状態遷移図あるいは状態遷移表と入力が与えられたとき、遷移の過程を示せ。

入力    ア:10111  イ:11110

◆ アの場合:
   A(1)→B(0)→A(1)→D(1)→C(1)→C
   Cの受理状態が最後なので、アの入力は受理されます。

◆ イの場合:
   A(1)→B(1)→D(1)→C(1)→E(0)→E
   Eが最後になっていて、Cの受理状態へ遷移していない拒否されます。

【オートマトン】