タグ

Algorithmに関するpokutunaのブックマーク (79)

  • 連載:検索エンジンを作る|gihyo.jp … 技術評論社

    運営元のロゴ Copyright © 2007-2025 All Rights Reserved by Gijutsu-Hyoron Co., Ltd. ページ内容の全部あるいは一部を無断で利用することを禁止します⁠。個別にライセンスが設定されている記事等はそのライセンスに従います。

    連載:検索エンジンを作る|gihyo.jp … 技術評論社
  • 暗号に使える乱数と使えない乱数

    まず重要なポイントとして、擬似乱数のシードとなる真の乱数 (質問の場合は円周率のほうではN, 漸化式の方ではM) は十分に広い空間からランダムに選ばれなくてはなりません。 どんな擬似乱数生成器を使っていたとしてもシードが高々1億程度では総当たりで(比較的)簡単にシードがみつかってしまい生成される乱数が再現できてしまいます。 円周率の先頭100万桁のどこかから選ぶなどは問題外です。 シードはRSA/DSAなどの鍵長に合わせて 1000 bit 程度 (10進数で300桁程度) は欲しいかと思います。 質問にある円周率を擬似乱数として使う方法ですが、円周率の N桁目からの数列がある長さ与えられた時に N 自体を逆算したり, 次の出力を推測する高速な (Nのビット数の多項式時間で実行可能な) アルゴリズムは知られていないかと思います。 そのため N が十分に大きければある時点までの出力が攻撃者に

    暗号に使える乱数と使えない乱数
  • 『BrandSafe はてな』のアドベリフィケーションのしくみについてアドテク系勉強会で発表しました - 貳佰伍拾陸夜日記

    BrandSafe はてなで使われている技術についてアドテク系の勉強会で発表してきました. 『BrandSafe はてな』のアドベリフィケーションのしくみ from Lintaro Ina 機械学習っぽいことをやっていますが, その手の分野はわりと門外漢ということもあって, 世の中のもっと先進的なアプローチと比べると簡単で地味な感じになっています. 弊社ではこういった分野に強みを持つ方も積極採用しておりますので, 「もっとこうしろよ!」なんて思った方は是非とも応募をご検討ください. 株式会社はてな エンジニア職募集ページはこちら

    『BrandSafe はてな』のアドベリフィケーションのしくみについてアドテク系勉強会で発表しました - 貳佰伍拾陸夜日記
  • 捗るリコメンドシステムの裏事情(ハッカドール)

    第20回ステアラボ人工知能セミナー https://stair.connpass.com/event/109983/ 【講演動画】 https://youtu.be/Fgza_C6KphU 【講演タイトル】 機械学習モデルの判断根拠の説明 【講演概要】 講演では、機械学習モデルの判断根拠を提示するための説明法について紹介する。高精度な認識・識別が可能な機械学習モデルは一般に非常に複雑な構造をしており、どのような基準で判断が下されているかを人間が窺い知ることは困難である。このようなモデルのブラックボックス性を解消するために、近年様々なモデルの説明法が研究・提案されてきている。講演の前半ではまず近年の代表的な研究について紹介する。後半では、発表者の最近の研究として「ランダムフォレストの簡略化」と「モデル列挙」について紹介する。

    捗るリコメンドシステムの裏事情(ハッカドール)
  • TinySegmenter: Javascriptだけで実装されたコンパクトな分かち書きソフトウェア

    TinySegmenterはJavascriptだけ書かれた極めてコンパクトな日語分かち書きソフトウェアです。 わずか25kバイトのソースコードで、日語の新聞記事であれば文字単位で95%程度の精度で分かち書きが行えます。 Yahoo!形態素解析のように サーバーサイドで解析するのではなく、全てクライアントサイドで解析を行うため、セキュリティの 観点から見ても安全です。分かち書きの単位はMeCab + ipadicと互換性があります。 デモ 日語の文章を入力し、解析ボタンをクリックしてください。 ダウンロード TinySegmenterはフリーソフトウェアです. 修正BSDライセンスに従ってソフトウェアを使用,再配布することができます. Download TinySegmenter version 0.2 使い方 <script type="text/javascript" src

  • 手書き文字認識エンジン Tomoe

    tomoe-0.6.0をリリースしました。 tomoe-0.5.xからの変更点: 簡体字中国語辞書の追加 (Red Hatの技術者の方々の成果です。ありがとうございました) 日語辞書の拡張(JIX 0208 第2水準のサポート) ロケールに基づいてデフォルト辞書を自動選択 ただし、現在のところjaとzh_CNのみで、それ以外のロケールで使用すると辞書が有効にならず、またオンデマンドでの辞書の変更も実装されていません。起動時にロケールをセットするようにして下さい。 $ LANG=ja uim-tomoe-gtk $ LANG=ja scim-tomoe libtomoe-gtk を tomoe-gtk に名称変更 tomoe_gtk_init() と tomoe_gtk_quit() を追加 互換性確保のためにtomoe_gtk_window_new()で自動的にtomoe_gtk_i

  • Zinnia: 機械学習ベースのポータブルな手書き文字認識エンジン

    Zinnia: 機械学習ベースのポータブルなオンライン手書き文字認識エンジン [日語][英語] Zinniaは機械学習アルゴリズム SVM を用いたポータブルで汎用的な オンライン手書き文字認識エンジンです。Zinniaは組み込みの容易さと汎用性を高めるために、 文字のレンダリング機能は持っていません。Zinniaは文字のストローク情報を座標の連続として受け取り、 確からしい順にスコア付きでN文字の認識結果を返すだけに機能を限定しています。 また、認識エンジンは完全に機械学習ベースであるために、文字のみならずユーザの任意のマウス・ペンストロークに対して任意の文字列をマッピングするような認識エンジンを小コスト作成することができます。 主な特徴 機械学習アルゴリズムSVMによる高い認識精度 ポータブルでコンパクトな設計 -- POSIX/Windows (C++ STLのみに依存) リエント

    pokutuna
    pokutuna 2013/03/13
    手書き
  • DPの話 - aizuzia

    この記事は Competitive Programming Advent Calendar のために作成されました。 「DP (Dynamic Programminng: 動的計画法) がよく分からない」というつぶやきをよく目にします。何から何まで分からないというわけではないけど、 「こういうDPをすれば解けるよ」と説明されれば理解できるけど、一からそれを思い付けない メモ再帰だと書けるけどループだと書けない、またはその逆 とかいう。 この記事は、DPという技法をより深く理解する手助けをすることを目的として書かれています。これを読めばどんなDPの問題もさくさく解ける・・・ことはないと思いますが、あんまり悩まずに実装できるようになるぐらいの効果はあるんじゃないかなと思います。想定する読者層は、簡単なDPの問題をいくつか解いたことがある、TopCoderレーティング 1500 未満ぐらいの人と

    DPの話 - aizuzia
  • 文字列曖昧検索によるマルウェアバイナリ解析

    1. AVTokyo 2012 ⽂文字列列曖昧検索索による マルウェアバイナリ解析 株式会社プリファードインフラストラクチャー 丸⼭山史郎郎,柏原秀蔵 NTTセキュアプラットフォーム研究所 折原慎吾、朝倉浩志 2012年年11⽉月  17⽇日 2. 発表者⾃自⼰己紹介 l  まるまる / @marugorithm l  柏原秀蔵 / @suma90h l  研究開発エンジニア l  ソフトウェアエンジニア l  アルゴリズム l  分散システムなど l  ⽂文字列列処理理が好物 l  バイナリエディタ完成してない l  職業リバースエンジニアではない 2 3. 70,000,000 60,000,000 50,000,000 背景 40,000,000 30,000,000 20,000,000 10,000,000 0 l  新しいマルウェアは相変わらず増えている(う

    文字列曖昧検索によるマルウェアバイナリ解析
  • 類似度と距離 - CatTail Wiki*

    2つのデータが似ている度合いを,類似度の大きさや距離の近さといった数値にしてあらわすことで,クラスタ分析や,k-近傍法,多次元尺度構成法(MDS)をはじめとするいろいろな分析を行うことが可能となる. ここでは,よく知られている類似度や距離について述べる. 類似度という概念は,2つの集合の要素がまさにどれだけ似ているかを数量化したものであり,距離とは,要素同士の離れ具合,従って非類似度とちかい概念と考えてもよい. 参考までに数学における距離の概念の定義を示すと, 距離空間の定義 Sを1つの空でない集合とし,dをSで定義された2変数の実数値関数 d(SxS) → R が,以下の4条件(距離の公理) D1 : (非負性) 任意のx,y∈Sに対して d(x,y)≧0. D2 : (非退化性) x,y∈Sに対し d(x,y)=0  ⇔ x=y. D3 : (対称性) 任意のx,y∈Sに対して d(x

    類似度と距離 - CatTail Wiki*
  • あなたの知らないハッシュテーブルの世界

    Please select the category that most closely reflects your concern about the presentation, so that we can review it and determine whether it violates our Terms of Use or isn't appropriate for all viewers.

    pokutuna
    pokutuna 2012/12/06
    おもしろい
  • へ、変態っ!!読めないからやめてっ!bit使ったデータ構造・アルゴリズム実装集 - Negative/Positive Thinking

    この記事はCompetitive Programming Advent Calendar Div2012の2日目の記事です。 12月20日追記: Darseinさんが20日目の記事で、ビット演算についての詳しい説明を紹介してくださっています!必読ですね!!!!:) はじめに Y^´       ∨// /,∠ ,. ' /l/// /, ' , '/ ! | l }´     〈 〉    変  〈/ , ' // ̄`>< /// /// _,.=‐|'"´l l〈  変  / 〈    態.   ∨, '/l|   ,.'-‐、`//`7/  /''"´__ | ハ l丿  態   { 人)   ! !   (/!  |ヽ〈_ ・.ノ〃  〃 /  '/⌒ヾ.! ,' !く   ! !  (_ ト、__/   ヽ、_,.イ    /l l |:::::::```/:::::/...´..

    へ、変態っ!!読めないからやめてっ!bit使ったデータ構造・アルゴリズム実装集 - Negative/Positive Thinking
  • JPEG方式の画像圧縮

    JPEG方式の画像圧縮 JPEGとは JPEGとは JPEGは Joint Photographic Experts Group が定めたディジタル静止画像の圧縮符号化方式です。Webやディジタルカメラの標準的な圧縮方式として、よく利用されています。 JPEGは多くの技術を統合した高度な圧縮技法を採用しています。 JPEGの圧縮技術 JPEGには多くの圧縮技術が含まれています。 まず色情報をRGBから YCbCr に変換します。 次に、画素全体を8*8 画素のブロック単位に分解します 各ブロックにDCT(周波数解析)を行い、結果の値を量子化します。 量子化した値をジグザグスキャンし、ランレングスコーディングを行います。 直流成分はDPCMで圧縮します。 これをハフマンコードで符号化し、ブロックの順に出力します。 JPEG圧縮の流れ JPEG圧縮は以下のように行われます。

    pokutuna
    pokutuna 2012/11/29
    おもしろい
  • アスペ日記

    最近長い間記事を書いていなかったのですが、諸事情によりこのアカウントにはケチがついた(もう5年前のこと)ので、ブログをやめることにしました。 どこかでブログを始める人もいるでしょう。 共通テストが終わりましたね。 というわけで、フランス語を解いてみました。 結果は182点。 ちょっと落としすぎです。 試験番なら見直しをするので、もう少しマシだったかもしれません(言い訳)。 さて、ここからが題です。 問5を見てください。 下線部の発音が他の三つと違うものを選ぶ問題です。 それぞれの下線部分前後の発音は次のようになります。 ① /bjɛ̃.n‿el.ve/ ② /mi.sjɔ̃ ɛ̃.pɔʁ.tɑ̃.t/ ③ /ʒ‿ɑ̃.n‿e/ ④ /ɑ̃ plɛ.n‿ɛʁ/ 正解として示されているものは②です。 確かに、リエゾンによる/n/が生じているかどうかという視点では、リエゾンのない②が仲間外れ

    アスペ日記
    pokutuna
    pokutuna 2012/11/09
    CRF
  • ニューラルネットの逆襲 - Preferred Networks Research & Development

    岡野原です。Deep Learningが各分野のコンペティションで優勝し話題になっています。Deep Learningは7、8段と深いニューラルネットを使う学習手法です。すでに、画像認識、音声認識、最も最近では化合物の活性予測で優勝したり、既存データ・セットでの最高精度を達成しています。以下に幾つか例をあげます。 画像認識 LSVRC 2012 [html]  優勝チームスライド [pdf], まとめスライド[pdf] Googleによる巨大なNeuralNetを利用した画像認識(認識として有名)[paper][slide][日語解説] また、各分野のトップカンファレンスでDeep Learningのチュートリアルが行われ、サーベイ論文もいくつか出ました。おそらく来年以降こうした話が増えてくることが考えられます。 ICML 2012 [pdf] ACL 2012 [pdf] CVPR

    ニューラルネットの逆襲 - Preferred Networks Research & Development
  • Cute Algorithm

    Cute Algorithms! 稲葉 一浩 at #spro12 SLOWEST SORT まずは準備運動です! Thanks to: @y_benjo @rng_58 @hos_lyric @oxy @xhl_kogitsune @args1234 アルゴリズムと言えば! ソート! Radix Sort Merge Sort Bubble Sort Heap Sort Insertion Sort Quick Sort Shell Sort ソートと言えば! Radix Sort Merge Sort Bubble Sort Heap Sort Insertion Sort Quick Sort Shell Sort O(n log n) ! では、逆に・・・ ソートの「遅さの限界」は? 一番たくさん大小比較を実行するソート法は? 最遅ソート!? 「最も遅い」ソート法は? • よくある

  • Evernote Synchronization via EDAMを読みました - soutaroブログ

    Documentation - Evernote Developersの「Synchronization spec」の文書です。こういうWebサービスとクライアントアプリがいて、データ同期をとるようなアルゴリズムって、別に難しいことはないような気もしますが、一方で綺麗に書くためのベストプラクティスってなかなか見つからないような気がします。まあ力技でなんとかなるとも思いますが、それはそれとして上手くやる方法をずっと探していました。例えばgitとかちょっと機能が豊富すぎるし、Unisonとかそれはまたちょっと違うし。 こないだ気づいたのですが、Evernoteってローカルなキャッシュが存在することがかなり前提のサービスですよね。で、APIのドキュメントを見てみたらそんな感じのドキュメントがありました、という話。今となってみれば、けっこう当たり前の話ですよねーという感じだったので、一年くらい読む

    Evernote Synchronization via EDAMを読みました - soutaroブログ
    pokutuna
    pokutuna 2012/08/18
    Syncのほうほう
  • システム・エンジニアの基礎知識

    静岡理工科大学情報学部コンピュータシステム学科菅沼研究室のページです.主として,プログラミング言語( HTML,C/C++, Java, JavaScript, PHP, HTML,VB,C# ),及び,システムエンジニアとしての基礎知識(数学,オペレーションズ・リサーチやシステム工学関連の手法)を扱っています.

  • パスワードのハッシュに使うべきPBKDF2、Bcrypt、HMACの各言語実装一覧 - このブログはURLが変更になりました

    いつも忘れるのでメモ。 元ネタ:Are you sure SHA-1+salt is enough for passwords? 日語訳:「SHA-1+salt」はパスワードに十分だと思いますか? こうしたスキームをいくつか選ぶことができる: PBKDF2 http://en.wikipedia.org/wiki/PBKDF2 Bcrypt http://www.openwall.com/crypt/ HMAC http://en.wikipedia.org/wiki/HMAC 各選択肢はそれぞれの強みと弱みがあるが、これらは全てSHA1+saltのような汎用ハッシュのインプリメンテーションより、はるかに強力だ。 ということで、各言語での実装を調べてみた。実装が正しいかは調べてない。別実装もあるかもしれない。 言語 PBKDF2 Bcrypt HMAC Java Bouncy Castl

    パスワードのハッシュに使うべきPBKDF2、Bcrypt、HMACの各言語実装一覧 - このブログはURLが変更になりました
  • モバイルゲームの歴史を年代別にご紹介します。モバイルゲームの成長と今後について詳しく解説していきます。

    モバイルゲーム 物凄い勢いで勃興したモバイルゲーム業界は、いろいろな課題や問題に直面しながらも巨大化し、今日の時点でのスマートフォン向けゲームの市場へと継承されていきます。 モバイルゲーム歴史 2001 Javaアプリと3Dゲームの登場 Javaが利用できるようになったことにより、ダウンロード型のゲームが供給できるようになりました。 2002 携帯電話端末の大容量化・3D化競争 Java搭載携帯電話端末が登場してからごく僅か1年の間に、アプリのサイズに関しては10倍に広大化し、表現方法も2Dから3Dにシフトし始めました。J-PHONEは『ゼビウス』や『スペースハリアー』などといった昔のアーケードゲームを、ドコモはSIMCITYなどパソコンで世界的規模のヒットを飛ばしたゲームを主力商品としていました。 2003 モバイルゲームの一般化 メモリの制限が厳しいJava仮想マシン上ではなく、OS