
アルゴリズムを考えるの苦手です-衝動的おきに本
正直、アルゴリズム苦手なのにゲームジャンル RTSが好きな理由が分かっていません。(本文中に結論は書いてあります)
衝動的おきに本は日々電子書籍の新刊をチェックしている私がお気に入り登録した本を紹介しているコンテンツです。
今日は新刊チェックでお気に入り登録したら、たまたまブログチェックの時に作者のブログを見つけました。本を見つけ、ブログも見つけられたのは運命だと思い、この本を紹介します。
作者のブログ記事がこちら
ブログ記事では内容が大盤振る舞いで紹介されています。
対象の読者層やアルゴリズム本の現状など、本を読む前にワクワクさせるような内容でまとめられている素晴らしい記事です。
テーマ パズル×アルゴリズム
この本のテーマといえるこの言葉、
私の最初のイメージは、めっちゃ結びつきが強い言葉だと思いました。
でも作者からすれば、とても難しい事だったそうです。
その難しさというのは、
パズル=解けるまでの方法・手段がたくさんある
アルゴリズム=どんなインプットでも同じ解を出す
この違いからだそうです。
「パズル」と「アルゴリズム」を結びつけることは、一見ごく自然なようで、実はとても難しいことでした。なぜならパズルの世界では、「パズルは決まった解き方ではなく、問題ごとに工夫を凝らして解くのが楽しい」という考え方が強くあります。
一方アルゴリズムは、「その問題に対するどんな入力データに対しても、同じやり方で答えを導く」ものです。
私もこの表現を見るまでは結びつき強いなぁと思っていたんですが、
見事にそうでないと思いました。
その原因は、アルゴリズムに対する理解が不十分だったからです。
アルゴリズムの解釈を考えてみた
私は、完成品を作るための道筋を考える事だと思っていました。
パズルだったら、パズルの解法を考える事 に置き換えられます。
私の推測では、この回答だと解像度が低すぎるんです。
パズルの解法を考える事=パズルを解く楽しさ にはなるのですが、
その先に待っているのは、
いつでも同じように解けてしまう単調なパズル
なんです。
数独作ったけど面白くないものができた
実際私はExcelで数独の問題を作るVBAを書いた事があります。
結果、単調な物しか作れませんでした。(問題パターンとしては一つのみ)
数独は解けるけど、アルゴリズムを考えていなかったからです。
大学時代に受けたアルゴリズムの授業
大学時代に情報系のアルゴリズムの講義を受けたことがあります。
授業でやっていたのは、条件分岐や動きを組み合わせるパズルでした。
いわゆるフローチャート作りです。
これも余計にアルゴリズム=パズルの図式を強く連想させた気がします。
フローチャートを書かせる目的を理解して授業を受けていれば、結果は大きく違ったと思います。
その後に気づく社会人が必要なアルゴリズム
社会人になって必要となるアルゴリズムは簡単な物ではありません。
どんなインプットが来ようが、正しい答えに結びつけられるものが求められます。(仕様を満たした上で、あらゆるインプットに耐えるもの)
まさに、作者の言うアルゴリズムの定義になるんですね。
ここでめっちゃ頭がすっきりしました笑
RTSが好きな理由はアルゴリズムと直結していなかった
なので、RTSが好きなのは、試行錯誤して苦労してる事が好きなだけで、アルゴリズムが好きとはまた別なんだと気づきました。
RTSが好きかつアルゴリズムが好き の状態は以下だと思います。
この時はこの手法が強いぞDBが頭の中で出来上がっている
状況によって臨機応変に手法を使い分けられる
この差に気づけただけでも、今日は成長した気がします。
Twitter Instagram はてなブログもやっています。
ぜひ覗いてみてください。
https://www.instagram.com/yukashi8939/
いいなと思ったら応援しよう!
