手で考える アルゴリズム授業の紹介 · 手で考える...

17
手で考える アルゴリズム授業の紹介 九州大学大学院 システム情報科学研究院 池田 大輔 ([email protected]) 2009/12/27 1 1

Upload: others

Post on 10-Jan-2020

6 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: 手で考える アルゴリズム授業の紹介 · 手で考える アルゴリズム授業の紹介 九州大学大学院 システム情報科学研究院 池田 大輔 (daisuke@inf.kyushu-u.ac.jp)

手で考えるアルゴリズム授業の紹介九州大学大学院 システム情報科学研究院池田 大輔 ([email protected])

2009/12/27

11

Page 2: 手で考える アルゴリズム授業の紹介 · 手で考える アルゴリズム授業の紹介 九州大学大学院 システム情報科学研究院 池田 大輔 (daisuke@inf.kyushu-u.ac.jp)

自己紹介

佐賀県立鹿島高校卒業

九州大学 理学部 物理学科卒業九州大学 大学院総合理工学研究科情報システム学専攻 修士課程入学   同 修了

九州大学大学院システム情報科学研究科情報理学専攻博士後期課程進学   同 退学九州大学大型計算機センター(助手)

九州大学情報基盤センター(大型計算機センターから改組)講師九州大学附属図書館助教授九州大学大学院システム情報科学研究院へ異動  現在に至る

2

Page 3: 手で考える アルゴリズム授業の紹介 · 手で考える アルゴリズム授業の紹介 九州大学大学院 システム情報科学研究院 池田 大輔 (daisuke@inf.kyushu-u.ac.jp)

1.コンピュータの世界で使う「単位」デジたま講座で使う白球黒球(デジたま)の並びのうち、球ひとつひとつを 1ビット といいます。

そして、球が8個並んだものをひとつのまとまりと考え、1バイト とよびます。

データの量をあらわす単位

1ビット1バイト=8ビット1キロバイト=1024バイト1メガバイト=1024キロバイト1ギガバイト=1024メガバイト

1ビット

1バイト

「デジたま」講座紹介(竹田正幸教授)

デジたま(=黒と白球)による体験型の講座

主な内容デジたまによるビット表現FAXやメールのデジたまでの表現、送信及び復元ゾートロープやウォーターパールによるアニメーションの仕組み

3

ターンテーブル、ストロボによる立体ゾートロープ

3

Page 4: 手で考える アルゴリズム授業の紹介 · 手で考える アルゴリズム授業の紹介 九州大学大学院 システム情報科学研究院 池田 大輔 (daisuke@inf.kyushu-u.ac.jp)

4

高森湧水公園(熊本)

4

Page 5: 手で考える アルゴリズム授業の紹介 · 手で考える アルゴリズム授業の紹介 九州大学大学院 システム情報科学研究院 池田 大輔 (daisuke@inf.kyushu-u.ac.jp)

最近の活動福岡女子大学での講義(竹田先生)教職課程におけるコマ(半期)

伊都祭(H20年度)伊都キャンパスで行われる地域と大学(主に学生)による市民向けのイベント

すせんじっ子フェスタ(H21年度)周船寺小学校での父母によるイベント(バザー等)伊都キャンパス移転後、主催者から伊都キャンパスの事務局へ出展の依頼

5

伊都祭での一コマ

5

Page 6: 手で考える アルゴリズム授業の紹介 · 手で考える アルゴリズム授業の紹介 九州大学大学院 システム情報科学研究院 池田 大輔 (daisuke@inf.kyushu-u.ac.jp)

九州大学における情報教育全学(低年次)の情報処理

Cによるプログラミング(XCode on Mac)

(以前はDelphi (=Pascal) によるプログラミング)

高年次では.....

システム情報科学研究院や理学部 物理学科 情報理学コースなどの情報系→情報系の講義やより高度なプログラミングの演習6

コンピュータを用いずに、情報や計算機科学そのものを対象にした講義はない

専門家より

非専門家より

6

Page 7: 手で考える アルゴリズム授業の紹介 · 手で考える アルゴリズム授業の紹介 九州大学大学院 システム情報科学研究院 池田 大輔 (daisuke@inf.kyushu-u.ac.jp)

物理学科のコアセミナー少人数形式のセミナー

1年前期に3つのセミナーを受講1つのセミナーは4回12~14人程度5人の教員(5つのテーマ)

テーマ例報告・説明文の書き方物理の教科書を英語で読む温度の測定法物理の文章を日本語で読むアルゴリズムと計算量

77

Page 8: 手で考える アルゴリズム授業の紹介 · 手で考える アルゴリズム授業の紹介 九州大学大学院 システム情報科学研究院 池田 大輔 (daisuke@inf.kyushu-u.ac.jp)

「アルゴリズムと計算量」内容トランプを用いて、ソート(並べ替え)のアルゴリズム(手順)を構築

3~4人の班に分ける班ごとに高速なアルゴリズムを考える次の週(全部で3回)に班ごとに黒板を用いて発表他の班の人が手順を再現する

88

Page 9: 手で考える アルゴリズム授業の紹介 · 手で考える アルゴリズム授業の紹介 九州大学大学院 システム情報科学研究院 池田 大輔 (daisuke@inf.kyushu-u.ac.jp)

目的物理学科の学生に「アルゴリズムとは」を理解してもらう

コンピュータの高速化と関係ない本質的な問題の難しさ(計算量)

手順を徐々にブラッシュアップしていく のアルゴリズム

手順に書き下し、他の人に説明する自分で並べ替える時は、ほとんど無意識にやっているプログラムはコンピュータに説明

9

情報理学のPR

9

