第210話 評価は何とかAだけれど
そして課題提出の翌週、講評と課題返却が行われた。
今回は結構厳しく採点されたようだ。
類似のプログラム作成という事で、何人か呼び出しを食らっている。
Wikipediaに乗っているアルゴリズムそのままだという事で呼び出された学生もいた。
能ヶ谷だ。
彼は正直に申告した結果評価がAからBにひとつ下げられた。
典明も呼び出された。
彼の場合はお咎め無しで帰って来た。
さて、結果としては僕と青葉と典明、3人ともA評価。
ただ内容には違いがある。
正直、僕の作成したものが評価的には一番下だと思う。
導き出す答とアルゴリズムが双方洗練されていないという点で。
青葉の解法ルーチンは迷路の探索部分そのものは僕のとほぼ同じ。
だがその前に迷路全体の前処理が入る。
前処理部分とは
① 出発点も目標地点も含まれていない行き止まり通路を検索し、全部塞ぐ。
② 塞いだ部分も壁とみなし、また迷路の全体を調べる
を繰り返して行き止まりになる部分を全部塞ぐという工程。
おかげで全体が行き止まりとなっている大きなブロックを無視するので、ルートがすっきりしたものになる。
僕のアルゴリズムのように行って戻るという部分が無い。
さて、典明のを紹介する前に問題作をひとつ。
これは田奈先生の言葉をそのまま借用しよう。
「さて、今回のA評価のうち、最もシンプルで賞の発表だ。A評価が取れなかった諸君はこのアルゴリズムを見て、自分の思い至らなさを反省すればいい。
彼が作ったアルゴリズムはごく簡単だ。
『分岐に辿り着いたら、進める方向をランダムに選んで進む』
それだけ。
何万回迷おうが諦めず歩いていればいつかは目的地点にたどり着けるだろう。
そういう発想の怪作だ。
同じ通路を必要以上にうろついている部分も多いが、全ての図面でプログラム実行後1日程度以内には目的地点に辿り着いた。だからこれはA評価とした。
コンピュータは人間と違って諦めないし疲れない。その利点を使った大技といっていいだろう。アルゴリズムはバカ以外の何物でも無いが、紛れもないA判定だ」
さすがに酷いと思う。
洗練とか美しさの対極にあるような解法だ。
けれど、僕には思いつけないし思いもよらなかった解法。
ちなみに山崎の作品だ。
本人が先週課題提出後に言ったので知っている。
「さて、逆に今回一番洗練されているというか、全ての場合で最短経路を出せる方法論が1つだけあった。念の為面接をして確認した結果、本人が資料無しで思いついたものと認めた。
考え方そのものは簡単だ。
① まず、今まで歩いた経路を全て記録し、歩いた床に足跡を残し、なおかつ記録をそのままに分裂可能な小人がいると仮定する。
② 分岐があれば小人は分裂し、戻る以外の全ての方向へと進む。
③ 辿り着いた分岐に他の小人の足跡があれば、小人は探索をリタイヤする。
それだけだ。
つまりしらみつぶしに全部の経路を試してやろうという発想だ。
これで最初に目的地に辿り着いた小人の経路を表示すれば、これが自動的に最短経路になる。
さっきの解法と真逆だが、これもコンピュータの特性を利用した解法だ。
残念ながら今回は評価Aが最高だからそれ以上にはならないが」
これが典明の回答だ。
実は彼なりにいくつかアルゴリズムの案はあったらしい。
その中で課題の迷路の大きさなら、結局これが一番いいだろうと判断したとの事。
典明が考えついたのはこの方法だけでは無い。
他にも
○ 外壁にくっついている壁とそれ以外の壁を分けて、
絶対に通る必要がある狭路を確認して分割する案
○ 目的地点からスタートを目指す組とスタートから
目的地点を目指す組との2組を同時進行させる案
等いくつかの方法を複合させて実際に作ったと言っていた。
うーむ、残念ながら典明には勝てそうに無い。
思考のレベルが数段違う気がする。
どうすればそういう発想が思い浮かぶのだろう。
新規登録で充実の読書を
- マイページ
- 読書の状況から作品を自動で分類して簡単に管理できる
- 小説の未読話数がひと目でわかり前回の続きから読める
- フォローしたユーザーの活動を追える
- 通知
- 小説の更新や作者の新作の情報を受け取れる
- 閲覧履歴
- 以前読んだ小説が一覧で見つけやすい
アカウントをお持ちの方はログイン
ビューワー設定
文字サイズ
背景色
フォント
組み方向
機能をオンにすると、画面の下部をタップする度に自動的にスクロールして読み進められます。
応援すると応援コメントも書けます