Introduction to Algorithms

Numbering Code U-LAS30 20005 LJ10 Year/Term 2021 ・ First semester
Number of Credits 2 Course Type Lecture
Target Year All students Target Student For all majors
Language Japanese Day/Period Tue.4
Instructor name MIYAZAKI SHIYUUICHI (Academic Center for Computing and Media Studies Associate Professor)
Outline and Purpose of the Course [概要]
「アルゴリズム」とは、一言でいえば「問題を解く手順」のことである。日常生活において人間が何かの作業を行う手順もアルゴリズムと呼べるが、本講義では、計算機(コンピュータ)に問題を解かせるためのアルゴリズムを主に取り扱う。この場合は膨大な量の入力を取り扱うことが多いため、アルゴリズムの良し悪しが計算効率に大きな影響を与える。本講義では、アルゴリズムとは何か、アルゴリズムの効率評価方法、具体的な問題やアルゴリズムの例などを概説する。

[目的]
本講義を通して、アルゴリズムに対する基礎的な知識を習得することを目的とする。また、自分の考えを他人に分かりやすく説明する能力を身に付けることも目的の1つとする。そのため、講義内に問題を解き、解いた結果を他の受講生に対して説明する時間を多く取る予定である。
Course Goals ・「アルゴリズムとは何か」、「アルゴリズムの効率の評価方法」などを理解する。
・グラフなどの離散的対象について理解する。
・論理的な考えが出来るようになる。
・口頭発表や文章を通して、自分の考えを他人に分かりやすく伝えることが出来るようになる。
Schedule and Contents 以下の流れで講義を行う予定であるが、授業の進み具合によって前後することもある。

第1回~2回:アルゴリズムの基礎
第3回   :グラフの基礎
第4回~7回:基本的なアルゴリズム(動的計画法、分割統治法、局所探索法、貪欲法)
第8回~9回:問題の複雑さ
第10回~11回:近似アルゴリズム
第12回~13回:オンラインアルゴリズム
第14回   :組み合わせ的ゲーム
第15回   :期末試験
第16回   :フィードバック
Evaluation Methods and Policy 「目的」のところで述べたように、この講義は授業に出席し議論に積極的に参加することに意味がある。したがって、授業に出ずに試験だけ受けて単位を取得することはできない。具体的には、全講義の3分の2以上出席しないと、試験を受けることができない。その上での平常点と試験の比率は以下の通りである。
平常点:2割
定期試験:8割
ただし、定期試験を受験しなかった者は0点として取り扱う。
Course Requirements None
Study outside of Class (preparation and review) 基本的に予習は必要ない。スライドをホームページにアップロードするので、毎回の授業の内容を復習すること。また、各授業の終わりにクイズを1,2題出題し、解いてきて次回の授業の冒頭に発表してもらう。これは必須の宿題ではないが、「目的」の所で述べた「自分の考えを他人に分かりやすく説明する能力」を身に付けるために行っていることなので、積極的に取り組むこと。
Textbooks Textbooks/References アルゴリズム理論の基礎, 宮崎修一, (森北出版), ISBN:978-4627818514
授業はほぼ教科書の内容に沿って行うが、購入を強制するものではない。授業のスライドはホームページで公開する。
Related URL https://www.net.ist.i.kyoto-u.ac.jp/members/shuichi/algintro/algintro.html
PAGE TOP