【おーとまとん】
オートマトン とは?
最終更新:
💡 入力と規則で状態が変わる、計算のモデル
入力や遷移規則に応じて状態が変わる、抽象的な計算モデル。有限オートマトンは有限個の状態を持ち、入力列が規則に合うかを判定できる。理論上の正規表現や状態遷移の理解に使われる。
📌 このページのポイント
オートマトンって何のための理論なの?
計算を数学的に表して、何を判定できるかを考えるためのモデルだよ。自動販売機のお金やボタンに応じた動きを、状態とその変化で表すイメージ。有限オートマトンでは、有限個の状態と入力記号に応じた規則を使うんだ。
図の丸と矢印は、どう読むの?
丸が状態、文字の付いた矢印がその文字を読んだときの移動だよ。開始の矢印から進み、入力を全部読んだところで二重丸の受理状態にいれば受理する。図はNFAの例で、線がない入力では進めない。たとえばbbaaabは受理されるけれど、abの後にさらにaを足すと進めなくなるんだ。
DFAとNFAって何が違うの?
DFAは各状態と入力記号の組み合わせに対して、次の状態が一つに決まる。NFAは進める先がゼロ・一つ・複数の場合があり、入力を読まないε遷移も使えるよ。どれか一つの経路で入力を全部読んで受理状態に着けば受理する。両者が認識できる言語の範囲は同じなんだ。
正規表現エンジンも、全部これと同じ仕組み?
有限オートマトンより広い構造を扱うモデルもある?
まとめ:ざっくりこれだけ覚えればOK!
「オートマトン」って出てきたら「入力と規則で状態が変わる計算モデル」と思えばだいたいOK!
📖 おまけ:英語の意味
「Automaton」 = 自動装置・自動機械
💬 ラテン語を経て、ギリシャ語のautómatonに由来する語。そのもとになるautómatosは「自ら動く」を表すよ。自動販売機のように、入力に応じて動く装置を想像するとつかみやすいね。
参考資料
- MIT OpenCourseWare — Lecture 2: Nondeterminism, Closure Properties, Regular Expressions
- MIT OpenCourseWare — Lecture 4: Pushdown Automata, CFG ⇔ PDA
- MIT OpenCourseWare — Lecture 5: Turing Machines
- MIT OpenCourseWare — Lecture 8: Undecidable Problems
- PCRE2 — Pattern Syntax / Backreferences
- Merriam-Webster — Automaton / Word History