タグ

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

  • ドットの粒々感を軽減するアルゴリズムを簡単に比較できる「Depixelizing Pixel Art」

    フルHDの4倍の解像度をもつ4K解像度がいよいよ格的に普及しそうな勢いですが、あまりにも解像度が高すぎることで、アプリケーションによっては文字が小さすぎて読めなくなるなどの弊害も現れ始めています。このような高解像度ゆえに生じる問題として、キャラクターデザインの「ドット感」があり、なつかしのキャラクターを高解像度ディスプレイに拡大表示させると輪郭がガクガクでとても見ていられないという状態になってしまいます。そんなドット感満載のガクガクした輪郭を滑らかに修正させるアルゴリズムを使ってキャラクターを簡単に加工・比較できるのが「Depixelizing Pixel Art」です。 Depixelizing Pixel Art http://research.microsoft.com/en-us/um/people/kopf/pixelart/supplementary/multi_compar

    ドットの粒々感を軽減するアルゴリズムを簡単に比較できる「Depixelizing Pixel Art」
  • 元Google社員が検索アルゴリズムを暴露しないのはどうしてなのか?

    [対象: 上級] Googleで検索に関わる仕事をしていた人は、Googleを辞めた後に、在職時に知ったことを富を得るために利用できそうです。 しかし元Googleの社員はそういったことをしません。 どうしてなのでしょうか? SEOフォーラムで挙がったこんな疑問を、Barry Shwartz(バリー・シュワルツ)氏が、Googleのサーチクオリティチームで以前に働いていたPedro Dias(ペドロ・ディアス)氏とKaspar Szymanski(カスパー・シマンスキー)氏にGoogle+で直接質問しました。 Pedro Dias氏とKaspar Szymanski氏は、Google退職後にSEOコンサルタントととして現在は活動しています。 Pedro Dias氏は、個人的な理由として次のように返答しました。 元Google社員が検索アルゴリズムについて話さない理由 サーチクオリティチーム

    元Google社員が検索アルゴリズムを暴露しないのはどうしてなのか?
  • ビットコインの応用で、電子書籍を譲渡可能にするアルゴリズム

    サトウヒロシ🐰 @satobtc (1)今日は、ビットコインの経済的側面ではなく、技術的側面から可能になる未来像について、連続ツイートします。 ビットコインのP2Pネットワークは、あるデジタルデータ(コインでは残高=お金としている)の所有権を中央の認証機関なしに移転することができるというものです。 2014-02-24 15:42:36 サトウヒロシ🐰 @satobtc (2)これは、計算機科学的にいうとビザンチン将軍問題というもので、だれか管理者がいなくても分散型のコンピュータはお互いに故障や正しいデータを識別できるか、といったような問題です。これに対する実用的なはじめての回答がビットコイン的な仕組みです。 2014-02-24 15:43:49

    ビットコインの応用で、電子書籍を譲渡可能にするアルゴリズム
  • 配列のランダマイズ、出来ますか?(後編)

    前回のエントリ、配列のランダマイズ、出来ますか?(前編)の続きです。 前回のエントリの最後では、次のようなコードを提示し、どこが問題なのかの疑問を提起しました。 // 配列の初期化 var a = []; for(var i = 0; i < 1000; i++) { a[i] = i; } function swap(s, d) { var t = a[s]; a[s] = a[d]; a[d] = t; } // ランダマイズ、その2 for(var i = 0; i < a.length; i++) { swap(i, (Math.random() * a.length) | 0); } ランダマイズのコードの厄介なところは、1回2回実行したところで問題がわからない点で、このプログラムもぱっと見た感じではきちんとランダマイズされているように見えます。ではどうやって問題があるかを判断す

  • 配列のランダマイズ、出来ますか?(前編)

    先日、When Random Isn't Random Enough: Lessons from an Online Poker Exploit(英文注意)という記事がタイムラインに流れてきて、同僚と少し配列ランダマイズの話になったので備忘録として書いておきます。 配列のランダマイズというのは、たとえば上の記事にあるようなトランプのシャッフルであるとか、音楽プレイヤーの再生リストのランダム再生とかで実装しますね。ゲームを作るときなどには実装することが多いでしょうが、記事を読む前に、自分だったらどのように実装するか是非少し考えてみてください。 自分が中学生の頃に書いた記憶のあるコードは、たしか次のようなものでした。 // 配列の初期化 var a = []; for(var i = 0; i < 1000; i++) { a[i] = i; } function swap(s, d) { v

  • 世界でもっとも強力な9つのアルゴリズム、読了。 - 未来のいつか/hyoshiokの日記

    世界でもっとも強力な9のアルゴリズムを読んだ。 コンピュータサイエンスの優れたアイデアを紹介している。それらは私たちの生活を変えた。世界を変えたにもかかわらず広くは知られていない。 偉大なアルゴリズムというものは何なのか?書はその偉大なアルゴリズムを次の基準で選定した。1)普通のコンピュータユーザが毎日使っているもの。2)現実世界の具体的な問題を解決するもの。3)コンピュータサイエンスの理論に関係のあるもの。 そのような基準から著者が選んだのが下記のアルゴリズムだ。 検索エンジンのインデキシング ページランク 公開鍵暗号 誤り訂正符号 パターン認識 データ圧縮 データベース デジタル署名 決定不能性 最初の二つのアルゴリズムのおかげでわたしたちは日々検索エンジンで有用な情報を入手できる。公開鍵暗号やデジタル署名のおかげで安全にインターネット上でクレジットカード情報などを交換できる。誤り訂

    世界でもっとも強力な9つのアルゴリズム、読了。 - 未来のいつか/hyoshiokの日記
  • 実行時間の差は996倍以上。オンラインハッカソン最速コードの裏側に迫る! -

    2013年12月2日より2014年1月8日まで開催していたpaizaオンラインハッカソン(略してPOH![ポー!])Vol.1「新人女子の書いたコードを直すだけの簡単なお仕事です!」で0.01秒を叩き出したコード(最遅コードとの差は最大996倍! 詳しくは結果発表をご確認ください)はどんな過程で生み出されたのでしょうか? 今回は前回の最速コード発表レポート(【結果発表】新人女子PGを最も助けたプログラミング言語とは?)に引き続き、最速コードの裏側に迫ります。 ※ちなみにこちらの野田ちゃん画像は、2014年1月17日に開催されたエンジニアサポートcross2014というイベントで等身大パネルとしてpaizaブースを盛り上げてくれました! ■高速化のアプローチ 前回のレポートでもふれましたが、POH Vol.1はアルゴリズムに変更による計算量(オーダー)の改善による大幅な高速化と、定数倍高速化

    実行時間の差は996倍以上。オンラインハッカソン最速コードの裏側に迫る! -
  • Cache-Oblivious データ構造入門 @DSIRNLP#5

    cvpaper.challengeはコンピュータビジョン分野の今を映し、トレンドを創り出す挑戦です。論文サマリ・アイディア考案・議論・実装・論文投稿に取り組み、凡ゆる知識を共有しています。 http://xpaperchallenge.org/cv/ 資料はxpaper.challengeの2020年末ワークショップとしてプレゼンした、研究効率化Tipsです。10研究室、200ページ超にわたるノウハウ詰め合わせです。

    Cache-Oblivious データ構造入門 @DSIRNLP#5
  • 大量のテキストからランダムに少数の行を抽出したい - Reservoir Sampling - 唯物是真 @Scaled_Wurm

    前に以下のような記事を書きましたが、大量のテキストではうまくいかなかったので新たに書きました ファイルからランダムにN行取り出す(shufコマンド) - 唯物是真 @Scaled_Wurm 上の記事ではテキストをランダムに\(k\)行取り出したい時"shuf -n k"コマンドでランダムにシャッフルした\(k\)行を取り出していました ところが非常に大きなテキストファイルに対して上のコマンドを実行すると、一度にデータを全部メモリに読み込み始めているのか、すごい勢いでメモリを消費していきました(sort -Rでも) そこでメモリをあまり使わずにランダムに\(k\)行取り出す方法について調べました まず基的な非復元抽出のアルゴリズムは以下の記事の発展手法とか追記のあたりの話がわかりやすいと思います 非復元抽出の高速かつ実装が簡単な方法を考える - 睡眠不足?! この記事の話も一度全部の要素を

    大量のテキストからランダムに少数の行を抽出したい - Reservoir Sampling - 唯物是真 @Scaled_Wurm
  • はてなグループの終了日を2020年1月31日(金)に決定しました - はてなの告知

    はてなグループの終了日を2020年1月31日(金)に決定しました 以下のエントリの通り、今年末を目処にはてなグループを終了予定である旨をお知らせしておりました。 2019年末を目処に、はてなグループの提供を終了する予定です - はてなグループ日記 このたび、正式に終了日を決定いたしましたので、以下の通りご確認ください。 終了日: 2020年1月31日(金) エクスポート希望申請期限:2020年1月31日(金) 終了日以降は、はてなグループの閲覧および投稿は行えません。日記のエクスポートが必要な方は以下の記事にしたがって手続きをしてください。 はてなグループに投稿された日記データのエクスポートについて - はてなグループ日記 ご利用のみなさまにはご迷惑をおかけいたしますが、どうぞよろしくお願いいたします。 2020-06-25 追記 はてなグループ日記のエクスポートデータは2020年2月28

    はてなグループの終了日を2020年1月31日(金)に決定しました - はてなの告知
  • 動的計画法が苦手な人が、動的計画法が超苦手な人へアドバイスしてみる - じじいのプログラミング

    この記事は、Competitive Programming Advent Calendar Div2013(http://partake.in/events/3a3bb090-1390-4b2a-b38b-4273bea4cc83)の8日目の記事です。 動的計画法(Dynamic Programming, DP)についての記事です。 12/9 前編にサンプルプログラム(http://ideone.com/2B7f4v)を追加しました 12/11 前編の図2つを差し替えました。 はじめに まずは、やネットの資料で、動的計画法についてのすばらしい解説はいろいろありますので、まずはそれらを参考に。 プログラミングコンテストでの動的計画法 http://www.slideshare.net/iwiwi/ss-3578511 最強最速アルゴリズマー養成講座:アルゴリズマーの登竜門、「動的計画法・メ

    動的計画法が苦手な人が、動的計画法が超苦手な人へアドバイスしてみる - じじいのプログラミング
  • バンディットアルゴリズム入門と実践

    財務省の理論研修で担当した「上級ミクロ経済学」の講義スライドです。講義内容については、以下のウェブサイトをご参照ください: https://sites.google.com/site/yosukeyasuda2/home/lecture/mof15micro [2020/4/19] 講義の音声配信(無料です)を始めました。ご関心のある方はこちらをご覧ください: https://note.com/yagena/n/nab05d7a24681

    バンディットアルゴリズム入門と実践
  • 終了いたしました。

    作者ホームページサービス(hp.vector)は終了いたしました。 長らくのご利用、ありがとうございます。 ご不明な点があれば、お問い合わせページをご覧の上、お問い合わせください。 ※15秒後にトップページに戻ります。 (c) Vector HOLDINGS Inc.All Rights Reserved.

  • PageRankアルゴリズムを使った人事評価実験 | 株式会社サイバーエージェント

    2-2-1.一般的な360度評価による評価方法 問題点 一般的に評価プロセスが公開されていないため、最終評価までのプロセスが不透明である 全員が全員を評価するのは多数の社員がいる場合は不可能である ランダム抽出によるお互いの評価を行うと、まったく違う専門分野を評価したり、まったく関わりあいのない人を評価することになり精度が下がる 2-2-2.専門分野での評価者による評価方法 問題点 *評価者になる人材の不足 高い専門スキル、会社とのビジョンマッチ、メンバーからのその専門分野での高い信頼の全てを備えている人材が専門分野毎に必要。 さらに、評価の納得性を保つためにはメンバーからの信頼がある人材ではないと評価できない。 *評価者によって評価ポイントの違いがある 同じ分野の技術者でも、スキルの価値をどこに置いているかというスタンスの違いから評価ポイントにゆらぎが発生する。 さらに評価者自体

  • ダンスで覚えるソートアルゴリズム - 強火で進め

    こんな動画が有るって事はハンガリーでは「踊って覚えるアルゴリズム」って感じのが出てそうな感じですねw インサーションソート 挿入ソート - Wikipedia http://ja.wikipedia.org/wiki/%E6%8C%BF%E5%85%A5%E3%82%BD%E3%83%BC%E3%83%88 バブルソート バブルソート - Wikipedia http://ja.wikipedia.org/wiki/%E3%83%90%E3%83%96%E3%83%AB%E3%82%BD%E3%83%BC%E3%83%88 セレクションソート 選択ソート - Wikipedia http://ja.wikipedia.org/wiki/%E9%81%B8%E6%8A%9E%E3%82%BD%E3%83%BC%E3%83%88 シェルソート シェルソート - Wikipedia http:

    ダンスで覚えるソートアルゴリズム - 強火で進め
  • 平面グラフと交通ネットワークのアルゴリズム - iwiwiの日記

    日,PFI セミナーにて「平面グラフと交通ネットワークのアルゴリズム」というタイトルで話をさせてもらいました.スライドは以下になります. 「平面グラフでは色々な問題が効率的に解けると聞くけど一体何故?」 「道路ネットワークを処理するにはそういうアルゴリズムが使われているの?」 というような自分が昔持っていた疑問に答える,そんなつもりで準備をしました.そんな疑問を持っている方は,是非ご覧ください. 内容は以下のような感じです. 平面グラフのアルゴリズム(理論コミュニティ) 平面グラフとは何か 平面グラフのアルゴリズムテクニックとその応用例 双対グラフ 小さいセパレータの存在 (r-division) グラフ分割 (Deletion Decomposition) 交通ネットワークのアルゴリズム(応用コミュニティ) どのような課題が取り組まれているか 道路ネットワークは平面グラフなのか? 経路

    平面グラフと交通ネットワークのアルゴリズム - iwiwiの日記
  • Scalaでエラトステネスの篩を実装してみる - Sudix's Blog

    こちらのエントリ もしぼくが採用するなら を読んで、エラトステネスの篩は知ってはいるものの実装してみたことないなぁと思い、 Scalaで実装してみました。 Wikipediaの例題を参考に作ってみます。 考え方としては自然数の集合に対して、小さい順からその倍数を削除していって、 残ったものが素数、という考えです。 最初、こんな感じで実装してみました。 末尾再帰じゃないバージョン1 2 3 4 5 6 7 8 9 10 11 12 13 def sieveOfEratosthenes(numbers: List[Int]): List[Int] = { numbers match { case Nil => Nil case 1 :: tail => sieveOfEratosthenes(tail) case head :: tail => head :: sieveOfEratosthe

  • MinHashによる高速な類似検索 - Preferred Networks Research & Development

    年が明けてもう一ヶ月経ちましたね.岡野原です. 今日はMinHashと呼ばれる手法を紹介します.これは特徴ベクトルの高速な類似検索に利用することができます(クローラーの文脈だとShingleとして知られている). 今や世の中のあらゆる種類のデータが,高次元のバイナリベクトルからなる特徴ベクトルで表されて処理されるようになってきました.例えば文書データであれば文書中に出現する単語やキーワードの出現情報を並べた単語空間ベクトル(Bag of Words)で表し,画像データも,SIFTをはじめとした局所特徴量を並べた特徴ベクトル(とそれをSkecth化したもの)として表せます.行動情報や時系列データも特徴量をうまく抽出する.グラフデータもFast subtree kernels[1]と呼ばれる方法で非常に効率的に特徴ベクトルに変換することができ,グラフの特徴をよく捉えることができるのが最近わかっ

    MinHashによる高速な類似検索 - Preferred Networks Research & Development
  • b-Bit MinHashによる高速かつ省スペースな類似度判定 | SmartNews開発者ブログ

    ゴクロの浜です。ネットカフェでコードを書くのが好きです。 前回のエントリーでも触れられていますが、SmartNewsはホットな話題をユーザにお届けするために、常時、膨大な数のツイートおよびURLをクロールしています。こうして収集した記事に対し、様々な分析が施されますが、その中でも重要な処理の1つに、記事の類似度判定があります。内容の似通った記事をインデックスから発見し、グループ化する処理です。 毎秒、大量の新着記事が到着することから、この類似度判定は高速に実行する必要があります。また、インデックスを全てメモリに載せているので、類似度判定を実現する際の空間効率も要求されます。 今回は、SmartNewsが高速かつ省スペースな類似度判定のために使用しているb-Bit MinHashと呼ばれる手法を紹介します。2年前に、PFIの岡野原さんが非常に分かりやすい解説記事を書かれており、エントリー

  • Wavelet Treeをもう一度 - 気ままなブログ

    文字列のメインであるウェーブレット木をもう一度素直に見直すことにした。 高速文字列解析の世界――データ圧縮・全文検索・テキストマイニング (確率と情報の科学) 作者: 岡野原大輔出版社/メーカー: 岩波書店発売日: 2012/12/27メディア: 単行購入: 15人 クリック: 324回この商品を含むブログ (5件) を見る Wavelet Treeに関する著者のスライドは以下である。 http://www.slideshare.net/pfi/ss-15916040 ふらふらと論文を眺めていたら、Navarro神の「Wavelet Trees for All」というサーベイ論文が加筆されて更新されていた。内容自体はあまり変わっていないと思うが図が増えていた。以下がその論文である。 http://www.dcc.uchile.cl/~gnavarro/ps/jda13.pdf 大半の内

    Wavelet Treeをもう一度 - 気ままなブログ