Archive for the ‘進化計算班議事録’ Category

進化計算班15回目(最終発表)終了した打ち上げでラッキーチャンス

木曜日, 1月 24th, 2013

m_201301241727065100f05a308c9 m_201301241735015100f2351b56c m_201301241747045100f508585c4 m_201301241808065100f9f63d1bc m_201301241829275100fef71d324

進化計算班の15回目、最終発表を終わりました。先輩/同期が数名聴講に来てたのですが、片方のゼミ室が都合良く空いてたので大部屋にして広々と使えたのは助かりました。

発表会のスタイルは「聴講者がGAは知ってるという前提で、どんな問題にどのように適用したのか独自設定したことが分かるようなプレゼンとしてまとめ、実験結果も示すこと」ぐらいの指定でプレゼンしてもらう形式です。ただし、大まかな流れでも書いてるように「開発を請け負う」という形でやっているので、クライアントとして開発依頼したグループがどうだったかを評価して貰っています。自身の自己評価については相手からの評価と、中間時に振り返って自己評価した内容を再度振り返ってもらい、最終的な自己評価をして貰っています。この自己評価は宿題にしたのでまだ届いていませんが、単に目先のスキル的なものを身につけるというよりは自分自身の振り返りを通して何かしら前進できるようになってくれればそれで良いんじゃないかなと。

打ち上げはダブルデッカー。多くの学生が去年だかのC1グルメバトルでグランプリを取った「石垣牛の煮込みハンバーグ」をセレクトしてたところ、私自身は冷えてる時期ぐらいしか食べないということでまだ食べてないカレードリアを堪能。ほくほくして満足です。ちなみにドリンク配膳時に店員がこぼしちゃったので、そのお詫びにということでガトーショコラをサービスしてもらいました。大人数で来たタイミングだったので軍資金出す側としては嬉しかったですw(せこい)。

実験として集まるのはこれで最後で、後は最終自己評価+成果物公開+授業評価アンケートの3件を残すのみです。頑張ってください。

今期は進化計算班の議事録的な記事をなるべく書くようにしてみましたが、これで一つの側面はグループ外の学生からも見れているんじゃないかと。と言いつつ、次年度からは進化計算班ではなくて新しい実験班を検討してたりもしますが。(やるやる詐欺になりかねないのでここでも書いておこうw)

進化計算班14回目終了、実験2のレポート〆切間近。

木曜日, 1月 17th, 2013

進化計算班は残す所最終発表&成果物公開に向けての最終調整に入りました。今回は初めて全部グループJavaでがしがし書いてますが、どっかの影響があったのかドキュメントもDoxygenではなくてJavadocで書いてるグループが出てきました。これも初めて。あと、無関係の院生がほぼ毎回聴講参加してたんですが、彼も最終発表することになりました。これも初めて。

最終発表は予定通り来週やります。ということで1/24(木)ですね。終わったら打ち上げしようかと声かけしていくつか挙げた所、馬之助(メインはお好み焼き/もんじゃ焼きですが、ここでしか食べれないデザートもんじゃがあるのがポイント高し)ケレベッキ(トルコ料理で個人的に一番好きなお店)モフモナ(沖国近くのカフェ)カスタマンダップ(ネパールカレー)ダブルデッカー(どちらかというとバーに含まれると思いますが、自分の中では美味しいチキンクリーム・オムライスが食べれる洋食屋)から多数決でダブルデッカーに決まりました。

今日と明日は実験2の探索アルゴリズム12のレポート〆切日なんですが、現時点での提出状況は芳しくないな。ま、頑張ってください。

明後日からセンター試験が始まりますが、その会場設営のために明日は終日休講なはず。「はず」というのは大学オフィシャルカレンダーでは謎の日本語になってるから。いちいち突っ込むのもなぁという感じだし個人的にはもともと午前中には講義無いから関係ないしということでスルー。

少なくとも午後からは講義が無いということで時間調整しやすいこともあり、明日はSEECさんとのミーティング。まだゼミもしていない仮配属生交えて少しずつ共通認識となる土手を気づいていければ良いなというスタンスで取り組んでるつもりですが、どういう所に落ち着くのかをさっぱり見通していないのは流石に無謀すぎるかなー。何かしら面白そうだと感じてもらえればそこを出発点にして掘り下げていけばそれで良いと思うのだけど。

