タグ

algorithmに関するsendのブックマーク (14)

  • モンテカルロ法で囲碁、将棋

    2006/02/17 興味がわいて作成 囲碁の場合 1.モンテカルロ法とは? 2.モンテカルロ法を囲碁に適用すると? 3.5路盤での結果 4.9路盤と19路盤の結果 5.終局までの平均手数と平均目数、最大の手の目数 6.実際の囲碁プログラムでのモンテカルロ法 7.少し強く?したモンテカルロ法 8.実際にモンテカルロ法で対局させてみると? 将棋の場合はこちらを モンテカルロ法がコンピュータ囲碁ではちょっとしたブームらしいです 2005年9月のコンピュータオリンピックの囲碁の9路盤部門でモンテカルロ法を採用したフランスの囲碁プログラムが 好成績を収めました。(3位と5位、9チーム中) こんなお手軽でインチキくさい?方法がどこまで効果があるものか自分でも少し調べてみました。 1.モンテカルロ法とは? モンテカルロ法、で真っ先に思い浮かべるのは、正方形の中に乱数

  • 理論関係(DEA・群論・AHP・IRTなど)

    完成度が高いor需要が多いものほど上に並べています。 群論は、完成度は低いのですが(これを書いたときは、PowerPointの使いかたをほとんど知らなかった)需要が多いのでトップにいたしました。 DEA入門は、1,3,4話は完成度はまあまあ高いと思います。また需要も多いようです。 遺伝的アルゴリズム入門とラグランジュ緩和入門は、完成度はまあまあ高いですが、「お子様向け」にしすぎた嫌いがあります。 項目応答理論入門(IRT理論)も、完成度はまあまあ高いです。 AHP(階層型意思決定法)は、完成度は普通です。 「ハフマン符号化法」は、「文字だけで説明したら、どれくらいわかりやすくできるか挑戦してみよう」と思って書いた作品。 「チューリング・マシン」は、伝記マンガ「栄光なき天才たち」の原作者に授業で使っていただいたそうです。超うれしかったです。 「回帰分析」は駄作。もっと数学的に踏み込むべきでし

  • ハフマン符号化法

    ハフマン符号化法は文字だけで説明したので、この場で読むことが出来るようにいたします。 ファイル圧縮技術 -ハフマン符号化法の紹介- LHAってソフト、知ってますよね。ファイル圧縮ソフトです。たとえばフロッピーディスク2枚分のデータを、フロッピーディスク1枚に納まるようにしてしまいます。 なぜそんなことができるのでしょうか。 LHA付属のドキュメント・ファイルを読んでみます。 吉崎 栄泰「LHA取り扱い説明書」Ver.2.13 1991/07/20 NIFTY-Serve SDI00506 の 「0. はじめに」には >>アルゴリズムを動的ハフマン法から静的ハフマン法に変更したので、・・・・ という一文が書いてあります。 ハフマン法って何だろう。きっと、ものすごい数学技術を使っているんだろうな・・・と思っていたときに、たまたま読んだのがA・K・デュードニー「チューリング・オムニバス 第1巻

  • Spaghetti Source - 各種アルゴリズムの C++ による実装

    ACM/ICPC(プログラミングコンテスト)系列の問題を解くことを目標にして,各種アルゴリズムを C++ で実装してみた.極めて意地が悪い類の問題には対応していないし,特定の入力に対して高速に動くということもない.計算量も最良とは限らない. これらを参考にする方への注意とお願い: これらの記述は正確とは限りません.参考文献を参照することを強く推奨します.間違っている場合は是非教えてください. これらのプログラムは間違っているかもしれません.各人で検証することを強く推奨します.バグがあれば是非教えてください. 分類が怪しいので,これはこっちだろう,ということがあればコメントを下さると助かります. 注意! 現在書き換え中 TODO 分類を正しく行う. 全体的に説明と使い方を詳しく. Verify していないものを Verify. ボロノイ図(いつになることやら……) 基 テンプレート グラフ

  • DO++ : 最長一致文字列の話

    たまには自分の研究紹介 D. Okanohara, K. Sadakane. "An Online Algorithm for Finding the Longest Previous Factors". In the 16th European Symposium on Algorithms. Sep 2008. to appear. [pdf(draft)] この研究では文字列を順々に読んでいったとき、各位置で過去に一番長くマッチした部分文字列を報告する問題を扱ってます。圧縮のLZ77法を知っているなら、マッチする部分を見つける部分を解いてます。で、圧縮以外にもいろいろなパターンマッチング問題とか、インデクシングとか、データマイニングとかいろいろなことにこの情報が利用できるということが知られてるみたいです。 で、大抵はハッシュやtrieを組んで履歴を探すんですが、今回対象にするのはテキ

    DO++ : 最長一致文字列の話
  • Bloom Filterを書いてみた - ラシウラ

    PythonBloom filter - Wikipedia Bloom Filterはデータが入ってるかどうかを問い合わせるもの。一種のSetのようなものだが、確率的に誤検出の可能性がある。特徴は、保持するデータが固定長のビットフィールドで元データが不要であり、ビット和で足し合わせられること。前者は通信で送ったりするのに便利だし、後者は分散処理(させてまとめる)などで使える。 import hmac class BitFields(object): def __init__(self): self.bits = 0 pass def __getitem__(self, index): return (self.bits & (1 << index)) != 0 def __setitem__(self, index, bool): if bool: self.bits = self.

    Bloom Filterを書いてみた - ラシウラ
  • Kazuho@Cybozu Labs: フレンド・タイムライン処理の原理と実践

    « MySQL のクエリ最適化における、もうひとつの検証方法 | メイン | MySQL (InnoDB) に直接アクセスしてタイムライン処理を高速化する話 » 2008年06月09日 フレンド・タイムライン処理の原理と実践 MySQL (InnoDB) に直接アクセスしてタイムライン処理を高速化する話に続きます。 Twitter が注目されるようになって久しい今日この頃ですが、友人の投稿を時系列に並べて表示する、というのは、Twitter に限らず Mixi の「マイミクシィ最新日記」やはてなブックマークの「お気に入り」等、ソーシャルなウェブサービスにおいては一般的な手法です。ですが、この処理 (以下「フレンド・タイムライン」と呼ぶ) は、一見簡単そうに見えて、実装には様々な困難が伴います。記事では、「フレンド・タイムライン」を実現する、プッシュ型とプル型の二種類の手法について、その原

  • Üdvözlöm az Óriáscsúszda honlapunkon

    CÉGEK, RENDEZVÉNYSZERVEZŐK, ÖNKORMÁNYZATOK! Szórakozási lehetőség gyermekeknek! Rendezvényekre, partikra rendelhetők, vagy bérbe vehető szórakoztató eszközök. Bővebb felvilágosításért kattintson a képekre vagy válasszon a lenti elérhetőségeink közül. További képek Bővebb szöveges cég és szolgáltatás tájékoztató ITT! Elérhetőségeink Telefonszám:  +36-30/9659-614

  • GC - GCアルゴリズム詳細解説 - livedoor Wiki(ウィキ)

    GC¥¢¥ë¥´¥ê¥º¥à¾ÜºÙ²òÀâ ÆüËܸì¤Î»ñÎÁ¤¬¤¹¤¯¤Ê¤¤GC¥¢¥ë¥´¥ê¥º¥à¤Ë¤Ä¤¤¤Æ¾ÜºÙ¤Ë²òÀ⤷¤Þ¤¹ ¥È¥Ã¥×¥Ú¡¼¥¸¥Ú¡¼¥¸°ìÍ÷¥á¥ó¥Ð¡¼ÊÔ½¸ GC ºÇ½ª¹¹¿·¡§ author_nari 2010ǯ03·î14Æü(Æü) 20:47:11ÍúÎò Tweet ¤³¤ÎWiki¤¬Ìܻؤ¹½ê GC¤È¤Ï¡© GC¤ò³Ø¤ÖÁ°¤ËÃΤäƤª¤¯»ö ¼Â¹Ô»þ¥á¥â¥ê¹½Â¤ ´ðËÜ¥¢¥ë¥´¥ê¥º¥àÊÔ Reference Counter Mark&Sweep Copying ±þÍÑ¥¢¥ë¥´¥ê¥º¥àÊÔ IncrementalGC À¤ÂåÊÌGC ¥¹¥Ê¥Ã¥×¥·¥ç¥Ã¥È·¿GC LazySweep TwoFinger Lisp2 Pa

    GC - GCアルゴリズム詳細解説 - livedoor Wiki(ウィキ)
  • 重み付きシャッフルの回答案 - snippets from shinichitomita’s journal

    前回の続き。 問題:配列の中のある要素aに対してWaの重みが付いている。このとき、要素aが要素bより先に来る確率がWa/(Wa+Wb)となるようにシャッフルするにはどうすればよいか? # 2007年08月28日 brazil brazil 1, TEMP, JAVASCRIPT, PROGRAMMING 最後の方法じゃだめなんだ...、ランダム はてなブックマーク - 重み付けシャッフル、再び - snippets from shinichitomita’s journal ランダムにそのまま重みを掛けた値でのソートだとだめなのは、絵を描いてみるとわかりそう。 PaとPbがそれぞれaおよびbの方が大きくなるエリアだけど、面積比はあきらかにWa:Wbじゃない。 まあその後色々考えて、多分これならそれっぽくシャッフルされるかな、というのを思いついたのだけど、どんなもんか。 var arr =

    重み付きシャッフルの回答案 - snippets from shinichitomita’s journal
  • てっく煮ブログ - 四則演算を JavaScript で実装する

    aki noteGoogle 電話面接を受けました orz (いまは消えてるけど)にて割り算が壊れました。自分で実装してみてくださいという質問が紹介されていた。せっかく(?)の機会なので、割り算だけでなく、四則演算を全部壊してみて、JavaScript で実装して見ることにした。JavaScript を選んだのは、コンパイル不要、ビット演算がある、Firebug で手軽に確認できる、という理由から。それ以上の深い意味はない。ということで、次のような問題に一般化してみた。問い四則演算を JavaScript で実装しなさい。演算子は ==、!= およびビット演算子のみ使ってよいものとします。補足例えば、for 文で for(var i = 0; i { // ... } と書くためには、++ 演算子は次のように定義できる。 function increment(i){ var c =

    send
    send 2007/06/29
    何かと思えばビット演算か
  • Javascriptでdiffる ( with 形態素解析 ) (nakatani @ cybozu labs)

    Javascript で diff というのはいくつか試された例はあるようですが、まだこれといった決定打は出ていない様子です。 実は diff は見た目ほど軽い処理ではないので、Javascript にやらせるのはこれが結構大変…… diff の計算量は、おおざっぱに言うと比較対象の要素数の二乗に比例し(実際にはそれより小さくすることができるのですが、まあ話のイメージとして)、かつメモリを大量に消費するので、バッチ的な処理に最適化されていない Javascript にはどうしても荷が重いものとなってしまいます。 比較対象の要素数を減らせば当然計算量は減りますが、行単位で比較してもあまり嬉しくない(わざわざ Javascript で処理するということは自然文が対象と思って良いでしょう)。最小の文字単位だとギブアップ。 ということは形態素解析で分かち書きして、単語単位で diff するのが J

  • 最強のたらいまわし : 404 Blog Not Found

    2007年05月25日05:00 カテゴリLightweight Languages 最強のたらいまわし これ、現在知られている中で最強のたらい回しアルゴリズムだと思われます。 404 Blog Not Found:Cで強引にたらいを後回し - a-higutiさんのコメント 以前、同じことを考えたことがあります。 で、出た結論が → http://ml.tietew.jp/cppll/cppll/article/10669 オリジナルのC版はリンク先をご覧頂くとして、JavaScriptに移植したものが、以下です。 function laziest_tarai(x, y, zx, zy, zz){ return x <= y ? y : laziest_tarai(tarai(x - 1, y, z), tarai(y - 1, z, x), tarai(zx, zy, zz) - 1,

    最強のたらいまわし : 404 Blog Not Found
  • Bayesian Sets - mots quotidiens.

    Bayesian Sets (Ghahramani and Heller, NIPS 2005)は Google Sets と同じようなことをベイズ的に行うアルゴリズムです。 いくつかアイテムを入れると, それを「補完する」ようなアイテムを 返してくれます。 これは NIPS の accepted papers が出た去年の8月から気になっていて, 会議ではオーラルの発表もあって大体のやっていることはわかった ものの, 何と(会議の時も!)論文がなく, 直接Hellerに連絡して もらえるように頼んでいたところ, Online proceedings の締切りがあった 時に連絡があって, 読めるようになりました。(リンクは下のページ参照) 岡野原君に先に 紹介 されてしまいましたが, 以下は, 岡野原君が書いていない話。 Bayesian Sets は, アイテム集合 D に対して,

  • 1