| 〆切 | 課題 | 課題の目的 |
|---|---|---|
| 6月30日 |
課題1:グリッドワールドにおけるエージェントの強化学習 (pdf, 21KB) |
強化学習の基礎を理解する. |
| 9月20日 | 課題2:k 近傍識別法によるパターン識別 (pdf, 22KB) | パターン識別の基礎を理解する. |
| 12月20日 | 課題3:局所探索によるフローショップ・スケジューリングの最適化 (pdf, 21KB) | スケジューリングの基礎を理解する. |
|
本研究グループでは,まず,プログラミング課題をやってもらっています.
プログラミング課題の目的としては,下記の2点を考えています. 1) プログラミングの技術を向上すること 2) 研究のスタイルを経験すること 1)の技術的なことについては,ピンからキリまでありますし, プログラミング言語の拡張もしばしば行われますので, どこまで向上させるべきか,というとなかなか難しいものがありますが, 効率が悪いとわかっている方法は使わないようにしていくべきだと思います. 何が効率が良くて何が悪いか,というのは経験的に獲得していくものなので, 少しでも先輩から後輩へ知識が継承されていくような枠組みが必要だと思っています. そのために,次のような枠組みで結果の報告をしていただきたいと思っています.
上記のような枠組みで,次のような手順を踏んでもらえればと思います.プログラミング課題に関する メール報告は,プログラミングゼミ担当者と村田宛に送って下さい. 段階によって,宛先とCCが異なりますので,注意して下さい.
2)の研究スタイルを経験するとは, 実験結果からさらに調べるべき課題を見極める能力を身につけよう,ということです. プログラミング課題の指示書に書かれているのは一つの指針です. それ以上のことはしなくてよい,ということではありません. しっかりその分野の研究を考察し,方法論を突き詰めていけば, プログラミング課題自体を卒業研究にすることも可能です. また,課題として与えられている研究分野についての 具体的な方法を自分が知っておくことによって, 専門分野ゼミで読む専門書や研究論文の意味がわかりやすくなる, ということも,身につけたい研究スタイルにあげられます. スケジューリング,強化学習,パターン識別という違う要素を含む基礎的な課題を与えていますが, それらの違う分野の方法を実際に経験することで,いろんな分野への興味をより具体的に イメージすることができると思います. 課題の趣旨を理解した上で,意欲的に取り組んでもらえればと思います. 担当者の指示やプログラミング課題の趣旨について, 何か疑問があれば,いつでも質問して下さい. そのような質問は,やろうとしていることを明確にするためにも必要なことです. 最終的な目的は,皆さんの能力を明確に向上させることです. 皆さんの積極的な取り組みを期待しています. | ||||||||
|
プログラミングの小手調べとして,練習問題に取り組んで欲しいと思います.
難易度は下に行くほど難しくなります.
課題に取りかかる前に,自前の開発環境を整えるところからしなければいけない人もいると思います. 時間がかかると思いますので,今からしっかり自分の環境を構築してください. 言語はどのような言語を使ってもらっても構いません.Visual Basic, C++, Java など どのような言語でも結構です.大事なのは,課題として与えられている事柄を 達成できるかです.いずれの課題も計算結果を数値データとして出すゴールと その次にそれらの結果を図で表現するというゴールの2つの目標を設定しています. 数値データを出すのは,どのようなプログラミング言語でも可能だと思いますが, 特に図の表現方法は,言語によって,また対象とするOSによって取り扱いが異なります. 数値データを出すプログラムとグラフィック化するプログラムを変えてくれても結構です. ちなみに私が学生の頃は,UNIX上でC言語を使って計算し,図はPC98のMS-DOS上で作る, ということをしていました.その後,計算に特化して仕事をしていますので,UNIX上の プログラミングしかしていません.図は論文用に毎回特製で作っています. したがって,グラフィックについては,素人です.みなさんのがんばりに期待しています. また,今回使用する言語がこれからずっと使っていく言語であると思わなくても大丈夫です. こっちの方が使いやすいよ,などの情報がこれから飛び交うことになると思います. 大いに情報交換し,フットワークを軽くして課題に取り組んでください. 開発環境の整え方には2つあります. 1.ネット上にあるフリーのコンパイラなどをインストールする. 2.MSDNのソフトを使用する. 上記の1,2を簡単に解説します. 1.ネット上にあるフリーのコンパイラなどをインストールする. フリーのソフトですから,どのようなソフトを使ってもらっても結構です. 試しに「コンパイラ C言語 フリー 」という キーワードで,引っかかったページを紹介します.私が自分で導入したわけではないので, 信頼できるかどうかは不明ですが,トライ&エラーでやってみてください. おすすめのページがあれば,どんどん紹介してください. こんなん見つけたけどどうでしょう?という連絡でも結構です. お互いに見つけあった情報をどんどん交換していきましょう.
2.MSDNのソフトを使用する. 研究室で年間契約しているマイクロソフトの開発環境ソフトです. 何がソフトに含まれているかはMSDN掲示板のページやMSDNのホームページを 参照して確かめて下さい.研究メンバーが使用する自宅のコンピュータにも インストールが許可されていますので,所定の手続きにしたがって, ソフトを利用してもらえればと思います.MSDNのソフト管理は, MSDN係に依頼していますので,質問は掲示板等で行って下さい. 課題の〆切は上表のように設定します. 3つのプログラミング課題に順番に取り組んで下さい. 疑問や質問があれば,自分の担当になる4年生や院生に 遠慮なく問い合わせてもらえればと思います. |