要約: Vanishing Component Analysisは問題設定のレベルで壊れていると思うので誰かなんとかしてあげてほしい(4/12追記あり)http://d.hatena.ne.jp/m-a-o/20140323#p2で、一時期話題になったVanishing Component Analysis([1], 以下VCA)への疑義が呈されてい…
去年に引き続きLennMars他二名で参加しました。チーム名は地下ということでスニーカー文庫刊のあるライトノベルから頂戴してTeamKunikidaです。以下ソース。https://bitbucket.org/LennMars/icfpc2012/srcメンバーが自分以外にOCamlが書けるわけではない情報…
前に論文を読んで放置していた、簡潔木構造の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…
Listening:445 Reading:425 Total:870初受験ではあるけど何回も受けてもそれほど上がらなさそう。そういう意味ではよく出来たテストということか。
グラフアルゴリズムの話が面白かったので別項目で気になったことをいくつか書く。勉強会での発表者便所さんのスライドはこちら。 http://d.hatena.ne.jp/repose/20120407/1333809676 Interval Graphと貪欲彩色アルゴリズム Interval Graphとは、実数区間を頂…
某研究所の人はやっぱりスライドや発表がちゃんとしている 行動データを扱う研究特有の問題が見えて大変そうだなと思った(他人事) Finding Your Friends and Following Them to Where You Areのときにあまり妥当でなさそうな既存研究との比較(Figure 4)が…
OCamlのマニュアルとかにやり方は大体書いてあるし出来るのは知っていたのだが実際にやろうとしたらコンパイルオプションとかでえらく苦労したので動いたミニマルな例をメモしておいた。 https://gist.github.com/1442320
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を入れる。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 …
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を公開しているが地味に依存関係がめんどくさいのでインストール順の一例をメモしておく。 (OUnit)->(res)->Type-conv->Variantslib->Sexplib->Bin_prot->Fieldslib->Core->Async->Core_extended->Patdiff
https://gist.github.com/2185169 Project Eulerを50問くらい解いていたら数論系のアルゴリズムのOCaml実装が結構溜まってきたので公開する。LennMars/algorithms_in_OCaml · GitHubに依存しているがlet sob = string_of_big_intみたいなことを平気でしてい…
LennMars/TreeReduction · GitHub一般にプログラムの分散並列化は非常に困難な作業であるのはよく知られたことです。比較的容易な分散並列化手段を提供するための手法の一つとして、あるパターンに属する計算のみを対象とし、ユーザには計算の具体的な内容を…
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にする以外にも)…
参加id:LennMars 結果:Aで暗算間違えてLarge突っ込んで時間切れ、合計41点。時間あったのにアホですね…… 感想:これまでGCJにはOCamlで参加していたのだけどこの手のプログラミングコンテストに関してOCaml(特に32bit環境)は余りにもないということに気付…
具体的には行数のマッチに失敗して1行目しか赤くしてくれない。これでは使えない(そもそもScalaのコンパイル速度が遅くてロクに使えないことは一旦忘れる)。 そもそもflymakeがエラーメッセージのパースに何を使用しているかというと、正規表現をキー、そのs…
結果:3723問 言語:OCaml ソース:https://github.com/LennMars/DevQuiz2011 方針: 普通のA*(評価関数はマンハッタン距離 + 2 * Linear Conflict) といってもこれで素直に解けるのは4*4の一部までだろう⇒早速完答を諦め、2段階に分けて解くことにする 1段階目…
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年頃か…
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…
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…