SlideShare a Scribd company logo
1 of 32
変態にRを与えた結果がこれだよ…
実習のコース決めで意中の相手と同じ班になることを考える
20121130
Kashiwa.R @東京大学柏キャンパス 柏図書館
YF@Med_KU
lpSolve: 混合整数線形計画法
割付問題に使える
snow, foreach, ff: 並列計算
たくさん計算するときに使える
本日の紹介
某大学異学部
実習班を決める時期が毎年やってくる…
> は~いそれじゃあ6人1組の実習班作って~
> おう〇〇!!オレと組もうぜ!!
あぶれるだろ
じゃあわかった…やり方を変えよう。
100人分の実習コースを用意するから、どのコースに行きた
いか、行きたくないか全コース順位付けしろ。
みんなの希望調査を眺めて、全体の満足度が最大に
なるように決めるから。
その後前から順番にグループ切っていきます。常識的に考
えて。
というふうに決まったのが数年前
そして今年も実習班を決める時期がやってくる…
ミク!ミク!ミク!ミクたんぅぅうううわぁああああああああああああああああああああああん!!!
あぁああああ…ああ…あっあっー!あぁああああああ!!!ミクミクミクぅううぁわぁああああ!!!
あぁクンカクンカ!クンカクンカ!スーハースーハー!スーハースーハー!いい匂いだなぁ…くんくん
んはぁっ!ミクたんの緑色ツインテールの髪をクンカクンカしたいお!クンカクンカ!あぁあ!!
間違えた!モフモフしたいお!モフモフ!モフモフ!髪髪モフモフ!カリカリモフモフ…きゅんきゅんきゅい!! 台湾
ミクパのミクたんかわいかったよぅ!!あぁぁああ…あああ…あっあぁああああ!!ふぁぁあああんんっ!!DIVAf発売
されて良かったねミクたん!あぁあああああ!かわいい!ミクたん!かわいい!あっああぁああ! アニメ化もされて
嬉し…いやぁああああああ!!!にゃああああああああん!!ぎゃああああああああ!!ぐああああああああああ
あ!!!アニメなんて現実じゃない!!!!あ…ボカロもMMDもよく考えたら…ミ ク ち ゃ ん は 現実 じ ゃ な い?にゃ
あああああああああああああん!!うぁああああああああああ!!そんなぁああああああ!!いやぁぁぁああああああ
あああ!!はぁああああああん!!クリプトォォオオオオン!!この!ちきしょー!やめてやる!!現実なんかやめ…
て…え!?見…てる?パッケージのミクたんが僕を見てる?パッケージのミクたんが僕を見てるぞ!ミクたんが僕を見
てるぞ!挿絵のミクちゃんが僕を見てるぞ!!PCのミクちゃんが僕に話しかけてるぞ!!!よかった…世の中まだまだ
捨てたモンじゃないんだねっ!いやっほぉおおおおおおお!!!僕にはミクたんがいる!!やったよケティ!!ひとり
でできるもん!!!あ、ミクたぁああああああああああああああん!!いやぁああああああああああああああ
あ!!!!あっあんああっああんあルカ様ぁあ!!リ、リンちゅわぁぁあああああん!!レンきゅぅぅうううう
ん!!!カイトォォオオ!!ううっうぅうう!!俺の想いよミクへ届け!!クリプトンのミクへ届け!
ミクたんと一緒の実習班になりたいお!!
> 今年も例年通りのプログラムで決めます
クソッ そうしたらミクたんと同じ班になれるかわからないじゃかお!
こんな運任せな制度さえどうにかなれば裏工作はいくらでもで
きたお…
ミクたんと同じ班になれるような希望調査にしたいんだお…
でも現実は一緒になれるかわからないんだお…
だからシミュレーションでやるお!
実習先ってどうやって決まってるんだお?
教えろください。
R言語でおk
だがしかし、最適割付の仕方は一意に決まらなこと
があるので、行と列の入れ替えで別の結果になるこ
ともある。常識的に考えて。
事後計算だが、40!通りの割付パターン、6人1組のグ
ループ分けを考えても天文学的な確率だった気がす
るぞ。常識的に考えて。
まじかお!?!?
そそそそういう場合はどうしたらいいんだお?
こういうときは、シミュレーションを行なっ
て、どんな希望調査ならどう割り付けられる
か確率を求めるんだ。常識的に考えて。
幸いにも希望調査は学年全体に公開の掲示板
で行われているからな。締切ギリギリまで
粘って、ミクと同じ班になるように希望調査
を書いてこい。
そうと決まればこんなところにいる場合じゃ
ねぇお!
マジでやりおってストーカーか
そうだお何が悪い
(一応、行きたいコースをまじめに選びました)
こういうひたすら試行回数を稼ぎたい時は並列計算
をする。常識的に考えて。
Rではsnowパッケージを始めとして、複数提供されて
いる。今回は私の初期のプログラムなので、snowを
使って説明するぞ。常識的に考えて。
library(snow)で読み込んだら、並列計算で使用する
CPUの登録をするぞ。常識的に考えて。
まずmakeCluster()でCPUを呼び出し、clusterExport()で
登録する。並列計算がそもそも何かとかは私は専門
外なのでggrks。
Snowパッケージでは、apply関数群に似たparApply関
数群があり、これらを使うと並列計算ができる。
並列計算し終わった後はstopCluster()で使用したCPU
を開放しないと、なんか知らんがいつまでも残って
るぞ。
調子に乗って10万回設定したが、1万回もすれば
十分に確率は収束してるぞ。常識的に考えて。
マージンのために10万回設定してラボのサー
バーで並列計算するお
チラッ
スレでも開いて時間潰すお
まあこの手の計算は気長に待つことだな
…常識的に考えて…
おっ…結果が出たようだな。
・・・
全同級生の中で最大
だがしかし…
40%
赤は100%
ミクはグループが確定してしまっている!?!?
ここが40%だったけど
赤は100%
ま…待て冷静に考えるんだ。
ミクのグループが確定してるんならその
周辺に変更して…
> 希望調査は締め切られました。
ま…待て。冷静に考えればオレがミクと同
じグループになる確率が40%はあるんだ…
チラッ
> 抽選結果
やる夫:4グループ
ミク:7グループ
まあ…シミュレーション通りに3次元のこの
世界は思ったとおりにはいかないというこ
とを身をもって学んだよ…
〜完〜

