『新人君! RPGの世界でJavaを学ぼう』をやった
はじめに
本記事は、下記記事の続編。
upura.hatenablog.com
Githubのrepository
【冬休みの宿題】『新人君! RPGの世界でJavaを学ぼう』をやる
遺伝的アルゴリズムでゴールを決めてみた
「遺伝的アルゴリズム」を用いて、サッカーでゴールを決めるのを目的とした学習モデルを設計した。2年前の大学の授業で作った資料が発掘されたので、ブログにまとめる。
モデル化
赤色のチームが攻撃し、青色のチームのゴールを狙う。1回のシミュレーションは、赤色のチームがセンターラインから攻撃を開始し、青色のチームにボールを奪われるか、ゴールを決めるまで実施する。
2チーム分22人のエージェントを作成し、一定の規則に従い移動するよう制御。具体的には以下の通り。
- 赤色のチーム……ゴール方向に向かって、一定速度で進む
- 青色のチーム……赤色のチームのボールを保持しているエージェントに向かって、一定速度で進む
赤色のチームは、一定の時間(フェーズ)ごとに、ボールを保持したままドリブルするか、味方にパスを出すかを決める。ゴールへ一定の距離まで近づいたエージェントがボールを保持している場合、シュートを打つ。シュートは必ず決まる。
青色のチームのエージェントが、ボールを保持している赤色のチームのエージェントに一定の距離(ごく近く)まで近づいた場合、ボールを奪う。
遺伝的アルゴリズム
赤色のチームに、上記のような遺伝子情報を持たせる。右上の表は、例えば「1フェーズ目で2番のエージェントにボールを保持させる(この時点で2番のエージェントがボールを保持していればドリブルし、そうでなければ他のエージェントからパスを貰う)」ということを意味する。
評価値
とある遺伝子情報に対し、その指示に従ってシミュレーションを実行する。ここで「赤色のチームの一番先頭のエージェントが、どれだけ青色のチームのゴールに近づけたか」を評価値とする。
複数個の遺伝子情報の中から、評価値の高いものを選択し、交叉(組み換え)を行うことで次世代の遺伝子情報群を生成する。「シミュレーションと評価→選択と交叉」の繰り返しで徐々に性能の高い遺伝子情報が生み出され、最終的にはゴールを決められる遺伝子情報が誕生するという仕組み。
実験結果
第1世代
即座にボールを奪われてしまう。
第3世代
第1世代より成長していると分かる。
世代ごとの評価値の推移は上記の通り。世代を重ねるごとに評価値が上がっていると分かる。
第8世代
遂にゴールを決められる遺伝子情報が誕生。オフサイドとか言わない。
考察
以下の2条件を試してみた。
- 青色のチームのフォーメーションを変更
- 青色のチームの動き方を変更
- 自分よりもボールの方が自陣ゴールに近い場合は、通常より速く移動
詳細は割愛するが、ゴールを決められる遺伝子情報が誕生するまでの時間は、1の場合はそれほど変わらず、2の場合は長く(13世代ほど)なった。(少なくとも今回の場合)システム設計自体を整えるより、問題が生じた場合の対策を用意しておく方が効果的だと示唆された。
参考
2年前の資料作成時、下記の動画を参考にした。当時は投稿者について知らなかったが、「平成将棋合戦ぽんぽこ」の製作者さんだった。
www.nicovideo.jp
Rで棒グラフと折れ線グラフを重ねた図を作成 〜出生数・出生率を例に〜
下記のツイートを見て、出生数・出生率の推移を調べてみようと思った。
初の予告退位で、統計に表れるような「産み控え」が発生するのか?は興味深い。「えっ?あなた平成うまれなの?」って子供が将来言われないように1年待つ人って、うちの親の感覚(自分の親が「大正女」とか古い人みたいに言われてる)だと一定数いるようだが、今の人は気にしないような気もするし。
— 渡邉正裕 (@masa_mynews) December 26, 2017
可視化した結果は下記の通り。
データは下記サイトからダウンロードした(出典:厚生労働省「人口動態統計」)。
内閣府ウェブサイトの常時暗号化による「https:」への切り替え - 内閣府
Rスクリプト
label <- t(df['year']) num <- t(df['birth_num']) rate <- t(df['birth_rate']) par(mar=c(4, 5, 2, 5)) barx <- barplot(num, names.arg=label, xlab = "", ylab = "Number of live births", col=c('white')) par(new=T) plot(barx, as.matrix(rate), type="o", axes = F, xlab = "", ylab = "") axis(side = 4) mtext("Birthrate", side = 4, line = 3) box() abline(v=51)
東大を退学して10月に新卒入社した
はじめに
- 退学 Advent Calendar 2017の6日目の記事
- 本Advent Calendarの2日目の記事で触れられていた、「中退してすぐにプログラマとして就職できて良かった話」みたいな記事
辞めた理由
- 学部を出て就職するつもりで4年次に内定を持っていたが、4年次から本格化した研究が上手くいかない自分が悔しく「このまま研究の奥深さ(自分に向いているorいない/自分が好きor嫌い)を知らずに就職したら後悔する」と思い、2016年7月に全内定を辞退して大学院進学を決意
- 真面目に取り組んだ甲斐あり、卒業時には優秀卒論賞を受賞しMITでの短期プログラムにも参加、修士課程1年では国内会議(査読なし)発表・国際会議(査読あり)を経験
- 前々から30代後半で家業を継ぐ可能性があり、(研究活動の最初の一歩をひと通り体験できたこの段階で)早めに次は一度企業で働いてみたいと思った
就活
- 2017年3月ごろから就職の可能性を意識し出し、企業の選定を開始
- 2017年5月中旬に新卒枠
(新卒とは言っていない)で3社エントリー - 2017年6月頭に第一希望の内定を獲得
- しばらく判断を保留していたが、2017年8月に大学院退学と入社を決意
現状の評価
- 学生時代は朝4時半起きで週6日以上研究室に行くストイックな生活をしていたので、企業勤めになっても生活に特に変化はない(むしろホワイト化した)
- 企業ならではの行動の遅さなどは若干不満だが、企業だからこそ体感できることもあり、概ね満足
- 金銭面も独り身の現状では全く文句ない
おわりに
- 2017年は激動の年だったが、現時点では退学して良かったという所感
- 「はじめに」でも書いたように生存バイアスなので、一般論として大学・大学院は退学しない方が良いと思う
- 正直ブログでは書けない/書き切れない話も多いので、(退学を考えている人など)興味ある方は連絡ください
追記
入社7カ月後
深夜作業場としてのサイゼリヤ 〜三つのメリットと三つのデメリット〜
はじめに
サイゼリヤ Advent Calendar 2017 の 3日目の記事です。
サイゼリヤの「深夜作業場」としてのメリット・デメリットを、個人的な見解でまとめます。
メリット
手軽な価格でドリンクバー
個人的には、この点が大きいです。サイゼリヤでは、単品280円(税込)、商品とセットなら180円(税込)でドリンクバーが提供されています。冷たいジュースも温かいコーヒーもあり、気分に応じた飲み物を好きなだけ堪能できる点は、深夜作業場として大いに評価できます。
飲み物のラインナップは下記の記事で詳しく紹介されています。
xn--o9j0bk5pa8mzb4f3eyde9hb.com
ちなみに、ファミレスでのドリンクバーの価格を比較した表は下記の通りです。焼肉など主の商品で稼ぐ店だともう少し安い店もありますが、深夜作業場に使えそうなファミレスの中では、サイゼリヤはかなりお手頃な部類に入ると思います。
チェーン | セット(円) | 単品(円) |
---|---|---|
サイゼリヤ | 190 | 280 |
ガスト | 214 | 430 |
ココス | 205 | 345 |
ジョナサン | 291 | 430 |
デニーズ | 268 | 329 |
下記記事より一部抜粋。2016年8月時点。
https://ドリンクバークーポンまとめ.com/hikaku-544
適度な雑音
冒頭で書いたように筆者が自宅であまり作業しない(できない)のは、自宅だともの音がなさ過ぎて逆に集中できないのが一因です。サイゼリヤは開かれた空間にテーブルが並んでいるので、否が応でも他人の物音が聞こえます。個人的にはこれくらいの雑音がある方が作業に取り組む気概が出てきます。
たまに隣の話が興味深すぎて作業が疎かになることもありますが……。
サイゼリヤなうなんだけど、隣の男女2人が修羅場
— u++ (@upura0) 2016年11月5日
どうやら男が女に何か薬を買ってもらおうとしている模様。「風邪が不思議と治る」とか言ってて非常に怪しい
— u++ (@upura0) 2016年11月5日
営業時間の長さ
営業時間はサイゼリヤの各店舗で異なりますが、筆者の通うサイゼリヤは深夜5時まで営業しています(この記載で店舗がかなり絞られますね)。近隣店舗の中では抜群に夜遅くまで営業しており、どうしてもキリの良いところまで仕上げたい場合が多い深夜作業場としてはもってこいです。
都内の営業時間一覧を見ても少なくない店舗で深夜2時までは営業しています。コンビニの台頭で営業時間の縮小が進む昨今、非常にありがたいです。
http://www.saizeriya.co.jp/restaurant/search_map.php?area1=12
デメリット
ノートパソコン向けWi-Fiがない
(少なくとも筆者の通う)サイゼリヤには、ノートパソコン向けWi-Fiがありません。筆者は性質上インターネット接続が必要な作業をすることが多いので、サイゼリヤを深夜作業場として利用する場合には、スマートフォンのテザリング機能を用いることになります。スマートフォンの通信制限の問題があるので、大規模データを扱うような作業をするには、サイゼリヤは不適切な場所です。
一方で、ノートパソコン向けWi-Fiがないことは一部メリットでもあります。ノートパソコンがインターネットに接続していると、どうしてもネットサーフィンやSNSをしてしまい、本来やるべき作業に集中できないことがあります。ただしサイゼリヤにはノートパソコン向けWi-Fiがないので、雑念にとらわれることなく、作業に集中できる環境になっています。個人的経験から言えば、書籍・論文などを深く読み込みたい場合などには最適の場所だと思います。