進化計算班13回目終了

木曜日, 1月 10th, 2013



学内でもサクラが咲き始めているらしい。

進化計算班も残すところ後2回。次回1/17(木)、最終発表日を調整します。一応3グループともGA動く所までは到達してて、大きな残タスクはDoxygen対応ぐらい。解の見せ方工夫やバグ潰しといったタスクをこなしつつ、最終発表用のプレゼン作成もやる必要がありますが何とかなるでしょう。

JSiSE学会研究発表会は3/8(金)なのね。IPSJ全国大会と被るので今年はパスかな。個人的には教育学部が挙って発表しないのが謎なんですが、今年も「4件」という募集件数を見る限りでは去年みたいに情報工学科メインでやるのかな。正直情報工学科だけでやるのなら意味を見出しづらいのだけど、教育学部は何で関わろうとしないのかなぁ。

進化計算班12回目終了。未踏説明会も終了

木曜日, 12月 20th, 2012

進化計算班は12回目が終了しました。11回目の日記がありませんが、先週は仙台出張(認知科学会大会)だったのでTAの山内くんにお願いして進捗確認+オプションをやってもらいました。オプションではorg-modeやったらしいw

ということで前回欠席したお詫びでずんだなお菓子をプレゼント。大会の具体的な概要報告しても良かったんだけど、今日は14時から未踏説明会があったのでざっくりと話すだけに留めて、デフォルトの進捗確認のみしました。気になってた進捗も少しずつ前進しているようで何より。何かあれば質問相談して欲しいとは思うけど、それ以上にこっちからもっと手や口を出すべきなんだろうな、本来は。ある一定の所までは手取り足取りやって、それでも興味/動機持てないならその時点ではそこまでで他のことで頑張ってもらうのが良いのかなぁ。

IPA未踏事業説明会は、未踏自体の説明も勿論ありましたがどちらかというとメインは「尖った人らとの接点作り」みたいなところが狙いだったという印象。面白い人との出会いは何かしらの切っ掛けに繋がりやすいだろうし。#ie_mitohで実況ツイートも揃ってるので「どんな感じ」なのかの参考になるんじゃないかと。何度か書いてるけど未踏自体の様子としては与儀さんの事例で十分。なんだけど、今回は未踏というよりは個々人のポリシーとかモチベーションといった所に面白さが詰まってるというイベントでした。こういうのは(Ustream等でも良いけど)現場でしか味わえない面白さがあると思う。

進化計算班(3年次)と研究室(4年次〜修士)に呼びかけしてたんだけど、部屋的にはちょっと呼び過ぎたか。でも一度はこういう場に触れて欲しいしね。進化計算班には18時休憩のタイミングで帰っても良いよと話してたんですが、最後まで残ってた学生もいたな。よしよし。
->後でTimeline眺めてから気づきましたが、NAL研仮配属生(3年次)もいたらしい。よしよしよし。

進化計算班10回目終了、アンケート協力者への食事会

木曜日, 12月 6th, 2012

進化計算班は10回目が終了し、残す所5回。実装自体は全グループそれなりにできつつありますが、グループ毎にうまく分担出来てなかったりする点への突っ込みが多かったか。一歩ずつ歩むしかないので、そこは頑張ってと後押しする(質問はいつでも受け付けると伝える)ぐらいしかできないです。一応デバッグ実行できるようにはなったはずだし。

オプションではGraphviz(dot) 付きの Doxygen によるドキュメント生成(PDF)をやってみました。やってみたと言っても設定ファイル変更個所の例示と、コメント書式の例示ぐらいなので基本的にはすんなり終わり。一部、brew 経由でインストールした学生の dot 挙動が怪しいのが謎ですが、あれは素直にソースからコンパイルした方が良いのかも。

