タグ

algorithmに関するsaz_goのブックマーク (136)

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

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

    クーポンコードの打ち間違えを防ぐために工夫した話 - クックパッド開発者ブログ
    saz_go
    saz_go 2015/06/25
    Luhn アルゴリズム
  • [GDC 2011]パックマンの父 岩谷 徹氏がゲームデザインを語る。「Classic Game Postmortem - PAC-MAN」講演レポート

    [GDC 2011]パックマンの父 岩谷 徹氏がゲームデザインを語る。「Classic Game Postmortem - PAC-MAN」講演レポート 編集部:A.I. GDC 2011の3日目となる2011年3月2日,GDC開催25周年を記念した特別セッション「Classic Games Postmortem」(クラシックゲーム回顧録)の一環として,パックマンの生みの親として知られる岩谷 徹氏による「Classic Game Postmortem - PAC-MAN」というレクチャーが行われた。 この「Classic Games Postmortem」は,12名の業界著名人が,それぞれ出世作品の裏話を披露するというもの。稿では,岩谷氏が行った,その講演の模様をレポートする。 バンダイナムコゲームス 岩谷 徹氏 岩谷氏がパックマンを作り出してから31年が経過した今年。昨年2010年には

    [GDC 2011]パックマンの父 岩谷 徹氏がゲームデザインを語る。「Classic Game Postmortem - PAC-MAN」講演レポート
    saz_go
    saz_go 2013/10/04
    ゴーストのアルゴリズム
  • diffの動作原理を知る~どのようにして差分を導き出すのか | gihyo.jp

    UNIXの基的なコマンドの1つであるdiff。 これに実装されているアルゴリズムは実に興味深い世界が広がっています。 稿では、筆者が開発した独自ライブラリ「dtl」をもとに「diffのしくみ」を解説します。 はじめに diffは2つのファイルやディレクトリの差分を取るのに使用するプログラムです。 ソフトウェア開発を行っている方であれば、SubversionやGitなどのバージョン管理システムを通して利用していることが多いかと思います。稿ではそのdiffの動作原理について解説します。 差分の計算の際に重要な3つの要素 差分を計算するというのは次の3つを計算することに帰結します。 編集距離 2つの要素列の違いを数値化したもの LCS(Longest Common Subsequence) 2つの要素列の最長共通部分列 SES(Shortest Edit Script) ある要素列を別の要

    diffの動作原理を知る~どのようにして差分を導き出すのか | gihyo.jp
  • [SQEXOC 2012]FFXIVで使われているAI技術〜敵NPCはどうやって経路を探索しているのか?

    [SQEXOC 2012]FFXIVで使われているAI技術〜敵NPCはどうやって経路を探索しているのか? ライター:米田 聡 スクウェア・エニックスが2012年11月23日と24日の両日開催した「スクウェア・エニックス オープンカンファレンス」の最後には「AIセッション」が用意されていた。AIセッションは前半と後半に分かれ,前半は「ファイナルファンタジーXIV: 新生エオルゼア」(以下,新生FFXIV)における経路探索の実装に関する実践的な解説,後半はゲームAIの第一人者とも評される三宅陽一郎氏による,Luminous Studio用AIエンジンのやや概念的な話という構成だった。稿では,まず前半の,より実践的なセッションから紹介してみたい。 テーマは,「MMORPGでマップ上を移動する敵NPCの経路をどう決めるのか」である。複雑で広いマップを有するMMORPGでは,移動する経路を賢く選択

    [SQEXOC 2012]FFXIVで使われているAI技術〜敵NPCはどうやって経路を探索しているのか?
    saz_go
    saz_go 2012/12/08
    AIとか。
  • Google Mapsが発明した、球面メルカトルタイル地図 - Code for History

    社内で日誌を付けていて、最近まで味気ない業務報告だけしてたのですが、割といろんな話題投げる人が多いので、私も地図/位置情報の話題毎日投げるようにしました。 その中からいくつか、外に出せる話題はブログでも転載しようかと思います。 業務終了の10分程度の間に仕上げるので、あまり追調査もせず用語の説明も省いたり*1、記憶違いや事実誤認*2もあるかもしれませんが、その辺は補足や突っ込みいただければ幸いです。 ================================ 2005年に登場したGoogle Maps、やはり注目はAjaxスクロール地図でしたが、実は世界で初めてAjaxスクロール地図を実現したのはGoogleでなく日のマピオンです。 標準地図ではなくマピオンラボというクローズサイト内のみでしたが、Googleより1年以上早くAjaxスクロール地図を実現していました。 Google

    Google Mapsが発明した、球面メルカトルタイル地図 - Code for History
  • がくのほめぱげ - 色の結合演算について(その1)

    Adobe Photoshop,Paint Shop Pro,Gimp などのペイントツールにおいて、「レイヤー(Layer)を重ね、 描画モード(Blend Mode)を切り替え、透過率(Opacity)を与える。」のような使い方は、フォトレタッチだけではなく、 お絵描きするときにも頻繁に行われていることと思います。 描画モード(ブレンドモードとも呼ぶらしい)の操作については、画像を用いて具体的に説明しているホームページをよく見かけますが、 色を結合(合成)するための計算方法として、紹介、解説している書籍、ホームページとなると、ほとんど見かけませんね。 #これって大きく取り上げちゃダメな話なのかなぁ・・・?(^^; このページでは、この描画モードを数式として示します。 ソフトウェア開発者向けの非常にマニアックな内容となっていますが、 描画モードをサポートしているペ

  • Perlin Noise (fBm) を使ったカメラ揺れエフェクト

    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

    Perlin Noise (fBm) を使ったカメラ揺れエフェクト
  • ポアソン分布 - Wikipedia

    この記事は検証可能な参考文献や出典が全く示されていないか、不十分です。 出典を追加して記事の信頼性向上にご協力ください。(このテンプレートの使い方) 出典検索?: "ポアソン分布" – ニュース · 書籍 · スカラー · CiNii · J-STAGE · NDL · dlib.jp · ジャパンサーチ · TWL (2016年10月)

    ポアソン分布 - Wikipedia
  • 正規分布 - Wikipedia

    正規分布(せいきぶんぷ、英: normal distribution)またはガウス分布(英: Gaussian distribution)は、確率論や統計学で用いられる連続的な変数に関する確率分布の一つである[1]。データが平均の付近に集積するような分布を表す。主な特徴としては平均値と最頻値、中央値が一致する事や平均値を中心にして左右対称である事などが挙げられる[1][2]。 中心極限定理により、独立な多数の因子の和として表される確率変数は正規分布に従う。このことによって正規分布は統計学や自然科学、社会科学の様々な場面で複雑な現象を簡単に表すモデルとして用いられている[1]。 たとえば、実験における測定の誤差は正規分布に従って分布すると仮定され、不確かさの評価が計算されている。 正規分布の確率密度関数のフーリエ変換は再び正規分布の密度関数になることから、フーリエ解析および派生した様々な数学

    正規分布 - Wikipedia
  • 「PlayStation Vita Game Conference 2012」レポート:ゲーム機での開発経験のないドワンゴがいかにして「ニコニコ」を作り上げたか

    「PlayStation Vita Game Conference 2012」レポート:ゲーム機での開発経験のないドワンゴがいかにして「ニコニコ」を作り上げたか 編集部:aueki ドワンゴ ニコニコ事業部 コンシューマーエレクトロニクス事業部 齊藤寛明氏 2012年3月28日,ソニー・コンピュータエンタテインメントは都内の同社オフィスでゲーム開発者向けセミナー「PlayStation Vita Game Conference 2012」を開催した。このセミナー自体は,PS Vita向けアプリ開発者を対象にしたクローズドなイベントなのだが,各社開発事例の一部がメディアに公開されたので,その部分のレポートを行ってみたい。 ここでは,ドワンゴの「ニコニコ」の事例を紹介しよう。ニコニコはゲームではなく動画閲覧ツールなのだが,ネットワーク越しのデータ取得や,PSN以外のログインなど,普通のゲーム

    「PlayStation Vita Game Conference 2012」レポート:ゲーム機での開発経験のないドワンゴがいかにして「ニコニコ」を作り上げたか
    saz_go
    saz_go 2012/04/03
    4分木フォントキャッシュが面白い。プログラマぽい。
  • モバイルゲームの歴史を年代別にご紹介します。モバイルゲームの成長と今後について詳しく解説していきます。

    モバイルゲーム 物凄い勢いで勃興したモバイルゲーム業界は、いろいろな課題や問題に直面しながらも巨大化し、今日の時点でのスマートフォン向けゲームの市場へと継承されていきます。 モバイルゲーム歴史 2001 Javaアプリと3Dゲームの登場 Javaが利用できるようになったことにより、ダウンロード型のゲームが供給できるようになりました。 2002 携帯電話端末の大容量化・3D化競争 Java搭載携帯電話端末が登場してからごく僅か1年の間に、アプリのサイズに関しては10倍に広大化し、表現方法も2Dから3Dにシフトし始めました。J-PHONEは『ゼビウス』や『スペースハリアー』などといった昔のアーケードゲームを、ドコモはSIMCITYなどパソコンで世界的規模のヒットを飛ばしたゲームを主力商品としていました。 2003 モバイルゲームの一般化 メモリの制限が厳しいJava仮想マシン上ではなく、OS

  • アンチエイリアス サンプル

    マルチサンプリングは、各ピクセル色を決定する複数のサンプル ポイントを使用して、高解像度の表示を模倣することでエイリアスを減らそうとします。このサンプルは、ビデオ カードによってサポートされているさまざまなマルチサンプリング テクニックが、シーンのレンダリングにどのように影響を与えるかを示しています。マルチサンプリングが効率的にエイリアスを抑制しても、特定の状況下では独自の不自然な効果が発生することがあります。サンプルに示されているように、重心サンプリングによって、マルチサンプリングで発生しやすい不自然な効果が抑制されます。重心サンプリングは、ピクセル シェーダー 2.0 モデル以降でサポートされています。 注 このサンプルで、複雑なピクセルレベルの詳細をさらにはっきりと表示するには、拡大鏡ツールを使用して画面をズームします。ツールを起動するには、[実行](Run) ダイアログで「拡大鏡」

    アンチエイリアス サンプル
    saz_go
    saz_go 2012/01/31
    マルチサンプリング
  • Inigo Quilez

    Intro Warping, or dommain distortion is a very common technique in computer graphics for generating procedural textures and geometry. It's often used to pinch an object, strech it, twist it, bend it, make it thicker or apply any deformation you want. It works as long as your base color pattern or geometry is defined as a function of space. In this article I'm only going to show a very particular c

    Inigo Quilez
  • 西川善司のTechnical Insight第十二回:2011年を振り返る③|テクニカル・インサイト|シリコンスタジオ株式会社

    2011年最後になるテクニカルインサイトでは、2011年のゲーム業界の動向やゲームグラフィックス動向を振り返りつつ、総括する内容で締めくくりたいと思います。 2011年は「携帯ゲーム機のハードに湧いた年」という印象は確かに強いのですが、実際は、据え置き型ゲーム機向けのハイエンドゲームが例年にないほどの豊作だったといえます。 世界市場視点で見ればPS3専用タイトルとしては「KILLZONE3」「レジスタンス3」「アンチャーテッド-砂漠に眠るアトランティス」が登場しましたし、Xbox360専用タイトルとしては「Gears of War3」「Forza Motorsport 4」がリリースされています。マルチプラットフォームタイトルに目を向ければ、ここでは挙げきれないほどのビッグネームが数多く登場しています。「CRYSIS2」「PORTAL2」「Call of Duty: Modern Warf

    saz_go
    saz_go 2011/12/27
    これをマーケティングリサーチなどでも用いられるような多次元尺度構成法で低次元に写像し、これに対してスプライン補間をし、その結果を再び多次元のモーションデータに復元する 「マーケティングリサーチなどでも
  • MMD on WebGL 踊れるようになった(あと IK について) - by edvakf in hatena

    IK を実装して踊れるようになった。 11月2日現在、「きしめん」を踊ってくれる。普通のスピードで再生できれば25秒ぐらい。 http://edv.sakura.ne.jp/mmd/ MMD のフレームは 30fps なので、リアルタイムに再生するなら 1000ms/30=33ms ぐらいで1フレームの処理を終えなければならないのだけど、IK の計算で 30ms ぐらいかかってしまう時もあり(GC のためか)、物理演算までやるのは厳しくなってきた。今でさえちょっと遅いパソコンだとスローモーションになってしまう。あと Firefox より Chrome のほうがかなり速い。 Lat 式から頂点数の少ないモブ子さんに替えてみた。Firefox でもヌルヌル動くはず。ただし Windows の Firefox にはバグがあるので真っ白になることもある。 物理までやったらもうちょっと最適化してみる

    MMD on WebGL 踊れるようになった(あと IK について) - by edvakf in hatena
    saz_go
    saz_go 2011/12/15
    WebGLで動くMMDプレーヤーとIKの説明。
  • 有効なWikiNameではありません - PukiWiki for PBCGLab

    Site admin: fujis PukiWiki 1.5.4 © 2001-2022 PukiWiki Development Team. Powered by PHP 8.1.29. HTML convert time: 0.008 sec.

    saz_go
    saz_go 2011/12/09
    試してみたけど早くならなかった。GPU向けのアルゴリズムだからか?
  • 「動物らしい行動」をAIと仕様で実現する際に考えたこと

    SiFi-TZK @SiFi_TZK そいや昨日のAI話参加できなかったけど、テーマは面白そうだったなー。チューリング・テストに合格するようなAIとかには正直(仕事としては)興味ないけど、パンダを作ったときに、「動物の行動らしさ」をどう表現するか、にはかなり頭を絞った。 SiFi-TZK @SiFi_TZK パンダくらい人間に近い知能レベルの動物だと、「動物っぽさ」に対して、「人間っぽさ」をどう混ぜ込むか、というさじ加減の話になる。「動物っぽさ」というのはつまり、どれだけ能と反射に基づいた行動をするか、ということ。

    「動物らしい行動」をAIと仕様で実現する際に考えたこと
  • Mersenne Twister: A random number generator (since 1997/10)

    English Version News: MTToolBox をGitHubで公開しました。(2013/10/04) TinyMTをリリースしました。 (2011/06/20) MTGPをリリースしました。(2009/11/17) SIMD-oriented Fast Mersenne Twister (SFMT) をリリースしました。 SFMTはオリジナルのMersenne Twisterより約二倍速く、 よりよい均等分布特性を持ち、零超過初期状態からの回復も高速です。 SFMTのページを見てください。 (2007/1/31) お願い:使う時にemailを一通下されば、 今後の改良のはげみになります。 どんなささいな問題点でも、見つけ次第御連絡下さい。 m-mat @ math.sci.hiroshima-u.ac.jp (このメールアドレスは スペースを抜いて手で打ち直してください)

    saz_go
    saz_go 2011/11/02
    擬似乱数生成のメルセンヌツイスタ。
  • https://www.fenrir.co.jp/blog/2011/10/pixel_format.html

    saz_go
    saz_go 2011/10/20
    乗算済みアルファの話か
  • [AS3] 三角関数で座標を回転するふたつの計算方法

    投稿者:野中 文雄 | 投稿日:2011.09.22 | [AS 3][ActionScript][Tips][野中ゼミ] 角度からxy座標を定めるには、三角関数が用いられます。具体的には、つぎのふたつの計算の仕方があります。これらふたつの違いと使い方をご紹介します。 【角度からxy座標を定める】 原点からの距離がrで正のx軸となす角度がθの座標 x座標: r cosθ y座標: r sinθ 座標(x, y)を原点でθ回転した座標 x座標: x cosθ - y sinθ y座標: x sinθ + y cosθ 01 原点からの距離と角度で位置を定める 三角関数は、原点(0, 0)からの距離が1で正のx軸となす角度がθのxy座標を(cosθ, sinθ)と定めました(gihyo.jp連載「ActionScript 3.0で始めるオブジェクト指向スクリプティング」第16回「三角関数を使っ

    [AS3] 三角関数で座標を回転するふたつの計算方法