アルゴリズム-2016

講師渡邉崇 教授
開講部局情報文化学部 2016年度 前期
対象者情報文化学部自然情報学科・社会システム情報学科 (必修2単位週1回 全15回)

授業の内容

  • 問題を解くための計算法であるアルゴリズムについて、それを理解する素質と、代表的なアルゴリズムについての知識を得ます。
  • アルゴリズムを利用して、具体的に問題解決を行うための力を身に付けます。
  • コンピュータの機能と、プログラミングに関する見識を深めます。

授業の工夫

  • アルゴリズムの学問体系は、成長し続けています。その中から、代表的なものを取り上げ、具体的演習と関連させつつ、学んでいくようにしています。
  • 情報処理技術者試験の幾つかでも、アルゴリズムの問題が出されます。その際に、「この内容、授業で習ったな」と思っていただけるような内容を選んでいます。
  • 1年次に習ったプログラミングの内容と関連させつつ、実際に計算機を使って進める課題と、紙上で一つ一つ過程を追いながら進める課題を織り交ぜつつ、ステップを追いながら解が得られていくことを確かめるようにしています。
  • 授業終了の5〜10分前に、質問タイムを設け、該当授業までに学んだことについての疑問点や発展方法について、ディスカッションするようにしています。

講義の目標

問題を解くための計算法であるアルゴリズムについて、それを理解する素質と、代表的なアルゴリズムについての知識を得ます。また、アルゴリズムを利用して、具体的に問題解決を行うための力を、数値解析の遂行なども取り入れつつ、身につけます。さらに、コンピュータの機能と、プログラミングに関する見識を深めます。

授業内容

  1. BNF(バッカス・ナウワ記法)、正規表現。
  2. 基本アルゴリズムと再帰。
  3. リストとハッシュの処理に関するアルゴリズム。
  4. 接点と枝からなるグラフの処理に関するアルゴリズム。
  5. 木構造の処理に関するアルゴリズム。
  6. 整列(ソーディング)に関するアルゴリズム。
  7. 探索による問題解決。
  8. 情報理論。

教科書・参考文献・履修条件等

  • 教科書:特に指定しません。
  • 参考文献:必要・相談に応じて、適宜、紹介します。
  • 履修条件:プログラミング1で講義目的とされている事項を理解し、これらを宿題などとして行った結果を、レポートとして提出します。

この授業で力点を置く基礎能力

基礎能力の重み付け(*で5段階表示)
基礎能力 論理的思考 人工言語リテラシ 自然言語リテラシ
重み付け ***** ****
  • 問題解決の方法を形式的にまとめ、再認識するための論理的思考能力を高める。
  • 人工的な表現に従ったアルゴリズムにより、問題を解決する能力を高める。

授業期間中の課題・宿題等

アルゴリズムを利用するための課題を、適宜、指示し、これらを宿題などとして行った結果を、レポートとして提出します。

アルゴリズム・課題

スケジュール

スケジュール
1BNF,正規表現
2基本アルゴリズムと再帰(プログラミングの復習)
3リスト処理
4ハッシュ処理
5グラフ処理(グラフの定義とコスト最小生成木)
6グラフ処理(無向木、有向木の最小コスト)
7木構造(木構造の定義と、トラバース、2分木)
8木構造(完全2分木の構成,ヒープ)
9木構造(完全2分木の操作と、その他の木)
10整列(古典的な整列)
11整列(マージソート、クイックソート、ヒープソート)
12整列(その他の整列)
13探索(単純な探索)
14探索(コストを考慮した探索)
15情報理論

講義ノート

第 1 回

第 2 回

第 3 回

第 4 回

第 5 回

第 6 回

第 7 回

第 8 回

第 9 回

第 10 回

第 11 回

第 12 回

第 13 回

第 14 回

第 15 回

成績評価方法・基準

レポート課題と期末試験による総合評価。

成績は、アルゴリズムを理解する素質、アルゴリズムに関する知識、アルゴリズムを問題解決に役立てる力を確認すること、 および、出席状況で、評価します。標準的な判定基準は、授業期間中の課題の成果と出席状況 40%、期末試験の成績 60%とします。


投稿日

May 13, 2020