タグ

algorithmに関するkarupaneruraのブックマーク (22)

  • C言語でインクルードするだけで使えるNon-movingで正確なコピーGCを作った - Qiita

    インクルードするだけで使えるNon-movingで正確なGCをC言語用に作りました。 行数がコメントを除いて100行に満たない非常に小さなライブラリです。 GCのアルゴリズムとしてはCheneyのコピーGCを採用しています。 通常のCheneyのコピーGCではメモリ空間のうち半分が無駄になってしまいメモリ効率が悪かったり、 GC発生時にオブジェクトが移動してしまいC言語のようなポインタを直接触れる言語との相性が悪いという欠点がありました。 今回はヒープ全体を二重連結リストとして管理することでそのような問題を解決しています。 ちなみにこれはTreadmill GCのアイデアと同じです。(が、アルゴリズム自体はTreadmill GCではありません。) APILinuxのlist.hに非常に近い見た目になっています。 ある構造体をgcで管理したい場合はstruct gc_head型のメンバを

    C言語でインクルードするだけで使えるNon-movingで正確なコピーGCを作った - Qiita
  • 遺伝的FM音源

    遺伝的アルゴリズムを使って人間がパラメータを調整する事なくFM音源から意図した音色の音を出す手法を解説します https://github.com/Fadis/genetic_fm 追記: 発表の動画を用意しました https://www.youtube.com/watch?v=oJy0g0mt8LA

    遺伝的FM音源
    karupanerura
    karupanerura 2016/10/10
    すごい
  • 冬のLock free祭り safe

    19. What is Blocking? コアが増えるほどに問題が顕著に! 早くしろよ… 早くしろよ… 早くしろよ… 早くしろよ… 早くしろよ… 早くしろよ… 早くしろよ… 早くしろよ… 早くしろよ… クリティカルセク ション

    冬のLock free祭り safe
  • 言語処理100本ノック 2015

    言語処理100ノックは,実践的な課題に取り組みながら,プログラミング,データ分析,研究のスキルを楽しく習得することを目指した問題集です 実用的でワクワクするような題材を厳選しました 言語処理に加えて,統計や機械学習などの周辺分野にも親しめます 研究やデータ分析の進め方,作法,スキルを修得できます 問題を解くのに必要なデータ・コーパスを配布しています 言語はPythonを想定していますが,他の言語にも対応しています

  • Raft

    Grafana LokiではじめるKubernetesロギングハンズオン(NTT Tech Conference #4 ハンズオン資料)NTT DATA Technology & Innovation

    Raft
  • 機械学習アルゴリズムまとめ | 株式会社フルスピード - Growth Seed

    みなさんこんにちは。アナリストの荒木です。近い将来さまざまな仕事がロボットに置き換わっていくと多くの人が予想しており、そのコアテクノロジーの一つが機械学習です。GoogleがDeepMindを買収したことで機械学習という言葉も身近になりつつありますが、すでにamazonレコメンドや画像認識などで活躍しています。 そこで今回は、ウェブ担当者が「機械学習ってどんなことをやっているのだろう?」という場合に勉強できるスライドをまとめました。 ↓【無料DL】「SEO内部対策チェックシート」を無料ダウンロードする 機械学習によるデータ分析まわりのお話機械学習でどんなことをしているのかをまとめたスライドです。データのこと・機械学習のこと・評価のこと・分析のことの4部構成で、データマイニングの一連の流れを学ぶことができます。 Deep LearningGoogle認識例で有名になった手法を紹介したスラ

    機械学習アルゴリズムまとめ | 株式会社フルスピード - Growth Seed
  • DSIRNLP #3 LZ4 の速さの秘密に迫ってみる

    Grafana LokiではじめるKubernetesロギングハンズオン(NTT Tech Conference #4 ハンズオン資料)NTT DATA Technology & Innovation

    DSIRNLP #3 LZ4 の速さの秘密に迫ってみる
    karupanerura
    karupanerura 2015/02/11
    わかりやすかった。普通の辞書式暗号をチューニングした感じなんだなぁ。
  • Hash-flooding DoS と SipHash - あどけない話

    以前、僕が実装している web サーバ Mighty が、Haskell で書いているにも関わらず、セグメンテーションフォールトを起こしていた。調べたところ hashable ライブラリがリンクする C の DJBX33X が、SipHash に変わったことが原因だった。このときから SipHash が気になっていたし、以前社内で説明した "Efficient Denial of Service Attacks" との関係も知りたかったので、少し調べてみた。この記事は、その覚え書き。 Hash-flooding DoS の歴史 1998 年に Alexander Peslyak 氏が Phrack Magazine で、Hash-flooding DoS を受けたことを報告している。ハッシュは、N 個の要素を挿入するのに通常 O(N) かかるが、ハッシュ値がすべて衝突する最悪の場合では O

    Hash-flooding DoS と SipHash - あどけない話
  • いもす法 - いもす研 (imos laboratory)

    いもす法とは,累積和のアルゴリズムを多次元,多次数に拡張したものです.競技プログラミングでは 2 次元 1 次のものまでしか出題されませんが,2012 年の研究成果としてこれをより高次元の空間により高次数のいもす法を適用することにより信号処理分野・画像処理分野において利便性があることがわかっています. いもす法の基: 1 次元 0 次いもす法 最もシンプルな「いもす法」は 1 次元上に 0 次関数(矩形関数や階段関数などのように上部が平らな関数)を足すものです. 問題例 あなたは喫茶店を経営しています.あなたの喫茶店を訪れたそれぞれのお客さん i\ (0 \leq i \lt C) について入店時刻 S_i と出店時刻 E_i が与えられます(0 \leq S_i \lt E_i \leq T).同時刻にお店にいた客の数の最大値 M はいくつでしょうか.ただし,同時刻に出店と入店がある場

  • Starling と四分木で広大なマップを描画する - 俺式4.0 Blog

    何画面にも渡るような、広大なマップを縦横無尽に駆け回るというのは、 ビデオゲームの世界においてはファミコン以前からある楽しみの一つだ。 最近はゲームエンジンやフレームワークが巷に溢れているが、 こうした広いマップ(特にタイルマップで表現できないような柔軟なもの) を扱うのは、意外と標準装備ではできなかったりする。 今回は Starling で四分木 (QuadTree) を使って広いマップの描画を扱うものを書いたので、記録しておく。 (QuadTree を使った Sprite はすでに Starling の extension として作っている人がいたが、 自分のフレームワーク用に最適化するために今回は自分で書いた。) QuadTree で Viewport Culling を行うデモ まずは作ってみた結果を。 方向キーで移動 スペースキーでズームアウト Z キーでデバッグ表示の ON /

  • あの「イラつく文字認証」のおかげで年間250万冊もの本がデジタル化されている - ログミー[o_O]

    誰もが一度はイラっとさせられたであろう文字認証「CAPTCHA」。ユーザがコンピュータで無いことを確認するセキュリティ機能のひとつですが、近年、これを解読することは「のテキスト化」に協力することと同義になりました。同システムの開発者でクラウドソーシングも発案した起業家、Luis von Ahn(ルイス・フォン・アン)氏が、7億5,000万人が参加するプロジェクトが生まれたキッカケを語ります。(TEDxCMU 2011より) 誰もが一度はイラっとさせられるCAPTCHA(キャプチャ) ルイス・フォン・アン氏:このように、ゆがめられた文字の並びを読んで埋めるタイプのウェブフォームを見たことのある人は何人いますか? これを見て当にいらいらすると感じた人は何人いますか? はい、すばらしいですね。私がこれを発明しました。私がこれを発明したメンバーの1人です。 (会場笑) これはCAPTCHAと呼

    あの「イラつく文字認証」のおかげで年間250万冊もの本がデジタル化されている - ログミー[o_O]
    karupanerura
    karupanerura 2014/11/17
    発想もすごい(似た事むかし考えた事あるけど答え知ってるやつと知らない奴で2つ出せばいいとか思い付かなかった)し、ここまで実用的に出来たのが本当にすごい。
  • ロスレス圧縮アルゴリズムの歴史

    江添亮 自由ソフトウェア主義者 C++ Evangelist C++標準化委員会の委員 ドワンゴ社員 C++11を執筆した。 株式会社ドワンゴで働いている。 Mail:boostcpp@gmail.com Twitter:@EzoeRyou GitHub: https://github.com/EzoeRyou 江添亮のマストドン@EzoeRyou 筆者にブログのネタを提供するために、品物をアマゾンお気に入りリスト経由で送りたい場合: Amazon.co.jp: 江添亮: 江添のほしい物リスト 筆者にブログのネタを提供するために、直接に品物を送りたい場合、住所をメールで質問してください。 View my complete profile ► 2020 (31) ► December (2) ► November (2) ► September (2) ► August (4) ► Jul

    karupanerura
    karupanerura 2014/07/26
    "特許のせいでいくつものアルゴリズムが発展せずにそのまま死んだ"
  • なんでGCCはa*a*a*a*a*a を (a*a*a)*(a*a*a) に最適化できないの?っと

    c - Why doesn't GCC optimize a*a*a*a*a*a to (a*a*a)*(a*a*a)? - Stack Overflow 俺は科学技術計算の数値計算の最適化をしてたんだけどさ。GCCはpow(a, 2)をa*aにしてくれるんだな。うん。で、pow(a, 6)は最適化されずに、ライブラリ関数であるpowを呼んじゃうんだ。パフォーマンス的に最悪。(Intel C++ Compilerはpow(a,6)のライブラリ関数呼び出しを消し去ってくれるんだけどな) どうもよくわからんのが、pow(a, 6)をa*a*a*a*a*aで置き換えて、GCC 4.5.1をオプション"-O3 -lm -funroll-loops -msse4"で使ったら、mulsd命令を5個使う。 movapd %xmm14, %xmm13 mulsd %xmm14, %xmm13 mulsd

  • DextroII先生のロマサガ閃きシステムのアルゴリズム講座

    つしま(あなたの原稿はどこから) @chartreuse37 @DextroII 先生ッ! サガシリーズの閃きシステムの概念ってどうなってるんですか!? って弟が言ってました よかったらちらっと教えてください 2011-11-13 18:26:54

    DextroII先生のロマサガ閃きシステムのアルゴリズム講座
    karupanerura
    karupanerura 2014/03/11
    面白そう。長いのであとでよむ。
  • 大規模なデータをそれなりに効率良く計数できる Algorithm::LossyCount を書いた

    要旨 Algorithm::LossyCount というモジュールを書きました。これを使うとそこそこメモリ効率良く大規模なデータの計数ができます。アクセスランキング集計とかに使えるんじゃないでしょうか。 Github MetaCPAN 動機 例えばブログホスティングサービスで HTTP サーバのアクセスログを集計して人気のあるブログ記事ランキングを出したいとします。 Perl でデータの出現頻度を計数するのはハッシュを使うのが鉄板なので、適当に書くとだいたいこんな感じのコードになると思います: #!/usr/bin/env perl use v5.18; my %access_counts; while (<>) { chomp; my $access_log = parse_access_log($_); next if is_article_request($access_log);

  • 自然言語処理の最新手法"word2vec"で艦これ加賀さんから乳を引いてみる - あんちべ!

    概要 この記事は自然言語処理という分野の最新手法word2vec を利用して誰でも遊べるようにするための手順を説明するものです。 word2vecを利用すると意味の計算が実現できます。 例えば"king"から"man"を引いて"woman"を足すと"queen"が出てきたり、 "東京"から"日"を引いて"フランス"を足すと"パリ"が出てくるという面白い手法です。 自然言語処理とは人間が日常的に用いる自然言語をコンピュータに処理させ、 翻訳や要約、文字入力支援や質問応答システムを作るなどに活用されている分野です。 自然言語処理と言うと耳慣れない言葉かもしれませんが、 実は検索や推薦などで私たちが日常的に利用しているなじみ深い技術でもあります。 自然言語処理の適用範囲や要素技術は幅広いのですが、 その中でもword2vecの特色は、 冒頭でも挙げたように「意味の計算」が出来ることです。 これ

    自然言語処理の最新手法"word2vec"で艦これ加賀さんから乳を引いてみる - あんちべ!
    karupanerura
    karupanerura 2014/03/10
    おもしろい
  • suicaは実はたまに落ちている - 紅茶屋くいっぱのあれこれ日記

    suicaのサーバーはみんなの知らないところで、実はたまに落ちているそうだ。 だがシステムが止まることはない、計算上センターは3日ぐらいは止まっていても大丈夫だそうだ。 だからサーバーが落ちたなどとニュース沙汰になることは殆ど無い。 suica開発陣頭指揮をされていたかたが、その実績をまとめてと頼まれ、博士論文にしたそうだ。 suicaの実例を述べるだけだと技術論文になってしまうので、一般化して論文を書きあげたそうなのだが、審査に携わった専門家の人達はそんなものが動くわけないだろうといったらしい。しかし現実問題としてsuicaは動いてしまっている。 人いわく、だってそれで動いちゃってるんだもん。だそうだ。 実装は時として奇妙に見えるかもしれない。 フィールドには神がいる。 …その意や、なんで落ちても大丈夫かなどはまた後ほど。 スイカのセミナー 昨日はスイカのセミナーだった。 JR東でスイ

    suicaは実はたまに落ちている - 紅茶屋くいっぱのあれこれ日記
    karupanerura
    karupanerura 2013/12/14
    セキュリティとパフォーマンスの両立をどうやってやってるんだろうなー。気になる。
  • b-Bit MinHashによる高速かつ省スペースな類似度判定 | SmartNews開発者ブログ

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

  • STFワーカーの自律分散と適応スロットリング - D-6 [相変わらず根無し]

    現在STF は分散オブジェクトストアとしてピーク時にフロントのディスッパチャー1台につき80Mbpsを捌いています。この通常のオブジェクト配信するための動作に関しては裏で実際のオブジェクトを格納しているストレージサーバーもさくさくと動いていて特に問題はないのですが(当の事を言うとアクセス量が増え続けているので、ストレージは増やし続けないとiowaitがじわじわとあがっていく、という問題はあるけど、それはあくまでも中長期的な問題なので今回の話からは除外)、運用しているとストレージサーバー側でオブジェクトの実体(エンティティ)を補充したり、ストレージサーバー間で移動させたりという処理が必要になります。 この際「このストレージにはいってるオブジェクトを全部なめて、正しい状態に戻す」(リペア)という処理を行う事があります。STFのインスタンスごとに規模が違うのですが、最大規模で1ストレージに付き

  • SHA-3のアルゴリズムはKeccakで決定 | Tellur52の日記 | スラド

    アメリカ合衆国の国立標準技術研究所(NIST)は、現地時間の10月2日に、次世代の暗号学的強度をもつハッシュ関数の標準を決める、Secure Hash Algorithm (SHA-3)のコンペの勝者として、Keccakを選定した。(/.家の記事) SHA-3は、MD5に続いてSHA-1に対する攻撃の研究が進展してきたのに対応するため、SHA-2(SHA-224, SHA-256, SHA-384, SHA-512)の次の世代のハッシュ関数アルゴリズムとして公募していたもの。 51のアルゴリズムが一次選考にエントリしたが、一次選考で14に絞られ、最終選考には、Keccakの他、BLAKE, Grøstl, JH, Skeinの合計5つが候補として残っていた。SHA-3の選考過程や、各候補の詳細は、NISTのSHA-3に関するページや、The SHA-3 Zooのサイトが詳しい。 技術的側