学生実験終了後に、情報推薦やってる山内くんと討論。ちょっと目標がぶれてるというか、元々やりたかったことと現時点での目先の目標のズレが出てきて、その擦り合わせが必要という所かな。実際問題として「Serendipityのある推薦」にしろ他の目標にしろ、問題設定をうまく設計できないと「この先」を見通しにくいとは思う。そういう意味ではデュアルソリューションさんとの連携話はいいタイミングだったのかもしれない。

その後に数分だけTL談話抽出やってる堀川くんとも討論しましたが、こっちは「今やろうとしている【共起の仕方】という観点からの検証」をどういう位置付けでやるのか、最終目標への道筋をどう積み上げていくのかが要検討か。

TL話題アンケートに協力してくれた皆さんへの感謝の気持ちということでアレンジした食事会の時間が差し迫っていたので、討論は数分で終了。ブルーシールがやってるレストランOnDishで、寒くなった時期にアイス食べ放題が付いてるというのもどうかなと思ったんですが一度食べだすと気にならないぐらいには普通に満足でした。参加した皆さんもオカワリしてたので良かったらしい。最終的には腹筋崩壊スレみたいな会場になってました。(学生の話が面白くて私は笑ってただけです)。個人的なベストふぁぼは○○です。ちょっと時間長過ぎたかもしれない点はごめんなさい。

今回参加出来なかった人には、別件で何かしら用意する予定らしい。

進化計算班9回目終了

木曜日, 11月 29th, 2012

午前は隔月会議があったのでそっちに参加。してたのだけどそろそろ参加意義が分からない状態なのと次回は年度末時期に入って都合つくか怪しいのでキャンセルするかな。と今の時点で決めても仕方が無いんだけど。

進化計算班は9回目が終了。例によってコードレビューしながらの進捗確認ですが、どちらかというとプログラミング苦手な人がどのぐらい理解してるかの確認や、実装を通して解釈違いに気づくという所へのコメントが多かったかも。そういうのも含めて「学生実験」なので問題無いですが、デバッグ実行させるのをし忘れてしまったのはちょっと失敗だったかな? 次回でも似たような感じになってたら忘れないようにしよう。

オプションはJUnitの事例紹介(PDF)。前回の中間自己評価へのコメントを通してあれこれ紹介してた書籍の中に「まだ自分では開いた事も無いもの(Java言語で学ぶリファクタリング入門)」があったのでamazonでゲット。付録にあったJUnit周りの話が分かりやすかったのでそれをほぼそのまま使って紹介しました。同じく付録にあった「リファクタリング・パターン」みたいなものもイメージしやすくて良さげ。Java書き慣れてる人だと付録眺めるだけで十分で、そうじゃない人は本文と共にコード例参照するという感じで使えば良さげです。

JUnitの動作に関連してポリモーフィズムの話もしたのだけど、やっぱり具体的なコードがあった方が良さげなので、次回ぐらいには例題用意しようかな。そろそろDoxygenな頃合いでもあるけど。

休日はゼミ日和り。中間自己評価へのコメント返しを通した書籍紹介

金曜日, 11月 23rd, 2012

金曜日はデフォルトのゼミ日ですが、今週は休日。平日で調整付かないだけということもありますが、大抵は「午前中にゼミを終わらせてしまって、どこかお昼食べに行こう!」としていることが多いです。ということで、終わってからトルティーヤファクトリーに出撃。私含めて全員初めてだったんですが、想像してた以上に美味しく大満足。量的には「朝ご飯食べそびれた学生でも途中からキツくなる」ぐらいのボリュームです。普段食べない香菜も入ってて嬉しいのですが、次行く時には「ご飯半分!」と言うのを忘れないようにしないと。

ちなみにあの付近(「普天間でいご通り」と言うのか)は何故かメキシカンな食堂があちこちにあるんだけど、そういう人たちが多いのかな? もしくは周囲の基地関連で集客力あるのが残ったらこうなったという話だったりするのかしら?

あるお題を与えられた状態で、特定範囲のTimeLineから関連しているかどうかを判定しもらうアンケートは、微調整しただけで本番試してみることに。ブログ公開した状態だったこともあって、気づいた人は既に回答してくれてたりするんですが、改めて正式にお願いしたい人へ回答依頼することに。宜しくお願いします。近いうちに食事行きましょう。

