タグ

algorithmに関するabtkyのブックマーク (14)

  • タイル張り - Wikipedia

    この記事は検証可能な参考文献や出典が全く示されていないか、不十分です。出典を追加して記事の信頼性向上にご協力ください。(このテンプレートの使い方) 出典検索?: "タイル張り" – ニュース · 書籍 · スカラー · CiNii · J-STAGE · NDL · dlib.jp · ジャパンサーチ · TWL(2016年11月) 幾何学において、タイル張り(タイルばり、英: tiling, tessellation)の問題とは、タイルと呼ばれる特定の種類の図形を用いて隙間も重なりもなく平面を敷き詰める問題のことである[1]。タイリング、タイル貼り、平面分割、平面充填[注 1]、テセレーション、平面の敷き詰めなどと呼ばれることもある。ただし「平面」を明言しない場合は、平面に限らず曲面のタイル張りを含む。例えば、多面体は多角形による球面のタイル張りともみなせる。 2次元以外の空間における広

  • GPUでボロノイ図を描画する : WebGLを用いてスムーズに描画できる高速アルゴリズム | POSTD

    GPUに適したJump Floodingおよびボロノイ図と距離変換への応用 注:このページのデモはWebGL機能を使っているためモバイル機器では機能しないことがあります。きちんと表示させるためにはデスクトップコンピュータ上で記事を読むことをお勧めします。 ボロノイ図とはなんでしょうか。下記のデモを見ていただければお分かりになると思います。左のキャンバスをクリックすると、色付きの「母点」が植え付けられます。右のキャンバスでは、各ピクセルが一番近い点の色に着色されます。ドラッグすればより多くの点を配置できます。 デモ#2:左のキャンバスには動いている点が複数あります。右のキャンバスには対応するボロノイ図が表示されています。どちらのキャンバスでも構いませんから、マウスオーバして黄色い点を動かしてみてください。水の中を泳いでいる黄色い魚をイメージしました。 もう1つ面白いデモを用意しました。左のキ

    GPUでボロノイ図を描画する : WebGLを用いてスムーズに描画できる高速アルゴリズム | POSTD
  • Reaction diffusion simulation

  • Reaction-Diffusion Tutorial

    The grid is repeatedly updated using the following equations to update the concentrations of A and B in each cell, and model the behaviors described above. Some typical values used, for those interested, are: DA=1.0, DB=.5, f=.055, k=.062 (f and k vary for different patterns), and Δt=1.0. The Laplacian is performed with a 3x3 convolution with center weight -1, adjacent neighbors .2, and diagonals

    Reaction-Diffusion Tutorial
  • 画風を変換するアルゴリズム - 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
  • ゲームAI -基礎編- 『知識表現と影響マップ』

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

    ゲームAI -基礎編- 『知識表現と影響マップ』
  • JavaScript でオセロを実装する(原始モンテカルロAI編) | Webシステム開発/教育ソリューションのタイムインターメディア

    以前、オセロの対戦AIの作成しましたが、そこでは実装を簡略化する為に盤面の価値を 盤面の価値 = 自分の石の数 – 相手の石の数 という単純な方法で決めていました。 でも、これには問題があります。 同じ石でも配置場所によって価値は異なるはずです(例: 角は最強)。それが考慮されていません。ゲーム終盤になってくると石の数が重要になってきます。でも序盤から石の数を重視するのは方向性としておかしいです。 という訳で、 序盤から中盤では石の配置場所を重視する終盤では石の数を重視する 形で盤面の価値を算出すれば、結構良さそうなAIになりそうです。 しかし、今度は 「序盤」「中盤」「終盤」をどのように区別するのか?石の配置場所の強弱はどう決めるのか?同じ配置場所でも周囲の状況次第で強弱が異なるのでは? という問題が出てきます。これは作るのが面倒臭そうです。 どうにかしてお手軽かつそこそこ強そうなAI

    JavaScript でオセロを実装する(原始モンテカルロAI編) | Webシステム開発/教育ソリューションのタイムインターメディア
  • オセロ・リバーシプログラミング講座 ~勝ち方・考え方~

    このサイトでは、C言語でのオセロ(リバーシ)のプログラム開発方法を解りやすく説明しています。初級者、初心者でも作れるオセロ実装のコツが満載です。 はじめに ここでは、作者がコンピュータリバーシを作成する上で、学んだ理論や評価方法についてまとめているページです。 ただし、私の作成したプログラムのレベルは大体1級~初段程度なので、必ずしも適切な内容であるとは限りません。 また概略だけで、深く理由やその後の展開まではここでは述べていません。理由が知りたい場合はリバーシ講座にリンクしています。 このサイトは「Yahoo!カテゴリ」に登録されています(2012年1月25日)。 趣味とスポーツ/ゲーム/パソコンゲーム/ゲーム制作/プログラミング 趣味とスポーツ/ゲーム/ボードゲーム/ オセロ リバーシ(オセロ)のルール 「オセロ」は1972年頃長谷川五郎氏が、古くからイギリスにあった類似のゲームをヒン

    オセロ・リバーシプログラミング講座 ~勝ち方・考え方~
  • 3Dグラフィックス・マニアックス(86) 人工知性でコンテンツを生成するプロシージャル技術(10)

    コンピュータ内で生物化学反応を計算する? 「反応拡散」系のプロシージャル技術 プロシージャル・テクスチャの生成手法には、この他、「Reaction-Diffusion」法というものがある。なお、Reaction-Diffusionには訳語として「反応拡散」という言葉が当てられている。 これは画素(テクセル、ピクセル)にたとえて単純化して説明すると、各画素において、周辺画素に何かの影響を及ぼすことを計算し、同時に周辺から自分が何かを及ぼされる計算を単位時間ごとに計算し、これを反復的に繰り返すことで、奇妙な模様の出現を期待する手法になる。場合によっては、その「奇妙な模様」が現れずに不発に終わることもある。 考え方としては、ボクセルベースの流体物理シミュレーションによく似ている。 下図は、アラン・チューリング(Alan Mathison Turing)が発表した「チューリング反応拡散方程式」、自

  • http://www.technotype.net/hugo.elias/models/m_perlin.html

    abtky
    abtky 2015/05/18
    パーリンノイズのアルゴリズム解説:和訳
  • パーリンノイズを理解する | POSTD

    この記事の目的はKen Perlinの 改良パーリンノイズ を分かりやすく分析し、お伝えすることです。記事内のコードはC#で書かれており、自由にご利用いただけます。最終形のみを見たい方は、 こちらから最終的なソースをご確認ください 。 パーリンノイズは手続き的なコンテンツ生成によく使われる、非常に強力なアルゴリズムです。ゲームや、映画などの視覚媒体に特に有用です。パーリンノイズの開発者であるKen Perlinは、 この最初の実装でアカデミー賞を受賞しました 。彼が2002年に発表した 改良パーリンノイズ について、私はこの記事で掘り下げていきます。パーリンノイズは、ゲーム開発においては、波形の類や、起伏のある素材、テクスチャなどに有用です。例えば手続き型の地形(Minecraftのような地形はパーリンノイズで生成できます)、炎のエフェクト、水、雲などにも使えます。これらのエフェクトのほと

    パーリンノイズを理解する | POSTD
  • フロイド-スタインバーグ・ディザリング - Wikipedia

    原画像(左)、通常の変換(中)、フロイド-スタインバーグ・ディザリングを用いた変換(右) ダビデ像の画像にフロイド-スタインバーグ・ディザリングを施した例 フロイド-スタインバーグ・ディザリング(Floyd–Steinberg dithering)は画像用ディザリングアルゴリズムであり、1976年、ロバート・フロイドと Louis Steinberg が発表した。画像操作関係のソフトウェアで広く用いられており、例えば最大256色までしか使えないGIF形式への変換の際に使われている。 各ピクセルの量子化誤差をそれに隣接するピクセル群に拡散させることでディザリングを実現するアルゴリズムである。隣接ピクセルへの誤差の分配は次のようになる。 星印 (*) が現在見ているピクセルを表している。 このアルゴリズムでは、画像を左から右、上から下にスキャンし、ピクセルの値を1つずつ量子化していく。毎回の量

    フロイド-スタインバーグ・ディザリング - Wikipedia
  • サービス終了のお知らせ - NAVER まとめ

    サービス終了のお知らせ NAVERまとめは2020年9月30日をもちましてサービス終了いたしました。 約11年間、NAVERまとめをご利用・ご愛顧いただき誠にありがとうございました。

    サービス終了のお知らせ - NAVER まとめ
  • Tumblr

    「JPEG Tilt」というページを公開しました。MotionJPEG Builder を作った時に、JPEG のヘッダを読み込む処理を作ったので(結局これは使わなかったんですが)圧縮データの読み込み部分も作ってみようか、という気になって作ったのがこれです。JPEG ファイルで画像が圧縮される様子を視覚的に表現する…… という目標だったのですが、どうでしょうか。まあ内容が内容なので説明無しではさすがに意味が分からないと思います。 ということで、JPEG Tilt の見方を以下で簡単に説明します。 図1は、JPEG Tilt の画面です。画像が iTunes の CoverFlow のように並んでいますが、これの左側は画像の低周波成分のみを抜き出した物で、右に行くとより高周波の成分も含めるように並んでいます(低周波、高周波という言葉の意味はこの先で出てきます) 画像の上にマウスカーソルを乗せ

    Tumblr
  • 1