探索アルゴリズムというものがある。
探索アルゴリズムとは、大まかに言えば、問題を入力として、考えられるいくつもの解を評価した後、解を返すアルゴリズムだ。
探索 – Wikipedia
「問題」はその「解」を持っているが、アルゴリズムは正しくその解を得るための具体的手順および根拠を与えるものだ。一方では、さらに多くの場合において効率性が重要となる。
アルゴリズム – Wikipedia
たとえば、Gigazineでは、全10種のアルゴリズムで迷路をクリアしようとするとどのような探索になるか目で楽しめる迷路で眺める探索アルゴリズムが紹介されている。分岐数、探索回数、最大分岐数が把握でき、効率性が一目瞭然だ。
山登り法は、探索アルゴリズムのひとつだ
ヒューリスティック探索の中で、最も簡単な方法の一つに「山登り法 (hill-climbing method) 」があります。山登り法はゴールの位置を山頂にたとえて、常にゴールに近づく方向 (山を登る方向) へ探索を進める方法です。
Algorithms with Python / ヒューリスティック探索
山登り法は非常に単純なアルゴリズムで、現在の節点の子節点全てについて、ゴールまでの予測コストがもっとも低いものを選択し、その節点を開きその子節点の中で一番コストの低いものを・・・というものです。この方法は、その時目の前にあるもののうち一番良いものを選びつづけるアルゴリズムといえます。このため、問題の性質によっては、最適な答えどころか答えまで行き着けないという場合すらあります。
SoftComputing lab.
(※場合によってはループすることもあるそうだ)
これをキャリア選択に適用したのが以下の図だ。
初期地点の取り方によっては、低い方の山へと進んでしまい、最も高い山を知らないまま、小さい山の頂上という局所安定に陥ってしまう可能性があります。(中略)ときにはランダム性を取り入れたり、改悪方向への移動も認める方が、計算量は多くなるものの本当に高い山は見つけやすいということがわかっています
キャリアで考えると、未経験職やスキルを取り入れるほど、より良い解を見つけ出しやすくなるということになる。
問題は、計算量が増えることだろう。職種によっては年齢制限があるし(たとえば公務員試験の受験資格は30歳までが基本だ)、定年もあるし、そもそも人間には寿命がある。最適解に気付いたものの受験資格がなかったり、答えに辿り着く前に死んでしまうかもしれない。
だから、「若いうちは経験だ」なんて言うのかもしれない。なんだ巷で言われる結論に辿り着く訳か。つまらない。
もちろん、「ほどほどでいいから山登り法でいいや」という考えもあるかもしれない。それはどう生きるのかという問題なので、今回とは話は別だ。
もっと良いアルゴリズムがあるのかもしれない。より良い人生を送るためのアルゴリズムの発見は今後の課題としよう。
コメントを残す