kivantium活動日記

プログラムを使っていろいろやります

2017年9月 第2週

今週知ったもの

Gumbel-max trick

ソフトマックス関数に入れて確率分布にする前の値からサンプリングするテクニック。計算量が減るわけではないが事前に計算できるから若干嬉しいらしい。また、Reparameterizationで使えるテクニックらしく頭の片隅に入れておくといいかもしれない。

Sparse Gaussian Process

ガウス過程の計算量を減らすテクニック。NIPS 2005の論文だがICML 2017の論文でも使われていたのでまだ使いやすいのかもしれない。

Z3

Microsoftが開発しているTheorem Prover。いろいろな機能があり最適化問題なども解ける。
z3 - Python -- Optimize system of inequalities - Stack Overflow

関連するものとして線形計画問題でANDやORの制約を与えるテクニックについて。
Express boolean logic operations in zero-one integer linear programming (ILP) - Computer Science Stack Exchange

Selenium

ブラウザの操作を自動化してくれるツール。PhantomJSと組み合わせると良いらしいという噂を聞いたがまだ試せていない。
Headless Chromeというのが出てきてPhantomJSの開発は終了したらしい。

ニセ金貨問題を情報量を使って解く

The Twelve-Coins Puzzle

天秤をなるべく少ない回数だけ使って重さが違うニセ金貨を見つける問題の情報理論的分析。