タグ

algorithmとProgrammingに関するtorutoのブックマーク (47)

  • はてなブログ | 無料ブログを作成しよう

    また冷やし豆乳坦々麺 今年になって2度目の冷やし豆乳坦々麺です。 ピリ辛の肉味噌と少し甘めの練りごまたっぷりの豆乳スープが美味しくて、自分が作ったものなのに美味しい!を連発してしまいます。 先回は絵的にあまり美味しそうに見えなかったので、今回は白髪ネギ以外に茹でた青梗菜と半…

    はてなブログ | 無料ブログを作成しよう
    toruto
    toruto 2008/12/17
    クラスタ数が自動的に求まるのは便利です。 K-meansのように乱数で初期値を決めたりしないので、何度やっても同じ結果が得られます。
  • はてなブログ | 無料ブログを作成しよう

    ガール・ミーツ・スーパーガール 今年はサンマがたくさん獲れているらしい。 どのスーパーに行っても今が旬だよ、今日とかめっちゃお買い得だよ、みたいな感じで売られている。実際キラキラしていておいしそうだ。でも乱獲が問題視されてなかったっけ?私が婆さんになっても海にはサンマが泳いでいてほ…

    はてなブログ | 無料ブログを作成しよう
  • 「日本語テキストを分類するベイジアンフィルタ」を簡単につくるyo - download_takeshi’s diary

    数週間前の話になりますが、「はてブのリニューアル会見」の記事を読んでいたところ、はてブにも「自動カテゴライズによる記事分類」の機能が搭載されるとか。。。 同じようなタイミングで「似たようなモノ」というか「ほぼ同じようなモノ」を作っていたので、すごーくインスパイアされてしまいました。ジュワ〜。(アドレナリンの放出音) 数週間たってもいまだ興奮冷めやらぬ状態なので、今日はその件について書いてみようと思います。 Lingua::JA::Categorize - a Naive Bayes Classifier for Japanese document. http://search.cpan.org/~miki/Lingua-JA-Categorize-0.00001/ 「はてブのパクリ」ではありません。「ベイジアンによる日語テキスト分類器」を「簡単に作る」ことを目的としたモジュールです。 も

    「日本語テキストを分類するベイジアンフィルタ」を簡単につくるyo - download_takeshi’s diary
    toruto
    toruto 2008/11/28
    ベイジアンフィルタの学習部分が楽に出来るらしい。どこから持ってきた、どの様なデータを利用するのかが謎。
  • グラフを扱うJavaライブラリ「Jung」の紹介 - Twitterのグラフ構造を視覚化 - public static void main

    java-ja 第12回のLTで話そうと思ったのですが、出番がなかったので資料をブログで公開しておきます。 Jungは研究などでグラフ構造が出たときに、理解しやすくするために可視化するのに使っています。他にもいくつかグラフを扱うライブラリは存在していますが、日語の資料があったのと拡張可能なことが多かったのでJungを結果的に使うようになりました。 以下はそのJungについての簡単な解説です。 Jungとは Jungの正式名称はJava Universal Network/Graph Frameworkで、ネットワーク(グラフ) 構造の分析や視覚化を行うためのJavaのOSSライブラリです。グラフ理論、データマイニング、ソーシャルネットワーク分析のアルゴリズムを数多く実装しています。 安定バージョンは1.7.6で最新は2.0betaで、BSDライセンスで使用できます。 http://jun

    グラフを扱うJavaライブラリ「Jung」の紹介 - Twitterのグラフ構造を視覚化 - public static void main
  • はてなブログ | 無料ブログを作成しよう

    【献血デビュー】体重が少し足りず400ml献血はできなくとも、献血ルームでの成分献血ならできたぞ、という話 いきさつ 2025年の抱負として「400ml献血をできるようになる」を掲げてから、冬を越し春が過ぎ夏が終わ………なかなか終わらないな……8月も終わろうとしている。記事を書いた頃の体重からは1kgぐらい増えたところだ。 夏バテなんてどこ吹く風とばかりに、ここ数週間は私の…

    はてなブログ | 無料ブログを作成しよう
  • Octave

    Octave [Up] Octave の使い方その1(基演算) Octave の使い方その2(ベクトル・行列演算) Octave の使い方その3(数値解析) Octave の使い方その4(常微分方程式とグラフ) Octave で見る古典制御 Octave で見る現代制御 「Octave/Matlab で見るシステム制御」サポートページ Octave Control Systems Toolbox を使う naniwa@rbt.his.u-fukui.ac.jp

  • アルゴリズムの紹介

    ここでは、プログラムなどでよく使用されるアルゴリズムについて紹介したいと思います。 こんなことやって意味あるのかどうか正直言って迷いました。プログラマはたいてい知っているような内容だし見る人もいないんじゃないかと思いましたが、これからプログラミングを始めてみようという方にとっては参考になるかもしれないし、何よりも自分にとって頭の中を整理できたりするので、これから定期的にやっていこうかと考えてます。 ところで、紹介する内容はほとんど過去に出版された書物関係から抜粋しています。一応下の方に参考文献として挙げておきますので興味を持たれた方は書店などで探してみてはいかがでしょうか? ということで、まずはライン・ルーチン(画面に直線を描画する)についての紹介です。

  • Animated Sorting Algorithms

    Discussion These pages show 8 different sorting algorithms on 4 different initial conditions. These visualizations are intended to: Show how each algorithm operates. Show that there is no best sorting algorithm. Show the advantages and disadvantages of each algorithm. Show that worse-case asymptotic behavior is not the deciding factor in choosing an algorithm. Show that the initial condition (inp

  • Safe from the Losing Fight » How to implement smudge and stamp tools

    smarter than your average squirrel, on most non-acorn related topics I like the smudge tool because, like the brush, it has a real world analog, which means it’s a bit easier for new users to figure out how it works. Just about everyone has played with finger paints before, and knows what happens when you drag your finger through paint. I originally thought the smudge tool would be rather complex.

  • MapReduce - naoyaのはてなダイアリー

    "MapReduce" は Google のバックエンドで利用されている並列計算システムです。検索エンジンのインデックス作成をはじめとする、大規模な入力データに対するバッチ処理を想定して作られたシステムです。 MapReduce の面白いところは、map() と reduce() という二つの関数の組み合わせを定義するだけで、大規模データに対する様々な計算問題を解決することができる点です。 MapReduce の計算モデル map() にはその計算問題のデータとしての key-value ペアが次々に渡ってきます。map() では key-value 値のペアを異なる複数の key-value ペアに変換します。reduce() には、map() で作った key-value ペアを同一の key で束ねたものが順番に渡ってきます。その key-values ペアを任意の形式に変換すること

    MapReduce - naoyaのはてなダイアリー
  • Spaghetti Source - 各種アルゴリズムの C++ による実装

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

  • 連載:検索エンジンを作る|gihyo.jp … 技術評論社

    運営元のロゴ Copyright © 2007-2025 All Rights Reserved by Gijutsu-Hyoron Co., Ltd. ページ内容の全部あるいは一部を無断で利用することを禁止します⁠。個別にライセンスが設定されている記事等はそのライセンスに従います。

    連載:検索エンジンを作る|gihyo.jp … 技術評論社
  • あなたが一番好きなアルゴリズムを教えてください。 また、その理由やどんな点が好きなのかも教えてください。 - 人力検索はてな

    あなたが一番好きなアルゴリズムを教えてください。 また、その理由やどんな点が好きなのかも教えてください。

  • 剰余演算子についての愚痴 - nokunoの日記

    toruto
    toruto 2007/10/01
    はい。int mod(int a,int b){return a%b >= 0 ? a%b : b + a%b;}
  • 良い乱数・悪い乱数

    C言語標準ライブラリの乱数rand( )は質に問題があり、禁止している学会もある。 他にも乱数には様々なアルゴリズムがあるが、多くのものが問題を持っている。 最も多くの人に使われている乱数であろう Visual Basic の Rnd の質は最低である。 そもそも乱数とは 乱数とは、来サイコロを振って出る目から得られるような数を意味する。 このような乱数は予測不能なものである。 しかし、計算機を使って乱数を発生させた場合、 次に出る数は完全に決まっているので、予測不能とはいえない。 そこで、計算機で作り出される乱数を疑似乱数(PRNG)と呼び区別することがある。 ここでは、特にことわらない限り乱数とは疑似乱数のことを指すとする。 計算機でソフト的に乱数を発生させることの最大のメリットは、 再現性があることである。 初期状態が同じであれば、発生する乱数も全く同じものが得られる。 このことは

    toruto
    toruto 2007/09/29
    JAVA の乱数は48ビット線形合同法を使っており
  • リコメンドの裏側 : LINE Corporation ディレクターブログ

    『livedoor グルメ』の根岸です。今日はlivedoor グルメにも実装されている「リコメンド(=お勧め)」機能の話です。 マクドナルドの「ご一緒にポテトもいかがですか?」という店員の接客コメントは、誰もが知っている典型的な決まり文句ですよね。でも、誰にでもポテトをオススメするのは、芸がない。「俺はイモが嫌いなんだ!」っていう人だって絶対にいます。 インターネットでOne-to-Oneマーケティングの時代になると、ユーザーの動向を分析し、各ユーザーごとに興味を持ちそうな商品を予想して、お勧めするようになりました。たとえば、『Amazon』にログインして「マイストア」を選ぶと、それまでの購買履歴をもとにお勧め商品がリストアップされます。 僕のマイストアだと、 『笑う大天使(ミカエル)』 『ウォーターボーイズ』 『リンダリンダリンダ』 などのDVDが、リストアップされています。上記はいず

    リコメンドの裏側 : LINE Corporation ディレクターブログ
    toruto
    toruto 2007/08/24
    協調フィルタリング。流行なの?協調フィルタリング
  • Yet Another Hackadelic - 直積の導出と考えうる全ての値を網羅したハッシュの生成

    昨日から激しく悩んでいた内容で、id:kazuhookuさんとnishioさんに色々教わったので、その内容のまとめ。 やりたい事 my $entries = { A => [0..5], B => ["A".."D"], C => ["a".."c"] }; みたいな集合A, B, Cってのがあるとして、A, B, Cから一個ずつ値を抽出してくる組合せを列挙すると言うお話。 ちなみに場合の数として、6 * 4 * 3 = 72 通り存在するハズです。 List::Utilのreduceを使う id:kazuhookuさん案を適当に整形。 #!/usr/bin/perl use strict; use warnings; use Data::Dump qw(dump); use List::Util qw(reduce); my $entries = { A => [0..5], B =>

    Yet Another Hackadelic - 直積の導出と考えうる全ての値を網羅したハッシュの生成
  • http://www.4dm.org/PKU/

  • 書評 - アルゴリズム・サイエンス (入口|出口)からの超入門 : 404 Blog Not Found

    2007年05月30日04:00 カテゴリ書評/画評/品評 書評 - アルゴリズム・サイエンス (入口|出口)からの超入門 正三郎さんのお薦めという事で、手に入れてみた。 出口からの超入門 入口からの超入門 共立出版「アルゴリズム・サイエンスシリーズ」: ホットコーナーの舞台裏そのとき、見つけたのが、休刊したbit誌など我々コンピュータ業界ではおなじみの共立出版が新たに刊行を開始した「アルゴリズム・サイエンスシリーズ」。 シリーズ「アルゴリズム・サイエンス」の嚆矢である「入口からの超入門」ならびに「出口からの超入門」は、読んで字のごとくアルゴリズムの入門である。入口と出口に分けているのがニクい。入口はまだアルゴリズムというものを意識していない人々のための、そして出口はすでにアルゴリズムの威力は知っていても、日々の業務に負われて仕様書をそのままプログラムに書き直すのに疲れ気味の人々にアピー

    書評 - アルゴリズム・サイエンス (入口|出口)からの超入門 : 404 Blog Not Found
  • suffix array

    更新履歴 2004/01/07  O(N) 構築アルゴリズム三種追加(Ko &Alulu, Kim & al., Karkkainen & Sanders) Suffix Arrayは、最近注目を集めているデータ構造です。その理由として、 (1)大規模なデータに対して、高速に検索、情報抽出を行うことができる (2)BWTとしてデータ圧縮に用いることができる。 ことが挙げられます。(1)に関しては自然言語処理において、膨大な量のコーパスから情報(例えば、単語の出現回数など)を調べるときににSuffix Arrayを用いると非常に高速に求めることができます。 膨大な量のコーパスに基づいた自然言語処理が盛んになってきている今、Suffix Arrayが注目を集めています。 また、ゲノム情報を調べるバイオインフォマティクスにおいても、ここの配列と似ている部分(例えばCCAG)を調べるといった場合