タグ

Algorithmとalgorithmに関するhamastaのブックマーク (155)

  • 第12回 対戦ゲームの戦略を考える

    あなたは魔法使い。もちろんプログラミングの腕もウィザード級です。そんなあなたがライバルと対決することになりました。マップ上にある「魔法の要素」をうまく集めてライバルを倒すプログラムを作成してください。今回は,相手を攻撃するアルゴリズムを組み込んでプログラムを完成させることにします。 前回に引き続き,プログラム同士を対戦させるゲームのアルゴリズムを考えます。前回は,目的地に向かってキャラクタを移動させる方法などを紹介しました。今回は,敵を攻撃するアルゴリズムを追加して,実際に対戦できるようにします。これまで連載で得た知識をフル動員して,アルゴリズムを考えましょう。 前回の連載をご覧になっていない人のために,ゲームのルールを簡単に説明しておきましょう。ゲームの内容は縦10×横20の盤面上にいる二人の魔法使いを対戦させるものです(図1)。魔法使いは,ターンごとに「移動する」「魔法を使う」「魔法

    第12回 対戦ゲームの戦略を考える
  • 矢沢久雄の情報工学“再”入門

    ITエンジニアの皆さんなら,一度は「情報工学」を学んだことがあるかもしれない。しかし,その知識をしっかり身に付けている人は少ないのではないだろうか。連載では,プロフェッショナルの必須知識と言える情報工学の様々な理論について解説していく。 第1回 アルゴリズムと計算量---「計算量理論」を理解し,アルゴリズムを評価する 第2回 形式言語とオートマトン---「文」のルールを知り,機械に解釈させる 第3回 符号化理論---あらゆる情報を数値で扱う「符号化」理論を知る 第4回 ブール代数---論理を「1」と「0」で表す「ブール代数」を理解する 第5回 グラフ理論---要素同士のつながり方を「点」と「辺」で分析する 第6回 オペレーションズ・リサーチ(OR)---数学モデルを駆使して,経営戦略を立案する 第7回 集合論---数学の「集合論」にRDBの正体を見る 第8回 RDBの正規化理論---から

    矢沢久雄の情報工学“再”入門
  • 404 Blog Not Found:グラフィックに役立つ数学的事実

    2007年06月20日10:30 カテゴリ翻訳/紹介Math グラフィックに役立つ数学的事実 del.icio.us経由。 Handy Mathematics Facts for Graphics 単なる翻訳ではなく、もう少し使いやすくしてみた。 定数 実際にJavaScriptに計算させています。 √2 = sqrt(2) = Φ = (sqrt(5) + 1)/2 = 黄金比の長い方。短い方は小文字のφをあてることが多い。φ = 1/Φ = Φ - 1 = √3 = sqrt(3) = e = exp(1) = π = 4 * atan2(1,1) = ファイゲンバウム定数 詳しくは Feigenbaum Constant -- from Wolfram MathWorld Feigenbaum constants - Wikipedia, the free encyclopedia

    404 Blog Not Found:グラフィックに役立つ数学的事実
  • 第11回 プログラム同士の対戦ゲーム

    あなたは魔法使い。もちろんプログラミングの腕もウィザード級です。そんなあなたがライバルと対決することになりました。マップ上にある「魔法の要素」をうまく集めてライバルを倒すプログラムを作成してください。今回は,カコミ記事「ゲームのルール」に従って移動ができるまでとします。 キャラクタを移動させるアルゴリズム アルゴリズムを作っていて一番うれしいと感じるのは,「自分で作ったアルゴリズムが動くところを見る」ときではないでしょうか? 日IBM主催で大会が開かれた「Robocode」がその代表的なものでしょう。Javaで仮想的なロボットを制御するアルゴリズムを記述し,対戦させるゲームです。アルゴリズムを組み立てたら,さっそくその内容を試せますし,アルゴリズムが悪ければゲームに負けてしまいます。こうして楽しみながらトライ&エラーでアルゴリズムを組み立てられるところから,新人研修などで最近よく使われて

    第11回 プログラム同士の対戦ゲーム
  • B木 (B-tree)

    □ 多レベル索引の一種 挿入や削除のタイミングで動的な再編成が効率良く可能. レベル数は層レコード数 に対して ですむ. □ B-tree よりも後述の B-tree の方が良く使われるが,原理の 理解は B-tree の方が理解しやすいので,先に説明する. 以下ではキー値に重複がないものと仮定する. 定義 8 (B木 (B-tree))   が正整数であるとする.次の B木 (a B-tree of degree ) の 各ノードは次のような情報を持つページで,以下に述べる条件を満たすものである (図 6.5, p112 参照.): はroot ノード以外では である. root ノードでは である. レコード のキー値を で表すとすると, である. レコードは最大で 個まで持てる. はページへのポインタである. (つまり部分木へのポインタである.) 中に現れる全てのレコード

  • 404: Page not found - HostGator

    Why Am I Seeing This? A 404 error means that the requested file cannot be found. This can be due to an incorrect URL, a misnamed file, an improper directive within the .htaccess file, or a file having been uploaded to an incorrect folder. Please ensure you typed the correct URL. How Do I Fix It? Troubleshooting 404 Errors Learn How To Customize This Page For full information on 404 errors and how

  • 幾何学計算プログラム

    hamasta
    hamasta 2007/05/31
    日本語 群馬大学 数値計算特に幾何学計算用 C言語公開ライブラリ 論文参照情報あり
  • [空を飛ぶ鳥の群れの動きを再現するアルゴリズムの論文] 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

    hamasta
    hamasta 2007/05/29
    英語やるぞ英語やるぞ英語やるぞ英語やるぞ
  • 【インフォシーク】Infoseek : 楽天が運営するポータルサイト

    日頃より楽天のサービスをご利用いただきましてありがとうございます。 サービスをご利用いただいておりますところ大変申し訳ございませんが、現在、緊急メンテナンスを行わせていただいております。 お客様には、緊急のメンテナンスにより、ご迷惑をおかけしており、誠に申し訳ございません。 メンテナンスが終了次第、サービスを復旧いたしますので、 今しばらくお待ちいただけますよう、お願い申し上げます。

  • noocyte のプログラミング研究室

    「生涯一プログラマ」志望の中年プログラマ noocyte (ヌーサイト) です. 主にプログラミングやアルゴリズムの話題と,自作フリーソフトを扱っています. 自分で考案したことを中心として,なるべくここにしかない情報を書くようにしています. よそに書いてあることは,そこを見ればすむことなので, わざわざここで同じことを書く気力が湧きません. (私はズボラなので.) 自分で考案したアルゴリズムやデータ構造を中心に解説します. メモリ管理 アラインメントの大きなメモリ領域を確保する方法 アラインメントの大きなメモリ領域を用いて, 高速かつメモリ効率の良い多数の集合を実現する方法 幾何学・CG のアルゴリズム集 3点の座標から簡単に角度と回転方向を求める.(2・3・N次元,外積を用いる方法) 多角形の面積,重心(図心),断面N次モーメントの公式と,向き (頂点列の回転方向) の判別方法 (Win

    hamasta
    hamasta 2007/05/10
    画像処理とWIndowsプログラミングTIPSなど
  • C言語による画像回転処理について

    回転処理において処理結果に入力画像すべてが収まるようにするためには出力画像の大きさを計算する必要があります。 幅:sw、高さ:shの画像をA度回転させたときの出力画像の幅(dw)、高さ(dh)は次のように計算されます。 ( fabs() : math.hで定義されている浮動小数の絶対値を得る標準関数 ) dw = fabs( sw * cos(A) ) + fabs( sh * sin(A) ) dh = fabs( sw * sin(A) ) + fabs( sh * cos(A) ) 実際のプログラム上では幅高さは整数でないといけないので、通常次のように四捨五入をして結果を求めます。 int dw = (int)( fabs( sw * cos(A) ) + fabs( sh * sin(A) ) + 0.5 ) int dh = (int)( fabs( sw *

  • 画像処理

    論文(画像に関するソフトウェアコンポーネントの作成と評価3) [2001/04/22] 今のところ TGL(グラフィックライブラリ)を公開する予定はありません。 C言語による画像回転処理について [2001/02/06] C言語による輪郭追跡処理について [2000/09/23] const修飾子について [2000/11/15] TWAIN操作について [2003/04/20] 戻る

    hamasta
    hamasta 2007/05/10
    C言語サンプル 解説
  • Technical documentation

    This browser is no longer supported. Upgrade to Microsoft Edge to take advantage of the latest features, security updates, and technical support.

    Technical documentation
    hamasta
    hamasta 2007/05/10
    画像処理の記事 C#基礎ほか
  • 【インフォシーク】Infoseek : 楽天が運営するポータルサイト

    hamasta
    hamasta 2007/05/08
    C言語とWindowsプログラミングのメモ
  • 最小完全ハッシュ関数の作り方

    ■順列型の最小完全ハッシュ関数 0から4までの5個の数字が下のように並んでいる場合を例にして説明します。 5個の数字の並べ方は5!通りありますので5!(=120)通りの並べ方の総てに対して0から119までの数値を一意に割り付けることが目的となります。 34102 ここでは左側から順に数字を見ていくことにします。最初の数字は3で残りの数字の個数は4個ですね。 この残れさた数字の個数分の総順列数は4!ですが、この数量を基数と言います。 つまり左端の数字が何であるかを完全に識別する為に最低限必要な基となる重みのことです。 従って先ず最初の数字3に基数である4!を掛け算してはじき出します。 [3]4102 → 3*4! 次に左から2番目の数字ですが、ここから先はとても注意が必要です。 2番目の数字は4で残りの数字の個数は3個です。残りの数字の個数が3個なので基数は3!になります。つまり基数が変化

  • Atsushi's Homepage 〜 Tips

    Tipsについて プログラムに関する雑多な情報を書き残しています。 色々試してみよう Google Web APIs を使ってみる Google Web APIs (Google SOAP Search API) の使い方などの説明です。 (2006/12/29 更新) Google Maps API を使ってみる Google Maps API の使い方などの説明です。 (2007/05/26 更新) Evernote API を使ってみる Evernote API の使い方などの説明です。 (2013/06/05 更新) Twitter API を使ってみる Twitter API の使い方などの説明です。 (2019/01/05 更新) Mastodon API を使ってみる Mastodon API の使い方などの説明です。 (2024/09/03 更新) iTunes Store

    Atsushi's Homepage 〜 Tips
    hamasta
    hamasta 2007/05/02
    ゲームプログラミング アルゴリズム ゲームのソース公開など
  •  ウェーブレット変換てシロモノ。 - monet blog

    web上でウェーブレット変換について、述べているページを列挙。日語:http://www.osaka-kyoiku.ac.jp/~ashino/pdf/wavelet.pdfhttp://dl.cybernet.co.jp/matlab/support/manual/r14/toolbox/wavelet/?/matlab/support/manual/r14/toolbox/wavelet/ch01_int.shtmlhttp://laputa.cs.shinshu-u.ac.jp/~yizawa/InfSys1/basic/chap11/http://www2.starcat.ne.jp/~fussy/algo/algo8-8.htm

  • SPOJ Open Contest 2007 - 純粋関数型雑記帳

    http://www.spoj.pl/ZFUN07/ 4/15〜4/27までSPOJというところでプログラミングコンテストが開かれていたので、 うわさを聞きつけて私も参加しました。 結果としてはSUD以外で満点が取れてほぼパーフェクトに優勝できました。 なんだかコード書いている最中に制限時間が来たので、 ちょっともやもや感も残っていますが、勝ったのでとりあえず良しです。 2位のoxyさんとは新旧R高校理科部対決を繰り広げていました。 若い人とムキになって争うというのもなかなか楽しいものでありました。 問題の方は、これがなかなか面白い問題が多くて良かったです。 AcceptされればそれでOKの問題だけではなくて、 最適解に近いものを出したら高得点とか、 高速に解を出力したら高得点とか、 いろいろ考えさせられるものが多くて楽しかったです。 とくに今回いくつかの問題で速度的なチューニングが要求さ

    SPOJ Open Contest 2007 - 純粋関数型雑記帳
  • 地球にやさしいアルゴリズム---目次 - 地球にやさしいアルゴリズム:ITpro

    アルゴリズムを構成している楽しい仕組みを紹介しながら,あなたに「おおっ」と言わせることが,連載の最初の目的です。興味を持てたなら,アルゴリズムに関する文献や情報を抵抗なく読めるようになるはずです。アルゴリズムを使いこなしたり,作ることも無理なくできるようになるでしょう。 まずはいろいろなアルゴリズムの面白いところを見て,楽しんでみましょう 第1回 ナンプレを解いてみよう 第2回 パズルみたいに楽しいデータ圧縮 第3回 「場面」の移り変わりに注目する 第4回 できるだけ短いルートでゴールに到達する 第5回 隣の区画と異なる色で地図を四色に塗り分ける 第6回 上手なアルゴリズムの見つけ方 第7回 多対多の関係を賢く扱う 第8回 倉庫番を解くアルゴリズム 第9回 プロトコルを実現するアルゴリズム 第10回 麻雀の役を判定する 第11回 プログラム同士の対戦ゲーム 第12回 対戦ゲームの戦略を考

    地球にやさしいアルゴリズム---目次 - 地球にやさしいアルゴリズム:ITpro
  • 目指せプログラマー!

    目指せプログラマー!にようこそ。 当サイトはこちらに引っ越しました。 お手数をおかけしますが、上記サイトへご移動くださいませ。