タグ

algorithmに関するYasSoのブックマーク (95)

  • AP通信ハッキング被害によりtwitterに即反応するアルゴリズムの存在とフラッシュトレードの影響力が明らかに : 市況かぶ全力2階建

    自民党衆院議員の河村建夫さん(81)、よりによって社名ロンダリング4回で怪しいIR連発中のクオンタムソリューションズの会長に就任へ 自社株を担保に借金しているENECHANGE(エネチェンジ)筆頭株主兼社長の城口洋平さん、粉飾決算疑惑による株価下落で追証を喰らい保有株の一部が強制決済される

    AP通信ハッキング被害によりtwitterに即反応するアルゴリズムの存在とフラッシュトレードの影響力が明らかに : 市況かぶ全力2階建
  • 朝日新聞デジタル:プロ野球日程を瞬時に計算 数学者がソフトを開発 - スポーツ

    プロ野球の移動距離を短くする計算例  【藤島真人】1カ月以上かかるプロ野球の日程づくりが、あっという間にできるソフトウエアを数学者が開発した。日程を工夫するだけで、球団の移動距離を2割以上減らすこともできるという。シーズン開幕を控え、彼らの計算式と現実とのギャップはいかに。  開発したのは、国立情報学研究所の河原林健一教授と星野リチャード・前外来研究員。2人は効率の良い鉄道網や電気回路の設計などにも応用できる「グラフ理論」と呼ばれる分野の研究者だ。  ソフト開発は、3年前の3月、カナダからリチャードさんが来日し、たまたま千葉ロッテの拠地の近くに住んだことがきっかけ。鉄道網のような「グラフ」を球団の移動に置き換え、最適な日程をはじき出せないかを考えた。 続きを読むこの記事の続きをお読みいただくには、会員登録が必要です。登録申し込みログインする(会員の方) 無料会員登録はこちら朝日新聞デジタ

  • 定期的に繰り返し実行する簡単ではないお仕事 - やねうらおブログ(移転しました)

    いやー、この問題は当に難しい。難しすぎて、どうやって解決すればいいかいまだによくわからない。わからないので、ここに書いてみる。 最初、とあるお客さんのために「ひよこの餌やりプログラム(仮)」を作っていたんだ。開始ボタンを押すとひよこの餌が出てくる。たったそれだけのプログラム。 今回は、これを「定期的に実行する機能が欲しい」と言われた。 この要望を実現するのがすこぶる難しかったんだ。 「やねうらおってそんなプログラムすら書けないの?老害なの?」 とか言わないで欲しい。この問題、当に難しいんだよ! ■ 1度目のひよこの全滅 まず、この要望に沿って、私の会社のプログラマが当初、次のようなダイアログをつけたわけだ。 繰り返し実行のところにチェックを入れた場合、ここで指定された時間後にも繰り返し実行する。単位は分で指定する。1日ならば60×24 = 1440を指定する。そうすると、ひよこの餌やり

  • データマイニングで使われるトップ10アルゴリズム - データサイエンティスト上がりのDX参謀・起業家

    2006年のデータマイニング学会、IEEE ICDMで選ばれた「データマイニングで使われるトップ10アルゴリズム」に沿って機械学習の手法を紹介します(この論文は@doryokujin君のポストで知りました、ありがとうございます!)。 必ずしも論文の内容には沿っておらず個人的な私見も入っていますので、詳細は原論文をご確認下さい。また、データマイニングの全体観をサーベイしたスライド資料がありますので、こちらも併せてご覧下さい。 データマイニングの基礎 View more presentations from Issei Kurahashi 1. C4.5 C4.5はCLSやID3といったアルゴリズムを改良してできたもので、決定木を使って分類器を作ります。決定木といえばCARTが良く使われますが、CARTとの違いは以下のとおりです。 CARTは2分岐しかできないがC4.5は3分岐以上もできる C

    データマイニングで使われるトップ10アルゴリズム - データサイエンティスト上がりのDX参謀・起業家
  • 4chan BBS - Genius sorting algorithm: Sleep sort

    1 Name: Anonymous : 2011-01-20 12:22 Man, am I a genius. Check out this sorting algorithm I just invented. #!/bin/bash function f() { sleep "$1" echo "$1" } while [ -n "$1" ] do f "$1" & shift done wait example usage: ./sleepsort.bash 5 3 6 3 6 3 1 4 7 2 Name: Anonymous : 2011-01-20 12:27 >>1 Oh god, it works. But I don't like to wait 218382 seconds to sort '(0 218382)

  • サルでもわかる顔検出2 - 科学信仰

    これは「サルでもわかる顔検出の原理」の続きです。 群盲象を撫でる。 Kidney International - Figure 1 for article: The elephant in uremia: Oxidant stress as a unifying concept of cardiovascular disease in uremia 前回、顔検出を実用レベルに引き上げたViola&Jonesの論文を簡単に解説したけど、Violaらが論文にあげた三つの貢献のうちadaBoostについては、ややこしいということであいまいにしか書いてなかった。 なので今日はそのadaBoostアルゴリズムについて解説してみたいと思う。 コンピュータに画像から顔を検出させるという課題はとても難しい。 人間がどうやって視野の中から顔を検出してるのか、その機構自体が全然判ってないんだから、真似ることも

  • サルでもわかる顔検出の原理 - 科学信仰

    顔検出機能はここ数年で急激に普及してデジカメとかケータイとかにフツーに入るようになったり、Google画像検索のオプションに入ってたりして、すっかりコモディティ化しちゃってるけど、ちょっと前まではすごい困難で実用化に手を出すなんてとてもとてもな技術だったんだよね。 2001年のViola & Johnsの論文*1で超高速&超正確な検出アルゴリズムが発表されるまでは。 これの画期的だった点は非力なパソコン(とか現在のケータイ内蔵CPUとか)で画像中からリアルタイムに顔を検出できたことなんだ。 キモは3点。 Integral-ImageによるHaar-like検出器の高速演算 AdaBoostによる検出能力の強化 多段フィルタ(cascade)による非顔領域の高速排除 具体的にどれがViolaらのオリジナルの仕事なのかはよく知らないけれど。 少なくとも一個目と三個目はそうな気がする。 Inte

    サルでもわかる顔検出の原理 - 科学信仰
  • 7歳の娘に「ループ処理」の課題を与えてみた:プログラミンで自由研究 - builder by ZDNet Japan

    文部科学省が公開した若年層向け開発ツール「プログラミン」を使い、7歳の女の子がプログラムに挑戦します。今回は、実際にプログラムを作成している様子をお届けします。 課題を与えた父親(筆者)は、請われた場合のみアドバイスをするのですが、女の子が開発したプログラムは――前後編でお送りする企画の後編です。(編集部) 前編:今なら間に合う!?「プログラミン」で夏休みの自由研究 ソースコードは生きた教材 「プログラミン」には豊富な作例(おてほん)が用意され、プログラミングの参考資料として利用できる。17種類ある「きほんのおてほん」では、28あるパーツのほぼすべてが網羅され、基的な活用方法を示してくれる。完成したプログラムの形で提供されるため、プログラムを構成するパーツ(ミギクルリンなどの「プログラミン」)の働きを目で確認しながら理解できるしくみだ。 よく考えられていると感じたのは、「このプログラムを

    7歳の娘に「ループ処理」の課題を与えてみた:プログラミンで自由研究 - builder by ZDNet Japan
  • Flashでグニグニ曲がるUIを作る方法 - しっぽのブログ

    前にtwitterアイコンやpixivの画像をプヨプヨすることのできるpuyopixというコンテンツを作りました。 Puyopix -プヨプヨにするよ- このページの右上にあるブログパーツもこれです。 解説をやると言っておいて、ずっと書いていなかったので書きます。 あんまりコードだらけにしても面白くないし、方法の概念的なものを図を交えながら説明していきます。 画像をプヨプヨする方法の概要と、それをUIに応用する方法です。 プヨプヨの実装 骨組みを作る 格子状バネという、わりと普通の実装をしています。 格子状に並んだ各点をばねのように接続します。 バネはお互いの点の距離が一定になるように、2つの点に逆方向の力をかけます。 フックの法則というのがあって、「F = -kx」とかいう式もありますが、プログラムとしての感覚は「来あるべき距離の方向へ、ズレた分の○%だけ加速度をつける」って感じになり

  • yebo blog: クヌース教授は間違っていた

    2010/06/15 クヌース教授は間違っていた Slashdotによれば、この数十年間、クヌース教授をはじめとするコンピュータ科学者が最適としてきたアルゴリズムを10倍高速にする方法をPoul-Henning Kamp (PHK) というハッカーが見付けたという。その論文タイトルは「You're Doing It Wrong (あなた達のやっている事は間違っている)」で、ACM Queueに掲載されている。別にクヌース教授の考えが間違っているわけではなく、アルゴリズム的には正しいが、実用レベルでは、OSには仮想メモリがあり、VMと干渉しないようにすれば簡単に高性能なシステムが作れる。従来の考え方はモダンな計算機を考慮に入れていないので、現実的には不適合を起こしている。具体的にはヒープにBツリーの要素を取り込んだBヒープというデータ構造を使うことで、バイナリヒープの10倍のパフォーマンスを

    YasSo
    YasSo 2010/06/16
    「ヒープにBツリーの要素を取り込んだBヒープというデータ構造を使うことで、バイナリヒープの10倍のパフォーマンスを出せる」
  • iVoca で単語の難易度を取得する API を試験リリース(項目反応理論) - 木曜不足

    英単語タイピングゲーム iVoca にて、単語の難易度を取得する API を試験的に提供開始しました。 http://ivoca.31tools.com/api/wordlevel?word=[単語] にアクセスすると、単語の難易度データを JSON 形式で返します 指定できる単語は言語に寄りません。英語に限らずイタリア語、フランス語、スペイン語、ドイツ語、…… API が返す単語は iVoca の公開ブックに含まれるものに限ります。また、難易度を求めるには、その単語の学習データがある程度たまっている必要があります 返値の項目 level 与えられた単語の難易度 (0.0〜9.9) reliability 難易度の信頼性(1〜10、難易度の推定に用いることができたデータが多いほど高い) sense 意味 book_url 単語が含まれるブックの URL name 単語が含まれるブック名 例

    iVoca で単語の難易度を取得する API を試験リリース(項目反応理論) - 木曜不足
  • iVoca の履歴から単語の難易度を計算 - 木曜不足

    まずは iVoca のデータを使って自分で IRT で計算してみるところからかな。 というわけで、ユーザの学習履歴から単語の難易度を求めるコードを書いてみた。 ソーシャルっぽい! 残念ながら IRT(項目反応理論) について書かれた文献を持っていないのだが、id:niam さんの SocialDict についてのプレゼン資料 のおかげで、「2値のラッシュモデル+逐次勾配降下」なら単純なロジスティック回帰であることがわかるので、簡単に実装できた。 しかも IRT の特徴ベクトルが疎であることを用いると、非常にシンプルなコードで済む。 # data には [ユーザID, 単語ID, 知ってる(1)/知らない(0)] を格納。 # users/words は各IDをキー、重み(ユーザの語彙力/単語の難しさ)を値とするHash 100.times do |k| eta = 1.0 / (k + 1

    iVoca の履歴から単語の難易度を計算 - 木曜不足
  • 経路探索アルゴリズムの「ダイクストラ法」と「A*」をビジュアライズしてみた - てっく煮ブログ

    as詳解 ActionScript 3.0アニメーション ―衝突判定・AI・3DからピクセルシェーダまでFlash上級テクニック を読んでいて、経路探索のアルゴリズムで A* が取り上げられていました。A* については、いろいろ検索して調べたりもしたのですが、やっぱりに書いてあると理解しやすいですね。せっかくなので自分流に実装してビジュアライズしてみました。ダイクストラ法まずは A* の特別なケースでもあるダイクストラ法から見ていきます。クリックすると探索のシミュレーションが開始します。スタート地点(S)からゴール(G)への探索が始まります。色がついたところが「最短経路が決定した場所」です。スタート地点から少しずつ探索が完了していきます。半分ぐらい完了しました。まだまだ進みます。最後まで終わりました。最短経路を黒色矢印で表示しています。ダイクストラ法は、スタート地点から近いノード(=マス

  • Learning to Hash! 最新 Locality sensitive hashing 事情 - 武蔵野日記

    高速に類似度計算をしたい場合、典型的に使われるのは Locality sensitive hashing (LSH)という技術であり、元々距離が近いインスタンス同士はハッシュ値が近くなるようにハッシュ関数を作ることで高速に類似度を計算したりできるというお話なのだが、最近 Semantic hashing や Spectral hashing、また Kernelized LSH という手法が登場して盛り上がりつつあるところ、同じグループの人がもっといいのを出しました、ということらしい。ちなみに情報推薦とか画像検索とか大規模クラスタリングとか、いろいろな分野で高速な類似度計算の応用例がある。 そういうわけで、今日は manab-ki くんが Brian Kulis and Trevor Darrell. "Learning to Hash with Binary Reconstructive

    Learning to Hash! 最新 Locality sensitive hashing 事情 - 武蔵野日記
  • 日本テレビ東京で学ぶMeCabのコスト計算 | mwSoft

    今回はこの言葉の解析をMeCab+NAIST辞書にお願いして、結果を分析することで、MeCabが行っているコスト計算について勉強してみたいと思います。 とりあえず実行してみる さっそくMeCabに「日テレビ東京」を解析してもらいましょう。 $ echo 日テレビ東京 | mecab 日 名詞,固有名詞,地域,国,*,*,日,ニッポン,ニッポン,, テレビ東京 名詞,固有名詞,組織,*,*,*,テレビ東京,テレビトウキョウ,テレビトーキョー,, EOS 「日 | テレビ東京」と分けていますね。視聴率的には負けていますが、NAIST辞書的には日テレビよりもテレビ東京が優先されたようです。 ちなみに「フジテレビ東京」ではどうなるでしょうか。 $ echo フジテレビ東京 | mecab フジテレビ 名詞,固有名詞,組織,*,*,*,フジテレビ,フジテレビ,フジテレビ,, 東京 名詞,

  • アルゴリズムの紹介

    ここでは、プログラムなどでよく使用されるアルゴリズムについて紹介したいと思います。 元々は、自分の頭の中を整理することを目的にこのコーナーを開設してみたのですが、最近は継続させることを目的に新しいネタを探すようになってきました。まだまだ面白いテーマがいろいろと残っているので、気力の続く限りは更新していきたいと思います。 今までに紹介したテーマに関しても、新しい内容や変更したい箇所などがたくさんあるため、新規テーマと同時進行で修正作業も行なっています。 アルゴリズムのコーナーで紹介してきたサンプル・プログラムをいくつか公開しています。「ライン・ルーチン」「円弧描画」「ペイント・ルーチン」「グラフィック・パターンの処理」「多角形の塗りつぶし」を一つにまとめた GraphicLibrary と、「確率・統計」より「一般化線形モデル」までを一つにまとめた Statistics を現在は用意していま

  • PHPを使うなら理解しておきたいアルゴリズム - 抽出・ソート・結合・集計 - いろいろ解析日記

    PHPでのアルゴリズムの書き方の覚書です。 目次 説明に使用するデータ構造 抽出 ソート PHPでの配列のソート ソートの例(五十音順) ソートの例(数値順) 結合 集計 関連記事 説明に使用するデータ構造 アルゴリズムの説明のために、以下のような配列の配列を使います。 $countries = array(); $countries= array( name => "日", currency => "JPY", population => 127156000 ); $countries= array( name => "フランス", currency => "EUR", population => 65073482 ); $countries= array( name => "スペイン", currency => "EUR", population => 44904000 ); $co

    PHPを使うなら理解しておきたいアルゴリズム - 抽出・ソート・結合・集計 - いろいろ解析日記
  • 相対好み評価について書き直してみた。 - シイサイドの日記

    前回との違い 1つのエントリーに情報をまとめ、新しく順位付け手法を追加。 前回のエントリーはこちら 相対好み評価とは 相対好み評価とは、その作品がどのくらい視聴者に好まれているかを、ユーザーが行った他の作品との比較評価データを元に数値化する評価方式。 比較評価とは、作品Aと作品Bを評価する時、「AがBより好み」と「BがAより好み」のどちらかで評価する事。 以下、数値化された評価を評価値と呼ぶ。 以下、評価を行うユーザーをレビュアーと呼ぶ。 評価値は何を意味するのか 作品Aが、作品Bより評価値がN点高い場合、作品AとBを比較評価した時、作品Aのほうが好みだと答えるレビュアーの割合がBのよりM%高いと推定される。のような事を表す。 例えるなら、ドラゴンボールの戦闘力を対数表記したもの。が近いかもしれない。 採点方式との違い レビュアーが0〜10点の間で投票を行い、その平均を評価値にする採点方式

    相対好み評価について書き直してみた。 - シイサイドの日記
  • [P2P]位置情報を数値1つで表す手法「Z-ordering」 - Tomo’s HotLine

    IT技術を中心に、暮らしに役立つ情報からクラシック音楽の解説まで気軽に情報発信しています。 WEBサイトはhttp://toremoro21.world.coocan.jp/ Twitterは@toremoro21です。 □はじめに DHTやSkipgraphなどの技術が注目されるとともに、位置情報をP2Pで扱いたいという要望がでてきている。だがDHTやSkipgraphは1次元の数値で各ノードが扱う情報範囲を扱うため、位置情報など多次元の情報を扱うのには、当初は向いてないと見られていた。しかしあるテクニックを使うとそれは一発で解消する。それがZ-orderingである。なお、このZ-orderingは位置情報を扱えるP2PミドルウェアPIAXでも採用されている。 □簡単な例 多次元を1次元で表すにはどうすればよいのだろうか?まずここで一例を挙げてみる。 例えば、2次元空間においてx={1

    [P2P]位置情報を数値1つで表す手法「Z-ordering」 - Tomo’s HotLine
    YasSo
    YasSo 2009/08/14
    多次元を1次元で表す手法
  • どのようにして一番右の1のビット位置を求めているのか? - ザリガニが見ていた...。

    一番右端の立っているビット位置を求める「ものすごい」コード - 当面C#と.NETな記録 「ものすごい」コードなのだけど、凄過ぎて自分には全くチンプンカンプン...。それでも、どの辺が凄いのか、ちゃんと理解したい。シンプルなコードから順を追って確かめてみた。 public static int GetNumberOfTrailingZeros( long x ) { if ( x == 0 ) return 64; ulong y = ( ulong ) ( x & -x ); int i = ( int ) ( ( y * 0x03F566ED27179461UL ) >> 58 ); return table[ i ]; } static int[] table; table = new int[ 64 ]; ulong hash = 0x03F566ED27179461UL; for

    どのようにして一番右の1のビット位置を求めているのか? - ザリガニが見ていた...。