タグ

algorithmとpythonに関するNaruhodiusのブックマーク (5)

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

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

  • コンピュータが視る高円寺: 高円寺に似てる街は? - 高円寺を愛するひとへ、ビビッと通電!高円寺のWEBマガジン【Concent】

    Warning: Declaration of HSM_PageTitle::load($meta) should be compatible with HSM_Module::load($meta = '') in /home/users/2/concent--e/web/concent_root/wp-content/plugins/headspace2/modules/page/page_title.php on line 62 Warning: Declaration of HSM_Description::load($meta) should be compatible with HSM_Module::load($meta = '') in /home/users/2/concent--e/web/concent_root/wp-content/plugins/headspac

    コンピュータが視る高円寺: 高円寺に似てる街は? - 高円寺を愛するひとへ、ビビッと通電!高円寺のWEBマガジン【Concent】
  • 人材獲得作戦の試験問題を解いてみた - 良いもの。悪いもの。はてな部屋

    出遅れた感があるけど、人材獲得作戦の試験問題をPythonで解いてみた。もちろん、調べたりググったりするの禁止で。というかググればコピペで終わりのような気がする。今回はゆるめの記事なので、メインのブログではなく、こちらに書いておく。 普通にダイクストラ法で書いたけど、何故か40分もかかった。途中でコードが気に入らなくて最初から書き直したり、ケアレスミスの修正をしたりしたからか。それにしてもすっきりしないコードだ。INFを100000で決め打ちしていたりとか、優先順位付きキューを用いていなかったりとか、周りに壁があること前提だとか。いろいろひどいなぁ。 これだけじゃ面白くないので、ダイクストラ法とA*アルゴリズムの違いを説明してみる。ダイクストラ法はスタート地点から順に隣接するノードの距離を足し合わせていき、常に最も距離の短いノードからそれに隣接するノードを調べていく方法で、A*は距離を足し

    人材獲得作戦の試験問題を解いてみた - 良いもの。悪いもの。はてな部屋
  • 迷路解いた(A*で)

    A*で解いてみた。距離はマンハッタン使った。 迷路やった maze = ["**************************", "*S* * *", "* * * * ************* *", "* * * ************ *", "* * *", "************** ***********", "* *", "** ***********************", "* * G *", "* * *********** * *", "* * ******* * *", "* * *", "**************************"] start = () goal = () max = len(maze) + len(maze[0]) for (h,line) in enumerate(maze): for (w,word) in en

    迷路解いた(A*で)
  • Python: 画像で与えられた迷路に対し2点間の最短経路を求める

    迷路の描かれた画像に対して、ピクセルの座標で指定したスタート地点とゴール地点の最短経路を求めるプログラムをPython+PILで書いてみた。使用する画像は、デジカメで撮ったものでも、ウェブから拾ってきたものでも、ペイントソフトで自作したものでも構わない。 まずは使用例を見て欲しい。この画像は携帯カメラで撮った自作の簡単な迷路だ(画像上)。それに対して指定した2点間の最短経路を赤線で示してみた(画像下)。ピクセル単位で計測しているので赤線が若干ガタガタしていて完全な最短経路ではないがほぼ最短と考えていいだろう。迷路画像(画像上)をmaze01.jpgとし、スタート地点の座標が(240, 160)、ゴール地点の座標が(210, 400)の場合、コマンドラインで以下のように実行する。 maze_solver.py maze01.jpg -s 240 160 -g 210 400 これで最短経路を

    Python: 画像で与えられた迷路に対し2点間の最短経路を求める
  • 1