知能情報処理

科目基礎情報

学校 都城工業高等専門学校 開講年度 平成30年度 (2018年度)
授業科目 知能情報処理
科目番号 0062 科目区分 専門 / 選択
授業形態 講義 単位の種別と単位数 履修単位: 2
開設学科 電気情報工学科 対象学年 5
開設期 後期 週時間数 4
教科書/教材 人工知能システムの構成(近代科学社、小倉久和、小高知宏 共著)
担当教員 樋渡 幸次

到達目標

(1) 前向き推論と後ろ向き推論の技術を身につけること。
(2) プログラミング言語を理解して、応用できること。
(3) 探索問題、述語論理、Fuzzy論理、遺伝的アルゴリズム等の抽象概念と応用プログラミングを機能的に合成できる訓練。
(4) 暗記でなくて自分で考える能力をつける。

ルーブリック

理想的な到達レベルの目安標準的な到達レベルの目安未到達レベルの目安
評価項目1非手続き的思考ができて再帰と述語論理を区別して表現し、複雑な問題に適用できる。基本的な問題を再帰的あるいは論理 的に読解出来る能力。自分でアルゴリズムを部分的に考えられる。
評価項目2リスト処理の有用性を理解し、複雑な問題の知識表現と解決(推論)アルゴリズムを提示してプログラミングできる。知識をリストで表現できて、短いプログラムなら十分に記述できるレベル。解説の補助を受けると一部理解できる。
評価項目3種々の問題の特性を理解して、具体的な処理を通じて一般社会での問題解決への適用可能性をも評価できる。各問題について理解できて、アルゴリズムが読める。核問題が持つ意味を部分的に理解でき、や言語の適用が不十分である。
評価項目4独自の解決アルゴリズムを考えて表現できる。独自でなくとも、幾つかのアルゴリズを調べて自分のものにできる。どのように考えれば良いのか一部分だけ思いつく。

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

教育方法等

概要:
(1) 人工知能処理とは何か?どのような手法(考え方)があるのか?適用するための手法、等々の抽象概念を教授する。
(2) 人工知能用言語(Lisp と Prolog)を理解・習得してプログラミングできる能力を身につけさせる。
(3) 応用問題を解決できる能力を身につけさせる 。
授業の進め方・方法:
(1) 評価は、AIの概要の暗記能力では無くて、自らの問題解決能力を重要視するので十分に意識して取り組むこと。
(2) 人工知能用言語(Lisp と Prolog)のたくさんの課題レポートを課すので、必ず自分のPCに言語環境をインストールすること。
(3)関連する記事や 問題解決のためのプログラム等、多くの印刷物を配布する。極めて複雑なプログラムもあるので労力を惜しまないこと。
 先ず、プログラミング環境を自分の PC に整備して下さい。人工知能の分野では決まった解はありません。関数型言語や論理型言語をツールとして使いこなせる事が必要条件ですから、自己学習で必ず演習問題を解くこと。その多くは自学自習のレポートとして出題します。自らが考案したアルゴリズム等のレベルのグレードにより評価します。
注意点:

授業計画

授業内容 週ごとの到達目標
後期
3rdQ
1週 1. AI の概要 概要と歴史的背景を理解する
2週 2.リスト表現とリストの操作 木構造と網構造のリスト表現、およびそのメモリー上での実装を容易にイメージできること
3週 3.関数型言語 Lisp 入門 Lisp の基本。簡単なプログラミング。
4週 4.縦型探索と横型探索 縦型探索と横型探索、及び Lisp を用いての前向き推論アルゴリズム
5週 5.経路探索問題の最適化とダイクストラ法 応用問題としての経路問題と最適化プログラムを Lisp で記述すること
6週 続き プログラミング演習
7週 6.述語論理と反駁法 述語論理の概要及び反駁法による定理の証明アルゴリズムを理解する
8週 7.論理型言語 Prolog 入門 ユニフィケーションと簡単な Prolog プログラミング
4thQ
9週 8.経路探索問題及び迷路問題の Prolog プログラミング Prolog を通して後ろ向き推論での問題解決能力をつける。
10週 続き Prolog プログラミング演習
11週 9.ファジー理論 ファジー数、ファジー関係、合成、推論アルゴリズムを知る
12週 10.ファジー理論の Lisp 及び Prolog によるプログラミング Min-Maxアルゴリズムによるファジー関係、ファジー推論を理解する
13週 11.遺伝的アルゴリズム 遺伝的アルゴリズムの一般的な解法を理解する
14週 12.まとめ(レポート整理等) これまでに課したレポートの仕上げと試験対策ができる
15週 試験答案の返却及び解説 試験問題の解説及びポートフォリオの記入、まとめ
16週

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

分類分野学習内容学習内容の到達目標到達レベル授業週
専門的能力分野別の専門工学情報系分野プログラミング代入や演算子の概念を理解し、式を記述できる。4
プロシージャ(または、関数、サブルーチンなど)の概念を理解し、これらを含むプログラムを記述できる。4
与えられた問題に対して、それを解決するためのソースプログラムを記述できる。4
ソフトウェア生成に必要なツールを使い、ソースプログラムをロードモジュールに変換して実行できる。4
主要な言語処理プロセッサの種類と特徴を説明できる。4
ソフトウェア開発に利用する標準的なツールの種類と機能を説明できる。4
プログラミング言語は計算モデルによって分類されることを説明できる。4
主要な計算モデルを説明できる。4
要求仕様に従って、標準的な手法により実行効率を考慮したプログラムを設計できる。4
ソフトウェアアルゴリズムの概念を説明できる。4
与えられたアルゴリズムが問題を解決していく過程を説明できる。4
同一の問題に対し、それを解決できる複数のアルゴリズムが存在しうることを説明できる。4
整列、探索など、基本的なアルゴリズムについて説明できる。4
コンピュータ内部でデータを表現する方法(データ構造)にはバリエーションがあることを説明できる。4
同一の問題に対し、選択したデータ構造によってアルゴリズムが変化しうることを説明できる。4
リスト構造、スタック、キュー、木構造などの基本的なデータ構造の概念と操作を説明できる。4
ソフトウェアを中心としたシステム開発のプロセスを説明できる。4
ソースプログラムを解析することにより、計算量等のさまざまな観点から評価できる。4
同じ問題を解決する複数のプログラムを計算量等の観点から比較できる。4
計算機工学整数・小数をコンピュータのメモリ上でディジタル表現する方法を説明できる。4
基数が異なる数の間で相互に変換できる。4
基本的な論理演算を行うことができる。4
基本的な論理演算を組合わせて、論理関数を論理式として表現できる。4
論理式の簡単化の概念を説明できる。4
簡単化の手法を用いて、与えられた論理関数を簡単化することができる。4

評価割合

定期試験小テストレポート態度ポートフォリオその他合計
総合評価割合70030000100
知識の基本的な理解4001000050
思考・推論・創造への適応力2001000030
汎用的技能0000000
態度・志向性(人間力)0000000
総合的な学習経験と創造的思考力1001000020