タグ

algorithmとrubyに関するuchiuchiyamaのブックマーク (6)

  • Workflow Engine をつくろう! Part 1(Task の依存関係の解決) - Qiita

    Part 1 Task の依存関係の解決 Part 2 Workflow の冪等性 Part 3 Task 間でのデータのやり取り Part 4 Task の並列実行 Workflow Engine って何? Workflow Engine と言っても多機能なものから、シンプルなものまで様々なものがあります。そこで、主旨がぶれないように、この記事での Workflow Engine は、以下の要件を満たすソフトウェアとします。 Workflow Engine とは、依存関係のある複数の Task を、意図した順番通りに実行するもの この記事では、この要件を満たす Workflow Engine を Ruby でつくる方法について解説します。 依存関係を記述する 依存関係を解決するコードを書く前に、依存関係を記述する方法をまず決めましょう。 依存関係を記述するには、luigi のように Ta

    Workflow Engine をつくろう! Part 1(Task の依存関係の解決) - Qiita
  • レコメンドなどで使われる類似度計算をRubyで自動化 - Qiita

    レコメンドやデータ分析に使われることも多い類似度計算を簡単にできるmoduleを作りました。 対応している類似度は以下の3つ。 コサイン類似度 JacCard係数 Dice係数 多少汎用的に算出ができるように、配列とハッシュに対応。 ① 二つの配列を渡すと類似度が返ってくる ② 二つのハッシュを渡すと類似度が返ってくる ③ モデルとカラムを渡せば類似度を全てのレコードの組み合わせの類似度を算出してくれる(未完成) ※③は、例えばUserテーブルを持っていたとしたら、Userというクラス名と、Userモデルから取得できるデータやカラム名と重みを渡すだけで、user-user全ての類似度を算出してくれたら便利だなと思って作ってみました。 ①、②については以下のsimilarity_generator.rbで算出できる module SimilarityGenerator #data1,data

    レコメンドなどで使われる類似度計算をRubyで自動化 - Qiita
  • RMagickで画像のピクセル情報を取得する:お題目うぉっち

    2009年01月21日 RMagickで画像のピクセル情報を取得する ちょっと前に写真のピクセル情報を得るには?ということで、Rで実施する方法を調べたのだが、Rubyでも RMagickを使うと可能であることを知った。 Windows用にrmagick-win32をダウンロードして ImageMagick-6.4.5-3-Q8-windows-dll.exe を起動。その後、同じフォルダにある gem をインストールする。gem install --local rmagick-2.7.1-x86-mswin32.gem Windowsの場合、Rmagickの中でImageMagickの dll ファイルを必要とするようなので、C:\Program Files\ImageMagick-6.4.5-Q8 に path を通しておく。 これでピクセルの情報が取れるようになったので、二つの画像の色

  • Execute Around Method - Standing on the shoulder of giants

    必ず対で実行しなければならない処理がある場合は、ブロックを受け取るメソッドを定義しましょう。 振る舞いの実現に関するパターンです。 ファイルをオープンしたら最後に必ずクローズしなければいけないといった、必ず対で実行しなければならない処理を実現したい場合、最も単純な実現方法は対の処理をそれぞれ独立したメソッドとして公開することです。 class File def open ... end def close ... end end f = File.new f.open ... f.close しかし、この実現方法だと、インタフェースとして以下のような問題が残ります。 対で実行する必要があることを利用者が知らなければならない どのようなケースでも処理が対で実行されることをそれぞれの利用者が保証しなければいけない このような問題は、対の処理の間で実行したい処理をブロックとして受け取るメソッドを

    Execute Around Method - Standing on the shoulder of giants
  • 1から1000まで続けて書いてできる整数…を考える - rubyco(るびこ)の日記

    sumimさんの記事経由で灘中学校98年2日目第1問(問題)へ。 1から15まで続けて書くと123456789101112131415となる。これを1つの整数と考えると、この数は21けたで,1が8回使われている。このように、1からある整数まで続けて書いてできる整数について、次の各問いに答えよ。 (1)1から100まで続けて書いてできる整数は何けたか。 (2)1から1000まで続けて書いてできる整数は何けたか。また、その整数の中に1は何回使われているか。 灘中学校1998年2日目第1問(問題) (2)の最後の問題だけ解きます。 1から1000までではなく、000〜999という3桁の数字列(1000個)を考える。この3桁×1000個の数字列には全部で3×1000=3000個の数字が使われている。0〜9までの数字の使われ方は対称なので、3000個の数字には0,1,2,...9の10個の数字が同数

    1から1000まで続けて書いてできる整数…を考える - rubyco(るびこ)の日記
  • algorithm

    奥村晴彦さんの「C言語による最新アルゴリズム事典」技術評論社、1991年、の C 言語プログラムの Ruby への翻訳に挑戦します。プログラムの説明は同書を読んでください。変換はできるだけ逐語的に行っています。プログラムの動作は原作の C プログラムのそれと比較してチェックしていますが、うまく動作しないときは C から Ruby への変換のさいに起きたものです。バグレポートは tnomura@mnet.ne.jp までお願いします。 この Ruby 翻訳版はできるだけレイアウトも含めて原作の C プログラムを変更しないようにしたため、必ずしもRuby らしいコーディングスタイルとは言えないかもしれませんが、プログラムがきちんと動作することを優先しました。C から Ruby への翻訳の著作権に関しては Ruby のライセンスに準じます。配布、改変は自由です。ただし、プログラム体には原作者の

  • 1