タグ

algorithmとAlgorithmに関するWatsonのブックマーク (300)

  • [CEDEC 2014]「ゲーム世界を動かすサイコロの正体 〜 往年のナムコタイトルから学ぶ乱数の進化と応用」 - 4Gamer.net

    [CEDEC 2014]ナムコ作品で見る乱数の歴史。「ゲーム世界を動かすサイコロの正体 〜 往年のナムコタイトルから学ぶ乱数の進化と応用」レポート ライター:箭進一 神奈川のパシフィコ横浜で行われた,ゲーム開発者向けイベントCEDEC 2014の最終日である2014年9月4日,「ゲーム世界を動かすサイコロの正体 〜 往年のナムコタイトルから学ぶ乱数の進化と応用」という講演が行われた。 登壇したバンダイナムコスタジオ HE技術部 加来量一氏 この講演のユニークな点は,旧ナムコの作品を「乱数」という視点から振り返るということだ。バンダイナムコスタジオ HE技術部のプログラマーである加来量一氏は,旧ナムコの初期作品50を解析し,それぞれの時代でどのような乱数が使われていたかを特定した。そこから見えてくる乱数技術改良の歴史を見ていくというのが,講義の主旨なのである。 1980年代のナムコアーケ

    [CEDEC 2014]「ゲーム世界を動かすサイコロの正体 〜 往年のナムコタイトルから学ぶ乱数の進化と応用」 - 4Gamer.net
  • バブルソートよりも非効率なソートアルゴリズムを探して ―― ストゥージソートとスローソート - Line 1: Error: Invalid Blog('by Esehara' )

    はじめに 恐らく、プログラマの中で配列内の要素を整列させたりするソートにお世話にならなかった人、というのは余り考えられないのではないでしょうか。しかし、とはいえ、大抵はソートを自前で実装せず、組み込み関数であったり、あるいは何らかのライブラリで済ませることが殆どだと思う。 車輪の再発明というよりも、バグとか、自分が考慮していなかった挙動などを避けるために、自前でソートを組むことは余りないのですが、とはいえ、自分なりにソートを実装して見ると、それがどういう特徴を持ったソートであるか、というのがわかりますし、また、ソートというのはいったいどういう操作で実現されるのかという洞察が深まってくるなあ、という実感があったりする。 なので、今回はあるソート二つについての話を書くのが趣旨です。 最高のアルゴリズムはある、だが最悪のアルゴリズムは何か 一口にソートといったところで、ソート自体にも銀の弾丸があ

    バブルソートよりも非効率なソートアルゴリズムを探して ―― ストゥージソートとスローソート - Line 1: Error: Invalid Blog('by Esehara' )
  • Throw away the keys: Easy, Minimal Perfect Hashing

    I know how to make and sell software online, and I can share my tips with you. Email | Twitter | LinkedIn | Comics | All articles CORRECTION: In this article, I incorrectly state that an acyclic finite state automata (aka a DAWG) cannot be used to retrieve values associated with its keys. I have since learned that it can. By storing in each internal node the number of leaf nodes that are reachable

  • 平方数かどうかを高速に判定する方法 - hnwの日記

    平方数とは、ある整数の平方(=二乗)であるような整数のことを言います。つまり、0,1,4,9,16,...が平方数ということになります。 ところで、与えられた整数が平方数かどうかを判定するにはどうすれば良いでしょうか。与えられた整数の平方根の小数点以下を切り捨て、それを二乗して元の数になるかどうか、というのがすぐ思いつく実装です。 <?php function is_square($n) { $sqrt = floor(sqrt($n)); return ($sqrt*$sqrt == $n); } しかし、平方根の計算は比較的重い処理です。もっと高速化する方法は無いのでしょうか。 多倍長整数演算ライブラリGNU MPには平方数かどうかを判定するmpz_perfect_square_p関数が存在します(PHPでもgmp_perfect_square関数として利用できます)。稿ではこの実装

    平方数かどうかを高速に判定する方法 - hnwの日記
  • アルゴリズムパズル

    大学で計算機科学を教える著者が、「パズルを解くことで、アルゴリズム的思考を鍛える」というコンセプトに基づいて、古今東西150の「アルゴリズム的」な数学パズルを収録。優れたアルゴリズム設計戦略と分析テクニックを通して、アルゴリズム的思考と柔軟な発想を育てます。また、近年では、入社試験にパズル的な難問を出す企業も増えており、その対策としても役立つ一冊です。 質問形式の序文 謝辞 パズル一覧 チュートリアルのパズル 編のパズル 墓碑銘パズル 第1章 チュートリアル 一般的なアルゴリズム設計戦略 魔方陣(Magic Square) nクイーン問題(The n-Queens Problem) 有名人の問題(Celebrity Problem) 数当てゲーム(Number Guessing)(別名20の扉(Twenty Questions)) トロミノ・パズル(Tromino Puzzle) アナグ

    アルゴリズムパズル
  • String repeat のアルゴリズムとパフォーマンス - hogehoge @teramako

    ES6になると、String.prototype.repeatのメソッドが追加されるわけだが、そのアルゴリズムとパフォーマンスを追ってみている。 ES6 String.prototype.repeat の仕様では以下の様な感じでシンプルな書き方をしている。 countが 0 より小さい、または 無限大である場合は RangeError count 0 ならば、空文字列 そうでない場合は、count回、文字列を繰り返して連結する 単純に実装すれば、以下の様な感じで済む。 String.prototype.repeat = function (count) { if (count < 0 || !Number.isFinite(count)) throw new RangeError(); var result = "", str = this; for (var i = 0; i < cou

    String repeat のアルゴリズムとパフォーマンス - hogehoge @teramako
  • 文法圧縮入門:超高速テキスト処理のためのデータ圧縮(NLP2014チュートリアル)

    言語処理学会第20回年次大会(2014/3)のチュートリアル講義資料です。 - 要旨 - 文法圧縮とは,入力テキストをよりコンパクトな文脈自由文法(CFG)に変換する圧縮法の総称である. 文法圧縮の強みは圧縮テキストを展開すること無く,検索等のテキスト処理を効率よく行える点にある. 驚くべきことにその処理速度は,元テキスト上での同じ処理を理論的に,時には実際にも凌駕する. また近年,ウェブアーカイブやログ,ゲノム配列等の大規模実データを高効率に圧縮できることで注目を集めている. しかしながら,文法圧縮についての初学者向けの解説資料はまだまだ少ない. そこでチュートリアルでは,文法圧縮の歴史的背景から最新動向までを幅広く紹介する. 具体的には文法変換アルゴリズム,圧縮テキスト上での文字列パターン検索,文法圧縮に基づく省メモリデータ構造等の解説を行う.

    文法圧縮入門:超高速テキスト処理のためのデータ圧縮(NLP2014チュートリアル)
  • 実践・最強最速のアルゴリズム勉強会 第二回講義資料(ワークスアプリケーションズ & AtCoder)

    最小カットを使って「燃やす埋める問題」を解く方法について、問題とソースコードつきで、まとめました。ニコニコ生放送「TopCoderでプログラムしてみた」2000回記念放送の資料です。

    実践・最強最速のアルゴリズム勉強会 第二回講義資料(ワークスアプリケーションズ & AtCoder)
  • コンピュータを進化させてきた偉大なるアルゴリズムまとめ

    By Kai Schreiber IT技術の進化のスピードには目を見張るものがありますが、それを支えているのはアルゴリズムと呼ばれる処理方法(技術的アイデア)です。さまざまなアルゴリズムの中でも、コンピュータの進化に革命的な影響をもたらしたとされる偉大なアルゴリズムは以下の通りです。 Great Algorithms that Revolutionized Computing http://en.docsity.com/news/interesting-facts/great-algorithms-revolutionized-computing/ ◆ハフマン符号(圧縮アルゴリズム) Huffman coding(ハフマン符号)は、1951年にデービッド・ハフマン氏によって開発されたアルゴリズム。頻出頻度の大小によって対戦するトーナメントツリーを考えて、ブロックごとに0と1の符号をもたせる

    コンピュータを進化させてきた偉大なるアルゴリズムまとめ
  • Deep Learning技術の今

    SSII2021 [TS2] 深層強化学習 〜 強化学習の基礎から応用まで 〜 6/10 (木) 9:30~10:40 講師:平川 翼 氏(中部大学) 概要: 深層強化学習はDeep Q-Network (DQN) の登場以降、様々なアプローチが提案されており、AlphaGoによる囲碁の攻略やロボットの自律制御などの様々な応用がなされています。チュートリアルでは、従来の強化学習の基的な考え方に触れ、深層学習を組み合わせた深層強化学習についての紹介を行います。また、時間の許す限り、最新の深層学習手法やAlphaGoの仕組み、深層強化学習の活用例を紹介します。

    Deep Learning技術の今
  • ガベージコレクションのアルゴリズムと実装

    ガベージコレクションのアルゴリズムと実装 中村 成洋, 相川 光, 竹内 郁雄(監修) 達人出版会 1,045円 (950円+税) GCについて初めて日語で書かれた技術書です。前半部分でアルゴリズムをわかりやすく解説し、後半は複数の言語処理系の実装を読み解いていきます。GCの理論と実際の利用方法を学べる書籍です。 内容紹介書は次の2つのテーマを扱います。 GCのアルゴリズム(アルゴリズム編)GCの実装(実装編)アルゴリズム編では、これまでに考案されてきた数多くのGCアルゴリズムの中から、重要なものを厳選して紹介します。伝統的かつ基的なものから、やや高度なアルゴリズムを選定しています。GC独特の考え方や各アルゴリズムの特性などを理解していただくのがアルゴリズム編の最大の目的です。 実装編では、筆者らが選定した言語処理系のGCを読み進めていきます。アルゴリズム編では理論をしっかり学び、実

    ガベージコレクションのアルゴリズムと実装
  • PageRankアルゴリズムを使った人事評価実験 | 株式会社サイバーエージェント

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

  • バンディットアルゴリズムによる最適化手法

    TOPICS Programming , Database 発行年月日 2013年07月 ISBN 978-4-87311-627-3 原書 Bandit Algorithms for Website Optimization FORMAT 書は、「多腕バンディット問題」と呼ばれる問題を解くためのアルゴリズムを、Webサイトの最適化という例をもとに解説する書籍です。 バンディットアルゴリズムに関する基的な知識について、既存研究についての理解を十分に得て、多腕バンディット問題についての資料を自力で読めるようにすることを目的としています。 A/Bテストのような2者択一ではなく、新しいアイデアの探索と、既存のアイデアから最大限の利益を引きだすという矛盾する2つの問題を解決するための一助となるでしょう。なお書はEbookのみの販売となります。 yuku_tさんによる書の英語版とバンディット

    バンディットアルゴリズムによる最適化手法
  • 高速文字列解析の"別"世界 - 気ままなブログ

    1月に「高速文字列解析の世界」を購入してから半年が経ちました。以下、文字列と呼びます。 高速文字列解析の世界――データ圧縮・全文検索・テキストマイニング (確率と情報の科学) 作者: 岡野原大輔出版社/メーカー: 岩波書店発売日: 2012/12/27メディア: 単行購入: 15人 クリック: 324回この商品を含むブログ (4件) を見る 全文検索として、「CSA」や「FM-Index」が紹介されていますが、「全文検索システム」を作るには、これらだけでは不十分です。なぜなら、以下のような特徴があるからです。 文書IDの識別が遅い。 各文書IDに出現する頻度を求めるのが遅い。 ちなみに、転置インデックス(or N-gramインデックス)を使った場合、これらの処理は高速ですね。 インデックスを圧縮しているのだからしょうがないとも考えられますが、作りたいですよねぇ、「全文検索システム」。こ

    高速文字列解析の"別"世界 - 気ままなブログ
  • Zopfli - naoyaのはてなダイアリー

    Googleが今日(米国時間2/28)、オープンソースの新しい圧縮アルゴリズムZopfliをローンチした。今の標準圧縮技術であるzlibライブラリに比べて5〜8%圧縮率が高いといわれ、また解凍アルゴリズムは今のWebブラウザが現用しているもので間に合うため、Webサーバがこれを採用すれば、データの伝送速度が上がり、Webをやや速くすることができるだろう。 Google が出力が deflate 互換の圧縮アルゴリズムをオープンソースにしたというので、ちょっとタイムラインで話題になっていた。圧縮アルゴリズム周りにはまってた頃から結構時間が経ってしまって色々忘れてしまったけど、少しニュースを捕捉してみようと思う。 Zopfli は deflate 互換なので、deflate アルゴリズムを解釈できる実装なら伸張できる。当然ブラウザが持ってる deflate 実装で伸張できるので、エンドユーザー

    Zopfli - naoyaのはてなダイアリー
  • TechCrunch | Startup and Technology News

    Limited space! Get on waitlist to be the first to know when tickets go live!

    TechCrunch | Startup and Technology News
    Watson
    Watson 2013/03/01
    また難読なものが、、、
  • 挑戦者求む!【アルゴリズム】最高のカレーを作れ! by The Essence of Programming 結城 浩│CodeIQ

    ■前説 弟子「師匠!秘伝のカレーをお教えください!」 師匠「秘伝のカレーはな、自分で見い出すものじゃ…」 弟子「せ、せめてヒントだけでも…」 師匠「カレーの《スパイス》には相性の良い《ブレンド》というものがある」 弟子「《スパイス》をうまく選ぶんですね!」 師匠「そうじゃ…そうすればポイントが高くなる」 弟子「ポイント?」 ■問題 たくさんの《スパイス》を使ってカレーを2皿作ります。 相性が良い《スパイス》をうまく選ぶとポイントが高くなります。 目標は「2皿のポイントの合計をできるだけ高くする」ように《スパイス》を選ぶことです。 ただし、作るときにはカレールールを守らなければなりません。 ■カレールール ・《スパイス》同士には相性の良い組があり、これを《ブレンド》と呼ぶ。 ・1組の《ブレンド》は2種類の《スパイス》で決まる。 ・《ブレンド》はブレンドリストという一覧表で与えられる。 ・1皿

    Watson
    Watson 2013/02/21
    とりあえず、たまねぎを最初にじっくりと炒めたい
  • 金融工学のための遺伝的アルゴリズム | オーム社eStore(β)

    システムトレーディングやアルゴリズムトレードと呼ばれる金融分野では、遺伝的アルゴリズム(GA)および遺伝的プログラミングGP(進化計算)が、応用され実用レベルまできている。書は、金融に興味のある実務者や初心者を対象としたGA/GPと金融工学についての入門実践書である。さらに金融工学のスタンダードツールとして確立されているMT4(Meta Trader4)を用いたGA/GPシステムを提供している。

  • 計量学習を用いた画像検索エンジンとアニメ顔類似検索v3について - デー

    まだgithubにはpushしていないのですが、さいきょうの組み込み型画像検索エンジンotamaに計量学習を用いて与えられたデータにあった画像間の距離関数を学習してそれを使って検索するというドライバを入れたので、先行的なデモとしてアニメ顔類似検索v3を作ってみました。 計量学習は、ベクトル間の距離の計り方を機械学習で決めるみたいな分野です。 アニメ顔類似検索v3 AnimeFace Search v3 - Otama LMCA_VLAD_HSV Driver randomボタンを押すと顔画像がランダムに出るのでどれかクリックするとそれをクエリに検索します。color weightは色の重みを調節するパラメーターで、1にすると色だけで検索します。0にすると形状やテクスチャだけで検索します。結果画像の上の数字は類似度的なもので、その横のgglは元画像をGoogle Search by Imag

  • "高速文字列解析の世界"を読んだ - 射撃しつつ前転 改

    高速文字列解析の世界というタイトルからは、どんな中身なのかあまり伝わってこないので、どんなことが書いてあるなのか、中身をちょっと紹介してみる。 1章、2章は概観や準備であり、3章からが番なのだが、Burrows Wheeler Transform、簡潔データ構造、ウェーブレットツリー、データ圧縮、全文検索、テキストマイニングのためのデータ構造、という章題になっている。 何に使うのかという目的ベースで考えると、このに載っているのは、データ圧縮、情報検索とテキストマイニングの基盤技術である(データ圧縮については基盤と言うよりはそのものだが)。ただ、このには当に基盤技術の話しか載っていないので、「こので情報検索はバッチリだぜ!!」というような訳にはいかない。テキストマイニングに関しても同様である。別途入門書を読むなりしないと、より高次元(ここでの高低は技術の積み重ねの高低であり、難し

    "高速文字列解析の世界"を読んだ - 射撃しつつ前転 改