タグ

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

  • 最強最速アルゴリズマー養成講座:アルゴリズマーの登竜門、「動的計画法・メモ化再帰」はこんなに簡単だった (1/5) - ITmedia エンタープライズ

    動的計画法とメモ化再帰 今回は、非常によく用いられるアルゴリズムである、「動的計画法」「メモ化再帰」について説明します。この2つはセットで覚えて、両方使えるようにしておくと便利です。 なお、メモ化再帰に関しては、第5・6回の連載の知識を踏まえた上で読んでいただけると、理解が深まります。まだお読みになっていない方は、この機会にぜひご覧ください。 中学受験などを経験された方であれば、こういった問題を一度は解いたことがあるのではないでしょうか。小学校の知識までで解こうとすれば、少し時間は掛かるかもしれませんが、それでもこれが解けないという方は少ないだろうと思います。 この問題をプログラムで解こうとすると、さまざまな解法が存在します。解き方によって計算時間や有効範囲が大きく変化しますので、それぞれのパターンについて考えます。 以下の説明では、縦h、横wとして表記し、プログラムの実行時間に関しては、

    最強最速アルゴリズマー養成講座:アルゴリズマーの登竜門、「動的計画法・メモ化再帰」はこんなに簡単だった (1/5) - ITmedia エンタープライズ
  • A* - Wikipedia

    A*探索アルゴリズム A*(A-star、エースター)探索アルゴリズム(エースターたんさくアルゴリズム)は、グラフ探索アルゴリズムの一つ。 最良優先探索を拡張したZ*に、さらにf値として「現時点までの距離」g と「ゴールまでの推定値」h の和を採用したもの[1]。h は ヒューリスティック関数と呼ばれる。 概要[編集] A* アルゴリズムは、「グラフ上でスタートからゴールまでの道を見つける」というグラフ探索問題において、 ヒューリスティック関数 h(n) という探索の道標となる関数を用いて探索を行うアルゴリズムである。h は各頂点 n からゴールまでの距離のある妥当な推定値を返す関数で、解くグラフ探索問題の種類に応じてさまざまな h を設計することが出来る。 例えば、カーナビなどで用いられる単純な二次元の地図での探索では、h としてユークリッド距離 を使うことができ、この値は道に沿った実際

    A* - Wikipedia
  • 経路探索アルゴリズムA*をRubyで実装してみた - gan2 の Ruby 勉強日記

    前回書いた経路探索アルゴリズムA* - gan2 の Ruby 勉強日記が たくさんブクマされててちょっとびっくりです(;゚Д゚) 実装はFlash(Action Script)でやろうと思っていたのですが、 その前にRubyで書いてみることにしました。 途中、アルゴリズムの理解が不十分だったせいもあり、 多少てこづりましたがとりえず完成しました! ソースはあんまり整理してないけども、 あまり気にせずに貼り付けておきます(ノ∀`) =begin **** 経路探索アルゴリズムA*(エースター) a-star.rb **** アルゴリズムの概要 スタートノードから、あるノード n を通って、 ゴールまで辿り着くときの最短路経路を考える。 このとき、最短経路のコスト f(n) を次の式で表す。 f(n) = g(n) + h(n) ここで、g(n) はスタートノードから n までの最小コスト。

    経路探索アルゴリズムA*をRubyで実装してみた - gan2 の Ruby 勉強日記
  • アルゴリズムとデータ構造編 トップページ●Programing Place

    サービス終了のお知らせ いつもYahoo! JAPANのサービスをご利用いただき誠にありがとうございます。 お客様がアクセスされたサービスは日までにサービスを終了いたしました。 今後ともYahoo! JAPANのサービスをご愛顧くださいますよう、よろしくお願いいたします。

  • サービス終了のお知らせ

    サービス終了のお知らせ いつもYahoo! JAPANのサービスをご利用いただき誠にありがとうございます。 お客様がアクセスされたサービスは日までにサービスを終了いたしました。 今後ともYahoo! JAPANのサービスをご愛顧くださいますよう、よろしくお願いいたします。

  • 自動生成迷路

    迷路自動生成アルゴリズム プログラムによる迷路の自動生成の解説ページです。 どちらかというと大きな迷路を生成する事に興味があり、ゲームソフトで使われる迷路とは観点が異なっています。 下記のソフトをダウンロードして実行すると、棒倒し法と穴掘り法と壁延ばし法の実際の迷路の生成動作を見ることができます。 ダウンロード(Windows用ソフト) 249Kバイト 1.はじめに 自動生成迷路はの基形は方形座標上で、各マスが壁または道から成り立っています。 このデータはプログラム上も2次元配列で簡単に作れ、各マスが壁か道かだけを覚えていればいいので、表現も簡単です。 またこれを画面に反映する際も、道や壁を適当なアイコンに置き換えればいいので、比較的簡単にゲームに使えます。 道の幅は通常1マスです。 2.棒倒し法 棒倒し法は、比較的プログラミングの楽な迷路生成法です。 最初に基となる四角の外壁と、その

  • 1