あれこれ終わった後で、昨日の進化計算班で振り返ってもらった&改善案を提示してもらった中間自己評価について、個別にコメント返し。具体的な中身は個々人の受け止め方次第ですが、何かしら前に進むためのヒントや切っ掛けになれば。コメントを通してあれこれ書籍やWebサイトを紹介しましたが、多くの学生にも関連するかと思うので一覧をリスト化しておこう。

リストの中でも、なぜ、あなたはJavaでオブジェクト指向開発ができないのか Javaの壁を克服する実践トレーニングを「プログラミング自体にアレルギーがあるような学生向けの処方箋」として一読をお勧めします。また、オブジェクト指向でなぜつくるのか 第2版 知っておきたいOOP、設計、関数型言語の基礎知識は「1〜3年次の学生向け副読本」として一読をお勧めします。特に後者は、構造化プログラミングからオブジェクト指向プログラミングになることで得られるメリットと必要最小限の知識としてのメモリ管理、設計方法としてのUML、共通パターンとしてのデザインパターン、テストといった「プログラミング〜システム設計関連科目の間を補ってる」良書なので、全員にお勧め。


[ プログラミング関連 ]

[ 「オブジェクト指向プログラミング」の考え方 ]

[ その他:学習方法、プレゼンテーション方法、チームハックス、論理的思考法、論文の書き方など ]

進化計算班8回目終了。達成目標に照らし合わせて振り返ってみた。

木曜日, 11月 22nd, 2012

午前と夕方に事務作業なお手伝い。ちょっと時間取られ過ぎ感もあるけど、そろそろ文字通りの流れ作業のみになりそうなので、来週からはもうちょい早く追われるんじゃないかと予想。タスクが入り込んでて昼食は軽食にした分、夕方には異常に空腹だったので我慢出来ずに食事してきましたが、食べたら食べたで半分で十分という。やっぱり肉メインな料理は「半分で」とか言わないと駄目か。

進化計算班は8回目が終了。コードレビューしながら「ちゃんとバージョン管理してる?」「グローバル変数使わないように」「ここはどういう意図でこう書いてるの?」「想定通りに動いているかを目視確認するだけじゃなく、処理例を用意してテストするようにしよう」みたいなことをグループ分繰り返してます。グループ毎に何を指摘するのかは違ってくるのは当然ですが、逆に言うと他グループがいる中でレビューすることで「他の人は当然と思ってやってること」をあれこれ見れるのは、皆で集まっているからこそできることだよね。

オプションの方はプログラミング演習は無しにして、「グローバル変数を使うことの問題点は?」を出発点とした討論+α。あれこれ意見出してもらう限りでは十分問題点を意識できるように見えます。実際書く時にはそこまで考えるのはその次、というのは理解できます。プログラミングの歴史的には、構造化プログラミング関数化オブジェクト指向プログラミングという流れで「どうコードを整理するか、俯瞰しやすくするか、再利用しやすくするか」という点でクラスやパッケージを導入する事でより細かな制御をしやすくしている。見通しを良くするための良く共通して現れるパターンがデザイン・パターンで、取りあえず全グループJava使ってるからIteratorから意識してみては。という話をしてみたり。ただこのあたりは私自身「オブジェクト指向」で考えきれてない部分がある古くさい脳のままなんだよな。もうちょっとスマートに伝えられるぐらいには精進したい所。

あと、前回書いたように

そろそろ中間的な頃合いでもあるので振り返りか自己評価的なものをやって、残りの後半でそこの改善を目指せるように可視化でもするかしら。

の一貫としてこういう自己評価アンケート(PDF)をやってもらいました。各自で提案してもらった改善案について取り組んでもらえたらそれで十分ですが、文章化して見える形で意思表明してもらうことは大事。

今日中に送ってもらったアンケートに一言コメントぐらいは返したい所だけど、ちょっとお疲れモード。明日かなぁ。

進化計算班6回目終了、企業さんとの打ち合わせ

木曜日, 11月 8th, 2012

中間予稿コメントは、(當間研を飛ばして)舟木研2名、谷口研2名、赤嶺研2名を終了。これで合計14研究室40名を終了。

