Vanishing Component Analysisがダメそうという話

要約: Vanishing Component Analysisは問題設定のレベルで壊れていると思うので誰かなんとかしてあげてほしい(4/12追記あり)http://d.hatena.ne.jp/m-a-o/20140323#p2で、一時期話題になったVanishing Component Analysis([1], 以下VCA)への疑義が呈されてい…

ICFPC2012に参加しました

去年に引き続きLennMars他二名で参加しました。チーム名は地下ということでスニーカー文庫刊のあるライトノベルから頂戴してTeamKunikidaです。以下ソース。https://bitbucket.org/LennMars/icfpc2012/srcメンバーが自分以外にOCamlが書けるわけではない情報…

Implementation of Range Min-Max Tree

前に論文を読んで放置していた、簡潔木構造の1バージョンであるrange min-max treeを実装した。https://github.com/LennMars/SuccinctTrees基本的な仕組みは K. Sadakane and G. Navarro. Fully-functional succinct trees. In Proc. 21st SODA, pages 134–1…

TOEIC結果

Listening:445 Reading:425 Total:870初受験ではあるけど何回も受けてもそれほど上がらなさそう。そういう意味ではよく出来たテストということか。

Overcoming Browser Cookie Churn with Clustering

グラフアルゴリズムの話が面白かったので別項目で気になったことをいくつか書く。勉強会での発表者便所さんのスライドはこちら。 http://d.hatena.ne.jp/repose/20120407/1333809676 Interval Graphと貪欲彩色アルゴリズム Interval Graphとは、実数区間を頂…

感想

某研究所の人はやっぱりスライドや発表がちゃんとしている 行動データを扱う研究特有の問題が見えて大変そうだなと思った(他人事) Finding Your Friends and Following Them to Where You Areのときにあまり妥当でなさそうな既存研究との比較(Figure 4)が…

Bigarrayモジュールを用いたOCamlとCの連携

OCamlのマニュアルとかにやり方は大体書いてあるし出来るのは知っていたのだが実際にやろうとしたらコンパイルオプションとかでえらく苦労したので動いたミニマルな例をメモしておいた。 https://gist.github.com/1442320

Liszt: A domain specific language for building portable mesh-based PDE solvers

Zachary DeVito, Niels Joubert, Francisco Palacios, Stephen Oakley, Monserrat Medina, Mike Barrientos, Erich Elsen, Frank Ham, Alex Aiken, Karthik Duraisamy, Eric Darve, Juan Alonso, and Pat Hanrahan. Liszt: A domain specific language for b…

Ubuntu 11.10にxmonadを入れた記録

Ubuntu 11.10に移行したのでまずxmonadを入れる。sudo apt-get install xmonadしたら次のように設定する。 [LennMars ~]$ cat /usr/share/xsessions/xmonad-gnome.desktop [Desktop Entry] Name=xmonad/GNOME Comment=benri TryExec=/usr/bin/gnome-session …

core-107.01のconfigureがmktempでエラーを出す問題への対処

Jane StreetのOCamlの代替標準ライブラリであるCoreの現バージョンcore-107.01をconfigureするとき、 I: Running command 'lib/discover.sh lib/config.mlh lib/config.h -DLINUX_EXT' のあとに mktemp: too few X's in template `./discover_src.XXXXXXX.c'…

Jane Street OSS群のインストール順

Jane Streetは多くの有用なOSSを公開しているが地味に依存関係がめんどくさいのでインストール順の一例をメモしておく。 (OUnit)->(res)->Type-conv->Variantslib->Sexplib->Bin_prot->Fieldslib->Core->Async->Core_extended->Patdiff

OCamlでProject Eulerをいくらか解いた副産物

https://gist.github.com/2185169 Project Eulerを50問くらい解いていたら数論系のアルゴリズムのOCaml実装が結構溜まってきたので公開する。LennMars/algorithms_in_OCaml · GitHubに依存しているがlet sob = string_of_big_intみたいなことを平気でしてい…

木の分散並列処理のためのHadoop MapReduceプログラムを公開しました

LennMars/TreeReduction · GitHub一般にプログラムの分散並列化は非常に困難な作業であるのはよく知られたことです。比較的容易な分散並列化手段を提供するための手法の一つとして、あるパターンに属する計算のみを対象とし、ユーザには計算の具体的な内容を…

The case for open computer programs

Darrel C. Ince,Leslie Hatton & John Graham-Cumming. The case for open computer programs. Nature 482, 485–488 (23 February 2012). doi:10.1038/nature10836.http://www.nature.com/nature/journal/v482/n7386/full/nature10836.htmlプログラムを使用…

パワポに貼る用の数式画像の生成

スライド作成は一時期beamerを使っていたものの面倒になってPowerPointに戻ってきている。Office2007の数式エディタはしょぼいのでdvipngを使う。具体的には次のようなシェルスクリプトとMakefileで複数の数式ファイルを管理。(Officeを2010にする以外にも)…

GCJJ2011予選参加

参加id:LennMars 結果:Aで暗算間違えてLarge突っ込んで時間切れ、合計41点。時間あったのにアホですね…… 感想:これまでGCJにはOCamlで参加していたのだけどこの手のプログラミングコンテストに関してOCaml(特に32bit環境)は余りにもないということに気付…

ant/Scalaのエラーメッセージをflymakeが正しくパースしてくれない問題

具体的には行数のマッチに失敗して1行目しか赤くしてくれない。これでは使えない(そもそもScalaのコンパイル速度が遅くてロクに使えないことは一旦忘れる)。 そもそもflymakeがエラーメッセージのパースに何を使用しているかというと、正規表現をキー、そのs…

DevQuiz2011 スライドパズル

結果:3723問 言語:OCaml ソース:https://github.com/LennMars/DevQuiz2011 方針: 普通のA*(評価関数はマンハッタン距離 + 2 * Linear Conflict) といってもこれで素直に解けるのは4*4の一部までだろう⇒早速完答を諦め、2段階に分けて解くことにする 1段階目…

Caml trading

Y. Minsky and S. Weeks: Caml trading - experiences with functional programming on Wall Street. JFP 18(4):553-564, 2008.著者らが所属するJane Streetは自社資金のみでトレーディングを行う会社であり、設立当初はExcelやVBAを使っていたが2005年頃か…

Big_int.extract_big_intが変

let n = 100 let b = shift_left_big_int unit_big_int n |> pred_big_int (* 111...11 *) let k = 2;; for i = 0 to n - k do let m = (extract_big_int b i k |> int_of_big_int) in if m <> int_exp 2 k - 1 then Printf.printf "%d : %d\n" i m; (* fail…

PFIサマーインターン2011問題の解法の一例

http://research.preferred.jp/2011/07/intern2011_problem/ を分割統治法で解く。 let find_freq x = let open String in let rec aux x len remain = Printf.printf "%s, %d, %c\n" (sub x 0 len) len remain; match len with | 1 -> get x 0 | 0 -> remai…