« 光回線 | トップページ | とりあえずやってみる »

2015年3月 3日 (火)賢しきもの天より墜ち

寒風吹き荒ぶ山々のリア充どもが奔放な性欲をまき散らす今日この頃、皆様いかがお過ごしでしょうか?
日々「爆ぜろリア充!」とか言いまくっているくせに、いざ花粉嚢が爆ぜまくりやがった途端に、リアル涙目のプログラマ、M.L.Kです(LはLinnerのLです。Linner&Binary!)。
う~ん、毎年この時期にブログ当番が回ってきて、同じことを言っている気がするわ~。
てか…マンネリ?ワンパターン?

さて、プログラミングを生業にしていますと、何か沢山あるモノの中に、ある特定の条件のモノがあるかどうかを調べるような処理を書くことが、ままに起こります。

世の中にはリスト探索アルゴリズムと呼ばれるものが昔から幾つか存在しており、調べるモノの量やら調べる速さ、はたまた必要なメモリの量などを見て、どんなアルゴリズムを利用するかを決めるのが一般的です。

ただ、最近、自分でプログラミングをしていて思うのですが、線形探索と呼ばれる方法を用いることが多くなっているように思います(あくまでも、自分がプログラミングする時の話です)。

線形探索というのは、簡単に言うと、沢山あるものを頭から順番に見ていく、という、極めて素朴な方法です(一直線に並べたものを一直線に調べ進めていくのに似た様を指して、“線形”探索と呼ばれます)。

昔は、もっと素敵でややこしいアルゴリズムなんかを実装して悦に入ったりしていたのですが、最近はめっきり線形探索一択です。

なんでかな~、と思って考えたのですが、最近のマシンが余りに処理速度が高くなったお陰で、ゲームなんかで扱う程度のモノの量では、素敵アルゴリズムのややこしさに掛かる時間と、頭からガーっと調べて下手すると最後まで行っちゃう時間とを比べると、その実、あんまり変わらなかったりするからかな~、と思います。

あと、以前と比べてメモリ容量が潤沢になったこともあり、調べる条件に当てはまり得る個数分だけの入れ物を用意して、そこに放り込んでいき、必要になったらその入れ物を覗きに行く、という方法をとっていることも多いです。

例えば、昔は1万個の箱を用意するのは、かなり躊躇われたりしたのですが、昨今ですと、「1万個?ポインタサイズでも64Kバイトやん。安!」てなカンジ。
とんだインフレーションです。

てか、もはや探索しているとも言い難いですし。

だからと言って、昔から追究されてきた探索アルゴリズムを知らなくても大丈夫などと言っていると、足元をすくわれるのが恐ろしいところなのですが…。
(もっと複雑な探索、例えばAIの経路探索のようなものに対処するアルゴリズムの利用は、リスト探索アルゴリズムを理解していることを前提としているので)

最近のプログラミングの傾向として、技術を提供する側と利用する側のギャップが物凄いな~と、最近巷で話題になっているr>gを眺めながら、何となく思ったりしたのでした。

follow us in feedly
result = encodeURIComponent( "http://www.accessgames-blog.com/blog/2015/03/post-70b0.html" );document.write( "result = " , result );&media=https%3A%2F%2Ffarm8.staticflickr.com%2F7027%2F6851755809_df5b2051c9_z.jpg&description=Next%20stop%3A%20Pinterest">

| | コメント (0) | トラックバック (0)

« 光回線 | トップページ | とりあえずやってみる »

プログラマー」カテゴリの記事

コメント

コメントを書く



(ウェブ上には掲載しません)


コメントは記事投稿者が公開するまで表示されません。



トラックバック

この記事のトラックバックURL:
http://app.cocolog-nifty.com/t/trackback/217647/61223776

この記事へのトラックバック一覧です: 賢しきもの天より墜ち:

« 光回線 | トップページ | とりあえずやってみる »