タグ

algorithmに関するakishin999のブックマーク (333)

  • 大規模グラフ解析のための乱択スケッチ技法

    3. グラフから得たい情報 1.頂点の重要度 2.頂点間の距離・関連度 3.グラフの性質 4.…… 例: •検索サービス(Web 検索, SNS 内の検索) •ソーシャルメディア解析 テキストのみからは得にくい情報がある 2 4. 3 今日の話 1. MinHashSketches入門 •基礎的かつ強力な乱択スケッチ(900+引用!) 2. All-Distances Sketches 入門 •グラフにおける様々な操作を可能にする乱択スケッチ 時間の都合上,中心性の計算を主に扱います. グラフ解析の基礎にも触れながら説明していきます. 集合のスケッチ技法 グラフのスケッチ技法

    大規模グラフ解析のための乱択スケッチ技法
  • 視覚化による5つのガベージコレクションアルゴリズム入門 | POSTD

    ほとんどの開発者は、自動のガベージコレクション(GC)を当たり前のように使っています。これは、私たちの仕事を容易にするために言語ランタイムが提供する素晴らしい機能の1つです。 しかし、最新のガベージコレクタの中をのぞいてみれば、実際の仕組みは非常に理解しづらいことが分かります。実装の詳細が無数にあるため、それが何をしようとしているのか、また、それがとんでもなく間違った事態を引き起こしかねないことについて十分理解していない限り、すっかり混乱してしまうでしょう。 そこで、5種類のガベージコレクションアルゴリズムを持つおもちゃを作ってみました。小さいアニメーションはランタイムの動作から作成しました。もっと大きいアニメーションとそれを作成するコードは github.com/kenfox/gc-viz で見ることができます。単純なアニメーションによってこうした重要なアルゴリズムを明らかにできることは

    視覚化による5つのガベージコレクションアルゴリズム入門 | POSTD
  • 多腕バンディットによる表示コンテンツの最適化 - クックパッド開発者ブログ

    こんにちは。技術部検索グループの原島です。 上の画像は、スマートフォン(ブラウザ版)で見たクックパッドの検索結果ページです。レシピだけでなく、ニュースも表示されていますね。献立や掲示板のスレッドなどが表示されることもあります。 クックパッドでは、検索結果ページに表示するコンテンツをクエリなどに応じて最適化しています。最適化は、膨大なログデータと最新の機械学習を用いることで、実現しています。このエントリでは、クックパッドにおけるコンテンツ最適化の裏側を紹介します。 最適化の背景 スマートフォンの普及に伴って、ユーザが利用するプラットフォームは PC からモバイルにシフトしつつあります。クックパッドにおけるモバイル利用者の割合も、ここ 2 年で 10% 以上増加しました。最近では、60% 以上のユーザがモバイルからアクセスしています。 ユーザの利用形態が変化すれば、検索結果ページもその変化に対

    多腕バンディットによる表示コンテンツの最適化 - クックパッド開発者ブログ
  • これはヒドイ「初中級エンジニアが【アルゴリズムを優しく学べる】本とサイト16選」 - カレーなる辛口Javaな加齢日記

    http://paiza.hatenablog.com/entry/20141014algorithm うーん,これはヒドイ.これ書いてる人は,おそらくプログラマーじゃない. 「アルゴリズムとデータ構造」の参考書/学習書ではなく読み物の比率が高い.ソフトウエアエンジニアプログラマーでない人が,なんちゃってアルゴリズムを囓るのにはこれでもいいけど,プログラマの勉強用じゃねーな. 今出てるアルゴリズムだと,だいたいこの辺だと思う. アルゴリズムイントロダクション 第3版 第1巻: 基礎・ソート・データ構造・数学 (世界標準MIT教科書) 作者: T.コルメン,R.リベスト,C.シュタイン,C.ライザーソン,浅野哲夫,岩野和生,梅尾博司,山下雅史,和田幸一出版社/メーカー: 近代科学社発売日: 2012/08/02メディア: 単行購入: 1人 クリック: 16回この商品を含むブログ (21

    これはヒドイ「初中級エンジニアが【アルゴリズムを優しく学べる】本とサイト16選」 - カレーなる辛口Javaな加齢日記
  • VisuAlgo moves to https://visualgo.net/en

    Redirecting you to https://visualgo.net/en

  • 初心者でもアルゴリズムの学習ができる入門本とサイト一覧 - paiza times

    Photo by VFS Digital Design 皆さんはアルゴリズムやデータ構造について知っているでしょうか。情報系の学部出身の人は学校の授業でやったかもしれません。一方で学校で情報系の勉強をせずにITエンジニアになったという方は、アルゴリズムやデータ構造について一度は「勉強したほうが良いんだろうな」と思いつつも、実際の業務であんまり必要なさそうだし、難しそうだし、DevOpsやオブジェクト指向やフレームワークについて学ぶので手一杯で未着手、という人も多いのではないでしょうか。 今回はそんな方に向けて、アルゴリズム、データ構造を学ぶ意義と、それらを学ぶときに役立つとサイトについてまとめました。 ■アルゴリズム、データ構造を学ぶ意味 アルゴリズムやデータ構造について語られるときに、非常に良く言われる事として「そんなものは実務に役立たたないので必要ない」という意見があります。当にア

    初心者でもアルゴリズムの学習ができる入門本とサイト一覧 - paiza times
  • もし先輩女子エンジニアが『アルゴリズム』を図解で教えてくれるとしたら - paiza times

    2014年7月30日より8月27日まで開催した、paizaオンラインハッカソン(略してPOH![ポー!])Lite「天才火消しエンジニア霧島 もしPMおじさんが『丸投げ』を覚えたら」ですが、どのような解法が有ったのでしょうか。 今回もPOH恒例の「解説図解」を、天才火消しエンジニア霧島が解説するとしたら、という体で書いてみたいと思います。(特に文体とか変えませんがw 最後に霧島壁紙DLが有るので是非最後までお読みください。) ■どのような高速化ステップがあるのか? 今回の問題ですが、実行時間に大きく影響する計算量別にみたアプローチでは、すべての組み合わせを出して、人数を満たして一番安い組み合わせを見つける全探索[計算量はO(2^N)]と、動的計画法[計算量はq = max(q_i) としてO(Nq) ](やり方によってはO(NM))による2種類があります。 また全探索を改良し、効率的な枝刈

    もし先輩女子エンジニアが『アルゴリズム』を図解で教えてくれるとしたら - paiza times
  • 440万組をマッチングさせたpairs分析・アルゴリズムチームのPDCAサイクル | 株式会社エウレカ

    こんにちは。pairsの分析・アルゴリズム担当の鉄です。 恵比寿のランチ開拓がマイブームです。 最近のオススメは、タワーダイニングです。 常にダイエット中の私からすると、バジルチキンのサラダボウルが美味しくて、ヘルシーで、ボリューミーで… とにかくオススメなんです! 考え事や、開発以外の仕事をついでにしたい時に一人で行くことが多いです。決して寂しい人ではないです。 あえてです。 ……ちょっと寂しくなってきたので、早速題に入ります。 「PDCA」で回すpairsのアルゴリズム改善 今回は、pairsのアルゴリズム改善についてお話ししたいと思います。 私の所属する分析・アルゴリズムチームでは、pairsの数値データを扱っています。 具体的には数値の計測、分析 → 考察 → 提案 → 開発 → 効果測定 → 改善 … といったサイクルで開発を進めています。いわゆる「PDCAサイクル」というも

    440万組をマッチングさせたpairs分析・アルゴリズムチームのPDCAサイクル | 株式会社エウレカ
  • 強化学習+為替トレード戦略 – Momentum

    概要 ・強化学習をトレード戦略に適用するとこんな感じになるのかなというテスト。我流なので何やってんのpgrという場合も生暖かい眼で何卒よろしくお願いします(ヘッジ文言^^) ・モンテカルロをぶん回すことでQ-valueを推定します。 ・今回は簡単のために初回訪問モンテカルロ(逐一訪問はめんどいのお) ・モメンタム戦略を試すため、状態として過去の自分自身のシャープレシオ(1ヶ月と3ヶ月)を使用しています。 ・行動決定にはEpsilon-Greedy法 初回訪問モンテカルロ いかんせん強化学習の学習自体が何をどう考えて良いか門外漢のため五里霧中+Pythonも同じく門外漢のため五里霧中のため、自身の勉強方法も探索しっぱなしという^^;; これであってんのですかねえ 詳しくは参考文献[1]のP.134を見てケロというかんじなのですが、 ・現在での状態を確認(状態=過去のシャープレシオ) ↓ ・そ

    強化学習+為替トレード戦略 – Momentum
  • アルゴリズムとプログラミングをビジュアルで一挙に理解できる「VisuAlgo」

    アルゴリズムを理解するのにビジュアル化することは非常に有効で、プログラムをビジュアル化することで理解が進むのもまた同じ。そこで、アルゴリズム・プログラミングの理解が進むようにと、アルゴリズムを記述したプログラムコードを一挙にビジュアル化することで、アルゴリズム&プログラミングを同時に学習できる一挙両得なサービス「VisuAlgo」が公開されています。 VisuAlgo - visualising data structures and algorithms through animation https://visualgo.net/en 上記のVisuAlgoサイトで試しにソートアルゴリズムの基プログラム「バブルソート」をビジュアル化してみます。「Sorting」の「bubble」をクリック。 検索窓の下に「bubble」と表示されたのを確認したら「Sorting」の画像をクリック。

    アルゴリズムとプログラミングをビジュアルで一挙に理解できる「VisuAlgo」
  • AWSユーザーは必ず覚えておきたいExponential Backoffアルゴリズムとは何か - yoshidashingo

    cloudpackエバンジェリストの吉田真吾(@yoshidashingo)です。 Exponential Backoff 直訳すると「指数関数的後退」つまり、指数関数的に処理のリトライ間隔を後退させるアルゴリズムのことです。 詳しくはWikipediaに記載があります。 Exponential backoff - Wikipedia語でブログに書かれている方もいらっしゃいます。 exponential backoffのメモ – Siguniang's Blog これを見ていると、どうやらこのアルゴリズムは古くから通信装置において、イーサネットフレームのデータ送信時にコリジョン(衝突)を検出したら一定時間待機して再送して、処理を完結させるためのアルゴリズムとして使われているようです。 通信機器の世界に限らず、アプリケーションの分野でも、大規模で予測不能な処理量を有限なリソースでさばく

    AWSユーザーは必ず覚えておきたいExponential Backoffアルゴリズムとは何か - yoshidashingo
  • 多腕バンディットとUCB1で遊ぶ - Negative/Positive Thinking

    はじめに ちょっと遊びで多腕バンディット問題で遊んでみた。 UCB1-tunedも書いてみたけどUCB1より最終的な儲けが低くてあれ?ってなった。どっか間違ってるか。。。 追記(2012/2/12):コメントをいただいて、修正しました。一応、報酬額がUCB1よりtunedの方が高くなっているので、一緒にのせてみます。 修正 コメント指摘をうけ、元論文( http://www.eecs.berkeley.edu/~pabbeel/cs287-fa09/readings/Auer+al-UCB.pdf )を確認してみました。 「K個の独立で、未知だがそれぞれ期待値がμiの一様分布に従う確率変数Xi」と定義されているみたいで、報酬期待値μ*もμiの最大と定義されているので、評価値の計算もこれを用いなければなりませんでした。 「報酬を表すi.i.d.な確率変数X_{i,t}の範囲は、UCB1の証明

    多腕バンディットとUCB1で遊ぶ - Negative/Positive Thinking
  • https://ibisml.org/archive/ibis2011/ibis2011-nakamura.pdf

  • Multi-armed bandit問題のライブラリを公開しました - Dust Theory

    Multi-armed bandit問題(バンディット問題)のライブラリを公開しました https://github.com/jkomiyama/banditlib バンディット問題とは? id:lxyumaさんのわかりやすい解説 http://lxyuma.hatenablog.com/entry/2013/09/18/002613 QuitaのA/Bテストへの応用に関する記事 http://qiita.com/yuku_t/items/6844aac6008911401b19 IBIS2011(国内学会)での中村先生の解説 http://ibisml.org/archive/ibis2011/ibis2011-nakamura.pdf 岡野原さんの解説 http://hillbig.cocolog-nifty.com/do/2008/07/icml2008_0777.html 何ができ

    Multi-armed bandit問題のライブラリを公開しました - Dust Theory
  • AtCoder Beginner Contest 009 解説

    2018/10/31 勉強会 (文字が見えない方は、ダウンロードするかフルスクリーンにしてご覧ください)

    AtCoder Beginner Contest 009 解説
  • wavelet行列で高速な「もしかして友だち?」検索 | 株式会社サイバーエージェント

    業務経歴: Sierでのソフトウェア開発・大手メディアでのサービス運用を経て2012年サイバーエージェント入社。 アメーバ事業部コミュニティサービスの開発責任者を経て、現在はアドテクスタジオで広告配信技術に注力。 好きな分野はグラフ探索とチューリングマシン。 ソーシャルサービスでは、ユーザ間のつながりやユーザ同士の類似性がとても重要です。 つながりの近いユーザや自分と似ているユーザを「もしかして友だち?」とサジェストすることでユーザ間のつながりを伸展させることができます。 そこで、ユーザの「つながり」具合が似ているユーザを「友だちかもしれないユーザ」としてサジェストを行うことを考えました。 しかし「つながり」のデータというのはユーザ数のベキ乗であるため、容量が大きくなりやすい性質があります。 即ち、「つながり」類似度の算出には時間がかかる、ということです。 この「つながり」類似度算出

  • 簡潔データ構造の入門の入門 - EchizenBlog-Zwei

    最近、簡潔データ構造(Succinct Data Structure)がじわじわ人気が出てきているように感じるので入門の入門、くらいの記事を書いておく。 この記事では簡潔データ構造において最も基的なデータ構造である完備辞書(Fully Indexable Dictionary)について説明する。 新しい概念が出てきた時に気になるのは「どうやって実現するのか」「それができると何が嬉しいのか」という2点だと思う。 前者についてはこの記事(http://d.hatena.ne.jp/takeda25/20140201/1391250137)がわかりやすいのでここでは述べない。この記事では「完備辞書があると何が嬉しいのか」について説明する。 完備辞書とは 完備辞書はrankおよびselectという操作が定数時間で実行できるビット列のこと。rank(i)はi番目のビットより前にいくつ1があるかを返

    簡潔データ構造の入門の入門 - EchizenBlog-Zwei
  • IDEA * IDEA

    ドットインストール代表のライフハックブログ

    IDEA * IDEA
  • 【読書感想】世界でもっとも強力な9のアルゴリズム ☆☆☆ - 琥珀色の戯言

    世界でもっとも強力な9のアルゴリズム 作者: ジョン・マコーミック,長尾高弘出版社/メーカー: 日経BP社発売日: 2012/07/19メディア: 単行購入: 15人 クリック: 437回この商品を含むブログ (21件) を見る Kindle版もあります。こちらのほうが低価格。 世界でもっとも強力な9のアルゴリズム 作者: ジョンマコーミック出版社/メーカー: 日経BP社発売日: 2013/10/10メディア: Kindle版この商品を含むブログ (6件) を見る 内容紹介 コンピュータを使い物にするアルゴリズムにはどういうものがあるか、今日的な視点から選んだ実際に役立っている9のアルゴリズムのアイデアを、章ごとに掲げてわかりやすく説明した読み物です。 図を多用し、その仕組みをたとえを使いながら見せることに重点を置いています。著者が選んだ基準は、 (1)インターネットでメールやブラウザを

    【読書感想】世界でもっとも強力な9のアルゴリズム ☆☆☆ - 琥珀色の戯言
  • 幅優先探索 | アルゴリズム[Ruby/Python][AOJ 0129]

    『幅優先探索』をRuby/Pythonで解いてみました。AIZU Online Judgeで対応している問題は『Seven Puzzle』です。 🏀 概要深さ優先探査の説明は『通勤・通学中に理解する深さ優先探索と幅優先探索』、 『アルゴリズム図鑑:iOS & Androidアプリ』が分かりやすかったです。 要点は次のとおり。 根ノードで始まり隣接した全てのノードを探索。階層(根ノードからの距離が近い順)にルートを調べる 🐯 サンプル問題(AOJ)Seven Puzzle Aizu Online Judge。1-7までの数字と、1つ空白のあるパズルをとく問題。 😀 Rubyコード 01234567がそろった状態(ゴール)からスタートして、0を移動させる 幅優先探索で過去に到達していない状態になったら、手数(移動数)を記録 すでに到達済の状態であれば、スキップ(幅優先探索なら手数が同等か

    幅優先探索 | アルゴリズム[Ruby/Python][AOJ 0129]