オートマトン

科目基礎情報

学校 函館工業高等専門学校 開講年度 令和02年度 (2020年度)
授業科目 オートマトン
科目番号 0187 科目区分 専門 / 必修
授業形態 授業 単位の種別と単位数 履修単位: 2
開設学科 生産システム工学科 対象学年 4
開設期 通年 週時間数 2
教科書/教材 オートマトン・言語理論の基礎,米田政明 他,近代科学社(2003)
担当教員 河合 博之

到達目標

1. 有限オートマトン,プッシュダウンオートマトンについて理解し設計することができる
2. チューリング機械について理解し設計することができる
3. オートマトンと形式言語との関係について説明することができる

ルーブリック

理想的な到達レベルの目安標準的な到達レベルの目安未到達レベルの目安
評価項目1NFAをDFAに変換することでその等価性を理解することができる簡単な言語をオートマトンで表現することができる簡単な言語をオートマトンで表現することができない
評価項目2計算機械としてチューリング機械を設計することができる簡単な言語を非決定チューリング機械を用いて設計することができる簡単な言語を非決定チューリング機械を用いて設計することができない
評価項目3言語の階層構造を理解し,正規言語ではない言語の存在を証明することができる正規文法,文脈自由文法および文脈依存文法の定義を理解することができる正規文法,文脈自由文法および文脈依存文法の定義を理解することができない

学科の到達目標項目との関係

函館高専教育目標 B 説明 閉じる

教育方法等

概要:
情報科学分野におけるオートマトンと形式言語ついて学習する.オートマトンは計算機のモデルであり,機械が計算することとは何か,またその計算能力についての理論を与えるための道具である。一方,形式言語は自然言語やプログラミング言語のモデルである。オートマトンと形式文法との関係およびその階層構造について説明でき,チューリング機械等の計算モデルの原理を理解することを到達レベルとする.
授業の進め方・方法:
集合の写像や関係の概念をよく理解しておくこと.関連科目は「アルゴリズムとデータ構造」,「情報数学」,「プログラミング言語論」である.これら科目との連携を意識しながら履修すること.

・課題は前期・後期それぞれ一回以上行い評価する
・オートマトンシミュレータによる実験はPCを利用し実験室で行う
注意点:

授業計画

授業内容 週ごとの到達目標
前期
1stQ
1週 ガイダンス
オートマトンとは
オートマトンの概念を理解し,その歴史と役割について説明することができる
2週 語,言語と形式文法 語,言語とは何かを理解し,形式文法の数学的定義を説明することができる
3週 有限オートマトン
・決定性有限オートマトンと状態遷移図
決定性有限オートマトンの形式的定義を理解し,状態遷移図によっていくつかの言語を表現することができる.
4週 有限オートマトン
・最簡形の決定性有限オートマトン
同じ言語を表す複数のDFAが存在することを理解し,唯一の最簡形を構築することができる.
5週 有限オートマトン
・非決定性有限オートマトン
決定性FAと非決定性FAの違いについて説明することができ,NFAとDFAが等価であることを,
NFA・DFA変換を求めることで説明することができる.
6週 有限オートマトン
・有限オートマトンで識別できない言語
DFAでは表現できない言語の存在および理由を示すことができる.
7週 演習問題1 FAシミュレータを利用しDFA,NFAを設計することができる
8週 演習問題2 FAシミュレータを利用しNFAからDFAへの変換アルゴリズムを理解することができる
2ndQ
9週 プッシュダウンオートマトン (PDA)
・ プッシュダウンスタック
プッシュダウンスタックの構造を理解することができる
10週 プッシュダウンオートマトン (PDA)
・決定性PDA
決定性PDAの概念を理解し,いくつかの言語について,状態遷移図で示すことができる
11週 プッシュダウンオートマトン (PDA)
・非決定性PDA
DPDAとNPDAが生成する言語のクラスが異なることを説明することができる
・ある言語についてPDAを設計することができる
・DPDAとNPDAが生成する言語のクラスが異なることを説明することができる
12週 プッシュダウンオートマトン (PDA)
・PDAでは識別できない言語
PDAでは表現できない言語の存在および理由を示すことができる
13週 演習問題 DPDAが生成できない言語をNPDAで設計できる
14週 チューリング機械 (TM) チューリング機械の概念と原理を説明することができる
15週 前期期末試験
16週 答案返却・解答解説 間違った問題の正答を求めることができる
後期
3rdQ
1週 チューリング機械 (TM)
・言語の識別機械としてのTM
FAやPDAで表現できなかった言語に対してTMを設計することができる
2週 チューリング機械 (TM)
・非決定性TM
多テープTMや非決定性TMなどTMのバリエーションについて説明することができる
3週 チューリング機械 (TM)
・計算機械としてのTM
単純な計算をTMで設計でき,任意のアルゴリズムがTM上で動作可能なことを理解することができる
4週 演習問題 TMシミュレータを利用しTMの設計を行うことができる
5週 形式文法と形式言語
・言語生成装置としての形式文法
言語生成装置としての形式文法の役割や概念について説明することができる
6週 形式文法と形式言語
・形式文法のクラスと形式言語のクラス
句構造文法の4つのクラスの存在について理解することができる
7週 形式文法と形式言語
・正規文法 (RG) と文脈自由文法 (CFG)
RGとCFGを用いて,いくつかの言語を表すことができる
8週 演習問題(FAからRG) FAからRGを構成することができる
4thQ
9週 正規表現 簡単な言語について,正規表現のパターンを利用することができる
10週 オートマトンと形式文法の関係
・REとFA
REとFAの言語処理能力が等価であることを理解し,相互の変換を行うことができる
・句構造文法とTMとの関係を説明することができる
11週 オートマトンと形式文法の関係
・FA, REと正規表現
正規表現の形式的定義を理解し,言語処理能力がFA等価であることを説明することができる
・句構造文法とTMとの関係を説明することができる
12週 オートマトンと形式文法の関係
・CFGとPDA
CFGとPDAの言語処理能力が等価であることを理解し,相互の変換を行うことができる
・チョムスキー階層について説明することができる
13週 ・正規言語ではない言語の存在 ポンプの補題を用いて,ある言語が正規言語ではないことを示すことができる
・チョムスキー階層について説明することができる
14週 ・文脈自由言語ではない言語の存在 ポンプの補題を用いて,ある言語が文脈自由言語ではないことを示すことができる
・チョムスキー階層について説明することができる
15週 学年末試験
16週 試験答案返却・解答解説 間違った問題の正答を求めることができる

モデルコアカリキュラムの学習内容と到達目標

分類分野学習内容学習内容の到達目標到達レベル授業週
専門的能力分野別の専門工学情報系分野プログラミングプログラミング言語は計算モデルによって分類されることを説明できる。4後3,後6
主要な計算モデルを説明できる。4後6
ソフトウェアアルゴリズムの概念を説明できる。3
与えられたアルゴリズムが問題を解決していく過程を説明できる。3
同一の問題に対し、それを解決できる複数のアルゴリズムが存在しうることを説明できる。2
システムプログラム形式言語の概念について説明できる。4前2
オートマトンの概念について説明できる。4前1,前3
形式言語が制限の多さにしたがって分類されることを説明できる。4後5,後6
正規表現と有限オートマトンの関係を説明できる。4後11
情報数学・情報理論集合に関する基本的な概念を理解し、集合演算を実行できる。3
集合の間の関係(関数)に関する基本的な概念を説明できる。3

評価割合

試験発表相互評価態度ポートフォリオ合計
総合評価割合1000000100
基礎的能力000000
専門的能力1000000100
分野横断的能力000000