タグ

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

  • 株式会社アクティブコア - 時間の価値を、最大化する。

    TOP COMPANY SERVICE NEWS JOURNAL RECRUIT CONTACT marketing cloud 「marketing cloud」のサービスサイトです。 CLIENT’S VOICE 「marketing cloud」を導入いただいた企業の皆様の声を紹介します。 note ”ACT as ONE” お客様に価値を提供するために、私たちが実践していること、エンジニアの裏側を発信していきます。 TECH BLOG 株式会社アクティブコアのテックブログです。日々の業務や個人開発で得た知見をエンジニアが発信していきます。 当社ウェブサイトについて プライバシーポリシー ISMS認証 ISMS適合性評価制度ISO/IEC 27001:2013 / JIS Q 27001:2014認証の登録範囲は、当社が開発・運用するAI・マーケティングソリューションです。 © ac

    株式会社アクティブコア - 時間の価値を、最大化する。
  • グーグルがコンテンツ・ファーム対策の大規模アルゴリズム変更、どうなるSEO? | 初代編集長ブログ―安田英久

    グーグルが2月24日に大規模なアルゴリズム変更を行い、順位が大幅に変わったというニュースが流れています。 結論からいうと、現時点で日のWeb担当者がこのアップデートについて意識したり騒いだりする必要はありません。ほとんどの「サイトを普通に運営」しているWeb担当者には関係のないアップデート内容ですし、そもそも日はまだ対象ではないからです。 とはいえ、大きな変更ですし、対象でなくても注意すべき点などもありますので、ざっと解説しましょう。 対象はコンテンツ・ファームですから今回のアップデートは、クエリ全体の11.8%に影響する大規模なものだとグーグルが発表したことから話題になり、日でもヤフートピックスにこの情報が掲載されたとかで、SEO業界以外の人も気にする人が多かったようです。 しかし、アップデートの内容は、低品質なサイトの順位を下げるアルゴリズム変更です。ここでいう品質の低いサイトと

    グーグルがコンテンツ・ファーム対策の大規模アルゴリズム変更、どうなるSEO? | 初代編集長ブログ―安田英久
  • アルゴリズムへの招待

    適当な圧縮ルールを作り、ASCII文字で描いた絵をなるべく少ない文字数で表現するには、どうする?(詳しくは第2回を参照) アルゴリズムを構成する楽しい仕組みを紹介しながら、あなたに「おおっ」と言わせたい――。これが連載『地球にやさしいアルゴリズム』の最初の目的です。「数独パズルを解く」「ASCIIアートを圧縮する」など12の問題を用意しました。ぜひ挑戦してみてください。 問題を解けても解けなくても、アルゴリズムに興味を持てたなら、関連する文献や記事を抵抗なく読めるようになるはずです。アルゴリズムを使いこなしたり、新しく作ることも無理なくできるようになるでしょう。 まずはいろいろなアルゴリズムの面白いところを見て、楽しんでみましょう。 連載目次 第1回 ナンプレを解いてみよう 第2回 パズルみたいに楽しいデータ圧縮 第3回 「場面」の移り変わりに注目する 第4回 できるだけ短いルートでゴール

    アルゴリズムへの招待
  • Yahooがまた少し動いたような | 実践!SEO対策

  • Yahoo!アルゴリズム更新に翻弄されるサイトたち - Yahoo インデックス - リアルSEO

    2009年12月 7日Yahoo!がアルゴリズム更新のアナウンスを出しています。 Yahoo!検索 アルゴリズム Update これにより、検索結果の順位が、12月5日前後に大きな変動をみせました。 順位変動履歴や動向などを紹介する、晴練雨読では、44%という入替率をはじき出しています。 Yahoo!検索順位大変動の履歴 9月12日と同規模の大変動であることがわかります。 Yahoo!検索プロジェクトによると、 「日々最適な検索結果を提供するために、日の市場にあわせたいろいろな研究開発を行い新しいランキング手法の開発/トライアル/テストを繰り返しています。その結果をもとに最適な検索結果を生成するアルゴリズムを採用しています。」 ということらしいですが、今回のアップデート)はかなり問題がありそうです。 ・インデックスURLの問題 (参考:Yahoo!インデックスURLにご注意を!) ・リダ

  • Introduction to Algorithms#24 Shortest-Paths Problem

  • C++: 編集距離を求めるアルゴリズム

    編集距離(edit distance)とは二つの文字列がどの程度異なっているかを示す数値であり、レーベンシュタイン距離(Levenshtein distance)を指すことが多い。文字の挿入、削除、置換それぞれを一つの操作として必要な操作の最小数を求めるものだ。例えば、kittenとsittingの編集距離を求める場合、下記のように3回の操作でkittenをsittingに変更できるので編集距離は3となる。 1. sitten (k を s に置換) 2. sittin (e を i に置換) 3. sitting (g を挿入) そこで今回は編集距離を求める複数のアルゴリズムについてC++で実装してみた。 動的計画法 編集距離を求めるもっとも一般的なアルゴリズムは、動的計画法(dynamic programming)だろう。計算時間はO(mn)であり、手軽だ。C++で書いたコードを下に示

  • 一番右端の立っているビット位置を求める「ものすごい」コード - 当面C#と.NETな記録

    一番右端の立っているビット位置(RightMostBit)を求めるコードで速いのないかなーと探していたら、ものっっっすごいコードに出会ってしまったのでご紹介。2ch のビット演算スレで 32bit 値のコードに出会って衝撃を受けて、その後 64bit 値版のヒントを見つけたのでコードを書いてみました。 この問題は ハッカーのたのしみ―物のプログラマはいかにして問題を解くか (Google book search で原著 Hacker's delight が読めたのでそれで済ませた) で number of trailing zeros (ntz) として紹介されています。bit で考えたときに右側に 0 がいくつあるかを数えるもの。1 だと 0、2 だと 1、0x80 なら 7、12 なら 2 といったぐあい。0 のときに表題どおりの問題として考えるといくつを返すの?ってことになるので、

    一番右端の立っているビット位置を求める「ものすごい」コード - 当面C#と.NETな記録
  • 「圧縮新聞」を作った - phaの日記

    僕は昔からロボットがロボットなりに変な文章を生成して喋ったりする人工無脳とかそういう仕組みが好きで、最近はそのへんの仕組みを勉強していました。それで大体仕組みの基はわかったので簡単なスクリプトを書いてみたよ。 圧縮新聞 このスクリプトはウェブ上にある新聞社とかのニュースの文章を元にして、バラバラにして圧縮してまとめた文章を作るので、ざっと眺めるだけでその日起こった事件の全体が何となくわかるかもしれません。リロードするたび文章は変わります。 生成例 しょうゆ・みそ業界大手のNOVA(大阪市)が入った郵便小包は、北朝鮮の鉄道網を連結する計画だったらしいことが21日、わかった。タンクに灯油を補給した。検案の結果、財政難などをほとんど与えずに6者協議の外相会議の早期再開に期待を表明した国と製薬会社に賠償を求めた。その後、死亡した。 しくみ こういった人工無脳みたいな文章生成をするには形態素解析

    「圧縮新聞」を作った - phaの日記
  • Latent Semantic Indexing - naoyaのはてなダイアリー

    情報検索におけるベクトル空間モデルでは、文書をベクトルとみなして線形空間でそれを扱います。この文書ベクトルは、文書に含まれる単語の出現頻度などを成分に取ります。結果、以下のような単語文書行列 (term document matrix) が得られます。 d1 d2 d3 d4 Apple 3 0 0 0 Linux 0 1 0 1 MacOSX 2 0 0 0 Perl 0 1 0 0 Ruby 0 1 0 3 この単語文書行列に対して内積による類似度などの計算を行って、情報要求に適合する文書を探すのがベクトル空間モデルによる検索モデルです。 見ての通り、単語文書行列の次元数は索引語の総数です。文書が増えれば増えるほど次元は増加する傾向にあります。例えば索引語が100万語あって検索対象の文書が 1,000万件あると、100万次元 * 1,000万という大きさの行列を扱うことになりますが、単

    Latent Semantic Indexing - naoyaのはてなダイアリー
  • The Little Book of Semaphores – Green Tea Press

    by Allen B. Downey Download The Little Book of Semaphores in PDF. The Little Book of Semaphores is a free (in both senses of the word) textbook that introduces the principles of synchronization for concurrent programming. In most computer science curricula, synchronization is a module in an Operating Systems class. OS textbooks present a standard set of problems with a standard set of solutions, b

  • 計算量を具体的に見てみる 2009-01-06 - きしだのはてな

    アルゴリズムの話では、計算量の解析がかかせません。 計算量はオーダー記法で表されますが、これは、データの入力量に対してどのくらい時間がかかるかをあらわしたものです。 こういった話はどのアルゴリズムのにも載ってるはずですが、具体的にどのようなプログラムを書くとそのオーダーになるかという記述はあまりありません。 ということで、やってみました。 計算時間表示のための共通処理を行うクラスは、一番最後に書いてます。 O(1) 計算時間がO(1)のアルゴリズムは、処理が入力の量によらない場合です。 配列の要素のアクセスや、ハッシュテーブルによるデータ検索、連結リストへの追加削除などがこれにあたります。 コードには入力量でのループが含まれません。 public class O1 extends ViewCompFrame{ @Override void compute(int n) { proc();

    計算量を具体的に見てみる 2009-01-06 - きしだのはてな
  • 省メモリプログラミング—メモリ制限のあるシステムのためのソフトウェアパターン集

    省メモリプログラミング—メモリ制限のあるシステムのためのソフトウェアパターン集
  • 高速かつ省メモリで文字列を扱うデータ構造「wavelet tree」

    はじめに 大規模なデータを扱うアプリケーションでは、速度とともに作業領域量も大きな問題となります。作業領域がメインメモリに収まらない場合、スワッピングが発生し、大幅な速度低下につながります。そのため近年、データ構造は高速なだけでなく、作業領域量が小さいことも求められています。今回紹介するのは2003年に提案されたデータ構造、wavelet tree(以下「WT」と表記)です。WTは圧縮索引やSuccinct Data Structureなど、データをコンパクトに表現する際に重要なデータ構造です。WTは文字列T[0...n-1]が与えられた時、次の2つの操作を定数時間でサポートします。 rank(p, c)――T[0...p]中のcの出現回数を返す select(i, c)――(i+1)番目のcの位置を返す WTの作業領域量は、文字列をそのまま保存した時の約2倍程度です。 対象読者 C++

    高速かつ省メモリで文字列を扱うデータ構造「wavelet tree」
  • ホワット・ア・ワンダフル・ワールド アルゴリズミックデバッギング

    研究グループの内輪の研究会がありまして,ET プログラムの自動デバッギングの話が面白かったです. (人間が頭で考えて,直接ルール (プログラム) を手書きした場合用.また,原理的に,形式的仕様記述から自動生成されたプログラムは,仕様に対しては 100 % バグが無いわけですが,それとは別のレイヤーとして,生成されたプログラムが「人間の直感的意図 (ここはインフォーマル)」と異なる挙動を示した時には,仕様のデバッグが必要になってくるので,さらに高度な研究が必要になってくる) その研究自体の詳細は (私の研究ではないので) 書けないのですが.既存研究との比較として挙げられていた,サーベイペーパーが,これまた興味深かったです. Josep Silva, "A Comparative Study of Algorithmic Debugging Strategies", 2007 論理プログラムや

  • ウノウラボ Unoh Labs: diff with C++

    ミートソーススパゲティを作るときは、ミートソースから作るのが信条のbokkoです。それはさておき、今日はdiffのお話です。 diff diffは指定した2つのファイルの差分を求めるコマンド、もしくはその差分そのものを指します。普段から何気なく使用しているコマンドですが、その中で使われているアルゴリズムは結構難しいです。 差分を計算するということ 差分を計算するというのは以下の3つを求めることに帰結します。 ・Levenshtein Distance(Edit Distance) ・LCS(Longest Common Subsequence) ・SES(Shortest Edit Script) 上から順に1つずつ説明していきます。 Levenshtein Distance Levenshtein Distanceは2つのシーケンスの違いを数値化したもので編集距離とも言います。これは後述

  • 第2回 アルゴリズムイントロダクション輪講 - naoyaのはてなダイアリー

    今日は id:motemen 主催のアルゴリズムイントロダクション輪読会 第2回でした。 現在弊社では今年のインターンシップを 2回目(年に2回のうちの後半) 開催中ですが、先月まで来てくれていたインターン一期生も数名輪読会に参加し、東京オフィスからも数名参加、お客さんも増えて大変盛り上がりました。 輪講第2回の今日の発表は自分が担当で、内容は「第4章 漸化式」でした。アルゴリズム計算時間の漸近的限界を得るため、再帰アルゴリズムの計算時間の漸化式を解きます。4章では漸化式の解法として置き換え法、再帰木、分類法が紹介されています。 アルゴリズムイントロダクションの第一巻は、前半しばらく計算量の話が続きます。6章からようやくソートアルゴリズムの話に入ります。次回5章は「確率論的解析と乱択アルゴリズム」です。 数学的基礎とデータ構造 (アルゴリズムイントロダクション) 作者: T.コルメン,R.

    第2回 アルゴリズムイントロダクション輪講 - naoyaのはてなダイアリー
  • 著名ソーシャルメディアが使っているアルゴリズムを大公開! | Moz - SEOとインバウンドマーケティングの実践情報

    “アルゴリズム”は、もっとも非人間的なものの代表だともいえる。ソーシャルメディアにとって、そのアルゴリズムが不可欠だというのは、実に皮肉めいている。 僕はこの間、グーグルがどうやってユーザーデータを集めているかについて書いた記事を掲載した(前編、後編)。今回は、著名なソーシャルメディアサイトが、ユーザーデータを活用する上でどのようにアルゴリズムを用いているのか、白日の下にさらそう。 ソーシャルメディアを成り立たせているのは人間の力だが、ユーザーが入力したデータを利用できる状態にする仕組みは、アルゴリズムによって作られている。現在活動している無数のソーシャルメディアサイトで実証済みのことだが、ユーザーの関与とアルゴリズムによる処理ルールの上手いバランスを見出すことは、とても難しくなりがちだ。これから紹介するアルゴリズムは、悪意のないユーザーと結びついて初めてうまくいくものだ。 人気ソーシャル

    著名ソーシャルメディアが使っているアルゴリズムを大公開! | Moz - SEOとインバウンドマーケティングの実践情報
  • アルゴリズムイントロダクション輪講@京都のお知らせ - motemenの日記

    2008-08-18 12:19 追記 多数のご応募ありがとうございます。ここでいったん募集を打ち切らせて頂きます。なお、人数の関係で、応募された方からも今回参加できない方が出ることになりますが、あしからずご了承下さい。 社内エンジニアの間に、計算機科学をマジメにやろうという機運が高まっています。それを受けはてな社内で計算機科学に関する教科書の輪講をやろうという話になりました。という訳でまずはアルゴリズムの教科書「数学的基礎とデータ構造 (アルゴリズムイントロダクション)」を輪講してみることにします。はてなスタッフだけでなく社外からの参加も募集しているので、京都オフィスに近い方はぜひご参加下さい。 数学的基礎とデータ構造 (アルゴリズムイントロダクション) 作者: T.コルメン,R.リベスト,C.シュタイン,C.ライザーソン,Thomas H. Cormen,Clifford Stein,

    アルゴリズムイントロダクション輪講@京都のお知らせ - motemenの日記
  • アルゴリズムとデータ構造演習

    演習の目的は、プログラミング言語C及びSchemeの基礎を習得し、 それらの言語を通じて、講義「アルゴリズムとデータ構造」の理解を深めることにあります。 重要なお知らせ 特に重要な連絡事項はここに掲載されます。 課題について 課題には、A課題とB課題があります。(課題番号の末尾が種類を表します。) B課題が基礎的な課題で、A課題が発展的な課題となっています。 B課題を全問解くことが、単位取得の目安です。 C入門第1回(10月10日) C入門第2回(10月17日) C入門第3回(10月24日) C入門第4回(10月31日) C第1回(11月7日) C第2回(11月14日) C第3回(11月21日) C第4回(11月28日) C第5回(12月5日) Scheme第1回(12月12日) Scheme第2回(12月19日) Scheme第3回(1月9日) Scheme第4回(1月16日) C補講