タグ

関連タグで絞り込む (534)

タグの絞り込みを解除

Algorithmとalgorithmに関するmanabouのブックマーク (720)

  • ゲームグラフィクスアルゴリズム資料一覧 - UnityShader 入門

    (最終更新:2015/09/27) ゲームグラフィクスに興味のある人向けに資料を分類して集めました。 新しいの見つけたら増やしたり分類し直したりします。 ※以下は応用的な内容なので、復習も兼ねて基礎的なアルゴリズム(CG数学、パイプラインとかシャドウマップ、法線マップなど)のページも後で作ろうかと思ってます。 Physically Based Rendering 物理的な観察に基づいたパラメータを用いたシェーディングモデル、スペキュラ反射 エネルギー保存則に従ったライティング、エリアライト 資料 概要 実装 Real Shading in Unreal Engine 4 PBR全般,エリアライト UnrealEngine4 Moving Frostbite to PBR PBR全般,エリアライト Frostbite シリコンスタジオの最新テクノロジーデモ技術解説 PBR全般,Tempora

    ゲームグラフィクスアルゴリズム資料一覧 - UnityShader 入門
  • 配列を重複なく乱数で埋めるには - Qiita

    配列を重複なく乱数で埋める方法を考えていきます。なんで唐突にそんな話が始まったかというと C#もしくはCで以下のプログラムを書いて欲しいです。【内容】... - Yahoo!知恵袋 に回答しようと思ったからです。C#なんて知らんし、いまどきCで書く人なんて居ないでしょ。 というわけでC++11の範囲で書いていきます。・・・はいそこ、今時C++11なんていう太古の規格で書くなとか言わない。 とりあえずint型のvectorを作っていますが、他のにするのもさして大変ではないですね。 下の3つのほかにさらに3つの方法が C++で効率よく重複のない乱数列を生成する で提示されており、そっちの方が速いです。 まずは結論 これ使えばいいんじゃね。 # pragma once # include <random> # include <vector> # include <iostream> # inc

    配列を重複なく乱数で埋めるには - Qiita
  • Introducing Brotli: a new compression algorithm for the internet

    The latest news from Google on open source releases, major projects, events, and student outreach programs. At Google, we think that internet users’ time is valuable, and that they shouldn’t have to wait long for a web page to load. Because fast is better than slow, two years ago we published the Zopfli compression algorithm. This received such positive feedback in the industry that it has been in

    Introducing Brotli: a new compression algorithm for the internet
  • 三目並べで学ぶミニマックス法 | POSTD

    最近、「絶対に勝てない三目並べ」のゲームを作ったのですが、非常にささやかながらも楽しいプロジェクトで、いろいろ学ぶこともできました。ゲームの全体像に興味がある方は、 こちらでゲームを試してみてください 。 無敵のゲームにするには、コンピュータ側が全ての手を計算し、何らかの基準を用いて最善の手を決められるようなアルゴリズムを作る必要があります。多岐にわたって調べた結果、このプロジェクトにはどうやら ミニマックス アルゴリズムが適当そうだということが分かりました。 このアルゴリズムを根的な意味で真に理解し、自分のゲームに実装できるようになるまでにはある程度の時間が必要でした。多くのコードサンプルと説明に目を通しましたが、私が能なしだからか、どれを見てもプロセスの内実を十分に理解することはできなかったのです。この投稿が、ミニマックスアルゴリズムに関する皆さんの理解に少しでもお役に立てたらと思い

    三目並べで学ぶミニマックス法 | POSTD
  • GitHub - kazuho/golombset: An implementation of Golomb compressed set in C

    You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert

    GitHub - kazuho/golombset: An implementation of Golomb compressed set in C
  • リレーショナルデータベースの仕組み (1/3) | POSTD

    リレーショナルデータベースが話題に挙がるとき、私は何かが足りないと思わずにはいられません。データベースはあらゆるところで使われており、その種類も、小規模で便利なSQLiteからパワフルなTeradataまで様々です。しかし、それがどういう仕組みで機能しているかを説明したものとなると、その数はごくわずかではないでしょうか。例えば「リレーショナルデータベース 仕組み」などで検索してみてください。ヒット数の少なさを実感できると思います。さらにそれらの記事は短いものがほとんどです。逆に、近年流行している技術(ビッグデータ、NoSQLJavaScriptなど)を検索した場合、それらの機能を詳しく説明した記事はたくさん見つかると思います。 リレーショナルデータベースは、もはや大学の授業や研究論文、専門書などでしか扱われないような古くて退屈な技術なのでしょうか? 私は開発者として、理解していないものを

    リレーショナルデータベースの仕組み (1/3) | POSTD
  • Introduction to Monte Carlo Tree Search - Jeff Bradberry

    The subject of game AI generally begins with so-called perfect information games. These are turn-based games where the players have no information hidden from each other and there is no element of chance in the game mechanics (such as by rolling dice or drawing cards from a shuffled deck). Tic Tac Toe, Connect 4, Checkers, Reversi, Chess, and Go are all games of this type. Because everything in th

    Introduction to Monte Carlo Tree Search - Jeff Bradberry
  • 画風を変換するアルゴリズム - 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
  • Principles Of HTML5 Game Design — Smashing Magazine

    In this article, Mikołaj Stolarski & Tomasz Grajewski would like to present a few ideas of how to implement different visual effects in Visual effects in games define their overall look and feel, and gameplay. Players are attracted to high visual quality, which generate more traffic and reach. It’s key for creating successful games and providing a lot of fun for players. In this article, we’d like

    Principles Of HTML5 Game Design — Smashing Magazine
  • Gamasutra: Amir Fassihi's Blog - "0 – 60 fps in 14 days!" What we learned trying to optimize our game using Unity3D.

    TechTarget and Informa Tech’s Digital Business Combine.TechTarget and Informa TechTarget and Informa Tech’s Digital Business Combine.Together, we power an unparalleled network of 220+ online properties covering 10,000+ granular topics, serving an audience of 50+ million professionals with original, objective content from trusted sources. We help you gain critical insights and make more informed de

  • フーリエ変換を用いたテクスチャ解像度推定とその応用

    CEDEC2015の発表資料です。 PDF書き出しの際に画像の品質が 劣化していますがご容赦ください。 分析コア、とても単純ですがgithubに公開しました。 https://github.com/nikq/fourierGraph

    フーリエ変換を用いたテクスチャ解像度推定とその応用
  • ゲームAI -基礎編- 『知識表現と影響マップ』

    みなさん、こんにちは! 突然ですが…皆さんには、ひいきにしている ゲームのキャラクターはいらっしゃいますでしょうか。 手ごわいボス敵や頼れるパートナー、愛嬌のある動きをするモンスター達は 一体どのような仕組みで動いているのでしょう? 今回の記事ではそんなゲームの中のキャラクター達を 魅力的に動かす仕組み、AIについて御紹介したいと思います。 改めまして記事を担当させて頂きます、Cygamesエンジニアの佐藤です。 これまでコンシューマ機でのゲームAI開発に携わり、 ゲームならではのキャラクター表現の楽しさを追いかけてきました。 このブログを通じて、皆さんのゲームのキャラクターを より表情豊かに魅力的なものにする方法について、皆さんと一緒に考えていければ幸いです。 今回はゲームAIをデザインするにあたって重要となる、 「知識表現を定義する」というステップと、 知識表現の一つである影響マッ

    ゲームAI -基礎編- 『知識表現と影響マップ』
  • マインスイーパのモデル化と解法 - Qiita

    #はじめに マインスイーパをアルゴリズムで解くことができないかを考察してみた。 みなさんご存じの通り、マインスイーパは常に確実に解けるわけではなく、確率的にしか解けない場合もある。ここで、マインスイーパを解くアルゴリズムは、以下の2つに分けることができる。 確実に分かる部分のみを解くアルゴリズム。解けない部分は人の手か、乱数による選択や別のアルゴリズムの助けを借りる必要がある。 できるだけ高い確率で解くことを目指すアルゴリズム。 現状、1の、分かる部分のみを解くアルゴリズムを構築し、JavaScriptで実装し、完璧ではないものの、かなりいいところまで解かせることができている。 github上で公開しているので、こちらでお試しあれ。適当にクリックしてマスを開いたあと「Solve」をクリックすれば、確実に分かる部分を埋めてくれる。(動作確認はFirefoxでしか行っていないため、他のブラウザ

    マインスイーパのモデル化と解法 - Qiita
  • #JJUG - Java で最速のハッシュアルゴリズムを求めて

    【東京】【聴講者募集】JJUG ナイト・セミナー 「ビール片手にLT&納涼会」の発表資料です。 https://jjug.doorkeeper.jp/events/28182

    #JJUG - Java で最速のハッシュアルゴリズムを求めて
  • RubyとPythonにおけるガベージコレクションの視覚化 | POSTD

    稿は、ブダペストで開かれたイベント「 RuPy 」で、Pat Shaughnessyが披露したプレゼンの内容をまとめたものです。 プレゼンの映像はここ から視聴できます。 稿は当初、 同氏の個人ブログ に投稿されましたが、同氏の了承を得て、Codeshipに再掲載します。 このイベントは「RubyPython」に関するカンファレンスなので、RubyPythonでは、ガベージコレクション(以下「GC」)の動作がどう違うのかを比較すると面白いだろうと私は思いました。 ただしその題に入る前に、そもそもなぜ、GCを取り上げるのかについてお話しします。正直言って、すごく魅力的な、わくわくするテーマではないですよね? 皆さんの中でGCと聞いて、心がときめいた方はいらっしゃいますか? [実はこのカンファレンス出席者の中で、ここで手を挙げた人は数名いました!] Rubyコミュニティで最近、Rub

    RubyとPythonにおけるガベージコレクションの視覚化 | POSTD
  • Cache optimizing a priority queue

    I must begin with saying that if you found this because you have a performance problem, you should almost certainly look elsewhere. It is highly unlikely that your performance problem is caused by your priority queue. If, however, you are curious, or you have done careful profiling and found out that the cache characteristics of your priority queue are causing your performance problem, and you can

    Cache optimizing a priority queue
  • キャッシュフレンドリーな二分探索 ー データ構造を再考する | POSTD

    現代のコンピュータのアーキテクチャに搭載されている高速のキャッシュメモリは、 参照の局所性 に優れた(=一連のものとしてアクセスした要素が、互いに近いメモリのアドレスに配置されている)データ構造を好みます。これは、 Boost.Containerの平坦な(ツリー状ではない)連想コンテナ のようなクラスを陰で支えている理論的根拠です。要素を連続的に(かつ順序だてて)保存すると同時に、標準的なC++ノードベースの連想コンテナの機能性をエミュレートします。以下にあるのは、要素が0から30の範囲の時、 boost::container::flat_set の中で 二分探索 がどのように行われるのかを示した例です。 探索で目的の値を絞り込むにつれて、アクセスされる要素は次第に近くなっていきます。そのため、最初のうちは大きな距離を飛び越えていくような感じであっても、参照の局所性は このプロセスの最後の

    キャッシュフレンドリーな二分探索 ー データ構造を再考する | POSTD
    manabou
    manabou 2015/08/03
    ]cache
  • 補間 — 読書ノート v1.4.0dev

    補間¶ 稿では補間曲線の構築方法であるラグランジュ補間とスプライン補間について記す。 SciPy ではそれぞれ関数呼び出し一発で補間曲線が得られるので便利だ。 Lagrange 補間¶ 普通は採用しない補間方式だが、関数 scipy.interpolate.lagrange を用いると Lagrange 補間多項式を得られる。単一の多項式で補間を表現するという性質上、多数の測定データに対して得られる補間多項式は次数が高くなり、数値計算に適さなくなる。次数が高いと、測定データから離れたパラメーターにおける補間関数の評価値が「暴れる」ので、補間としての質がそもそも問題外になる。 SciPy のドキュメントでは、大体 20 個以上の点を寄越してくれるなと警告している。 コード的な手順は次のとおりとなる。 データ点列を array-like の形式で用意する。以下の説明ではそれぞれ x, y と

    補間 — 読書ノート v1.4.0dev
  • Atomの重要なプリミティブの最適化 | POSTD

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

    Atomの重要なプリミティブの最適化 | POSTD
  • SGGXマイクロフレーク分布

    2014年6月に開催されたSSII2014(http://www.ssii.jp/)のチュートリアル講演用資料です. 使用したコード等はこちら. https://github.com/norishigefukushima/SSII2014 アブストラクト 「CPUのクロック数が年月とともに増加する時代は終わり、プログラムの高速化をCPUの性能向上に任せることのできるフリーランチの時代は終わりを迎えています。しかしムーアの法則はいまだに続いており、CPUはマルチコア化、SIMD化という形で高性能化が続いています。チュートリアルでは、計算コストの高い画像処理を高速化するために、CPUの能力をあますことなく引き出す、マルチコアプログラミング、SIMDプログラミングを解説します。」

    SGGXマイクロフレーク分布