ISUCON8 の予選問題を復習した

今年もISUCONには参加する予定で、チームメンバーを集めるところまでは進めていたのですが、日程が 別のイベント と重なってしまい、参加できませんでした。。。 ISUCONの問題は取り組んでいてワクワクしてくる良問が出ているので、ネタバレを食らう前に復習…

JAG夏合宿2018参加記(スタッフ視点)

今年もスタッフとして参加してきました。夏合宿の裏側を紹介してみると面白いかもと思ったので、私が担当した箇所をいくつかまとめてみます。 2018/Practice/夏合宿/案内 - ACM-ICPC Japanese Alumni Group 問題文の作成 私は問題の原案を考えるのは無理なの…

「ふつうのLinuxプログラミング 第2版」を読んだ

ふつうのLinuxプログラミング 第2版 Linuxの仕組みから学べるgccプログラミングの王道作者: 青木峰郎出版社/メーカー: SBクリエイティブ発売日: 2017/09/22メディア: 単行本この商品を含むブログを見る システムコールやファイルシステムについての知識が全…

所有しているコンテストTシャツの紹介

実家に帰省したら,コンテストTシャツを整理するように言われたので,ついでに写真に撮って整理しておくことにしました。 SuperCon 2011 Supercomputing Contest 2011 - Supercomputing Programing Contest Official Site 初めて参加したオンサイトのコンテ…

JAGのおしごと!

ICPC国内予選お疲れ様でした!アジア地区予選に行く人もそうでない人も、次の舞台での活躍を期待しています。 今年のICPCは私にとって、選手としてもコーチとしても関係の無いICPCで、国内予選の日にはJAGスタッフと一緒に模擬国内予選の打ち上げをしながら…

凪のあすから 聖地巡礼・舞台探訪(三重県熊野市)

せっかく日帰りで行ける距離に住んでいるので行ってみました。 舞台設定について 「凪のあすから」には陸の世界と海の世界が登場するのですが,陸の世界のモデルは三重県熊野市を中心とした南部の地域です。 アニメの放送が行われてからしばらくは,どちらの…

2017年の活動

1月 研究の進捗を外部発表するために原稿を書きました 就活のために逆求人イベント系イベントに参加していました NJPC 2017 を開催しました 研究では多腕バンディット問題をやっていた気がします NJPC2017 - NJPC2017 | AtCoder 2月 就活のために新幹線で東…

"Compact Data Structures: A Practical Approach" の輪講が終わりました

5月から以下の本の輪講を助教の先生と @yurahuna と私でやっていました。修論の追い込み次期ということで9章のグラフの章が終わったところで一旦終了としました(本当は11章のTextまでやりたかったのですが仕方ないね)。 Compact Data Structures: A Practi…

ISUCON7の本選に参加して椅子に座っているだけでした

ISUCON7の本選に「座るだけのコンテストってな〜んだ?」チームで参加して13位でした。学生だと5位くらい? 他のチームメンバーの記事 @brook_bach さん brookbach.com @mayoko_ さん mayokoex.hatenablog.com 予選の記事 kujira16.hateblo.jp

今日覚えたNumPyのテクニック