More Related Content

Viewers also liked

料理研究家のディナー会 運営マニュアル 20140224
料理研究家のディナー会 運営マニュアル 20140224料理研究家のディナー会 運営マニュアル 20140224
料理研究家のディナー会 運営マニュアル 20140224
Takeshi Akama
 
20130220 Kashiwa.R#6
20130220 Kashiwa.R#620130220 Kashiwa.R#6
20130220 Kashiwa.R#6
Med_KU
 
Vim = VM
Vim = VMVim = VM
Vim = VM
Shougo
 
アイマスで分かるプログラマ
アイマスで分かるプログラマアイマスで分かるプログラマ
アイマスで分かるプログラマ
hayabusa333
 
Vimから見たemacs
Vimから見たemacsVimから見たemacs
Vimから見たemacs
Shougo
 

Viewers also liked (20)

ラブライブ!概論
ラブライブ!概論ラブライブ!概論
ラブライブ!概論
 
Vim勉強会
Vim勉強会Vim勉強会
Vim勉強会
 
20130608 Kashiwa.R#8 Rでプロット
20130608 Kashiwa.R#8 Rでプロット20130608 Kashiwa.R#8 Rでプロット
20130608 Kashiwa.R#8 Rでプロット
 
料理研究家のディナー会 運営マニュアル 20140224
料理研究家のディナー会 運営マニュアル 20140224料理研究家のディナー会 運営マニュアル 20140224
料理研究家のディナー会 運営マニュアル 20140224
 
