頭を使うのは楽しい。
就活が終わり、そろそろ研究にも本腰を入れ始める時期になった。目標はロボットをぐいぐい動かすことだけど、そこまで進むにはいくつかの関門がある。ひとつずつ解決しようと今日は領域の断面を描くプログラムを書いていた。
僕の研究はざっくり言うと最適化計算だ。ある目標を設定し、それに限りなく近づくように変数を変えていく。ちょうど買い物と予算の関係のようだ。Amazonの欲しいものリストには際限なく入れることができるが、そのうち本当に購入できるのは予算に依る。何にどれだけお金を使えば自分の幸福度は最大化するのだろう。と、こんな風に。
最適化計算と領域がどうつながるか。時間の都合や問題の複雑さによって、最高の解が見つからない場合は多い。パーフェクトな人生を送れないことと同様に、人間にもPCにも事情がある。そんなときは「とりあえず満足できる範囲」から解を選ぶ。それの範囲を可解領域と読んでいる。女性に対する守備範囲が可解領域で、ストライクゾーンど真ん中が最高の解に対応している。
さて、領域は二次元だけではない。変数が増えるに連れて、三次元四次元とよくわからないほうに突っ走る。僕が今回扱っているのは五次元の領域だ。とてもイメージが浮かびにくい。そこで断面の話が出てくる。領域を二次元の断面で切ってしまえば、ある程度の形はわかる。ちょうどゆで卵を切るような。
プログラムはすぐに出来た。しかし問題の可解領域が出てこない。まったく見えないのだ。プログラムを修正したり、理論式を見直したりした。ダメだった。一日悩んだ。
今日やっと原因が分かった。一旦パソコンから離れて机に向かったのが良かったのかもしれない。レポート用紙の裏に図形を書いてみたらふと分かってしまったのだ。ゆで卵を思い出してほしい。黄身が可解領域だ。今までぼくはゆで卵の端っこを切ってその断面を見ていた。黄身はずれていることもあり、割と真ん中で切らないと断面が白身しかないことがある。つまりそういういことだ。断面を見る二次元以外の変数の値を少し変えてやればいい。可解領域はすぐに出てきた。
修士になってから頭を使うことが増えた。授業のような答えのある問題とは違う、だれも考えたことのないニッチな分野の問題。それに取り組むと右脳の奥辺りのファンがうなる。カフェインを摂取して、図形を書いて、数式を展開して、英文を読んで、プログラムを書いて、研究する。楽しい。研究超楽しい。