今日覚えたNumPyのテクニックを紹介します。 numpy.stack で2次元配列を繋げて3次元配列を作る 1次元配列を繋げて2次元配列を作りたいような場合には numpy.vstack や numpy.hstack という関数があります。 a = numpy.array([1, 2, 3, 4]) b = numpy.array([…

ISUCON7の予選を学生枠で通過しました

ISUCON7の予選に @brook_bach さん,@mayoko_ さんと「座るだけのコンテストってな〜んだ?」で参加しました。 @brook_bach さんの記事 brookbach.com @mayoko_ さんの記事 mayokoex.hatenablog.com チーム結成の経緯 — しょラー (@shora_kujira16) 2017年9…

pyenv+Minicondaからdirenvに乗り換える

背景 pyenvを使っていた理由 Python 2.6のインストーラとして必要だったから CentOS 6 系でインストールされているPythonが2.6系で,Python 2.6系向けにスクリプトを書かなければならないことが稀にあった pyenv local を使うことでディレクトリを変更したと…

PyStanのログ出力を消す

背景 PyStanでMCMCするときには標準出力に有益なログが出力されます。 たとえば,サンプリングの途中経過が出力されます。 Iteration: 800 / 2000 [ 40%] (Warmup) Iteration: 800 / 2000 [ 40%] (Warmup) Iteration: 600 / 2000 [ 30%] (Warmup) Iteration:…

log(1-exp(x)) を安定に計算する

「ベルヌーイ分布のパラメータ x が与えられたときに,裏が出る確率 1-x を計算したい」「1-x ではなく log(1-x) がほしい」「x ではなく log x が与えられている」という状況で,タイトルのように log(1-exp(x)) を計算したい状況になりました。 機械学習で…

Osaka.Stan #5 で LT してきた

『StanとRでベイズ統計モデリング』読書会(Osaka.Stan#5) : ATND speakerdeck.com これ↓についてLTで発表してきました。 kujira16.hateblo.jp 社会心理学や教育学が専門の人が多いコミュニティなのでIT系勉強会とは違った趣があっていいですね。

順列の簡潔データ構造

助教の先生と @yurahuna で簡潔データ構造の輪講をやっています。今週は順列のところを担当したのですが,とてもトリッキーで楽しいデータ構造だと思ったので一部を公開しておきます。これまでの章の内容(定数時間の rank, succ, pred を実現する Bitvector…

報酬が分散未知の正規分布に従うときのThompson Sampling

前回 kujira16.hateblo.jp 問題設定 行ったのはHondaらのAISTATS 2014の論文 [1] の中の実験の追試で,報酬が , の正規分布に従うアームと , の正規分布に従うアームがそれぞれ1本ずつあるという設定の多腕バンディット問題です。 原理 最初にパラメータ を …

報酬がベルヌーイ分布に従うときのThompson Sampling

報酬がベルヌーイ分布に従うときのThompson Samplingの追試をだいぶ前にやったのですが,あまり受けが良くなかったのでブログで供養をしていきます。 問題設定 Thompson Samplingは多腕バンディット問題に対する方策の1つです。多腕バンディット問題について…

StanでAizu Online Judgeの難易度・習熟度を推定したい(3:IRTモデルによる習熟度推定)

シリーズ一覧 kujira16.hateblo.jp kujira16.hateblo.jp はじめに 前回までの記事を公開したところ,Twitterで「問題に取り組んだときの正答確率の部分を項目応答理論でモデリングしないのはなぜか」というコメントをいただきました。 …すいません,項目応答…

StanでAizu Online Judgeの難易度・習熟度を推定したい(2:人工データによる実験)

シリーズ一覧 kujira16.hateblo.jp kujira16.hateblo.jp 目的 あるユーザがある問題に正答したというデータは得られますが,正答していない問題は,取り組んだけれども実力不足で解けなかったのか,そもそも取り組んでいないのかを区別することができません…

StanでAizu Online Judgeの難易度・習熟度を推定したい(1:モデル式)

シリーズ一覧 kujira16.hateblo.jp kujira16.hateblo.jp はじめに Aizu Online Judge (AOJ) という競技プログラミングの練習サイトがあります。 AIZU ONLINE JUDGE: Programming Challenge 解けるか解けないかくらいのちょうど良い難易度の問題に取り組むこ…

Stanの実行時間がchainごとに違う理由

warm-upよりもsamplingのほうが早く終わるのもよく分からない— しょラー (@shora_kujira16) 2017年4月15日 leapfrog法のステップ数LはPyStanでは fit.get_sampler_params()[i]['n_leapfrog__']) で取れるようです— しょラー (@shora_kujira16) 2017年4月17日

Indeed Machine Learning CodeSprint 2017

www.hackerrank.com 問題 求人の文面が与えられるので,以下のタグを付けるべきかどうかそれぞれのタグについて二値分類してください。 アルバイト フルタイム 時給制 月給制 短大卒対象 大卒対象 修士または博士対象 免許が必要 1年の経験が必要 2〜4年の経…

Go言語で競技プログラミングするときに使ってる入出力

Go

入力について 普通は fmt.Scan で問題ないのですが,高速な入力が要求される問題では fmt.Scan だと遅すぎることがあります。fmt.Scan では 3*106 個の整数の入力に10秒以上かかりました。 高速な入力のためには bufio を使います。bufio を使った方法では 3…

RUPC 2017 Day2 I: Tree-Light

http://judge.u-aizu.ac.jp/onlinejudge/cdescription.jsp?cid=RitsCamp17Day2&pid=I 深さ優先探索をしたときの訪問順序によって頂点を並べると,ある頂点を根とする部分木に含まれる頂点が連続した区間に含まれる性質を使います。以下のページが詳しいです…

AtCoder Regular Contest 038 C:茶碗と豆

C: 茶碗と豆 - AtCoder Regular Contest 038 | AtCoder 100点解法 見るからにNimとかGrundy数っぽい雰囲気を感じるので,ググってみると良質な記事がたくさん見つかります。今回は以下の記事を参考にしました。 pekempey.hatenablog.com 最初に,左からi番目…

NAISTから自転車で行ける本屋の紹介

私がNAISTの寮に引っ越してからもうすぐで1年になります。私は原付や自動車を持っていないので,移動はほとんど自転車頼りです。本記事では同じような状況の人のためにNAISTから自転車で行くことができる本屋を紹介したいと思います。 私は情報科学研究科の…

Androidのディスプレイが壊れて映らなくなったときの処置

東京への遠征中にスマートフォン(ASUS Zenfone 2 Laser)のディスプレイが突然映らなくなってしまいました。「充電を行うとバイブレーションが動く」「カメラを起動してから画面をタッチするとフォーカスを合わせる音がする」といった状況から,ディスプレ…

/usr/bin/xauth: timeout in locking authority file .Xauthority

研究室の計算サーバでX転送を使おうとして ssh -X hoge としてログインしようとすると,なぜかログインに数十秒の時間がかかり,その後 /usr/bin/xauth: timeout in locking authority file .Xauthority というメッセージが表示されました。 最初はパーミッ…

Go言語のデバッガをMacのIntelliJ IDEA CEで使う

IntelliJ IDEAのGo言語プラグインをインストールするとdelveというデバッガもインストールされます デバッガのように他のプログラムにアクセスするプログラムは安全なものではないため,delveを実行する際にパスワードの入力を求められます 証明書を作ってデ…