lynx   »   [go: up one dir, main page]

タグ

アルゴリズムに関するzyusouのブックマーク (17)

  • Google Chromeが採用した、擬似乱数生成アルゴリズム「xorshift」の数理

    2015年12月17日、Google ChromeJavaScript エンジン(処理系)である V8 の公式ブログにて、 JavaScript の標準的な乱数生成APIである Math.random() の背後で使われているアルゴリズムの変更がアナウンスされました。 Math.random() 関数は JavaScript を利用する際には比較的よく使われる関数ですので、親しみのある方も多いのではないかと思います。 新たなバグの発見や、従来より優秀なアルゴリズムの発見によってアルゴリズムが変更されること自体はそれほど珍しくはないものの、 技術的には枯れていると思われる Math.random() のような基的な処理の背後のアルゴリズムが変更されたことに驚きを感じる方も少なくないかと思いますが、 それ以上に注目すべきはその変更後のアルゴリズムです。 実際に採用されたアルゴリズムの原

    Google Chromeが採用した、擬似乱数生成アルゴリズム「xorshift」の数理
    zyusou
    zyusou 2016/01/06
    実装がこんなに簡易だとは。すげぇ。
  • 強くなるためのプログラミング -プログラミングに関する様々なコンテストとそのはじめ方-#pyconjp

    アルゴリズム・ゲームAI・インフラ・データマイニング・セキュリティのコンテストと、そのはじめかたを紹介していきます。

    強くなるためのプログラミング -プログラミングに関する様々なコンテストとそのはじめ方-#pyconjp
  • 手続き型のダンジョン生成アルゴリズム | プログラミング | POSTD

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

    手続き型のダンジョン生成アルゴリズム | プログラミング | POSTD
    zyusou
    zyusou 2015/10/08
    最初のGIF画像だけで絶頂するレベル。
  • アルゴリズムの紹介

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

  • 計算量はコンピュータ性能論の「入り口」にすぎない--専門家が語る、IT屋に知っておいてほしい基礎知識

    情報処理における全国のエキスパートが一堂に会したリクルート主催の「春の情報処理祭」。HPC(High Performance Computing)研究分野の専門家である、京都大学の中島浩教授は、HPCの役割や速さの秘密について説明するとともに、HPCがビジネス全体にもたらす影響を語ります。コンピュータの性能を生かすために知っておくべき、HPCの基礎知識とは?(春の情報処理祭in京都より) ハイパフォーマンスコンピューティング(HPC)とは 中島浩氏:(BGM「Let It Be」を流しながら登場)さすがにビートルズの「Let It Be」ぐらいは知っているかな。皆さんが生まれるずいぶん前の歌ですけれども。 『アナ雪(アナと雪の女王)』というのがあって、あっちは「Let It Go」なんですね。こっちは「Let It Be」で、何が違うのか。英語のニュアンスはほとんど同じなんですけれども「L

    計算量はコンピュータ性能論の「入り口」にすぎない--専門家が語る、IT屋に知っておいてほしい基礎知識
  • アルゴリズムとデータ構造 - プログラミングスレまとめ in VIP

    計算量 † アルゴリズムがどれだけ効率的かを示す概念が計算量です。通常、単に計算量と述べた場合は、データ数nに対してどれだけ時間がかかるかを示す時間計算量を指しますが、場合によってはどれだけメモリを消費するかを示す空間計算量を問題にするケースもあります。計算量は、通常データ数nが十分大きい場合にnのどういう関数に比例して計算時間/メモリ消費が増えるかという形式で表します。 具体的に、下に述べている線形探索の例で計算量を考えてみましょう。この関数では、ループをサイズn回だけ回していますが、このループ1回辺り時間tだけかかるとしましょう。さらに、関数の呼び出し等により、データ数にかかわらず一定の時間sがかかると考えられます。従ってこの関数に費やす時間はnt+sですね。この時、十分大きいnを考え、かつ定数倍は無視して考えます。例えばntがsの10000倍だと仮定しましょう。この時sの寄与は、体重

  • コンパイラ - コンパイラの最適化についてすべてのプログラマが知っておくべきこと

    注意 このページにアクセスするには、承認が必要です。 サインインまたはディレクトリの変更を試すことができます。 このページにアクセスするには、承認が必要です。 ディレクトリの変更を試すことができます。 コンパイラの最適化についてすべてのプログラマが知っておくべきこと Hadi Brais コード サンプルのダウンロード 高度なプログラミング言語には、関数、条件付きステートメント、ループなど、驚くほど生産性が上る抽象プログラミング コンストラクトが多数用意されています。ただし、高度なプログラミング言語でコードを作成する場合のデメリットの 1 つは、パフォーマンスが大幅に低下するおそれがあることです。パフォーマンスを犠牲にすることなく、わかりやすく、メンテナンスしやすいコードを作成するのが理想です。このため、コンパイラがコードを自動的に最適化してパフォーマンスの向上を図ります。最近のコンパイラ

    コンパイラ - コンパイラの最適化についてすべてのプログラマが知っておくべきこと
  • 機械学習アルゴリズムまとめ | 株式会社フルスピード - Growth Seed

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

    機械学習アルゴリズムまとめ | 株式会社フルスピード - Growth Seed
  • カスケード型分類器 — opencv 2.2 documentation

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

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

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

    アルゴリズムとかデータ構造というのは、プログラミングの基礎中の基礎ですね。いまどきは、いろいろな言語において標準ライブラリで提供されていたりしますから、ただ使うだけならこれらを1から自分で書けるようになってもそんなにうれしくはないですが、必要な場面でよりよいアルゴリズムを選択できるように、概要くらいは知っておきたい物です。というわけで、ここではアルゴリズムとデータ構造についての話をしていこうかと思います。 説明やサンプルには、有無を言わせず C# を使います。 うちは C# 入門サイトですから。 ある意味、「C# によるプログラミング入門」のサンプルプログラムの延長みたいなページになってるかも。

    アルゴリズムとデータ構造
  • 自然言語処理に新風を巻き起こしたWord2Vecとは何か - 日経BigData

    言語データの分析と応用のために自然言語処理と呼ばれる分野で長年研究が行われて来た。同分野が昨年から大きく沸き立っている。米グーグルの研究者であるトマス・ミコロフ氏らが提案した手法「Word2Vec」が、いくつかの問題について従来のアルゴリズムよりも飛躍的な精度向上を可能にしたのだ。 この手法によって得られるベクトル空間には、今まで定量的に捉えることの難しかった言葉の「意味」を極めて直接的に表現しているかのような性質が認められている。今年9月、当社がスポンサー参加した自然言語処理系の研究発表会「NLP若手の会 第9回シンポジウム」でも、多くの研究がWord2Vecに関連したテーマについて取り上げていた。今後、意味解析、文書分類、機械翻訳など様々な分野でWord2Vecの応用が期待されている。 「意味ベクトル」の驚異的な性質 Word2Vecは、その名前の表す通り、単語をベクトル化して表現する

    自然言語処理に新風を巻き起こしたWord2Vecとは何か - 日経BigData
  • 初心者でもアルゴリズムの学習ができる入門本とサイト一覧 -

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

    初心者でもアルゴリズムの学習ができる入門本とサイト一覧 -
    zyusou
    zyusou 2014/10/14
  • Introduction To TopCoder, 今日からはじめるTopCoder - フリーフォーム フリークアウト

    移転しました http://please-sleep.cou929.nu/20091005.html

    Introduction To TopCoder, 今日からはじめるTopCoder - フリーフォーム フリークアウト
  • 東大・情報理工の「創造情報学」専攻,院試の問題と解答まとめ(大学院入試の対策用) - 主に言語とシステム開発に関して

    院試の解答の目次へ 東京大学の大学院・情報理工学系研究科で,創造情報学専攻の院試対策まとめ。 修士の試験問題と解答へのリンク。 とくに専門科目。 創造情報学の過去問と解答(年度別) 2011年の過去問と解答: 試験問題 http://i-web.i.u-tokyo.ac.jp/edu/cour... 解答 創造情報学専攻入試メモ 2011-8 第1問 (1-1) 分枝限定法 創造情報学専攻入試メモ 2011-8 第1問 (1-2) 探索木 創造情報学専攻入試メモ 2011-8 第1問 (2-1) (2-2) 創造情報学専攻入試メモ 2011-8 第3問 (1) 創造情報学専攻入試メモ 2011-8 第3問 (2) 創造情報学専攻入試メモ 2011-8 第3問 (3) 創造情報学専攻入試メモ 2011-8 第3問 (4) 創造情報学専攻入試メモ 2011-8 第3問 (5) 創造情報学専攻入

    東大・情報理工の「創造情報学」専攻,院試の問題と解答まとめ(大学院入試の対策用) - 主に言語とシステム開発に関して
  • コーディングに役立つ! アルゴリズムの基本 - @IT

    連載ではアルゴリズムとデータ構造を学ぶ、または学び直すことで、プログラミングのスキルを深めていきます。アルゴリズムは学問として取り扱われることが多いですが、この連載では開発の現場に役立つスキルを身に付けることを目的とします。 機械学習/Deep Learningが気になる人も要注目、「アルゴリズム」の基が学べる無料の電子書籍150ページ 人気連載まとめ読み! @IT eBook(29) 人気過去連載を電子書籍化して無料ダウンロード提供する@IT eBookシリーズ。第29弾では「コーディングに役立つ!アルゴリズムの基」10回分を1冊のPDFとしてまとめた。アルゴリズムとは何か? なぜ学ぶべきなのだろうか?

    zyusou
    zyusou 2014/07/11
    ちょっと古いけど十分役に立つ内容。
  • 【結果発表】新人女子PGを最も助けたプログラミング言語とは? -

    2013年12月2日より開始したpaizaオンラインハッカソン(略してPOH![ポー!])Vol.1「新人女子の書いたコードを直すだけの簡単なお仕事です!」ですが、2014年1月8日いっぱいをもって開催期間を終了いたしました。今回のハッカソンのレポート、最終結果と、提出された各プログラミング言語毎の最速コードをお届けします。 ※POH Vol.1は応募期間は過ぎたため、プレゼント対象、計測対象には成りませんが、コードの実行は引き続き可能です。 ■提出コードは2万提出突破! おかげ様で事務局の想定を超える参加者数、提出数のハッカソンとする事ができました。ご参加いただいた皆様ありがとうございました! 今回の期間中の参加者数、提出数は以下の通りです。 参加者数:1,961人 提出数:22,219提出 今回の企画では、オンラインで誰でも気軽に参加できるハッカソンを目指しました。改めてプログラミング

    【結果発表】新人女子PGを最も助けたプログラミング言語とは? -
  • 1
Лучший частный хостинг