タグ

アルゴリズムに関するnakaji999のブックマーク (6)

  • 第1回 レコメンドシステムと集合知 | gihyo.jp

    はじめに 今回から9回に渡り、Hadoopを使ったレコメンドシステムの実装について紹介させていただくことになりました。 レコメンドシステムを構築した方は少ないと思いますが、レコメンドのサービスに触れている方は多いと思います。今回の連載で、読者の皆様にレコメンドシステムの可能性とその実装の面白さをお伝えできればと思います。よろしくお願い申し上げます。 連載の予定は次の通りです。 レコメンドシステムと集合知(今回) レコメンドシステムの実装と課題 協調フィルタリング(前・後編) コンテンツベースレコメンド(前・後編) 今回の記事のポイントは以下の通りです。 レコメンドシステムの目的は気付きと驚きを与えること 理想のレコメンドはソムリエのお薦め レコメンドシステムに必要なのは嗜好と専門性 では、早速はじめましょう。 レコメンドシステムとは? レコメンドシステムは情報フィルタリングの一種で、大量の

    第1回 レコメンドシステムと集合知 | gihyo.jp
  • アルゴリズムの勉強のしかた - きしだのHatena

    この記事で、アルゴリズムの勉強はアルゴリズムカタログを覚えることじゃないよということを書きました。 プログラムの理論とはなにか アルゴリズムの勉強というのは、スポーツで言えば腕立て伏せや走り込みみたいな基礎体力を養うようなもので、「ソートなんか実際に自分で書くことないだろう」とかいうのは「サッカーは腕つかわないのに腕立ていらないだろう」とか「野球で1kmも走ることなんかないのに長距離の走り込みいらないだろう」とか言うようなものです。 Twitterでアルゴリズムの勉強とはなにかと尋ねられて、「アルゴリズムの基的なパターンを知って、それらの性質の分析のしかたをしって、いろいろなアルゴリズムでどのように応用されているか知って、自分が組むアルゴリズムの性質を判断できるようになることだと思います。 」と答えたのですが、じゃあ実際どういうで勉強すればいいか、ぼくの知ってるからまとめてみました。

    アルゴリズムの勉強のしかた - きしだのHatena
  • diffの動作原理を知る~どのようにして差分を導き出すのか | gihyo.jp

    UNIXの基的なコマンドの1つであるdiff。 これに実装されているアルゴリズムは実に興味深い世界が広がっています。 稿では、筆者が開発した独自ライブラリ「dtl」をもとに「diffのしくみ」を解説します。 はじめに diffは2つのファイルやディレクトリの差分を取るのに使用するプログラムです。 ソフトウェア開発を行っている方であれば、SubversionやGitなどのバージョン管理システムを通して利用していることが多いかと思います。稿ではそのdiffの動作原理について解説します。 差分の計算の際に重要な3つの要素 差分を計算するというのは次の3つを計算することに帰結します。 編集距離 2つの要素列の違いを数値化したもの LCS(Longest Common Subsequence) 2つの要素列の最長共通部分列 SES(Shortest Edit Script) ある要素列を別の要

    diffの動作原理を知る~どのようにして差分を導き出すのか | gihyo.jp
  • 「最強最速アルゴリズマー養成講座」関連の最新 ニュース・レビュー・解説 記事 まとめ - ITmedia Keywords

    最強最速アルゴリズマー養成講座: そのアルゴリズム、貪欲につき――貪欲法のススメ アルゴリズムの世界において、欲張りであることはときに有利に働くことがあります。今回は、貪欲法と呼ばれるアルゴリズムを紹介しながら、ハードな問題に挑戦してみましょう。このアルゴリズムが使えるかどうかの見極めができるようになれば、あなたの論理的思考力はかなりのレベルなのです。(2010/9/4) 最強最速アルゴリズマー養成講座: 病みつきになる「動的計画法」、その深淵に迫る 数回にわたって動的計画法・メモ化再帰について解説してきましたが、今回は実践編として、ナップサック問題への挑戦を足がかりに、その長所と短所の紹介、理解度チェックシートなどを用意しました。特に、動的計画法について深く掘り下げ、皆さんを動的計画法マスターの道にご案内します。(2010/5/15) 最強最速アルゴリズマー養成講座: アルゴリズマーの登

  • アルゴリズムオタが非オタの彼女にアルゴリズム世界を軽く紹介するための10本 - 落ち着け!話はそれからだ。 @ Eternalic 出張版 (powed by zzzhaya)

    元ネタ アニオタが非オタの彼女にアニメ世界を軽く紹介するための10 *1コンピュータ言語編(増田ver.) プログラミング言語オタが非プログラマーの彼女に言語世界を軽く紹介するための10言語コンピュータ言語編(弾氏ver.) 404 Blog Not Found:言語オタが非オタの彼女に言語世界を軽く紹介するための10言語 *2 まあ、どのくらいの数のアルゴリズムオタ*3がそういう彼女をゲットできるかは別にして、「オタではまったくないんだが、しかし自分のオタ趣味を肯定的に黙認してくれて、その上で全く知らないアルゴリズムの世界とはなんなのか、ちょっとだけ好奇心持ってる」ような、ヲタの都合のいい妄想の中に出てきそうな彼女に、アルゴリズムのことを紹介するために見せるべき10を選んでみたいのだけれど。 (要は「脱オタクファッションガイド」の正反対版だな。彼女にアルゴリズムを布教するのではなく

  • 知れば天国、知らねば地獄――「探索」虎の巻

    いよいよ今回から、具体的なアルゴリズムの紹介に入っていきます。今回は、プログラミングにおける重要な概念である「探索」について考えます。グラフに変換し、探索する、という流れを知るとともに、そのグラフを効率よく探索する方法について紹介します。 今後紹介していくアルゴリズムについて お待たせしました! 「最強最速アルゴリズマー養成講座」という連載タイトルのとおり、今回の連載からいよいよ具体的なアルゴリズムの紹介に入っていきたいと思います。 しかし、それを読んでいただく前に、1つ注意してもらいたいことがあります。連載第3回でもお伝えしたように、「問題を、既存の適当なアルゴリズムに当てはめる」という考え方は、非常に危険である、ということです。 筆者の経験上、TopCoderでRedCoder以上を目指すのであれば、回答時間短縮のために、いままでのパターンを利用するのも方法の1つなのですが、連載では

    知れば天国、知らねば地獄――「探索」虎の巻
  • 1