アイドルマスター シンデレラガールズ
アイドルマスター シンデレラガールズアイドルマスター シンデレラガールズ
アイドルマスター シンデレラガールズ
 
20130220 Kashiwa.R#6
20130220 Kashiwa.R#620130220 Kashiwa.R#6
20130220 Kashiwa.R#6
 
20160730tokyor55
20160730tokyor5520160730tokyor55
20160730tokyor55
 
温泉
温泉温泉
温泉
 
twitter Bot Generator プレゼン in XOOPS Cubeサタデーラボ
twitter Bot Generator プレゼン in XOOPS Cubeサタデーラボtwitter Bot Generator プレゼン in XOOPS Cubeサタデーラボ
twitter Bot Generator プレゼン in XOOPS Cubeサタデーラボ
 
20130609 アイドルマスター解析
20130609 アイドルマスター解析20130609 アイドルマスター解析
20130609 アイドルマスター解析
 
Vim = VM
Vim = VMVim = VM
Vim = VM
 
大都会岡山アイマス勉強会(Web版)
大都会岡山アイマス勉強会(Web版)大都会岡山アイマス勉強会(Web版)
大都会岡山アイマス勉強会(Web版)
 
アイマスで分かるプログラマ
アイマスで分かるプログラマアイマスで分かるプログラマ
アイマスで分かるプログラマ
 
“UI温泉” トークセッション・1風呂目「ウォシュレットから考える本当にキモチイイUI」
“UI温泉” トークセッション・1風呂目「ウォシュレットから考える本当にキモチイイUI」“UI温泉” トークセッション・1風呂目「ウォシュレットから考える本当にキモチイイUI」
“UI温泉” トークセッション・1風呂目「ウォシュレットから考える本当にキモチイイUI」
 
{声優,アイドル}オタクになると社会性が向上するという説
{声優,アイドル}オタクになると社会性が向上するという説{声優,アイドル}オタクになると社会性が向上するという説
{声優,アイドル}オタクになると社会性が向上するという説
 
20130318 統計手法勉強会 外れ値検出 FRaC
20130318 統計手法勉強会 外れ値検出 FRaC20130318 統計手法勉強会 外れ値検出 FRaC
20130318 統計手法勉強会 外れ値検出 FRaC
 
エンジニア×デザイナー GitHubで変わるコミュニケーション(PHPカンファレンス2014 P4Dセッション)
エンジニア×デザイナー GitHubで変わるコミュニケーション(PHPカンファレンス2014 P4Dセッション)エンジニア×デザイナー GitHubで変わるコミュニケーション(PHPカンファレンス2014 P4Dセッション)
エンジニア×デザイナー GitHubで変わるコミュニケーション(PHPカンファレンス2014 P4Dセッション)
 
プリキュアから学んだこと キュアハッピーこと、星空みゆきさんから 20代社会人が学んだ人との付き合い方
プリキュアから学んだこと キュアハッピーこと、星空みゆきさんから 20代社会人が学んだ人との付き合い方プリキュアから学んだこと キュアハッピーこと、星空みゆきさんから 20代社会人が学んだ人との付き合い方
プリキュアから学んだこと キュアハッピーこと、星空みゆきさんから 20代社会人が学んだ人との付き合い方
 
ポケモン系統樹かいてみた
ポケモン系統樹かいてみたポケモン系統樹かいてみた
ポケモン系統樹かいてみた
 
Vimから見たemacs
Vimから見たemacsVimから見たemacs
Vimから見たemacs
 

More from Med_KU

20131110 第3回ニコニコ学会β データ研究会
20131110 第3回ニコニコ学会β データ研究会20131110 第3回ニコニコ学会β データ研究会
20131110 第3回ニコニコ学会β データ研究会
Med_KU
 
