情報科学研究科Graduate School of Computer and Information Sciences
COT500K1(計算基盤 / Computing technologies 500)情報科学特別講義1(アルゴリズムとデータ構造)Special Lecture for Computer and Information Sciences 1(Data Structures and Algorithms)
坂本 寛Kan SAKAMOTO
授業コードなどClass code etc
学部・研究科Faculty/Graduate school | 情報科学研究科Graduate School of Computer and Information Sciences |
添付ファイル名Attached documents | |
年度Year | 2024 |
授業コードClass code | TZ019 |
旧授業コードPrevious Class code | |
旧科目名Previous Class title | |
開講時期Term | 春学期授業/Spring |
曜日・時限Day/Period | 金2/Fri.2 |
科目種別Class Type | |
キャンパスCampus | 小金井 |
教室名称Classroom name | 各学部・研究科等の時間割等で確認 |
配当年次Grade | |
単位数Credit(s) | 2 |
備考(履修条件等)Notes | |
実務経験のある教員による授業科目Class taught by instructors with practical experience | |
カテゴリーCategory |
すべて開くShow all
すべて閉じるHide All
Outline (in English)
Course outline: This course covers a wide variety of topics related to the open-end evolutionary Algorithms.
Learning Objectives: Students are expected to understand algorithms for decision making under uncertainty.
Learning activities outside of classroom: Your required study time is at least four hours for each class meeting.
Grading Criteria/Policy: Quality of class presentations (50%) and final course report (50%)
授業で使用する言語Default language used in class
日本語 / Japanese
授業の概要と目的(何を学ぶか)Outline and objectives
アルゴリズムとデータ構造は情報科学の基盤をなすものである。アルゴリズムとデータ構造は情報科学のあらゆる分野で日々応用されており、また新たなアルゴリズムが誕生している。
近年、進展目覚ましい機械学習の分野でもその例外ではない。今年度は、ニューラルネットを最適化する新しいアルゴリズムであるオープンエンドな進化的アルゴリズムを基礎から学びます。
到達目標Goal
1. 進化的アルゴリズムを基本から理解できる。
2. 従来の目的型探索アルゴリズムの課題を認識し、問題解決のための発散的な探索の意義が理解できる。
3. 様々なオープンエンドな探索アルゴリズムについて理解を深めることができる。
この授業を履修することで学部等のディプロマポリシーに示されたどの能力を習得することができるか(該当授業科目と学位授与方針に明示された学習成果との関連)Which item of the diploma policy will be obtained by taking this class?
ディプロマポリシーのうち、「DP1」と「DP2」に関連
授業で使用する言語Default language used in class
日本語 / Japanese
授業の進め方と方法Method(s)(学期の途中で変更になる場合には、別途提示します。 /If the Method(s) is changed, we will announce the details of any changes. )
平易な教科書を採用するので、教師が講義するだけではなく、持ち回りで学生が教科書の内容に基づいてプレゼンテーションを担当する。
課題の提出・フィードバックは学習支援システムを通じて行う。
アクティブラーニング(グループディスカッション、ディベート等)の実施Active learning in class (Group discussion, Debate.etc.)
なし / No
フィールドワーク(学外での実習等)の実施Fieldwork in class
なし / No
授業計画Schedule
授業形態/methods of teaching:対面/face to face
※各回の授業形態は予定です。教員の指示に従ってください。
1[対面/face to face]:イントロダクション-オープンエンドな探索
従来の目的型探索アルゴリズムの課題と、それを解決するための方法「オープンエンドな探索」を概括する。
2[対面/face to face]:進化的アルゴリズムの基礎(1)NEATアルゴリズム
遺伝的アルゴリズムの概要をを学びNEATアルゴリズムを実装する。
3[対面/face to face]:進化的アルゴリズムの基礎(2)実験
NEATアルゴリズムを使い様々な実験を行う。
4[対面/face to face]:進化的アルゴリズムの基礎(3)CPPN
CPPNアルゴリズムの概要と実装について学ぶ。
5[対面/face to face]:進化的アルゴリズムの基礎(4)CPPN-NEATアルゴリズム
CPPN-NEATアルゴリズムの実装する。
6[対面/face to face]:新規性探索アルゴリズム(1)新規性探索アルゴリズムと目的型探索の違い
新規性探索アルゴリズムの仕組みを理解する。
7[対面/face to face]:新規性探索アルゴリズム(2)実装とタスク
新規性探索アルゴリズムを実装し、いくつかのタスクに取り組む。
8[対面/face to face]:品質多様性アルゴリズム(1)Map-Elitesアルゴリズム
品質多様性アルゴリズムの理論について学ぶ。
9[対面/face to face]:品質多様性アルゴリズム(2)応用と実装
Map-Elitesアルゴリズムの応用事例と実装について学ぶ。
10[対面/face to face]:共進化アルゴリズム(1)共進化とMCCアルゴリズム
共進化ついて学び最小基準共進化アルゴリズムを実装する。
11[対面/face to face]:共進化アルゴリズム(2)迷路実験
迷路実験でMCCアルゴリズムの有用性を確認する。
12[対面/face to face]:POETアルゴリズム(1)POETアルゴリズムの概要
複雑で多様な環境への適応を可能にするPOETアルゴリズムの概要を学ぶ。
13[対面/face to face]:POETアルゴリズム(2)実装とサンプルコード
POETアルゴリズムを実装しサンプルプログラムで評価する。
14[対面/face to face]:まとめ
まとめと今後の学習へのガイダンスを行う。
授業時間外の学習(準備学習・復習・宿題等)Work to be done outside of class (preparation, etc.)
持ち回りで、教科書の内容のプレゼンテーションを準備する。
復習として練習問題を課外でこなして、授業支援システムで提出する。
本授業の準備・復習等の授業時間外学習は,各週につき4時間を標準とする。
テキスト(教科書)Textbooks
Pythonではじめるオープンエンドな進化的アルゴリズム、岡 瑞起、齊藤 拓己、嶋田 健志 著、オライリー・ジャパン、2023年、ISBN:978-4-8144-0000-3
参考書References
参考書、参考文献は講義時に指示する。
成績評価の方法と基準Grading criteria
プレゼンテーション 50%
課題 50%
学生の意見等からの気づきChanges following student comments
教師側から一方的に講義を行うだけではなく、学生によるプレゼンテーションと討論を重視して双方向の授業をめざす。
学生が準備すべき機器他Equipment student needs to prepare
ノートPC持参のこと。
その他の重要事項Others
学部でアルゴリズムとデータ構造の基本的な知識を習得していることを前提にしている。