写真は昨晩のお食事から。前に顔合わせしたデュアル・ソリューションさんとの打ち合わせ後の食事会でした。正直帰宅時間が24時近くになるとは想定してなかっただけに、疲労感が凄いw

打ち合わせ自体は、具体的にこんなことやってる、こういうデータがある、こういうことしてみたい、どういうことができそうか、というような話。先方からの情報提供とこちらからの情報提供で互いに質問しながら、互いにメリットのあるクロスポイントを模索する段階です。実際のデータを見ながらあれこれやれる状況というのはなかなか無いので、何らかの形では継続的に関われると良いかなとは思うのですが、どうなるのかはまだまだ不透明です。不透明だからこそ面白いというのもあるし。

進化計算班は6回目が終了。メインタスクは先週請け負ったクライアントからの依頼に対応して、開発者として何をどのように開発するのかという意思表明。要求仕様的にまとめる体験ぐらいですが、実際問題「消去」という言葉の意味する所の解釈があやふやだったのが出てきたりするので、やっぱりこういう場は一度はやらないとね。

来週からは具体的な開発についての進捗確認になります。残りの7〜8週間をどのように時間配分するか、グループ内でどのように分業するのか、分業したものをどのように擦り合わせるのか、といったことを体験していくことになります。

プログラミング演習では、細かいものが多いですが以下のようなものをやりました。

来週は、デバッグかDoxgygenあたりかな?

進化計算班5回目終了

木曜日, 11月 1st, 2012

中間発表の予稿が揃ったようなので、ちらほらチェックし始めています。基本的に全員分に目を通すようにしてるので、漏れがないように研究室へのリンク順に眺めています。こうすると、私の興味からは離れている研究室が連続してたりするのでなかなかモチベーションが続きにくいんですが、逆にこれを終盤に持ってくると投げ出しちゃいそうなのでこうしてます。ということで取りあえずアシャリフ研分は終わりました。毎日少しずつコメント書き始めるはず。

進化計算班は5回目を終了。今回のメインタスクはグループ毎に適用したい問題を1つに絞り、適用方法(コーディング、適応度評価、交叉、後処理など)についての確認と、開発を依頼するスタイルなのでその調整。早めに終わって20分ぐらいグループ間討論の時間を取ったぐらいで、残り時間はずっとプログラミング演習してました。

プログラミング演習(C言語)では、前回書いたマインスイーパなコード(全てをmain()に書き連ねただけの状態)をベースに、

  • 変数を介さずに直接値を書き込んでいた箇所を変数に置き換え。(そうしないと同じ意味で使ってる箇所を一度に変更することができない)
  • 配列使ってた所をポインタ+動的メモリ確保するように変更。(そうしないとフィールドサイズを変更できない)
  • グローバル変数はデフォルトで禁止。(そうしないとシステム規模が大きくなればなるほどデバッグで泣くことになる)
  • 機能単位で関数化。(そうしないとプログラム全体の見通しが悪い)
  • 一部の関数を別ファイルに分割+Makefile修正。(そうしないとシステム規模が大きくなった時に見通しが悪くなったり、コンパイル時に時間かかり過ぎて泣きたくなったり)
  • 動作確認用のコード(テスト)を書いて、プリプロセッサ対応。(ウマく使うとプログラム変更時の動作確認しやすくなったり、見通しを良くできたり)

みたいな一般的なリファクタリングをして、main()関数の全体像を眺めやすく&再利用する形にしてみました。いや、してみたというよりは、学生に「こうしてみて〜」という指示をしながら実際に手を動かさせていたという形ですが。それをプロジェクタで投影しながら皆で眺めつつ「そこはこうしたら」「そうじゃなくて」とか助け舟出しながら進めるというスタイル。

プリプロセッサとか今更知る必要があるのかと言われたら微妙な気がしなくもないですが、ま、一応。

再来週ぐらいからは実際の開発に入る予定なので、後1,2回は今のスタイルで進めて「開発前の準備」としてやっています。簡易設計→ユースケース記述→試し実装→リファクタリング、という流れ。次回は細かいリファクタリングするか、Testingか、デバッグあたりを想像していますが、どうしようかな。