タグ

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

  • ゲームプログラミングのための行動AI数学|書籍情報|デジタルクリエーターを支援するサービスカンパニー 株式会社ボーンデジタル

  • 写真に基づく3D空間構築手法の到達点 - A Successful Failure

    一昔前は実世界の建築物を元にウォークスルー可能な3D空間を構築しようと思ったら、まず各部屋の形状を計測器を用いて計測し、その計測結果に基づいて人手でモデル化し、領域ごとにテクスチャを貼り、照明を設定して……と気の遠くなるような作業が必要だった。3D空間の構築は極めてコストの高い作業だったが、近年では2次元画像(実写写真)に基づいた3D空間の構築手法が長足の進歩を遂げており、以前に比べれば極めて低コストに3D空間を構築する事が可能となっている。 【告知】Twitterはじめました。@LunarModule7です。 興味のあるかたはフォローくださいとしばらく宣伝。 今ではバラバラに撮影した写真から、全自動で3D空間を構築し、内部を自由にウォークスルーできるようになっている。ワシントン大学とMicrosoft Reseachが2009年に発表した研究*1は現時点における集大成とも言えるものとなっ

    写真に基づく3D空間構築手法の到達点 - A Successful Failure
  • Java 7のArrays.sort(Object[]): 柴田 芳樹 (Yoshiki Shibata)

    Java 7のEarly Access版をダウンロードしました。昨日、Joshua Bloch氏にProject Coinへ彼が提案している言語仕様の変更はすでに実装されているのかと聞いたところ、まだプロトタイプされていないということでした。で、その話のついでに、ソートの話になり、Java 7にはTimSortが入っているということで、調べてみました。 従来、コレクションフレームワークのArraysクラスのsort(Object[])は、今まではマージソートで実装されていました。しかし、Java 7にはパッケージプライベート宣言されているTimSortクラス(TimSort.java)が追加されており、Arrays.sort(Object[])(と関連する他のsortメソッド)はデフォルトでTimSortクラスのsortメソッドを使用するように書き換えられています。 TimSort.jav

    Java 7のArrays.sort(Object[]): 柴田 芳樹 (Yoshiki Shibata)
  • ジャンル別ゲームの作り方とアルゴリズムまとめ - ネットサービス研究室

    ゲームの作り方とアルゴリズムをジャンル別にまとめてみました。ゲーム制作や、プログラミングの勉強用にご活用ください。言語別ゲームプログラミング制作講座一覧もあわせてお読みください。 リンク切れがおきていたものは、URLを表示しておくので、Internet Archiveなどでキャッシュを表示させてみてください。 RPG ゲームの乱数解析 乱数を利用した敵出現アルゴリズムの解説 各種ゲームプログラム解析 FF、ドラクエ、ロマサガのプログラムの解析。乱数の計算など ダメージ計算あれこれ(http://ysfactory.nobody.jp/ys/prg/calculation_public.html) ダメージの計算式 エンカウントについて考えてみる エンカウント(マップでの敵との遭遇)の処理方法いろいろ RPGの作り方 - ゲームヘル2000 RPGのアルゴリズム ドルアーガの塔 乱数の工夫の

    ジャンル別ゲームの作り方とアルゴリズムまとめ - ネットサービス研究室
  • データベースの動的デフラグ - mixi engineer blog

    ノートPCの冷却ファンがうるさいのを対処しようとしてWebで調べたら、そのファンの設計者が「静音性へのこだわり」を語ったページにたどり着いて複雑な心境のmikioです。今回は、Tokyo Cabinet(TC)の最新バージョンで実装された動的デフラグ機能について長々と説明します。 断片化とデフラグ 任意のサイズのデータを管理する記憶装置においては、利用可能領域の断片化(fragmentation)の問題が常につきまといます。ファイルシステム上で任意のサイズのファイルを管理する際にも、データベースファイル内で任意のサイズのレコードを管理する際にも、C言語のmalloc/free関数群でメモリの管理をする際にも、様々なレイヤで断片化が起きうるのです。なぜなら、データを削除もしくは移動した際の空き領域を再利用するにあたって、その領域と同じサイズのデータが常に入ってくるとは限らないからです。特にデ

    データベースの動的デフラグ - mixi engineer blog
  • 統計的に正しいランキングを行う方法をJavaで書く - バイオインフォマティクスって何ですか?

    Java | 統計的に正しいランキングを行う方法を見たのでちょっとJavaで書いてみる。はじめになにがしたいかというと、「レイティング」というのをご存じでしょうか。Amazonとかで商品を購入者が星つけて評価したりしてるやつ。ああいうので「良かったランキング」というのを作りたい。みんなが「購入して良かった」という評価をつけてる商品は、他の人にとっても「良かった商品」になる可能性が高い。いい商品だということがわかるわけです。問題点じゃあどういうふうにランキングをつければいいの?ということを考えると、次の問題にぶちあたる。評価してる人の数の違い。例えば、Aという商品は100人が評価していて、平均の星の数は 4.8 だとする。一方、Bの商品は1人が星5つで評価していたとする。このとき、Aの商品とBの商品ではどちらをランキング上位にすればいいだろうか?あなたならどちらを買いたい?Aはたくさんの人が

  • [空を飛ぶ鳥の群れの動きを再現するアルゴリズムの論文] Craig Reynolds: Flocks, Herds, and Schools: A Distributed Behavioral Model

    Published in Computer Graphics, 21(4), July 1987, pp. 25-34. (ACM SIGGRAPH '87 Conference Proceedings, Anaheim, California, July 1987.) Flocks, Herds, and Schools: A Distributed Behavioral Model 1 Craig W. Reynolds Symbolics Graphics Division [obsolete addresses removed 2] Abstract The aggregate motion of a flock of birds, a herd of land animals, or a school of fish is a beautiful and familiar par

  • プログラムの動かし方の本 - きしだのはてな

    Seasarカンファレンスで、基礎としてプログラムの動かし方であげた。と、それに加えて挙げれなかった。 ちなみにSeasarカンファレンスでの内容はid:tanamonがまとめてくれてる。というか、手書きスライドの書き起こしをしてもらってます。 「手書きで書く→ソーシャルに清書してもらう」という、新しいプレゼン手法が生まれました! 差のつく勉強法200のメモ - tanamonの日記 プレゼンや以前のエントリでは、プログラムというのは計算論と意味論に分かれると書いたけど、プログラム意味論という分野と混同してへんな議論になっちゃうので、「プログラムをどう動かすか」と「プログラムをどう書くか」に分かれるとします。命令的な側面と宣言的な側面だと言ってもいいかもしれない。今回は命令的な側面について。 まずは、基礎となる数学、離散数学について。 やさしく学べる離散数学 作者: 石村園子出版社/メ

    プログラムの動かし方の本 - きしだのはてな
    nowokay
    nowokay 2009/03/19
    ↓類書をもっていないとして、どれか一冊といわれると「Java データ構造とアルゴリズム基礎講座」ですかね。|↑ほとんど読んでない本もたくさんあるです
  • ブロックアルゴリズムとB-Treeアルゴリズム

    ファイルサーチを高速化するB-Treeアルゴリズム ext2、ext3がベースとするブロックアルゴリズムは、ブロック数が対応するディスクのジオメトリ数に制限されること、ファイルサーチにO(n)かかる(注)こと、ファイルサイズに関係するパフォーマンス低下など、いくつかの問題があった。 注:「O(n)」とは、実行時間が入力の大きさ「n」に比例するアルゴリズムである。O(n)は「nのオーダー」または「オーダーn」と読む。後述する「O(log n)」は、アルゴリズムの計算量に関する議論の場合logの底は常に2で、O(log n)の方がO(n)よりも効率が良い。例えばn=8の場合、O(log n)は入力8に対して3回の実行で済むが、O(n)は8回の実行となる。 ReiserFS、JFS、XFSといったファイルシステムでは、こうしたブロックアルゴリズムの限界に対して、早い段階からデータベースの技術をフ

    ブロックアルゴリズムとB-Treeアルゴリズム
  • LBQ + GC = Slow - DZone Java

  • 2008-12-04 - 業務連絡 2 フェーズコミットと Logging Last Resource,特許とオープンソース

    しました. ■変更点 2.4.32 からの変更点は次のとおりです. Bug [CONTAINER-299] - [S2JDBC] SimpleWhere や Operations の starts()/ends()/contains() で,Oracle ではワイルドカードになる全角の '%' や '_' がエスケープされない問題を修正しました.[Seasar-user:16239] [CONTAINER-300] - [S2BeanUtils] CharSequence型指定時にexcludesメソッドが利かない不具合を修正しました。 [CONTAINER-302] - [JPA] Jar ファイル内の永続ユニットを扱うと FileNotFoundException が発生する問題を修正しました.[Seasar-user:16276] [CONTAINER-312] - [S2JDBC]

    2008-12-04 - 業務連絡 2 フェーズコミットと Logging Last Resource,特許とオープンソース
  • 2008-12-05

    昨日リリースした S2JDBC-Gen 0.9.4 ですが,pom.xml の記述に間違いがあったため,修正して再リリース&再デプロイしました. 申し訳ありませんが,こちらから再ダウンロードをお願いします. http://s2container.seasar.org/2.4/ja/downloads.html Maven リポジトリにインストール済みの場合は以下のディレクトリを削除してください. /org/seasar/container/s2jdbc-gen/0.9.4 ご迷惑をおかけして申し訳ありません.m(__)m GlassFishLogging Last Resource (LLR) はやっぱり WebLogic のものと同じアイディアっぽい. v2-b43 のコードだと com.sun.jts.CosTransactions.RegisteredResources#dis

    2008-12-05
  • 2フェーズコミットと分散トランザクション - おおたに6号機blog

    2フェーズコミットと分散トランザクションの日語のさっと読めるサイトなら、この辺よいですよと獄長に教わりましたm(_ _)m 5.X/Open の分散トランザクション処理参照モデル とかちゃんと知らなかったっす・・・・ http://www.ogis-ri.co.jp/otc/hiroba/technical/DTP/step2/index.html http://www.datadirect.co.jp/SupportLink/dev_center/jdbc/topics/jta (追記) 2フェーズコミットとその最適化として、あわせて読みたい 「2 フェーズコミットと Logging Last Resource,特許とオープンソース」 http://d.hatena.ne.jp/koichik/20081204#1228395633 ちょw、いま気づいたけど小林さんのblogが業務連絡

    2フェーズコミットと分散トランザクション - おおたに6号機blog
  • AKSアルゴリズム @ 素因数分解 @ IDM

    最終更新日:2005.11.27 この文書は、Manindra's home pageにて公開されているPRIMES is in PのRevised paper version(3訂版)に基づいている。同論文の2005年11月27年現在の最新版はAUgust, 2005 version(6訂版) AKSアルゴリズムについての概説は、Wikipediaの項目も参照。 目次 紹介 発想 記法 アルゴリズム アルゴリズムの正当性 計算量の評価 関連資料 変更履歴 紹介 AKSアルゴリズムとは、2002年8月6日に、PRIMES is in Pという論文の中に示された決定性多項式時間の素数判定アルゴリズムである。素数に関係する世界では大変話題になった。アルゴリズムの名前は、論文の著者であるインド工科大学計算機科学工学部のManindra Agrawal教授と、その学生であるNitin Saxena

  •    最速の素数判定アルゴリズム  

    1 : 刺身定:2001/06/25(月) 17:22 最速のアルゴリズムはRabinの定理を使ったものと聞き、 文献を読んでみたのですが、サッパリわかりません。 日で完璧に理解している方、たまたまこのスレ 見ていたら、ついでに教えてください。 マジです。 2 :デフォルトの名無しさん:2001/06/25(月) 18:27 >>1 理解できないのならあきらめるしかないでしょう。 他人をたよるのはよくありません。 3 :デフォルトの名無しさん:2001/06/25(月) 19:22 >>1 その「さっぱり」って言葉がやるきねぇなぁと他人に感じさせるので、 そういう聞き方では知識ナルシスト以外教えてくれないと思われ。 4 :デフォルトの名無しさん:2001/06/25(月) 19:26 エラストテネスの篩で我慢しろ。 5 :デフォルトの名無しさん:2001/06/25(月) 20:15

  • 第6回 はてなブックマークの可視化(後編) | gihyo.jp

    はじめに 最終回となる今回は、これまでの学習内容のまとめとして、はてなブックマークの人気エントリーをツリーマップとして可視化します。 この可視化では、ノードの表示位置によってブックマークのカテゴリ特性を、ノードの大きさによってブックマーク数を、そして色によってブックマークの「コメント率」を、それぞれ視覚的に表現します。 ソースコードのダウンロード 今回作成するプログラムのソースコードは、こちらから一括してダウンロードすることができます。ZIPファイルを展開して生成されるフォルダを、プロジェクトとしてNetBeansに読み込むことも可能です。 特徴量ベクトルの生成 前回のプログラムでは、はてなブックマークにユーザーが付与したタグの一覧を収集しました。このタグ情報を特徴量ベクトルに変換し、第2回で作成したMultiVectorクラスのインスタンスとして表現することを考えます。 このとき問題とな

    第6回 はてなブックマークの可視化(後編) | gihyo.jp
  • 良い乱数・悪い乱数

    C言語標準ライブラリの乱数rand( )は質に問題があり、禁止している学会もある。 他にも乱数には様々なアルゴリズムがあるが、多くのものが問題を持っている。 最も多くの人に使われている乱数であろう Visual Basic の Rnd の質は最低である。 そもそも乱数とは 乱数とは、来サイコロを振って出る目から得られるような数を意味する。 このような乱数は予測不能なものである。 しかし、計算機を使って乱数を発生させた場合、 次に出る数は完全に決まっているので、予測不能とはいえない。 そこで、計算機で作り出される乱数を疑似乱数(PRNG)と呼び区別することがある。 ここでは、特にことわらない限り乱数とは疑似乱数のことを指すとする。 計算機でソフト的に乱数を発生させることの最大のメリットは、 再現性があることである。 初期状態が同じであれば、発生する乱数も全く同じものが得られる。 このことは

  • 多項式時間素数判定アルゴリズム

    AKSアルゴリズムと PRIMES is in Pに関する解説のページです 以下の説明は、元論文を参照しながらお読みください。 元論分のサイト:Manindra Agrawal, Neeraj Kayal and Nitin Saxena, PRIMES is in P, the original version of the paper. アルゴリズムの基となるアイデア アルゴリズムの概要 AKS アルゴリズム 使用する用語と記号 アルゴリズムの動作概要 アルゴリズムの正当性の証明概要 アルゴリズムの正当性の証明の蛇足説明 アルゴリズムの正当性の証明詳細のための準備 PRIMES is in P セクション3の解説 Lemma 3.1. Lemma 3.1.(fact 1) Lemma 3.1.(fact 2) Lemma 3.1.(fact 3) Lemma 3.1.(fact 4

  • Home

    "I DO IT" is an all-in-one application that integrates several advanced features in order to make tourism more inclusive for everyone. Thanks to the use of mixed reality, users can virtually explore and visit hotels, discovering every detail without having to physically move from their location. NFC tags allow guests to easily access to detailed […]

    Home
  • クラスタリングによる迷路作成アルゴリズム

    はじめに クラスタリングアルゴリズムにより、解くと絵が浮かび上がる 迷路を作成する方法を紹介する。 クラスタリングとは ウェブのリンク情報や、mixiの友人関係など、ネットワークの性質を 知りたいことがよくある。このとき、ネットワークの性質として このネットワークにおいて任意に選んだ要素Aと要素Bはつながっているか? このネットワークは全体がつながっているか? つながっていないとしたらいくつのグループに分かれるか? 要素数最大のグループはどれか? などの情報が欲しくなる。このような解析をするときに 必要となるのがクラスタリングである。 クラスタリングとは、同値関係のリストが与えられたときにグループ分けを することである。たとえば、 友達友達友達である と定義すると、友人関係は同値関係を作る。 その上で、 A君とB君は友達 C君とE君は友達 B君とD