20131109 TokyoR#35 Rでネットワーク解析とGIS
20131109 TokyoR#35 Rでネットワーク解析とGIS20131109 TokyoR#35 Rでネットワーク解析とGIS
20131109 TokyoR#35 Rでネットワーク解析とGIS
Med_KU
 
20131011 KashiwaR#9
20131011 KashiwaR#920131011 KashiwaR#9
20131011 KashiwaR#9
Med_KU
 
20121120 検査と臨床判断
20121120 検査と臨床判断20121120 検査と臨床判断
20121120 検査と臨床判断
Med_KU
 
20130701 統計論文勉強会 遺伝的差異の定量的解析法
20130701 統計論文勉強会 遺伝的差異の定量的解析法20130701 統計論文勉強会 遺伝的差異の定量的解析法
20130701 統計論文勉強会 遺伝的差異の定量的解析法
Med_KU
 

More from Med_KU (15)

20151205japanr
20151205japanr20151205japanr
20151205japanr
 
20140308 第四回 ニコニコ学会β データ研究会 アニメ・声優・二次創作における百合ネットワーク
20140308 第四回 ニコニコ学会β データ研究会 アニメ・声優・二次創作における百合ネットワーク20140308 第四回 ニコニコ学会β データ研究会 アニメ・声優・二次創作における百合ネットワーク
20140308 第四回 ニコニコ学会β データ研究会 アニメ・声優・二次創作における百合ネットワーク
 
20131216 Stat Journal
20131216 Stat Journal20131216 Stat Journal
20131216 Stat Journal
 
20131207 Japan.R#4 LT
20131207 Japan.R#4 LT20131207 Japan.R#4 LT
20131207 Japan.R#4 LT
 
20131110 第3回ニコニコ学会β データ研究会
20131110 第3回ニコニコ学会β データ研究会20131110 第3回ニコニコ学会β データ研究会
20131110 第3回ニコニコ学会β データ研究会
 
20131109 TokyoR#35 Rでネットワーク解析とGIS
20131109 TokyoR#35 Rでネットワーク解析とGIS20131109 TokyoR#35 Rでネットワーク解析とGIS
20131109 TokyoR#35 Rでネットワーク解析とGIS
 
20131019 生物物理若手 Journal Club
20131019 生物物理若手 Journal Club20131019 生物物理若手 Journal Club
20131019 生物物理若手 Journal Club
 
20131011 KashiwaR#9
20131011 KashiwaR#920131011 KashiwaR#9
20131011 KashiwaR#9
 
20121120 検査と臨床判断
20121120 検査と臨床判断20121120 検査と臨床判断
20121120 検査と臨床判断
 
20130701 統計論文勉強会 遺伝的差異の定量的解析法
20130701 統計論文勉強会 遺伝的差異の定量的解析法20130701 統計論文勉強会 遺伝的差異の定量的解析法
20130701 統計論文勉強会 遺伝的差異の定量的解析法
 
20130201 脳神経外科 脳腫瘍の浸潤数理モデル
20130201 脳神経外科 脳腫瘍の浸潤数理モデル20130201 脳神経外科 脳腫瘍の浸潤数理モデル
20130201 脳神経外科 脳腫瘍の浸潤数理モデル
 
20130609 Wako.R トピックモデルを用いたボーカロイド楽曲の流行解析
20130609 Wako.R トピックモデルを用いたボーカロイド楽曲の流行解析20130609 Wako.R トピックモデルを用いたボーカロイド楽曲の流行解析
20130609 Wako.R トピックモデルを用いたボーカロイド楽曲の流行解析
 
20121210 統計論文勉強会
20121210 統計論文勉強会20121210 統計論文勉強会
20121210 統計論文勉強会
 
20130727niconico
20130727niconico20130727niconico
20130727niconico
 
20130727niconicoLT
20130727niconicoLT20130727niconicoLT
20130727niconicoLT
 

20121130 Kashiwa.R#5