Page 10: 手で考える アルゴリズム授業の紹介 · 手で考える アルゴリズム授業の紹介 九州大学大学院 システム情報科学研究院 池田 大輔 (daisuke@inf.kyushu-u.ac.jp)

内容:1回目問題の提示ただし、おおまかに「速く数字を並べかえる」と伝え、細い前提条件等は、徐々に見せる班ごとに、トランプのスーツを一組与える

このテーマの大きな目的を説明

この時間の目的「速く」は忘れて、「正しく」並べかえる手順を構築「無意識」にやっている操作を「意識」させる例:モンキーハンティング、極端に大きな数など

1010

Page 11: 手で考える アルゴリズム授業の紹介 · 手で考える アルゴリズム授業の紹介 九州大学大学院 システム情報科学研究院 池田 大輔 (daisuke@inf.kyushu-u.ac.jp)

内容:2回目最初のプレゼン班ごとに発表する自分も考えてきているので、あまり質問がでない

アルゴリズムに必要な準備を明確にする入力と出力をどのように表すか基本的な操作の確認e.g., あるアドレスの数字を見る、比較する、交換する基本操作の回数で評価する

1111

Page 12: 手で考える アルゴリズム授業の紹介 · 手で考える アルゴリズム授業の紹介 九州大学大学院 システム情報科学研究院 池田 大輔 (daisuke@inf.kyushu-u.ac.jp)

内容:3回目プレゼン回数を具体的に見積ってくる

オーダー(O記法)表記漸近的に本質的な難しさを考える自分たちのアルゴリズムがどれくらいのオーダーか理解この時点で、トランプの特殊性(同じ数字ナシ)を使ったO(N)と一般の場合にも動くO(N2)のアルゴリズム前者は速く、後者は遅いが、前者は適用範囲が狭い

次回の目的一般の場合に使え、より早いアルゴリズムの構築ヒントを与える:半分が整列ずみの場合

1212

Page 13: 手で考える アルゴリズム授業の紹介 · 手で考える アルゴリズム授業の紹介 九州大学大学院 システム情報科学研究院 池田 大輔 (daisuke@inf.kyushu-u.ac.jp)

内容:4回目プレゼンマージソートによるこれが劇的な改善であることを実感させる大きな数の計算

計算量に関するいくつかの話題より難しい問題(指数時間かかる問題)をとく日常的に使われる例の提示e.g., 野菜等の自動計量器

1313

Page 14: 手で考える アルゴリズム授業の紹介 · 手で考える アルゴリズム授業の紹介 九州大学大学院 システム情報科学研究院 池田 大輔 (daisuke@inf.kyushu-u.ac.jp)

学生からの評価他のテーマと比較して非常に好評全体のアンケートでは「テーマを学生に選ばせてほしい」という要望が多くでた

いくつかの意見はじめてトランプを並びかえて下さいと言ったときは、簡単そうだなぁと思ったけど、実際やってみるととても複雑で、奥が深いものだと知りました。しかもそれを人に説明するのは、本当に大変なことなんだと思いました。最初は全然わからなかったが、一回わかると、どうしてそれしか考えられなかったのかと不思議に思うと同時に、他の方法が考えられなくなるので最初にどう考えるかが非常に大切だと思った。コアセミナーの他の講義では、調べ学習ばかりで、自分で考える機会が少なかったのですが、このアルゴリズムの講義ではいろいろなことを考えることができたので、とても良い時間を過ごせたと思います。

1414

Page 15: 手で考える アルゴリズム授業の紹介 · 手で考える アルゴリズム授業の紹介 九州大学大学院 システム情報科学研究院 池田 大輔 (daisuke@inf.kyushu-u.ac.jp)

学生からの評価ただ単にトランプを並びかえるだけの作業なのに、最小の手順を考えるとなるとなかなか難しかった。nで枚数を表し、次元で回数を考えるという手法は学問的で効率がいいと思った。アリゴリズムを考えることは、これからパソコンなどを扱っていく上で大事だと思った。発想を豊かにし、効率のよさを論理的に考えれるようになりたいと思った。今回でプログラミングに少し興味が出たので、いつか学んでみたい。初めは、トランプの1~13を並べるだけなんて、何の意味があるのかと思っていたけど、数字を並べるだけでアルゴリズムを考えると、とても複雑で意味深くて、とてもおもしろいと思いました。また機会があれば考えてみたいです。単純そうに見えて意外に難しい、難しそうにみえてやってみると意外と簡単だったり奥が深いと思った。また、人それぞれ違うやり方を見つけ出していたのも興味深かった。

1515

Page 16: 手で考える アルゴリズム授業の紹介 · 手で考える アルゴリズム授業の紹介 九州大学大学院 システム情報科学研究院 池田 大輔 (daisuke@inf.kyushu-u.ac.jp)

その他の取り組みサンプリング定理(標本化定理)の直感的な理解データ科学(3, 4年生)

ECサイトや(図書館の)個人向けポータルシステムの設計データベースと情報検索(3, 4年生)紙と鉛筆によるシステム設計←演習がついていれば、実際にシステム構築までやりたいが・・・

1616

Page 17: 手で考える アルゴリズム授業の紹介 · 手で考える アルゴリズム授業の紹介 九州大学大学院 システム情報科学研究院 池田 大輔 (daisuke@inf.kyushu-u.ac.jp)

周波数の制限と標本化定理信号 のフーリエ変換を とするとき、

であれば、信号 は帯域幅 に帯域制限されている、という

定理:帯域幅 に帯域制限された信号 は、サンプル間隔 のサンプル点 でのサンプル値 のみから、次の式で補間される

f(t) F (!)F (!) = 0 (|!| !W )

f(t) W

W f(t)

!/W {tk}{fk}

f(t) =!!

"!fksinc

t! tk!

(sinc(x) =sin"x

"x)

1717