タグ

ブックマーク / tech.preferred.jp (3)

  • 高速な安定ソートアルゴリズム "TimSort" の解説 - Preferred Networks Research & Development

    先日、TimSortというソートアルゴリズムが話題になりました。TimSortは、高速な安定ソートで、Python(>=2.3)やJava SE 7、およびAndroidでの標準ソートアルゴリズムとして採用されているそうです。 C++のstd::sort()よりも高速であるというベンチマーク結果1が話題になり(後にベンチマークの誤りと判明)、私もそれで存在を知りました。実際のところ、ランダムなデータに対してはクイックソート(IntroSort)ほど速くないようですが、ソートというシンプルなタスクのアルゴリズムが今もなお改良され続けていて、なおかつ人々の関心を引くというのは興味深いものです。 しかしながら、オリジナルのTimSortのコードは若干複雑で、実際のところどういうアルゴリズムなのかわかりづらいところがあると思います。そこで今回はTimSortのアルゴリズムをできるだけわかりやすく解

    高速な安定ソートアルゴリズム "TimSort" の解説 - Preferred Networks Research & Development
  • モダン並列・並行プログラミング ~ Concurrent Revisions による実装と現実 ~ - Preferred Networks Research & Development

    日社内向けのTechTalkにて、並列・並行プログラミングに関する話を行いました。 昨今、プログラムの並列化はなくてはならないものとなっています。しかし、そのプログラミング環境は依然としてロックを用いたものが主流です。今回の発表の主張を端的に申し上げますと、 “Locks must go!” ということになります。並列プログラミングに銀の弾丸はありません。しかし、ロックは別の何らかの安全性を確保したプログラミングモデルで置き換えられなければいけません。そうでなければ、再現しにくいバグに苦しめられ、終電を逃す日々と決別することはできないでしょう。また、ロックによるプログラミングの抱える質的問題にも言及しています。 この界隈の最新の動向として、去年OOPSLA’10にて発表されたConcurrent Revisionsについての解説も行なっております。また、弊社研究開発において、先日Con

    モダン並列・並行プログラミング ~ Concurrent Revisions による実装と現実 ~ - Preferred Networks Research & Development
  • twitterで自然言語処理 - Preferred Networks Research & Development

    勢い余ってスイカを買ったら、毎日べるハメになってしまいました。海野です。 どんな業界もそうだと思いますが、世の中の流行りものの論文が増えるという面が自然言語処理界隈にもあります。Web、blog、と来て、最近のトレンドはやはりtwitterに代表されるmicro blogでしょうか。今年の言語処理学会の年次大会でtwitterセッションは大盛況でしたが、国際会議でもtwitterを題材として発表が増えています。 数えてみたら、重要国際会議であるACLで6件、EMNLPでも3件、twitterをタイトルに含む発表が今年ありました。ちなみに2010年の会議では1件もありませんでした。そんなわけで、私も今日はそんな流行りに乗っかって、twitter言語処理関連の論文を3つ紹介します。 Cooooooooooooooollllllllllllll!!!!!!!!!!!!!! UsingWord

    twitterで自然言語処理 - Preferred Networks Research & Development
  • 1