タグ

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

  • 手続き型のダンジョン生成アルゴリズム | プログラミング | POSTD

    この投稿では、以前に TinyKeepDev が こちら で述べたランダムなダンジョンを生成する技法について説明しようと思います。元の投稿に比べて、もう少し具体的に話を進めるつもりです。まずは、以下に示したアルゴリズムの一般的な動作をご覧ください。 部屋の生成 はじめに、幅と高さを持つ部屋を円の中にランダムに配置しましょう。TKdevのアルゴリズムは、各部屋のサイズを生成するのに正規分布を用いています。これは一般的にとてもいいアイデアです。なぜかと言うと、これによってより多くのパラメータを扱うことができるようになるからです。幅/高さの平均と標準偏差間の異なる比率を選ぶと、通常は見た目の違うダンジョンとなります。 ここで実行すべき関数は getRandomPointInCircle です。 function getRandomPointInCircle(radius) local t = 2

    手続き型のダンジョン生成アルゴリズム | プログラミング | POSTD
  • Googleのバグ予測アルゴリズムをGitBucket Pluginに実装してみた - Qiita

    Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article?

    Googleのバグ予測アルゴリズムをGitBucket Pluginに実装してみた - Qiita
    Watson
    Watson 2015/09/29
    Githubにも欲しい機能( ˘ω˘)
  • Google、新しい圧縮アルゴリズム「Brotli」公開

    Googleは9月22日(米国時間)、「Google Open Source Blog: Introducing Brotli: a new compression algorithm for the internet」において、新しい圧縮アルゴリズムおよびその実装系「Brotli」を発表した。実装系はApache License Vresion 2.0の下、オープンソース・ソフトウェアとして公開されている。 Googleは2年前にZopfliと呼ばれる圧縮アルゴリズムを公開している。ZopfliはDeflateと互換性を持っていたが、今回発表されたBrotliはまったく新しいデータフォーマットを採用しており、Zopfliと比較して20%から26%ほど圧縮率の引き上げに成功している。また、BrotliはzlibのDeflate実装と同程度の速度を実現しているほか、Canterbury co

  • Redirecting…

    Redirecting… Click here if you are not redirected.

  • 画風を変換するアルゴリズム - Preferred Networks Research & Development

    Deep Neural Networkを使って画像を好きな画風に変換できるプログラムをChainerで実装し、公開しました。 https://github.com/mattya/chainer-gogh こんにちは、PFNリサーチャーの松元です。ブログの1行目はbotに持って行かれやすいので、3行目で挨拶してみました。 今回実装したのは”A Neural Algorithm of Artistic Style”(元論文)というアルゴリズムです。生成される画像の美しさと、画像認識のタスクで予め訓練したニューラルネットをそのまま流用できるというお手軽さから、世界中で話題になっています。このアルゴリズムの仕組みなどを説明したいと思います。 概要 2枚の画像を入力します。片方を「コンテンツ画像」、もう片方を「スタイル画像」としましょう。 このプログラムは、コンテンツ画像に書かれた物体の配置をそのま

    画風を変換するアルゴリズム - Preferred Networks Research & Development
  • Atomの重要なプリミティブの最適化 | POSTD

    これまで数カ月にわたり、私たちはAtomのパフォーマンスの改善に取り組んできました。その結果、最適化するための課題として特に興味深いのが マーカ という構造体だと分かりました。マーカはバッファの内容が変更されても、バッファの論理的な領域を追跡することができます。例えば、以下の図で緑色のハイライトがかかった部分のマーカは、文字列を書き換えたとしても同じ領域に残り続けます。 マーカは、Atomの機能を幅広くサポートする基的なプリミティブです。検索および置換を行う場合には、マーカを使うことで 検索結果のハイライト表示 ができます。スニペットの場合も、文字列を書き換える際にマーカを使い、 タブストップで移動する位置 を追跡することができます。さらにはスペルチェックの場合でも、マーカを使って スペルミスのある単語を抽出 したり、その単語を書き換える際の再チェックをしたりすることもできます。そもそも

    Atomの重要なプリミティブの最適化 | POSTD
  • How does Shazam work | Coding Geek

    Have you ever wondered how Shazam works? I asked myself this question a few years ago and I read a research article written by Avery Li-Chun Wang, the confounder of Shazam, to understand the magic behind Shazam. The quick answer is audio fingerprinting, which leads to another question: what is audio fingerprinting? When I was student, I never took a course in signal processing. To really understan

    How does Shazam work | Coding Geek
  • クーポンコードの打ち間違えを防ぐために工夫した話 - クックパッド開発者ブログ

    こんにちは。会員事業部ビジネス開発グループの高田です。 クックパッドは今年、株主優待制度として、プレミアムサービス一年間無料クーポンを贈呈しました。エントリではクーポンコードを打ち間違えて、意図せず他の人のクーポンコードを使用するのを防ぐために工夫した話をご紹介します。 はじめに クーポンコードは入力のしやすさを優先して数字だけの文字列にしました。はじめは rand 関数を使って生成しようとしていたのですが、数字の打ち間違えや順序間違いで、意図せず誤使用してしまうのを防ぐためにチェックサムを加えるのがいい、と同僚から助言をもらいました。 いくつか調べて見たところ、Luhn アルゴリズムが上記を満たしていたので利用することにしました。 Luhn アルゴリズムの利用 Luhn アルゴリズムとは、誤り検出のためのチェックサム符号で、1 桁の間違いや隣接する数字の順序間違いを検出できるという特徴

    クーポンコードの打ち間違えを防ぐために工夫した話 - クックパッド開発者ブログ
  • 探索アルゴリズムを視覚的に楽しむ「迷路で眺める探索アルゴリズム」

    出発点(問題)とゴール(解)が用意された時にどのような道順で進めばいいか調べるアルゴリズムが「探索アルゴリズム」です。この探索アルゴリズムには複数の種類が存在するのですが、中でも基的なもの8つ+ゲームデベロッパーの@shohei909さん自作のアルゴリズム2つを合わせた全10種のアルゴリズムで迷路をクリアしようとすると、どのような探索が行われることになるのかを目で見て楽しめるようにしたのが「迷路で眺める探索アルゴリズム」です。 迷路で眺める探索アルゴリズム(Search algorithm visualize) - wonderfl build flash online http://wonderfl.net/c/hq8p 迷路で眺める探索アルゴリズム | 机上のにゅーろん http://spheresofa.net/blog/?p=1044 これが「迷路で眺める探索アルゴリズム」。 画

    探索アルゴリズムを視覚的に楽しむ「迷路で眺める探索アルゴリズム」
  • サルでも分かるwaifu2xのアルゴリズム

    ログイン

    サルでも分かるwaifu2xのアルゴリズム
  • JPEGのDCTブロックで コンテンツ指向のトリミング

    Storytelling For The Web: Integrate Storytelling in your Design Process

    JPEGのDCTブロックで コンテンツ指向のトリミング
  • JavaのTimSortがバグってる件について | さにあらず

    Python で実装され、その後 Java にも移植されたソートアルゴリズムである TimSort が盛大にバグっていることが発見されました。 このバグがどのようにして発生するのかについては、以下のドキュメントを精査して下さい。 TimSort fails with ArrayIndexOutOfBoundsException on worst case long arrays OpenJDK’s java.utils.Collection.sort() is broken: The good, the bad and the worst case どんなことが起こるのか​ 通常の利用では想定しえない場所でArrayIndexOutOfBoundsExceptionが発生します。 例えば、以下のようなスタックトレースになります。 Exception in thread "main" jav

    JavaのTimSortがバグってる件について | さにあらず
  • 一般向けのDeep Learning

    PFI 全体セミナーで発表した、専門家向けではなく一般向けのDeep Learning(深層学習)の解説です。どのような場面で活躍しているのか、今までの学習手法と何が違うのかを解説しています。

    一般向けのDeep Learning
  • Perfect Hashing

    Initial hash returns (A,B), final hash is A^tab[B] The perfect hash algorithm I use isn't a Pearson hash. My perfect hash algorithm uses an initial hash to find a pair (A,B) for each keyword, then it generates a mapping table tab[] so that A^tab[B] (or A^scramble[tab[B]]) is unique for each keyword. tab[] is always a power of two. When tab[] has 4096 or more entries, scramble[] is used and tab[] h

  • 【累積和、しゃくとり法】初級者でも解るアルゴリズム図解 -

    2014年12月3日より2015年1月7日まで開催した、paizaオンラインハッカソンVol.4Lite「エンジニアでも恋したい」は、トータルで3問有りましたが全て解けましたでしょうか? 各問題の成否によりストーリーが変わるのであえて間違えて解いた方もいらっしゃると思いますがw (プレゼント対象期間は終了しましたが、問題チャレンジは可能なので、未チャレンジの方は是非チャレンジください!) 問題1、問題2は解説するほどのむずかしさでもないので省きますが、問題3は多少工夫が必要なので、問題3について今回もPOH恒例の「図解解説」をしてみたいと思います。既に解けた方もそうでない方も、今回の解説を読んで、それぞれの方法すべてを実装してみると勉強になると思いますので、是非試してみてください。 ■どのような高速化ステップがあるのか? 今回の問題ですが、解法の大きなパターンとしては、1.全てのパターンを

    【累積和、しゃくとり法】初級者でも解るアルゴリズム図解 -
  • 「これが機械が生成した画像圧縮アルゴリズム」、NTTが“生物の進化”の原理を応用

    NTTは、現在の4K映像の圧縮と伝送に用いられている動画の符号化技術「H.265/HEVC」の“次々世代”という符号化技術を開発中だ。 同社の言う“次々世代”は、まだ実用段階にはない将来技術、という意味である。ただし、一度実用化されれば、“最後の符号化技術”になる可能性がある。理由は、人工知能の一種を用いることで符号化のアルゴリズムが勝手に進化し、自ら符号化性能を高めていくからである。 今回、符号化技術に用いている人工知能は、「進化的(または遺伝的)プログラミング(GP)」と呼ばれる技術である(図1)。GPを用いた動画符号化技術では、生物の進化のプロセスを模倣して、次第に圧縮率を向上させる。具体的には、遺伝子の突然変異による組み換えと環境適合性の結果としての自然淘汰を、乱数による関数や論理演算のランダムな組み換えと、圧縮率の向上に置き換える。関数などのランダムな組み換えで、結果として圧縮率

    「これが機械が生成した画像圧縮アルゴリズム」、NTTが“生物の進化”の原理を応用
  • 視覚化による5つのガベージコレクションアルゴリズム入門 | POSTD

    ほとんどの開発者は、自動のガベージコレクション(GC)を当たり前のように使っています。これは、私たちの仕事を容易にするために言語ランタイムが提供する素晴らしい機能の1つです。 しかし、最新のガベージコレクタの中をのぞいてみれば、実際の仕組みは非常に理解しづらいことが分かります。実装の詳細が無数にあるため、それが何をしようとしているのか、また、それがとんでもなく間違った事態を引き起こしかねないことについて十分理解していない限り、すっかり混乱してしまうでしょう。 そこで、5種類のガベージコレクションアルゴリズムを持つおもちゃを作ってみました。小さいアニメーションはランタイムの動作から作成しました。もっと大きいアニメーションとそれを作成するコードは github.com/kenfox/gc-viz で見ることができます。単純なアニメーションによってこうした重要なアルゴリズムを明らかにできることは

    視覚化による5つのガベージコレクションアルゴリズム入門 | POSTD
  • 初心者でもアルゴリズムの学習ができる入門本とサイト一覧 -

    Photo by VFS Digital Design 皆さんはアルゴリズムやデータ構造について知っているでしょうか。情報系の学部出身の人は学校の授業でやったかもしれません。一方で学校で情報系の勉強をせずにITエンジニアになったという方は、アルゴリズムやデータ構造について一度は「勉強したほうが良いんだろうな」と思いつつも、実際の業務であんまり必要なさそうだし、難しそうだし、DevOpsやオブジェクト指向やフレームワークについて学ぶので手一杯で未着手、という人も多いのではないでしょうか。 今回はそんな方に向けて、アルゴリズム、データ構造を学ぶ意義と、それらを学ぶときに役立つとサイトについてまとめました。 ■アルゴリズム、データ構造を学ぶ意味 アルゴリズムやデータ構造について語られるときに、非常に良く言われる事として「そんなものは実務に役立たたないので必要ない」という意見があります。当にア

    初心者でもアルゴリズムの学習ができる入門本とサイト一覧 -
  • 「アルゴリズム」との出会い系マッチングサイト

    あ、どうも。なんかアルゴリズムさんと気が合いそうかなって。 マッチングサイトは、人と人の色恋の場だけの話じゃないわけです。一緒に働く仲間や、旅するパートナーをマッチングさせる場合もあるわけです。そもそも、人と人だけがマッチングのすべてではないのです。アルゴリズムと私の出会いだって立派なマッチングですから。 とあるスタートアップサーヴィスのAlgorithmiaは、アルゴリズムのマッチングが目当て。研究者やデータ分析を行なう人が、自分の持つデータをどのようなアルゴリズムで解けばいいのか、それをマッチングしてくれます。 アカデミックな業界では、日々多くの研究で専用のアルゴリズムが作られ使われていますが、そのアルゴリズムが他の研究で使われることはあまりありません。たとえ1つの研究のために特別に作られたアルゴリズムでも、他の研究でちょっと目線を変えれば使えることが多々あるのに…これはもったいない。

  • ないんたんの天気予報と画像処理アルゴリズム(2014年9月13日 情報科学若手の会)

    このブラウザ バージョンのサポートは終了しました。サポートされているブラウザにアップグレードしてください。

    ないんたんの天気予報と画像処理アルゴリズム(2014年9月13日 情報科学若手の会)
    Watson
    Watson 2014/09/14
    為替相場の予測もできそうだな